@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwts5juqtsyllr5jn4cxbeoti7ax9k0.woff2) format('woff2');
  unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwts5juqtsyllr5jn4cxbeotjlax9k0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwts5juqtsyllr5jn4cxbeotjzaxw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorg_50vqvkxgv.woff2) format('woff2');
  unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorg_50ugvkxgv.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorg_50uyvkw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorep-0vqvkxgv.woff2) format('woff2');
  unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorep-0ugvkxgv.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorep-0uyvkw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorcf_0vqvkxgv.woff2) format('woff2');
  unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorcf_0ugvkxgv.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Hind Siliguri';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/hindsiliguri-ijwos5juqtsyllr5jn4cxbeorcf_0uyvkw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/nunitosans-pe0tmimslybiv1o4x1m8ce2xcx3yop4tqpf_metm0lfgwvpnn64cl7u8uphzibmv51q42ptcp7t4r-tckq.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/nunitosans-pe0tmimslybiv1o4x1m8ce2xcx3yop4tqpf_metm0lfgwvpnn64cl7u8uphzibmv51q42ptcp7txr-tckq.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/nunitosans-pe0tmimslybiv1o4x1m8ce2xcx3yop4tqpf_metm0lfgwvpnn64cl7u8uphzibmv51q42ptcp7t6r-tckq.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/nunitosans-pe0tmimslybiv1o4x1m8ce2xcx3yop4tqpf_metm0lfgwvpnn64cl7u8uphzibmv51q42ptcp7t7r-tckq.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 600 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/nunitosans-pe0tmimslybiv1o4x1m8ce2xcx3yop4tqpf_metm0lfgwvpnn64cl7u8uphzibmv51q42ptcp7t1r-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.nav-dropdown-panel[hidden] { display:none!important; }


.case-photo-gallery { row-gap:34px; }
.case-photo-gallery figure { margin:0; min-width:0; }
.case-photo-gallery .case-photo-open { position:relative; display:block; width:100%; aspect-ratio:3/2; overflow:hidden; padding:0; border:0; border-radius:12px; background:var(--navy); cursor:zoom-in; }
.case-photo-gallery .case-photo-open:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
.case-photo-gallery figure img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:0; }
.case-photo-gallery .case-photo-portrait img { filter:contrast(1.08) saturate(.90) brightness(1.01); }
.case-photo-gallery figcaption { margin-top:12px; font-size:16px; font-weight:600; color:var(--navy); }

.photo-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:24px 76px; border:0; background:transparent; color:#fff; overflow:hidden; }
.photo-lightbox[open] { display:grid; grid-template-columns:56px minmax(0,1fr) 56px; align-items:center; gap:18px; }
.photo-lightbox::backdrop { background:rgba(7,18,32,.48); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); }
.photo-lightbox-content { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; margin:0; }
.photo-lightbox-frame { position:relative; display:block; max-width:90vw; max-height:80vh; line-height:0; }
.case-photo-gallery .photo-lightbox-content img { position:static; inset:auto; display:block; width:auto; max-width:90vw; height:auto; max-height:80vh; border-radius:0; object-fit:contain; cursor:zoom-out; }
.photo-lightbox-content figcaption { position:absolute; right:0; bottom:4px; left:0; display:flex; gap:18px; align-items:center; justify-content:center; text-align:center; font-size:15px; text-shadow:0 1px 5px #000; }
.photo-lightbox-count { color:rgba(255,255,255,.82); white-space:nowrap; }
.photo-lightbox button { color:#fff; cursor:pointer; }
.photo-lightbox-close { position:absolute; z-index:2; top:12px; right:12px; display:grid; place-items:center; width:48px; height:48px; border:2px solid #fff; border-radius:50%; background:var(--green-dark); color:#fff; font-size:34px; font-weight:700; line-height:1; box-shadow:0 2px 14px rgba(0,0,0,.55); }
.photo-lightbox-nav { width:52px; height:52px; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(7,18,32,.58); font-size:26px; }
.photo-lightbox button:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
@media(max-width:650px) {
    .photo-lightbox { padding:20px 10px; }
    .photo-lightbox[open] { grid-template-columns:38px minmax(0,1fr) 38px; gap:6px; }
    .photo-lightbox-nav { width:38px; height:44px; font-size:20px; }
    .photo-lightbox-close { top:8px; right:8px; width:42px; height:42px; }
    .photo-lightbox-content figcaption { flex-direction:column; gap:4px; font-size:14px; }
}
.case-photo-note { grid-column:1/-1; margin:0; font-size:14px; color:var(--muted); }

.case-brief { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; padding:45px 0 55px; border-bottom:1px solid var(--line); }
.case-brief h2,.case-questions h2 { font-size:clamp(30px,3.5vw,43px); }
.case-brief>div>p:not(.eyebrow) { font-size:18px; line-height:1.7; margin:0 0 22px; }
.case-brief nav { display:flex; flex-wrap:wrap; gap:12px 24px; }
.case-brief nav a { font-size:15px; color:var(--green-dark); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.case-source-details { margin-top:26px; border-block:1px solid var(--line); font-size:16px; line-height:1.65; }
.case-source-details summary { cursor:pointer; padding:18px 0; font-weight:600; }
.case-source-details>div { max-width:850px; padding-bottom:20px; }
.case-source-details p { margin:12px 0; color:var(--muted); }
.case-questions { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; }
.case-questions>div>p:not(.eyebrow) { font-size:18px; line-height:1.6; margin:22px 0; color:var(--muted); }
.case-questions .faq-list details p { font-size:17px; }
#projectcijfers,#projectvragen { scroll-margin-top:110px; }
@media(max-width:800px) { .case-brief,.case-questions { grid-template-columns:1fr; gap:26px; } }

.case-testimonial video { display:block; margin:30px auto 0; }
.case-testimonial blockquote { max-width:760px; margin:28px auto 0; color:var(--navy); font-size:clamp(21px,2.4vw,28px); line-height:1.5; }
.case-gallery-heading { grid-column:1/-1; margin-bottom:12px; }
.case-gallery-heading h2 { font-size:clamp(30px,3.5vw,43px); }
.case-evidence .section-top>p { max-width:390px; color:var(--muted); line-height:1.6; font-size:17px; }
.case-evidence-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.case-evidence-grid-single { grid-template-columns:minmax(0,760px); }
.case-evidence-grid article { padding:30px; background:var(--mint); border-radius:12px; }
.case-evidence-grid h3 { margin:0 0 24px; font-size:23px; }
.case-evidence-grid h4 { margin:32px 0 14px; font-size:18px; color:var(--navy); }
.case-evidence table { width:100%; border-collapse:collapse; font-size:16px; }
.case-evidence caption { text-align:left; font-size:13px; color:var(--muted); margin-bottom:12px; }
.case-evidence th,.case-evidence td { padding:13px 8px; border-bottom:1px solid #c8ded6; text-align:left; }
.case-evidence th { font-weight:600; }
.case-evidence td strong { color:var(--green-dark); }
.case-evidence-grid article>p { font-size:14px; line-height:1.6; color:var(--muted); margin:20px 0 0; }
@media(max-width:800px) { .case-evidence-grid { grid-template-columns:1fr; } }
@media(max-width:650px) { .case-evidence-grid article { padding:20px 14px; }.case-evidence table { font-size:14px; }.case-evidence th,.case-evidence td { padding:12px 5px; } }

.realisation-overview { padding:60px 0 90px; }.realisation-overview h1 { font-size:clamp(38px,5vw,62px); margin:18px 0; line-height:1.12; }.realisation-overview h1 em { color:var(--green); font-style:normal; }.realisation-lead { max-width:650px; color:var(--muted); font-size:18px; line-height:1.6; }
.realisation-filters { margin-top:38px; padding:25px; background:var(--mint); border-radius:12px; }.realisation-filter-top { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; }.realisation-filter-top fieldset { flex:1; }.realisation-sports { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:23px; }.realisation-sports button { display:flex; align-items:center; gap:9px; padding:10px 20px; border:1px solid #c8ded7; border-radius:30px; background:white; color:var(--navy); font:600 16px var(--font-body); cursor:pointer; }.realisation-sports button[aria-pressed=true] { color:#fff; background:var(--navy); border-color:var(--navy); }.realisation-sports img { width:24px; height:24px; }.realisation-sports button[aria-pressed=true] img { filter:brightness(0) invert(1); }.nearby-filter { min-width:280px; padding-left:28px; border-left:1px solid #c8ded7; }.nearby-filter>span { display:block; margin-bottom:9px; color:var(--muted); font-size:13px; }.nearby-button { display:flex; align-items:center; gap:9px; padding:12px 18px; border:0; border-radius:28px; background:var(--green); color:#fff; font:700 15px var(--font-body); cursor:pointer; }.nearby-button>span { font-size:21px; line-height:1; }.nearby-button:hover,.nearby-button.is-active { background:var(--navy); }.nearby-button:disabled { cursor:wait; opacity:.7; }.nearby-status { margin:18px 0 0; color:var(--green-dark); font-size:14px; font-weight:600; }.realisation-location { display:flex; gap:20px; align-items:end; flex-wrap:wrap; padding-top:20px; border-top:1px solid #c8ded7; }.realisation-location label { font-size:14px; font-weight:600; }.realisation-location input,.realisation-location select { display:block; padding:11px 14px; margin-top:7px; border:1px solid #c8ded7; border-radius:6px; background:#fff; font:400 16px var(--font-body); color:var(--navy); }.filter-reset { padding:12px 0; border:0; background:none; color:var(--navy); font:600 14px var(--font-body); text-decoration:underline; cursor:pointer; }.realisation-results { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center; margin:26px 0; }.realisation-results p { margin:0; }.realisation-results small { color:var(--muted); font-size:13px; }.realisation-caption [data-project-distance] { color:var(--green-dark); font-weight:700; }
.realisation-filters fieldset { margin:0; padding:0; border:0; }.realisation-filters legend { margin-bottom:12px; font-size:14px; font-weight:700; }.realisation-sports .filter-pill { display:flex; align-items:center; gap:9px; padding:10px 20px; border:1px solid #c8ded7; border-radius:30px; background:#fff; color:var(--navy); font:600 16px var(--font-body); }.realisation-sports .filter-pill.is-active { color:#fff; background:var(--navy); border-color:var(--navy); }.realisation-sports .filter-pill img { width:24px; height:24px; object-fit:contain; }.realisation-sports .filter-pill.is-active img { filter:brightness(0) invert(1); }.realisation-location .button { border:0; cursor:pointer; }
.realisation-sports-primary { gap:12px; }.realisation-sports-primary .filter-pill { min-height:48px; padding:11px 22px; border-color:#a9d4c8; font-family:var(--font-heading); font-size:17px; font-weight:800; box-shadow:0 3px 12px rgba(2,43,82,.06); }.realisation-sports-primary .filter-pill:not(.is-active):hover { border-color:var(--green); color:var(--green-dark); transform:translateY(-1px); }.realisation-secondary-filters { margin-top:18px; }.realisation-sports-secondary { gap:7px; }.realisation-sports-secondary .filter-pill { gap:6px; padding:6px 11px; border-color:transparent; background:rgba(255,255,255,.62); color:#536674; font-size:12px; font-weight:600; }.realisation-sports-secondary .filter-pill img { width:17px; height:17px; opacity:.72; }.realisation-sports-secondary .filter-pill:hover { border-color:#c8ded7; color:var(--navy); background:#fff; }.realisation-sports-secondary .filter-pill.is-active { color:#fff; background:var(--navy); }.realisation-sports-secondary .filter-pill.is-active img { opacity:1; }
.realisation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }.realisation-photo { display:block; position:relative; height:260px; border-radius:12px; overflow:hidden; background:var(--navy); }.realisation-photo>img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }.realisation-photo:hover>img { transform:scale(1.04); }.realisation-photo:after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#021c32d9); pointer-events:none; }.realisation-photo .project-tag { position:absolute; left:16px; top:16px; z-index:2; }.realisation-photo-tags { position:absolute; left:16px; right:16px; bottom:16px; display:flex; flex-wrap:wrap; gap:6px; z-index:2; }.realisation-photo-tags span { padding:4px 9px; border:1px solid #ffffff66; border-radius:20px; background:#062846aa; color:white; font-size:13px; }.realisation-caption p { margin:16px 0 5px; color:var(--muted); font-size:14px; }.realisation-caption h3 { font-size:21px; margin:0; }.realisation-caption h3 a { display:flex; justify-content:space-between; gap:10px; }.realisation-caption h3 span { color:var(--green); }.realisation-empty { padding:50px 0; }.realisation-empty h2 { font-size:28px; }
.case-hero { position:relative; min-height:570px; display:flex; align-items:center; color:white; background:var(--navy); }.case-hero>img { position:absolute; width:100%; height:100%; object-fit:cover; }.case-shade { position:absolute; inset:0; background:linear-gradient(90deg,#021b33f2,#021b33b8 50%,#021b3333); }.case-hero-copy { position:relative; padding-top:40px; padding-bottom:50px; }.case-back { display:inline-block; margin-bottom:30px; color:#d5e8e2; font-size:14px; }.case-hero-copy .eyebrow { color:#70d9c4; }.case-hero h1 { color:white; font-size:clamp(38px,5vw,63px); line-height:1.08; margin:18px 0 22px; }.case-hero h1 em { color:#70d9c4; font-style:normal; }.case-hero-copy>p:not(.eyebrow) { max-width:530px; font-size:19px; line-height:1.5; margin-bottom:26px; }.case-numbers { display:grid; grid-template-columns:repeat(4,1fr); padding:32px 0; gap:25px; }.case-numbers>div { border-left:2px solid var(--green); padding-left:20px; }.case-numbers strong { display:block; color:var(--green-dark); font:900 40px var(--font-heading); }.case-numbers span { font-size:16px; }.case-source { font-size:13px; color:var(--muted); padding-bottom:15px; }.case-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }.case-story h2,.case-finance h2 { font-size:clamp(30px,3.5vw,43px); margin-bottom:24px; }.case-story p:not(.eyebrow),.case-finance p:not(.eyebrow) { font-size:18px; line-height:1.7; margin-bottom:20px; }.case-story-grid>img { display:block; width:100%; height:380px; object-fit:cover; object-position:center; border-radius:12px; }.case-story-tint { background:var(--mint); }.case-finance { background:var(--navy); color:#d5e3ec; }.case-finance h2 { color:#fff; }.case-finance h2 em,.case-finance .eyebrow { color:#70d9c4; }.case-finance-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; }.case-finance-steps article { padding:22px 0; border-bottom:1px solid #ffffff33; }.case-finance-steps article:first-child { padding-top:0; }.case-finance-steps strong { color:#70d9c4; font-size:14px; }.case-finance-steps h3 { color:white; font-size:24px; margin:10px 0; }.case-finance-steps p { margin:0!important; font-size:16px!important; }.case-testimonial { text-align:center; }.case-testimonial h2 { font-size:38px; }.case-testimonial>p:not(.eyebrow) { font-size:18px; max-width:700px; margin:24px auto; }.case-testimonial video { width:min(100%,780px); max-height:480px; background:var(--navy); border-radius:12px; }.case-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; padding-top:72px; padding-bottom:65px; }.case-gallery img { width:100%; height:280px; object-fit:cover; border-radius:12px; }
@media(max-width:900px) { .realisation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.case-story-grid,.case-finance-grid { gap:35px; }.case-numbers { grid-template-columns:1fr 1fr; }.case-gallery { gap:14px; }.case-gallery img { height:210px; } }
@media(max-width:650px) { .realisation-grid,.case-story-grid,.case-finance-grid { grid-template-columns:1fr; }.realisation-overview { padding-top:38px; }.realisation-filters { padding:18px; }.realisation-filter-top { display:block; }.nearby-filter { min-width:0; margin:2px 0 20px; padding:20px 0 0; border-top:1px solid #c8ded7; border-left:0; }.nearby-button { width:100%; justify-content:center; }.realisation-location label:first-child { width:100%; }.realisation-location input { width:100%; }.case-hero { min-height:550px; }.case-gallery { grid-template-columns:1fr; padding-top:52px; }.case-gallery img { height:280px; }.case-numbers strong { font-size:33px; }.case-story-grid>img { height:290px; }.case-testimonial h2 { font-size:30px; } }

.ecosports-footer { padding:0; background:#031e35; color:#c3d0d8; }
.footer-invitation { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:60px 0 48px; border-bottom:1px solid #ffffff24; }
.footer-invitation .eyebrow { color:#70d9c4; font-size:13px; margin-bottom:18px; }
.footer-invitation h2 { color:#fff; font-size:clamp(32px,3.6vw,48px); line-height:1.13; margin:0; }
.footer-invitation h2 em { color:#70d9c4; }
.footer-invitation .button { flex-shrink:0; }
.footer-directory { display:grid; grid-template-columns:1.2fr 1.8fr 1fr 1.15fr; gap:36px; padding:48px 0 52px; }
.footer-logo { display:block; position:relative; width:190px; height:44px; overflow:hidden; }
.footer-identity .footer-logo img { position:absolute; width:230px; max-width:none; height:auto; left:-15px; top:-30px; }
.footer-identity p { font-size:16px; line-height:1.6; max-width:260px; margin:22px 0; }
.footer-directory h3 { font-size:16px; color:#fff; margin:0 0 22px; }
.footer-directory nav,.footer-contact-details { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-directory nav h3,.footer-contact-details h3 { margin-bottom:8px; }
.footer-applications>div { display:grid; grid-template-columns:1fr 1fr; gap:12px 25px; width:100%; }
.footer-directory a { font-size:15px; line-height:1.5; transition:color .2s; }
.ecosports-footer a:hover { color:#70d9c4; }
.ecosports-footer a:focus-visible { outline:2px solid #70d9c4; outline-offset:5px; border-radius:3px; }
.footer-social-links { display:flex; flex-wrap:wrap; gap:12px; }
.footer-social-links a { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.footer-contact-details .footer-phone { font-family:var(--font-heading); font-weight:800; font-size:22px; color:#fff; }
.footer-contact-details address { margin-top:10px; font-size:15px; line-height:1.6; font-style:normal; }
.footer-project-count { display:inline-block; margin-left:5px; padding:1px 7px; color:#70d9c4; border:1px solid #70d9c44d; border-radius:20px; font-size:12px; }
.footer-legal { display:flex; flex-wrap:wrap; gap:20px 32px; align-items:center; padding:24px 0 28px; border-top:1px solid #ffffff24; color:#a5b9c6; font-size:13px; }
.footer-legal-links { display:flex; gap:24px; margin-left:auto; }
@media(max-width:1100px) { .footer-directory { grid-template-columns:1fr 1.5fr; gap:40px; }.footer-invitation { gap:28px; } }
@media(max-width:650px) { .footer-invitation { flex-direction:column; align-items:flex-start; padding:44px 0 36px; gap:28px; }.footer-directory { grid-template-columns:1fr 1fr; gap:36px 24px; padding:36px 0; }.footer-identity,.footer-applications { grid-column:1/-1; }.footer-identity p { max-width:330px; }.footer-directory a { font-size:14px; }.footer-contact-details .footer-phone { font-size:20px; }.footer-legal { flex-direction:column; align-items:flex-start; gap:10px; }.footer-legal-links { margin-left:0; } }

:root { --navy:#022b52; --deep:#022b52; --green:#23a88f; --green-dark:#1b927d; --mint:#edf8f5; --warm:#f7f7f7; --ink:#022b52; --muted:#4f5e68; --line:#e1e5e7; --font-heading:"Nunito Sans",sans-serif; --font-body:"Hind Siliguri",sans-serif; }
.contact-page-main { padding:60px 0 86px; background:#f5f9f7; }.contact-page-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:74px; align-items:start; }.contact-breadcrumb { display:block; margin-bottom:46px; color:var(--muted); font-size:13px; }.contact-page-intro h1 { margin-bottom:24px; font-size:clamp(40px,4.5vw,58px); }.contact-page-intro>p:not(.eyebrow) { color:var(--muted); font-size:18px; line-height:1.65; }.contact-direct { display:grid; gap:14px; margin:34px 0 24px; }.contact-direct a { padding:18px 22px; border-left:3px solid var(--green); border-radius:0 8px 8px 0; background:#fff; }.contact-direct a>span { display:block; color:var(--green-dark); font-size:13px; font-weight:700; }.contact-direct strong { display:block; color:var(--navy); font-family:var(--font-heading); font-size:24px; }.contact-direct small { color:var(--muted); font-size:13px; }.contact-response { display:flex; align-items:center; gap:13px; color:var(--navy); }.contact-response>span { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:50%; background:#dff2ec; color:var(--green-dark); }.contact-response p { margin:0; font-size:14px; line-height:1.45; }.contact-help { margin-top:32px; padding-top:26px; border-top:1px solid #dce7e2; }.contact-help h3 { margin-bottom:9px; font-size:19px; }.contact-help p { color:var(--muted); font-size:15px; }
.contact-page-form { padding:36px; border:1px solid #e0e9e5; border-radius:12px; background:#fff; box-shadow:0 18px 55px rgba(2,43,82,.07); }.contact-form-heading .eyebrow { margin-bottom:12px; }.contact-form-heading h2 { margin-bottom:12px; font-size:30px; line-height:1.2; }.contact-form-heading>p:last-child { color:var(--muted); font-size:16px; }.contact-page-form label { display:block; margin:0 0 17px; color:var(--navy); font-size:14px; font-weight:600; }.contact-page-form label>span { color:var(--green-dark); }.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin-top:26px; }.contact-page-form input,.contact-page-form select,.contact-page-form textarea { width:100%; display:block; margin-top:7px; padding:11px 13px; border:1px solid #cdd9d4; border-radius:6px; color:var(--navy); background:#fbfdfc; font:400 16px var(--font-body); }.contact-page-form input:focus,.contact-page-form select:focus,.contact-page-form textarea:focus { outline:2px solid var(--green); outline-offset:2px; }.contact-page-form textarea { resize:vertical; min-height:120px; }.contact-page-form button { border:0; cursor:pointer; }.contact-form-note,.contact-privacy { margin:13px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.contact-privacy a,.contact-form-status a { text-decoration:underline; text-underline-offset:3px; }.contact-form-status { padding:14px; border-radius:6px; color:var(--navy); background:var(--mint); font-size:14px; }.contact-people .section-top>p { max-width:330px; color:var(--muted); font-size:17px; }.contact-person-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }.contact-person-grid>a { display:flex; align-items:center; gap:22px; padding:30px; border:1px solid var(--line); border-radius:10px; transition:background .2s; }.contact-person-grid>a:hover { background:var(--mint); }.person-monogram { width:76px; height:76px; display:grid; place-items:center; border-radius:50%; color:var(--green-dark); background:var(--mint); font-family:var(--font-heading); font-size:32px; font-weight:900; }.contact-person-grid h3 { margin:0 0 3px; font-size:26px; }.contact-person-grid a>div>span { color:var(--navy); font-size:20px; }.contact-person-grid small { display:block; color:var(--green-dark); font-size:13px; }.contact-person-grid>a>span:last-child { margin-left:auto; color:var(--green-dark); font-size:26px; }
.contact-location { padding:80px 0; color:#fff; background:var(--navy); }.contact-location-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:100px; }.contact-location h2 { color:#fff; }.contact-location address { margin-bottom:24px; font-size:21px; font-style:normal; }.contact-company { margin:24px 0 0; color:#b7cbd6; font-size:13px; }.contact-social { padding:30px; border:1px solid rgba(255,255,255,.18); border-radius:10px; }.contact-social h3 { color:#fff; font-size:26px; margin-bottom:9px; }.contact-social p { color:#b7cbd6; }.contact-social a { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.18); color:#fff; font-family:var(--font-heading); font-weight:700; }.contact-social a:hover { color:#72d9c5; }
@media(max-width:900px) { .contact-page-grid { gap:35px; grid-template-columns:1fr; }.contact-location-grid { gap:45px; }.contact-page-intro { max-width:650px; }.contact-direct { grid-template-columns:1fr 1fr; }.contact-breadcrumb { margin-bottom:25px; } }
@media(max-width:620px) { .contact-page-main { padding:34px 0 60px; }.contact-page-intro h1 { font-size:40px; }.contact-page-form { padding:25px 20px; }.contact-fields,.contact-direct,.contact-person-grid,.contact-location-grid { grid-template-columns:1fr; }.contact-person-grid>a { padding:24px 20px; }.person-monogram { width:60px; height:60px; }.contact-location { padding:60px 0; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:#333; background:#fff; font-family:var(--font-body); font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }.section { padding:108px 0; }
.eyebrow { margin:0 0 20px; color:var(--green-dark); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.eyebrow.light { color:#7fe0cb; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { color:var(--navy); font-family:var(--font-heading); } h1,h2 { font-weight:900; letter-spacing:normal; line-height:1.1; } h2 { font-size:clamp(34px,4vw,52px); } h1 em,h2 em { color:var(--green); font-style:normal; }
.site-header { min-height:78px; padding:0 max(28px,calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; background:#fff; position:relative; z-index:20; }.brand img { width:174px; height:auto; }
.desktop-nav { display:grid; grid-template-columns:minmax(0,1fr) auto; flex:1; align-items:center; gap:32px; margin-left:32px; color:var(--navy); font-family:var(--font-heading); font-size:17px; font-weight:600; }.desktop-nav-links { display:flex; align-items:center; justify-content:center; gap:50px; }.desktop-nav-links>a { transition:color .2s; white-space:nowrap; }.desktop-nav-links>a:hover { color:var(--green-dark); }
.nav-with-count { display:inline-flex; align-items:center; gap:7px; }
.nav-dropdown { position:relative; }
.applications-trigger { display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0; border:0; color:var(--navy); background:none; font:inherit; cursor:pointer; }
.applications-trigger:hover,.nav-dropdown.is-open .applications-trigger { color:var(--green-dark); }.menu-chevron { flex:none; transition:transform .2s; }.nav-dropdown.is-open .menu-chevron { transform:rotate(180deg); }
.applications-trigger:focus-visible,.application-menu-link:focus-visible { outline:2px solid var(--green); outline-offset:5px; border-radius:4px; }
.menu-link-note { display:block; margin-top:2px; color:var(--muted); font-family:var(--font-body); font-size:12px; font-weight:400; }
.nav-dropdown-panel { position:absolute; top:calc(100% + 8px); left:-26px; width:590px; display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:26px; border:1px solid #e2ede9; border-radius:14px; background:#fff; box-shadow:0 22px 65px rgba(2,43,82,.16); }
.nav-dropdown-panel[hidden] { display:none; }.menu-group:first-child { padding-right:20px; border-right:1px solid var(--line); }.menu-group>p { margin:0 0 14px 8px; color:var(--green-dark); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.application-menu-link { display:flex; align-items:center; gap:12px; min-height:52px; padding:8px; border-radius:8px; color:var(--navy); font-family:var(--font-heading); font-size:14px; font-weight:700; line-height:1.35; transition:background .2s,color .2s; }.application-menu-link:hover { color:var(--green-dark); background:var(--mint); }.menu-sport-icon { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:10px; background:#edf8f5; }.menu-sport-icon img { width:25px; height:25px; object-fit:contain; }.mobile-menu .application-menu-link { padding:4px; }.mobile-menu nav { max-height:calc(100vh - 100px); overflow-y:auto; }
.nav-count { display:inline-flex; align-items:center; min-height:22px; padding:2px 8px; border-radius:100px; color:#147965; background:#e4f5f1; font-size:11px; font-weight:900; line-height:1; letter-spacing:.01em; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:12px 32px; border-radius:100px; font-family:var(--font-heading); font-size:16px; font-weight:700; line-height:24px; transition:transform .2s,background .2s; }.nav-cta { color:#fff; background:var(--green); }.nav-cta:hover,.button:hover { transform:translateY(-2px); }.mobile-menu { display:none; }
.hero { min-height:680px; position:relative; display:flex; align-items:center; color:#fff; background:url('/hero-field.webp') center 40%/cover no-repeat; overflow:hidden; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,43,82,.94) 0%,rgba(2,43,82,.72) 52%,rgba(2,43,82,.16) 100%); }.hero-content { position:relative; padding:70px 0 90px; }.hero h1 { max-width:850px; margin-bottom:24px; color:#fff; font-size:clamp(48px,5vw,64px); line-height:1.09; }.hero h1 em { color:#fff; }.hero-copy { max-width:650px; margin-bottom:32px; color:rgba(255,255,255,.9); font-size:19px; line-height:1.56; }.hero-actions { display:flex; align-items:center; gap:28px; }.button { min-height:48px; }.button.primary { color:#fff; background:var(--green); }.button.primary:hover { background:var(--green-dark); }.text-link { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.42); font-family:var(--font-heading); font-weight:700; }.text-link span { margin-left:9px; }.hero-note { margin:18px 0 0; color:rgba(255,255,255,.72); font-size:13px; }.hero-proof { position:absolute; right:max(28px,calc((100vw - 1180px)/2)); bottom:36px; display:flex; align-items:center; gap:15px; }.hero-proof strong { color:#77dcc8; font-family:var(--font-heading); font-size:38px; }.hero-proof span { color:rgba(255,255,255,.8); font-size:13px; line-height:1.45; }.hero-proof u { text-underline-offset:3px; }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:26px max(24px,calc((100vw - 1180px)/2)); color:#fff; background:var(--green); }.trust-strip div { display:flex; flex-direction:column; padding:4px 28px; border-right:1px solid rgba(255,255,255,.3); }.trust-strip div:first-child { padding-left:0; }.trust-strip div:last-child { border:0; }.trust-strip strong { font-size:17px; }.trust-strip span { margin-top:6px; font-size:12px; line-height:1.35; opacity:.82; }
.problem-heading { max-width:840px; margin-bottom:55px; }.problem-heading h2 { margin-bottom:0; }.problem-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.problem-list article { padding:30px 32px 0 0; }.problem-list article:not(:first-child) { padding-left:34px; border-left:1px solid var(--line); }.problem-list span { color:var(--green-dark); font-size:12px; font-weight:900; }.problem-list h3 { margin:22px 0 12px; font-size:22px; }.problem-list p { margin:0; color:var(--muted); line-height:1.6; }
.intro { background:#f7f9f8; }.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:36px 80px; }.intro-heading h2,.section-top h2 { margin-bottom:0; }.intro-copy { padding-top:48px; }.intro-copy p,.approach-copy>p,.faq-intro>p,.study-intro>p { color:var(--muted); font-size:17px; line-height:1.67; }
.application-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:28px; }.application-card { min-height:174px; display:grid; grid-template-columns:44px 1fr 48px; align-items:center; gap:18px; padding:28px; border:1px solid var(--line); border-radius:16px; background:#fff; transition:background .2s,color .2s,transform .2s; }.application-card:hover { color:#fff; background:var(--navy); transform:translateY(-3px); }.card-number { align-self:start; color:var(--green-dark); font-size:12px; font-weight:900; }.application-card h3 { margin:0 0 8px; font-size:24px; }.application-card p { margin:0; color:var(--muted); line-height:1.5; }.application-card small { display:block; margin-top:14px; color:var(--green-dark); font-weight:800; }.application-card:hover p { color:#b7c8d5; }.application-card:hover small,.application-card:hover .card-number { color:#70d9c5; }.round-arrow { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-weight:900; }
.section-top { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:22px; }.section-top>div { max-width:850px; }.button.outline { flex:none; border:1px solid #b9c9cf; }.section-lead { max-width:720px; margin-bottom:42px; color:var(--muted); font-size:16px; line-height:1.6; }.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }.project-image { height:390px; position:relative; display:block; overflow:hidden; border-radius:17px; background:#ddd; }.project-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }.project-card:hover img { transform:scale(1.04); }.project-image::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(2,28,49,.65)); }.project-tag { position:absolute; top:18px; left:18px; z-index:1; padding:8px 13px; border-radius:30px; color:#fff; background:rgba(3,31,56,.75); backdrop-filter:blur(8px); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.project-open { position:absolute; right:18px; bottom:18px; z-index:2; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); }.project-meta { padding:18px 3px 0; }.project-meta h3 { margin:0 0 5px; font-size:22px; }.project-meta p { margin:0; color:var(--muted); font-size:14px; }.project-summary { min-height:76px; margin:15px 3px 10px; color:var(--muted); font-size:14px; line-height:1.55; }.project-link,.inline-link { display:inline-flex; gap:8px; padding-bottom:5px; color:var(--green-dark); border-bottom:1px solid var(--green); font-size:13px; font-weight:800; }
.approach { background:var(--warm); }.approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }.approach-visual { min-height:650px; position:relative; border-radius:20px; overflow:hidden; }.approach-visual>img { width:100%; height:650px; object-fit:cover; }.floating-card { position:absolute; left:24px; bottom:24px; display:flex; align-items:center; gap:13px; padding:18px 22px; border-radius:12px; background:#fff; box-shadow:0 18px 40px rgba(5,40,62,.17); }.floating-card>span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--green); }.floating-card div { display:flex; flex-direction:column; }.floating-card small { margin-top:4px; color:var(--muted); }.approach-copy h2 { margin-bottom:28px; }.steps { list-style:none; margin:32px 0 24px; padding:0; border-top:1px solid #d5d9d5; }.steps li { display:grid; grid-template-columns:42px 1fr; gap:13px; padding:18px 0; border-bottom:1px solid #d5d9d5; }.steps li>span { padding-top:2px; color:var(--green-dark); font-size:12px; font-weight:900; }.steps div { display:flex; flex-direction:column; }.steps strong { font-size:16px; }.steps small { margin-top:5px; color:var(--muted); font-size:13px; line-height:1.45; }
.impact { padding:102px 0; color:#fff; background:var(--deep); }.impact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:end; }.impact h2 { margin-bottom:0; color:#fff; font-size:clamp(52px,6vw,82px); }.impact h2 em { color:#72d9c5; }.impact-copy>p { color:#aebfca; font-size:17px; line-height:1.65; }.calculation-row { display:flex; align-items:center; gap:12px; margin:30px 0 24px; padding:22px 0; border-block:1px solid rgba(255,255,255,.18); color:#fff; font-size:12px; font-weight:800; }.calculation-row i { color:#72d9c5; font-style:normal; }
.faq { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }.faq-intro h2 { margin-bottom:26px; }.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-size:17px; font-weight:800; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { width:34px; height:34px; display:grid; place-items:center; flex:none; border-radius:50%; color:#fff; background:var(--navy); font-size:20px; font-weight:400; transition:transform .2s; }.faq-list details[open] summary span { transform:rotate(45deg); background:var(--green); }.faq-list details p { max-width:620px; margin:-5px 55px 25px 0; color:var(--muted); line-height:1.6; }
.contact { padding:94px 0; background:var(--mint); }.study-box { display:grid; grid-template-columns:1.08fr .92fr; gap:85px; align-items:center; }.study-intro h2 { margin-bottom:28px; }.study-card { padding:36px; border-radius:20px; background:#fff; box-shadow:0 22px 60px rgba(5,47,68,.10); }.study-label { margin-bottom:18px; font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }.study-card ul { list-style:none; margin:0 0 25px; padding:0; }.study-card li { position:relative; padding:11px 0 11px 28px; border-bottom:1px solid var(--line); color:var(--muted); }.study-card li::before { content:"✓"; position:absolute; left:0; color:var(--green-dark); font-weight:900; }.button.wide { width:100%; }.study-card small { display:block; margin-top:14px; color:var(--muted); text-align:center; }.phone-line { margin:24px 0 0; color:var(--muted); font-size:14px; text-align:center; }.phone-line a { color:var(--navy); font-weight:900; }
footer { padding:75px 0 25px; color:#c3d0d8; background:#031a2d; }.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; padding-bottom:60px; }.footer-brand img { width:180px; filter:brightness(0) invert(1); }.footer-brand p { max-width:250px; margin-top:24px; color:#8ea2b0; }.footer-grid>div:not(.footer-brand) { display:flex; flex-direction:column; gap:12px; font-size:14px; }.footer-grid strong { margin-bottom:8px; color:#fff; }.footer-grid a:hover { color:#6ed6c2; }.footer-bottom { display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(255,255,255,.13); color:#78909e; font-size:12px; }
@media (max-width:1200px) { .desktop-nav { gap:20px; margin-left:20px; font-size:13px; }.desktop-nav-links { gap:20px; }.nav-cta { padding:13px 17px; } }
@media (max-width:900px) {
  .desktop-nav { display:none; }.mobile-menu { display:block; position:relative; }.mobile-menu summary { width:46px; height:46px; display:grid; place-content:center; gap:7px; border-radius:50%; background:var(--navy); cursor:pointer; list-style:none; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu summary span { width:18px; height:2px; background:#fff; }.mobile-menu nav { position:absolute; right:0; top:54px; min-width:250px; padding:20px; display:flex; flex-direction:column; gap:17px; border-radius:12px; background:#fff; box-shadow:0 15px 40px rgba(0,0,0,.18); }
  .hero { min-height:700px; }.hero-proof { display:none; }.trust-strip { grid-template-columns:1fr 1fr; gap:22px 0; }.trust-strip div:nth-child(2) { border:0; }.intro-grid,.approach-grid,.impact-grid,.faq,.study-box { grid-template-columns:1fr; }.intro-copy { padding-top:0; }.approach-grid,.impact-grid,.faq,.study-box { gap:50px; }.approach-visual,.approach-visual>img { min-height:500px; height:500px; }.project-grid { grid-template-columns:1fr 1fr; }.project-card:last-child { display:none; }.footer-grid { grid-template-columns:1.5fr 1fr 1fr; }.footer-grid>div:last-child { display:none!important; }
}
@media (max-width:620px) {
  .shell { width:min(100% - 34px,1180px); }.section { padding:76px 0; }.site-header { min-height:68px; padding:0 17px; }.brand img { width:145px; }.hero { min-height:700px; background-position:58% center; }.hero-content { padding:62px 0 72px; }.hero h1 { font-size:48px; }.hero h1 br { display:none; }.hero-copy { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }.hero-note { margin-top:8px; }.trust-strip { padding:24px 17px; }.trust-strip div { padding:4px 12px 4px 0; }.trust-strip strong { font-size:15px; }.trust-strip span { font-size:11px; }
  h2 { font-size:41px; }.problem-heading { margin-bottom:30px; }.problem-list { grid-template-columns:1fr; }.problem-list article,.problem-list article:not(:first-child) { padding:24px 0; border-left:0; border-bottom:1px solid var(--line); }.intro-grid { gap:22px; }.application-grid { grid-template-columns:1fr; }.application-card { grid-template-columns:32px 1fr 40px; padding:22px 17px; }.application-card p { font-size:14px; }.section-top { align-items:flex-start; flex-direction:column; gap:28px; }.project-grid { grid-template-columns:1fr; }.project-card:last-child { display:block; }.project-image { height:360px; }.project-summary { min-height:auto; }.approach-visual,.approach-visual>img { min-height:430px; height:430px; }.floating-card { left:14px; right:14px; bottom:14px; }.impact { padding:78px 0; }.calculation-row { align-items:flex-start; flex-direction:column; }.calculation-row i { transform:rotate(90deg); }.faq-list summary { min-height:76px; font-size:15px; }.faq-list details p { margin-right:45px; font-size:14px; }.study-card { padding:26px 20px; }.footer-grid { grid-template-columns:1fr 1fr; gap:40px 25px; }.footer-brand { grid-column:1/-1; }.footer-grid>div:last-child { display:none!important; }.footer-bottom { gap:15px; flex-direction:column; }
}

/* Denser six-project scan */
.project-grid { gap:16px; }
.project-image,.project-card:first-child .project-image { height:340px; }
.project-tag { top:15px; left:15px; padding:7px 12px; }
.project-open { top:14px; right:14px; width:40px; height:40px; }
.project-overlay,.project-card:first-child .project-overlay { padding:20px; }
.project-overlay h3,.project-card:not(:first-child) .project-overlay h3 { font-size:24px; }
.project-overlay p { font-size:11px; }
.project-facts { gap:5px; margin-top:11px; }
.project-facts span { padding:6px 8px; font-size:10px; }
.project-overlay strong { margin-top:12px; font-size:13px; }
@media (max-width:900px) { .project-card:last-child { grid-column:auto; }.project-image,.project-card:first-child .project-image { height:340px; } }
@media (max-width:620px) { .project-image,.project-card:first-child .project-image { height:330px; } }

/* Verified project photography, ordered newest-first like the source page */
.project-grid { grid-template-columns:repeat(4,1fr); gap:14px; }
.project-image,.project-card:first-child .project-image { height:292px; }
.project-overlay,.project-card:first-child .project-overlay { padding:17px; }
.project-overlay h3,.project-card:not(:first-child) .project-overlay h3 { font-size:20px; }
.project-facts { margin-top:9px; }
.project-facts span { padding:5px 7px; font-size:9px; }
.project-overlay strong { margin-top:10px; font-size:12px; }
@media (max-width:1000px) { .project-grid { grid-template-columns:repeat(2,1fr); }.project-image,.project-card:first-child .project-image { height:330px; } }
@media (max-width:620px) { .project-grid { grid-template-columns:1fr; }.project-image,.project-card:first-child .project-image { height:315px; } }

/* Compact project overview with useful installation facts */
.project-grid { min-height:0; grid-template-columns:repeat(3,1fr); grid-template-rows:none; gap:22px; }
.project-card:first-child { grid-row:auto; }
.project-image,.project-card:first-child .project-image { height:445px; }
.project-image::after,.project-card:first-child .project-image::after { inset:28% 0 0; }
.project-overlay,.project-card:first-child .project-overlay { padding:25px; }
.project-overlay h3,.project-card:not(:first-child) .project-overlay h3 { font-size:28px; }
.project-facts { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.project-facts span { padding:7px 10px; border:1px solid rgba(255,255,255,.38); border-radius:100px; color:#fff; background:rgba(2,43,82,.48); backdrop-filter:blur(8px); font-family:var(--font-heading); font-size:11px; font-weight:700; line-height:1; }
.project-overlay strong { margin-top:17px; }
@media (max-width:900px) {
  .project-grid { grid-template-columns:repeat(2,1fr); }
  .project-card:first-child { grid-column:auto; }
  .project-card:last-child { grid-column:1/-1; }
  .project-image,.project-card:first-child .project-image { height:420px; }
}
@media (max-width:620px) {
  .project-grid { grid-template-columns:1fr; }
  .project-card:last-child { grid-column:auto; }
  .project-image,.project-card:first-child .project-image { height:390px; }
}

/* EcoSports house-style alignment */
.application-card,.project-image,.approach-visual,.study-card { border-radius:8px; }
.application-card:hover h3 { color:#fff; }
.impact h2 { font-size:clamp(42px,5vw,58px); }
.study-card { box-shadow:0 16px 42px rgba(5,47,68,.09); }

/* Sport branches: recognisable, energetic and rooted in the original EcoSports icon set */
.application-grid { grid-template-columns:repeat(4,1fr); gap:18px; margin-top:38px; }
.application-card { min-height:330px; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; border:0; border-radius:10px; box-shadow:0 12px 34px rgba(2,43,82,.09); }
.application-card::before { content:""; height:5px; flex:none; background:var(--green); }
.application-card-top { min-height:118px; display:flex; align-items:flex-start; justify-content:space-between; padding:25px 24px 12px; background:linear-gradient(145deg,#eef9f6 0%,#fff 72%); }
.sport-icon { width:76px; height:76px; display:grid; place-items:center; border-radius:50%; background:#fff; box-shadow:0 8px 24px rgba(2,43,82,.12); transition:transform .25s; }
.sport-icon img { width:54px; height:54px; object-fit:contain; }
.card-number { padding-top:5px; color:var(--navy); font-family:var(--font-heading); font-size:12px; opacity:.48; }
.application-card-copy { display:flex; flex:1; flex-direction:column; padding:17px 24px 24px; }
.application-card h3 { margin-bottom:11px; font-size:23px; }
.application-card p { font-size:15px; line-height:1.55; }
.application-card small { margin-top:auto; padding-top:22px; color:var(--green-dark); font-family:var(--font-heading); font-size:14px; font-weight:800; }
.application-card:hover { background:var(--navy); box-shadow:0 18px 42px rgba(2,43,82,.2); }
.application-card:hover .application-card-top { background:#f1faf8; }
.application-card:hover .sport-icon { transform:scale(1.08) rotate(-3deg); }
.application-card:hover p { color:#d5e0e7; }
.other-sports { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; margin-top:8px; padding:22px 25px; border:1px solid #cfe5df; border-radius:8px; background:#f3faf8; }
.other-sports strong { color:var(--navy); font-family:var(--font-heading); font-size:20px; font-weight:900; white-space:nowrap; }
.other-sports p { margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.other-sports a { color:var(--green-dark); font-family:var(--font-heading); font-size:14px; font-weight:800; white-space:nowrap; }
@media (max-width:620px) {
  .hero { min-height:650px; }
  .hero h1 { font-size:44px; }
  h2 { font-size:34px; }
  .application-grid { grid-template-columns:1fr; }
  .application-card { min-height:290px; }
}
@media (max-width:1050px) and (min-width:621px) { .application-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:850px) { .other-sports { grid-template-columns:1fr; gap:7px; }.other-sports a { margin-top:5px; white-space:normal; } }

/* Realisations: an editorial project wall instead of three catalogue cards */
.projects .section-lead { margin-bottom:34px; }
.project-grid { min-height:650px; grid-template-columns:1.35fr .9fr; grid-template-rows:1fr 1fr; gap:18px; }
.project-card:first-child { grid-row:1 / 3; }
.project-image { width:100%; height:100%; min-height:0; border-radius:10px; box-shadow:0 14px 36px rgba(2,43,82,.12); }
.project-image::after { inset:25% 0 0; background:linear-gradient(transparent,rgba(1,24,46,.92)); }
.project-card:first-child .project-image::after { inset:38% 0 0; }
.project-tag { top:22px; left:22px; padding:8px 15px; background:var(--green); backdrop-filter:none; font-family:var(--font-heading); font-size:11px; }
.project-open { top:20px; right:20px; bottom:auto; width:46px; height:46px; transition:transform .25s,background .25s; }
.project-overlay { position:absolute; z-index:2; right:0; bottom:0; left:0; padding:25px 25px 24px; color:#fff; }
.project-card:first-child .project-overlay { padding:34px; }
.project-overlay p { margin:0 0 5px; color:#a8e9dc; font-family:var(--font-heading); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.project-overlay h3 { margin:0; color:#fff; font-size:clamp(25px,2.4vw,38px); line-height:1.1; }
.project-card:not(:first-child) .project-overlay h3 { font-size:27px; }
.project-story { max-width:590px; display:block; max-height:0; margin-top:0; overflow:hidden; color:#d8e1e7; font-size:15px; line-height:1.5; opacity:0; transition:max-height .35s,opacity .25s,margin .25s; }
.project-overlay strong { display:block; margin-top:13px; color:#fff; font-family:var(--font-heading); font-size:14px; }
.project-card:hover .project-story { max-height:100px; margin-top:12px; opacity:1; }
.project-card:hover .project-open { background:#fff; color:var(--navy); transform:rotate(8deg) scale(1.05); }
.project-card:hover img { transform:scale(1.055); }
@media (max-width:900px) {
  .project-grid { min-height:auto; grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .project-card:first-child { grid-column:1/-1; grid-row:auto; }
  .project-card:last-child { display:block; }
  .project-image,.project-card:first-child .project-image { height:430px; }
}
@media (max-width:620px) {
  .project-grid { grid-template-columns:1fr; gap:15px; }
  .project-card:first-child { grid-column:auto; }
  .project-image,.project-card:first-child .project-image { height:390px; }
  .project-overlay,.project-card:first-child .project-overlay { padding:24px; }
  .project-story { max-height:100px; margin-top:10px; opacity:1; }
}

/* Final project grid: verified photos in a compact, chronological overview */
.project-grid { min-height:0; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:auto; gap:14px; }
.project-card:first-child { grid-column:auto; grid-row:auto; }
.project-image,.project-card:first-child .project-image { width:100%; height:292px; }
.project-image::after,.project-card:first-child .project-image::after { inset:24% 0 0; }
.project-tag { top:14px; left:14px; padding:6px 10px; font-size:9px; }
.project-tag { display:inline-flex; align-items:center; gap:6px; min-height:29px; }
.project-tag img { display:block; width:16px; height:16px; max-width:16px; flex:none; object-fit:contain; filter:brightness(0) invert(1); transform:none!important; }
.case-related .realisation-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
.case-related .realisation-photo { height:auto; aspect-ratio:16/10; }
.case-related .realisation-photo>img { display:block; position:absolute; inset:0; }
.case-related .realisation-photo .project-tag { font-size:11px; background:rgba(3,31,56,.8); }
.realisation-photo:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
@media(max-width:950px) { .case-related .realisation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .case-related .realisation-grid { grid-template-columns:1fr; gap:32px; } }
.project-open { top:13px; right:13px; width:38px; height:38px; }
.project-overlay,.project-card:first-child .project-overlay { padding:16px; }
.project-overlay p { font-size:10px; }
.project-overlay h3,.project-card:not(:first-child) .project-overlay h3 { font-size:20px; }
.project-facts { gap:5px; margin-top:9px; }
.project-facts span { padding:5px 7px; font-size:9px; }
.project-overlay strong { margin-top:10px; font-size:12px; }
@media (max-width:1000px) {
  .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-card:first-child,.project-card:last-child { grid-column:auto; }
  .project-image,.project-card:first-child .project-image { height:320px; }
}
@media (max-width:620px) {
  .project-grid { grid-template-columns:1fr; }
  .project-image,.project-card:first-child .project-image { height:310px; }
}

/* Mixed project rhythm: two wider highlights, without oversized vertical cards */
@media (min-width:1001px) {
  .project-card:first-child,.project-card:nth-child(6) { grid-column:span 2; }
  .project-card:first-child .project-overlay,.project-card:nth-child(6) .project-overlay { padding:20px; }
  .project-card:first-child .project-overlay h3,.project-card:nth-child(6) .project-overlay h3 { font-size:25px; }
  .project-card:first-child .project-image::after,.project-card:nth-child(6) .project-image::after { inset:32% 0 0; }
}

/* More breathing room around the project mosaic */
.projects .section-lead { margin-bottom:46px; }
.project-grid { column-gap:26px; row-gap:30px; }
@media (max-width:1000px) { .project-grid { gap:24px; } }
@media (max-width:620px) { .project-grid { gap:20px; } }

/* Compact expertise section: solution-led instead of administrative */
.decision { padding:88px 0; background:#fff; }
.decision-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:24px; align-items:stretch; }
.decision-heading { display:flex; flex-direction:column; justify-content:center; padding:50px; border-radius:10px; color:#fff; background:var(--navy); }
.decision-heading h2 { margin-bottom:22px; color:#fff; font-size:clamp(38px,4vw,54px); }
.decision-heading h2 em { color:#72d9c5; }
.decision-heading>p:not(.eyebrow) { max-width:470px; margin-bottom:28px; color:#c7d4dd; font-size:17px; line-height:1.6; }
.decision-heading>a { align-self:flex-start; padding-bottom:5px; border-bottom:1px solid #72d9c5; color:#fff; font-family:var(--font-heading); font-size:14px; font-weight:800; }
.decision-list { display:grid; gap:12px; }
.decision-list article { display:grid; grid-template-columns:52px 1fr; gap:18px; align-items:center; padding:25px 28px; border:1px solid var(--line); border-radius:10px; background:#fff; transition:transform .2s,border-color .2s,box-shadow .2s; }
.decision-list article:hover { transform:translateX(5px); border-color:#a8d9ce; box-shadow:0 10px 28px rgba(2,43,82,.08); }
.decision-list article>span { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:var(--green-dark); background:var(--mint); font-family:var(--font-heading); font-size:12px; font-weight:900; }
.decision-list small { color:var(--green-dark); font-family:var(--font-heading); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.decision-list h3 { margin:4px 0 6px; font-size:21px; }
.decision-list p { margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.solution-line { display:grid; grid-template-columns:24px 1fr; gap:8px; align-items:start; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.solution-line b { color:var(--green); font-size:18px; line-height:1.25; }
.solution-line p strong { color:var(--navy); font-family:var(--font-heading); font-weight:900; }
@media (max-width:900px) { .decision-grid { grid-template-columns:1fr; }.decision-heading { padding:42px; }.decision-list article:hover { transform:none; } }
@media (max-width:620px) { .decision { padding:66px 0; }.decision-heading { padding:32px 24px; }.decision-list article { grid-template-columns:42px 1fr; gap:14px; padding:22px 18px; }.decision-list article>span { width:40px; height:40px; }.decision-list h3 { font-size:19px; } }

/* Shared application-page system */
.application-hero { min-height:610px; position:relative; display:flex; align-items:center; overflow:hidden; background:var(--navy); }
.application-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.application-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,43,82,.97) 0%,rgba(2,43,82,.84) 50%,rgba(2,43,82,.25) 100%); }
.application-hero-content { position:relative; padding:80px 0; color:#fff; }
.application-back { display:inline-block; margin-bottom:52px; color:#bcd0dc; font-size:14px; }
.application-hero h1 { max-width:790px; margin:0 0 24px; color:#fff; font-size:clamp(48px,5vw,68px); }
.application-hero-content>p:not(.eyebrow) { max-width:670px; margin-bottom:32px; color:#e2e9ed; font-size:19px; line-height:1.55; }
.application-proof { color:#fff; background:var(--green); }
.application-proof .shell { min-height:92px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; }
.application-proof span { padding:6px 28px; border-right:1px solid rgba(255,255,255,.34); font-size:14px; }
.application-proof span:first-child { padding-left:0; }.application-proof span:last-child { border:0; }
.application-proof strong { display:block; font-family:var(--font-heading); font-size:18px; }
.logo-trust { padding:30px 0 34px; overflow:hidden; border-bottom:1px solid var(--line); background:#fff; }
.logo-trust-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.logo-trust-heading p { margin:0; }.logo-trust-heading strong { display:block; color:var(--navy); font-family:var(--font-heading); font-size:17px; }.logo-trust-heading p span { display:block; color:var(--muted); font-size:13px; }
.logo-controls { display:flex; align-items:center; gap:8px; }.logo-controls button { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--navy); background:#fff; cursor:pointer; font-size:17px; transition:.2s; }.logo-controls button:hover { color:#fff; border-color:var(--green); background:var(--green); }.logo-controls a { margin-left:7px; color:var(--green-dark); font-family:var(--font-heading); font-size:13px; font-weight:900; white-space:nowrap; }
.logo-viewport { overflow-x:auto; padding:0 max(24px,calc((100vw - 1180px)/2)) 5px; cursor:grab; scroll-behavior:smooth; scrollbar-width:none; touch-action:pan-x; user-select:none; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }.logo-viewport::-webkit-scrollbar { display:none; }.logo-viewport.is-dragging { cursor:grabbing; scroll-behavior:auto; }
.logo-track { width:max-content; display:flex; align-items:flex-start; gap:22px; }.trust-logo-item { width:128px; flex:none; text-align:center; }.trust-logo { width:128px; aspect-ratio:1; display:grid; place-items:center; padding:20px; border:1px solid #e7ebed; border-radius:8px; background:#fff; }.trust-logo img { max-width:100%; max-height:76px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.68; transition:.2s; pointer-events:none; }.trust-logo-dark { background:var(--navy); border-color:var(--navy); }.trust-logo-dark img { filter:none; opacity:.82; }.trust-logo-item:hover img { filter:none; opacity:1; }.trust-logo-item>span { display:block; min-height:36px; margin-top:9px; color:var(--navy); font-family:var(--font-heading); font-size:12px; font-weight:800; line-height:1.25; }
.application-section-heading { max-width:800px; margin-bottom:48px; }
.application-section-heading h2 { margin-bottom:20px; }.application-section-heading>p:last-child { max-width:620px; color:var(--muted); font-size:17px; }
.application-problem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.application-problem-grid article { min-height:260px; padding:30px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.application-problem-grid span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:34px; border-radius:50%; color:var(--green-dark); background:var(--mint); font-family:var(--font-heading); font-size:11px; font-weight:900; }
.application-problem-grid h3 { margin-bottom:12px; font-size:23px; }.application-problem-grid p { margin:0; color:var(--muted); }
.application-solution { color:#fff; background:var(--navy); }
.application-solution-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.application-solution h2 { color:#fff; }.application-solution-grid>div:first-child>p:not(.eyebrow) { max-width:480px; color:#bdccd6; font-size:17px; }
.benefit-list { display:grid; gap:12px; }.benefit-list article { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:24px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.045); }
.benefit-list article>span { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:#72d9c5; font-weight:900; }
.benefit-list small { color:#72d9c5; font-family:var(--font-heading); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.benefit-list h3 { margin:3px 0 6px; color:#fff; font-size:21px; }.benefit-list p { margin:0; color:#bdccd6; font-size:14px; }
.application-details { background:#f7f9f8; }.details-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }.details-grid h2 { margin:0; }
.detail-pills { display:flex; flex-wrap:wrap; gap:12px; }.detail-pills span { padding:15px 20px; border:1px solid #cce3dd; border-radius:100px; color:var(--navy); background:#fff; font-family:var(--font-heading); font-size:14px; font-weight:800; }
.detail-pills span::before { content:"✓"; margin-right:9px; color:var(--green-dark); }
.application-switch { padding-top:84px; }.application-switch>.shell { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }.application-switch h2 { margin:0; font-size:36px; }
.application-links { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.application-links a { display:flex; justify-content:space-between; padding:15px 18px; border-bottom:1px solid var(--line); color:var(--navy); font-family:var(--font-heading); font-weight:800; }.application-links a:hover { color:var(--green-dark); }
@media (max-width:900px) { .application-solution-grid,.details-grid,.application-switch>.shell { grid-template-columns:1fr; gap:45px; }.application-problem-grid { grid-template-columns:1fr; }.application-problem-grid article { min-height:0; }.application-proof .shell { grid-template-columns:1fr; padding:18px 0; }.application-proof span,.application-proof span:first-child { padding:12px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.28); }.application-proof span:last-child { border:0; } }
@media (max-width:620px) { .application-hero { min-height:660px; }.application-hero h1 { font-size:44px; }.application-back { margin-bottom:38px; }.application-links { grid-template-columns:1fr; }.mobile-menu nav { max-height:calc(100vh - 85px); overflow:auto; }.mobile-menu nav strong { color:var(--green-dark); font-size:12px; text-transform:uppercase; letter-spacing:.08em; } }
@media (max-width:620px) { .logo-trust-heading { align-items:flex-start; flex-direction:column; gap:13px; }.logo-controls { width:100%; }.logo-controls a { margin-left:auto; }.trust-logo-item,.trust-logo { width:112px; }.trust-logo { padding:17px; }.trust-logo-item>span { font-size:11px; }.logo-viewport { padding-left:17px; padding-right:17px; mask-image:none; -webkit-mask-image:none; } }

.realisation-filter-top .realisation-sports { margin-bottom:0; }
.project-map-toggle { display:flex; align-items:center; gap:7px; margin-top:13px; padding:0; border:0; color:var(--navy); background:none; font:700 14px var(--font-body); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }.project-map-toggle-icon { display:inline-block; color:var(--green-dark); font-size:18px; text-decoration:none; transition:transform .25s; }.project-map-toggle[aria-expanded="true"] .project-map-toggle-icon { transform:rotate(180deg); }
.project-map-panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .32s ease,opacity .25s ease,margin-top .32s ease; }.project-map-panel.is-open { grid-template-rows:1fr; margin-top:24px; opacity:1; }.project-map-shell { min-height:0; position:relative; overflow:hidden; border-radius:12px; }.project-map { height:470px; overflow:hidden; border:1px solid #bdd8d1; border-radius:12px; background:#dcebe7; }.project-map-status { position:absolute; z-index:500; inset:0; display:grid; place-items:center; margin:0; padding:25px; color:var(--navy); background:#edf8f5e8; text-align:center; font-weight:700; }.project-map-status[hidden] { display:none; }
.project-map-marker-anchor { border:0; background:transparent; }.project-map-marker { width:38px; height:38px; display:grid; place-items:center; border-radius:50% 50% 50% 8px; background:#fff; box-shadow:0 3px 10px rgba(2,43,82,.18); transform:rotate(-45deg); }.project-map-marker img { width:20px; height:20px; object-fit:contain; filter:brightness(0) saturate(100%) invert(14%) sepia(47%) saturate(2110%) hue-rotate(177deg) brightness(86%) contrast(103%); transform:rotate(45deg); }
.project-map-leaflet-popup .leaflet-popup-content-wrapper { overflow:hidden; padding:0; border-radius:10px; box-shadow:0 12px 35px rgba(2,43,82,.24); }.project-map-leaflet-popup .leaflet-popup-content { width:250px!important; margin:0; }.project-map-popup-photo { display:block; height:135px; background:var(--navy); }.project-map-popup-photo img { width:100%; height:100%; object-fit:cover; }.project-map-popup>div { padding:14px 16px 16px; }.project-map-popup span { display:block; color:var(--green-dark); font-size:12px; font-weight:700; }.project-map-popup strong { display:block; margin:4px 0 10px; color:var(--navy); font-family:var(--font-heading); font-size:18px; line-height:1.25; }.project-map-popup>div>a { color:var(--navy); font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:650px) { .project-map-toggle { margin-inline:auto; }.project-map { height:380px; }.project-map-panel.is-open { margin-top:18px; } }

/* Football page: recognisable board-level stakes, proof and decision support */
.football-hero h1 em { color:#72d9c5; }.football-hero .hero-note { max-width:700px; margin-top:18px; }
.club-reality { background:#f7f9f8; }.reality-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.reality-grid article { display:grid; grid-template-columns:54px 1fr; gap:20px; min-height:245px; padding:30px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.reality-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:50%; color:#b34343; background:#fff0f0; font-family:var(--font-heading); font-size:21px; font-weight:900; }
.reality-grid small { color:#b34343; font-family:var(--font-heading); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.reality-grid h3 { margin:5px 0 12px; font-size:22px; line-height:1.3; }.reality-grid p { margin:0; color:var(--muted); }
.football-outcome { padding:86px 0; color:#fff; background:var(--green); }.football-outcome-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; }.football-outcome h2 { margin:0; color:#fff; }.football-outcome h2 em { color:var(--navy); }
.outcome-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.outcome-list span { min-height:104px; display:flex; align-items:center; gap:15px; padding:18px; border:1px solid rgba(255,255,255,.35); border-radius:8px; background:rgba(255,255,255,.1); font-family:var(--font-heading); font-weight:800; line-height:1.35; }.outcome-list b { color:var(--navy); font-size:12px; }
.football-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.football-process-grid article { padding:30px 25px; background:#fff; }.football-process-grid b { color:var(--green-dark); font-family:var(--font-heading); font-size:12px; }.football-process-grid h3 { margin:32px 0 12px; font-size:21px; }.football-process-grid p { margin:0; color:var(--muted); font-size:15px; }
.football-projects { color:#fff; background:var(--navy); }.football-projects h2 { color:#fff; }.light-outline { color:#fff!important; border-color:rgba(255,255,255,.5)!important; }.football-project-grid { display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:20px; margin-top:42px; }.football-project-grid>a { height:390px; position:relative; overflow:hidden; border-radius:10px; }.football-project-grid img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }.football-project-grid>a::after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(1,24,46,.94)); }.football-project-grid>a>div { position:absolute; z-index:1; right:0; bottom:0; left:0; padding:25px; }.football-project-grid small { color:#76ddc8; font-weight:800; text-transform:uppercase; }.football-project-grid h3 { margin:4px 0 12px; color:#fff; font-size:26px; }.football-project-grid span { font-family:var(--font-heading); font-size:13px; font-weight:800; }.football-project-grid>a:hover img { transform:scale(1.05); }
.football-finance { background:#f7f9f8; }.finance-grid { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; }.finance-grid>div:first-child>p:last-child { color:var(--muted); font-size:17px; }.finance-card { padding:34px; border-radius:10px; color:#fff; background:var(--navy); }.finance-card>span { color:#72d9c5; font-family:var(--font-heading); font-size:13px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }.finance-card ul { list-style:none; margin:20px 0 26px; padding:0; }.finance-card li { padding:13px 0 13px 28px; border-bottom:1px solid rgba(255,255,255,.14); position:relative; }.finance-card li::before { content:"✓"; position:absolute; left:0; color:#72d9c5; font-weight:900; }.finance-card a { color:#72d9c5; font-family:var(--font-heading); font-weight:900; }
@media (max-width:900px) { .football-outcome-grid,.finance-grid { grid-template-columns:1fr; gap:42px; }.football-process-grid { grid-template-columns:1fr 1fr; }.football-project-grid { grid-template-columns:1fr 1fr; }.football-project-grid>a:first-child { grid-column:1/-1; }.reality-grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .reality-grid article { grid-template-columns:44px 1fr; min-height:0; padding:24px 18px; }.reality-icon { width:42px; height:42px; }.outcome-list,.football-process-grid,.football-project-grid { grid-template-columns:1fr; }.football-project-grid>a:first-child { grid-column:auto; }.football-project-grid>a { height:330px; }.finance-card { padding:27px 21px; } }

/* Whitepaper download: useful preview, compact lead form and clear decision support */
.whitepaper-hero { padding:76px 0 88px; color:#fff; background:radial-gradient(circle at 78% 18%,rgba(36,171,145,.24),transparent 31%),var(--navy); }
.whitepaper-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(470px,.86fr); gap:82px; align-items:center; }
.whitepaper-back { display:inline-block; margin-bottom:55px; color:#bed0da; font-size:14px; }
.whitepaper-copy h1 { max-width:710px; margin:0 0 25px; color:#fff; font-size:clamp(48px,5.2vw,70px); line-height:1.05; }
.whitepaper-copy h1 em { color:#72d9c5; font-style:normal; }
.whitepaper-intro { max-width:650px; color:#d7e1e7; font-size:19px; line-height:1.62; }
.whitepaper-promises { display:grid; gap:12px; margin:32px 0 0; padding:0; list-style:none; }
.whitepaper-promises li { position:relative; padding-left:30px; color:#dce6eb; font-size:15px; }
.whitepaper-promises li::before { content:"✓"; position:absolute; left:0; top:-2px; color:#72d9c5; font-size:18px; font-weight:900; }
.whitepaper-promises strong { color:#fff; }
.whitepaper-conversion { display:grid; grid-template-columns:190px minmax(0,1fr); gap:0; align-items:center; }
.whitepaper-cover { z-index:1; position:relative; margin-right:-28px; transform:rotate(-3deg); filter:drop-shadow(0 20px 28px rgba(0,0,0,.25)); }
.whitepaper-cover::after { content:""; position:absolute; z-index:-1; inset:8px -7px -8px 7px; border-radius:4px; background:#fff; opacity:.86; }
.whitepaper-cover img { display:block; width:100%; height:auto; border-radius:4px; }
.whitepaper-cover span { position:absolute; right:-10px; bottom:18px; padding:7px 11px; border-radius:100px; color:var(--navy); background:#72d9c5; font-family:var(--font-heading); font-size:10px; font-weight:900; letter-spacing:.04em; }
.whitepaper-form { position:relative; padding:38px 36px 34px 54px; border-radius:12px; color:var(--navy); background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.24); }
.whitepaper-form .eyebrow { margin-bottom:10px; }
.whitepaper-form h2 { margin:0 0 10px; font-size:30px; line-height:1.2; }
.whitepaper-form>p:not(.eyebrow):not(.whitepaper-privacy) { margin:0 0 25px; color:var(--muted); font-size:15px; line-height:1.55; }
.whitepaper-form label { display:block; margin:0 0 7px; font-size:14px; font-weight:700; }
.whitepaper-form label span { color:var(--green-dark); }
.whitepaper-form input { width:100%; margin:0 0 17px; padding:12px 13px; border:1px solid #cad8d2; border-radius:6px; color:var(--navy); background:#fbfdfc; font:400 16px var(--font-body); }
.whitepaper-form input:focus { outline:2px solid var(--green); outline-offset:2px; }
.whitepaper-form input[aria-invalid="true"] { border-color:#b83c3c; }
.whitepaper-form button { margin-top:4px; border:0; cursor:pointer; }
.whitepaper-form button span { font-size:20px; }
.whitepaper-error { display:block; margin:-11px 0 14px; color:#9e2e2e; font-size:12px; }
.whitepaper-privacy { margin:14px 0 0; color:var(--muted); font-size:11px; line-height:1.5; text-align:center; }
.whitepaper-privacy a { text-decoration:underline; text-underline-offset:3px; }
.whitepaper-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.whitepaper-learn { background:#f7f9f8; }
.whitepaper-topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.whitepaper-topic-grid article { min-height:280px; padding:32px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.whitepaper-topic-grid article>span { width:44px; height:44px; display:grid; place-items:center; margin-bottom:42px; border-radius:50%; color:var(--green-dark); background:var(--mint); font-family:var(--font-heading); font-size:11px; font-weight:900; }
.whitepaper-topic-grid h3 { margin:0 0 13px; font-size:23px; line-height:1.3; }
.whitepaper-topic-grid p { margin:0; color:var(--muted); font-size:15px; line-height:1.6; }
.whitepaper-check { padding:90px 0; color:#fff; background:var(--green); }
.whitepaper-check-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:95px; align-items:start; }
.whitepaper-check h2 { max-width:510px; margin:0 0 25px; color:#fff; font-size:clamp(37px,4vw,52px); }
.whitepaper-check-grid>div>p:last-child { max-width:520px; color:#e8f8f4; font-size:17px; line-height:1.65; }
.whitepaper-check ul { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.34); }
.whitepaper-check li { position:relative; padding:15px 12px 15px 36px; border-bottom:1px solid rgba(255,255,255,.34); font-family:var(--font-heading); font-size:16px; font-weight:800; }
.whitepaper-check li::before { content:"✓"; position:absolute; left:4px; color:var(--navy); font-weight:900; }
.whitepaper-audience-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.whitepaper-audience h2 { margin:0; font-size:clamp(36px,4vw,52px); }
.whitepaper-audience-grid>div:last-child>p { margin:0 0 28px; color:var(--muted); font-size:18px; line-height:1.7; }
@media (max-width:1050px) {
  .whitepaper-hero-grid { grid-template-columns:1fr; gap:55px; }
  .whitepaper-copy { max-width:800px; }
  .whitepaper-conversion { width:min(100%,650px); }
}
@media (max-width:800px) {
  .whitepaper-topic-grid { grid-template-columns:1fr; }
  .whitepaper-topic-grid article { min-height:0; }
  .whitepaper-check-grid,.whitepaper-audience-grid { grid-template-columns:1fr; gap:42px; }
}
@media (max-width:620px) {
  .whitepaper-hero { padding:48px 0 64px; }
  .whitepaper-back { margin-bottom:38px; }
  .whitepaper-copy h1 { font-size:43px; }
  .whitepaper-intro { font-size:17px; }
  .whitepaper-conversion { display:block; }
  .whitepaper-cover { width:145px; margin:0 auto -36px; transform:rotate(-3deg); }
  .whitepaper-form { padding:62px 22px 27px; }
  .whitepaper-form h2 { font-size:27px; }
  .whitepaper-topic-grid article { padding:26px 22px; }
  .whitepaper-topic-grid article>span { margin-bottom:28px; }
  .whitepaper-check { padding:70px 0; }
}

/* Related decision guides on sport and project pages. */
.knowledge-decision-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.knowledge-decision-grid>a { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; padding:28px; }
.knowledge-decision-grid>a:hover { border-color:var(--green); background:var(--mint); }
.knowledge-decision-grid h3 { font-size:26px; line-height:1.25; margin:14px 0; }
.knowledge-decision-grid p:not(.eyebrow) { color:var(--muted); font-size:17px; line-height:1.65; margin-bottom:24px; }
.knowledge-decision-grid span { color:var(--green-dark); font-weight:600; margin-top:auto; }
@media(max-width:760px) { .knowledge-decision-grid { grid-template-columns:1fr; }.knowledge-decision-grid>a { padding:24px; } }
.contact-article-context { padding:16px; margin:0 0 24px; background:var(--mint); border-radius:10px; font-size:15px; line-height:1.6; }
.contact-article-context a { color:var(--green-dark); text-decoration:underline; }

.case-story-grid-text { grid-template-columns:minmax(0,760px); }
.case-hero-text { background:var(--navy); min-height:0; }
.case-hero-text .case-shade { display:none; }
.case-hero-text .case-hero-copy { padding-top:160px; padding-bottom:80px; }
.case-numbers .case-number-text strong { font-size:clamp(22px,2.5vw,32px); line-height:1.2; overflow-wrap:normal; }
@media(max-width:650px) { .case-hero-text .case-hero-copy { padding-top:130px; padding-bottom:50px; } }
.case-hero h1, .case-brief h2, .case-story h2, .case-questions h2, .case-related h2 { overflow-wrap:anywhere; hyphens:auto; }
.case-numbers > div, .section-top > div { min-width:0; }
.case-hero h1, .case-brief h2, .case-story h2, .case-questions h2, .case-related h2 { text-wrap:balance; }

.trust-logo-name { color:var(--navy); font-family:var(--font-heading); font-size:12px; font-weight:800; line-height:1.3; text-align:center; }
