:root{
  --ink:#F7E8C7;
  --muted:#C9A983;
  --paper:#130A18;
  --paper-2:#24132B;
  --wine:#4A1628;
  --ember:#C46F50;
  --gold:#EBCB8B;
  --moss:#8A9A76;
  --glass:rgba(247,232,199,.08);
  --line:rgba(247,232,199,.22);
  --shadow:rgba(0,0,0,.42);
  --display:'Bodoni Moda',serif;
  --body:'Literata',serif;
}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;scroll-behavior:auto}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 70% 8%,rgba(196,111,80,.28),transparent 34rem),linear-gradient(135deg,#0c0710 0%,#130A18 46%,#25122C 100%);line-height:1.6}body::after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(247,232,199,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(247,232,199,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at center,black,transparent 76%);z-index:0}a{color:inherit;text-decoration:none}a:hover{text-decoration-color:var(--gold)}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--gold);color:#160B19}.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;transform:translateY(-180%);background:var(--ink);color:var(--paper);padding:.75rem 1rem;border-radius:999px}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.noise-svg{position:fixed;inset:0;width:100%;height:100%;opacity:.035;mix-blend-mode:overlay;pointer-events:none;z-index:3}.preloader{position:fixed;inset:0;display:grid;place-items:center;z-index:999;background:#0a070d}.preloader__door{position:absolute;inset:0;background:#0a070d;transform-origin:center}.preloader__door--left{clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.preloader__door--right{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%)}.preloader__text{position:relative;font-family:var(--display);font-size:clamp(2rem,8vw,7rem);letter-spacing:.08em;text-transform:uppercase}.fixed-badge{position:fixed;right:1rem;bottom:1rem;z-index:50;padding:.55rem .75rem;border:1px solid var(--line);border-radius:999px;background:rgba(19,10,24,.72);backdrop-filter:blur(18px);font-size:.75rem;color:var(--muted)}.site-header{position:fixed;top:1rem;left:50%;transform:translate3d(-50%,0,0);z-index:80;width:min(1120px,calc(100% - 2rem));display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.65rem;border:1px solid var(--line);border-radius:999px;background:rgba(19,10,24,.62);backdrop-filter:blur(22px);box-shadow:0 24px 80px var(--shadow);transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .3s ease,border-color .3s ease}.site-header.nav--hidden{transform:translate3d(-50%,-140%,0)}.brand,.nav-cta{display:inline-grid;place-items:center;min-height:2.8rem}.brand{width:2.8rem;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--display);letter-spacing:-.08em}.primary-nav{display:flex;justify-content:center;gap:.2rem}.nav-link,.nav-cta{position:relative;padding:.72rem 1rem;border-radius:999px;color:var(--muted);transition:color .25s ease,background-color .25s ease,transform .25s ease}.nav-link::after{content:attr(data-preview);position:absolute;left:50%;top:calc(100% + .7rem);transform:translate3d(-50%,10px,0);opacity:0;pointer-events:none;padding:.55rem .75rem;border:1px solid var(--line);border-radius:1rem;background:rgba(19,10,24,.86);backdrop-filter:blur(18px);white-space:nowrap;color:var(--ink);box-shadow:0 16px 50px var(--shadow);transition:transform .25s ease,opacity .25s ease}.nav-link:hover::after,.nav-link:focus-visible::after{opacity:1;transform:translate3d(-50%,0,0)}.nav-link[aria-current="page"],.nav-link:hover,.nav-cta{color:var(--ink);background:rgba(247,232,199,.1)}.ambient-field{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.orb{position:absolute;border-radius:50%;filter:blur(24px);opacity:.45}.orb--one{width:34rem;height:34rem;left:-10rem;top:10rem;background:#4A1628}.orb--two{width:26rem;height:26rem;right:-5rem;top:35rem;background:#8A9A76}.constellation{position:absolute;inset:8% 7%;background:radial-gradient(circle,#EBCB8B 0 1px,transparent 1.5px);background-size:68px 96px;opacity:.32}.full-bleed{min-height:100dvh}.hero,.page-hero{position:relative;z-index:1;display:grid;align-items:center;padding:9rem clamp(1rem,5vw,5rem) 5rem}.hero{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:4rem}.hero-copy{max-width:70rem}.hero-visual{position:absolute;inset:0;display:grid;place-items:center;opacity:.82;z-index:-1}.sigil{width:min(75vw,52rem);filter:drop-shadow(0 0 44px rgba(235,203,139,.18));transform:translate3d(19vw,4vh,0)}.eyebrow{margin:0 0 1rem;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:650}.split-heading,.page-hero h1,.section-heading h2,.testimonials h2{font-family:var(--display);font-size:clamp(4rem,11vw,3.6rem);line-height:.82;letter-spacing:-.07em;margin:0;text-wrap:balance}.page-hero h1{font-size:clamp(3.4rem,9vw,3.6rem)}.split-heading .word{display:inline-block;overflow:hidden;vertical-align:top}.split-heading .char{display:inline-block;transform:translate3d(0,120%,0);opacity:0}.lede{font-size:clamp(1.1rem,2vw,1.55rem);max-width:48rem;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.button{border:1px solid rgba(235,203,139,.68);border-radius:999px;background:var(--gold);color:#170C14;padding:1rem 1.35rem;display:inline-flex;align-items:center;justify-content:center;min-height:3.2rem;cursor:pointer;box-shadow:0 16px 55px rgba(235,203,139,.18);transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}.button:hover{transform:translate3d(0,-3px,0);box-shadow:0 24px 70px rgba(235,203,139,.24)}.button--ghost{background:transparent;color:var(--ink)}.pinned-story{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:6rem clamp(1rem,5vw,5rem);min-height:150vh}.pin-panel{position:sticky;top:8rem;height:calc(100vh - 10rem);display:flex;flex-direction:column;justify-content:center}.pin-panel h2,.section-heading h2,.testimonials h2{font-size:clamp(3rem,7vw,3.6rem)}.story-cards{display:grid;gap:1rem;align-content:center}.story-cards article,.service-card,.journey-card,figure,.contact-card,.booking-form,.booking-note,.booking-steps li,details,.bio-layout aside,.bio-copy{border:1px solid var(--line);background:linear-gradient(145deg,rgba(247,232,199,.095),rgba(247,232,199,.035));backdrop-filter:blur(18px);box-shadow:0 24px 70px var(--shadow)}.story-cards article{min-height:38vh;border-radius:2rem;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.story-cards span,.booking-steps span{font-family:var(--display);font-size:clamp(3rem,7vw,8rem);line-height:.8;color:rgba(235,203,139,.62)}.horizontal-section{position:relative;z-index:1;padding:6rem 0;overflow:hidden}.section-heading{padding:0 clamp(1rem,5vw,5rem) 2rem}.horizontal-viewport{overflow:hidden}.horizontal-track{display:flex;gap:1rem;padding:0 clamp(1rem,5vw,5rem);width:max-content}.journey-card{width:min(78vw,31rem);min-height:26rem;border-radius:2.4rem;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.journey-card h3,.service-card h3{font-family:var(--display);font-size:clamp(2.2rem,4vw,4.8rem);line-height:.88;letter-spacing:-.05em;margin:.25rem 0}.testimonials,.service-stack,.booking-steps,.booking-shell,.contact-grid,.faq-section,.bio-layout{position:relative;z-index:1;padding:5rem clamp(1rem,5vw,5rem)}.testimonial-grid,.service-stack,.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}figure{margin:0;border-radius:2rem;padding:2rem}blockquote{margin:0;font-size:clamp(1.25rem,2vw,2rem);line-height:1.22}figcaption{margin-top:1rem;color:var(--muted)}.site-footer{position:relative;z-index:1;margin:5rem clamp(1rem,5vw,5rem) 1rem;padding:2rem;border:1px solid var(--line);border-radius:2rem;background:rgba(19,10,24,.72);backdrop-filter:blur(18px)}.footer-mark{font-family:var(--display);font-size:clamp(3rem,10vw,10rem);line-height:.8;letter-spacing:-.08em}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;color:var(--muted)}.fineprint{color:var(--muted);font-size:.9rem}.compact{min-height:68dvh;padding-top:10rem}.service-stack{grid-template-columns:1fr;max-width:1120px;margin:auto}.service-card{border-radius:2.6rem;padding:2rem;display:grid;grid-template-columns:1fr .36fr;gap:1rem}.service-card h3,.service-card .service-blurb,.service-card p:not(.eyebrow):not(.service-price),.service-card ul{grid-column:1}.service-price{grid-column:2;grid-row:1 / span 3;align-self:start;justify-self:end;display:grid;gap:.35rem;text-align:right;font-family:var(--display);font-size:clamp(1.7rem,3vw,3.2rem);line-height:.9;color:var(--gold)}.service-card ul{margin:1rem 0 0;padding-left:1.1rem;color:var(--muted)}.bio-layout{display:grid;grid-template-columns:.42fr 1fr;gap:1rem}.bio-layout aside,.bio-copy{border-radius:2.4rem;padding:2rem}.portrait-code{height:24rem;border-radius:1.8rem;background:radial-gradient(circle at 50% 32%,rgba(235,203,139,.58),transparent 18%),linear-gradient(160deg,rgba(196,111,80,.5),rgba(36,19,43,.2)),repeating-linear-gradient(90deg,transparent 0 18px,rgba(247,232,199,.09) 19px 20px);position:relative;overflow:hidden}.portrait-code span{position:absolute;inset:14%;border:1px solid var(--gold);border-radius:46% 54% 52% 48%;box-shadow:inset 0 0 80px rgba(235,203,139,.12)}.bio-copy{font-size:clamp(1.18rem,2vw,1.65rem);line-height:1.55}.bio-copy p:first-child{margin-top:0}.booking-steps h2,.booking-form h2,.booking-note h2,.contact-card h2,.faq-section h2{font-family:var(--display);font-size:clamp(2.4rem,5vw,3.6rem);line-height:.9;margin:0 0 1.5rem}.booking-steps ol{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;padding:0;margin:0}.booking-steps li{border-radius:2rem;padding:1.4rem}.booking-shell{display:grid;grid-template-columns:minmax(0,1fr) .42fr;gap:1rem;align-items:start}.booking-form,.booking-note{border-radius:2.4rem;padding:2rem}.booking-form{display:grid;gap:1rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label,legend{font-weight:650;color:var(--ink)}input,select,textarea{width:100%;margin-top:.45rem;border:1px solid var(--line);border-radius:1rem;background:rgba(10,7,13,.54);padding:.9rem;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(235,203,139,.15);background:rgba(10,7,13,.78)}fieldset{border:1px solid var(--line);border-radius:1.4rem;padding:1rem;margin:0}.service-option,.date-card,.slot-card{display:block;cursor:pointer}.service-option input,.date-card input,.slot-card input{position:absolute;opacity:0;pointer-events:none}.service-option span,.date-card span,.slot-card span{display:block;border:1px solid var(--line);border-radius:1rem;padding:1rem;background:rgba(247,232,199,.055);transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.service-option input:checked+span,.date-card input:checked+span,.slot-card input:checked+span{border-color:var(--gold);background:rgba(235,203,139,.16)}.service-option input:focus-visible+span,.date-card input:focus-visible+span,.slot-card input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.service-option em{display:block;color:var(--muted);font-style:normal;font-weight:400}.date-grid,.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.slot-grid{grid-template-columns:repeat(5,1fr)}.contact-card{border-radius:2.4rem;padding:2rem}.accordion{display:grid;gap:.8rem}details{border-radius:1.3rem;padding:1rem 1.2rem}summary{cursor:pointer;font-weight:650;font-size:1.15rem}summary::marker{color:var(--gold)}details p{color:var(--muted)}.custom-cursor{display:none}
@media (hover: hover) and (pointer: fine){.custom-cursor{display:block;position:fixed;left:0;top:0;width:38px;height:38px;border:1px solid rgba(235,203,139,.65);border-radius:50%;pointer-events:none;z-index:500;transform:translate3d(-50%,-50%,0);mix-blend-mode:difference}.custom-cursor span{position:absolute;inset:13px;border-radius:50%;background:var(--gold)}.magnetic{will-change:transform}}
@media (max-width: 900px){.site-header{grid-template-columns:auto 1fr;align-items:start;border-radius:1.4rem}.primary-nav{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto}.nav-cta{display:none}.hero,.pinned-story,.bio-layout,.booking-shell,.contact-grid,.testimonial-grid{grid-template-columns:1fr}.sigil{transform:translate3d(0,3vh,0);width:100vw;opacity:.45}.pin-panel{position:relative;top:auto;height:auto}.pinned-story{min-height:auto}.booking-steps ol{grid-template-columns:repeat(2,1fr)}.service-card{grid-template-columns:1fr}.service-price{grid-column:1;grid-row:auto;justify-self:start;text-align:left}.footer-grid{grid-template-columns:1fr}.date-grid,.slot-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 520px){.split-heading,.page-hero h1{font-size:clamp(3.1rem,18vw,3.6rem)}.hero,.page-hero{padding-left:1rem;padding-right:1rem}.hero-actions,.field-grid{display:grid}.site-header{top:.5rem;width:calc(100% - 1rem);padding:.5rem}.nav-link{padding:.6rem .72rem}.fixed-badge{left:1rem;right:auto}.booking-steps ol,.date-grid,.slot-grid{grid-template-columns:1fr}.service-card,.booking-form,.booking-note,.contact-card,.bio-copy,.bio-layout aside{padding:1.2rem;border-radius:1.5rem}.portrait-code{height:18rem}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.preloader{display:none}.custom-cursor{display:none!important}.split-heading .char{opacity:1;transform:none}.site-header,.site-header.nav--hidden{transform:translate3d(-50%,0,0)}}
