:root{--paper:#eae8f5;--forest:#003f35;--deep:#004c40;--coral:#ff795e;--line:#a7c7c3;--type:'DM Sans',sans-serif;--space:clamp(24px,4vw,64px);--radius:2px;--ease:cubic-bezier(.3,.7,.2,1);--duration:320ms;--route:4.8vw}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--forest);font-family:var(--type);font-size:clamp(16px,1.65vw,24px);line-height:1.25}h1,h2,h3,p{margin:0}h1,h2{font-weight:900;letter-spacing:-.055em;line-height:.96;text-wrap:balance}h2{font-size:clamp(36px,4.8vw,80px)}h3{font-size:inherit;letter-spacing:-.035em;line-height:1.2}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}a,button,input{transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:5px}img{display:block;width:100%;height:auto;mix-blend-mode:darken}button{cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:62px;padding:14px 32px;background:var(--coral);border:1px solid var(--coral);color:var(--forest);font-weight:600;white-space:nowrap}.button:hover{background:#ff937c;transform:translateY(-2px)}.button span{font-size:1.5em;line-height:1}.outline{background:transparent;border-color:var(--forest)}.container{margin-left:var(--route);margin-right:4.8vw;padding-left:4vw;position:relative}.route{border-left:2px solid var(--coral)}.route:before{content:'';position:absolute;left:-13px;top:0;width:24px;height:24px;background:var(--coral);z-index:2}.eyebrow{font-size:clamp(15px,1.6vw,24px);font-weight:500;margin-bottom:8px}.number{color:#e86b50;font-weight:700;font-size:1.45em}section{scroll-margin-top:24px}[hidden]{display:none!important}
/* === section: header === */
.header{margin:0 4.8vw;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);font-size:18px}.header .wordmark{font-size:44px;font-weight:800;letter-spacing:-.06em}.header nav{display:flex;gap:34px;align-items:center}.header nav a{white-space:nowrap}.header nav a:not(.button):hover{color:#b5432d}.header .button{min-height:52px;padding:10px 28px}.header .menu-toggle{display:none;background:transparent;border:1px solid var(--forest);padding:10px 16px;color:var(--forest)}
@media(max-width:1000px){.header{flex-wrap:wrap;min-height:76px;padding:14px 0;gap:12px}.header .wordmark{font-size:32px}.header .menu-toggle{display:block}.header nav{width:100%;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;transition:height var(--duration) var(--ease),opacity var(--duration) var(--ease)}.header nav a{padding:14px}.header nav .button{margin-top:10px}.header.enhanced nav.closed{height:0!important;opacity:0;visibility:hidden}.header.enhanced nav{opacity:1}}
/* === section: hero === */
.hero{padding-top:44px}.hero .hero-top{display:grid;grid-template-columns:64% 32%;gap:4%;position:relative;z-index:1}.hero h1{font-size:clamp(66px,9.3vw,174px);line-height:.82;margin-top:20px}.hero .hero-intro{padding-top:36px;font-size:clamp(20px,2vw,34px)}.hero .button{margin-top:18px;font-size:clamp(18px,1.7vw,26px)}.hero img{width:calc(100% + 4vw);max-width:none;margin:0 0 0 -4vw;height:auto;position:relative}.hero .hero-caption{font-size:clamp(14px,1.45vw,22px);padding:0 0 56px;margin-top:-2px}.hero .route:before{top:0}
@media(min-width:1001px){.hero img{margin-top:-7vw}.hero .hero-caption{margin-top:-2vw}}
@media(min-width:601px) and (max-width:1000px){.hero h1{font-size:8.5vw}.hero .button{font-size:16px;padding:12px 14px;gap:12px}.hero .hero-intro{font-size:19px}.hero .hero-top{grid-template-columns:60% 36%}}
@media(max-width:600px){.hero{padding-top:30px}.hero .hero-top{grid-template-columns:1fr}.hero h1{font-size:clamp(56px,12.6vw,76px);line-height:.9;margin-top:16px}.hero .hero-intro{padding-top:24px;max-width:330px}.hero img{width:calc(100% + 4vw);margin:28px 0 0 -4vw}.hero .hero-caption{padding:16px 0 40px;font-size:13px}}
/* === section: connection === */
.connection .container{padding-bottom:54px}.connection .connection-heading{display:grid;grid-template-columns:58% 40%;gap:2%}.connection .connection-heading p{padding-top:8px;font-size:clamp(18px,2vw,30px)}.connection .connection-flow{display:grid;grid-template-columns:1fr 70px 1fr 70px 1.15fr;align-items:center;margin:22px 6% 14px}.connection .connection-flow span{padding:18px 12px;text-align:center;border:2px solid var(--line);border-radius:var(--radius);font-weight:600;font-size:1.25em}.connection .connection-flow span:nth-of-type(2){border-color:var(--coral);color:#c44d35;background:#ff795e12}.connection .connection-flow i{font-size:56px;color:var(--coral);font-style:normal;text-align:center}.connection .connection-caption{text-align:center;font-size:.9em}
@media(max-width:600px){.connection .connection-heading{grid-template-columns:1fr;gap:18px}.connection .connection-flow{grid-template-columns:1fr;margin:24px 12%}.connection .connection-flow i{transform:rotate(90deg);font-size:38px;line-height:1.2}.connection .connection-caption{line-height:1.7}.connection .container{padding-bottom:44px}}
/* === section: capability === */
.capability .container{padding-bottom:24px}.capability h2{margin-bottom:12px}.capability .capability-row{display:grid;grid-template-columns:27% 42% 31%;align-items:center;border-top:1px solid var(--line);min-height:153px}.capability .category{align-self:start;padding-top:12px}.capability .category p{font-size:.95em}.capability .capability-copy{padding:12px 4px 12px 8px}.capability .capability-copy h3{font-size:1em;margin-bottom:10px}.capability .capability-copy .balanced-heading{text-wrap:balance}.capability .capability-copy .keep-together{white-space:nowrap}.capability .capability-copy p{font-size:.9em}.capability img{align-self:center;max-height:170px;object-fit:contain}
@media(max-width:600px){.capability h2{font-size:35px;line-height:1}.capability .capability-row{grid-template-columns:1fr;padding:18px 0}.capability .category{display:flex;gap:12px;align-items:center;padding:0}.capability .capability-copy{padding:18px 0 0}.capability .capability-copy h3{font-size:20px}.capability img{max-height:none;width:90%;margin:6px auto 0}.capability .container{padding-bottom:18px}}
/* === section: standard === */
.standard{background:var(--deep);color:var(--paper)}.standard .container{padding-top:46px;padding-bottom:28px}.standard .route:before{top:46px}.standard h2{font-size:clamp(42px,6vw,104px);max-width:1100px}.standard .standard-intro{font-size:1.4em;margin:12px 0 16px}.standard .conditions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #80a49e}.standard .condition{display:flex;gap:36px;padding:18px 0;border-bottom:1px solid #80a49e}.standard .condition:nth-child(even){padding-left:40px;border-left:1px solid #80a49e}.standard .condition h3{font-size:1.22em;font-weight:600}.standard .condition p{font-size:.95em;margin-top:4px}.standard .number{color:var(--coral);font-size:1.45em}.standard .standard-end{padding-top:18px;font-weight:500}
@media(max-width:600px){.standard .container{padding-top:32px;padding-bottom:30px}.standard .route:before{top:32px}.standard h2{font-size:36px}.standard .standard-intro{font-size:19px;line-height:1.4}.standard .conditions{grid-template-columns:1fr}.standard .condition,.standard .condition:nth-child(even){padding:18px 0;border-left:0;gap:20px}.standard .condition h3{font-size:20px}.standard .standard-end{line-height:1.5}}
/* === section: how-we-work === */
.how-we-work .container{padding-top:36px;padding-bottom:30px}.how-we-work .route:before{top:36px}.how-we-work .work-intro{margin-top:8px}.how-we-work .steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px}.how-we-work .step{position:relative;min-width:0}.how-we-work .step-copy{padding:0 25px;border-right:1px solid var(--line)}.how-we-work .step:last-child .step-copy{border:0}.how-we-work .step-copy p{font-size:.95em;font-weight:600;color:#c64e36}.how-we-work .step-copy h3{font-size:1.12em;margin-top:4px}.how-we-work .step img{margin-top:12px}.how-we-work .step:not(:last-child):after{content:'\2192';position:absolute;right:-28px;top:63%;width:72px;background:var(--coral);color:var(--paper);text-align:center;line-height:36px;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);z-index:1}
@media(max-width:600px){.how-we-work .steps{grid-template-columns:1fr;gap:40px}.how-we-work .step-copy{padding:0;border:0}.how-we-work .step:not(:last-child):after{right:calc(50% - 36px);top:auto;bottom:-30px;transform:rotate(90deg)}.how-we-work .container{padding-bottom:40px}.how-we-work h2{font-size:36px}.how-we-work .work-intro{line-height:1.5}}
/* === section: our-group === */
.our-group .container{display:grid;grid-template-columns:47% 53%;padding-bottom:42px}.our-group .group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;border-left:1px solid var(--line)}.our-group .group-item{min-width:0;padding:12px clamp(10px,2vw,30px) 24px}.our-group .group-item:nth-child(odd){border-right:1px solid var(--line)}.our-group .group-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.our-group .group-item h3{font-size:1.25em}.our-group .group-item p{font-size:.9em;margin-top:4px}.our-group .group-item .keep-together{white-space:nowrap}.our-group .group-item span[aria-hidden]{color:var(--coral);display:inline-block}.our-group .group-item:hover{background:#a7c7c322}.our-group .group-item:hover span[aria-hidden]{transform:translateX(4px);transition:transform var(--duration) var(--ease)}
@media(max-width:600px){.our-group .container{grid-template-columns:1fr;gap:28px}.our-group .group-grid{border-left:0}.our-group .group-item{padding:16px 10px}.our-group .group-item h3{font-size:16px}.our-group .group-item p{font-size:14px}}
/* === section: cta === */
.cta .container{display:grid;grid-template-columns:50% 46%;gap:4%;padding-bottom:0}.cta h2{margin:12px 0 8px;font-size:clamp(36px,4.8vw,82px)}.cta h3{font-size:1.15em}.cta .cta-story>p:not(.eyebrow){font-size:.95em;margin-top:3px}.cta .cta-story img{margin-top:16px;width:105%;margin-left:-5%}.cta .form-shell{padding-top:50px;align-self:start;overflow:hidden;transition:height var(--duration) var(--ease)}.cta form{transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease)}.cta .names{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cta .field{margin-bottom:22px}.cta label{display:block;font-size:.95em;margin-bottom:7px}.cta input{width:100%;min-width:0;border:1px solid var(--forest);border-radius:0;background:transparent;padding:10px 12px;height:60px;color:var(--forest)}.cta input:focus{background:#fff8}.cta input:user-invalid{border-color:#b33320}.cta .button{width:100%;padding-left:16px;padding-right:16px}.cta .form-note{font-size:.88em;line-height:1.4;margin-top:20px}.cta .thank-you{padding:24px 0;animation:arrive var(--duration) var(--ease) both}.cta .thank-you h3{font-size:48px}.cta .thank-you p{margin-top:16px}.cta .thank-you p:last-child{font-size:18px}.cta .leaving{opacity:0;transform:translateY(-10px)}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.cta .container{grid-template-columns:1fr;gap:0;padding-bottom:36px}.cta h2{font-size:34px}.cta h3{font-size:18px}.cta .form-shell{padding-top:24px}.cta .names{gap:14px}.cta input{height:50px}.cta .button{gap:12px;font-size:16px}.cta .cta-story>p:not(.eyebrow){line-height:1.5}.cta .cta-story img{width:100%;margin-left:0}}
/* === section: footer === */
.footer{padding:36px 5.4vw 46px;background:var(--deep);color:var(--paper)}.footer .footer-main{display:flex;align-items:end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #80a49e;gap:20px}.footer .wordmark{font-size:clamp(58px,9vw,160px);font-weight:800;line-height:1;letter-spacing:-.06em}.footer .footer-main p{font-size:clamp(22px,2.8vw,44px)}.footer .footer-main>a{font-size:.9em;padding-bottom:10px}.footer .footer-bottom{display:flex;justify-content:space-between;margin-top:24px;font-size:.9em}.footer .footer-bottom span{font-size:1.6em;margin-left:12px}.footer a:hover{color:var(--coral)}
@media(max-width:600px){.footer{padding:30px 7vw}.footer .footer-main{align-items:start;flex-direction:column;gap:20px}.footer .footer-main p{font-size:20px;margin-top:6px}.footer .footer-bottom{align-items:start;gap:22px;font-size:13px}.footer .footer-bottom a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

