:root{--paper:#f2f0ea;--ink:#0a0a0a;--line:#c9c7c0;--red:#b32720}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:6px}header{height:94px;display:flex;justify-content:space-between;align-items:center;padding:0 4%;border-bottom:1px solid var(--line)}.brand{font-size:27px;letter-spacing:-1.7px;font-weight:800}.brand span{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:4px}nav{display:flex;gap:38px;font-size:12px;letter-spacing:.06em}nav a{padding:12px 0}nav a:hover{color:var(--red)}.mono{font-family:'Courier New',monospace;font-size:12px;line-height:1.65;letter-spacing:.045em}.hero{height:calc(100svh - 94px);min-height:640px;position:relative;background:#343434;color:var(--paper);padding:34px 4%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 30%,#0007);pointer-events:none}.hero>*:not(.hero-shade){position:relative}.hero-top,.hero-bottom{display:flex;justify-content:space-between;gap:20px}.hero-title{margin-top:100px}.hero h1{font-size:clamp(48px,7.4vw,130px);font-weight:500;letter-spacing:-.07em;line-height:.95;margin:20px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}.hero-bottom{align-items:flex-end}.skip{position:fixed;top:-80px;z-index:99;background:white;padding:14px}.skip:focus{top:0}@media(max-width:700px){header{height:100px;padding:20px 6%;align-items:flex-start;flex-direction:column}.brand{font-size:23px}nav{width:100%;gap:0;justify-content:space-between}nav a{padding:0}.hero{height:calc(100svh - 100px);min-height:580px;padding:26px 6%}.hero-top{font-size:10px}.hero-top span:first-child{max-width:100px}.hero h1{font-size:12vw}.hero-bottom>span:last-child{display:none}.hero-bottom{font-size:10px}.hero-title{margin-top:0}}
.hero{background-image:url(assets/hero.jpg);background-size:cover;background-position:center 57%}
.section{padding:100px 6%}.section-label{display:flex;justify-content:space-between;gap:20px;margin-bottom:40px}.intro{padding-top:140px;padding-bottom:130px}.intro h2{font-size:clamp(42px,5.8vw,90px);font-weight:400;line-height:1.03;letter-spacing:-.055em;margin:50px 0}.intro h2 em,h1 em,.statement em,.footer-cta em{font-family:Georgia,serif;font-weight:400}h2,h3,p{margin-top:0}p{font-size:17px;line-height:1.7}.intro-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:40px}.intro-bottom p{margin:0}.text-link{display:inline-block;width:fit-content;font-size:12px;letter-spacing:.07em;padding:12px 0;border-bottom:1px solid var(--ink)}.intro-bottom .text-link{justify-self:end}.chrome{font-family:Georgia,serif;letter-spacing:-.14em;display:inline-block;font-size:90px;font-style:italic;font-weight:bold;line-height:1;color:#777;background:linear-gradient(145deg,#333 5%,#fff 22%,#888 30%,#222 40%,#ddd 45%,#666 51%,#eee 66%,#444 78%,#ccc 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #fff)}.chrome sup{font-family:Arial;font-size:27px;vertical-align:top;letter-spacing:0;margin-left:15px}.selected{padding-top:40px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px 5%}.project-grid .project-card:nth-child(even){margin-top:130px}.image-wrap{height:580px;position:relative;overflow:hidden;background:#d3d1ca}.image-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s}.project-card:hover img{transform:scale(1.035);filter:grayscale(.35)}.image-open{position:absolute;right:20px;bottom:20px;background:var(--paper);padding:12px 16px;opacity:0;transform:translateY(8px);transition:.3s}.project-card:hover .image-open,.project-card:focus-visible .image-open{opacity:1;transform:none}.card-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0 5px}.card-caption h3{font-weight:400;font-size:25px;letter-spacing:-.04em;margin:0}.muted{color:#696761}.archive{padding-top:60px}.archive-row{position:relative;border-top:1px solid var(--line);display:flex;gap:5%;align-items:center;padding:35px 0}.archive-row:last-child{border-bottom:1px solid var(--line)}.archive-row h2{font-weight:400;font-size:clamp(35px,6.5vw,100px);letter-spacing:-.065em;line-height:1;margin:0;transition:transform .4s}.archive-row:hover h2{transform:translateX(18px)}.row-arrow{margin-left:auto;font-size:38px}.hover-image{position:absolute;right:16%;width:180px;height:225px;object-fit:cover;filter:grayscale(1);transform:rotate(5deg) scale(.9);opacity:0;pointer-events:none;z-index:2;transition:.35s}.archive-row:hover .hover-image,.archive-row:focus-visible .hover-image{opacity:1;transform:rotate(-5deg) scale(1)}.statement{text-align:center;padding-top:120px;padding-bottom:140px}.statement p{font-size:clamp(34px,5.5vw,80px);line-height:1.03;letter-spacing:-.06em;margin:50px 0}.statement em{display:inline-block}footer{background:var(--ink);color:var(--paper);padding:80px 6% 28px}.footer-cta{font-size:clamp(35px,5.8vw,86px);line-height:1.04;letter-spacing:-.055em;display:block;margin:45px 0 90px}.footer-cta span{float:right;font-family:Arial}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #444;padding-top:25px}.page-head{padding-top:85px;padding-bottom:55px}.page-head h1,.story-head h1,.inquiry-layout h1{font-size:clamp(50px,8.4vw,135px);font-weight:400;letter-spacing:-.065em;line-height:.99;margin:45px 0}.page-head>p:not(.mono){max-width:700px}.filters{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:60px}.filters a{font-size:12px;padding:10px 0;border-bottom:1px solid transparent}.filters .active{border-color:var(--ink)}.work-grid{padding-top:20px}.archive-note{margin-top:100px}.story-head{padding-bottom:55px}.story-head .section-label{margin-top:70px}.red{color:var(--red)}.story-cover{margin:0 4%}.story-cover>img{width:100%;height:85svh;min-height:420px;object-fit:cover;filter:grayscale(1)}figcaption{display:flex;justify-content:space-between;margin-top:14px}.story-text{display:grid;grid-template-columns:1fr 2fr;gap:40px}.story-text h2{font-size:40px;font-weight:400;letter-spacing:-.04em;max-width:650px}.story-text p:not(.mono){max-width:560px}.story-images{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:0}.story-images figure{margin:0}.story-images .offset{padding-top:180px}.story-images img{width:100%;height:600px;object-fit:cover;filter:grayscale(1)}.story-images .detail-crop{object-position:75%;height:600px;object-fit:cover;clip-path:inset(0);transform:scale(1)}.story-images figure:has(.detail-crop){overflow:hidden}.next-story{border-top:1px solid var(--line);display:block}.next-story h2{font-size:clamp(40px,6vw,95px);font-weight:400;letter-spacing:-.05em;margin:25px 0 0}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:20px}.studio-photo{width:100%;height:750px;object-fit:cover;filter:grayscale(1)}.studio-copy{padding-top:55px}.studio-copy .chrome{margin-bottom:65px}.studio-copy h2{font-weight:400;font-size:32px;line-height:1.2;letter-spacing:-.035em}.studio-copy p{color:#444}.studio-copy .mono{margin-top:45px;font-size:12px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;padding-top:50px}.values>div{border-top:1px solid var(--line);padding-top:25px}.values h2{font-size:36px;font-weight:400;margin:35px 0 20px;letter-spacing:-.04em}.info-layout{display:grid;grid-template-columns:1fr 2fr;gap:10%;padding-top:30px}.info-layout aside .text-link{margin-top:25px}.info-layout article{border-top:1px solid var(--line);padding:28px 0}.info-layout article p{max-width:650px;font-size:20px}.faq-title{font-size:40px;font-weight:400;letter-spacing:-.04em;margin:60px 0 30px}details{border-top:1px solid var(--line);padding:24px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:18px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{margin:24px 0 0;color:#555}.inquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;min-height:calc(100svh - 94px);padding-top:70px}.inquiry-layout h1{font-size:clamp(55px,7.5vw,115px)}.inquiry-layout>div>p.muted{margin-top:60px}.inquiry-panel{padding-top:10px}.steps{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);color:#76736e;padding-bottom:18px;margin-bottom:45px}.steps .current{color:var(--ink)}form h2{font-size:28px;font-weight:400;letter-spacing:-.03em;margin-bottom:35px}label{display:block;font-size:14px;margin-bottom:28px}label span{color:#777}input,select,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #aaa79f;border-radius:0;padding:14px 0;font-size:16px;color:var(--ink);margin-top:5px}textarea{resize:vertical;min-height:130px}select{cursor:pointer}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px}.dark-button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:20px 24px;display:flex;gap:40px;justify-content:space-between;cursor:pointer;font-size:12px;letter-spacing:.05em;margin-left:auto}.dark-button:hover{background:#333}.back{border:0;background:none;padding:15px 0;font-size:12px;cursor:pointer}.review>div{border-bottom:1px solid var(--line);padding:15px 0}.review dt{color:#666}.review dd{margin:6px 0 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.prototype-note{font-size:13px;line-height:1.6;color:#666;margin:25px 0}.credits{margin:65px 0}.credits>a{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:24px 0}.credits>a span{color:#666}.reveal{opacity:0;transform:translateY(25px);transition:opacity .9s,transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}nav a[aria-current]{border-bottom:1px solid currentColor}@media(min-width:1500px){.image-wrap{height:720px}}@media(max-width:1000px){.image-wrap{height:440px}.card-caption{display:block}.card-caption h3{margin-bottom:6px}.footer-bottom{flex-wrap:wrap}.story-images img{height:450px}.studio-photo{height:600px}.inquiry-layout{gap:6%}}@media(max-width:700px){.section{padding:65px 6%}.intro h2{margin:35px 0}.intro-bottom{grid-template-columns:1fr 2fr;gap:25px}.intro-bottom .text-link{grid-column:2;justify-self:start}.chrome{font-size:62px}.project-grid{grid-template-columns:1fr;gap:40px}.project-grid .project-card:nth-child(even){margin-top:0}.image-wrap{height:115vw;max-height:620px}.card-caption{display:flex}.card-caption h3{font-size:22px}.card-caption .mono{font-size:10px}.archive-row{padding:30px 0;gap:20px}.archive-row h2{font-size:10vw}.row-arrow{font-size:26px}.hover-image{display:none}.statement p{font-size:9vw}.footer-cta{font-size:9vw;margin-bottom:60px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;font-size:10px}.page-head h1{font-size:13vw;margin:35px 0}.filters{gap:8px 20px;margin-top:35px}.work-grid{padding-top:0}.story-head h1{font-size:14vw}.story-head .section-label{margin-top:45px}.story-cover{margin:0}.story-cover>img{height:65svh}.story-cover figcaption{padding:0 6%}.story-text{grid-template-columns:1fr;gap:15px}.story-text h2{font-size:32px}.story-images{grid-template-columns:1fr;gap:40px;padding-top:0}.story-images .offset{padding-top:0}.story-images img{height:auto;max-height:700px}.studio-grid{grid-template-columns:1fr;gap:40px;padding-top:0}.studio-photo{height:120vw}.studio-copy{padding:0}.studio-copy .chrome{margin-bottom:35px}.values{grid-template-columns:1fr;gap:35px}.info-layout{grid-template-columns:1fr;gap:45px;padding-top:0}.info-layout article p{font-size:18px}.inquiry-layout{grid-template-columns:1fr;gap:45px;padding-top:45px}.inquiry-layout h1{font-size:16vw}.inquiry-layout h1 br:nth-child(2){display:none}.inquiry-layout>div>p.muted{margin-top:25px}.form-two{grid-template-columns:1fr;gap:0}.credits>a{flex-direction:column;gap:8px}.section-label{font-size:11px}.page-head .mono{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.hero-title{transform:none!important}}@media(hover:none){.image-open{opacity:1;transform:none}.reveal{opacity:1;transform:none}}
.reveal .image-wrap{clip-path:inset(0 0 9% 0);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1)}.reveal.visible .image-wrap{clip-path:inset(0)}nav{font-size:14px}.filters a,.text-link,.dark-button,.back{font-size:14px}@media(max-width:700px){.hero-top,.hero-bottom,.card-caption .mono,.footer-bottom,.section-label,.page-head .mono{font-size:12px}.hero-bottom>span{max-width:52%}.card-caption{flex-wrap:wrap}.hero h1{font-size:11.6vw;line-height:1.03}.hero-top span:first-child{max-width:135px}}@media(prefers-reduced-motion:reduce),(hover:none){.reveal .image-wrap{clip-path:none}}

/* Motion system: deliberate entrances, tactile links, and quiet route changes. */
:root{--ease-premium:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.22,1,.36,1)}
body{overflow-x:hidden}main{view-transition-name:site-main}.scroll-progress{position:fixed;z-index:110;top:0;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left center;pointer-events:none;will-change:transform}
::view-transition-old(site-main){animation:route-out .28s ease both}::view-transition-new(site-main){animation:route-in .62s var(--ease-premium) both}
@keyframes route-out{to{opacity:0;filter:blur(2px);transform:translateY(-10px)}}@keyframes route-in{from{opacity:0;filter:blur(5px);transform:translateY(22px)}}
.reveal{opacity:0;filter:blur(3px);transform:translate3d(0,32px,0);transition:opacity .8s ease var(--reveal-delay,0ms),transform 1.05s var(--ease-premium) var(--reveal-delay,0ms),filter .85s ease var(--reveal-delay,0ms);will-change:opacity,transform,filter}.reveal.visible{opacity:1;filter:none;transform:none;will-change:auto}
.media-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--ease-premium)}.media-reveal.visible{clip-path:inset(0)}.story-cover.media-reveal>img,.studio-photo.media-reveal{transform:scale(1.045);transition:transform 1.6s var(--ease-premium)}.story-cover.media-reveal.visible>img,.studio-photo.media-reveal.visible{transform:scale(1)}
.hero-top{animation:hero-enter .8s .08s var(--ease-premium) both}.hero-title{animation:hero-enter 1.1s .18s var(--ease-premium) both;will-change:transform}.hero-bottom{animation:hero-enter .9s .38s var(--ease-premium) both}@keyframes hero-enter{from{opacity:0;filter:blur(4px);transform:translate3d(0,28px,0)}}
.project-card,.archive-row,.credits>a,.text-link,.dark-button,.back,.next-story{transition:transform .55s var(--ease-premium),color .3s ease,background-color .3s ease,box-shadow .4s ease}.project-card:hover{transform:translateY(-6px)}.archive-row .row-arrow,.footer-cta span,.dark-button span{display:inline-block;transition:transform .55s var(--ease-premium)}.archive-row:hover .row-arrow,.archive-row:focus-visible .row-arrow,.footer-cta:hover span,.footer-cta:focus-visible span,.dark-button:hover span{transform:translate(6px,-6px)}.text-link:hover,.text-link:focus-visible{transform:translateX(5px)}.dark-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0002}.dark-button:active{transform:scale(.985)}.next-story:hover h2{transform:translateX(12px)}.next-story h2{transition:transform .7s var(--ease-premium)}details summary span{transition:transform .5s var(--ease-premium)}
.chrome{background-size:220% auto;animation:chrome-sweep 2.4s .6s var(--ease-soft) both}@keyframes chrome-sweep{from{background-position:100% center}to{background-position:0 center}}
@media(hover:none) and (prefers-reduced-motion:no-preference){.reveal{opacity:0;filter:blur(2px);transform:translate3d(0,18px,0)}.reveal.visible{opacity:1;filter:none;transform:none}.project-card:hover{transform:none}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .reveal{transition-duration:.9s,1.15s,.95s;transition-delay:calc(var(--reveal-delay,0ms) + 140ms)}
  .reveal .image-wrap{transition-duration:1.35s;transition-delay:calc(var(--reveal-delay,0ms) + 100ms)}
  .media-reveal{transition-duration:1.35s;transition-delay:120ms}
  .story-cover.media-reveal>img,.studio-photo.media-reveal{transition-duration:1.8s;transition-delay:120ms}
  .hero-top{animation-duration:.9s;animation-delay:.16s}
  .hero-title{animation-duration:1.2s;animation-delay:.34s}
  .hero-bottom{animation-duration:1s;animation-delay:.62s}
  ::view-transition-old(site-main){animation-duration:.38s}
  ::view-transition-new(site-main){animation-duration:.85s}
}
@media(prefers-reduced-motion:reduce){::view-transition-old(site-main),::view-transition-new(site-main){animation:none}.reveal,.reveal.visible,.media-reveal,.media-reveal.visible{opacity:1;filter:none;transform:none;clip-path:none}.story-cover.media-reveal>img,.studio-photo.media-reveal{transform:none}.scroll-progress{transition:none}.chrome{animation:none}}

/* Commissions: editorial service notes and a quiet rate index. */
.credential-emphasis{text-decoration-line:underline;text-decoration-color:var(--red);text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-skip-ink:auto}
.offering-card{min-height:440px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:30px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.offering-card>.mono{color:#696761;font-size:12px}.offering-card h2{font:italic 48px/1.05 Georgia,serif;letter-spacing:-.04em;max-width:420px;margin:28px 0}.offering-card>p:not(.mono){max-width:440px}.offering-rate-link{font-size:14px;color:#696761;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.rates-section{padding-top:25px}.rates-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end;margin:40px 0 65px}.rates-intro h2,.collaboration-section h2{font-size:clamp(38px,4.7vw,70px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0}.rates-intro em,.collaboration-section em{font-family:Georgia,serif;font-weight:400}.rates-intro>p{margin:0;color:#555}.rate-row{display:grid;grid-template-columns:40px 1fr auto;gap:28px;border-top:1px solid var(--line);padding:28px 0;align-items:start}.rate-row:last-child{border-bottom:1px solid var(--line)}.rate-row h3{font-size:26px;font-weight:400;letter-spacing:-.035em;margin:0 0 8px}.rate-row p{font-size:15px;max-width:620px;margin:0;color:#696761}.rate-row strong{font-size:23px;font-weight:400;letter-spacing:-.035em;white-space:nowrap}.rate-row:hover h3,.rate-row:focus-visible h3{color:var(--red)}.rates-footnote{font-size:14px;margin:24px 0 0;color:#696761}.collaboration-section{border-top:1px solid var(--line)}.collaboration-section>div{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;margin-top:40px}.collaboration-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:28px 0}.collaboration-section .muted{margin-top:25px}
@media(max-width:700px){.rates-intro,.collaboration-section>div{grid-template-columns:1fr;gap:30px}.rates-intro{margin:30px 0 40px}.rate-row{grid-template-columns:25px 1fr;gap:10px 16px;padding:23px 0}.rate-row strong{grid-column:2;font-size:21px}.rate-row h3{font-size:24px}.offering-card{min-height:340px;padding:24px 0}.offering-card h2{font-size:40px}.rates-section{padding-top:10px}}

/* Light & Calm concierge */
.concierge:not(.is-revealed){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.concierge.is-revealed{opacity:1;visibility:visible;transform:none}.concierge{transition:opacity .45s ease,transform .6s var(--ease-premium),visibility .45s}.concierge-typing{display:flex;align-items:center;gap:5px;padding:18px 20px;border-top:1px solid var(--line);min-height:61px}.concierge-typing>span{width:4px;height:4px;border-radius:50%;background:#696761;animation:concierge-dot 1s ease-in-out infinite}.concierge-typing>span:nth-child(2){animation-delay:.15s}.concierge-typing>span:nth-child(3){animation-delay:.3s}.concierge-typing small{font-size:12px;color:#696761;margin-left:9px}@keyframes concierge-dot{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.concierge{transition:none}.concierge-typing>span{animation:none}}
.footer-hours{display:grid;grid-template-columns:1fr 2fr;gap:32px;border-top:1px solid #444;padding:28px 0 36px}.footer-hours h2{font-weight:400;margin:0 0 5px}.footer-hours>div>p{color:#aaa;margin:0}.footer-hours dl{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}.footer-hours dt{font-size:14px;color:#aaa;margin-bottom:8px}.footer-hours dd{font-size:14px;line-height:1.5;margin:0;font-variant-numeric:tabular-nums}@media(max-width:700px){.footer-hours{grid-template-columns:1fr;gap:22px}.footer-hours dl{grid-template-columns:1fr;gap:14px}.footer-hours dl>div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-hours dt{margin:0}}
.footer-connect{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 32px}.footer-contact{display:flex;flex-wrap:wrap;gap:8px 32px}.footer-contact a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;letter-spacing:.02em}.footer-connect svg{flex-shrink:0}.footer-social{display:flex;gap:8px}.footer-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #444;transition:color .25s,border-color .25s,transform .4s var(--ease-premium)}.footer-contact a{transition:color .25s}.footer-connect a:hover,.footer-connect a:focus-visible{color:#e26b61}.footer-social a:hover,.footer-social a:focus-visible{border-color:#e26b61;transform:translateY(-2px)}@media(max-width:700px){.footer-connect{align-items:flex-start;flex-direction:column;gap:22px}.footer-contact{flex-direction:column;gap:2px}.footer-contact a{overflow-wrap:anywhere}.footer-social{gap:12px}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.concierge{position:fixed;right:24px;bottom:22px;z-index:105;font-family:Arial,Helvetica,sans-serif}.concierge button,.concierge textarea{font:inherit}.concierge-trigger{position:relative;width:190px;height:58px;border:1px solid #444;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;box-shadow:0 14px 40px #0003;transition:transform .45s var(--ease-premium),background .3s,color .3s,box-shadow .4s}.concierge-trigger:hover{transform:translateY(-3px);box-shadow:0 20px 48px #0004}.concierge-trigger-mark{font:italic 22px/1 Georgia,serif;letter-spacing:-.12em}.concierge-trigger-copy{text-align:left;line-height:1.1}.concierge-trigger-copy strong{display:block;font-size:11px;letter-spacing:.1em;font-weight:500}.concierge-trigger-copy small{display:block;margin-top:5px;font:8px/1 'Courier New',monospace;letter-spacing:.06em;color:#aaa}.concierge-trigger-icon{font-size:18px;text-align:right}.concierge-trigger i{position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--paper)}
.concierge-panel{position:absolute;right:0;bottom:70px;width:min(370px,calc(100vw - 32px));height:min(585px,calc(100svh - 120px));background:var(--paper);border:1px solid #aaa79f;box-shadow:0 26px 80px #0003;display:grid;grid-template-rows:auto 1fr auto auto;opacity:0;visibility:hidden;transform:translateY(18px) scale(.975);transform-origin:right bottom;transition:opacity .3s ease,transform .55s var(--ease-premium),visibility 0s .55s;overflow:hidden}.concierge-panel.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .55s var(--ease-premium),visibility 0s}.concierge-head{height:70px;padding:14px 16px;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.concierge-head>div{display:flex;align-items:center;gap:12px}.concierge-mark{width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:italic 16px/1 Georgia,serif;letter-spacing:-.1em}.concierge-head p{margin:0;line-height:1}.concierge-head strong{font-size:11px;letter-spacing:.08em;font-weight:600}.concierge-head small{display:block;margin-top:6px;font:9px/1 'Courier New',monospace;letter-spacing:.05em;color:#666}.concierge-close{width:36px;height:36px;border:0;background:transparent;cursor:pointer;font-size:20px}.concierge-log{padding:18px 16px 10px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.concierge-message{max-width:88%;margin-bottom:18px}.concierge-message span{display:block;margin-bottom:6px;font:9px/1 'Courier New',monospace;letter-spacing:.07em;color:#777}.concierge-message p{font-size:14px;line-height:1.55;margin:0;padding:11px 13px;border:1px solid var(--line);background:#f8f6f0;white-space:pre-wrap}.concierge-message.visitor{margin-left:auto}.concierge-message.visitor span{text-align:right}.concierge-message.visitor p{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.concierge-actions{display:flex;gap:7px;flex-wrap:wrap;padding:4px 16px 12px}.concierge-actions button{border:1px solid #9f9c94;background:transparent;padding:9px 11px;font-size:11px;letter-spacing:.02em;cursor:pointer;transition:background .25s,color .25s,transform .35s var(--ease-premium)}.concierge-actions button:hover,.concierge-actions button:focus-visible{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.concierge-compose{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 46px;align-items:end;padding:10px 10px 10px 16px}.concierge-compose textarea{min-height:38px;max-height:110px;margin:0;padding:9px 8px 7px 0;border:0;background:transparent;resize:none;font-size:13px;line-height:1.45}.concierge-compose textarea:focus{outline:none}.concierge-compose button{width:40px;height:40px;border:0;background:var(--ink);color:var(--paper);cursor:pointer;font-size:17px;transition:transform .35s var(--ease-premium),background .25s}.concierge-compose button:hover{transform:translate(2px,-2px);background:#292929}.concierge-note{padding:0 16px 11px;margin:0!important;font:8px/1.35 'Courier New',monospace!important;letter-spacing:.04em;color:#777}
.concierge-review{border-top:1px solid var(--line);padding:14px 16px;max-height:260px;overflow:auto}.concierge-review>p{font-size:13px;line-height:1.45;margin-bottom:12px}.concierge-review dl{margin:0 0 14px}.concierge-review dl div{display:grid;grid-template-columns:85px 1fr;gap:10px;border-top:1px solid var(--line);padding:6px 0}.concierge-review dt{font:8px/1.4 'Courier New',monospace;text-transform:uppercase;color:#666}.concierge-review dd{margin:0;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.concierge-send{width:100%;border:0;background:var(--ink);color:var(--paper);padding:13px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;cursor:pointer}.concierge-reset{display:block;margin:10px auto 0;border:0;background:transparent;border-bottom:1px solid #777;padding:3px;font-size:9px;letter-spacing:.06em;cursor:pointer}
@media(max-width:700px){.concierge{right:12px;bottom:12px}.concierge-trigger{width:58px;height:58px;display:grid;grid-template-columns:1fr;padding:0}.concierge-trigger-copy{display:none}.concierge-trigger-mark{font-size:19px}.concierge-trigger-icon{position:absolute;right:7px;top:5px;font-size:11px}.concierge-panel{position:fixed;left:10px;right:10px;bottom:80px;width:auto;height:min(610px,calc(100svh - 100px));transform-origin:center bottom}.concierge-message{max-width:91%}}
@media(prefers-reduced-motion:reduce){.concierge-panel,.concierge-trigger,.concierge-actions button,.concierge-compose button{transition:none!important}}
/* Discreet service resources; primary layouts retain the original design. */
.local-intro{padding-top:100px;padding-bottom:90px}.local-intro>p:not(.mono){max-width:760px}.local-intro h2{font-size:clamp(42px,5.8vw,90px);font-weight:400;line-height:1.03;letter-spacing:-.055em;margin:42px 0 25px}.local-intro h2 em{font-family:Georgia,serif;font-weight:400}.service-index{display:grid;grid-template-columns:repeat(2,1fr);gap:0 5%;margin:52px 0 48px;border-top:1px solid var(--line)}.service-index a{border-bottom:1px solid var(--line);padding:21px 0;display:flex;align-items:baseline;justify-content:space-between;gap:20px;transition:color .3s,transform .5s var(--ease-premium)}.service-index a:hover,.service-index a:focus-visible{color:var(--red);transform:translateX(6px)}.service-index h3{font-size:21px;font-weight:400;letter-spacing:-.03em;margin:0}.service-index span{font:12px 'Courier New',monospace;color:#696761;white-space:nowrap}.breadcrumbs{display:flex;gap:12px;align-items:center;margin-bottom:48px;color:#696761}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.breadcrumbs [aria-current]{color:var(--ink)}.service-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:42px}.service-figure{padding-top:0}.service-figure img{display:block;width:100%;height:min(70svh,760px);object-fit:cover;filter:grayscale(1)}.service-figure figcaption{font:12px 'Courier New',monospace;color:#696761}.service-figure figcaption a{text-decoration:underline;text-underline-offset:3px}.service-followup{border-top:1px solid var(--line);padding-top:26px;margin-top:50px;font-size:14px}.service-followup a{text-decoration:underline;text-underline-offset:3px}.guide-body{max-width:930px}.guide-body article{border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:1fr 2fr;gap:8%}.guide-body article h2{font-size:28px;font-weight:400;letter-spacing:-.035em;margin:0}.guide-body article p{margin:0;max-width:650px}.footer-hours dd{font-variant-numeric:tabular-nums}
@media(max-width:700px){.local-intro{padding-top:65px}.service-index{grid-template-columns:1fr;margin:35px 0 38px}.service-index h3{font-size:19px}.service-actions{gap:14px;flex-direction:column;align-items:flex-start}.service-figure{padding-left:0;padding-right:0}.service-figure img{height:62svh}.guide-body article{grid-template-columns:1fr;gap:12px;padding:28px 0}.breadcrumbs{margin-bottom:34px;font-size:11px;gap:8px}}
.hero{background-image:url(/assets/hoi-an-wedding-couple-1600.webp)}html:not(.js) .reveal{opacity:1;transform:none;filter:none}html:not(.js) .reveal .image-wrap{clip-path:none}html:not(.js) .media-reveal{clip-path:none}.info-resources{margin-top:30px;font-size:13px;line-height:2;color:#696761}.info-resources a{text-decoration:underline;text-underline-offset:4px}

.credential-trigger{appearance:none;border:0;border-radius:0;background:none;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;cursor:help}.credential-trigger:focus-visible{outline:1px solid var(--red);outline-offset:5px}.faa-popover{position:fixed;z-index:150;width:min(340px,calc(100vw - 32px));padding:22px;background:#F2F0EA;color:#222;border:1px solid rgba(10,10,10,.2);box-shadow:0 12px 40px rgba(10,10,10,.12);animation:faa-enter .22s ease-out}.faa-popover[hidden]{display:none}.faa-popover-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.1em}.faa-popover-top button{border:0;background:none;color:inherit;font-size:22px;cursor:pointer;padding:4px 8px;margin:-8px}.faa-popover h2{font-size:23px;font-weight:500;letter-spacing:-.04em;margin:18px 0 12px}.faa-popover p{font-size:13px;line-height:1.65;margin:0 0 12px}.faa-popover a{display:inline-block;font-size:9px;letter-spacing:.1em;text-underline-offset:4px;text-decoration-color:var(--red)}@keyframes faa-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.faa-popover{animation:none}}

.back-to-top{position:fixed;left:50%;transform:translateX(-50%);border-radius:999px;bottom:28px;z-index:70;display:flex;align-items:center;gap:24px;min-height:46px;padding:0 17px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:9px;letter-spacing:.1em;cursor:pointer;box-shadow:0 4px 18px rgba(10,10,10,.06);animation:back-top-enter .45s var(--ease-premium);transition:border-color .3s,box-shadow .3s}.back-to-top[hidden]{display:none}.back-to-top span:last-child{font-size:18px;transition:transform .35s var(--ease-premium)}.back-to-top:hover{border-color:var(--ink);box-shadow:0 6px 22px rgba(10,10,10,.1)}.back-to-top:hover span:last-child{transform:translateY(-3px)}.back-to-top:focus-visible{outline:1px solid var(--red);outline-offset:4px}@keyframes back-top-enter{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}@media(max-width:700px){.back-to-top{left:50%;bottom:calc(12px + env(safe-area-inset-bottom));min-height:46px;padding:0 13px;gap:16px;font-size:8px}}@media(prefers-reduced-motion:reduce){.back-to-top,.back-to-top span:last-child{animation:none;transition:none}}

/* Circular inquiry launcher on every screen size. */
.concierge-trigger{width:58px;height:58px;border-radius:50%;grid-template-columns:1fr;place-items:center;gap:0;padding:0}.concierge-trigger-copy{display:none}.concierge-trigger-mark{font-size:22px}.concierge-trigger-icon{position:absolute;right:9px;top:8px;font-size:11px}.concierge-trigger i{right:2px;top:2px}.concierge-trigger:focus-visible{outline:1px solid var(--red);outline-offset:4px}

/* Direct contact, aligned with the architectural navigation. */
body>header{display:grid;grid-template-columns:1fr auto auto;column-gap:30px}.header-call{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:0 15px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);font-size:11px;letter-spacing:.03em;white-space:nowrap;transition:background .3s,color .3s,transform .3s}.header-call:hover{background:transparent;color:var(--ink);transform:translateY(-1px)}.header-call svg{flex-shrink:0}@media(max-width:900px) and (min-width:701px){body>header{column-gap:20px}body>header nav{gap:20px}.header-call-number{display:none}}@media(max-width:700px){body>header{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:14px;column-gap:12px;align-items:center;height:auto;min-height:100px;padding-top:14px;padding-bottom:16px}body>header .brand{grid-column:1;grid-row:1;white-space:nowrap}body>header nav{grid-column:1 / -1;grid-row:2}.header-call{grid-column:2;grid-row:1;min-height:36px;padding:0 11px;font-size:9px;gap:6px}.header-call svg{width:13px;height:13px}}@media(max-width:380px){.header-call-number{display:none}}@media(prefers-reduced-motion:reduce){.header-call{transition:none}}

/* Supplied logo: preserve the artwork, frame its outer whitespace in the header. */
body>header .brand{position:relative;display:block;width:210px;height:auto;aspect-ratio:2.75;overflow:hidden;mix-blend-mode:multiply;flex-shrink:0}body>header .brand-logo{position:absolute;display:block;max-width:none;width:148%;height:auto;left:-24%;top:-32%;mix-blend-mode:multiply}body>header .brand:focus-visible{outline-offset:3px}@media(max-width:700px){body>header .brand{width:clamp(145px,43vw,180px)}body>header{min-height:114px}.hero{height:calc(100svh - 114px)}}
