/* Architectural direction: expansive imagery, precise type, deep ink. */
.impact-site{--ink:#142939;--blue:#173448;--gray:#53636d;--light:#f0f3f4;--line:#d7dfe3;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}
.impact-site .site-header{height:84px;padding:0 5%;background:#fff;border-bottom:1px solid #dce2e5}
.impact-site .site-header nav>a{font-size:14px}
.impact-site .site-header .nav-contact,.impact-site .button{border-radius:2px;min-height:48px}
.impact-site .logo .brand-logo{width:158px;height:70px}
.impact-site .section{padding:76px 6%}
.impact-site .eyebrow{font-size:12px;letter-spacing:.13em;font-weight:600}
.impact-site h2{font-size:clamp(36px,4.8vw,70px);line-height:1.04;letter-spacing:-.045em;font-weight:500}
.impact-site h2 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:-.045em}
.impact-site .section-title{gap:30px}
.impact-site .text-link{line-height:1.5}
.hero-stage{width:100%;max-width:none;height:auto;margin:0;border-radius:0;transform:none;position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:650px;min-height:max(650px,calc(92svh - 84px));background:#0c1c28;color:#fff;overflow:hidden}
.impact-site .hero-stage .home-featured-video,.impact-site .hero-stage .home-featured-image{position:absolute;inset:0;z-index:0;margin:0;max-width:none;width:100%;height:100%;border:0;border-radius:0;background:#142939;box-shadow:none}
.impact-site .hero-stage .hero-video-frame{height:100%;width:100%;aspect-ratio:auto;border:0}
.impact-site .hero-stage video,.impact-site .hero-stage .home-featured-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-stage:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,17,26,.05) 0%,rgba(4,17,26,.09) 24%,rgba(4,17,26,.76) 57%,rgba(4,17,26,.96) 100%)}
.hero-stage-content{position:relative;z-index:2;width:100%;padding:260px 6% 26px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:34px 6%;align-items:end}
.hero-stage-title .eyebrow{color:#e3ebef;margin:0 0 24px}
.hero-stage h1{font-size:clamp(64px,7.4vw,112px);font-weight:500;line-height:.99;letter-spacing:-.055em;color:#fff;margin:0;max-width:none}
.hero-stage h1 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:-.055em;color:#e5eced}
.hero-promise{font-size:clamp(23px,2.1vw,31px);line-height:1.25;letter-spacing:-.025em;margin:0 0 17px}
.hero-description{font-size:16px;color:#e0e7eb;line-height:1.65;max-width:440px;margin:0}
.hero-stage .actions{display:flex;align-items:center;flex-wrap:wrap;gap:17px 22px;margin-top:24px}
.impact-site .hero-stage .button{background:#fff;color:#102a3b;border:1px solid #fff;padding:15px 22px;font-size:16px;font-weight:550}
.impact-site .hero-stage .button:hover{background:#e1ebee;color:#102a3b}
.hero-stage .text-link{color:#fff;font-size:14px}
.hero-stage a:focus-visible{outline:3px solid white;outline-offset:5px}
.impact-site .hero-stage:has(video[controls]){display:block;min-height:0}
.impact-site .hero-stage:has(video[controls]):after{display:none}
.impact-site .hero-stage:has(video[controls]) .home-featured-video{position:relative;inset:auto;z-index:0;height:auto;aspect-ratio:16/9;max-height:70svh}
.impact-site .hero-stage:has(video[controls]) video{object-fit:contain}
.hero-stage:has(video[controls]) .hero-stage-content{padding-top:40px}
.hero-stage-foot{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:23px;border-top:1px solid #ffffff42;color:#c5d0d7;font-size:12px;line-height:1.6;letter-spacing:.09em}
.impact-site .home-curated{background:#fff;padding-top:76px;padding-bottom:64px}
.impact-site .home-curated .section-title{margin-bottom:44px;align-items:flex-end}
.impact-site .editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 30px;align-items:start}
.impact-site .editorial-grid .curated-card:nth-child(n){grid-column:auto;border:0;border-radius:0;background:transparent;overflow:visible;display:block}
.impact-site .editorial-grid .curated-card>img{display:block;aspect-ratio:3/2;width:100%;height:auto;object-fit:cover;border-radius:2px;transition:filter .3s ease}
.impact-site .editorial-grid .curated-card:hover>img{filter:brightness(1.06)}
.impact-site .editorial-grid .curated-card>div{padding:17px 0 0;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;border:0}
.impact-site .editorial-grid .curated-card h3{font-size:clamp(23px,2.2vw,32px);line-height:1.15;font-weight:500;letter-spacing:-.035em;color:#142939;margin:0}
.impact-site .editorial-grid .selection-number{font-size:12px;color:#667986;font-variant-numeric:tabular-nums;align-self:start;padding-top:4px}
.impact-site .editorial-grid .curated-card>div>span:last-child{font-size:14px;color:#586b77;white-space:nowrap}
.impact-site .editorial-grid .curated-card>div>span:last-child>span{margin-left:8px}
.impact-site .home-fair-links{margin-top:40px;padding-top:24px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.impact-site .home-fair-links>p{font-size:15px;margin:0}
.impact-site .fair-links a{border:0;border-bottom:1px solid #c3ced4;border-radius:0;padding:10px 0;margin-right:16px;background:none;font-size:14px}
.impact-site .fair-links a:hover{background:none;border-color:#142939}
.impact-site .process-simple{background:#eef2f4}
.impact-site .process-simple .section-title h2{font-size:clamp(35px,4.2vw,60px)}
.impact-site .process-grid{gap:36px}
.impact-site .process-grid article{padding-top:22px;border-top:1px solid #b9c8d1}
.impact-site .step-number{font-size:44px;line-height:1;font-weight:400;letter-spacing:-.045em;color:#8296a4;margin-bottom:24px}
.impact-site .process-grid h3{font-size:24px;font-weight:500;letter-spacing:-.025em;line-height:1.25}
.impact-site .process-grid p{font-size:16px;line-height:1.75}
.impact-site .team-cost-note{border-top:1px solid #c9d5dc;padding-top:24px}
.impact-site .home-questions{background:#fff;padding:28px 32px;margin-top:30px;border:0}
.impact-site .home-questions>h3{font-size:24px;letter-spacing:-.025em;font-weight:500}
.impact-site .contact-strip{padding:76px 6%;background:#0e2535;display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:center}
.impact-site .contact-strip h2{font-size:clamp(40px,5.2vw,76px);font-weight:500;line-height:1.05;letter-spacing:-.045em;max-width:850px}
.impact-site .contact-strip p:not(.eyebrow){font-size:17px;max-width:640px;line-height:1.7}
.impact-site .contact-strip-actions{align-items:stretch;min-width:230px}
.impact-site .contact-strip .button{padding:22px 26px;font-size:18px;justify-content:center}
.impact-site .cta-phone{text-align:center;line-height:1.7}
.impact-site .quick-contact{border-radius:2px;box-shadow:0 4px 18px #071d3320;background:#173448}
.impact-site .page-heading{padding-top:70px;padding-bottom:48px;text-align:left;max-width:none}
.impact-site .page-heading h1{margin-left:0;margin-right:0;font-size:clamp(42px,5.8vw,82px);font-weight:500;line-height:1.04;letter-spacing:-.045em}
.impact-site .page-heading .lead{margin-left:0;max-width:720px;font-size:18px}
.impact-site .fair-grid{gap:32px}
.impact-site .fair-card{border:0;border-radius:0;background:transparent}
.impact-site .fair-cover{border-radius:2px}
.impact-site .fair-card-body{padding:20px 0;border-bottom:1px solid #d8e0e5}
.impact-site .fair-card h3{font-size:34px;font-weight:500;letter-spacing:-.035em}
.impact-site .reference-card .photo-open{border-radius:2px}
.impact-site .about-simple h2{font-size:clamp(34px,4.3vw,60px)}
.impact-site .team-brand-panel{border-radius:2px}
.impact-site footer.section{padding-top:48px;padding-bottom:28px}
@media(min-width:1100px){.impact-site .editorial-grid .curated-card:nth-child(even){transform:translateY(50px)}.impact-site .editorial-grid{padding-bottom:50px}}
@media(min-width:1800px){.hero-stage{min-height:800px;max-height:1000px}.hero-stage-content{padding-top:350px}}
@media(max-width:1050px){
.hero-stage-content{grid-template-columns:1.15fr 1fr;gap:26px 5%;padding-left:5%;padding-right:5%}
.hero-stage h1{font-size:clamp(58px,7.4vw,80px)}
.hero-promise{font-size:23px}
.hero-stage .actions{gap:16px}
.impact-site .section{padding-left:5%;padding-right:5%}
.impact-site .contact-strip{gap:32px}
}
@media(max-width:760px){
.impact-site .site-header{height:72px;padding:0 6%}
.impact-site .logo .brand-logo{width:137px;height:60px}
.impact-site .site-header nav{top:72px}
.impact-site .site-header nav>a{font-size:20px}
.impact-site .section{padding:44px 6%}
.hero-stage{display:flex;flex-direction:column;align-items:stretch;min-height:0;overflow:visible;background:#102a3b}
.impact-site .hero-stage .home-featured-video,.impact-site .hero-stage .home-featured-image{position:relative;inset:auto;width:100%;height:auto;min-height:0;flex:0 0 auto;aspect-ratio:16/9;z-index:0}
.impact-site .hero-stage .hero-video-frame{aspect-ratio:16/9;height:auto}
.impact-site .hero-stage video{height:auto;aspect-ratio:16/9;object-fit:contain}
.hero-stage:after{display:none}
.hero-stage-content{display:block;padding:28px 6% 22px;width:100%}
.hero-stage-title .eyebrow{font-size:12px;line-height:1.6;margin-bottom:15px;letter-spacing:.07em}
.hero-stage h1{font-size:clamp(43px,10.8vw,78px);line-height:1.01;letter-spacing:-.05em}
.hero-stage-details{margin-top:22px}
.hero-promise{font-size:21px;line-height:1.35;margin-bottom:12px}
.hero-promise br{display:none}
.hero-description{font-size:16px;line-height:1.65;max-width:none}
.hero-stage .actions{margin-top:22px;gap:18px 24px}
.hero-stage .text-link{font-size:15px}
.hero-stage-foot{margin-top:26px;padding-top:17px;font-size:12px}
.hero-stage-foot>span:last-child{display:none}
.impact-site .home-curated{padding-top:42px;padding-bottom:36px}
.impact-site .home-curated .section-title{margin-bottom:28px;gap:22px;flex-wrap:wrap}
.impact-site h2{font-size:clamp(36px,8.8vw,52px)}
.impact-site .editorial-grid{grid-template-columns:1fr;gap:30px;padding:0}
.impact-site .editorial-grid .curated-card>img{aspect-ratio:3/2}
.impact-site .editorial-grid .curated-card>div{padding-top:13px;grid-template-columns:24px 1fr auto;gap:10px}
.impact-site .editorial-grid .curated-card h3{font-size:27px;line-height:1.2}
.impact-site .home-fair-links{margin-top:28px;padding-top:22px;gap:14px}
.impact-site .fair-links{gap:4px 16px}
.impact-site .fair-links a{margin-right:0}
.impact-site .process-simple .section-title h2{font-size:clamp(34px,8vw,48px)}
.impact-site .process-grid{gap:24px}
.impact-site .process-grid article{grid-template-columns:48px 1fr;gap:12px 18px}
.impact-site .step-number{font-size:34px;margin:0;line-height:1.1}
.impact-site .process-grid h3{font-size:23px;line-height:1.25}
.impact-site .home-questions{padding:22px 18px;margin-top:26px}
.impact-site .home-questions>h3{font-size:22px}
.impact-site .contact-strip{grid-template-columns:1fr;gap:28px;padding:46px 6%}
.impact-site .contact-strip h2{font-size:clamp(40px,10vw,58px)}
.impact-site .contact-strip-actions{width:100%;min-width:0}
.impact-site .contact-strip p:not(.eyebrow){font-size:16px}
.impact-site .contact-strip .button{padding:18px 22px}
.impact-site .page-heading{padding-top:40px;padding-bottom:30px}
.impact-site .page-heading h1{font-size:clamp(39px,9.7vw,65px)}
.impact-site .page-heading .lead{font-size:17px;line-height:1.7}
.impact-site .fair-grid{gap:24px}
.impact-site .fair-card h3{font-size:27px}
.impact-site .fair-card-body{padding-top:16px}
.impact-site footer.section{padding-top:35px;padding-bottom:25px}
}
@media(prefers-reduced-motion:reduce){.impact-site .editorial-grid .curated-card>img{transition:none}}

.impact-site :is(button,input,select,textarea,summary,h1,h2,h3,h4,em){font-family:Arial,Helvetica,sans-serif}
.impact-site .hero-stage{width:100%;max-width:none;height:auto;margin:0;border-radius:0;transform:none}
@media(max-width:760px){.impact-site .hero-stage{min-height:0;display:flex;flex-direction:column}.impact-site .hero-stage-content{flex:0 0 auto}.impact-site .hero-stage:has(video[controls]) .home-featured-video{max-height:none;flex:0 0 auto}.impact-site .hero-stage:has(video[controls]) .hero-stage-content{padding-top:28px}}

/* Fair catalogue: readable captions and quick discovery. */
.impact-site .fair-search{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:18px}
.impact-site .fair-search label{display:grid;gap:9px;font-size:14px;font-weight:600}
.impact-site .fair-search input,.impact-site .fair-search select{width:100%;min-height:50px;padding:12px 14px;border:1px solid #bbc5cc;border-radius:2px;background:#fff;color:#142939;font:inherit}
.impact-site .fair-search input:focus-visible,.impact-site .fair-search select:focus-visible{outline:2px solid #142939;outline-offset:3px}
.impact-site .fair-result-status{font-size:14px;color:#52616c;margin-bottom:24px}
.impact-site .fair-card[hidden]{display:none}
.impact-site .reference-card{border-bottom:1px solid #d3dbe0;padding-bottom:24px;margin-bottom:16px}
.impact-site .reference-card figcaption{display:block;padding:18px 0 0}
.impact-site .reference-card figcaption h3{font:600 clamp(17px,1.7vw,21px)/1.4 Arial,sans-serif;margin:0 0 9px;color:#142939}
.impact-site .reference-card .stand-description{font-size:15px;line-height:1.6;color:#52616c;margin:0 0 10px}
.impact-site .reference-card figcaption>a{font-size:14px;color:#142939;text-underline-offset:4px}
@media(max-width:700px){.impact-site .fair-search{grid-template-columns:1fr;gap:16px}.impact-site .reference-card{padding-bottom:20px;margin-bottom:12px}}

/* Company story: the same typography, restrained palette and existing film. */
.impact-site .about-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-top:24px}
.about-story-copy,.about-story-media{min-width:0}
.impact-site .about-story h2{font-size:clamp(32px,3.2vw,48px);line-height:1.14;letter-spacing:-.035em;margin-bottom:24px}
.about-story-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--gray);max-width:62ch;margin:0 0 19px}
.about-story-copy>.text-link{display:inline-block;font-size:16px;margin-top:7px}
.impact-site .about-story .home-featured-video{max-width:none;width:100%;border-radius:2px;border:1px solid var(--line);box-shadow:none}
.impact-site .about-story .hero-video-frame{aspect-ratio:16/9}
.impact-site .about-story video{object-fit:contain}
.impact-site .about-organization{background:var(--light)}
.impact-site .about-organization .section-title{align-items:end;margin-bottom:40px}
.impact-site .about-organization h2{font-size:clamp(34px,4vw,58px);line-height:1.1}
.about-organization .section-title>p{font-size:17px;line-height:1.8;color:var(--gray);max-width:440px}
.about-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.about-principles article{border-top:1px solid #b9c8d1;padding-top:24px}
.about-principles h3{font-size:24px;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin-bottom:14px}
.about-principles p{font-size:16px;line-height:1.8;color:var(--gray);margin:0}
.about-organization>.text-link{display:inline-block;margin-top:32px;font-size:16px}
@media(max-width:1050px){.impact-site .about-story{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.about-principles{gap:24px}}
@media(max-width:850px){.impact-site .about-story{grid-template-columns:1fr;gap:30px}.about-story-copy>p:not(.eyebrow){max-width:none}.about-story-media{max-width:760px;width:100%}.about-principles{grid-template-columns:1fr;gap:28px}.impact-site .about-organization .section-title{display:block}.about-organization .section-title>p{max-width:62ch;margin-top:24px}}
@media(max-width:760px){.impact-site .about-story{padding-top:10px}.impact-site .about-story h2{font-size:34px}.impact-site .about-organization h2{font-size:36px}.about-principles h3{font-size:23px}.about-story-copy>p:not(.eyebrow){font-size:16px}}
