@font-face{font-family:Montserrat;src:url('assets/montserrat.woff') format('woff'),url('assets/montserrat.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#FEFEFE;--ink:#5A3322;--secondary:#8D6753;--accent:#B99075;--soft:#F3E6E2;--line:#DFD2C8}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Montserrat,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto;border-radius:8px}figure,p{margin:0}p+p{margin-top:18px}h1,h2,h3,h4{font-weight:400;line-height:1.15;margin:0}h2{font-size:clamp(32px,3.8vw,55px);letter-spacing:-1.4px}h3{font-size:30px}h4{font-size:21px;line-height:1.35}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:6px}.site-header :focus-visible,.hero :focus-visible{outline-color:var(--paper)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:20px;top:-100px;z-index:20;background:var(--paper);color:var(--ink);padding:12px 20px}.skip:focus{top:18px}.wrap{width:min(1304px,90.6%);margin-inline:auto}.eyebrow{font-size:11px;font-weight:500;letter-spacing:1.3px;line-height:1.6;text-transform:uppercase}.button{display:inline-flex;gap:23px;justify-content:center;align-items:center;min-height:52px;border:1px solid var(--ink);border-radius:32px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:13px;line-height:1.3;padding:16px 24px;font-weight:500;white-space:normal}.button span{font-size:18px}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button-outline{color:var(--paper);border-color:var(--paper);background:transparent}.text-link{display:inline-block;font-size:14px;line-height:1.7;text-decoration:underline;white-space:normal}.site-header{position:absolute;top:0;left:0;width:100%;height:120px;padding:0 4.7%;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px;align-items:center;color:var(--paper)}.brand{display:block;grid-column:1;grid-row:1;justify-self:start}.brand img{width:104px;height:104px;object-fit:contain}.desktop-nav{display:flex;grid-column:2;grid-row:1;justify-self:center;justify-content:center;gap:23px;align-items:center;flex-wrap:wrap}.desktop-nav a{font-size:16px;text-decoration:none}.header-right{display:flex;grid-column:3;grid-row:1;justify-content:flex-end;align-items:center;gap:24px}.header-right .button{font-size:15px;min-height:46px;padding:12px 22px}.site-header .lang-switch{font-size:16px}.lang-switch{background:none;color:inherit;border:0;font-size:12px;min-width:44px;min-height:44px;padding:10px;text-decoration:underline;text-underline-offset:5px}.mobile-menu{display:none}.hero{position:relative;height:100svh;min-height:760px;max-height:1100px;isolation:isolate;overflow:hidden;color:var(--paper)}.hero-image{position:absolute;inset:0;width:112%;max-width:none;height:100%;object-fit:cover;object-position:50% 37%;z-index:-3}.hero-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(24,20,17,.8),rgba(24,20,17,.53) 24%,transparent 57%),linear-gradient(180deg,rgba(24,20,17,.90),transparent 24%,transparent 86%,rgba(24,20,17,.26))}.hero-copy{position:absolute;left:4.7%;bottom:13%;max-width:650px}.hero h1{font-size:clamp(70px,6.35vw,112px);letter-spacing:-3.3px;line-height:1.04;margin:29px 0 26px}.hero-description{font-size:17px;margin-bottom:30px}.hero .button{min-width:233px}.discover{position:absolute;bottom:35px;left:4.7%;font-size:10px;letter-spacing:1px;text-decoration:none}.signature{position:absolute;bottom:30px;right:4.7%;color:var(--ink);text-align:right;font-size:11px;letter-spacing:1px}.signature small{display:block;font-size:10px;letter-spacing:0;margin-top:7px}.approach{display:grid;grid-template-columns:1fr 3fr;gap:80px;padding-block:100px 85px}.approach>.eyebrow{padding-top:10px}.approach h2{margin-bottom:30px}.approach p:not(.eyebrow){max-width:680px;font-size:18px}.section{padding-block:70px;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:30px}.section-top h2{margin-top:25px}.section-note{font-size:15px;max-width:365px}.muted{font-size:13px;color:#6D4A39;line-height:1.7}.category-links{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 35px}.category-links a{font-size:12px;padding:9px 14px;border:1px solid var(--line);border-radius:30px;text-decoration:none}.category summary{display:flex;align-items:center;gap:35px;cursor:pointer;list-style:none;padding:30px 0;border-bottom:1px solid var(--line)}summary::-webkit-details-marker{display:none}.category-number{font-size:11px;min-width:40px}.category summary h3{flex:1}.expand-icon{font-size:30px;font-weight:300}.category[open] .expand-icon{transform:rotate(45deg)}.category-content{padding:0 0 15px 75px}.service{display:grid;grid-template-columns:1fr 210px;gap:50px;padding:30px 0;border-bottom:1px solid var(--line)}.service:last-child{border-bottom:0}.service-meta{font-size:13px;margin-top:10px}.service p:not(.service-meta),.service ul{font-size:14px;margin-top:15px;max-width:770px}.service-action{text-align:right;align-self:center}.requirements{padding-left:20px}.requirements li+li{margin-top:5px}.guidance{font-weight:500}.consultation-note{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:40px}.consultation-note p{max-width:760px;font-size:14px;line-height:1.7;color:var(--secondary)}.consultation-note p a{color:var(--ink)}.consultation-note .button{flex-shrink:0}.about{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:110px;align-items:center}.portrait img{width:100%;max-height:565px;object-fit:contain;border-radius:8px}.about h2{margin:25px 0}.lead{font-size:27px;line-height:1.4;margin-bottom:24px}.about p:not(.eyebrow):not(.lead){max-width:620px}.about .button{margin-top:30px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 32%;border-radius:8px}.gallery-caption{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-top:25px}.gallery-caption div{display:flex;gap:22px}.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:85px}.faq h2{margin-top:25px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:30px;list-style:none;cursor:pointer;font-size:16px;padding:24px 0}.faq details p{padding:0 0 25px;font-size:14px}.faq .muted{margin-top:30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{margin:25px 0}.contact address{font-style:normal;margin-top:30px;font-size:15px;overflow-wrap:anywhere}.contact address+p{margin-top:24px}.contact .button{margin-top:28px}.contact .muted{margin-top:25px}.inquiry{min-width:0;padding:clamp(20px,3vw,40px);border:1px solid var(--line);border-radius:16px;background:#F6F1EB}.inquiry fieldset{min-width:0}.inquiry h3{font-size:29px}.preview-status{font-size:13px;line-height:1.7;margin-top:20px;padding-left:16px;border-left:3px solid var(--soft)}fieldset{border:0;margin:25px 0 0;padding:0}label{display:block;font-size:13px;margin:17px 0 5px}input,select,textarea{display:block;width:100%;border:1px solid #D7C5B8;border-radius:0;background:var(--paper);padding:12px;color:var(--ink)}fieldset:disabled input,fieldset:disabled textarea,fieldset:disabled select{opacity:.7}button:disabled{cursor:not-allowed;opacity:.55}footer{border-top:1px solid var(--line);padding-block:35px;display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center}.footer-brand{display:flex;gap:16px;align-items:center;font-size:15px}.footer-brand img{height:80px;width:80px;object-fit:contain}.footer-brand small{font-size:12px}footer nav{display:flex;gap:20px;font-size:12px}footer>.muted,footer>.review-note{grid-column:1/-1;font-size:11px}.review-note{margin-top:0}.noscript{padding:16px;text-align:center;background:var(--soft);font-size:13px}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .7s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.button{transition:background-color .18s,color .18s}.button:hover{background:#8D6753;color:#FEFEFE}.button-light:hover{background:#F3E6E2;color:#5A3322}}
@media(max-width:1100px){.desktop-nav{gap:14px}.desktop-nav a{font-size:14px}.header-right .button{font-size:14px}.header-right{gap:8px}.about{gap:65px}.faq{gap:50px}.contact{gap:55px}.hero h1{font-size:78px}.approach{gap:50px}}
@media(max-width:900px){html{scroll-padding-top:20px}.site-header{height:94px;grid-template-columns:82px minmax(44px,1fr) auto;padding-inline:24px;gap:8px}.brand img{width:82px;height:90px}.desktop-nav{display:none}.mobile-menu{display:block;grid-column:2;grid-row:1;justify-self:center}.mobile-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-width:44px;min-height:44px}.hamburger{font-size:24px}.mobile-menu nav{position:absolute;top:94px;left:0;right:0;background:var(--paper);color:var(--ink);padding:25px;display:flex;flex-direction:column;gap:16px;box-shadow:0 15px 28px #0002}.mobile-menu nav a{font-size:18px}.mobile-menu nav .lang-switch{align-self:flex-start}.header-right>.lang-switch{display:none}.header-right .button{font-size:12px;padding:11px 14px;min-height:44px;gap:8px}.header-right .button span{display:none}.hero{height:max(740px,100svh);min-height:740px;max-height:none}.hero-image{width:100%;object-position:45% 30%}.hero-scrim{background:linear-gradient(180deg,rgba(24,20,17,.7),transparent 26%,rgba(24,20,17,.04) 36%,rgba(24,20,17,.84) 100%)}.hero-copy{left:24px;right:24px;bottom:85px;max-width:none}.hero h1{font-size:clamp(53px,9vw,76px);letter-spacing:-2px}.hero-copy .eyebrow{font-size:9px}.hero-description{font-size:14px;margin-bottom:22px;max-width:290px}.signature{display:none}.discover{left:24px;bottom:28px}.approach{display:block;padding-block:65px}.approach h2{margin-top:24px;font-size:36px}.approach p:not(.eyebrow){font-size:16px}.section{padding-block:50px}.section-top{display:block}.section-note{margin-top:22px;max-width:540px}.section-top>.text-link{margin-top:23px}.about{grid-template-columns:1fr 1.2fr;gap:35px}.about .lead{font-size:22px}.gallery{gap:12px}.gallery-caption{display:block}.gallery-caption div{margin-top:15px}.faq,.contact{grid-template-columns:1fr;gap:40px}.category-content{padding-left:0}.service{grid-template-columns:1fr;gap:15px}.service-action{text-align:left}.category summary{gap:17px}.category summary h3{font-size:23px}.category-number{min-width:24px}.consultation-note{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr auto}footer nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap}footer>.lang-switch{grid-column:2;grid-row:1}}
@media(max-width:520px){.wrap{width:calc(100% - 48px)}h2{font-size:33px;letter-spacing:-.9px}.hero h1{font-size:57px;margin:22px 0}.hero .button{min-height:50px;padding:14px 22px}.about{display:flex;flex-direction:column;gap:38px;align-items:stretch}.portrait{width:90%;max-width:350px;align-self:center}.gallery{grid-template-columns:1fr 1fr}.gallery figure:last-child{grid-column:1/-1;width:70%;justify-self:center;margin-top:12px}.gallery img{aspect-ratio:3/4}.service h4{font-size:20px}.category summary h3{font-size:21px}.category-links{gap:7px}.category-links a{font-size:11px;padding:8px 11px}.gallery-caption{font-size:12px}.footer-brand{font-size:13px;gap:7px}.footer-brand img{width:62px;height:62px}.inquiry h3{font-size:27px}}
@media(max-height:600px) and (min-width:901px){.hero{min-height:740px}.hero-copy{bottom:12%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.prebooking-note{font-size:13px;max-width:960px;margin:0 0 25px;padding:18px 0;border-top:1px solid var(--line)}
.mobile-menu nav :focus-visible{outline-color:var(--ink)}

.ui-icon{display:inline-block;vertical-align:middle;flex:none;width:1.1em;height:1.1em}

/* Warm charcoal footer treatment for design review. */
footer.wrap{width:100%;margin-inline:0;padding-inline:max(4.7%,calc((100% - 1304px)/2));background:#272421;color:var(--paper);border-top-color:#49423D}
footer .muted,footer .review-note{color:#DED7D2}
footer a:hover,footer .lang-switch:hover{color:var(--accent)}
footer :focus-visible{outline-color:var(--paper)}
@media(max-width:520px){footer.wrap{padding-inline:24px}}

/* Keep the portrait proportional and avoid excessive enlargement on wide screens. */
@media(min-width:1400px){
  .hero{background:#F9F9F7}
  .hero-image{left:auto;right:0;width:min(94%,1680px);object-fit:cover;object-position:50% 37%;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%);mask-image:linear-gradient(to right,transparent,#000 10%)}
}

/* Footer color trial with the original full-color logo and readable brand-brown text. */
footer.site-footer{display:block;width:100%;padding:100px 0 52px;border:0;background:#E8DED3;color:var(--ink)}
.site-footer .footer-content{display:grid;grid-template-columns:1.05fr 1.3fr .7fr .65fr;gap:52px 42px;align-items:start}
.site-footer .footer-brand{display:block;font-size:18px;line-height:1.5}
.site-footer .footer-brand img{width:132px;height:132px;object-fit:contain;margin-bottom:16px}
.site-footer .footer-brand small{display:block;font-size:14px;margin-top:5px;color:var(--ink)}
.site-footer .footer-title{font-size:15px;font-weight:500;line-height:1.5;margin:12px 0 22px;color:var(--ink)}
.site-footer address{font-style:normal;font-size:15px;line-height:2;overflow-wrap:anywhere}
.site-footer nav{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.8}
.site-footer .footer-social-links{display:flex;gap:8px}
.site-footer .social-icon{display:grid;place-items:center;width:44px;height:44px;color:#FFFFFF;background:var(--ink);border-radius:50%;transition:background-color .2s ease}
.site-footer .social-icon:hover{color:#FFFFFF;background:#754B37;text-decoration:none}
.site-footer nav.footer-legal{flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px 10px;font-size:14px;line-height:1.7}
.site-footer .footer-legal a{white-space:nowrap}
.site-footer .footer-legal>span{opacity:.65}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{color:var(--ink);text-decoration:underline}
.site-footer .footer-legal .lang-switch{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;font-size:14px;line-height:1.7;text-decoration:none}
.site-footer .footer-legal .lang-switch:hover{text-decoration:underline}
.site-footer .footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px 26px;border-top:1px solid #5A332235;padding-top:34px;margin-top:14px;font-size:14px}
.site-footer .footer-bottom p{margin:0}
.site-footer .footer-bottom a{font-weight:400;text-decoration:none}
.site-footer .footer-bottom a:hover{text-decoration:underline}
.site-footer :focus-visible{outline-color:var(--ink)}
@media(max-width:1000px){.site-footer .footer-content{grid-template-columns:1fr 1fr;gap:34px}.site-footer nav{grid-column:auto;grid-row:auto}.site-footer .footer-title{margin-top:0}}
@media(max-width:600px){footer.site-footer{padding:72px 0 42px}.site-footer .footer-content{grid-template-columns:1fr;gap:38px}.site-footer .footer-bottom{display:block}.site-footer .footer-bottom p+p{margin-top:12px}.site-footer nav.footer-legal{margin-top:16px}}

/* Five visual category links, with the existing service accordions below. */
.category-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:32px 0 18px}
.category-card{display:block;position:relative;aspect-ratio:3/4;isolation:isolate;overflow:hidden;border-radius:8px;background:var(--ink);color:var(--paper);text-decoration:none;min-width:0}
.category-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.category-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 20%,rgba(31,21,15,.5) 50%,#1F150F 100%)}
.category-card-content{position:absolute;inset:auto 0 0;display:block;padding:20px}
.category-card-title{display:block;font-size:clamp(18px,1.45vw,23px);font-weight:500;line-height:1.25;letter-spacing:-.35px;text-wrap:pretty}
.category-card-action{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.5;margin-top:16px;color:#F3E6E2}
.category-card:hover .category-card-title,.category-card:focus-visible .category-card-title{color:#B99075}
.category-card:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.category-image-note{font-size:12px;line-height:1.7;color:var(--secondary);margin:0 0 26px}
@media(prefers-reduced-motion:no-preference){
 .category-card{transition:transform .25s ease,box-shadow .25s ease}
 .category-card>img{transition:transform .5s ease}
 .category-card-title{transition:color .25s ease}
 .category-card:hover,.category-card:focus-visible{transform:translateY(-5px);box-shadow:0 14px 30px #5a33221a}
 .category-card:hover>img,.category-card:focus-visible>img{transform:scale(1.035)}
}
@media(max-width:1100px){.category-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.category-card-title{font-size:24px}}
@media(max-width:700px){.category-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.category-card-title{font-size:22px}.category-card-content{padding:18px}}
@media(max-width:420px){.category-cards{grid-template-columns:1fr}.category-card{aspect-ratio:4/3}.category-card-title{font-size:26px}.category-card-content{padding:24px}.category-card-action{font-size:13px}}
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:25;display:grid;place-items:center;width:52px;height:52px;border:1px solid #B99075;border-radius:50%;background:var(--ink);color:var(--paper);padding:0;box-shadow:0 6px 22px #0002;cursor:pointer}
.back-to-top:hover{background:var(--secondary)}
.back-to-top:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:520px){.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:48px;height:48px}}

/* Bilingual legal information follows the same cream and brown brand palette. */
.legal-header{background:#5A3322;color:#FFFFFF}
.legal-header>.wrap{display:flex;justify-content:space-between;align-items:center;padding-block:16px}
.legal-header img{width:132px;height:132px;object-fit:contain}
.legal-header a:focus-visible{outline-color:#FFFFFF}
.legal-header>.wrap,.legal-content,.legal-footer>.wrap{max-width:850px}
.legal-content{padding-block:64px 96px}
.legal-content .eyebrow{margin-top:48px}
.legal-content h1{font-size:clamp(34px,5vw,54px);margin:16px 0 32px;line-height:1.15;overflow-wrap:anywhere}
.legal-content p{overflow-wrap:anywhere}
.legal-language{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:16px}
.legal-content .legal-updated{font-size:13px;margin:-14px 0 24px;color:#6D4A39}
.legal-intro{font-size:18px;line-height:1.8;max-width:720px}
.legal-toc{padding:28px;margin-block:36px 48px;background:#F6F1EB;border:1px solid var(--line);border-radius:8px}
.legal-toc h2{font-size:20px;letter-spacing:0;margin-bottom:16px}
.legal-toc ol{margin:0;padding-left:22px;columns:2;column-gap:36px}
.legal-toc li{break-inside:avoid;padding:5px 0;font-size:14px}
.legal-section{padding-block:28px;border-top:1px solid var(--line);scroll-margin-top:30px}
.legal-section h2{font-size:clamp(23px,3vw,30px);letter-spacing:-.5px;line-height:1.35;margin-bottom:22px}
.legal-section h2 span{font-size:13px;letter-spacing:1px;color:#8D6753}
.legal-section p,.legal-section li{font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.legal-section ul{padding-left:22px;margin-block:20px}
.legal-section li+li{margin-top:12px}
.legal-links{list-style:none;padding-left:0!important}
.legal-links a:hover,.legal-toc a:hover{color:#8D6753}
.legal-contact{margin-top:32px;padding:32px;background:#F6F1EB;border-radius:8px;border:1px solid var(--line)}
.legal-contact h2{font-size:30px;margin-bottom:18px}
.legal-contact address{font-style:normal;font-size:15px;line-height:2;overflow-wrap:anywhere;margin-top:12px}
footer.legal-footer{display:block;padding-block:32px;background:#E8DED3;border:0;font-size:13px}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;line-height:1.8;margin-top:14px}
.legal-footer a:hover{color:var(--ink)}
.legal-footer :focus-visible{outline-color:var(--ink)}
@media(max-width:600px){.legal-content{padding-block:36px 56px}.legal-toc{padding:22px}.legal-toc ol{columns:1}.legal-contact{padding:24px}.legal-header img{width:104px;height:104px}}

/* Six original photographs, three per view on desktop, with native touch scrolling. */
.gallery-carousel{--gallery-visible:3;--gallery-gap:24px;min-width:0}
.gallery.gallery-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--gallery-visible) - 1)*var(--gallery-gap))/var(--gallery-visible));gap:var(--gallery-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#B99075 #F6F1EB;padding-bottom:12px;border-radius:8px}
.gallery-track:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.gallery.gallery-track figure,.gallery.gallery-track figure:last-child{width:auto;min-width:0;grid-column:auto;justify-self:stretch;margin:0;scroll-snap-align:start;border-radius:8px;overflow:hidden}
.gallery.gallery-track img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#F6F1EB;border-radius:8px}
.gallery-controls{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:18px}
.gallery-arrow{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:0;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:transparent}
.gallery-arrow:hover:not(:disabled){background:var(--ink);color:#fff}
.gallery-arrow:disabled{opacity:.3;cursor:default}
.gallery-count{min-width:80px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:900px){.gallery-carousel{--gallery-visible:2;--gallery-gap:16px}}
@media(max-width:600px){.gallery-carousel{--gallery-visible:1}.gallery-controls{justify-content:center}}
@media(prefers-reduced-motion:no-preference){.gallery-arrow{transition:background-color .2s ease,color .2s ease}}

/* Shared photo treatment applies automatically to all new content images.
   Brand artwork and the edge-to-edge hero retain their original presentation. */
.hero-image,.brand img,.footer-brand img,.legal-header img{border-radius:0}

/* Keep the form preview button visually consistent with the shared button style. */
.inquiry .button:disabled{opacity:1}

/* Founder section and direct inquiry form. */
.about-band{position:relative;isolation:isolate;overflow:hidden;width:100%;background:#DBD9DA;background:radial-gradient(ellipse at 75% 0%,#FAFAFA 0%,#FAFAFA00 72%),linear-gradient(to bottom right,#CAC9C9 0%,#DBD9DA 55%,#D7D3CE 100%)}
.about-band>.about{position:relative;z-index:1;min-height:760px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);padding-block:70px 150px;border-top:0;pointer-events:none}
.about-copy{grid-column:2;min-width:0;pointer-events:auto}
.about-band+.section{border-top:0}
/* One scene, clipped before scrolling; the portrait is anchored inside the
   same content frame as the copy, while only the empty backdrop spans the page. */
.about-scene{position:absolute;inset:auto 0 0;height:min(100%,820px);overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10%);mask-image:linear-gradient(to bottom,transparent,#000 10%)}
.about-stage{position:absolute;inset:-12px 0;width:100%;max-width:none;background:url('assets/cynthia-founder-backdrop.svg?v=51ba6e56ef3b') center/100% 100% no-repeat}
.about-art{position:absolute;inset-block:0;left:50%;width:min(1304px,90.6%);transform:translateX(-50%);overflow:hidden;border-radius:8px;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.about-art img{position:absolute;left:25%;width:auto;height:100%;max-width:none;transform:translateX(-26.6667%);border-radius:8px}
@media(prefers-reduced-motion:no-preference){.about-stage{transform:translate3d(0,var(--portrait-shift,0px),0);will-change:transform}}
@media(min-width:901px) and (max-width:1200px){.about-scene{height:min(100%,68vw)}}
@media(max-width:900px){.about-band{--scene-height:clamp(420px,110vw,600px);background:#E6E4E2}.about-band>.about{display:block;min-height:0;padding-block:50px calc(var(--scene-height) + 36px)}.about-scene{height:var(--scene-height);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10%);mask-image:linear-gradient(to bottom,transparent,#000 10%)}.about-art img{left:50%}.about-copy{position:relative}}
@media(max-width:520px){.about-art{width:calc(100% - 48px)}}
.inquiry .form-trap{display:none}
.form-privacy{font-size:13px;margin-top:16px}
.inquiry[aria-busy="true"] .button{cursor:progress}

/* Consistent hover and keyboard highlighting for accordion headings. */
.category>summary,.faq details>summary{padding-inline:16px;border-radius:8px}
.category>summary:hover,.category>summary:focus-visible,.faq details>summary:hover,.faq details>summary:focus-visible{background:#E8DED3;color:#5A3322}
@media(prefers-reduced-motion:no-preference){.category>summary,.faq details>summary{transition:background-color .18s ease,color .18s ease}}

/* More breathing room between the main sections without altering the founder scene. */
.section{padding-block:clamp(88px,7.6vw,112px)}
.approach{padding-block:124px 112px}
.about-band>.about{padding-block:92px 172px}
.inquiry{scroll-margin-top:40px}
@media(max-width:900px){.section{padding-block:80px}.approach{padding-block:88px 80px}.about-band>.about{padding-block:80px calc(var(--scene-height) + 48px)}}
@media(max-width:520px){.section{padding-block:68px}.approach{padding-block:76px 68px}.about-band>.about{padding-block:68px calc(var(--scene-height) + 40px)}}

/* Subtle photo hover; the original image files and their proportions stay intact. */
.gallery.gallery-track{overflow-anchor:none}
.gallery-track figure{isolation:isolate}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .gallery.gallery-track img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
 .gallery.gallery-track figure:hover img{transform:scale(1.035)}
}
.gallery-toggle[aria-pressed="true"]{background:#F6F1EB}

/* Invitation before contact: original chair portrait with its warm white studio palette. */
.beauty-invitation{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 76% 24%,#FCFCFC 0%,#F4F3F1 70%,#F1F0EE 100%)}
.beauty-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;min-height:640px;padding-block:88px}
.beauty-copy{position:relative;z-index:2;max-width:600px}
.beauty-copy h2{font-size:clamp(44px,5vw,72px);line-height:1.1;letter-spacing:-1.7px;text-wrap:balance}
/* Center the opaque zone on the seated portrait; dissolve the empty gray studio area more broadly. */
.beauty-portrait{position:absolute;right:0;bottom:0;width:min(56%,650px);height:100%;overflow:hidden;border-radius:8px;-webkit-mask-image:radial-gradient(ellipse 44% 110% at 58% 65%,#000 65%,#000000A6 75%,#00000026 88%,transparent 96%);mask-image:radial-gradient(ellipse 44% 110% at 58% 65%,#000 65%,#000000A6 75%,#00000026 88%,transparent 96%)}
.beauty-photo-stage{position:absolute;inset:-24px -4px;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 50% 100%,#000 84%,#00000066 92%,transparent 100%);mask-image:radial-gradient(ellipse 100% 100% at 50% 100%,#000 84%,#00000066 92%,transparent 100%)}
.beauty-photo-stage img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:8px}
.beauty-invitation+.contact{border-top:0}
@media(prefers-reduced-motion:no-preference){
 .beauty-photo-stage{transform:translate3d(0,var(--beauty-photo-shift,0px),0);will-change:transform}
 .beauty-copy{transform:translate3d(0,var(--beauty-copy-shift,0px),0)}
}
@media(max-width:900px) and (min-width:761px){.beauty-inner{min-height:580px;gap:32px}.beauty-copy h2{font-size:44px}}
@media(max-width:760px){
 .beauty-invitation{--beauty-photo-height:clamp(420px,78vw,540px)}
 .beauty-inner{display:block;min-height:0;padding-block:64px calc(var(--beauty-photo-height) + 36px)}
 .beauty-copy{max-width:580px}
 .beauty-copy h2{font-size:clamp(36px,7vw,52px);letter-spacing:-1px;max-width:18ch}
 .beauty-portrait{right:50%;transform:translateX(50%);width:min(100%,520px);height:var(--beauty-photo-height)}
}
@media(max-width:520px){.beauty-inner{padding-top:54px}.beauty-copy h2{font-size:clamp(32px,8.5vw,44px)}}
