/* Shared content hierarchy for the September 2026 site update. */
.skip-link{position:fixed;left:16px;top:-90px;z-index:150;padding:12px 20px;background:var(--cream);color:var(--green-950)}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
main section[id]{scroll-margin-top:108px}
.nav{gap:26px}
.nav a{white-space:nowrap}
.header-inner{gap:20px}
.section{padding:80px 0}
.section--tight{padding:48px 0}
.section-head{margin-bottom:36px}
.page-head{padding:62px 0}
.btn{white-space:normal;text-align:center;line-height:1.55}
.home-hero{padding:68px 0 72px;background:linear-gradient(140deg,var(--green-800),var(--green-950))}
.home-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.home-hero h1{font-size:clamp(2.35rem,3.7vw,3.25rem);max-width:15ch}
.home-hero .hero-lead{font-size:1rem;max-width:46ch;margin-top:24px}
.home-hero .hero-actions{margin-top:30px;gap:12px}
.home-hero .btn{padding:14px 22px;font-size:.83rem}
.hero-project{display:block;border:1px solid var(--line-dark);border-radius:var(--radius-lg);overflow:hidden;background:var(--green-950)}
.hero-project>img{width:100%;aspect-ratio:5/4;object-fit:cover}
.hero-project>span{padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:3px 16px}
.hero-project b{font-family:var(--serif);font-size:1.2rem}
.hero-project small{color:var(--gold-light);font-size:.7rem;grid-row:2}
.hero-project>span>span{grid-column:2;grid-row:1/3;align-self:center;color:var(--gold)}
.project-grid{gap:30px}
.project-card .tile-thumb{aspect-ratio:16/10}
.project-card .tile-thumb>img{width:100%;height:100%;object-fit:cover}
.image-label{position:absolute;bottom:14px;left:14px;right:14px;width:max-content;max-width:calc(100% - 28px);padding:5px 10px;background:var(--green-950);color:var(--cream);font-size:.69rem;line-height:1.5;border-radius:3px}
.project-category{font-size:.73rem;color:var(--gold-dark);margin-bottom:14px}
.project-card .tile-meta{flex-wrap:wrap;align-items:start}
.project-card .status{font-size:.72rem;line-height:1.6}
.project-card h3{font-size:1.8rem}
.card-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;color:var(--green-900);font-size:.87rem;font-weight:600}
.card-link>span{font-size:1.2rem;color:var(--gold-dark)}
.sector-card{padding:32px 26px}
.sector-card h3{font-size:1.35rem}
.sector-card .card-link{margin-top:auto;padding-top:26px}
.company-strip{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.company-strip p{max-width:58ch;color:var(--muted)}
.group-summary{border-left:1px solid var(--line);padding-left:56px}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta-band{padding:48px;gap:28px}
.cta-band h2{font-size:clamp(1.6rem,2.7vw,2.3rem)}
.cta-band .contact-actions{flex-basis:100%}
.sector-row{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}
.sector-row p{color:var(--muted);max-width:54ch}
.sector-project{border-left:2px solid var(--gold);padding-left:36px}
main>.section[id]+.section[id]{border-top:1px solid var(--line)}
.project-overview{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
.project-figure{margin:0;min-width:0}
.project-figure img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:var(--radius-lg)}
.project-overview>.project-figure img{aspect-ratio:5/4}
.project-figure figcaption{color:var(--muted);font-size:.73rem;margin-top:10px}
.project-facts h2{font-size:1.65rem}
.project-facts .eyebrow{margin-bottom:12px;font-size:.7rem}
.project-facts .spec-row{grid-template-columns:minmax(110px,1fr) 1.3fr;gap:20px;padding:13px 0;line-height:1.5}
.project-facts .spec-row dt{font-size:.79rem}
.project-facts .spec-row dd{font-size:.94rem}
.fact-note{font-size:.78rem;line-height:1.7;color:var(--muted);margin:20px 0 0}
.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.terms-grid p,.presentation-row p{color:var(--muted);max-width:60ch;margin-bottom:0}
.presentation-row{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.presentation-row h2{font-size:2rem}
.next-project{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.next-project>span{font-size:.83rem;color:var(--muted)}
.next-project>a{font-family:var(--serif);font-size:1.8rem;color:var(--green-900)}
.contact-options h2{font-family:var(--sans);font-size:1.1rem;overflow-wrap:anywhere}
.contact-options .card{padding:30px 24px}
.footer-grid{grid-template-columns:1.25fr .8fr .8fr 1.2fr;gap:35px}
.footer-col a{overflow-wrap:anywhere}
.footer-bottom a{color:var(--gold-light)}
.footer-art,.wa-float::after{display:none}
.status::before{animation:none}
.wa-float{height:48px;right:20px;bottom:18px}
.wa-float__ico{width:48px;height:48px}
.wa-float__ico svg{width:23px;height:23px}
@media(min-width:821px){.nav{visibility:visible!important}}
@media(max-width:1100px){.home-hero-grid{gap:36px}.company-strip,.sector-row,.terms-grid{gap:40px}.project-overview{gap:32px}.nav{gap:18px}.nav a{font-size:.87rem}}
@media(max-width:1000px){.home-hero-grid{grid-template-columns:1fr 1fr}.project-overview{grid-template-columns:1fr}.project-overview>.project-figure img{aspect-ratio:16/9}.footer-grid{grid-template-columns:1fr 1fr}.project-facts .spec-row{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
  .section{padding:56px 0}.section--tight{padding:32px 0}.section-head{margin-bottom:28px}.page-head{padding:42px 0}.page-head h1{font-size:2.25rem}.page-head p{font-size:1rem}
  .home-hero{padding:42px 0}.home-hero-grid{grid-template-columns:1fr;gap:32px}.home-hero h1{max-width:18ch;font-size:2.45rem}.hero-project>img{aspect-ratio:16/10}.home-hero .hero-lead{margin-top:18px}.hero-project small{font-size:.68rem}
  .company-strip,.sector-row,.terms-grid{grid-template-columns:1fr;gap:28px}.group-summary{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.sector-project{padding-left:24px}
  .nav{visibility:hidden;pointer-events:none;transition:transform .2s,visibility .2s;max-height:calc(100dvh - 84px);overflow:auto}.nav.open{visibility:visible;pointer-events:auto}
  .project-card .tile-body{padding:24px}.tile-meta{font-size:.77rem}.image-label{font-size:.64rem}.gallery-grid{gap:24px}.project-facts .spec-row{grid-template-columns:1fr 1.2fr;gap:16px}.cta-band{padding:34px 26px}.presentation-row h2{font-size:1.8rem}.contact-options .card{padding:26px}
}
@media(max-width:540px){
  .container{padding:0 22px}.header-inner{gap:12px}.logo{gap:9px}.logo-text span{letter-spacing:.19em}.lang-toggle{padding:8px 12px}.home-hero h1{font-size:2.15rem;line-height:1.25}.home-hero .hero-actions .btn{width:auto;flex:1 1 140px}.hero-project>span{padding:15px 17px}.project-card h3{font-size:1.6rem}.project-facts .spec-row dd{font-size:.87rem}.project-facts .spec-row dt{font-size:.75rem}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-about,.footer-col:last-child{grid-column:1/-1}.site-footer{padding:50px 0 78px}.footer-bottom{margin-top:32px}.contact-actions{width:100%}.contact-actions .btn{flex:1 1 200px}.wa-float{right:14px;bottom:14px}
}

/* Six navigation items fit before the existing mobile menu breakpoint. */
@media(min-width:821px){.nav{gap:18px}.nav a{font-size:.78rem}}
@media(min-width:821px) and (max-width:1000px){.header-inner{gap:12px}.logo-text>span{font-size:.5rem}.nav{gap:12px}.nav a{font-size:.7rem}}

/* Always show both language destinations and clearly identify the current language. */
.language-switch{display:inline-flex;align-items:center;flex-shrink:0;padding:3px;gap:2px;border:1px solid rgba(207,177,117,.35);border-radius:7px}
.language-option{display:inline-flex;align-items:center;justify-content:center;min-width:37px;min-height:32px;padding:5px 8px;border-radius:4px;font-size:.7rem;line-height:1.2;font-weight:700;color:var(--gold);white-space:nowrap;text-decoration:none}
.language-option:hover{background:rgba(207,177,117,.12)}
.language-option[aria-current="true"]{background:#cfb175;color:#142820}
@media(max-width:540px){.header-actions{gap:8px}.language-option{min-width:32px;padding:5px 6px}.language-switch{padding:2px}}
@media(max-width:360px){.site-header .logo-text>span{display:none}.site-header .logo img{width:34px}.site-header .logo-text b{font-size:1.25rem}}
