@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#10110f;--surface:#161713;--gold:#d8ba7b;--muted:#acaea4;--text:#f3f0e8;--line:rgba(216,186,123,.2);--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--bg)}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}em{font-weight:400;color:var(--gold)}.eyebrow{font-size:.75rem;letter-spacing:.19em;font-weight:500;line-height:1.7}.index{color:var(--gold);margin-right:16px}.skip{position:fixed;top:-80px;left:16px;z-index:20;background:var(--gold);color:var(--bg);padding:12px 20px}.skip:focus{top:10px}.header{height:100px;position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid rgba(255,255,255,.15)}.wordmark{font-family:var(--serif);font-weight:600;letter-spacing:.14em;font-size:1.4rem;line-height:1.2}.wordmark span{display:block;font:500 .75rem/1.6 var(--sans);letter-spacing:.26em;margin-top:8px;color:var(--gold)}nav{display:flex;gap:36px;font-size:.875rem}nav a{position:relative}nav a:after{content:'';height:1px;background:var(--gold);position:absolute;bottom:-5px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}.languages{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted)}.languages button{background:none;border:0;padding:10px 8px;min-height:44px;color:#b8b8b0;font-size:.8125rem;cursor:pointer}.languages button[aria-pressed=true]{color:var(--gold)}.hero{position:relative;min-height:800px;height:100svh;max-height:1100px;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-2;background:#221b11;overflow:hidden}.hero-photo img{height:100%;object-position:64% center;animation:photo-enter 2.4s ease-out both}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,10,.91) 0%,rgba(9,12,10,.67) 34%,rgba(9,12,10,.12) 75%),linear-gradient(0deg,rgba(12,14,11,.9),transparent 30%,transparent 75%,rgba(12,14,11,.5));z-index:-1}.hero-content{padding:145px 5.5% 150px;width:100%}.hero-content .eyebrow{color:var(--gold);margin-bottom:25px}h1{font-size:clamp(4.5rem,7.9vw,8.3rem);letter-spacing:-.035em;max-width:850px;line-height:.98}.hero-description{font-size:1rem;line-height:1.9;max-width:365px;color:#d2d2c8;margin:30px 0 34px}.button{min-height:56px;display:inline-flex;justify-content:center;align-items:center;gap:35px;padding:16px 26px;font-size:.875rem;font-weight:600;position:relative;overflow:hidden;transition:background .3s,box-shadow .3s,transform .3s}.button-gold{background:var(--gold);color:#16170f;border:1px solid var(--gold)}.button:hover{background:#e6ca91;box-shadow:0 5px 28px rgba(216,186,123,.13);transform:translateY(-2px)}.button span:last-child{font-size:1.25rem;transition:transform .3s}.button:hover span:last-child{transform:translate(2px,-2px)}.hero-bottom{position:absolute;bottom:35px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.18em;color:#d0cfbf}.hero-bottom a{display:flex;align-items:center;gap:18px}.scroll-line{width:1px;height:40px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;left:0;top:0;width:1px;height:16px;background:var(--gold);animation:scroll-cue 2.7s ease-in-out infinite}.hero-side{position:absolute;right:2%;top:42%;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.3em;color:#ddd4bf}.section-space{padding:115px 7%}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}.section-heading>.eyebrow{padding-top:10px;color:var(--muted)}h2{font-size:clamp(3rem,4.5vw,4.5rem);letter-spacing:-.025em}.section-heading p:not(.eyebrow){max-width:440px;color:var(--muted);margin-top:24px}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--line)}.service{padding:35px 30px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.service:first-child{padding-left:0}.service:last-child{padding-right:0;border-right:0}.service-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:45px}.service-top .eyebrow{font-size:.75rem;color:var(--muted);letter-spacing:.13em}.service-number{font:italic 2rem var(--serif);color:var(--gold)}h3{font-size:2.5rem;margin-bottom:22px}.service>p{font-size:.9375rem;color:var(--muted);margin-bottom:30px}.text-link{font-size:.8125rem;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--gold);margin-top:auto;padding:12px 0;border-bottom:1px solid transparent;transition:border-color .3s}.text-link:hover{border-color:var(--gold)}.text-link span:last-child{font-size:1.4rem}.philosophy{background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.philosophy-image{height:590px;position:relative;overflow:hidden}.philosophy-image img{height:100%;object-position:35% center;transition:transform 1.3s}.philosophy-image:hover img{transform:scale(1.035)}.philosophy-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}.image-caption{position:absolute;bottom:26px;left:25px;z-index:1;font-size:.75rem;letter-spacing:.18em;color:#e7d2aa}.philosophy-copy>.eyebrow{margin-bottom:35px;color:var(--muted)}.philosophy-copy .large-copy{font:400 1.8rem/1.4 var(--serif);margin:32px 0 22px;color:var(--text)}.philosophy-copy>p:not(.eyebrow):not(.large-copy){font-size:.9375rem;color:var(--muted)}.signature{margin-top:38px;border-top:1px solid var(--line);padding-top:25px;display:flex;flex-direction:column;gap:7px}.signature>span:first-child{font:italic 2rem var(--serif);color:var(--gold)}.signature .eyebrow{font-size:.75rem;color:var(--muted)}.contact{position:relative;overflow:hidden;text-align:center;padding-top:125px;padding-bottom:125px;isolation:isolate;border-bottom:1px solid var(--line)}.contact-inner{position:relative;z-index:1}.contact .eyebrow{color:var(--muted);margin-bottom:32px}.contact h2{font-size:clamp(3.4rem,5.8vw,5.5rem)}.contact p:not(.eyebrow){max-width:500px;margin:28px auto 32px;color:var(--muted)}.email{display:block;margin:23px auto 0;width:fit-content;font-size:.875rem;color:var(--muted);text-underline-offset:5px}.email:hover{text-decoration:underline;color:var(--gold)}.contact-watermark{font:400 43rem/.8 var(--serif);color:rgba(216,186,123,.035);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1;pointer-events:none}footer{display:flex;justify-content:space-between;align-items:center;padding:36px 5.5%;gap:20px}footer p,.back-top{font-size:.75rem;color:var(--muted)}footer .wordmark{font-size:1.1rem}footer .wordmark span{font-size:.75rem}.back-top{display:flex;gap:16px}.intro-in{animation:text-enter 1s ease both}.hero-content h1{animation-delay:.15s}.hero-description{animation-delay:.3s}.hero-content .button{animation-delay:.45s}.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.service:nth-child(2){transition-delay:.1s}.service:nth-child(3){transition-delay:.2s}@keyframes text-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes photo-enter{from{transform:scale(1.07)}to{transform:scale(1)}}@keyframes scroll-cue{0%{transform:translateY(-18px)}70%,100%{transform:translateY(42px)}}
@media(min-width:1500px){.section-space{padding-left:max(7%,calc((100% - 1320px)/2));padding-right:max(7%,calc((100% - 1320px)/2))}}
@media(max-width:900px){.header{height:85px;padding:0 5%}nav{gap:20px}.hero{min-height:730px}.hero-content{padding-left:7%}.hero-photo img{object-position:60% center}.hero:before{background:linear-gradient(90deg,rgba(9,12,10,.86),rgba(9,12,10,.3)),linear-gradient(0deg,rgba(12,14,11,.8),transparent 45%)}.section-space{padding:80px 6%}.section-heading{grid-template-columns:1fr;gap:22px}.services{margin-top:45px}.service{padding:25px 20px 0}.service-top{align-items:start;flex-direction:column;gap:13px;margin-bottom:30px}.service h3{font-size:2.1rem}.philosophy{gap:6%}.philosophy-image{height:540px}.philosophy h2{font-size:3rem}.hero-side{display:none}}
@media(max-width:600px){html{scroll-padding-top:25px}.header{height:83px;padding:0 6%}.wordmark{font-size:1.15rem}.wordmark span{font-size:.75rem}nav{display:none}.hero{height:92svh;min-height:690px;max-height:950px;align-items:center}.hero-content{padding:130px 7% 140px}.hero-content .eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:26px}h1{font-size:clamp(3.8rem,15vw,5.5rem);line-height:1.02}.hero-description{font-size:.9375rem;max-width:295px;margin:26px 0 30px}.hero-photo img{object-position:65% center}.hero:before{background:linear-gradient(90deg,rgba(9,12,10,.81),rgba(9,12,10,.37)),linear-gradient(0deg,#10110f,transparent 45%,rgba(0,0,0,.22))}.hero-bottom{bottom:26px;left:7%;right:7%;font-size:.75rem;letter-spacing:.08em}.hero-bottom a{gap:10px}.hero-bottom a>span:first-child{display:none}.section-space{padding:65px 7%}.section-heading{gap:20px}.section-heading h2{font-size:3rem}.section-heading p:not(.eyebrow){margin-top:19px;font-size:.9375rem}.services{display:block;margin-top:36px}.service,.service:first-child,.service:last-child{padding:29px 0;border:0;border-bottom:1px solid var(--line)}.service-top{flex-direction:row;align-items:center;margin-bottom:24px}.service h3{font-size:2.5rem;margin-bottom:15px}.service p{margin-bottom:13px}.text-link{padding-bottom:0;min-height:44px}.philosophy{display:flex;flex-direction:column;gap:40px}.philosophy-image{width:100%;height:370px}.philosophy-copy>.eyebrow{margin-bottom:25px}.philosophy h2{font-size:3.1rem}.philosophy-copy .large-copy{font-size:1.7rem;margin-top:25px}.contact{padding-top:75px;padding-bottom:75px}.contact h2{font-size:3.3rem}.contact p:not(.eyebrow){font-size:.9375rem}.contact .eyebrow{font-size:.75rem}.contact-watermark{font-size:35rem}footer{padding:32px 7%;display:grid;grid-template-columns:1fr auto;gap:30px}footer p{grid-column:1;grid-row:2}.back-top{grid-column:2;grid-row:2}.button{gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.button:hover,.philosophy-image:hover img{transform:none}}
/* Deliberate, slow motion: ambient photography, scroll depth and tactile controls. */
.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--gold);z-index:30;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-toggle{position:absolute;bottom:65px;right:0;color:#e0d6c3;border:1px solid rgba(216,186,123,.4);background:rgba(16,17,15,.5);padding:10px 14px;min-height:44px;font:400 .75rem var(--sans);cursor:pointer;letter-spacing:.03em}
.motion-toggle:hover{border-color:var(--gold);color:var(--gold)}
html[data-motion=on] .hero-photo{inset:-7%;transform:translate3d(0,var(--parallax,0px),0)}
html[data-motion=on] .hero-photo img{animation:sauna-breathe 24s ease-in-out infinite alternate;will-change:transform}
html[data-motion=on] h1 em{background:linear-gradient(110deg,#b79958 12%,#efd8a1 35%,#fff1c9 47%,#c9a865 60%,#b79958 90%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-flow 12s ease-in-out infinite alternate}
html[data-motion=on] .contact-watermark{animation:signature-drift 18s ease-in-out infinite alternate}
html.motion-ready[data-motion=on] .reveal{transform:translateY(45px);transition-duration:1.15s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
html.motion-ready[data-motion=on] .reveal.visible{transform:none}
html.motion-ready[data-motion=on] .philosophy-image{clip-path:inset(0 0 12% 0);transition:opacity 1.3s,transform 1.3s,clip-path 1.5s cubic-bezier(.16,1,.3,1)}
html.motion-ready[data-motion=on] .philosophy-image.visible{clip-path:inset(0)}
html[data-motion=on] .service{rotate:1 1 0 var(--tilt-x,0deg);translate:0 var(--lift,0px);transition:opacity 1.15s,transform 1.15s,rotate .35s,translate .35s,background .45s}
html[data-motion=on] .service h3{transition:color .4s,translate .5s}
html[data-motion=on] .service:hover h3{color:var(--gold);translate:5px 0}
html[data-motion=on] .service-number{transition:translate .6s,color .6s}
html[data-motion=on] .service:hover .service-number{translate:0 -5px;color:#ffe0a3}
html[data-motion=on] .button{translate:var(--pointer-x,0px) var(--pointer-y,0px);transition:translate .2s ease-out,background .3s,box-shadow .3s,transform .3s}
html[data-motion=on] .button:before{content:'';position:absolute;inset:-50% -40%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translateX(-110%);pointer-events:none}
html[data-motion=on] .button:hover:before,html[data-motion=on] .button:focus-visible:before{animation:button-sheen .85s ease both}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}
html[data-motion=off]{scroll-behavior:auto}
html.motion-ready[data-motion=off] .reveal{opacity:1;transform:none;clip-path:none}
@keyframes sauna-breathe{from{transform:scale(1.02) translateX(-.4%)}to{transform:scale(1.12) translateX(1%)}}
@keyframes gold-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes signature-drift{from{transform:translate(-50%,-48%) rotate(-4deg)}to{transform:translate(-50%,-53%) rotate(4deg)}}
@keyframes button-sheen{to{transform:translateX(110%)}}
@media(max-width:600px){.motion-toggle{bottom:50px;font-size:.75rem;padding:9px 12px}html[data-motion=on] .hero-photo img{animation-duration:28s}}
@media(prefers-reduced-motion:reduce){html[data-motion=on] .hero-photo{transform:none}html.motion-ready[data-motion=on] .reveal{opacity:1;transform:none;clip-path:none}.reading-progress{display:none}}
