.landing{--noir:#141016;--noir2:#1c1620;--noir3:#251c29;--porcelain:#f4edea;--cream:#faf5f2;--rose:#d99fc0;--rose-bright:#eca8d4;--rose-soft:#e8c7da;--plum:#6e4259;--plum-deep:#4a2a3c;--ink:#241b22;--ink-muted:#8c7e84;--d-text:#f1e9ec;--d-muted:#b7a6b0;--line-d:#eca8d429;--line-l:#6e425929;--serif:var(--font-cormorant), Georgia, serif;--geo:var(--font-josefin), system-ui, sans-serif;--body:var(--font-jost), system-ui, sans-serif;background:var(--noir);color:var(--ink);font-family:var(--body);font-weight:300;line-height:1.7}.landing *{box-sizing:border-box}.landing img{max-width:100%;display:block}.landing a{color:inherit;text-decoration:none}.landing .wrap{max-width:1180px;margin:0 auto;padding:0 30px}.landing .eyebrow{font-family:var(--geo);letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;font-weight:500}.landing .btn{font-family:var(--geo);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:50px;align-items:center;gap:.6em;padding:16px 34px;font-size:.8rem;font-weight:500;transition:all .35s;display:inline-flex}.landing .btn-primary{background:var(--rose);color:#2a1622}.landing .btn-primary:hover{background:var(--rose-bright);box-shadow:0 14px 34px -14px var(--rose-bright);transform:translateY(-2px)}.landing .btn-ghost{border-color:var(--line-d);color:var(--d-text);background:0 0}.landing .btn-ghost:hover{border-color:var(--rose);color:var(--rose-bright)}.landing a:focus-visible,.landing .btn:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.landing header.nav{z-index:60;padding:8px 0;transition:all .4s;position:fixed;inset:0 0 auto}.landing header.nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-d);background:#141016db}.landing .nav-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.landing .wordmark{font-family:var(--geo);letter-spacing:.32em;text-transform:uppercase;color:var(--d-text);font-size:.92rem;font-weight:600}.landing .wordmark b{color:var(--rose-bright);font-weight:600}.landing .nav-links{font-family:var(--geo);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:30px;font-size:.74rem;font-weight:400;display:flex}.landing .nav-links a{color:var(--d-muted);transition:color .25s}.landing .nav-links a:hover{color:var(--rose-bright)}.landing .nav-links a.book{color:var(--rose-bright);border:1px solid var(--line-d);border-radius:40px;padding:8px 18px}.landing .nav-links a.book:hover{border-color:var(--rose)}.landing .hero{background:radial-gradient(120% 90% at 75% 20%, #6e425952, transparent 55%), var(--noir);align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.landing .hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;width:100%;padding:120px 0 80px;display:grid}.landing .hero-logo{width:230px;margin-bottom:30px}.landing .hero h1{font-family:var(--serif);color:var(--d-text);letter-spacing:.005em;font-size:clamp(2.9rem,6vw,4.8rem);font-weight:500;line-height:1.03}.landing .hero h1 em{color:var(--rose-bright);font-style:italic}.landing .hero .lead{color:var(--d-muted);max-width:38ch;margin:24px 0 36px;font-size:1.08rem;font-weight:300}.landing .hero-cta{flex-wrap:wrap;gap:16px;display:flex}.landing .hero-photo{justify-self:center;position:relative}.landing .hero-photo .pic{aspect-ratio:4/5;border:1px solid var(--line-d);border-radius:200px 200px 14px 14px;width:min(400px,82vw);overflow:hidden;box-shadow:0 50px 90px -40px #000}.landing .hero-photo .pic img{object-fit:cover;object-position:50% 20%;filter:saturate(.96)brightness(.98);width:100%;height:100%}.landing .hero-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#14101680);border-radius:200px 200px 14px 14px;position:absolute;inset:-1px}.landing .hero-photo .glow{filter:blur(8px);background:radial-gradient(circle,#eca8d480,#0000 70%);border-radius:50%;width:120px;height:120px;position:absolute;inset:-30px -30px auto auto}.landing section{padding:110px 0}.landing .light{background:var(--porcelain);color:var(--ink)}.landing .dark{background:var(--noir);color:var(--d-text)}.landing .sec-head{text-align:center;max-width:640px;margin:0 auto 64px}.landing .sec-head .eyebrow{color:var(--rose)}.landing .light .sec-head .eyebrow{color:var(--plum)}.landing .sec-head h2{font-family:var(--serif);margin:.3em 0;font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:500;line-height:1.08}.landing .sec-head p{color:var(--ink-muted)}.landing .dark .sec-head p{color:var(--d-muted)}.landing .about-grid{grid-template-columns:.92fr 1.08fr;align-items:center;gap:64px;display:grid}.landing .about-pic{position:relative}.landing .about-pic img{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line-l);border-radius:14px;width:100%}.landing .about-pic .tag{background:var(--noir);color:var(--rose-bright);font-family:var(--geo);letter-spacing:.3em;text-transform:uppercase;border-radius:40px;padding:12px 22px;font-size:.66rem;position:absolute;bottom:30px;left:-18px}.landing .about h2{font-family:var(--serif);margin:.25em 0 .5em;font-size:clamp(2.1rem,4vw,3rem);font-weight:500;line-height:1.1}.landing .about p{color:#5b4f55;max-width:50ch;margin-bottom:1.1em}.landing .about .quote{font-family:var(--serif);color:var(--plum);margin-top:.5em;font-size:1.7rem;font-style:italic;line-height:1.3}.landing .svc-grid{grid-template-columns:1fr 1fr;align-items:start;gap:30px;max-width:980px;margin:0 auto;display:grid}.landing .svc{border:1px solid var(--line-d);background:var(--noir2);border-radius:18px;padding:44px 40px;transition:all .4s;position:relative}.landing .svc:hover{transform:translateY(-6px);box-shadow:0 40px 80px -50px #000}.landing .svc.feat{background:linear-gradient(180deg, var(--noir3), var(--noir2));border-color:#eca8d466}.landing .svc .lab{background:var(--rose);color:#2a1622;font-family:var(--geo);letter-spacing:.24em;text-transform:uppercase;border-radius:30px;padding:7px 16px;font-size:.62rem;font-weight:600;position:absolute;top:-13px;left:40px}.landing .svc h3{font-family:var(--serif);color:var(--d-text);font-size:1.9rem;font-weight:600}.landing .svc .price{font-family:var(--serif);color:var(--rose-bright);margin:.05em 0;font-size:3rem;font-weight:500}.landing .svc .dur{font-family:var(--geo);letter-spacing:.24em;text-transform:uppercase;color:var(--d-muted);font-size:.7rem}.landing .svc ul{border-top:1px solid var(--line-d);margin-top:26px;padding-top:24px;list-style:none}.landing .svc li{color:var(--d-muted);align-items:flex-start;gap:12px;padding:7px 0;font-size:.95rem;line-height:1.55;display:flex}.landing .svc li svg{color:var(--rose);flex:none;margin-top:6px}.landing .gal-groups{grid-template-columns:1fr 1fr;gap:56px;max-width:960px;margin:0 auto;display:grid;position:relative}.landing .gal-groups:before{content:"";background:var(--line-l);width:1px;position:absolute;top:8%;bottom:8%;left:50%}.landing .gal-group{text-align:center}.landing .gal-group h3{font-family:var(--serif);color:var(--ink);font-size:1.7rem;font-weight:500}.landing .gal-group .gp{font-family:var(--geo);letter-spacing:.26em;text-transform:uppercase;color:var(--plum);margin:6px 0 26px;font-size:.66rem}.landing .gal-pair{grid-template-columns:1fr 1fr;gap:18px;display:grid}.landing .gtile{aspect-ratio:1;border:1px solid var(--line-l);background:#efe1e8;border-radius:50%;transition:all .45s;overflow:hidden;box-shadow:0 26px 46px -30px #4a2a3c8c}.landing .gtile img{object-fit:cover;width:100%;height:100%;transition:all .6s}.landing .gtile:hover{transform:translateY(-6px)}.landing .gtile:hover img{transform:scale(1.05)}.landing .info-grid{grid-template-columns:1fr 1fr;gap:30px;max-width:980px;margin:0 auto;display:grid}.landing .info{border:1px solid var(--line-d);background:var(--noir2);border-radius:18px;padding:42px}.landing .info h3{font-family:var(--serif);color:var(--d-text);align-items:center;gap:13px;margin-bottom:20px;font-size:1.6rem;font-weight:500;display:flex}.landing .pay-list{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.landing .pill{font-family:var(--geo);color:var(--rose-soft);border:1px solid var(--line-d);letter-spacing:.12em;text-transform:uppercase;background:#eca8d414;border-radius:40px;padding:10px 22px;font-size:.78rem}.landing .info p{color:var(--d-muted)}.landing .info .note{color:var(--d-muted);opacity:.8;margin-top:10px;font-size:.86rem}.landing .maplink{font-family:var(--geo);letter-spacing:.16em;text-transform:uppercase;color:var(--rose);border-bottom:1px solid var(--line-d);align-items:center;gap:8px;margin-top:18px;padding-bottom:4px;font-size:.74rem;display:inline-flex}.landing .maplink:hover{color:var(--rose-bright)}.landing .cta{text-align:center;background:radial-gradient(90% 120% at 50% 0%, #6e425966, transparent 60%), var(--noir);position:relative;overflow:hidden}.landing .cta .emblem{width:200px;margin:0 auto 28px}.landing .cta h2{font-family:var(--serif);color:var(--d-text);max-width:16ch;margin:0 auto .35em;font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:500;line-height:1.1}.landing .cta h2 em{color:var(--rose-bright);font-style:italic}.landing .cta p{color:var(--d-muted);max-width:46ch;margin:0 auto 34px}.landing .cta-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.landing .cta .handle{font-family:var(--geo);letter-spacing:.26em;text-transform:uppercase;color:var(--rose);margin-top:26px;font-size:.78rem;display:block}.landing footer{background:var(--noir);text-align:center;border-top:1px solid var(--line-d);padding:56px 0 64px}.landing footer .fw{font-family:var(--geo);letter-spacing:.34em;text-transform:uppercase;color:var(--d-text);font-size:.9rem;font-weight:600}.landing footer .fw b{color:var(--rose-bright)}.landing footer .fl{font-family:var(--geo);letter-spacing:.2em;text-transform:uppercase;margin:18px 0;font-size:.72rem}.landing footer .fl a{color:var(--d-muted);margin:0 12px}.landing footer .fl a:hover{color:var(--rose-bright)}.landing footer small{color:#6f6470;letter-spacing:.06em;font-size:.74rem}.landing .reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(28px)}.landing .reveal.in{opacity:1;transform:none}@media (max-width:880px){.landing .hero-grid,.landing .about-grid,.landing .svc-grid,.landing .info-grid,.landing .gal-groups{grid-template-columns:1fr}.landing .hero-grid{gap:44px;padding:110px 0 70px}.landing .hero-photo{order:-1}.landing .hero-logo{width:190px}.landing .nav-links a:not(.book),.landing .gal-groups:before{display:none}.landing .gal-groups{gap:46px}.landing .about-pic{max-width:360px;margin:0 auto}.landing section{padding:78px 0}}@media (prefers-reduced-motion:reduce){.landing .reveal{opacity:1;transition:none;transform:none}}
