/* ADCO 4.0 — unified visual system. */
:root {
    --adco-dark:#073b3c;
    --adco-deep:#052e2f;
    --adco-green:#135f61;
    --adco-mint:#b9dca9;
    --adco-paper:#f4f8f2;
    --adco-ink:#092e2c;
    --adco-line:rgba(9,66,62,.16);
}

html { font-size:100%; }
body { font-size:17px; line-height:1.8; color:var(--adco-ink); background:var(--adco-paper); }
p { font-size:17px; line-height:1.8; }
.lead { font-size:clamp(20px,1.45vw,22px)!important; line-height:1.7!important; }
.eyebrow,.section-label,.section-label span,.footer-label { font-size:13px!important; line-height:1.4; letter-spacing:.11em; }
h1,.hero__title,.inner-hero__content h1,.contact-panel__details h1 { line-height:1.25; }
h2,.manifesto__statement h2,.value-chain__intro h2,.principles__head h2,.arms-preview__intro h2,.impact-cta__inner h2,.about-story h2,.purpose__head h2,.about-values__head h2,.services-story__intro h2,.services-systems__head h2,.services-impact h2 { font-size:clamp(32px,3vw,40px)!important; line-height:1.35!important; letter-spacing:-.025em; }
h3,.chain-step h3,.principle h3,.arm-row h3,.world-panel h2,.purpose-card h3,.value-card h3,.services-systems h3,.services-impact__cards h3 { font-size:clamp(24px,2vw,28px)!important; line-height:1.4!important; }
h4 { font-size:clamp(20px,1.6vw,22px); line-height:1.4; }
a,button,input,textarea { font-family:inherit; }
.button,.send-button,.footer-cta { font-size:16px!important; line-height:1.3; font-weight:700; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 25px; border:1px solid transparent; transition:background .3s,color .3s,border-color .3s,transform .3s; }
.button:hover { transform:translateY(-2px); }
.button--primary { color:#fff; background:var(--adco-green); border-color:var(--adco-green); }
.button--ghost { color:#fff; border-color:rgba(255,255,255,.62); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.container { width:min(90vw,1320px); }
.section { padding-block:clamp(80px,8vw,120px); }

/* Header */
.site-header { height:110px; color:#fff; }
.site-header__inner { width:min(92vw,1380px); grid-template-columns:192px 1fr auto; border-bottom:1px solid rgba(255,255,255,.25); }
.site-header.is-scrolled { height:84px; }
.site-brand,.site-header.is-scrolled .site-brand { width:160px; height:102px; padding:0; background:transparent; box-shadow:none; overflow:visible; }
.site-brand img,.site-brand .custom-logo,.site-header.is-scrolled .site-brand img,.site-header.is-scrolled .site-brand .custom-logo { width:auto; max-width:160px; max-height:98px; object-fit:contain; filter:none!important; }
.site-header.is-scrolled .site-brand { height:78px; }
.site-header.is-scrolled .site-brand img,.site-header.is-scrolled .site-brand .custom-logo { max-height:74px; }
.header-nav { justify-self:center; display:block; }
.header-menu { gap:clamp(28px,3.2vw,50px); }
.header-menu > li > a { font-size:16px; line-height:1.4; padding:13px 0; }
.header-menu .menu-index { display:none; }
.site-header__actions { gap:22px; }
.site-header__actions .language-switcher { font-size:14px; }
body:not(.home) .site-header { color:var(--adco-ink); background:rgba(244,248,242,.96); }
.menu-toggle { display:none; align-items:center; gap:12px; min-height:48px; padding:0; color:currentColor; border:0; background:none; font-size:16px; font-weight:700; }
.menu-toggle i { position:relative; width:34px; height:34px; border:1px solid currentColor; border-radius:50%; }
.menu-toggle i::before,.menu-toggle i::after { content:""; position:absolute; left:9px; width:14px; height:1px; background:currentColor; }
.menu-toggle i::before { top:13px; }.menu-toggle i::after { top:19px; }

/* Full-background home hero */
.hero { min-height:100svh; display:flex; align-items:center; color:#fff; }
.hero__media { inset:0!important; }
.hero__media::after { display:none; }
.hero__media img { width:100%; height:100%; object-fit:cover; }
.hero__overlay { background:linear-gradient(90deg,rgba(3,34,34,.2),rgba(3,34,34,.52) 48%,rgba(3,34,34,.9)),linear-gradient(0deg,rgba(2,27,27,.65),transparent 55%)!important; }
.hero__grid { opacity:.13; mask-image:none; }
.hero__content { display:block!important; padding-top:150px; padding-bottom:90px; }
.hero__kicker { margin:0 0 28px; padding:0; font-size:14px!important; }
.hero__title { max-width:820px; margin:0 0 28px; font-size:clamp(48px,4.7vw,64px)!important; line-height:1.22!important; letter-spacing:-.035em; }
.hero__title-accent { margin-top:4px; }
.hero__lower { display:block!important; max-width:720px; }
.hero__lower > p { max-width:660px; margin:0 0 24px; color:rgba(255,255,255,.86); font-size:clamp(20px,1.55vw,22px)!important; line-height:1.7; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px; }
.hero__pillars { justify-self:auto; justify-content:flex-start; font-size:14px; gap:14px; }
.hero__scroll { font-size:13px; }
.hero__coordinate { font-size:13px; }

/* About preview — no oversized gap */
.manifesto { background:var(--adco-paper); }
.manifesto__grid { display:grid; grid-template-columns:1.05fr .95fr; column-gap:7vw; align-items:start; }
.manifesto__content { display:grid; gap:24px; align-content:start; }
.manifesto__statement h2 { max-width:690px; margin:18px 0 0; }
.manifesto__body { max-width:650px; padding:0; }
.manifesto__body p { margin:0 0 24px; font-size:18px; }
.manifesto__image { width:100%; height:650px; margin:0; }
.manifesto__image img { width:100%; height:100%; object-fit:cover; }
.manifesto__line { display:none; }

/* Correct sticky scrollytelling */
.value-chain { padding-bottom:100px; background:var(--adco-green); }
.value-chain__intro { grid-template-columns:.55fr 1.45fr; gap:50px; padding-bottom:48px; }
.value-chain__intro h2 { margin:0; }
.value-chain__intro p { max-width:600px; font-size:18px; }
.value-chain__story { display:grid!important; grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr); gap:7vw; width:min(90vw,1320px); margin:auto; padding-top:70px; align-items:start; }
.value-chain__visual { position:sticky!important; top:110px!important; height:calc(100vh - 150px)!important; min-height:560px; border:1px solid rgba(255,255,255,.16); background:rgba(3,34,35,.22); overflow:hidden; }
.bio-orbit { width:min(36vw,520px); }
.value-chain__steps { display:block!important; padding:0!important; border:0!important; }
.chain-step { min-height:68vh!important; display:grid!important; grid-template-columns:56px 52px 1fr!important; align-content:center; column-gap:18px; padding:60px 0!important; border:0!important; border-bottom:1px solid rgba(255,255,255,.18)!important; opacity:.4; transition:opacity .35s,transform .35s; }
.chain-step.is-active { opacity:1; transform:translateX(-8px); }
.chain-step__number { font-size:14px; }.chain-step > i { margin:0!important; font-size:28px!important; }.chain-step h3 { grid-column:3; margin:0 0 14px; }.chain-step p { grid-column:3; max-width:570px; margin:0; color:rgba(255,255,255,.72); font-size:17px; }

/* Principles with photography */
.principles { padding-block:110px; background:var(--adco-deep); }
.principles__head { grid-template-columns:.55fr 1.45fr; margin-bottom:50px; }
.principles__track { display:grid!important; grid-template-columns:1fr 1fr; width:min(90vw,1320px)!important; margin:auto; padding:0!important; transform:none!important; border:0!important; gap:22px; }
.principle { position:relative; display:grid!important; grid-template-columns:62px 1fr!important; grid-template-rows:auto auto; gap:18px 20px; width:auto!important; min-height:0!important; padding:0 0 30px!important; border:1px solid rgba(255,255,255,.15)!important; background:rgba(255,255,255,.035); overflow:hidden; }
.principle__media { position:relative; grid-column:1/-1; height:250px; margin:0; overflow:hidden; }
.principle__media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,35,35,.75),transparent 60%); }
.principle__media img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.principle:hover .principle__media img { transform:scale(1.045); }
.principle__media span { position:absolute; z-index:2; right:24px; bottom:18px; font-size:14px; color:#fff; }
.principle__icon { width:62px!important; height:62px; margin-inline-start:24px; display:grid; place-items:center; border:1px solid rgba(185,220,169,.4); border-radius:50%; font-size:24px; }
.principle__copy { padding-inline-end:28px; }
.principle__copy h3 { margin:0 0 9px; }.principle__copy p { margin:0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.8; }

/* Remaining home sections */
.vision h2 { font-size:clamp(32px,3vw,40px)!important; }
.arms-preview__layout { gap:70px; }.arms-preview__intro p { font-size:17px; }.arm-row h3 { font-size:21px!important; }.world-panel__copy p { font-size:16px; }
.impact-cta { position:relative; min-height:640px; display:flex; align-items:center; padding-block:100px; background:var(--adco-deep)!important; isolation:isolate; }
.impact-cta::before { content:""; position:absolute; inset:0; z-index:-2; width:auto; border-radius:0; background:url('../images/solar.webp') center/cover no-repeat; opacity:.46; }
.impact-cta::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,41,42,.6),rgba(4,41,42,.94)); }
.impact-cta__grid { position:absolute; inset:0; z-index:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,transparent,black); }
.impact-cta__inner { position:relative; z-index:2; grid-template-columns:1fr auto; }
.impact-cta__inner h2 { max-width:760px; }.impact-cta__inner .text-link { font-size:16px; }

/* Inner heroes */
.inner-hero { min-height:78svh; }
.inner-hero__content { display:grid; grid-template-columns:1.25fr .75fr; padding-bottom:70px; }
.inner-hero__content h1 { font-size:clamp(42px,4vw,52px)!important; line-height:1.3!important; }
.inner-hero__content p { font-size:clamp(20px,1.5vw,22px)!important; line-height:1.7; }

/* About page */
.about-story__layout { display:grid; grid-template-columns:1fr .9fr; column-gap:7vw; align-items:start; }.about-story__content { display:grid; gap:24px; align-content:start; }
.about-story__heading h2 { margin:18px 0 0; }.about-story__heading h2 span,.about-values__head h2 span,.purpose__head h2 span,.services-story__intro h2 span,.services-systems__head h2 span { color:var(--adco-green); font-weight:300; }
.about-story__copy p { margin:0 0 18px; }.about-story__image { height:720px; margin:0; }.about-story__image img { width:100%; height:100%; object-fit:cover; }.about-story__image figcaption { padding-top:12px; font-size:14px; }
.purpose { background:var(--adco-deep); }.purpose__head { display:grid; grid-template-columns:.5fr 1.5fr; margin-bottom:45px; }.purpose__head h2 span { color:var(--adco-mint); }
.purpose__grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.purpose-card { min-height:410px; padding:44px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); }.purpose-card > span { font-size:13px; color:var(--adco-mint); }.purpose-card > i { display:block; margin:70px 0 25px; font-size:34px; color:var(--adco-mint); }.purpose-card h3 { margin:0 0 14px; }.purpose-card p { max-width:560px; margin:0; color:rgba(255,255,255,.72); }
.about-values__head { display:grid; grid-template-columns:.45fr 1.05fr .7fr; gap:40px; align-items:end; margin-bottom:45px; }.about-values__head h2,.about-values__head p { margin:0; }
.about-values__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--adco-line); border-inline-start:1px solid var(--adco-line); }
.value-card { min-height:350px; padding:30px 26px; border-inline-end:1px solid var(--adco-line); border-bottom:1px solid var(--adco-line); }.value-card > span { font-size:14px; color:var(--adco-green); }.value-card > i { display:block; margin:65px 0 30px; font-size:31px; color:var(--adco-green); }.value-card h3 { margin:0 0 12px; }.value-card p { margin:0; font-size:16px; color:#526963; }
.about-commitment { position:relative; min-height:650px; display:flex; align-items:center; color:#fff; overflow:hidden; isolation:isolate; }.about-commitment__media,.about-commitment__overlay { position:absolute; inset:0; z-index:-2; }.about-commitment__media img { width:100%; height:100%; object-fit:cover; }.about-commitment__overlay { z-index:-1; background:linear-gradient(90deg,rgba(4,42,42,.45),rgba(4,42,42,.92)); }.about-commitment h2 { max-width:820px; margin:18px 0 28px; }.about-commitment h2 em { color:var(--adco-mint); font-style:normal; }

/* Services page */
.services-story { padding-top:95px; background:var(--adco-deep); }
.services-story__intro { display:grid; grid-template-columns:.5fr 1.5fr; margin-bottom:50px; }.services-story__intro h2 { margin:0; color:#fff; }.services-story__intro h2 span { color:var(--adco-mint); }
.services-story__layout { display:grid; grid-template-columns:minmax(410px,.9fr) minmax(0,1.1fr); gap:7vw; width:min(90vw,1320px); margin:auto; align-items:start; }
.services-story .investment-story__visual { position:sticky; top:105px; height:calc(100vh - 140px); min-height:580px; margin:0; }
.services-story .investment-story__steps { padding:0; }
.services-story .investment-step { min-height:70vh; opacity:.38; border-bottom:1px solid rgba(255,255,255,.18); }
.services-story .investment-step.is-active { opacity:1; }
.services-story .investment-step h2 { font-size:clamp(32px,3vw,40px)!important; line-height:1.35; }
.services-story .investment-step p { font-size:17px; line-height:1.8; }
.services-systems__head { display:grid; grid-template-columns:.5fr 1.5fr; margin-bottom:45px; }.services-systems__head h2 { margin:0; }
.services-systems__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--adco-line); border-inline-start:1px solid var(--adco-line); }.services-systems__grid article { min-height:390px; padding:30px 25px; border-inline-end:1px solid var(--adco-line); border-bottom:1px solid var(--adco-line); }.services-systems__grid span { font-size:14px; color:var(--adco-green); }.services-systems__grid i { display:block; margin:72px 0 28px; font-size:32px; color:var(--adco-green); }.services-systems__grid h3 { margin:0 0 12px; }.services-systems__grid p { margin:0; font-size:16px; color:#526963; }
.services-impact { position:relative; min-height:820px; display:flex; align-items:center; color:#fff; isolation:isolate; overflow:hidden; }.services-impact__media,.services-impact__overlay,.services-impact__grid { position:absolute; inset:0; }.services-impact__media { z-index:-3; }.services-impact__media img { width:100%; height:100%; object-fit:cover; }.services-impact__overlay { z-index:-2; background:linear-gradient(100deg,rgba(4,38,39,.94),rgba(4,38,39,.55)); }.services-impact__grid { z-index:-1; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px); background-size:90px 90px; }
.services-impact__content { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; }.services-impact__statement h2 { margin:18px 0; }.services-impact__statement h2 em { color:var(--adco-mint); font-style:normal; }.services-impact__statement p { max-width:650px; color:rgba(255,255,255,.75); }.services-impact__cards { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.2); border-inline-start:1px solid rgba(255,255,255,.2); }.services-impact__cards article { min-height:205px; padding:22px; border-inline-end:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); background:rgba(4,47,47,.28); backdrop-filter:blur(5px); }.services-impact__cards span { font-size:13px; color:var(--adco-mint); }.services-impact__cards i { display:block; margin:26px 0 16px; color:var(--adco-mint); font-size:24px; }.services-impact__cards h3 { margin:0; font-size:19px!important; }

/* Larger contact form */
.contact-panel { background:#eaf2e8; }
.contact-panel__layout { grid-template-columns:.9fr 1.1fr; max-width:1320px; }
.contact-panel__details { padding:70px 60px; }.contact-panel__details h1 { font-size:clamp(42px,4vw,52px)!important; line-height:1.35; }.contact-panel__details h2 { font-size:clamp(32px,3vw,40px)!important; line-height:1.35; }.contact-panel__intro { font-size:18px; }
.contact-detail { grid-template-columns:34px 115px 1fr; padding:18px 0; }.contact-detail > span { font-size:14px; }.contact-detail > a,.contact-detail > strong { font-size:15px; }
.contact-panel__form-wrap { padding:64px 58px; }.contact-panel__form-head strong { font-size:24px; }.contact-panel__form-head small { font-size:14px; }
.contact-form--panel label { margin-bottom:22px; }.contact-form--panel label > span { font-size:14px; }.contact-form--panel input,.contact-form--panel textarea { min-height:52px; padding:12px 0; font-size:17px; }.contact-form--panel textarea { min-height:150px; }.contact-form--panel .form-row { gap:28px; }.send-button { min-height:58px; padding:16px 20px; }
.contact-panel--page { padding-top:160px; padding-bottom:100px; }

/* Completely rebuilt footer */
.site-footer { position:relative; padding:0; color:#fff; background:var(--adco-deep); overflow:hidden; }
.site-footer__pattern { position:absolute; inset:0; opacity:.055; background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,black); }
.site-footer__main { position:relative; display:grid; grid-template-columns:1.35fr .65fr 1fr; gap:70px; padding-block:80px 65px; }
.footer-logo { display:inline-flex; width:145px; height:145px; margin-bottom:24px; }.footer-logo img { width:100%; height:100%; object-fit:contain; }.footer-brand-block p { max-width:480px; margin:0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.8; }
.footer-nav-block h2,.footer-contact-block h2 { margin:0 0 24px; color:var(--adco-mint); font-size:20px!important; line-height:1.4; }.footer-menu { margin:0; padding:0; list-style:none; }.footer-menu a { padding:5px 0; color:rgba(255,255,255,.78); font-size:15px; }.footer-menu .menu-index { display:none; }
.footer-contact-block ul { display:grid; gap:15px; margin:0 0 28px; padding:0; list-style:none; }.footer-contact-block li { display:grid; grid-template-columns:25px 1fr; align-items:start; gap:10px; color:rgba(255,255,255,.75); font-size:15px; overflow-wrap:anywhere; }.footer-contact-block li i { margin-top:6px; color:var(--adco-mint); }.footer-cta { min-height:52px; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:13px 18px; color:#fff; border:1px solid rgba(255,255,255,.3); }
.site-footer__bottom { position:relative; display:flex; align-items:center; gap:28px; padding-block:22px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.58); font-size:14px; }.site-footer__bottom p { margin:0; font-size:14px; }.site-footer__bottom .language-switcher { margin-inline-start:auto; }.to-top { width:44px; height:44px; margin:0; }

/* Mobile offcanvas */
.mobile-offcanvas { display:none; }
body.mobile-menu-open { overflow:hidden; }

@media (max-width:1100px) {
    .site-header__inner { grid-template-columns:150px 1fr auto; }.site-brand,.site-header.is-scrolled .site-brand { width:125px; }.site-brand img,.site-brand .custom-logo { max-width:125px; }
    .header-menu { gap:24px; }.header-menu > li > a { font-size:15px; }
    .about-values__grid,.services-systems__grid { grid-template-columns:1fr 1fr; }
    .services-impact__content { grid-template-columns:1fr; }
}

@media (max-width:900px) {
    body { font-size:16px; }.section { padding-block:75px; }.container { width:88vw; }
    h2,.manifesto__statement h2,.value-chain__intro h2,.principles__head h2,.arms-preview__intro h2,.impact-cta__inner h2,.about-story h2,.purpose__head h2,.about-values__head h2,.services-story__intro h2,.services-systems__head h2,.services-impact h2 { font-size:clamp(26px,7.4vw,30px)!important; line-height:1.4!important; }
    h3,.chain-step h3,.principle h3,.purpose-card h3,.value-card h3,.services-systems h3 { font-size:clamp(21px,5.8vw,24px)!important; }
    p { font-size:16px; line-height:1.8; }.lead { font-size:clamp(18px,5vw,20px)!important; }.eyebrow,.section-label,.section-label span { font-size:12px!important; }
    .site-header { height:88px; }.site-header.is-scrolled { height:76px; }.site-header__inner { width:90vw; grid-template-columns:112px 1fr auto; }.site-brand,.site-header.is-scrolled .site-brand { width:104px; height:80px; }.site-brand img,.site-brand .custom-logo { max-width:104px; max-height:76px; }.site-header.is-scrolled .site-brand img,.site-header.is-scrolled .site-brand .custom-logo { max-height:68px; }
    .header-nav { display:none!important; }.site-header__actions > .language-switcher { display:none; }.menu-toggle { display:flex!important; }.menu-toggle > span { font-size:17px; }
    .hero__content { padding-top:125px; padding-bottom:70px; }.hero__title { font-size:clamp(32px,9.8vw,38px)!important; line-height:1.28!important; }.hero__lower > p { font-size:18px!important; }.hero__actions { width:100%; }.hero__actions .button { flex:1; min-width:145px; }.hero__pillars { font-size:13px; }.hero__coordinate,.hero__scroll { display:none; }
    .manifesto__grid,.about-story__layout { display:flex; flex-direction:column; gap:28px; }.manifesto__content,.about-story__content { display:grid; gap:22px; }.manifesto__image,.about-story__image { width:100%; height:105vw; max-height:560px; }
    .value-chain__intro,.principles__head,.purpose__head,.services-story__intro,.services-systems__head { grid-template-columns:1fr; gap:20px; }.value-chain__story,.services-story__layout { display:block!important; width:88vw; }.value-chain__visual,.services-story .investment-story__visual { position:relative!important; top:auto!important; width:100%; height:72vw!important; min-height:320px; max-height:520px; margin:0 0 35px; }.value-chain__steps,.services-story .investment-story__steps { display:grid!important; gap:14px; }.chain-step,.services-story .investment-step { min-height:0!important; display:grid!important; padding:28px 0!important; opacity:1; }.chain-step { grid-template-columns:42px 42px 1fr!important; }.chain-step h3,.chain-step p { grid-column:3; }.chain-step p,.services-story .investment-step p { font-size:16px; }
    .principles__track { grid-template-columns:1fr; width:88vw!important; }.principle__media { height:230px; }.principle { grid-template-columns:54px 1fr!important; }.principle__icon { width:54px!important; height:54px; margin-inline-start:20px; }
    .arms-preview__layout { grid-template-columns:1fr; }.impact-cta { min-height:560px; }.impact-cta__inner { display:block; }.impact-cta__inner .text-link { margin-top:26px; }
    .inner-hero { min-height:70svh; }.inner-hero__content { display:block; padding-bottom:55px; }.inner-hero__content h1 { margin:15px 0 18px; font-size:clamp(30px,9vw,36px)!important; line-height:1.35!important; }.inner-hero__content p { font-size:18px!important; }
    .purpose__grid { grid-template-columns:1fr; }.purpose-card { min-height:350px; padding:32px; }.purpose-card > i { margin:55px 0 22px; }.about-values__head { grid-template-columns:1fr; gap:18px; }.about-values__grid,.services-systems__grid { grid-template-columns:1fr; }.value-card,.services-systems__grid article { min-height:300px; }.value-card > i,.services-systems__grid i { margin:48px 0 24px; }.about-commitment { min-height:580px; }
    .services-impact { min-height:auto; }.services-impact__content { display:block; }.services-impact__cards { margin-top:38px; }.services-impact__cards article { min-height:185px; }.services-impact__cards h3 { font-size:18px!important; }
    .contact-panel__layout { grid-template-columns:1fr; }.contact-panel__details,.contact-panel__form-wrap { padding:50px 6vw; }.contact-panel__details h1 { font-size:clamp(30px,8.7vw,36px)!important; }.contact-panel__details h2 { font-size:clamp(26px,7.4vw,30px)!important; }.contact-panel--page { padding-top:120px; }.contact-form--panel .form-row { grid-template-columns:1fr; gap:0; }.contact-form--panel input,.contact-form--panel textarea { font-size:16px; }
    .site-footer__main { grid-template-columns:1fr; gap:45px; padding-block:65px 50px; }.footer-logo { width:128px; height:128px; }.footer-brand-block p { font-size:15px; }.site-footer__bottom { flex-wrap:wrap; }.site-footer__bottom .language-switcher { margin-inline-start:0; }.to-top { margin-inline-start:auto; }

    .mobile-offcanvas { position:fixed; inset:0; z-index:1100; display:flex; flex-direction:column; padding:24px 6vw 28px; color:#fff; background:var(--adco-deep); overflow:auto; visibility:hidden; opacity:0; pointer-events:none; transform:none; transition:none; isolation:isolate; }
    .mobile-offcanvas.is-open { visibility:visible; opacity:1; pointer-events:auto; }
    .mobile-offcanvas__grid { position:absolute; inset:0; z-index:-2; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.32) 1px,transparent 1px); background-size:72px 72px; }
    .mobile-offcanvas__orb { position:absolute; z-index:-1; width:330px; height:330px; left:-145px; bottom:-105px; border:1px solid rgba(185,220,169,.28); border-radius:50%; animation:mobileOrb 14s linear infinite; }.mobile-offcanvas__orb i { position:absolute; inset:18%; border:1px solid rgba(185,220,169,.2); border-radius:50%; }.mobile-offcanvas__orb i:last-child { inset:36%; }
    .mobile-offcanvas__top { display:flex; align-items:center; justify-content:space-between; padding-bottom:17px; border-bottom:1px solid rgba(255,255,255,.18); }.mobile-offcanvas__brand { width:80px; height:80px; }.mobile-offcanvas__brand img { width:100%; height:100%; object-fit:contain; }.mobile-offcanvas__close { position:relative; width:54px; height:54px; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; background:rgba(255,255,255,.06); }.mobile-offcanvas__close i { position:absolute; left:16px; top:26px; width:20px; height:1px; background:currentColor; transform:rotate(45deg); }.mobile-offcanvas__close i:last-child { transform:rotate(-45deg); }
    .mobile-offcanvas__body { flex:1; display:flex; flex-direction:column; justify-content:center; padding-block:35px; }.mobile-offcanvas__eyebrow { margin-bottom:18px; color:var(--adco-mint); font-size:12px; letter-spacing:.13em; }.mobile-menu { counter-reset:mobile-nav; margin:0; padding:0; list-style:none; }.mobile-menu li { counter-increment:mobile-nav; border-bottom:1px solid rgba(255,255,255,.15); opacity:1; }.mobile-offcanvas.is-open .mobile-menu li { animation:mobileNavIn .55s var(--ease) both; }.mobile-offcanvas.is-open .mobile-menu li:nth-child(2) { animation-delay:.08s; }.mobile-offcanvas.is-open .mobile-menu li:nth-child(3) { animation-delay:.16s; }.mobile-offcanvas.is-open .mobile-menu li:nth-child(4) { animation-delay:.24s; }.mobile-menu a { display:grid; grid-template-columns:42px 1fr auto; align-items:center; min-height:72px; font-size:clamp(25px,7.5vw,32px); font-weight:700; }.mobile-menu a::before { content:"0" counter(mobile-nav); color:var(--adco-mint); font-size:12px; }.mobile-menu a::after { content:"\f060"; font-family:"Font Awesome 6 Free"; font-size:14px; font-weight:900; }.mobile-menu .menu-index { display:none; }
    .mobile-offcanvas__footer { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,.18); }.mobile-offcanvas__footer > div { display:grid; gap:3px; }.mobile-offcanvas__footer span { color:var(--adco-mint); font-size:12px; }.mobile-offcanvas__footer a { font-size:14px; }.mobile-offcanvas__footer .language-switcher { display:flex; font-size:14px; }
}

@keyframes mobileNavIn { from { transform:translateY(18px); } to { transform:none; } }
@keyframes mobileOrb { to { transform:rotate(360deg); } }

@media (max-width:480px) {
    .hero__actions { flex-direction:column; }.hero__actions .button { width:100%; }.hero__lower > p { font-size:17px!important; }.hero__kicker { font-size:12px!important; }.hero__pillars { gap:9px; font-size:12px; }
    .principle__media { height:210px; }.principle__copy p { font-size:16px; }.services-impact__cards { grid-template-columns:1fr; }.contact-detail { grid-template-columns:28px 80px 1fr; gap:8px; }.contact-panel__details,.contact-panel__form-wrap { padding:44px 5vw; }
    .mobile-offcanvas { padding-inline:7vw; }.mobile-offcanvas__brand { width:72px; height:72px; }.mobile-menu a { min-height:68px; }
}

/* ADCO 4.1 — living systems, interactive storytelling and richer navigation. */
.no-js .site-preloader { display:none!important; }
.site-preloader { position:fixed; inset:0; z-index:9999; display:grid; place-content:center; justify-items:center; gap:16px; color:#fff; background:#052e2f; transition:clip-path .85s cubic-bezier(.76,0,.24,1),visibility .85s; clip-path:inset(0 0 0 0); }
.site-preloader.is-loaded { visibility:hidden; clip-path:inset(0 0 100% 0); pointer-events:none; }
.site-preloader > img { position:relative; z-index:2; width:126px; height:126px; object-fit:contain; animation:preloaderLogo 1.25s ease-in-out infinite alternate; }
.site-preloader > span { position:relative; z-index:2; color:rgba(255,255,255,.72); font-size:12px; letter-spacing:.24em; }
.site-preloader__orbit { position:absolute; width:290px; height:290px; border:1px solid rgba(185,220,169,.22); border-radius:50%; animation:preloaderOrbit 8s linear infinite; }
.site-preloader__orbit::before,.site-preloader__orbit::after,.site-preloader__orbit i { content:""; position:absolute; border:1px solid rgba(185,220,169,.15); border-radius:50%; }
.site-preloader__orbit::before { inset:14%; }.site-preloader__orbit::after { inset:30%; }.site-preloader__orbit i:first-child { width:9px; height:9px; top:19px; left:53px; border:0; background:var(--adco-mint); box-shadow:0 0 24px var(--adco-mint); }
.site-preloader__orbit i:nth-child(2) { inset:47%; background:rgba(185,220,169,.15); }.site-preloader__orbit i:last-child { display:none; }
.site-preloader__line { position:relative; z-index:2; width:150px; height:1px; margin-top:5px; background:rgba(255,255,255,.14); overflow:hidden; }.site-preloader__line i { display:block; width:48%; height:100%; background:var(--adco-mint); animation:preloaderLine 1.15s ease-in-out infinite; }

/* Header becomes a floating architectural element. */
.site-header { padding-top:14px; }
.site-header__inner { position:relative; height:82px; padding:0 22px; border:1px solid rgba(255,255,255,.22); border-radius:4px; background:linear-gradient(110deg,rgba(5,46,47,.5),rgba(5,46,47,.16)); box-shadow:0 14px 50px rgba(0,26,27,.12); backdrop-filter:blur(14px); transition:height .35s,background .35s,border-color .35s,box-shadow .35s; }
.site-header__inner::before { content:""; position:absolute; top:-1px; right:24px; width:90px; height:2px; background:linear-gradient(90deg,transparent,var(--adco-mint)); }
.site-header.is-scrolled { padding-top:8px; background:transparent; }
.site-header.is-scrolled .site-header__inner { height:68px; color:var(--adco-ink); border-color:rgba(9,66,62,.13); background:rgba(244,248,242,.9); box-shadow:0 12px 38px rgba(5,46,47,.1); }
body:not(.home) .site-header { background:transparent; }
body:not(.home) .site-header__inner { color:var(--adco-ink); border-color:rgba(9,66,62,.14); background:rgba(244,248,242,.9); }
.header-menu > li > a { position:relative; }
.header-menu > li > a::after { content:""; position:absolute; right:0; bottom:5px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .35s; }
.header-menu > li:hover > a::after,.header-menu > .current-menu-item > a::after { transform:scaleX(1); }
.site-header__actions .language-switcher { min-width:42px; min-height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; }
.site-header.is-scrolled .site-header__actions .language-switcher,body:not(.home) .site-header__actions .language-switcher { border-color:rgba(9,66,62,.18); }

/* Home / 02: editorial story plus a compact evidence dashboard. */
.manifesto { overflow:hidden; }
.manifesto__grid { position:relative; grid-template-columns:1.1fr .9fr; }
.manifesto__content { position:relative; z-index:2; align-self:center; }
.manifesto__metrics { display:grid; grid-template-columns:repeat(3,1fr); max-width:650px; margin-top:18px; border-top:1px solid var(--adco-line); border-inline-start:1px solid var(--adco-line); }
.manifesto__metrics > div { min-height:118px; display:flex; flex-direction:column; justify-content:center; padding:18px; border-inline-end:1px solid var(--adco-line); border-bottom:1px solid var(--adco-line); background:rgba(255,255,255,.42); transition:background .35s,transform .35s; }
.manifesto__metrics > div:hover { background:#fff; transform:translateY(-5px); }
.manifesto__metrics strong { color:var(--adco-green); font-family:var(--font-en); font-size:31px; line-height:1; }.manifesto__metrics span { margin-top:9px; color:#526963; font-size:14px; }
.manifesto__image { position:relative; border-radius:240px 240px 10px 10px; overflow:hidden; box-shadow:0 35px 80px rgba(5,46,47,.15); }
.manifesto__image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,46,46,.56),transparent 46%); pointer-events:none; }
.manifesto__image figcaption { z-index:2; }
.manifesto__image-badge { position:absolute; z-index:3; top:44px; right:32px; width:116px; height:116px; display:grid; place-content:center; justify-items:center; gap:7px; color:#fff; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(5,46,47,.48); backdrop-filter:blur(10px); animation:manifestoBadge 5s ease-in-out infinite; }.manifesto__image-badge i { color:var(--adco-mint); font-size:22px; }.manifesto__image-badge span { text-align:center; font-size:12px; line-height:1.45; }

/* Four lenses: an expanding cinematic gallery instead of static cards. */
.principles { overflow:hidden; }
.principles__head { align-items:end; }.principles__head h2 { margin:0 0 12px; }.principles__head p { max-width:620px; margin:0; color:rgba(255,255,255,.62); }
.principles__track { display:flex!important; gap:12px; min-height:610px; }
.principle { position:relative; flex:1 1 0; display:block!important; min-width:0!important; height:610px; padding:0!important; border:1px solid rgba(255,255,255,.15)!important; isolation:isolate; cursor:pointer; transition:flex .65s cubic-bezier(.22,1,.36,1),transform .4s,border-color .4s!important; }
.principle:hover,.principle:focus-visible { flex:1.55 1 0; transform:translateY(-8px); border-color:rgba(185,220,169,.66)!important; outline:none; }
.principle__media { position:absolute; inset:0; height:100%!important; overflow:hidden; }.principle__media img { width:100%; height:100%; object-fit:cover; transition:transform .8s!important; }.principle:hover .principle__media img,.principle:focus-visible .principle__media img { transform:scale(1.08); }.principle__media > span { position:absolute; top:24px; right:24px; z-index:3; color:#fff; font-size:13px; }
.principle__shade { position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(3,32,33,.97) 0%,rgba(3,32,33,.48) 55%,rgba(3,32,33,.12) 100%); }
.principle__icon { position:absolute!important; z-index:3; top:24px; left:24px; width:52px!important; height:52px!important; margin:0!important; display:grid; place-items:center; color:var(--adco-mint); border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(5,46,47,.35); backdrop-filter:blur(8px); }
.principle__copy { position:absolute; z-index:3; right:26px; left:26px; bottom:30px; padding:0!important; }.principle__copy h3 { color:#fff; margin:0 0 12px; }.principle__copy p { margin:0; color:rgba(255,255,255,.74); font-size:15px; line-height:1.75; }

/* Values constellation. */
.about-values { position:relative; overflow:hidden; background:linear-gradient(145deg,#eff6ed,#f9fbf7); }
.about-values::before { content:""; position:absolute; width:740px; height:740px; left:50%; bottom:-470px; border:1px solid rgba(19,95,97,.1); border-radius:50%; transform:translateX(-50%); box-shadow:0 0 0 90px rgba(19,95,97,.025),0 0 0 180px rgba(19,95,97,.018); }
.about-values__stage { position:relative; min-height:770px; }
.about-values__grid { position:relative; z-index:2; grid-template-columns:1fr 1fr; gap:120px 220px; border:0; }
.value-card { position:relative; min-height:310px; padding:32px; border:1px solid var(--adco-line)!important; background:rgba(255,255,255,.68); box-shadow:0 18px 45px rgba(5,46,47,.06); backdrop-filter:blur(10px); transition:transform .45s,background .45s,box-shadow .45s; }
.value-card:nth-child(odd) { transform:translateY(28px); }.value-card:nth-child(even) { transform:translateY(-20px); }
.value-card:hover { transform:translateY(-8px)!important; background:#fff; box-shadow:0 25px 60px rgba(5,46,47,.12); }
.value-card::before { content:""; position:absolute; top:-1px; right:-1px; width:68px; height:2px; background:var(--adco-green); }.value-card > i { width:58px; height:58px; display:grid; place-items:center; margin:48px 0 26px; border:1px solid var(--adco-line); border-radius:50%; background:#f4f8f2; font-size:25px; transition:transform .5s,background .5s,color .5s; }.value-card:hover > i { color:#fff; background:var(--adco-green); transform:rotate(-8deg) scale(1.08); }
.about-values__core { position:absolute; z-index:4; top:50%; left:50%; width:166px; height:166px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; border:14px solid rgba(244,248,242,.92); border-radius:50%; background:var(--adco-green); box-shadow:0 0 0 1px rgba(19,95,97,.18),0 20px 55px rgba(5,46,47,.2); transform:translate(-50%,-50%); animation:valuesCore 5s ease-in-out infinite; }.about-values__core i { color:var(--adco-mint); font-size:25px; }.about-values__core strong { margin-top:5px; font-size:19px; letter-spacing:.15em; }.about-values__core span { margin-top:2px; color:rgba(255,255,255,.65); font-size:9px; letter-spacing:.15em; }

/* Connected value-making process. */
.services-systems { position:relative; overflow:hidden; background:#f4f8f2; }
.services-systems__head { align-items:end; }.services-systems__head h2 { margin:0 0 12px; }.services-systems__head p { max-width:620px; margin:0; color:#526963; }
.services-systems__grid { position:relative; grid-template-columns:repeat(4,1fr); gap:22px; padding-top:68px; border:0; }
.services-systems__grid::before { content:""; position:absolute; z-index:0; top:112px; right:10%; left:10%; height:1px; background:linear-gradient(90deg,transparent,var(--adco-green) 16%,var(--adco-green) 84%,transparent); transform-origin:right; animation:processLine 3.4s ease-in-out infinite; }
.services-systems__grid article { position:relative; z-index:1; min-height:390px; padding:0 22px 28px; text-align:center; border:0!important; background:transparent; transition:transform .4s; }.services-systems__grid article:hover { transform:translateY(-9px); }
.services-systems__grid article > span { position:absolute; top:2px; right:12px; color:rgba(19,95,97,.5); font-family:var(--font-en); font-size:13px; }
.services-systems__grid .process-icon { width:90px; height:90px; display:grid; place-items:center; margin:0 auto 28px; color:var(--adco-green); border:1px solid rgba(19,95,97,.26); border-radius:50%; background:#f4f8f2; box-shadow:0 0 0 10px #f4f8f2,0 15px 35px rgba(5,46,47,.08); transition:color .4s,background .4s,transform .4s; }.services-systems__grid article:hover .process-icon { color:#fff; background:var(--adco-green); transform:rotate(-7deg) scale(1.06); }.services-systems__grid .process-icon i { display:block; margin:0; font-size:29px; color:inherit; }
.services-systems__grid small { color:var(--adco-green); font-size:11px; letter-spacing:.18em; }.services-systems__grid h3 { margin:12px 0 13px; }.services-systems__grid p { font-size:16px; }

/* Impact becomes a measured living system. */
.services-impact { min-height:900px; }
.services-impact__overlay { background:linear-gradient(100deg,rgba(3,34,35,.97),rgba(4,50,49,.58))!important; }
.services-impact__grid { opacity:.2; background-size:72px 72px; animation:impactGrid 18s linear infinite; }
.services-impact__content { position:relative; z-index:2; grid-template-columns:1fr 1fr; align-items:center; }
.services-impact__statement { max-width:670px; }.services-impact__statement p { font-size:18px; }
.services-impact__cards { gap:12px; border:0; }.services-impact__cards article { min-height:220px; padding:25px; border:1px solid rgba(255,255,255,.2)!important; background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(5,46,47,.22)); transition:transform .4s,background .4s; }.services-impact__cards article:hover { transform:translateY(-7px); background:rgba(19,95,97,.58); }.services-impact__cards i { width:48px; height:48px; display:grid; place-items:center; margin:27px 0 17px; border:1px solid rgba(185,220,169,.45); border-radius:50%; }
.services-impact__signal { position:absolute; z-index:1; top:72px; left:7vw; width:230px; height:230px; border:1px solid rgba(185,220,169,.25); border-radius:50%; animation:preloaderOrbit 18s linear infinite; }.services-impact__signal > i { position:absolute; inset:17%; border:1px solid rgba(185,220,169,.2); border-radius:50%; }.services-impact__signal > i:nth-child(2) { inset:34%; }.services-impact__signal > i:nth-child(3) { inset:49%; background:var(--adco-mint); box-shadow:0 0 35px var(--adco-mint); }.services-impact__signal > span { position:absolute; top:50%; right:50%; display:grid; text-align:center; transform:translate(50%,-50%); }.services-impact__signal b { font-size:11px; letter-spacing:.12em; }.services-impact__signal small { color:var(--adco-mint); font-size:8px; letter-spacing:.15em; }

/* Wider form, clearer hierarchy. */
.contact-panel__layout { grid-template-columns:.72fr 1.28fr; width:min(94vw,1440px); max-width:1440px; }
.contact-panel__details { padding-inline:clamp(34px,4vw,62px); }
.contact-panel__form-wrap { width:100%; padding:58px clamp(34px,4.2vw,68px); }
.contact-panel__form-wrap,.contact-form--panel,.contact-form--panel label,.contact-form--panel input,.contact-form--panel textarea { box-sizing:border-box; }
.contact-form--panel,.contact-form--panel input,.contact-form--panel textarea { width:100%; }
.contact-form--panel .form-row { grid-template-columns:1fr 1fr; }

/* Opposite-side discover marker. */
.hero__scroll { right:auto!important; left:5vw!important; }

/* Footer: invitation + moving system line + useful content. */
.site-footer { background:linear-gradient(145deg,#052e2f,#073d3d 65%,#052e2f); }
.site-footer__pattern { opacity:.08; mask-image:radial-gradient(circle at 22% 25%,black,transparent 70%); }
.site-footer__callout { position:relative; display:flex; align-items:end; justify-content:space-between; gap:50px; padding-block:90px 65px; border-bottom:1px solid rgba(255,255,255,.17); }.site-footer__callout > div > span { color:var(--adco-mint); font-size:12px; letter-spacing:.18em; }.site-footer__callout h2 { margin:14px 0 0; color:#fff; font-size:clamp(32px,3vw,40px)!important; line-height:1.35!important; }.site-footer__callout h2 em { color:var(--adco-mint); font-style:normal; font-weight:300; }.site-footer__callout > a { flex:0 0 148px; width:148px; height:148px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; color:#fff; border:1px solid rgba(255,255,255,.45); border-radius:50%; transition:color .4s,background .4s,transform .4s; }.site-footer__callout > a:hover { color:var(--adco-deep); background:var(--adco-mint); transform:rotate(-7deg) scale(1.03); }.site-footer__callout > a span { font-size:16px; font-weight:700; }
.site-footer__marquee { position:relative; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.12); }.site-footer__marquee > div { width:max-content; display:flex; align-items:center; gap:26px; padding:16px 0; color:rgba(255,255,255,.23); animation:footerMarquee 28s linear infinite; }.site-footer__marquee span { font-size:13px; letter-spacing:.2em; }.site-footer__marquee i { width:6px; height:6px; border-radius:50%; background:var(--adco-mint); opacity:.8; }
.site-footer__main { padding-block:65px; }
.footer-brand-block { position:relative; }.footer-brand-block::after { content:"ADCO"; position:absolute; right:0; bottom:-52px; color:rgba(255,255,255,.035); font-family:var(--font-en); font-size:110px; line-height:1; letter-spacing:.05em; pointer-events:none; }
.footer-menu a { display:flex; align-items:center; gap:8px; transition:color .3s,transform .3s; }.footer-menu a::before { content:""; width:15px; height:1px; background:var(--adco-mint); transform:scaleX(.35); transform-origin:right; transition:transform .3s; }.footer-menu a:hover { color:#fff; transform:translateX(-4px); }.footer-menu a:hover::before { transform:scaleX(1); }

@keyframes preloaderOrbit { to { transform:rotate(360deg); } }
@keyframes preloaderLogo { to { transform:scale(1.045); } }
@keyframes preloaderLine { 0% { transform:translateX(110%); } 100% { transform:translateX(-230%); } }
@keyframes manifestoBadge { 50% { transform:translateY(-9px) rotate(3deg); } }
@keyframes valuesCore { 50% { transform:translate(-50%,-50%) scale(1.045); box-shadow:0 0 0 1px rgba(19,95,97,.18),0 25px 70px rgba(5,46,47,.28); } }
@keyframes processLine { 0%,100% { transform:scaleX(.35); opacity:.35; } 50% { transform:scaleX(1); opacity:1; } }
@keyframes impactGrid { to { background-position:72px 72px; } }
@keyframes footerMarquee { to { transform:translateX(50%); } }

@media (max-width:1100px) {
    .principles__track { min-height:570px; }.principle { height:570px; }.principle__copy p { font-size:14px; }
    .about-values__grid { gap:100px 150px; }
    .services-impact__signal { width:180px; height:180px; top:45px; }
}

@media (max-width:900px) {
    .site-preloader__orbit { width:250px; height:250px; }.site-preloader > img { width:108px; height:108px; }
    .site-header { padding-top:8px; }.site-header__inner { height:72px; padding:0 14px; border-color:rgba(255,255,255,.18); }.site-header.is-scrolled .site-header__inner { height:62px; }.site-brand,.site-header.is-scrolled .site-brand { height:68px; }.site-brand img,.site-brand .custom-logo { max-height:64px; }.site-header.is-scrolled .site-brand img,.site-header.is-scrolled .site-brand .custom-logo { max-height:56px; }
    .manifesto__metrics { grid-template-columns:1fr; }.manifesto__metrics > div { min-height:86px; display:grid; grid-template-columns:75px 1fr; align-items:center; }.manifesto__metrics span { margin:0; }.manifesto__image { border-radius:160px 160px 8px 8px; }.manifesto__image-badge { width:100px; height:100px; top:28px; right:22px; }
    .principles__head > div p { font-size:16px; }.principles__track { display:grid!important; min-height:0; gap:14px; }.principle,.principle:hover,.principle:focus-visible { width:100%!important; height:480px; transform:none; }.principle__copy { right:24px; left:24px; }.principle__copy p { font-size:16px; }
    .about-values__stage { min-height:0; }.about-values__grid { grid-template-columns:1fr; gap:16px; }.about-values__core { position:relative; top:auto; left:auto; width:130px; height:130px; margin:0 auto 34px; border-width:10px; transform:none; animation:valuesCoreMobile 5s ease-in-out infinite; }.value-card,.value-card:nth-child(odd),.value-card:nth-child(even),.value-card:hover { min-height:280px; transform:none!important; }.value-card > i { margin:38px 0 22px; }
    .services-systems__head > div p { font-size:16px; }.services-systems__grid { grid-template-columns:1fr; gap:14px; padding-top:30px; }.services-systems__grid::before { top:35px; right:44px; bottom:35px; left:auto; width:1px; height:auto; background:linear-gradient(transparent,var(--adco-green),transparent); animation:none; }.services-systems__grid article { min-height:0; display:grid; grid-template-columns:90px 1fr; column-gap:22px; padding:24px 0; text-align:right; }.services-systems__grid article > span { top:29px; right:0; z-index:2; width:90px; text-align:center; color:#fff; }.services-systems__grid .process-icon { grid-row:1 / span 4; width:90px; height:90px; margin:0; }.services-systems__grid small,.services-systems__grid h3,.services-systems__grid p { grid-column:2; }.services-systems__grid h3 { margin:7px 0 8px; }.services-systems__grid p { margin:0; }
    .services-impact { min-height:auto; padding-block:100px; }.services-impact__content { grid-template-columns:1fr; }.services-impact__signal { top:42px; left:6vw; width:130px; height:130px; opacity:.75; }.services-impact__cards { margin-top:42px; }
    .contact-panel__layout { grid-template-columns:1fr; width:90vw; }.contact-panel__form-wrap { padding:48px 5vw; }.contact-form--panel .form-row { grid-template-columns:1fr; }
    .site-footer__callout { align-items:center; padding-block:70px 50px; }.site-footer__callout > a { flex-basis:118px; width:118px; height:118px; }.site-footer__main { padding-block:55px; }
}

@keyframes valuesCoreMobile { 50% { transform:scale(1.045); } }

@media (max-width:560px) {
    .site-header__inner { width:94vw; grid-template-columns:100px 1fr auto; }.menu-toggle > span { display:none; }
    .principle,.principle:hover,.principle:focus-visible { height:440px; }
    .services-systems__grid article { grid-template-columns:72px 1fr; column-gap:16px; }.services-systems__grid .process-icon { width:72px; height:72px; }.services-systems__grid article > span { width:72px; top:28px; }.services-systems__grid::before { right:35px; }
    .site-footer__callout { display:grid; }.site-footer__callout > a { justify-self:end; width:112px; height:112px; }.site-footer__marquee > div { animation-duration:20s; }
}

/* 4.1.2 final header ergonomics. */
.site-brand img,.site-brand .custom-logo { transform:scale(1.12); transform-origin:center; }
@media (max-width:900px) {
    .menu-toggle { width:48px; min-width:48px; height:48px; justify-content:center; }
    .site-brand img,.site-brand .custom-logo { transform:scale(1.08); }
}

@media (prefers-reduced-motion:reduce) {
    .site-preloader__orbit,.site-preloader__line i,.manifesto__image-badge,.about-values__core,.services-systems__grid::before,.services-impact__grid,.services-impact__signal,.site-footer__marquee > div { animation:none!important; }
}

/* 4.1.1 visual correction — calmer rhythm and conflict-safe layouts. */
.manifesto__grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(50px,7vw,105px); align-items:center; }
.manifesto__content { display:block!important; grid-template-columns:none!important; }
.manifesto__statement,.manifesto__statement h2,.manifesto__body,.manifesto__metrics { width:100%!important; max-width:640px; }
.manifesto__body { margin-top:25px; }.manifesto__metrics { margin-top:32px; }
.manifesto__image { height:620px; }
.principles__track { min-height:540px; }.principle { height:540px; }.principles__head { margin-bottom:42px; }

/* Inner heroes read as one intentional composition, not separated columns. */
.inner-hero__content { display:flex!important; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:0; padding-bottom:clamp(65px,8vw,105px); }
.inner-hero__content .eyebrow { margin-bottom:16px; }.inner-hero__content h1 { max-width:820px; margin:0 0 19px!important; }.inner-hero__content p { max-width:660px; margin:0; color:rgba(255,255,255,.8); }
body:not(.home) .site-header__inner { background:rgba(237,244,234,.9); }

@media (max-width:1100px) {
    .principles__track { min-height:510px; }.principle { height:510px; }
}

@media (max-width:900px) {
    .manifesto__grid { display:flex; gap:34px; }.manifesto__statement,.manifesto__statement h2,.manifesto__body,.manifesto__metrics { max-width:none; }.manifesto__image { height:105vw; }
    .principles__track { min-height:0; }.principle,.principle:hover,.principle:focus-visible { height:460px; }
    .inner-hero__content { display:flex!important; justify-content:flex-end; padding-bottom:52px; }.inner-hero__content h1 { max-width:100%; }.inner-hero__content p { max-width:92%; }
}

@media (max-width:560px) {
    .principle,.principle:hover,.principle:focus-visible { height:420px; }
}
