body{--soft:#eee6da}header{position:fixed;top:0;left:0;right:0;z-index:1000;max-width:none;padding:17px 5%;transition:background .3s,box-shadow .3s}header.scrolled{background:#faf6eff2;backdrop-filter:blur(16px);box-shadow:0 1px 0 #4b403812}.brand .logo{border:0;border-radius:0;width:58px;height:58px;display:block}.brand strong{font:22px/1.25 'Montserrat',sans-serif;letter-spacing:.2px}.brand>span{font-size:10px;letter-spacing:1px}.brand>span strong{letter-spacing:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:2000;background:#514136;color:white;padding:10px 20px;border-radius:30px}.skip-link:focus{top:20px}main{overflow:clip}nav{gap:32px}nav>a:not(.pill){position:relative}nav>a:not(.pill):after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--orange);transition:width .25s}nav>a:hover:after{width:100%}.intro-stage{height:100svh;min-height:650px;max-width:none;padding:0;margin:0;position:relative;background:#eee6da;isolation:isolate}.intro-sticky{height:100svh;min-height:650px;position:relative;display:grid;place-items:center;overflow:hidden}.motion-on .intro-stage{height:185svh;min-height:0}.motion-on .intro-sticky{position:sticky;top:0;min-height:0}.intro-sticky:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23899776' opacity='.13' filter='url(%23g)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.intro-petal{position:absolute;top:8%;width:49vw;height:105vh;max-width:900px;border:1px solid #ae927533;background:linear-gradient(130deg,#d9c7b870,#e8dbca20);z-index:-1;will-change:transform}.petal-left{left:-24vw;border-radius:10% 100% 12% 100%;transform:translateX(calc(var(--intro-progress,0)*-70%)) rotate(calc(-21deg - var(--intro-progress,0)*18deg))}.petal-right{right:-24vw;border-radius:100% 10% 100% 12%;transform:translateX(calc(var(--intro-progress,0)*70%)) rotate(calc(21deg + var(--intro-progress,0)*18deg))}.intro-orbit{position:absolute;width:62vw;height:115vh;max-width:950px;border:1px solid #ae927545;border-radius:50%;transform:rotate(28deg) scale(calc(1 + var(--intro-progress,0)*.5));pointer-events:none}.intro-orbit.second{transform:rotate(-28deg) scale(calc(1 + var(--intro-progress,0)*.6));border-color:#ae927526}.intro-content{text-align:center;padding:100px 24px 110px;z-index:1;transform:translateY(calc(var(--intro-progress,0)*-95px));opacity:var(--intro-opacity,1);will-change:transform,opacity}.intro-monogram{width:116px;height:116px;margin:0 auto 9px;display:block}.intro-content .eyebrow{justify-content:center;font-size:10px;letter-spacing:3px}.intro-content h1{font-size:clamp(60px,7.3vw,110px);line-height:1.03;letter-spacing:-3.5px;margin:25px 0 21px}.intro-content h1 em{color:#a66b4d}.intro-content p{font-size:15px;color:#796958;letter-spacing:.2px;margin:0}.intro-whisper{position:absolute;top:50%;left:0;right:0;text-align:center;transform:translateY(-50%);font:clamp(42px,6vw,78px)/1.12 'Montserrat',sans-serif;color:#514136;letter-spacing:-2px;opacity:var(--whisper-opacity,0);pointer-events:none;padding:25px}.intro-whisper em{color:#a66b4d}.intro-foot{position:absolute;bottom:26px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:end;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;z-index:2}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:12px;position:absolute;bottom:29px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;z-index:3;opacity:var(--intro-opacity,1)}.scroll-cue span{height:38px;width:1px;background:#a08c72;position:relative;overflow:hidden}.scroll-cue span:after{content:'';position:absolute;left:0;top:0;height:14px;width:1px;background:#514136;animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{from{transform:translateY(-15px)}to{transform:translateY(40px)}}.intro-foot a{border-bottom:1px solid #a08c72;padding-bottom:3px}.hero{padding-top:105px;padding-bottom:100px;gap:80px}.hero-title{font-family:'Montserrat',sans-serif;font-weight:400;font-size:clamp(48px,5vw,72px);line-height:1.08;letter-spacing:-2.5px;margin:27px 0}.hero-title em{color:var(--orange)}.art{border-radius:48% 48% 160px 5px;box-shadow:20px 20px 0 #f0e5d7}.ribbon{background:#f2eade;letter-spacing:.2px;padding-top:25px;padding-bottom:25px}.service{padding:28px 8px 25px;border-top-color:#b2a18a;transition:transform .3s}.service:hover{transform:translateY(-7px)}.service .number{display:flex;align-items:center;gap:14px}.service .number:after{content:'';width:28px;height:1px;background:#b58e71}.service h3{font-size:31px}.about-wrap{position:relative}.portrait{min-height:390px;border:1px solid #d0bfa8;background:radial-gradient(ellipse at 35% 30%,#f2e8d9,#e2cfb7);overflow:hidden}.portrait:before{content:'';position:absolute;width:330px;height:470px;border:1px solid #b3977944;border-radius:50%;transform:rotate(30deg)}.portrait .about-logo{width:160px;height:160px;opacity:1;position:relative;z-index:1;align-self:end}.portrait .about-motto{font:italic 29px/1.35 'Montserrat',sans-serif;letter-spacing:-.5px;text-align:center;align-self:start;position:relative;margin:15px 0 35px}.signature{display:flex;align-items:center;gap:18px}.signature img{height:60px;width:60px}.signature span{font-size:20px}section{scroll-margin-top:35px}.map-layout{box-shadow:0 12px 40px #51413607}.map-sidebar{background:#eee5d9}.contact-wrap{background:radial-gradient(ellipse at 90% 20%,#6b5849,#514136 75%)}.contact-logo{width:84px;height:84px;filter:brightness(0) invert(1);opacity:.7;display:block;margin:0 0 24px}.contact-row strong{font-size:19px}.contact-row{padding:20px 0}.contact h2{font-size:clamp(42px,4.5vw,64px)}footer{align-items:center}footer .footer-brand{display:flex;gap:12px;align-items:center}.footer-brand img{height:40px;width:40px}.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.25,1)}.motion-on .reveal:not(.is-visible){opacity:0;transform:translateY(26px)}.motion-on .reveal.is-visible{opacity:1;transform:translateY(0)}.reading-line{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:left;transform:scaleX(var(--reading,0));background:#a66b4d;z-index:1100;pointer-events:none}
@media(min-width:1500px){.intro-petal{top:5%}}@media(max-width:850px){header{padding:12px 6%}.brand .logo{width:48px;height:48px}.brand strong{font-size:19px}.brand>span{font-size:9px}nav.open{background:#faf6effa;padding:20px;border:1px solid #e4d6c3;border-radius:6px}header:has(nav.open){background:#faf6ef}.intro-content h1{font-size:clamp(46px,14vw,82px);letter-spacing:-2px}.intro-content h1 em{font-size:.8em;white-space:nowrap}.intro-stage,.intro-sticky{min-height:600px}.motion-on .intro-stage{height:165svh;min-height:0}.intro-monogram{width:100px;height:100px}.intro-content p{font-size:13px}.intro-orbit{width:95vw;height:83vh}.intro-petal{width:80vw;top:12%}.petal-left{left:-58vw}.petal-right{right:-58vw}.intro-foot{bottom:22px;font-size:8px;letter-spacing:.7px}.intro-foot>span{max-width:100px}.intro-content{padding:100px 20px 125px}.intro-content .eyebrow{font-size:8px;letter-spacing:1.8px}.intro-whisper{font-size:48px;letter-spacing:-1px}.hero{padding:65px 6% 75px;gap:45px}.hero-title{font-size:clamp(43px,8vw,62px);letter-spacing:-1.8px}.art{min-height:370px;box-shadow:12px 12px 0 #f0e5d7}.art svg{height:380px}.art-note{font-size:18px}.portrait{min-height:340px}.portrait .about-logo{width:130px;height:130px}.portrait .about-motto{font-size:25px}.service:hover{transform:none}.contact-logo{width:66px;height:66px}.contact{gap:30px}.reading-line{height:2px}}@media(max-height:650px) and (min-width:851px){.intro-content{padding:75px 20px 60px}.intro-monogram{width:65px;height:65px}.intro-content h1{font-size:65px;margin:15px 0}.intro-foot,.scroll-cue{bottom:15px}}
@media(prefers-reduced-motion:reduce){.intro-stage,.motion-on .intro-stage{height:100svh;min-height:620px}.intro-sticky,.motion-on .intro-sticky{position:relative;min-height:620px}.intro-content,.intro-petal,.intro-orbit{transform:none!important;opacity:1!important}.intro-whisper{display:none}.scroll-cue span:after{animation:none}.reveal,.motion-on .reveal:not(.is-visible){opacity:1!important;transform:none!important;transition:none}html{scroll-behavior:auto}}

