:root{--lilac:#AE7ACD;--pink:#F7A6A2;--blush:#FFE2DE;--orchid:#C973C9;--violet:#7056F5;--ink:#392c43;--paper:#fff9f5;--muted:#746477;--line:#392c431c;--glow:#ffe2de8c;--accent:#9260b2;--caption:#66536f;--note:#77617b;--arch-a:#ecd9f1;--arch-b:#e8c4da;--arch-c:#FFE2DE;--arch-glow:#ae7acd70;--arch-base-a:#f7a6a280;--arch-base-b:#ffe2de;--swatch-bg:#fffaf1bd;--swatch-line:#fffdf9;--paint-opacity:1;--monogram:#fff8f0e8;color-scheme:light}
*{box-sizing:border-box}
html{min-width:280px;background:var(--paper)}
body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
.page{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 92% 36%,var(--glow),transparent 49%),var(--paper)}
.page::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.17;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23947d89' opacity='.23' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
header,footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 clamp(24px,6vw,104px)}
header{padding:36px 0 24px;border-bottom:1px solid var(--line)}
.brand{font:500 26px/1 Georgia,'Times New Roman',serif;letter-spacing:-1.1px}
.brand span{color:var(--orchid)}
.label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase}
.header-label{color:var(--muted)}
main{width:100%;max-width:1600px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px;padding:65px clamp(24px,6vw,104px) 75px;flex:1}
.copy{position:relative;z-index:2;max-width:640px;animation:appear .9s both}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--caption);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 32px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--orchid);box-shadow:0 0 0 5px #c973c916}
h1{font:400 clamp(56px,6.3vw,100px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-4px;margin:0 0 29px}
h1 em{font-weight:400;color:var(--accent)}
.intro{max-width:340px;color:var(--muted);font-size:16px;line-height:1.85;margin:0}
.signature{display:flex;align-items:center;gap:13px;margin-top:42px;font:italic 19px Georgia,'Times New Roman',serif}
.signature::before{content:"";width:34px;height:1px;background:var(--orchid)}
.art{position:relative;width:100%;max-width:580px;aspect-ratio:1/1.07;justify-self:center;animation:appear 1.3s both}
.arch{position:absolute;inset:7% 12% 8%;border-radius:48% 48% 6px 6px;background:linear-gradient(150deg,var(--arch-a) 3%,var(--arch-b) 43%,var(--arch-c) 75%);transform:rotate(-7deg);box-shadow:22px 30px 60px -40px #80618b80;overflow:hidden;transition:transform .7s ease}
.arch::before{content:"";position:absolute;width:110%;height:65%;left:-20%;top:9%;border-radius:50%;background:radial-gradient(ellipse,var(--arch-glow),transparent 65%);filter:blur(18px)}
.arch::after{content:"";position:absolute;width:130%;height:65%;left:-5%;bottom:-24%;border-radius:50%;background:linear-gradient(135deg,var(--arch-base-a),var(--arch-base-b));transform:rotate(-27deg)}
.outline{position:absolute;inset:3% 10% 12%;border:1px solid #ae7acd70;border-radius:48% 48% 5px 5px;transform:rotate(7deg);pointer-events:none}
.brush{opacity:var(--paint-opacity);position:absolute;inset:22% 5% 17% 4%;width:91%;height:61%;filter:drop-shadow(1px 13px 10px #9e6eb127);transform:rotate(-13deg);animation:float 8s ease-in-out infinite}
.monogram{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:1%;color:var(--monogram);font:italic 400 clamp(120px,16vw,245px)/1 Georgia,'Times New Roman',serif;letter-spacing:-24px;transform:rotate(-7deg);text-shadow:0 3px 24px #91628217}
.sparkle{position:absolute;color:var(--violet);width:36px;height:36px;animation:twinkle 5s ease-in-out infinite}
.sparkle.one{top:10%;right:6%}.sparkle.two{bottom:19%;left:5%;width:22px;height:22px;animation-delay:1.5s;color:var(--orchid)}
.swatches{position:absolute;bottom:7%;right:2%;display:flex;gap:7px;transform:rotate(-7deg);padding:13px 16px;background:var(--swatch-bg);box-shadow:0 5px 20px #66536f0c;border:1px solid var(--swatch-line);border-radius:3px}
.swatches i{width:22px;height:22px;border-radius:50%;background:var(--lilac)}
.swatches i:nth-child(2){background:var(--pink)}.swatches i:nth-child(3){background:var(--blush)}.swatches i:nth-child(4){background:var(--orchid)}.swatches i:nth-child(5){background:var(--violet)}
.art-note{position:absolute;bottom:0;left:19%;color:var(--note);font:italic 15px Georgia,'Times New Roman',serif;transform:rotate(-7deg)}
footer{padding:23px 0 28px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.footer-note{display:flex;align-items:center;gap:9px}.asterisk{font-size:22px;line-height:10px;color:#9965b5}
@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-13deg)}50%{transform:translateY(-9px) rotate(-10deg)}}
@keyframes twinkle{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@media(min-width:1500px){main{gap:65px}}
@media(max-width:760px){header{padding-top:26px}.brand{font-size:24px}.header-label{font-size:8px;letter-spacing:1.6px}main{grid-template-columns:1fr;padding-top:48px;padding-bottom:40px;gap:20px}.copy{max-width:100%}h1{font-size:clamp(53px,10.5vw,78px);letter-spacing:-2.8px}.eyebrow{margin-bottom:25px}.intro{font-size:15px;max-width:340px}.signature{margin-top:26px}.art{max-width:390px;margin-top:3px;aspect-ratio:1/1}.monogram{font-size:190px;letter-spacing:-20px}.art-note{font-size:14px}footer{font-size:10px}.label{letter-spacing:1.7px}}
@media(max-width:360px){.header-label{max-width:85px;text-align:right;line-height:1.7}h1{font-size:49px}.monogram{font-size:155px}footer{align-items:flex-start;flex-direction:column;gap:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Follow the device theme unless a visitor has chosen a theme. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--ink:#efe5f1;--paper:#19151f;--muted:#beb0c5;--line:#e8d4f024;--glow:#51334e45;--accent:#d0a0e9;--caption:#c6a9d4;--note:#c2a6ce;--arch-a:#42304f;--arch-b:#53384f;--arch-c:#382937;--arch-glow:#ae7acd35;--arch-base-a:#9a587d50;--arch-base-b:#412c40;--swatch-bg:#2a2032ed;--swatch-line:#ae7acd38;--paint-opacity:.78;--monogram:#f1dff2d9;color-scheme:dark}
}
:root[data-theme="dark"]{--ink:#efe5f1;--paper:#19151f;--muted:#beb0c5;--line:#e8d4f024;--glow:#51334e45;--accent:#d0a0e9;--caption:#c6a9d4;--note:#c2a6ce;--arch-a:#42304f;--arch-b:#53384f;--arch-c:#382937;--arch-glow:#ae7acd35;--arch-base-a:#9a587d50;--arch-base-b:#412c40;--swatch-bg:#2a2032ed;--swatch-line:#ae7acd38;--paint-opacity:.78;--monogram:#f1dff2d9;color-scheme:dark}

.header-tools{display:flex;align-items:center;gap:22px}
.theme-toggle{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s ease}
.theme-toggle[hidden]{display:none}
.theme-toggle:hover{background:#ae7acd22}
.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.theme-toggle svg{width:20px;height:20px;grid-area:1/1}
.sun-icon{display:none}
:root[data-theme="dark"] .sun-icon{display:block}
:root[data-theme="dark"] .moon-icon{display:none}
@media(max-width:480px){.header-tools{gap:10px}.header-label{max-width:100px;text-align:right;line-height:1.7}.theme-toggle{width:38px;height:38px}}
