/* LUJO · 17 October 2026. Modern sans-serif typography and image-led layout. */
:root{--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--page-gutter:clamp(22px,4vw,80px)}
body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.design-form-project h3,.mirror-project h3{font-family:var(--font-sans)!important;font-weight:400;letter-spacing:-.035em;font-style:normal}
h1 em,h2 em{font-style:normal}
h1,h2,h3{overflow-wrap:break-word;hyphens:none}
p{line-height:1.75}
.header{padding-inline:var(--page-gutter);gap:32px}
.header nav{margin-left:auto;gap:clamp(18px,2vw,34px);font-size:13px}
.header-contact{flex-shrink:0;font-size:13px}
.header .wordmark{width:155px}
.section-pad,.design-home .section-pad{padding-inline:var(--page-gutter)}
.design-home .section-pad,.design-home .design-statement{padding-block:clamp(60px,7vw,112px)}
.design-hero{display:flex;flex-direction:column;min-height:0;background:var(--bg)}
.design-hero-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0 clamp(40px,7vw,130px);padding:clamp(42px,5vw,80px) var(--page-gutter) 46px;align-items:start}
.design-hero-copy>.eyebrow{grid-column:1/-1;margin:0 0 24px;letter-spacing:.12em}
.design-hero h1{grid-column:1;grid-row:2/5;font-size:clamp(40px,4.8vw,76px);line-height:1.08;letter-spacing:-.045em;margin:0;max-width:19ch;min-width:0;text-wrap:balance}
.design-hero .design-lead{grid-column:2;margin:0 0 18px;max-width:43ch;font-size:17px;line-height:1.7}
.design-hero .hero-region{grid-column:2;font-size:13px;margin:0 0 24px}
.design-hero .hero-actions{grid-column:2;gap:16px}
.design-hero .bad-slider{width:100%;height:clamp(460px,57vw,860px);align-self:stretch;background:#232624;margin:0}
.bad-slider-track{position:relative;display:block;height:100%;aspect-ratio:auto;overflow:hidden;touch-action:pan-y;scroll-snap-type:none}
.bad-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;pointer-events:none}
.bad-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.design-hero .bad-slide img{width:100%;height:100%;max-height:none;object-fit:contain;background:#232624;padding:0 0 58px;filter:none}
.design-hero .bad-slide figcaption{padding:17px 140px 17px var(--page-gutter);min-height:58px;background:#232624;color:#f7f5f0;border:0;font-size:13px;line-height:1.6}
.bad-slider-controls{z-index:2}
.bad-slider-controls button{border-color:#ffffff70;background:#232624cc;color:#fff;width:46px;height:46px}
.bad-slider-controls button:hover{background:#232624;color:#dcc398}
.bad-slider-controls .bad-prev{left:var(--page-gutter)}
.bad-slider-controls .bad-next{right:var(--page-gutter)}
.bad-slider-controls .bad-pause{bottom:9px;right:var(--page-gutter);top:auto;transform:none;width:110px;height:38px;font-size:12px;letter-spacing:.02em}
.bad-slider-count{left:50%;bottom:22px;width:auto;height:auto;margin:0;clip-path:none;overflow:visible;color:#f7f5f0;font-size:12px;letter-spacing:.1em}
.design-home h2{font-size:clamp(34px,4vw,60px);line-height:1.12;max-width:24ch;text-wrap:balance}
.design-home h3{font-size:clamp(28px,3vw,42px);line-height:1.2}
.design-section-heading{align-items:end;gap:48px;margin-bottom:48px}
.design-project-feature[data-project-gallery]{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);column-gap:7%;row-gap:16px;align-items:center}
.design-project-feature[data-project-gallery]>.design-project-photo{height:clamp(460px,53vw,760px);max-height:none;background:#eeebe4;min-width:0}
.design-project-feature[data-project-gallery]>.design-project-photo img{width:100%;height:100%;max-height:none;max-width:100%;object-fit:contain}
.design-project-copy h3{max-width:20ch}
.design-form-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}
.design-form-project figure{aspect-ratio:4/5;max-height:760px}
.design-form-project figure img{object-fit:contain}
.design-home .design-form-projects{margin-top:80px}
.design-steps h3{font-size:21px;letter-spacing:-.02em}
.tile-image{height:auto;aspect-ratio:4/3;min-height:260px}
.series-catalog{gap:32px}
.mirror-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:7%;max-width:none;align-items:center}
.mirror-intro h1{font-size:clamp(36px,4.5vw,68px);line-height:1.1;max-width:19ch;overflow:visible;text-wrap:balance;letter-spacing:-.04em}
.mirror-intro h1 br{display:none}
.mirror-intro figure{width:100%;max-width:none;min-width:0}
.mirror-intro img{width:100%;height:auto;max-height:760px;object-fit:contain}
.mirror-page>section{padding-top:40px;margin-top:40px}
.mirror-page>section:not(.regional-mirrors){max-width:880px}
.mirror-page h2{font-size:clamp(28px,3vw,42px);line-height:1.18;overflow:visible;text-wrap:balance}
.mirror-project-grid{gap:48px 36px}
.mirror-project>div{aspect-ratio:4/5;background:#eeebe4}
.mirror-project img{height:100%;width:100%;object-fit:contain}
.mirror-project h3{font-size:clamp(24px,2.5vw,34px);line-height:1.22}
.design-home .design-contact{display:flex;gap:40px;align-items:center;justify-content:space-between}
.design-home .design-contact h2{max-width:20ch;font-size:clamp(32px,3.8vw,56px);line-height:1.15;overflow:visible}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center;line-height:1.4;padding:15px 24px;font-size:14px}
.inquiry-dialog{width:min(760px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100svh - 32px);padding:clamp(24px,4vw,48px);overflow:auto}
.inquiry-dialog h2{font-size:clamp(27px,4vw,38px);line-height:1.18;padding-right:20px}
.form-grid>*{min-width:0}
.inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea{min-width:0;max-width:100%;font-size:16px}
footer,.home-page footer{padding:64px var(--page-gutter) 110px;gap:28px;align-items:center}
.footer-navigation{width:100%;min-width:0}
.footer-products{display:flex;gap:18px 30px;flex-wrap:wrap;margin-bottom:28px}
.legal-links{line-height:1.6}
@media(max-width:1200px){.header nav,.header-contact{display:none}.header .menu-toggle{display:flex;flex-direction:column;gap:7px;border:0;background:transparent;margin-left:auto}.mobile-nav{position:fixed;top:var(--header-height);max-height:calc(100svh - var(--header-height));overflow:auto;padding:28px var(--page-gutter);width:100%;z-index:29}.mobile-nav[hidden]{display:none}}
@media(max-width:900px){.design-hero-copy{grid-template-columns:1fr;gap:0;padding-bottom:36px}.design-hero h1{grid-column:1;grid-row:auto;max-width:23ch;font-size:clamp(38px,6.5vw,64px);margin-bottom:24px}.design-hero .design-lead,.design-hero .hero-region,.design-hero .hero-actions{grid-column:1;max-width:55ch}.design-hero .bad-slider{height:clamp(440px,76vw,720px)}.design-project-feature[data-project-gallery]{grid-template-columns:1fr;gap:20px}.design-project-feature[data-project-gallery]>.design-project-photo{grid-column:1;grid-row:1;height:auto;aspect-ratio:4/5}.design-project-feature[data-project-gallery]>.project-gallery-thumbs{grid-column:1;grid-row:2}.design-project-feature[data-project-gallery]>.project-gallery-caption{grid-column:1;grid-row:3}.design-project-feature[data-project-gallery]>.design-project-copy{grid-column:1;grid-row:4}.mirror-intro{grid-template-columns:1fr;gap:36px}.mirror-intro h1{max-width:21ch}.design-home .design-contact{align-items:flex-start;flex-direction:column;gap:26px}.design-contact .button{margin-top:0}}
@media(max-width:650px){.design-home .section-pad,.design-home .design-statement{padding-block:56px}.design-hero-copy{padding-top:34px}.design-hero h1{font-size:clamp(27px,7.7vw,48px);line-height:1.12}.design-hero-copy>.eyebrow{font-size:11px;margin-bottom:20px}.design-hero .design-lead{font-size:16px}.design-hero .bad-slider{height:calc(125vw + 84px);max-height:780px}.design-hero .bad-slide img{padding-bottom:84px}.design-hero .bad-slide figcaption{padding:13px var(--page-gutter) 43px;min-height:84px;font-size:12px}.bad-slider-controls .bad-pause{height:30px;bottom:7px;width:100px}.bad-slider-count{left:var(--page-gutter);bottom:16px}.bad-slider-controls .bad-prev,.bad-slider-controls .bad-next{width:42px;height:42px}.design-form-projects{grid-template-columns:1fr;gap:48px}.design-home .design-form-projects{margin-top:48px}.design-section-heading{margin-bottom:32px}.design-home h2{font-size:clamp(28px,7.5vw,40px)}.mirror-intro h1{font-size:clamp(30px,8.4vw,46px)}.mirror-project-grid,.mirror-project-grid-four{grid-template-columns:1fr;gap:42px}.mirror-page>section{padding-top:24px;margin-top:24px}.tile-image{min-height:220px}.form-grid{grid-template-columns:1fr}.inquiry-dialog .form-actions{flex-wrap:wrap;gap:18px}footer,.home-page footer{padding-top:44px;gap:24px}.legal-links{gap:18px 24px}.design-home .design-contact h2{font-size:clamp(29px,8vw,40px)}}
@media(prefers-reduced-motion:reduce){.bad-slide{transition:none}}

/* Keep the first photo visible even before JavaScript initializes. */
.bad-slider:not([data-ready]) .bad-slide:first-child{opacity:1;visibility:visible}

/* Shared heading scale, 17 October 2026: same level, same size on every page. */
:root{--heading-page:44px;--heading-section:32px;--heading-card:24px}
h1{font-size:var(--heading-page)!important;line-height:1.16!important;letter-spacing:-.035em!important}
h2{font-size:var(--heading-section)!important;line-height:1.22!important;letter-spacing:-.025em!important}
h1,h2,h3,h4{color:var(--ink)!important}
h1 :is(em,span,strong),h2 :is(em,span,strong),h3 :is(em,span,strong),h4 :is(em,span,strong){color:inherit!important;font-style:normal}
h1,h2{max-width:100%;min-width:0;overflow-wrap:break-word;text-wrap:pretty}
:is(.partner-card,.series-tile,.tile-copy,.reference-card) h2{font-size:var(--heading-card)!important}
.design-steps p{font-size:16px;color:var(--ink);line-height:1.7}
@media(max-width:900px){:root{--heading-page:36px;--heading-section:28px}}
@media(max-width:650px){:root{--heading-page:30px;--heading-section:26px;--heading-card:23px}}

/* Mirror introduction follows the shared text-first page layout. */
.mirror-page .mirror-intro{display:block;max-width:800px}
.mirror-page .mirror-intro h1{max-width:none}
.mirror-page .mirror-intro>div>p:not(.eyebrow){max-width:65ch}

/* Compact mobile footer, 18 October 2026. Keep links comfortably tappable. */
@media(max-width:650px){
 footer,.home-page footer{padding:28px var(--page-gutter) 88px;gap:12px;grid-template-columns:minmax(0,1fr)}
 footer .wordmark,.home-page footer .wordmark{width:148px;max-width:100%}
 footer p{text-align:left}
 footer>span{margin-left:0}
 .footer-navigation{grid-column:1 / -1;grid-template-columns:minmax(0,1fr);padding-top:14px;gap:14px}
 .footer-navigation .footer-products,.footer-navigation .legal-links{gap:0;margin:0;font-size:14px;line-height:1.6}
 .footer-navigation .legal-links{padding-top:14px;border-top:1px solid var(--line)}
 .footer-navigation a,.footer-navigation button{display:flex;align-items:center;min-height:44px;padding:6px 0}
}
