/* Navigation scopes are intentionally separate from breadcrumbs and language controls. */
header{gap:20px;flex-wrap:wrap;height:auto;min-height:90px;padding-block:18px}
.language-switch{display:flex;gap:4px;align-items:center;flex-shrink:0;flex-wrap:nowrap;width:auto;justify-content:flex-start}
header .language-switch a{font:400 12px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.3px;padding:9px 8px;border:1px solid transparent;display:grid;place-items:center;flex:none;min-width:40px;min-height:40px}
.language-switch a[aria-current=true]{border-color:var(--line);background:#e8e4dc}
.language-switch a:hover{color:var(--red)}
h1,h2,h3{overflow-wrap:break-word}
.arrow-icon{display:inline-block;width:.85em;height:.85em;vertical-align:-.05em;flex-shrink:0;color:inherit}
.category-menu summary{position:relative;padding:0 22px 0 0;line-height:20px}
.category-menu summary::after{left:0;right:auto;top:100%;bottom:auto;width:calc(100% - 22px);height:28px;font-size:28px;line-height:28px;text-align:left;opacity:0;transition:opacity .15s;cursor:pointer;pointer-events:auto}
.category-menu summary:hover::after,.category-menu summary:focus-visible::after,.category-menu[open] summary::after{opacity:1}
.category-dropdown{top:calc(100% + 28px)}
header>nav[aria-label]:not(.language-switch)>a{line-height:20px}
header .nav-cta{padding-top:12px;padding-bottom:11px}
nav.breadcrumbs{justify-content:flex-start;align-items:baseline;flex-wrap:wrap;gap:8px 12px;width:min(1280px,calc(100% - 112px))}
.breadcrumbs>[aria-current=page]{min-width:0;overflow-wrap:anywhere}
.breadcrumbs>a{display:inline-block;flex:none}
.hero h1{font-size:clamp(36px,3.6vw,58px);line-height:1.12;letter-spacing:-1.4px}
.hero-slogan{font-size:clamp(19px,1.8vw,26px);line-height:1.4;margin:24px 0 0;max-width:440px}
.hero .intro{margin:18px 0 28px}
.project-grid .stagger{margin-top:0}
.project-grid>article{min-width:0}
.project-grid .photo-button{align-self:start}
.project-grid .photo-button img{aspect-ratio:4/3;height:auto}
@media(min-width:651px){
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:45px;row-gap:0}
 @supports(grid-template-rows:subgrid){
  .project-grid>article{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-items:start}
 }
}
.option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;padding-left:20px;list-style:disc}
.option-list li{border:0;padding:0;font-size:14px;line-height:1.5}
.option-list li::marker{color:#ee796f}
.category-visual-link:focus-visible,.photo-button:focus-visible{outline:3px solid var(--red);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--paper)}
.category-card:focus-within h3{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}
.contact input:focus-visible,.contact textarea:focus-visible,.contact select:focus-visible{outline:1px solid var(--red);outline-offset:-1px}
.contact input,.contact textarea,.contact select{padding-inline:12px}
.contact input::placeholder,.contact textarea::placeholder{color:#7c7871;opacity:1}
a,button,summary{scroll-margin-block:80px}
html{scrollbar-gutter:stable;scroll-behavior:auto}
html.lightbox-open{overflow:hidden;scroll-behavior:auto}
dialog{overscroll-behavior:contain}
.reviews{padding-block:70px;border-top:1px solid var(--line)}
.reviews-intro{max-width:760px;color:var(--muted);font-size:14px;margin:24px 0 32px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.review-translation{font-size:12px;color:var(--muted);margin:8px 0}
.review-card{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:flex-start;flex-direction:column;min-width:0}
.review-card h3{font-size:21px}
.review-card blockquote{margin:16px 0 24px;flex:1}
.review-card blockquote p{margin:0;color:var(--muted);font-size:15px}
.review-card .text-link{white-space:normal;line-height:1.5}
.reviews-footer{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:32px;text-align:center}
.reviews-checked{font-size:12px;color:var(--muted);margin:0}
.language-landing{margin:0;background:#f1eee8;color:#171717;font:16px Arial,Helvetica,sans-serif;min-height:100vh;display:grid;place-items:center}
.language-landing main{text-align:center;padding:30px}.language-landing img{margin:auto}.language-landing h1{font-size:38px}
.language-landing nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.language-landing a{color:inherit;padding:14px 20px;border:1px solid #ccc;text-decoration:none}.language-landing a:hover{border-color:#d42b22}
@media(hover:none){.category-menu summary::after{opacity:1}}
@media(max-width:1000px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px}
 header>nav[aria-label]:not(.language-switch){grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;gap:8px 28px}
 header .language-switch{grid-column:2;grid-row:1;justify-self:end}
 nav.breadcrumbs{width:calc(100% - 64px)}
 .reviews-grid{gap:24px}
}
@media(max-width:650px){
 header{position:relative;padding-bottom:16px;gap:10px 8px;align-items:center}
 header>nav[aria-label]:not(.language-switch){display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;align-items:start;border:0}
 header>nav[aria-label]:not(.language-switch)>a,header>nav[aria-label]:not(.language-switch)>.category-menu{border:0;background:#e7e3db;border-radius:8px}
 header>nav[aria-label]:not(.language-switch)>a{display:flex;align-items:center;min-height:48px;padding:14px 16px;white-space:normal;font-size:15px;font-weight:500}
 header>nav[aria-label]:not(.language-switch) .category-menu summary{display:block;min-height:48px;padding:14px 16px;font-size:15px;font-weight:500}
 header>nav[aria-label]:not(.language-switch)>a:hover,header .category-menu[open]>summary{color:var(--red)}
 .category-menu{min-width:0}
 .category-menu summary::after{display:none}
 .category-dropdown{position:static;min-width:0;width:100%;max-width:100%;box-shadow:none;background:transparent;border:0;margin:0;padding:0 8px 8px}
 .category-dropdown a{min-height:44px}
 header .language-switch{width:auto;gap:0;margin:0;flex-wrap:nowrap}
 header .language-switch a{padding:8px 6px;min-height:44px;min-width:44px}
 .logo{gap:7px}.logo .brand-word{font-size:23px}.logo .brand-symbol{width:29px;height:34px}
 header .nav-cta{justify-content:flex-start;gap:18px;width:100%;color:var(--red)}header .nav-cta span{margin-left:0}
 nav.breadcrumbs{width:calc(100% - 40px);gap:6px 10px}
 nav.breadcrumbs>a{display:inline-block}
 .hero h1{font-size:36px}.hero-slogan{font-size:21px}
 .button{max-width:100%;white-space:normal}
 input,select,textarea{font-size:16px;min-height:44px}
 .privacy{font-size:12px}.reviews{padding-block:48px}.reviews-grid{grid-template-columns:1fr}
 .option-list{grid-template-columns:1fr}
}
@media(max-width:340px){
 header{grid-template-columns:minmax(0,1fr)}
 header .language-switch{grid-row:2;grid-column:1;justify-self:start}
 header>nav[aria-label]:not(.language-switch){grid-row:3;grid-column:1}
}
