:root{--bg:#f5f2ea;--bg-2:#ebe6d8;--card:#fff;--ink:#262626;--ink-2:#4a4a47;--muted:#6d6a60;--gold:#c9bf50;--gold-ink:#7d7410;--line:#26262624;--night:#262626;--night-2:#1c1c1b;--on-night:#f5f2ea;--on-night-2:#f5f2eab8;--radius:14px;--ease:cubic-bezier(.16, 1, .3, 1);--shadow:0 1px 2px #2626260f, 0 8px 24px -12px #2626262e, 0 24px 48px -28px #26262638;--font:"Switzer", system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Instrument Serif", Georgia, "Times New Roman", serif;--gutter:24px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@view-transition{navigation:auto}body{background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:min(1200px, 100% - 2 * var(--gutter));margin-inline:auto}h1,h2,h3,h4,p,ul{margin:0}.display,h1,h2{font-family:var(--serif);letter-spacing:-.01em;font-weight:400;line-height:1.04}h1{font-size:clamp(2.8rem,6vw,5.2rem)}h2{font-size:clamp(2.1rem,4vw,3.4rem)}.h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15}h3{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2.1rem);font-weight:400;line-height:1.15}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-size:.78rem;font-weight:500}.on-dark .eyebrow,.night .eyebrow{color:var(--gold)}.lead{color:var(--ink-2);max-width:62ch;font-size:1.15rem}strong{font-weight:600}.btn{cursor:pointer;height:52px;transition:transform .5s var(--ease), box-shadow .5s var(--ease), background .3s;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:1rem;font-weight:500;display:inline-flex}.btn svg{transition:transform .5s var(--ease)}.btn:hover svg{transform:translate(4px)}.btn:active{transform:scale(.97)}.btn-gold{background:var(--gold);color:#1c1c1b;box-shadow:inset 0 1px #ffffff80,0 10px 24px -12px #c9bf50e6}.btn-gold:hover{background:#d6cc63;transform:translateY(-2px)}.btn-ink{background:var(--ink);color:var(--on-night)}.btn-ink:hover{background:#000;transform:translateY(-2px)}.btn-ghost{color:var(--on-night);border-color:#f5f2ea59}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn-outline{border-color:var(--line);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--ink)}.btn-sm{height:42px;padding:0 18px;font-size:.92rem}.btn-lg{width:100%;height:56px}.link{transition:background-size .5s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.link:hover{background-size:100% 1px}main a:not(.btn):not(.svc):not(.card):not(.yell){text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--gold-ink) 50%, transparent);text-underline-offset:3px}.nav{--bg:#262626;--line:#f5f2ea1a;z-index:50;color:var(--on-night);position:sticky;top:0}.banner{padding:7px var(--gutter);letter-spacing:.06em;color:var(--gold);border-bottom:1px solid #f5f2ea14;justify-content:space-between;gap:12px;max-width:100%;font-size:.8rem;display:flex}.banner a{color:var(--on-night)}.nav-inner{align-items:center;gap:22px;height:78px;display:flex}.nav-logo{flex:none}.nav-logo img{width:auto;height:56px}.nav-links{gap:2px;margin-left:auto;display:flex}.nav-links a{color:var(--on-night-2);white-space:nowrap;border-radius:8px;padding:8px 10px;font-size:.86rem;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .5s var(--ease);position:absolute;bottom:3px;left:10px;right:10px;transform:scaleX(0)}.nav-links a:hover,.nav-links a[aria-current]{color:var(--on-night)}.nav-links a:hover:after,.nav-links a[aria-current]:after{transform:scaleX(1)}.nav-burger{cursor:pointer;background:0 0;border:1px solid #f5f2ea40;border-radius:12px;width:44px;height:44px;display:none;position:relative}.nav-burger span{background:var(--on-night);height:2px;transition:transform .4s var(--ease);position:absolute;left:12px;right:12px}.nav-burger span:first-child{top:16px}.nav-burger span:last-child{top:25px}.nav.open .nav-burger span:first-child{transform:translateY(4.5px)rotate(45deg)}.nav.open .nav-burger span:last-child{transform:translateY(-4.5px)rotate(-45deg)}.menu{z-index:40;background:var(--night);color:var(--on-night);padding:150px var(--gutter) 28px;opacity:0;pointer-events:none;transition:opacity .45s var(--ease), transform .45s var(--ease);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-12px)}.menu.open{opacity:1;pointer-events:auto;transform:none}.menu-links a{font-family:var(--serif);opacity:0;transition:opacity .5s var(--ease) calc(var(--i) * 40ms + .1s), transform .5s var(--ease) calc(var(--i) * 40ms + .1s);border-bottom:1px solid #f5f2ea1a;justify-content:space-between;align-items:center;padding:15px 0;font-size:1.6rem;display:flex;transform:translateY(10px)}.menu.open .menu-links a{opacity:1;transform:none}.menu-links a[aria-current]{color:var(--gold)}.menu-foot{color:var(--on-night-2);gap:14px;padding-top:22px;display:grid}.footer{background:var(--night-2);color:var(--on-night-2);margin-top:0;padding:72px 0 28px}.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;display:grid}.foot-logo{width:190px;height:auto;margin-bottom:18px}.foot-note{color:var(--gold);margin-bottom:14px;font-size:.9rem}.yell{border-bottom:1px solid #f5f2ea4d;padding-bottom:2px;font-size:.9rem;display:inline-block}.yell:hover{color:var(--gold);border-color:var(--gold)}.foot-col summary{letter-spacing:.16em;text-transform:uppercase;color:var(--on-night);cursor:default;margin-bottom:14px;font-size:.78rem;font-weight:500;list-style:none}.foot-col summary::-webkit-details-marker{display:none}.foot-col ul{gap:6px;padding:0;list-style:none;display:grid}.foot-col a:hover{color:var(--gold)}.foot-col address{margin-bottom:10px;font-style:normal;display:grid}.hours{grid-template-columns:auto 1fr;gap:2px 18px;margin:0;font-size:.92rem;display:grid}.hours dd{margin:0}.foot-base{border-top:1px solid #f5f2ea1a;margin-top:48px;padding-top:20px;font-size:.82rem}.sticky-bar{display:none}.progress{background:var(--gold);transform-origin:0;z-index:60;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.form{gap:16px;display:grid}.form label{gap:6px;font-size:.9rem;font-weight:500;display:grid}.form input,.form textarea{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;width:100%;padding:14px 16px;transition:border-color .3s,box-shadow .3s}.form input:focus,.form textarea:focus{border-color:var(--gold-ink);outline:none;box-shadow:0 0 0 4px #c9bf5040}.thanks{gap:10px;padding:24px 0;display:grid}section{position:relative}.sec{padding:120px 0}.sec-head{gap:14px;max-width:760px;margin-bottom:56px;display:grid}.night{background:var(--night);color:var(--on-night)}.night .lead,.ba .lead,.night p{color:var(--on-night-2)}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(26px)}.js .reveal.in{opacity:1;transform:none}.js .wipe{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}.js .wipe.in{clip-path:inset(0)}.hero{background:var(--night);color:var(--on-night);padding:64px 0 96px;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 85% 20%,#c9bf501f,#0000 60%);position:absolute;inset:0}.hero-grid{grid-template-columns:1.02fr 1fr;align-items:center;gap:64px;display:grid;position:relative}.hero .eyebrow{color:var(--gold);margin-bottom:22px;display:block}.hero h1{color:var(--on-night)}.ln{padding-bottom:.08em;display:block;overflow:hidden}.ln>span{animation:rise 1s var(--ease) forwards;animation-delay:calc(var(--n) * 80ms + .15s);display:block;transform:translateY(105%)}.hero h1 em{color:var(--gold);font-style:italic}@keyframes rise{to{transform:none}}.hero-copy .lead{color:var(--on-night-2);margin:28px 0 34px;font-size:1.08rem}.hero-copy .fade{opacity:0;animation:fadeUp .9s var(--ease) forwards;animation-delay:var(--d,.6s)}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-cta{flex-wrap:wrap;gap:14px;display:flex}.hero-photo{margin:0;position:relative}.hero-photo .frame{border-radius:var(--radius);aspect-ratio:4/3.4;clip-path:inset(0 0 100%);animation:unmask 1.3s var(--ease) .35s forwards;overflow:hidden;box-shadow:0 40px 80px -30px #000000b3,0 0 0 1px #f5f2ea14}.hero-photo img{object-fit:cover;object-position:50% 45%;width:100%;height:100%;animation:kb 10s var(--ease) .35s forwards;transform:scale(1.08)}@keyframes unmask{to{clip-path:inset(0)}}@keyframes kb{to{transform:scale(1)}}.hero-photo figcaption{color:var(--on-night-2);opacity:0;animation:fadeUp .9s var(--ease) 1.4s forwards;justify-content:space-between;margin-top:12px;font-size:.85rem;display:flex}.hero-badge{background:var(--gold);color:#1c1c1b;opacity:0;animation:fadeUp .9s var(--ease) 1.1s forwards;border-radius:12px;padding:16px 22px;position:absolute;bottom:46px;left:-28px;box-shadow:0 20px 40px -18px #0009}.hero-badge b{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1;display:block}.hero-badge span{letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:500}.proof{background:var(--bg-2);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden}.marquee{width:max-content;animation:46s linear infinite drift;display:flex}.marquee span{font-family:var(--serif);white-space:nowrap;align-items:center;gap:28px;padding-right:28px;font-size:1.5rem;display:inline-flex}.marquee span:after{content:"";background:var(--gold);width:7px;height:7px;transform:rotate(45deg)}@keyframes drift{to{transform:translate(-50%)}}.svc-wrap{grid-template-columns:1.15fr 1fr;align-items:start;gap:72px;display:grid}.svc-list{border-top:1px solid var(--line)}.svc{border-bottom:1px solid var(--line);transition:padding .6s var(--ease);grid-template-columns:1fr auto;gap:8px 24px;padding:28px 0;display:grid;position:relative}.svc h3{transition:color .3s, transform .6s var(--ease)}.svc p{color:var(--muted);grid-column:1;max-width:52ch;font-size:.98rem}.svc .arr{border:1px solid var(--line);width:46px;height:46px;transition:background .4s, transform .6s var(--ease), border-color .4s;border-radius:50%;grid-area:1/2/span 2;align-self:center;place-items:center;display:grid}.svc.on h3{transform:translate(10px)}.svc.on .arr,.svc:hover .arr{background:var(--gold);border-color:var(--gold);transform:rotate(-45deg)}.svc-card-img{display:none}.svc-preview{aspect-ratio:4/4.6;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--night);position:sticky;top:140px;overflow:hidden}.svc-preview img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease), transform 1.2s var(--ease);position:absolute;inset:0;transform:scale(1.06)}.svc-preview img.on{opacity:1;transform:none}.about-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:80px;display:grid}.about-photos{position:relative}.about-photos .main{border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.about-photos .main img{aspect-ratio:952/558;object-fit:cover;width:100%}.about-photos .clip{border:5px solid var(--bg);border-radius:10px;width:24%;position:absolute;bottom:-10%;right:-4%;overflow:hidden;transform:rotate(2.5deg);box-shadow:0 30px 50px -20px #0006}.about-photos .clip img{width:100%}.about-copy p{color:var(--ink-2);margin-top:20px;font-size:1.15rem}.about-copy .since{font-family:var(--serif);color:var(--gold-ink);margin-bottom:10px;font-size:clamp(4rem,8vw,7rem);line-height:.9;display:block}.ba{background:var(--night);color:var(--on-night)}.ba-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:72px;display:grid}.ba-tabs{flex-wrap:wrap;gap:8px;margin:28px 0;display:flex}.ba-tabs button{height:42px;color:var(--on-night);font:inherit;cursor:pointer;background:0 0;border:1px solid #f5f2ea40;border-radius:999px;padding:0 18px;font-size:.92rem;transition:all .3s}.ba-tabs button[aria-pressed=true]{background:var(--gold);color:#1c1c1b;border-color:var(--gold)}.ba-frame{--pos:100%;aspect-ratio:4/3;border-radius:var(--radius);touch-action:pan-y;user-select:none;cursor:ew-resize;background:#111;position:relative;overflow:hidden;box-shadow:0 40px 80px -30px #000000b3}.ba-pair{opacity:0;transition:opacity .6s var(--ease);position:absolute;inset:0}.ba-pair.on{opacity:1}.ba-pair img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ba-pair .ba-after{clip-path:inset(0 0 0 var(--pos))}.ba-frame .tag{color:var(--on-night);letter-spacing:.16em;z-index:2;background:#1c1c1bd1;border-radius:999px;padding:6px 12px;font-size:.72rem;font-weight:500;position:absolute;top:14px}.ba-frame .tag.b{left:14px}.ba-frame .tag.a{background:var(--gold);color:#1c1c1b;right:14px}.ba-handle{top:0;bottom:0;left:var(--pos);background:var(--gold);z-index:3;width:2px;position:absolute;transform:translate(-1px)}.ba-handle:after{content:"‹ ›";background:var(--gold);color:#1c1c1b;letter-spacing:2px;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.1rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 20px #00000080}.ba-note{color:var(--on-night-2);margin-top:12px;font-size:.85rem}.checks{grid-template-columns:repeat(3,1fr);gap:16px;padding:0;list-style:none;display:grid}.checks li{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .6s var(--ease);align-items:center;gap:14px;padding:22px 24px;font-weight:500;display:flex;position:relative;overflow:hidden}.checks li:hover{transform:translateY(-4px)}.checks li svg{color:var(--gold-ink);background:#c9bf5040;border-radius:50%;flex:none;width:32px;height:32px;padding:6px}.spot:before{content:"";background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), #c9bf5038, transparent 70%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.spot:hover:before{opacity:1}.rail{scroll-snap-type:x mandatory;padding:0 var(--gutter) 20px;scrollbar-width:none;gap:16px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail figure{border-radius:var(--radius);scroll-snap-align:start;width:260px;height:340px;box-shadow:var(--shadow);flex:none;margin:0;overflow:hidden}.rail img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease)}.rail figure:hover img{transform:scale(1.06)}.rail-wrap{padding-left:max(var(--gutter), calc((100vw - 1200px) / 2))}.loc-grid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.card-box{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px}.card-box address{margin:14px 0 22px;font-size:1.1rem;font-style:normal;line-height:1.7}.hours-list{grid-template-columns:auto 1fr;gap:8px 28px;margin:14px 0 0;display:grid}.hours-list dd{text-align:right;margin:0}.hours-list .closed{color:var(--muted)}.cta{text-align:center;padding:120px 0}.cta p{font-family:var(--serif);max-width:22ch;color:var(--on-night);margin:0 auto 36px;font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.15}.cta .tel{font-family:var(--serif);color:var(--gold);font-size:clamp(2.4rem,6vw,4.6rem);display:inline-flex}.pagehead{background:var(--night);color:var(--on-night);padding:72px 0 80px}.pagehead-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;display:grid}.pagehead .eyebrow{color:var(--gold);margin-bottom:18px;display:block}.pagehead h1{font-size:clamp(2.5rem,5vw,4.3rem)}.pagehead .lead{color:var(--on-night-2);margin-top:24px}.pagehead .frame{border-radius:var(--radius);aspect-ratio:4/3.2;overflow:hidden;box-shadow:0 40px 80px -30px #000000b3}.pagehead .frame img{object-fit:cover;width:100%;height:100%}.article{padding:96px 0}.prose{max-width:760px;margin-inline:auto}.prose h3{margin:56px 0 18px}.prose h3:first-child{margin-top:0}.prose p{color:var(--ink-2);margin-bottom:18px;font-size:1.1rem}.prose strong{color:var(--ink);background:linear-gradient(#0000 62%,#c9bf5066 62%)}.prose ul{gap:10px;margin-bottom:18px;padding:0;list-style:none;display:grid}.prose li{background:var(--card);box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 18px;font-weight:500;display:flex}.prose li svg{color:var(--gold-ink);flex:none;margin-top:3px}.pull{border-left:3px solid var(--gold);font-family:var(--serif);margin:48px 0;padding:8px 0 8px 28px;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.2}.photo-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:64px;display:grid}.photo-row figure{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:3/4;margin:0;overflow:hidden}.photo-row img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease)}.photo-row figure:hover img{transform:scale(1.05)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.contact-list{gap:6px;margin:20px 0 8px;font-size:1.1rem;display:grid}.contact-list a{color:var(--gold-ink);font-weight:500}@media (width<=1400px){.nav-call{display:none}}@media (width<=1180px){.nav-links,.nav-call{display:none}.nav-burger{margin-left:auto;display:block}}@media (width<=900px){.foot-grid{grid-template-columns:1fr;gap:20px}.foot-col{border-top:1px solid #f5f2ea1a;padding-top:16px}.foot-col summary{cursor:pointer;justify-content:space-between;margin-bottom:0;display:flex}.foot-col summary:after{content:"+";font-size:1.2rem}.foot-col[open] summary{margin-bottom:14px}.foot-col[open] summary:after{content:"–"}}@media (width<=860px){body{font-size:16.5px}.sec{padding:88px 0}.sec-head{text-align:center;justify-items:center;margin-bottom:36px}.banner{justify-content:center}.banner a{display:none}.nav-inner{height:66px}.nav-logo img{height:46px}.hero{padding:36px 0 72px}.hero-grid,.about-grid,.ba-grid,.loc-grid,.pagehead-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(2.6rem,11.5vw,3.4rem)}.hero-copy .lead{margin:20px 0 26px}.hero-cta .btn{width:100%;height:56px}.hero-cta{order:-1}.hero-badge{padding:12px 16px;bottom:56px;left:14px}.hero-badge b{font-size:2rem}.hero-photo .frame{aspect-ratio:4/3.3}.svc-wrap{grid-template-columns:1fr}.svc-preview{display:none}.svc-list{scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 18px;scrollbar-width:none;border:0;gap:14px;display:flex;overflow-x:auto}.svc-list::-webkit-scrollbar{display:none}.svc{scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);width:78%;box-shadow:var(--shadow);flex:none;padding:0;display:block;overflow:hidden}.svc-card-img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.svc h3,.svc p{padding:0 20px}.svc h3{padding-top:18px}.svc p{margin-top:8px;padding-bottom:22px}.svc .arr{display:none}.svc.on h3{transform:none}.about-photos .clip{width:30%;bottom:-28px;right:8px}.about-grid{gap:56px}.checks{grid-template-columns:1fr;gap:10px}.rail figure{width:70%;height:320px}.card-box{padding:26px}.cta{padding:88px 0}.cta .btn{width:100%;max-width:360px;margin-top:8px}.pagehead{padding:40px 0 56px}.article{padding:64px 0}.pagehead h1{font-size:clamp(2.3rem,10vw,3rem)}.sticky-bar{z-index:45;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--night);transition:transform .5s var(--ease);border-top:1px solid #f5f2ea1f;grid-template-columns:1.3fr 1fr;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.sticky-bar.show{transform:none}.sticky-bar .btn{height:48px;padding:0 12px}.footer{padding-bottom:90px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.ln>span,.hero-copy .fade,.hero-photo figcaption,.hero-badge{opacity:1!important;transform:none!important}.hero-photo .frame{clip-path:none!important}.hero-photo img{transform:none!important}.js .reveal,.js .wipe{opacity:1!important;clip-path:none!important;transform:none!important}.marquee{animation:none}}html body .nav,html body .nav.over,html body .nav.scrolled,html body .nav.solid,html body .hdr,html body .hdr.glass{background:var(--bg)!important;-webkit-backdrop-filter:blur(20px)saturate(1.5)!important;border-bottom:1px solid var(--line)!important}html body .nav.scrolled,html body .hdr.glass{box-shadow:0 12px 32px -20px #00000073!important}html body .nav.over:not(.open) .nav-item>a,html body .nav.over:not(.open) .nav-item>a[aria-current]{color:var(--ink-2,var(--text,inherit))!important}html body .nav.over:not(.open) .nav-burger{border-color:var(--line)!important;background:0 0!important}html body .nav.over:not(.open) .nav-burger span{background:var(--ink,var(--text,#111))!important}
