/* Interlock / architectural collection. Native CSS + a small interaction layer. */
:root { --atelier-accent:#bce8ff; --atelier-dark:#111820; --atelier-white:#f6f8fa; --interlock-brand-width:144px; --interlock-header-height:96px; --interlock-header-gutter:3.3vw; }
body.atelier-theme { background:var(--atelier-white); --color-button:#125c91; --color-link:#175a85; --color-ink:#172330; --color-page-bg:var(--atelier-white); }
.atelier-theme :focus-visible { outline:2px solid #3c97d1; outline-offset:5px; }
.atelier-header { position:sticky; top:0; z-index:110; height:var(--interlock-header-height); padding:0 var(--interlock-header-gutter); display:flex; align-items:center; justify-content:space-between; gap:32px; background:var(--atelier-dark); color:white; }
.atelier-header::after { content:''; position:absolute; bottom:0; left:0; width:100%; transform:scaleX(var(--atelier-progress,0)); transform-origin:left; height:2px; background:var(--atelier-accent); }
.atelier-logo { flex-shrink:0; }
.atelier-logo img { width:var(--interlock-brand-width); height:auto; display:block; }
.atelier-header a { color:inherit; text-decoration:none; }
.atelier-nav,.atelier-actions { display:flex; align-items:center; gap:36px; }
.atelier-header button { font:inherit; color:inherit; cursor:pointer; border:0; background:none; }
.atelier-nav a,.atelier-nav button { padding:15px 0; font-size:14px; position:relative; }
.atelier-nav a::after,.atelier-nav button::after { content:''; position:absolute; left:0; bottom:5px; height:1px; width:100%; background:var(--atelier-accent); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.atelier-nav a:hover::after,.atelier-nav button:hover::after { transform:scaleX(1); }
.atelier-nav span { margin-left:10px; color:var(--atelier-accent); }
.atelier-quote { border-bottom:1px solid #778591; padding:13px 0; font-size:14px; }
.atelier-quote span { margin-left:24px; color:var(--atelier-accent); }
.atelier-menu-button { display:flex; align-items:center; gap:17px; min-height:48px; }
.atelier-menu-button i { width:24px; display:grid; gap:6px; }
.atelier-menu-button b { height:1px; background:currentColor; transition:transform .3s; }
.atelier-menu-button:hover b:first-child { transform:translateX(4px); }
.atelier-menu-button:hover b:last-child { transform:translateX(-4px); }
.atelier-menu-open { overflow:hidden; }
.atelier-dialog { color:var(--atelier-white); background:var(--atelier-dark); width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0 var(--interlock-header-gutter); border:0; overflow:auto; }
.atelier-dialog[open] { animation:menu-enter .2s ease-out; }
.atelier-dialog::backdrop { background:#111820a6; }
.atelier-dialog button { color:inherit; font:inherit; cursor:pointer; }
.atelier-dialog a { color:inherit; text-decoration:none; }
.atelier-dialog-top { height:var(--interlock-header-height); display:flex; justify-content:space-between; align-items:center; box-shadow:inset 0 -1px #3d4b58; gap:24px; }
.atelier-dialog-top>a { display:flex; align-items:center; flex-shrink:0; }
.atelier-dialog-top img { width:var(--interlock-brand-width); height:auto; display:block; }
.atelier-dialog-top>span { font-size:13px; color:#bdc9d2; }
.atelier-dialog-top button { display:flex; align-items:center; gap:24px; background:none; border:0; padding:12px; }
.atelier-dialog-top button span { font-size:36px; font-weight:200; }
.atelier-menu-body { display:grid; grid-template-columns:1.3fr 1fr; gap:7vw; padding:40px 0; }
.atelier-menu-tabs { display:flex; gap:28px; margin-bottom:28px; }
.atelier-menu-tabs button { background:none; border:0; border-bottom:1px solid transparent; padding:12px 0; font-size:13px; color:#aebdca; }
.atelier-menu-tabs button[aria-selected=true] { color:var(--atelier-accent); border-color:var(--atelier-accent); }
.atelier-link-panel[hidden] { display:none; }
.atelier-link-panel>a { display:flex; align-items:center; gap:18px; border-bottom:1px solid #354452; font-size:clamp(24px,3vw,48px); letter-spacing:-.05em; font-weight:400; line-height:1.2; padding:14px 0; transition:color .2s; }
.atelier-link-panel>a small { font-size:11px; color:#a8b7c4; letter-spacing:0; align-self:flex-start; margin-top:9px; }
.atelier-link-panel>a>span { margin-left:auto; font-size:25px; color:var(--atelier-accent); opacity:0; transform:translate(-10px,10px); transition:opacity .2s,transform .3s; }
.atelier-link-panel>a:hover,.atelier-link-panel>a:focus-visible { color:var(--atelier-accent); }
.atelier-link-panel>a:hover>span,.atelier-link-panel>a:focus-visible>span { opacity:1; transform:none; }
.atelier-minor { display:flex; flex-wrap:wrap; gap:16px 26px; padding-top:24px; font-size:13px; color:#c1cdd7; }
.atelier-minor a:hover { color:var(--atelier-accent); }
.atelier-menu-image { position:relative; margin:0; min-height:430px; overflow:hidden; background:#20384b; }
.atelier-menu-image::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 40%,#101820d9); pointer-events:none; }
.atelier-menu-image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.atelier-menu-image figcaption { position:absolute; bottom:30px; left:30px; right:30px; z-index:1; display:grid; gap:20px; }
.atelier-menu-image figcaption span { font-size:clamp(28px,3vw,46px); line-height:1.1; letter-spacing:-.04em; }
.atelier-menu-image figcaption a { font-size:13px; color:var(--atelier-accent); }
.atelier-image-label { position:absolute; top:24px; left:26px; z-index:1; font-size:10px; letter-spacing:.15em; color:white; background:#111820d9; padding:9px 12px; }
.atelier-menu-footer { display:flex; justify-content:space-between; align-items:end; gap:40px; border-top:1px solid #3d4b58; padding:26px 0 32px; font-size:12px; color:#bdc9d2; }
.atelier-menu-footer form { flex-basis:40%; }
.atelier-menu-footer form>div { display:flex; border-bottom:1px solid #6e8495; margin-top:12px; }
.atelier-menu-footer input { width:100%; background:transparent; border:0; color:white; font:inherit; font-size:20px; padding:10px 0; border-radius:0; }
.atelier-menu-footer input::placeholder { color:#a9bdca; }
.atelier-menu-footer form button { background:none; border:0; font-size:28px; padding:4px 18px; color:var(--atelier-accent); }
.atelier-menu-footer strong { display:block; color:white; font-size:23px; font-weight:400; margin-top:10px; }
.atelier-nojs { display:flex; gap:25px; padding:20px; }
/* The house is the stage; type and navigation occupy an architectural grid. */
.arch-hero { position:relative; min-height:720px; height:calc(100svh - 96px); max-height:1100px; background:#243341; color:var(--atelier-white); overflow:hidden; }
.arch-image-wrap { position:absolute; inset:0; overflow:hidden; }
.arch-image-wrap > picture { display:block; width:100%; height:100%; }
.arch-image { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 61%; animation:house-enter 1.6s cubic-bezier(.2,.8,.2,1) both; }
.arch-image-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#091521d4 0%,#09152165 42%,#09152108 64%,#091521eb 100%),linear-gradient(90deg,#08152360,transparent 70%); }
.arch-grid { position:absolute; inset:0 3.3vw; display:grid; grid-template-columns:repeat(3,1fr); pointer-events:none; opacity:.14; }
.arch-grid i { border-left:1px solid #d6e6f1; }
.arch-grid i:last-child { border-right:1px solid #d6e6f1; }
.arch-topline { position:relative; display:flex; justify-content:space-between; padding:28px 3.3vw; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.arch-headline { position:relative; padding:12px 3.3vw 0; }
:root body.atelier-theme .arch-headline h1 { font-size:clamp(62px,8.9vw,154px); font-weight:450; line-height:.98; letter-spacing:-.068em; margin:0; color:white; max-width:1200px; text-wrap:nowrap; }
.arch-headline h1>span { display:block; animation:type-enter .9s cubic-bezier(.2,.8,.2,1) both; }
.arch-headline h1>span:nth-child(2) { animation-delay:.13s; }
.arch-headline h1 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.075em; color:var(--atelier-accent); }
.arch-intro { display:flex; align-items:center; gap:28px; margin-top:32px; animation:type-enter 1s .25s both; }
.arch-intro p { font-size:15px; line-height:1.6; margin:0; color:#e0eaf2; }
.arch-round { display:grid; place-items:center; width:54px; height:54px; border:1px solid #bed6e680; border-radius:50%; color:white; font-size:24px; text-decoration:none; transition:background .3s,transform .3s; }
.arch-round:hover { background:var(--atelier-accent); color:var(--atelier-dark); transform:rotate(45deg); }
.arch-bottom { position:absolute; bottom:75px; left:3.3vw; right:3.3vw; display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:24px; }
.arch-coordinate { font-size:11px; color:#e0eaf2; display:flex; align-items:center; gap:10px; padding-bottom:15px; }
.arch-pulse { width:6px; height:6px; background:var(--atelier-accent); border-radius:50%; box-shadow:0 0 0 5px #bce8ff17; }
.arch-project { color:white; text-decoration:none; font-size:12px; display:grid; gap:9px; }
.arch-project>span { color:#c5d4df; font-size:11px; }
.arch-project strong { font-weight:400; }
.arch-project b { margin-left:14px; color:var(--atelier-accent); }
.arch-cta { display:flex; align-items:center; gap:35px; background:var(--atelier-accent); color:var(--atelier-dark); text-decoration:none; padding:20px 26px; font-size:14px; transition:background .2s,transform .3s; }
.arch-cta:hover { background:#daf2ff; transform:translateY(-4px); }
.arch-cta span { font-size:22px; }
.arch-scroll { position:absolute; bottom:0; left:3.3vw; right:3.3vw; border-top:1px solid #d6e6f150; padding:16px 0; color:#e0eaf2; text-decoration:none; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.arch-scroll span { margin-right:20px; }
/* A slower editorial rhythm after the immersive opening. */
:root body.atelier-theme .home-intro { max-width:none; padding:100px 6vw; grid-template-columns:1fr 2fr; gap:9vw; border-bottom:1px solid #d4dee6; }
:root body.atelier-theme .home-intro .home-answer { font-size:clamp(20px,2.15vw,34px); color:#243747; font-weight:400; line-height:1.4; letter-spacing:-.035em; }
:root body.atelier-theme .home-eyebrow { color:#395970; font-size:11px; letter-spacing:.1em; }
:root body.atelier-theme .home-body-inner { max-width:none; padding:0 6vw; }
:root body.atelier-theme .home-sec { margin-top:110px; }
:root body.atelier-theme .home-sec h2 { font-size:clamp(32px,4.3vw,68px); letter-spacing:-.05em; line-height:1.07; max-width:22ch; }
:root body.atelier-theme .home-lead { max-width:70ch; line-height:1.7; color:#526778; }
:root body.atelier-theme .home-products { display:flex; gap:10px; height:530px; counter-reset:collection; }
:root body.atelier-theme .home-products>li { flex:1; min-width:0; position:relative; transition:transform .3s ease; overflow:hidden; background:#1c2c3a; }
:root body.atelier-theme .home-products>li.is-featured { flex:3.6; }
:root body.atelier-theme .home-products a { height:100%; position:relative; display:block; overflow:hidden; }
:root body.atelier-theme .home-products a::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 35%,#0c1823db); pointer-events:none; }
:root body.atelier-theme .home-products img { width:100%; height:100%; border-radius:0; object-fit:cover; transition:transform .9s; }
:root body.atelier-theme .home-products a:hover img { transform:scale(1.05); }
:root body.atelier-theme .home-products span { position:absolute; z-index:1; left:23px; bottom:45px; color:white; padding:0; font-size:clamp(20px,2.3vw,34px); writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; transition:opacity .3s; }
:root body.atelier-theme .home-products .is-featured span { writing-mode:horizontal-tb; transform:none; bottom:60px; }
:root body.atelier-theme .home-prod-line { position:absolute; z-index:1; bottom:25px; left:23px; right:20px; opacity:0; color:#e0ebf3; font-size:12px; transform:translateY(10px); transition:opacity .3s .2s,transform .3s .2s; padding:0; }
:root body.atelier-theme .is-featured .home-prod-line { opacity:1; transform:none; }
:root body.atelier-theme .home-products>li::before { content:attr(data-number); position:absolute; z-index:2; top:20px; left:22px; color:white; font-size:12px; }
:root body.atelier-theme .home-products a:hover span { color:var(--atelier-accent); text-decoration:none; }
:root body.atelier-theme .home-trust { background:#e8eff5; padding:34px 6vw; }
:root body.atelier-theme .home-trust a,:root body.atelier-theme .home-trust span { color:#3d5365; }
:root body.atelier-theme .home-trust strong { color:#172a3a; }
:root body.atelier-theme .home-climate { background:#142434; color:white; padding:65px 6vw; }
:root body.atelier-theme .home-climate-inner { padding:0; max-width:none; }
:root body.atelier-theme .home-climate h2 { color:#fff; max-width:34ch; font-size:clamp(28px,3vw,45px); }
:root body.atelier-theme .home-chip { border-color:#586f83; color:#e2edf6; border-radius:0; background:transparent; }
:root body.atelier-theme .home-chip.is-on { background:var(--atelier-accent); color:#142434; border-color:var(--atelier-accent); }
:root body.atelier-theme .home-climate-panel { color:#ccdeeb; }
:root body.atelier-theme .home-climate-panel strong { color:var(--atelier-accent); }
:root body.atelier-theme .home-climate-panel a { color:#e0f2ff; }
:root body.atelier-theme .home-stats { background:transparent; border:0; gap:0; }
:root body.atelier-theme .home-stats li { background:transparent; border-top:1px solid #9dafbd; padding:32px 24px 40px 0; }
:root body.atelier-theme .home-stats strong { font-size:30px; color:#233b50; }
:root body.atelier-theme .home-projects { gap:24px; }
:root body.atelier-theme .home-projects img { border-radius:0; aspect-ratio:4/5; object-fit:cover; }
:root body.atelier-theme .home-reviews li { border-top-color:#658dab; background:#eaf1f6; }
:root body.atelier-theme .home-hubs a { border-radius:0; }
:root body.atelier-theme .home-quote-section { background:#bce8ff; max-width:none; padding:90px 6vw; gap:8vw; }
:root body.atelier-theme .home-quote-intro h2 { font-size:clamp(45px,6vw,92px); letter-spacing:-.065em; }
:root body.atelier-theme .home-nap { background:#14212d; }
:root body.atelier-theme .home-nap h2 { color:#e7f2fa; }
:root body.atelier-theme .home-body { padding-bottom:100px; }
:root body.atelier-theme .home-sticky { background:#142434; }
.atelier-reveal { opacity:1; }
.atelier-reveal.atelier-in { animation:section-enter .8s cubic-bezier(.2,.8,.2,1) both; }
@keyframes section-enter { from { transform:translateY(26px); } to { transform:none; } }
@keyframes type-enter { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:none; } }
@keyframes house-enter { from { transform:scale(1.07); } to { transform:scale(1); } }
@keyframes menu-enter { from { opacity:0; } to { opacity:1; } }
@media(min-width:901px) { .atelier-dialog .atelier-menu-content { min-height:460px; } }
@media(max-width:1100px) { .atelier-nav { gap:20px; } .atelier-actions { gap:24px; } .atelier-quote { display:none; } .arch-hero { min-height:700px; } .atelier-menu-body { gap:4vw; } }
@media(max-width:760px) {
 :root { --interlock-brand-width:125px; --interlock-header-height:80px; --interlock-header-gutter:22px; }
 .atelier-header,.atelier-dialog-top { height:80px; padding-left:0; padding-right:0; }.atelier-header { padding:0 22px; }.atelier-logo img,.atelier-dialog-top img { width:125px; }.atelier-nav { display:none; }.atelier-dialog { padding:0 22px; }.atelier-dialog-top>span { display:none; }.atelier-menu-body { display:block; padding:18px 0 28px; }.atelier-menu-image { display:none; }.atelier-menu-tabs { gap:22px; margin-bottom:16px; }.atelier-menu-tabs button { font-size:11px; }.atelier-link-panel>a { font-size:32px; padding:18px 0; }.atelier-link-panel>a>span { opacity:1; transform:none; }.atelier-menu-footer { display:grid; gap:26px; }.atelier-menu-footer>span { display:none; }
 .arch-hero { height:calc(100svh - 80px); min-height:700px; max-height:950px; }.arch-topline { padding:22px; font-size:9px; }.arch-topline>span:last-child { display:none; }.arch-headline { padding:35px 22px 0; }:root body.atelier-theme .arch-headline h1 { font-size:clamp(36px,10.5vw,79px); line-height:1.06; letter-spacing:-.06em; }.arch-intro { margin-top:25px; gap:25px; }.arch-intro p { font-size:13px; }.arch-round { width:45px; height:45px; }.arch-image { object-position:60% 50%; }.arch-bottom { left:22px; right:22px; bottom:70px; grid-template-columns:1fr; gap:17px; }.arch-coordinate { display:none; }.arch-project { font-size:11px; }.arch-project>span { display:none; }.arch-cta { justify-content:space-between; padding:18px 22px; }.arch-scroll { left:22px; right:22px; }.arch-grid { inset:0 22px; }
 :root body.atelier-theme .home-intro { padding:55px 24px; grid-template-columns:1fr; gap:25px; }:root body.atelier-theme .home-body-inner { padding:0 24px; }:root body.atelier-theme .home-sec { margin-top:70px; }:root body.atelier-theme .home-sec h2 { font-size:38px; }:root body.atelier-theme .home-products { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; height:430px; padding-bottom:12px; }:root body.atelier-theme .home-products>li,:root body.atelier-theme .home-products>li.is-featured { flex:0 0 83%; scroll-snap-align:start; }:root body.atelier-theme .home-products span { writing-mode:horizontal-tb; transform:none; bottom:70px; font-size:28px; }:root body.atelier-theme .home-products .is-featured span { bottom:70px; }:root body.atelier-theme .home-prod-line { opacity:1; transform:none; bottom:25px; }:root body.atelier-theme .home-climate { padding:45px 24px; }:root body.atelier-theme .home-climate h2 { font-size:28px; }:root body.atelier-theme .home-trust { padding:30px 24px; }:root body.atelier-theme .home-quote-section { padding:60px 24px; }:root body.atelier-theme .home-projects img { aspect-ratio:4/3; }
}
@media(prefers-reduced-motion:reduce) { .atelier-theme *, .atelier-theme *::before, .atelier-theme *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.atelier-reveal { opacity:1; transform:none; } }

/* Anchor targets clear the stable navigation at every breakpoint. */
.atelier-theme #roof-styles,.atelier-theme #request-quote { scroll-margin-top:112px; }
@media(max-width:760px){.atelier-theme #roof-styles,.atelier-theme #request-quote{scroll-margin-top:96px;}}

:root body.atelier-theme .pr { --pr-navy:#142434; --pr-sky-band:#eaf1f6; --pr-sky:#eaf1f6; --pr-eyebrow:#175a85; }
:root body.atelier-theme .pr-btn.pr-btn-gold { background:#bce8ff; color:#142434; border-radius:0; }
:root body.atelier-theme .site-footer { background:#111820; }
:root body.atelier-theme .home-btn { background:#125c91; color:white; border-radius:0; }
@media(max-width:760px) {
 :root body.atelier-theme:has(.arch-hero) .a11y-fab { left:auto; right:16px; bottom:16px!important; width:44px; height:44px; background:#125c91; }
 :root body.atelier-theme:has(.home-sticky.is-on) .a11y-fab { bottom:84px!important; }
}

/* Obsidian + glacier blue: ice accents, deep-blue primary actions. */
.arch-cta { background:#125c91; color:#fff; }
.arch-cta:hover { background:#0c4874; }
:root body.atelier-theme .pr-btn.pr-btn-gold { background:#125c91; color:#fff; }
:root body.atelier-theme .home-quote-section { background:#dceef9; }

/* Keep the dedicated Projects experience in primary navigation on every screen. */
.atelier-projects-mobile { display:none; }
@media(max-width:760px) { .atelier-projects-mobile { display:block; font-size:13px; white-space:nowrap; } .atelier-actions { gap:20px; } }
@media(max-width:400px) { .atelier-menu-button>span { display:none; } .atelier-header { gap:16px; } .atelier-menu-button { min-width:44px; justify-content:center; } }

/* Preserve contrast for links inserted by the post-build glossary pass. */
.arch-topline a, .arch-intro p a { color: inherit; text-decoration-color: currentColor; }

/* Readability: paired surfaces and stronger specificity than the legacy refresh layer. */
:root body.refresh-theme.atelier-theme { font-size:18px; line-height:1.65; --color-text-soft:#334b5b; --color-muted-2:#42596a; }
:root body.refresh-theme.atelier-theme .home-climate { background:#eaf1f6; color:#172330; }
:root body.refresh-theme.atelier-theme .home-climate h2 { color:#172330; font-size:clamp(28px,3vw,44px); line-height:1.25; letter-spacing:-.025em; }
:root body.refresh-theme.atelier-theme .home-climate-panel,
:root body.refresh-theme.atelier-theme .home-climate-panel p { color:#334b5b; font-size:18px; line-height:1.7; }
:root body.refresh-theme.atelier-theme .home-climate-panel strong { color:#125c91; font-size:30px; line-height:1.3; }
:root body.refresh-theme.atelier-theme .home-climate-panel a { color:#125c91; text-decoration:underline; text-underline-offset:4px; }
:root body.refresh-theme.atelier-theme .home-chip { font-size:17px; min-height:48px; padding:12px 18px; color:#243b44; border-color:#637d8e; }
:root body.refresh-theme.atelier-theme .home-chip.is-on { background:#142434; color:#fff; border-color:#142434; }
:root body.refresh-theme.atelier-theme .home-chip:hover { background:#d4e3ee; color:#142434; }
:root body.refresh-theme.atelier-theme .home-trust { background:#142434; color:#fff; }
:root body.refresh-theme.atelier-theme .home-trust a,
:root body.refresh-theme.atelier-theme .home-trust strong { color:#fff; }
:root body.refresh-theme.atelier-theme .home-trust strong { font-size:20px; line-height:1.4; }
:root body.refresh-theme.atelier-theme .home-trust span { color:#dce8f1; font-size:16px; line-height:1.5; }
:root body.refresh-theme.atelier-theme .home-trust ul { gap:28px; }
:root body.refresh-theme.atelier-theme .home-intro .home-answer,
:root body.refresh-theme.atelier-theme .home-lead,
:root body.refresh-theme.atelier-theme .home-steps p,
:root body.refresh-theme.atelier-theme .home-stats p,
:root body.refresh-theme.atelier-theme .home-quote-intro > p:not(.home-eyebrow) { font-size:18px; line-height:1.75; color:#334b5b; letter-spacing:normal; }
:root body.refresh-theme.atelier-theme .home-intro a { color:#125c91; text-decoration:underline; text-underline-offset:3px; }
:root body.refresh-theme.atelier-theme .home-eyebrow { font-size:15px; color:#175a85; line-height:1.6; letter-spacing:.08em; }
:root body.refresh-theme.atelier-theme .home-rev-meta,
:root body.refresh-theme.atelier-theme .home-stat-src,
:root body.refresh-theme.atelier-theme .home-ev-meta,
:root body.refresh-theme.atelier-theme .home-ev-venue,
:root body.refresh-theme.atelier-theme .home-vid-loc,
:root body.refresh-theme.atelier-theme .home-hubs span { font-size:16px; color:#42596a; line-height:1.6; }
:root body.refresh-theme.atelier-theme .home-ev-month,
:root body.refresh-theme.atelier-theme .home-ev-year { font-size:15px; opacity:1; }
:root body.refresh-theme.atelier-theme .home-btn { font-size:18px; min-height:48px; }
:root body.refresh-theme.atelier-theme .home-nap p { font-size:18px; color:#e0ebf3; }
:root body.refresh-theme.atelier-theme .home-nap-note { font-size:16px; color:#dce8f1; }
:root body.refresh-theme.atelier-theme .site-footer .f-col-h,
:root body.refresh-theme.atelier-theme .site-footer .f-col a { font-size:16px; line-height:1.6; }
.atelier-theme .atelier-nav a,.atelier-theme .atelier-nav button,
.atelier-theme .atelier-quote,.atelier-theme .atelier-projects-mobile { font-size:17px; }
.atelier-theme .atelier-menu-tabs button { font-size:17px; min-height:48px; }
.atelier-theme .atelier-minor,.atelier-theme .atelier-menu-footer,
.atelier-theme .atelier-dialog-top>span,.atelier-theme .atelier-menu-image figcaption a { font-size:16px; }
.atelier-theme .atelier-link-panel>a small { font-size:15px; }
.atelier-theme .arch-intro p { font-size:18px; line-height:1.65; color:#fff; }
.atelier-theme .arch-topline,.atelier-theme .arch-coordinate,
.atelier-theme .arch-project,.atelier-theme .arch-project>span,
.atelier-theme .arch-scroll { font-size:15px; color:#fff; }
.atelier-theme .arch-cta { font-size:18px; }
:root body.refresh-theme.atelier-theme .home-prod-line { font-size:16px; line-height:1.5; color:#fff; }
:root body.refresh-theme.atelier-theme .project-ready .home-proj-loc { font-size:17px; }
.atelier-theme .project-map-link { font-size:17px; }
.atelier-theme .project-selector button { font-size:16px; }
.atelier-theme :focus-visible { outline:3px solid #237cb3; outline-offset:4px; }
.atelier-theme .atelier-header :focus-visible,.atelier-theme .atelier-dialog :focus-visible { outline-color:#bce8ff; }
@media(max-width:1100px) { .atelier-theme .atelier-nav { gap:20px; } .atelier-theme .atelier-quote { display:none; } }
@media(max-width:760px) {
 .atelier-theme .arch-hero { height:auto; min-height:820px; max-height:none; }
 .atelier-theme .arch-headline { padding-top:24px; }
 .atelier-theme .arch-intro { margin-top:24px; }
 .atelier-theme .atelier-menu-tabs { flex-wrap:wrap; gap:8px 20px; }
 :root body.refresh-theme.atelier-theme .home-climate-panel { grid-template-columns:1fr; }
 :root body.refresh-theme.atelier-theme .home-trust ul { gap:28px 16px; }
}
/* Product names and descriptions stay horizontal and visible without hover. */
:root body.refresh-theme.atelier-theme .home-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; height:auto; overflow:visible; }
:root body.refresh-theme.atelier-theme .home-products>li { background:#142434; }
:root body.refresh-theme.atelier-theme .home-products a { display:flex; flex-direction:column; height:100%; background:#142434; color:#fff; }
:root body.refresh-theme.atelier-theme .home-products a::after { display:none; }
:root body.refresh-theme.atelier-theme .home-products img { height:260px; border-radius:0; }
:root body.refresh-theme.atelier-theme .home-products span { position:static; writing-mode:horizontal-tb; transform:none; white-space:normal; color:#fff; font-size:24px; line-height:1.3; padding:20px 20px 10px; }
:root body.refresh-theme.atelier-theme .home-prod-line { position:static; opacity:1; transform:none; padding:0 20px 24px; color:#e0ebf3; }
:root body.refresh-theme.atelier-theme .home-products>li::before { font-size:16px; background:#142434; padding:3px 8px; }
@media(max-width:900px) { :root body.refresh-theme.atelier-theme .home-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) { :root body.refresh-theme.atelier-theme .home-products { grid-template-columns:1fr; } }

/* Full-viewport hero: navigation + hero fill the visible browser height.
   Keep controls in normal flow so enlarged text and short screens can scroll. */
:root body.atelier-theme .arch-hero {
 display:flex; flex-direction:column;
 height:calc(100svh - 96px); min-height:0; max-height:none;
}
:root body.atelier-theme .arch-topline { flex-shrink:0; }
:root body.atelier-theme .arch-headline { flex-shrink:0; }
:root body.atelier-theme .arch-bottom {
 position:relative; left:auto; right:auto; bottom:auto;
 margin: auto 3.3vw 0; padding:28px 0 24px; flex-shrink:0;
}
:root body.atelier-theme .arch-scroll {
 position:relative; left:auto; right:auto; bottom:auto;
 margin:0 3.3vw; flex-shrink:0;
}
@media(max-width:760px) {
 :root body.atelier-theme .arch-hero { height:calc(100svh - 80px); min-height:0; max-height:none; }
 :root body.atelier-theme .arch-bottom { margin-left:22px; margin-right:22px; padding-top:28px; padding-bottom:20px; }
 :root body.atelier-theme .arch-scroll { margin-left:22px; margin-right:22px; }
}
@media(max-height:650px) {
 :root body.atelier-theme .arch-hero { height:auto; min-height:calc(100svh - 96px); }
}
@media(max-height:650px) and (max-width:760px) {
 :root body.atelier-theme .arch-hero { min-height:calc(100svh - 80px); }
}

/* Full-width homepage consultation band and accessible form frame. */
:root body.refresh-theme.atelier-theme #request-quote {
 width:100%; max-width:none; margin:0; box-sizing:border-box;
 padding:96px max(24px,calc((100% - 1320px)/2));
 display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); align-items:start;
 background:radial-gradient(ellipse at 90% 10%,#e5f6ff 0,transparent 52%),linear-gradient(120deg,#b8def5,#d0ebfc 60%,#b6dcf3);
 color:#152f40;
}
:root body.refresh-theme.atelier-theme #request-quote .home-quote-intro h2 {color:#152f40;}
:root body.refresh-theme.atelier-theme #request-quote .home-quote-embed {
 position:relative; width:100%; max-width:none; min-width:0; box-sizing:border-box;
 padding:18px; border:2px solid transparent; border-radius:22px;
 background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#fff 0%,#80c9ee 28%,#1d6d9c 60%,#d4f1ff 85%,#fff 100%) border-box;
 box-shadow:0 24px 64px -30px #143e6466,0 3px 12px #16486614;
 transition:box-shadow .25s ease,border-color .25s ease;
}
:root body.refresh-theme.atelier-theme #request-quote .home-quote-embed::before {
 content:''; position:absolute; top:-2px; left:32px; width:88px; height:4px; border-radius:4px;
 background:#17648e; pointer-events:none;
}
:root body.refresh-theme.atelier-theme #request-quote .home-quote-embed:focus-within {
 border-color:#17648e; box-shadow:0 0 0 4px #fff9,0 24px 64px -30px #143e6480;
}
:root body.refresh-theme.atelier-theme #request-quote .home-quote-embed iframe {display:block; width:100%; border:0; border-radius:10px;}
@media(max-width:900px) {
 :root body.refresh-theme.atelier-theme #request-quote {grid-template-columns:minmax(0,1fr); padding:64px 24px; gap:32px;}
}
@media(max-width:580px) {
 :root body.refresh-theme.atelier-theme #request-quote {padding:52px 18px;}
 :root body.refresh-theme.atelier-theme #request-quote .home-quote-embed {padding:8px; border-radius:16px;}
}
@media(prefers-reduced-motion:reduce) {
 :root body.refresh-theme.atelier-theme #request-quote .home-quote-embed {transition:none;}
}
/* Homepage chapters — one width, three surfaces, consistent reading rhythm. */
:root body.refresh-theme.atelier-theme .home-chapters{padding:0;background:#fff;--chapter-gutter:max(24px,min(6vw,84px),calc((100% - 1320px)/2))}
:root body.refresh-theme.atelier-theme .home-chapters .home-body-inner{max-width:none;padding:0;margin:0}
:root body.refresh-theme.atelier-theme .home-chapters .home-sec{margin:0;padding:96px var(--chapter-gutter);border:0;box-sizing:border-box}
:root body.refresh-theme.atelier-theme .home-chapters h2{font-size:clamp(34px,3.7vw,56px);line-height:1.12;letter-spacing:-.045em;color:#142e3c;margin:0 0 24px;max-width:25ch;text-wrap:balance}
:root body.refresh-theme.atelier-theme .home-chapters .home-eyebrow{font-size:14px;line-height:1.5;font-weight:650;letter-spacing:.12em;color:#216586;margin:0 0 20px}
:root body.refresh-theme.atelier-theme .home-chapters .home-lead{font-size:20px;line-height:1.65;color:#425c6b;max-width:64ch;margin:0 0 36px}
:root body.refresh-theme.atelier-theme .home-chapters a{text-underline-offset:5px}
:root body.refresh-theme.atelier-theme .home-chapters .home-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;height:auto;overflow:visible}
:root body.refresh-theme.atelier-theme .home-chapters .home-products>li{border-radius:12px;overflow:hidden;background:#142e3c;min-width:0}
:root body.refresh-theme.atelier-theme .home-chapters .home-products a{height:100%;background:#142e3c;text-decoration:none;display:flex;flex-direction:column}
:root body.refresh-theme.atelier-theme .home-chapters .home-products a::after,:root body.refresh-theme.atelier-theme .home-chapters .home-products>li::before{display:none}
:root body.refresh-theme.atelier-theme .home-chapters .home-products img{aspect-ratio:3/2;height:auto;width:100%;border-radius:0;object-fit:cover}
:root body.refresh-theme.atelier-theme .home-chapters .home-products span{position:static;writing-mode:horizontal-tb;transform:none;white-space:normal;padding:24px 24px 8px;color:#fff;font-size:26px;line-height:1.2}
:root body.refresh-theme.atelier-theme .home-chapters .home-products .home-prod-line{position:static;opacity:1;transform:none;color:#dceaf1;font-size:17px;line-height:1.5;padding:0 24px 26px}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-process{background:#eaf3f8;border-block:1px solid #d3e1e9}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:48px 0 0}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps li{background:transparent;border:0;border-top:1px solid #9cb6c6;padding:24px 0 0;border-radius:0}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps li::before{content:'0' counter(step);background:none;color:#246789;width:auto;height:auto;text-align:left;font-size:36px;font-weight:400;line-height:1;margin:0 0 26px;border-radius:0}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps strong{font-size:23px;line-height:1.3;margin-bottom:14px;color:#142e3c}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps p{font-size:18px;line-height:1.65;color:#425c6b}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-evidence{background:#10232f;color:#fff}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-evidence h2,:root body.refresh-theme.atelier-theme .home-chapters .chapter-evidence h2 a{color:#fff}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-evidence .home-eyebrow{color:#bce8ff}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-evidence .home-lead{color:#d2e0e9}
:root body.refresh-theme.atelier-theme .home-chapters .home-stats{background:none;border:0;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));margin:48px 0 0}
:root body.refresh-theme.atelier-theme .home-chapters .home-stats li{background:none;border:0;border-top:1px solid #4a606e;padding:30px 32px 30px 0;display:flex;flex-direction:column}
:root body.refresh-theme.atelier-theme .home-chapters .home-stats strong{font-size:28px;line-height:1.2;color:#d4efff;font-weight:500}
:root body.refresh-theme.atelier-theme .home-chapters .home-stats p{color:#d2e0e9;font-size:18px;line-height:1.65;margin:18px 0 24px;flex:1}
:root body.refresh-theme.atelier-theme .home-chapters .home-stat-src{font-size:15px;text-transform:none;letter-spacing:0}
:root body.refresh-theme.atelier-theme .home-chapters .home-stat-src a{color:#c0e8ff;border-color:#688899;display:inline-block;padding:8px 0}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-media{background:#f1f5f7;padding:88px var(--chapter-gutter)}
:root body.refresh-theme.atelier-theme .home-chapters .tv-feature{margin:0;border-radius:16px}
:root body.refresh-theme.atelier-theme .home-chapters .tv-feature h2{color:#fff;font-size:clamp(32px,3vw,44px)}
:root body.refresh-theme.atelier-theme .home-chapters .hv-sec{padding:64px 0 0;margin:0}
:root body.refresh-theme.atelier-theme .home-chapters .hv-sec h2{font-size:clamp(30px,3vw,42px);max-width:30ch}
:root body.refresh-theme.atelier-theme .home-chapters .hv-sec>p{font-size:19px;line-height:1.65;color:#425c6b}
:root body.refresh-theme.atelier-theme .home-chapters .hv-thumb{border-radius:12px;overflow:hidden}
:root body.refresh-theme.atelier-theme .home-chapters .hv-title{font-size:19px;line-height:1.45;color:#142e3c;padding-top:18px}
:root body.refresh-theme.atelier-theme .home-chapters .cinematic-projects.project-ready .home-projects{height:clamp(380px,42vw,580px);border-radius:16px}
:root body.refresh-theme.atelier-theme .home-chapters .project-ready .home-projects img{object-position:center 58%}
:root body.refresh-theme.atelier-theme .home-chapters .project-console{padding-top:24px;gap:20px;flex-wrap:wrap}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-reviews{background:#eaf3f8}
:root body.refresh-theme.atelier-theme .home-chapters .home-reviews{grid-template-columns:1.25fr 1fr;gap:0 40px}
:root body.refresh-theme.atelier-theme .home-chapters .home-reviews li{background:transparent;border:0;border-top:1px solid #adc2cf;padding:28px 0}
:root body.refresh-theme.atelier-theme .home-chapters .home-reviews li:first-child{grid-row:span 2;padding:36px;background:#fff;border:1px solid #d0dfe8;border-radius:14px}
:root body.refresh-theme.atelier-theme .home-chapters .home-rev-body{font-size:19px;line-height:1.65;color:#142e3c}
:root body.refresh-theme.atelier-theme .home-chapters .home-reviews li:first-child .home-rev-body{font-size:clamp(24px,2.3vw,32px);line-height:1.45;letter-spacing:-.02em}
:root body.refresh-theme.atelier-theme .home-chapters .home-rev-meta{font-size:16px;line-height:1.6;color:#425c6b}
:root body.refresh-theme.atelier-theme .home-chapters .home-rev-link{font-size:17px;color:#175c83;padding:12px 0}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-events{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
:root body.refresh-theme.atelier-theme .home-chapters .home-events{margin:0;display:grid;gap:0}
:root body.refresh-theme.atelier-theme .home-chapters .home-events a{border:0;border-top:1px solid #c5d6e0;border-radius:0;padding:24px 0;background:none;gap:22px}
:root body.refresh-theme.atelier-theme .home-chapters .home-ev-name{font-size:20px;line-height:1.4}
:root body.refresh-theme.atelier-theme .home-chapters .home-ev-meta,:root body.refresh-theme.atelier-theme .home-chapters .home-ev-venue{font-size:16px;line-height:1.6}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;background:#f1f5f7;border-block:1px solid #d9e3e9}
:root body.refresh-theme.atelier-theme .home-chapters .faq-list{margin:0;min-width:0}
:root body.refresh-theme.atelier-theme .home-chapters .faq-item summary{text-transform:none;font-size:20px;line-height:1.45;color:#142e3c;padding:24px 0}
:root body.refresh-theme.atelier-theme .home-chapters .faq-a{background:#fff;border-radius:8px;margin-bottom:20px;padding:22px}
:root body.refresh-theme.atelier-theme .home-chapters .faq-a p{font-size:18px;line-height:1.7;color:#425c6b}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-text-link{font-size:18px;color:#175c83;display:inline-block;padding:12px 0}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs a{background:#fff;border:1px solid #c8d9e3;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs a:hover{border-color:#3c7b9d;box-shadow:0 10px 24px #142e3c0c}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs strong{font-size:21px;line-height:1.4;color:#184e6c}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs span{font-size:18px;line-height:1.6;color:#425c6b}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs li:not(.home-hub-feature) a{background:#f1f5f7;border-color:transparent;padding:28px}
:root body.refresh-theme.atelier-theme .chapter-contact{padding:28px max(24px,calc((100% - 1320px)/2));background:#142e3c}
:root body.refresh-theme.atelier-theme .chapter-contact .home-nap-inner{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0}
:root body.refresh-theme.atelier-theme .chapter-contact p,:root body.refresh-theme.atelier-theme .chapter-contact a{font-size:18px;line-height:1.6;color:#e3eff5;margin:0}
@media(max-width:900px){
:root body.refresh-theme.atelier-theme .home-chapters .home-sec{padding-block:64px}
:root body.refresh-theme.atelier-theme .home-chapters .home-products{grid-template-columns:repeat(2,minmax(0,1fr))}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps{gap:24px}
:root body.refresh-theme.atelier-theme .home-chapters .home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-events,:root body.refresh-theme.atelier-theme .home-chapters .chapter-faq{grid-template-columns:1fr;gap:32px}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-media{padding-block:64px}
:root body.refresh-theme.atelier-theme .home-chapters .hv-sec{padding:48px 0 0}
:root body.refresh-theme.atelier-theme .home-chapters .home-hubs{gap:16px}
}
@media(max-width:600px){
:root body.refresh-theme.atelier-theme .home-chapters .home-sec{padding-block:52px}
:root body.refresh-theme.atelier-theme .home-chapters .home-products,:root body.refresh-theme.atelier-theme .home-chapters .home-steps,:root body.refresh-theme.atelier-theme .home-chapters .home-stats,:root body.refresh-theme.atelier-theme .home-chapters .home-reviews,:root body.refresh-theme.atelier-theme .home-chapters .home-hubs{grid-template-columns:minmax(0,1fr)}
:root body.refresh-theme.atelier-theme .home-chapters .home-products>li{flex:auto}
:root body.refresh-theme.atelier-theme .home-chapters .home-steps{gap:32px}
:root body.refresh-theme.atelier-theme .home-chapters .home-reviews{gap:20px}
:root body.refresh-theme.atelier-theme .home-chapters .home-reviews li:first-child{padding:26px;grid-row:auto}
:root body.refresh-theme.atelier-theme .home-chapters .home-stats li{padding-right:0}
:root body.refresh-theme.atelier-theme .home-chapters .chapter-media{padding-block:52px}
:root body.refresh-theme.atelier-theme .home-chapters .hv-sec{padding:44px 0 0}
:root body.refresh-theme.atelier-theme .home-chapters .cinematic-projects.project-ready .home-projects{height:400px}
:root body.refresh-theme.atelier-theme .chapter-contact .home-nap-inner{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(prefers-reduced-motion:reduce){:root body.refresh-theme.atelier-theme .home-chapters .home-hubs a{transition:none}}

:root body.refresh-theme.atelier-theme .home-chapters p a,:root body.refresh-theme.atelier-theme .home-chapters .faq-item summary a{color:#175c83}
