/* Content migration: the mockup remains the shared visual system. */
.brand__logo{width:264px;height:auto}.site-footer .brand__logo{width:175px}
.hero__title{margin:0 0 22px;font-size:50px;font-weight:700;letter-spacing:-.045em;line-height:1.08}.hero__title span{color:var(--green)}
.hero{height:560px;min-height:500px}.hero__slide{left:70px;max-width:calc(100% - 140px)}
.hero__image{transition:opacity .25s}.hero__dots button{position:relative}.hero__dots button:before{content:"";position:absolute;inset:-8px}
.nav-toggle{display:none;padding:10px;background:none!important;color:#111}.nav-toggle svg{display:block;width:24px;height:24px}
.nav-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}
[id]{scroll-margin-top:110px} [hidden]{display:none!important}
.section-nav{display:flex;gap:9px 25px;flex-wrap:wrap;margin:-16px 0 38px;padding:16px 0;border-block:1px solid var(--border);font-size:12px}
.section-nav a{padding:5px 0;color:#555}.section-nav a:hover,.section-nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:6px}
.source-page{padding-top:54px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;color:#777;font-size:11px;margin-bottom:35px}.breadcrumbs a:hover{color:var(--green)}
.source-heading{max-width:1060px;margin-bottom:48px}.source-heading h1{font-size:clamp(28px,3.6vw,52px);margin:14px 0 20px;line-height:1.12;overflow-wrap:anywhere}.source-heading time{font-size:12px;color:#666}
.source-content{max-width:1030px;margin-inline:auto;color:#555;font-size:15px;line-height:1.9;overflow-wrap:anywhere}
.source-content h2,.source-content h3,.source-content h4,.source-content h5,.source-content h6{color:#111;line-height:1.25;letter-spacing:-.025em}
.source-content h2{font-size:30px;margin:45px 0 20px}.source-content h3{font-size:23px;margin:30px 0 15px}.source-content h4{font-size:15px}.source-content h6{font-size:14px}
.source-content p{margin-bottom:22px}.source-content li{margin-bottom:10px}.source-content a:not(.button){color:var(--green);text-decoration:underline;text-underline-offset:3px}.source-content ul,.source-content ol{padding-left:24px}
.source-content--article{max-width:850px}.source-content--article .source-block{white-space:normal}.source-content--article img{margin:30px auto;max-height:650px;object-fit:contain}
.source-content blockquote{border-left:2px solid var(--green);margin:25px 0;padding:10px 25px;background:var(--soft)}
.source-content table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}.source-content td,.source-content th{padding:10px;border:1px solid var(--border)}
.source-block--button{margin:30px 0}.source-block--button a{display:inline-flex;border:1px solid var(--green);padding:12px 25px;font-size:12px;font-weight:600;text-transform:uppercase;text-decoration:none!important}
.source-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:30px 0 42px}.source-gallery figure{margin:0;min-width:0}.source-gallery img{height:250px;object-fit:cover;width:100%;background:var(--soft)}.source-gallery a{display:block}.source-gallery figcaption{font-size:12px;margin-top:10px}
.source-gallery .gallery-plan{grid-column:1/-1}.source-gallery .gallery-plan img{height:auto;max-height:540px;object-fit:contain}
.source-accordion{border:1px solid var(--border);margin:0 0 12px;background:#fff}.source-accordion summary{padding:20px 55px 20px 24px;position:relative;cursor:pointer;color:#111;font-size:16px;font-weight:600;list-style:none}.source-accordion summary::-webkit-details-marker{display:none}.source-accordion summary:after{content:"+";position:absolute;right:24px;color:var(--green);font-size:23px;top:15px}.source-accordion[open] summary:after{content:"−"}.source-accordion[open] summary{border-bottom:1px solid var(--border)}.source-accordion>div{padding:22px 24px}.source-accordion p:last-child{margin:0}
.source-cta{margin:32px 0;padding:32px;background:var(--soft);border-left:3px solid var(--green)}.source-cta h2{margin-top:0}.small-print{font-size:11px!important;color:#666;margin:18px 0 0!important}.small-print a{text-decoration:underline}.source-back{margin-top:50px;text-align:center}
.article-cover{width:100%;max-height:570px;object-fit:cover;margin:0 0 45px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px;margin-top:34px}.news-card{min-width:0}.news-card img{width:100%;height:235px;object-fit:cover;background:var(--soft);margin-bottom:21px}.news-card h2{font-size:21px;line-height:1.3;margin:10px 0 22px}.news-card time{font-size:11px;color:#777}.news-card a{display:block}.news-card a:hover h2{color:var(--green)}
.article-terms{display:flex;flex-wrap:wrap;gap:10px;max-width:850px;margin:35px auto}.article-terms a{font-size:11px;padding:5px 12px;border:1px solid var(--border);color:var(--green)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:36px}.team-card{background:#fff;min-width:0;border:1px solid var(--border)}.team-card>img{width:100%;height:330px;object-fit:cover;object-position:center 25%}.team-card>div{padding:23px}.team-card h3{font-size:19px;margin-bottom:9px}.team-role{font-size:11px;min-height:34px;color:var(--green);margin:0 0 14px}.team-card details{font-size:13px;line-height:1.8}.team-card summary{cursor:pointer;font-weight:600}.team-card details>div{padding-top:15px;color:#666}.team-email{display:block;font-size:10px;color:var(--green);overflow-wrap:anywhere;margin-top:15px}
.home-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.home-story h2{font-size:40px;line-height:1.12;margin:18px 0 28px}.home-story>div>p:not(.eyebrow){font-size:13px;color:#666;max-width:350px}.capability-list{display:flex;flex-wrap:wrap;gap:6px 18px}.capability-list h6{margin:0;font-size:11px;font-weight:500}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:35px}.feature-grid>a{padding:28px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;gap:20px}.feature-grid .line-icon{color:var(--green);width:30px;flex:0 0 30px}.feature-grid h3{font-size:15px;margin:0;line-height:1.4}.feature-grid span{margin-left:auto;color:var(--green)}
.recruitment{display:flex;justify-content:space-between;align-items:center;gap:40px}.recruitment h2{font-size:34px}.recruitment p{max-width:670px;font-size:14px;margin:0}.recruitment .button{flex-shrink:0}.partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px;margin-top:40px;align-items:center}.partner-grid>div{display:flex;justify-content:center;align-items:center;height:90px}.partner-grid img{max-height:70px;max-width:160px;width:100%;object-fit:contain}
.project-detail{display:block;font-size:10px;color:var(--green);text-transform:uppercase;font-weight:600;margin-top:15px}.project-card a:hover h2{color:var(--green)}.service-card{display:block}.service-card:hover{border-color:var(--green)}.service-extra-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.about-image img{object-position:center}.site-footer__inner{grid-template-columns:auto auto 1fr;gap:32px}.site-footer__legal{flex-wrap:wrap;gap:12px 18px;white-space:normal}
.jobs-grid,.certificate-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.job-card,.certificate-card{padding:28px;border:1px solid var(--border);background:#fff}.job-card h2,.certificate-card h2{margin-top:0}.job-card .eyebrow{font-size:10px}.certificate-card img{height:390px;object-fit:contain}.certificate-card .source-gallery{display:block;margin-bottom:0}
@media(max-width:1180px){.brand__logo{width:228px}.site-header__inner{gap:24px}.hero__title{font-size:43px}.team-card>img{height:285px}.hero__slide{left:55px}.feature-grid>a{padding:21px;gap:14px}}
@media(max-width:900px){.nav-toggle{display:block!important;background:none!important;position:relative!important;top:auto!important;right:auto!important;margin:0;z-index:103}.site-nav:not(.is-open){visibility:hidden;pointer-events:none}.site-nav.is-open{visibility:visible;pointer-events:auto}.brand__logo{width:230px}.hero__slide{left:20px;max-width:calc(100% - 40px)}.hero__arrow--prev{left:0}.hero__arrow--next{right:0}.home-story{grid-template-columns:1fr;gap:24px}.home-story h2 br{display:none}.news-grid,.team-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}.recruitment{align-items:flex-start;flex-direction:column;gap:24px}.partner-grid{grid-template-columns:repeat(3,1fr)}.site-footer__inner{grid-template-columns:1fr auto}.site-footer__legal{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:680px){.brand__logo{width:216px}.hero{height:440px;min-height:440px;max-height:none}.hero__slide{left:0;top:48%;max-width:100%;width:100%;padding:0}.hero__title{font-size:32px}.hero__copy{font-size:13px}.hero__image{object-position:center}.home-intro{padding:38px 0}.home-intro h2{font-size:25px}.home-intro .button{width:auto;min-width:210px}.home-intro__grid{gap:25px}.home-stats{max-width:400px}.section-nav{margin:0 0 28px;gap:8px 20px;font-size:11px}.source-page{padding-top:30px}.source-heading{margin-bottom:30px}.breadcrumbs{margin-bottom:25px}.source-content{font-size:13px;line-height:1.8}.source-content h2{font-size:24px;margin-top:32px}.source-content h3{font-size:20px}.source-gallery{grid-template-columns:1fr 1fr;gap:10px}.source-gallery img{height:165px}.source-accordion summary{font-size:14px;padding-left:17px}.source-accordion>div{padding:17px}.source-cta{padding:23px}.source-cta .button{padding-inline:16px;width:100%;font-size:10px}.news-grid{grid-template-columns:1fr;gap:34px}.news-card img{height:auto;aspect-ratio:1.6}.news-card h2{font-size:22px}.team-grid{gap:16px;grid-template-columns:1fr 1fr}.team-card>img{height:220px}.team-card>div{padding:16px}.team-card h3{font-size:16px}.team-role{font-size:10px;min-height:40px}.team-card details{font-size:12px}.team-email{font-size:9px}.feature-grid{gap:10px}.feature-grid>a{flex-wrap:wrap;padding:20px 15px;gap:15px}.feature-grid h3{font-size:12px;width:100%;order:2}.feature-grid span{margin-left:auto}.home-story h2,.recruitment h2{font-size:28px}.partner-grid{grid-template-columns:1fr 1fr;gap:24px}.partner-grid img{max-width:135px;max-height:60px}.article-cover{max-height:280px}.jobs-grid,.certificate-grid{grid-template-columns:1fr}.job-card,.certificate-card{padding:22px}.source-back .button{width:100%}.site-footer .brand__logo{width:150px}.project-detail{font-size:8px}.service-extra-links .button{width:100%}.services-intro{line-height:1.75;margin-top:0}.service-card .project-detail{font-size:8px}.section-heading .text-link{display:block;font-size:10px;flex-shrink:0}.section-heading{gap:18px}}
@media(max-width:370px){.brand__logo{width:190px}.team-grid{grid-template-columns:1fr}.team-card>img{height:360px}.source-gallery{grid-template-columns:1fr}}
