*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;hanging-punctuation:first last;scroll-padding-top:var(--space-16)}body{min-height:100dvh;line-height:1.6;font-family:var(--font-body,sans-serif);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg)}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}ul[role=list],ol[role=list]{list-style:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15}p,li,figcaption{text-wrap:pretty;max-width:72ch}::selection{background:oklch(from var(--color-primary) l c h / .25);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button{cursor:pointer;background:0 0;border:none}table{border-collapse:collapse;width:100%}a,button,[role=button],[role=link],input,textarea,select{transition:color var(--transition-interactive), background var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg:clamp(1.0625rem, 1rem + .35vw, 1.25rem);--text-xl:clamp(1.375rem, 1.15rem + .9vw, 1.875rem);--text-2xl:clamp(1.875rem, 1.2rem + 1.8vw, 2.75rem);--text-3xl:clamp(2.5rem, 1rem + 4vw, 4.5rem);--text-hero:clamp(2.75rem, .5rem + 6vw, 6.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--transition-interactive:.2s cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--content-narrow:640px;--content-default:960px;--content-wide:1240px;--content-full:100%;--font-display:"Zodiak", "Cormorant Garamond", Georgia, serif;--font-body:"Switzer", "Work Sans", "Helvetica Neue", sans-serif;--gradient-brand:linear-gradient(100deg, #f2b155 0%, #ea7ba0 34%, #a970e8 62%, #6f8fe6 100%)}:root,[data-theme=light]{--color-bg:#faf8fc;--color-surface:#fff;--color-surface-2:#fdfcff;--color-surface-offset:#f2edf8;--color-surface-offset-2:#e9e1f5;--color-surface-dynamic:#ded2ef;--color-divider:#e6e0f0;--color-border:#dad1e8;--color-text:#211c33;--color-text-muted:#6a6285;--color-text-faint:#a89fc2;--color-text-inverse:#faf8fc;--color-primary:#7c3fd1;--color-primary-hover:#692fbd;--color-primary-active:#55219e;--color-primary-highlight:#ece3f9;--color-pink:#d3548a;--color-gold:#c98426;--color-blue:#4f6fc4;--shadow-sm:0 1px 2px oklch(20% .05 300/.06);--shadow-md:0 8px 24px oklch(20% .05 300/.1);--shadow-lg:0 20px 48px oklch(20% .05 300/.14)}[data-theme=dark]{--color-bg:#0a0916;--color-surface:#13111f;--color-surface-2:#181628;--color-surface-offset:#1c1a2e;--color-surface-offset-2:#232037;--color-surface-dynamic:#2b2745;--color-divider:#29264280;--color-border:#3a3658;--color-text:#ebe8f6;--color-text-muted:#a9a3c8;--color-text-faint:#726c98;--color-text-inverse:#15132a;--color-primary:#a780ec;--color-primary-hover:#bb9bf1;--color-primary-active:#8a5edd;--color-primary-highlight:#2c2650;--color-pink:#ec8fb4;--color-gold:#f0b968;--color-blue:#8ba4ef;--shadow-sm:0 1px 2px oklch(0% 0 0/.3);--shadow-md:0 8px 24px oklch(0% 0 0/.4);--shadow-lg:0 24px 56px oklch(0% 0 0/.5)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#0a0916;--color-surface:#13111f;--color-surface-2:#181628;--color-surface-offset:#1c1a2e;--color-surface-offset-2:#232037;--color-surface-dynamic:#2b2745;--color-divider:#29264280;--color-border:#3a3658;--color-text:#ebe8f6;--color-text-muted:#a9a3c8;--color-text-faint:#726c98;--color-text-inverse:#15132a;--color-primary:#a780ec;--color-primary-hover:#bb9bf1;--color-primary-active:#8a5edd;--color-primary-highlight:#2c2650;--color-pink:#ec8fb4;--color-gold:#f0b968;--color-blue:#8ba4ef;--shadow-sm:0 1px 2px oklch(0% 0 0/.3);--shadow-md:0 8px 24px oklch(0% 0 0/.4);--shadow-lg:0 24px 56px oklch(0% 0 0/.5)}}body{overflow-x:hidden}.container{width:100%;max-width:var(--content-wide);padding-inline:clamp(var(--space-5), 5vw, var(--space-12));margin-inline:auto}.container--narrow{max-width:var(--content-default)}section{padding-block:clamp(var(--space-16), 9vw, var(--space-32));position:relative}.kicker{align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-pink);margin-bottom:var(--space-4);font-weight:600;display:inline-flex}.kicker:before{content:"";border-radius:var(--radius-full);background:var(--gradient-brand);flex-shrink:0;width:6px;height:6px}h1,h2,h3{font-family:var(--font-display);font-weight:500}.section-title{font-size:var(--text-2xl);max-width:20ch;margin-bottom:var(--space-5)}.section-lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:56ch;font-family:var(--font-body);font-weight:400}.section-head{max-width:var(--content-default);margin-bottom:clamp(var(--space-10), 6vw, var(--space-16))}.section-head--center{text-align:center;margin-inline:auto}.gradient-text{background:var(--gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-4) var(--space-8);border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.01em;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{color:var(--color-text-inverse);background:var(--gradient-brand);box-shadow:var(--shadow-md)}.btn-primary:hover{filter:brightness(1.08);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-primary:active{filter:brightness(.96);transform:translateY(0)}.btn-ghost{color:var(--color-text);background:color-mix(in oklab, var(--color-surface) 40%, transparent);border:1px solid var(--color-border);backdrop-filter:blur(6px)}.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.site-header{z-index:100;padding-block:var(--space-4);background:color-mix(in oklab, var(--color-bg) 78%, transparent);backdrop-filter:blur(14px);transition:border-color var(--transition-interactive), transform .3s var(--ease-out), background var(--transition-interactive);border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--color-divider);box-shadow:var(--shadow-sm)}.site-header.is-hidden{transform:translateY(-100%)}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.brand{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);text-decoration:none;display:flex}.brand img{border-radius:var(--radius-full);object-fit:cover;width:40px;height:40px}.brand span{line-height:1.05}.main-nav{align-items:center;gap:var(--space-8);display:flex}.main-nav a{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;text-decoration:none;position:relative}.main-nav a:hover{color:var(--color-text)}.main-nav a:after{content:"";background:var(--gradient-brand);width:0;height:1.5px;transition:width var(--transition-interactive);position:absolute;bottom:-6px;left:0}.main-nav a:hover:after{width:100%}.header-actions{align-items:center;gap:var(--space-4);display:flex}.theme-toggle{border-radius:var(--radius-full);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--color-primary);border-color:var(--color-primary)}.nav-toggle{border-radius:var(--radius-full);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text);justify-content:center;align-items:center;display:none}@media (width<=860px){.main-nav{inset:72px var(--space-4) auto var(--space-4);align-items:stretch;gap:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);flex-direction:column;position:fixed;transform:translateY(-12px)scale(.98)}.main-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.main-nav a{padding:var(--space-3) var(--space-2);border-radius:var(--radius-md)}.main-nav a:after{display:none}.main-nav a:hover{background:var(--color-surface-offset)}.nav-toggle{display:flex}}.hero{min-height:92vh;padding-block:clamp(var(--space-20), 12vw, var(--space-32));background:var(--color-bg);align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;opacity:.9;width:100%;height:100%}[data-theme=light] .hero-bg img{opacity:.22}@media (prefers-color-scheme:dark){:root:not([data-theme]) .hero-bg img{opacity:.9}}.hero-bg:after{content:"";background:linear-gradient(180deg, color-mix(in oklab, var(--color-bg) 20%, transparent) 0%, color-mix(in oklab, var(--color-bg) 55%, transparent) 60%, var(--color-bg) 100%);position:absolute;inset:0}.hero-content{z-index:1;text-align:center;max-width:760px;margin-inline:auto;position:relative}.hero-content .kicker{width:auto;color:var(--color-text);background:color-mix(in oklab, var(--color-bg) 72%, transparent);backdrop-filter:blur(6px);border-radius:var(--radius-full);border:1px solid var(--color-border);justify-content:center;padding:.5em 1.1em}.hero h1{margin-bottom:var(--space-6);font-size:clamp(2.25rem,1.3rem + 3.6vw,4.25rem);line-height:1.08}.hero-sub{font-size:var(--text-lg);color:var(--color-text-muted);max-width:52ch;margin-inline:auto;margin-bottom:var(--space-10)}.hero-actions{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.hero-scroll-cue{bottom:var(--space-8);z-index:1;align-items:center;gap:var(--space-2);color:var(--color-text-faint);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero-scroll-cue svg{animation:2.2s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.philosophy{text-align:center}.philosophy-quote{font-family:var(--font-display);font-size:var(--text-xl);max-width:46ch;margin-inline:auto;line-height:1.35}.philosophy-tags{margin-top:var(--space-8);justify-content:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);flex-wrap:wrap;display:flex}.philosophy-tags span{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full)}.services-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=980px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.services-grid{grid-template-columns:1fr}}.service-card{padding:var(--space-8);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition-interactive), box-shadow var(--transition-interactive), border-color var(--transition-interactive)}.service-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in oklab, var(--color-primary) 40%, var(--color-border));transform:translateY(-4px)}.service-card--featured{background:linear-gradient(155deg, color-mix(in oklab, var(--color-gold) 12%, var(--color-surface)), color-mix(in oklab, var(--color-pink) 10%, var(--color-surface)) 45%, color-mix(in oklab, var(--color-primary) 12%, var(--color-surface)));border-color:color-mix(in oklab, var(--color-primary) 30%, var(--color-border))}.service-icon{border-radius:var(--radius-lg);width:52px;height:52px;margin-bottom:var(--space-5);background:var(--gradient-brand);color:#fff;justify-content:center;align-items:center;display:flex}.service-icon svg{width:24px;height:24px}.service-card h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}.service-card p{color:var(--color-text-muted);font-size:var(--text-base)}.service-meta{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid color-mix(in oklab, var(--color-primary) 18%, var(--color-border));flex-wrap:wrap;display:flex}.service-price{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);font-weight:600;line-height:1}.service-price small{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-muted);text-transform:none;font-weight:500}.service-badge{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);font-weight:600;display:inline-block}.about-grid{gap:clamp(var(--space-10), 6vw, var(--space-20));grid-template-columns:1.1fr .9fr;align-items:center;display:grid}@media (width<=900px){.about-grid{grid-template-columns:1fr}.about-grid>.about-visual{order:-1}}.about-visual{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:3/4;position:relative;overflow:hidden}.about-visual img{object-fit:cover;width:100%;height:100%}.about-text p{color:var(--color-text-muted);margin-bottom:var(--space-5)}.about-text p:last-of-type{margin-bottom:var(--space-8)}.about-signoff{align-items:center;gap:var(--space-4);display:flex}.about-signoff-mark{font-family:var(--font-display);font-size:var(--text-lg)}.credential-list{gap:var(--space-3);margin-top:var(--space-6);display:grid}.credential-list li{align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.credential-list svg{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;margin-top:3px}.contact{border-radius:var(--radius-xl);margin-inline:clamp(var(--space-4), 4vw, var(--space-8));color:var(--color-text-inverse);position:relative;overflow:hidden}[data-theme=light] .contact{color:#f5f2fb}.contact-bg{z-index:0;background:#0a0916;position:absolute;inset:0}.contact-bg img{object-fit:cover;width:100%;height:100%}.contact-inner{z-index:1;padding:clamp(var(--space-12), 10vw, var(--space-24)) clamp(var(--space-6), 6vw, var(--space-16));gap:var(--space-12);grid-template-columns:1.1fr .9fr;align-items:start;display:grid;position:relative}@media (width<=900px){.contact-inner{grid-template-columns:1fr}}.contact-copy .kicker{color:var(--color-gold)}.contact-copy h2{font-size:var(--text-2xl);margin-bottom:var(--space-5);color:#f7f5fb}.contact-copy p{color:#cfc9e8;max-width:44ch;margin-bottom:var(--space-6)}.contact-note{gap:var(--space-3);font-size:var(--text-sm);color:#cfc9e8;border-left:2px solid var(--color-gold);padding-left:var(--space-4);align-items:flex-start;display:flex}.site-footer{padding-block:var(--space-12);border-top:1px solid var(--color-divider)}.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.footer-brand{align-items:center;gap:var(--space-3);display:flex}.footer-brand img{border-radius:var(--radius-full);width:32px;height:32px}.footer-brand-text{flex-direction:column;display:flex}.footer-brand-text strong{font-family:var(--font-display);font-size:var(--text-base)}.footer-brand-text span{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.06em}.footer-copy{font-size:var(--text-xs);color:var(--color-text-faint)}
