*{box-sizing:border-box} :root{--deep:#070A09;--bg:#0B110E;--surface:#121C16;--moss:#4A5D3F;--walnut:#3D2B1F;--gold:#C4A574;--light-gold:#DCC29A;--ivory:#EFE8D8;--muted:#c2c4b9;--line:rgba(239,232,216,.2);font-family:"Avenir Next","Segoe UI","Helvetica Neue",sans-serif;color:var(--ivory);background:var(--bg);font-synthesis:none}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--light-gold);outline-offset:6px}.skip{position:absolute;top:12px;left:24px;padding:12px;background:var(--ivory);color:var(--deep);z-index:20;transform:translateY(-160%)}.skip:focus{transform:none}.site-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 4.5vw}.wordmark{font-size:44px;font-weight:500;line-height:1;letter-spacing:-3px;text-decoration:none}nav{display:flex;gap:34px;align-items:center}nav>a{font-size:16px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}nav>a:hover{color:var(--light-gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:15px 26px;border-radius:999px;border:1px solid var(--ivory);background:var(--ivory);color:var(--bg);font-size:16px;font-weight:500;line-height:1.3;text-decoration:none;transition:background .18s,color .18s}.button:hover{background:var(--light-gold);border-color:var(--light-gold);color:var(--bg)}.button.secondary{background:transparent;color:var(--ivory)}.button.secondary:hover{background:var(--ivory);color:var(--bg)}.button.small{padding:12px 23px;min-height:46px}.hero{position:relative;isolation:isolate;min-height:94svh;display:flex;flex-direction:column;background:var(--deep)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,9,.62),rgba(7,10,9,.12) 34%,rgba(7,10,9,.82));z-index:-1}.hero-content{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:5vw;margin-top:auto;padding:160px 4.5vw 70px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(52px,6.8vw,112px);font-weight:400;line-height:1.04;letter-spacing:-.055em;margin-bottom:0}p{font-size:18px;line-height:1.65;color:var(--muted)}.hero-support{max-width:470px;padding-bottom:5px}.hero-support p{font-size:21px;color:var(--ivory);margin-bottom:28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:110px 4.5vw}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;align-items:center;margin-bottom:76px}h2{font-size:clamp(36px,4vw,64px);font-weight:400;line-height:1.12;letter-spacing:-.035em}.section-intro h2{margin:0}.section-intro p{max-width:510px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.service-grid article{border-top:1px solid var(--line);padding:30px 18px 0 0}.service-grid h3{font-size:26px;font-weight:400;line-height:1.3;letter-spacing:-.025em;max-width:300px;margin-bottom:22px}.closing{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:76px;padding-bottom:76px}.closing p{font-size:30px;max-width:720px;margin:0}footer{padding:44px 4.5vw;background:var(--deep);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px;font-size:14px;color:var(--muted)}footer .wordmark{color:var(--ivory);font-size:36px}.page-main{padding-top:70px;min-height:75svh}.page-intro{margin-bottom:64px}.page-intro h1{margin-bottom:28px}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.result-card{perspective:1400px;min-width:0}.card-inner{display:grid;transform-style:preserve-3d;transition:transform .38s ease}.result-card.is-flipped .card-inner{transform:rotateY(180deg)}.card-face{grid-area:1/1;min-width:0;min-height:560px;padding:40px;display:flex;flex-direction:column;align-items:flex-start;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-wrap:anywhere}.card-front{position:relative;isolation:isolate;overflow:hidden;background:var(--moss)}.card-front::before{content:"";position:absolute;inset:-15px;background:linear-gradient(180deg,rgba(7,10,9,.25),rgba(7,10,9,.88)),url('assets/ecosystem-detail.jpg') 40% 50% /cover;filter:blur(2px);z-index:-1}.treatment-2 .card-front::before{background-image:linear-gradient(180deg,rgba(7,10,9,.25),rgba(7,10,9,.88)),url('assets/ecosystem-hero.jpg');background-position:65% 50%;background-size:cover;filter:blur(3px) saturate(.8)}.industry{color:var(--ivory);margin-bottom:80px}.card-face h2{font-size:clamp(32px,3.5vw,52px);margin-bottom:36px}.card-face .button{margin-top:auto}.card-back{background:var(--surface);transform:rotateY(180deg);border:1px solid var(--line)}.card-back p{margin-bottom:30px}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw;padding-top:70px;min-height:78svh}.contact-layout h1{font-size:clamp(52px,6vw,96px);margin-bottom:32px}.email-note{margin-top:50px}.booking{background:var(--surface);padding:36px;border-radius:18px;border:1px solid var(--line)}.booking h2{font-size:32px}.booking p{font-size:16px}.booking fieldset{border:0;padding:0;margin:32px 0 0;min-width:0}.booking legend{font-size:14px;color:var(--light-gold);margin-bottom:20px}.booking label{display:block;font-size:16px;margin-bottom:10px}.booking label span{color:var(--muted)}input,textarea{display:block;width:100%;padding:12px;color:var(--ivory);border:1px solid var(--line);border-radius:5px;background:var(--bg);margin-bottom:22px;min-height:48px}textarea{resize:vertical}input:disabled,textarea:disabled{opacity:.65;cursor:not-allowed}.pending{font-style:normal}
@media(min-width:1600px){.hero-content,.site-header,.section,footer{padding-left:max(4.5vw,calc((100vw - 1600px)/2));padding-right:max(4.5vw,calc((100vw - 1600px)/2))}}
@media(max-width:900px){.hero-content{grid-template-columns:1fr;gap:34px;padding-top:170px}.hero-support{max-width:560px}.section{padding-top:72px;padding-bottom:72px}.section-intro{gap:40px}.service-grid{gap:24px}.service-grid h3{font-size:22px}.card-face{padding:28px}.contact-layout{gap:40px;grid-template-columns:1fr 1fr}.booking{padding:26px}}
@media(max-width:640px){.site-header{padding:24px 20px;gap:18px}.wordmark{font-size:36px}nav{gap:16px;flex-wrap:wrap;justify-content:flex-end}nav>a{font-size:14px}nav .button.small{padding:10px 14px;font-size:14px}.hero-content{padding:130px 24px 48px;gap:28px}h1{font-size:clamp(46px,10vw,66px)}.hero-support p{font-size:18px}.hero{min-height:90svh}.section{padding-left:24px;padding-right:24px}.section-intro,.service-grid,.results-grid,.contact-layout{grid-template-columns:1fr}.section-intro{gap:24px;margin-bottom:40px}.service-grid{gap:30px}.service-grid h3{font-size:26px;max-width:none}.closing{align-items:flex-start;flex-direction:column}.closing p{font-size:26px}.card-face{min-height:510px}.industry{margin-bottom:60px}.card-face h2{font-size:36px}.contact-layout{gap:38px}.email-note{margin-top:28px}footer{padding:36px 24px;align-items:flex-start;flex-direction:column;gap:22px}.booking{padding:24px}.page-intro{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.result-card.is-flipped .card-inner,.card-back{transform:none}.card-face[aria-hidden="true"]{visibility:hidden}}
/* Approved copy: closing invitations and full case-study content. */
.closing>div{max-width:780px}.closing h2{max-width:850px;margin-bottom:20px}.closing>h2{margin-bottom:0}.closing p{font-size:18px}.closing>.button{flex-shrink:0}.impact{width:100%;margin:0 0 30px}.impact h3{font-size:18px;font-weight:500;margin-bottom:14px}.impact ul{list-style:none;margin:0 0 20px;padding:0}.impact li{font-size:16px;line-height:1.65;padding:10px 0;border-bottom:1px solid var(--line)}.impact strong{color:var(--ivory)}.impact p{margin:0}.card-back h2{font-size:clamp(30px,3vw,46px)}.card-back .estimate{font-size:16px}
/* Keep the partnership service heading on one line where space permits. */
@media (min-width: 1100px) {
  .service-grid article:last-child h3 {
    max-width: none;
    font-size: clamp(20px, 1.8vw, 26px);
    white-space: nowrap;
  }
}
/* Three.js sits above the fallback photograph and beneath the existing veil. */
.ecosystem-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;opacity:0}.ecosystem-canvas.is-ready{opacity:1}.hero-image{z-index:-3}.motion-toggle{position:absolute;right:4.5vw;bottom:18px;z-index:3;padding:8px 14px;min-height:44px;background:rgba(7,10,9,.65);border:1px solid var(--line);border-radius:999px;color:var(--ivory);font:inherit;font-size:14px}.motion-toggle:hover{background:var(--surface)}
@media(prefers-reduced-motion:reduce),(max-width:767px),(pointer:coarse){.ecosystem-canvas,.motion-toggle{display:none}}

/* Lowcountry concept: retain coastal detail and contrast behind the copy. */
.hero::after{background:linear-gradient(180deg,rgba(7,10,9,.45),rgba(7,10,9,.04) 35%,rgba(7,10,9,.26) 60%,rgba(7,10,9,.78))}

/* South Carolina ecosystem imagery for the Results case studies. */
.treatment-1 .card-front::before{background-image:linear-gradient(180deg,rgba(7,10,9,.25),rgba(7,10,9,.9)),url('assets/results-congaree-floodplain.jpg');background-position:center;background-size:cover;filter:blur(2px) saturate(.78)}
.treatment-2 .card-front::before{background-image:linear-gradient(180deg,rgba(7,10,9,.22),rgba(7,10,9,.9)),url('assets/results-longleaf-savanna.jpg');background-position:center;background-size:cover;filter:blur(2px) saturate(.78)}

/* Keep case-study cards equal in a shared grid row, regardless of copy wrapping. */
.results-grid{align-items:stretch}.result-card,.card-inner{height:100%}.card-face{height:100%}

/* Closing CTA and expanded site footer. */
.footer-cta{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:end;padding:clamp(72px,10vw,150px) 4.5vw;background:linear-gradient(135deg,#607a50 0%,#35472d 58%,#151f17 100%);isolation:isolate}.footer-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(236,239,210,.24),transparent 30%),linear-gradient(180deg,transparent 42%,rgba(7,10,9,.3));z-index:-1}.footer-eyebrow{margin:0 0 22px;color:rgba(239,232,216,.7);font-size:14px;letter-spacing:.08em;text-transform:uppercase}.footer-cta h2{max-width:760px;margin:0;font-size:clamp(52px,6.8vw,112px);letter-spacing:-.06em;line-height:.98}.footer-actions{display:flex;justify-content:flex-end;align-items:flex-start;gap:12px;flex-wrap:wrap}.footer-actions .button{min-width:max-content}.footer-actions .footer-primary{background:var(--ivory);border-color:var(--ivory)}.site-footer{position:relative;overflow:hidden;display:block;padding:62px 4.5vw 0;background:#0b150e;color:var(--muted)}.footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:72px}.footer-intro .wordmark{display:inline-block;color:var(--ivory);font-size:46px;margin-bottom:24px}.footer-intro p{max-width:240px;margin:0;color:var(--muted);font-size:16px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-column h2{margin:0 0 9px;color:var(--ivory);font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.footer-column a,.footer-column span{color:var(--muted);font-size:16px;line-height:1.5;text-decoration:none}.footer-column a:hover{color:var(--light-gold)}.footer-meta{position:relative;z-index:1;display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid rgba(239,232,216,.16);font-size:13px}.footer-wordmark{height:clamp(105px,13vw,210px);margin:0 -1vw;overflow:hidden;color:#87a574;font-size:clamp(176px,25vw,420px);font-weight:500;letter-spacing:-.1em;line-height:.72;white-space:nowrap;transform:translateY(34%);mask-image:linear-gradient(to bottom,black 10%,rgba(0,0,0,.42) 72%,transparent 100%)}
@media(min-width:1600px){.footer-cta,.site-footer{padding-left:max(4.5vw,calc((100vw - 1600px)/2));padding-right:max(4.5vw,calc((100vw - 1600px)/2))}}
@media(max-width:900px){.footer-cta{grid-template-columns:1fr;gap:42px}.footer-actions{justify-content:flex-start}.footer-grid{grid-template-columns:1.2fr 1fr}.footer-intro{grid-column:1/-1}}
@media(max-width:640px){.footer-cta{padding:68px 24px}.footer-cta h2{font-size:clamp(48px,13vw,70px)}.footer-actions{display:grid;grid-template-columns:1fr}.footer-actions .button{width:100%}.site-footer{padding:44px 24px 0}.footer-grid{grid-template-columns:1fr;gap:32px;padding-bottom:50px}.footer-intro{grid-column:auto}.footer-meta{flex-direction:column;gap:8px}.footer-wordmark{height:102px;font-size:182px;margin:0 -8px;transform:translateY(39%)}}

/* Centered, atmospheric closing field. */
.footer-cta{display:flex;flex-direction:column;min-height:clamp(560px,58vw,760px);gap:34px;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse 78% 42% at 50% 0%,rgba(175,204,150,.26),transparent 74%),radial-gradient(ellipse 105% 78% at 50% 12%,#668253 0%,#40593a 38%,#1d2b20 65%,#080c09 100%)}.footer-cta::after{background:linear-gradient(180deg,rgba(232,241,221,.04),rgba(7,10,9,.1) 36%,rgba(7,10,9,.7) 78%,#080c09 100%)}.footer-cta>div:first-child{display:flex;flex-direction:column;align-items:center}.footer-eyebrow{margin-bottom:26px}.footer-cta h2{max-width:850px;text-align:center}.footer-actions{justify-content:center;max-width:640px}

.footer-cta::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.62;background:radial-gradient(ellipse 36% 22% at 18% 28%,rgba(206,224,175,.17),transparent 78%),radial-gradient(ellipse 28% 25% at 77% 38%,rgba(104,145,92,.22),transparent 80%),radial-gradient(ellipse 50% 21% at 48% 63%,rgba(0,0,0,.18),transparent 82%),repeating-linear-gradient(171deg,rgba(236,244,222,.055) 0 1px,transparent 1px 7px),repeating-linear-gradient(9deg,rgba(0,0,0,.075) 0 1px,transparent 1px 12px);background-size:auto,auto,auto,190px 190px,240px 240px;mix-blend-mode:soft-light}.footer-cta>div{position:relative;z-index:1}

/* Reveal a little more of the cropped Noma signature. */
.footer-wordmark{transform:translateY(-8%);text-align:center}

/* Canvas field supplied for the footer CTA; existing content stays above it. */
.footer-cta{background:#000}.footer-cta::before,.footer-cta::after{display:none}.footer-cta__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.footer-cta h2,.footer-cta .footer-actions{position:relative;z-index:1}
@media(max-width:640px){.footer-wordmark{transform:translateY(-4%)}}

/* A warmer, lowcountry olive fade for the closing field. */
.footer-cta{background:radial-gradient(ellipse 78% 42% at 50% 0%,rgba(238,221,161,.2),transparent 74%),radial-gradient(ellipse 105% 78% at 50% 12%,#8a915c 0%,#5f693f 38%,#2c351f 65%,#0a0d08 100%)}.footer-cta::before{background:radial-gradient(ellipse 36% 22% at 18% 28%,rgba(233,218,168,.2),transparent 78%),radial-gradient(ellipse 28% 25% at 77% 38%,rgba(159,151,91,.18),transparent 80%),radial-gradient(ellipse 50% 21% at 48% 63%,rgba(0,0,0,.18),transparent 82%),repeating-linear-gradient(171deg,rgba(255,245,215,.055) 0 1px,transparent 1px 7px),repeating-linear-gradient(9deg,rgba(0,0,0,.075) 0 1px,transparent 1px 12px)}

/* Focused, reference-inspired closing composition in Noma green. */
.footer-cta{min-height:clamp(520px,46vw,680px);gap:34px;background:radial-gradient(ellipse 110% 44% at 50% -2%,rgba(198,211,157,.3),transparent 72%),radial-gradient(ellipse 110% 68% at 50% 14%,#829362 0%,#576d48 33%,#30412e 60%,#080c09 100%)}.footer-cta h2{max-width:720px;font-size:clamp(52px,5vw,80px);letter-spacing:-.05em;line-height:1.02}.footer-actions{width:auto}.footer-cta::before{opacity:.56;background:radial-gradient(ellipse 90% 14% at 48% 13%,rgba(243,244,208,.12),transparent 84%),radial-gradient(ellipse 90% 16% at 54% 31%,rgba(1,7,4,.16),transparent 86%),radial-gradient(ellipse 90% 20% at 46% 52%,rgba(214,223,178,.08),transparent 86%),repeating-linear-gradient(174deg,rgba(255,252,225,.05) 0 1px,transparent 1px 8px),repeating-linear-gradient(7deg,rgba(0,0,0,.07) 0 1px,transparent 1px 13px);background-size:auto,auto,auto,180px 180px,230px 230px}.footer-cta::after{background:linear-gradient(180deg,rgba(238,244,219,.06),rgba(8,12,9,.08) 37%,rgba(8,12,9,.82) 88%,#080c09 100%)}

/* Supplied artwork anchors the CTA; the footer inherits its darkest edge. */
.footer-cta{background:#050805 url('assets/hero-green-2560x1000.png') center bottom/cover no-repeat}.site-footer{background:#050805}

/* Let the services field ease out of the darkened edge of the hero. */
.services{padding-top:clamp(140px,13vw,190px);padding-bottom:clamp(140px,13vw,190px);background:linear-gradient(180deg,var(--deep) 0,var(--bg) 180px)}
@media(max-width:900px){.services{padding-top:112px;padding-bottom:112px;background:linear-gradient(180deg,var(--deep) 0,var(--bg) 135px)}}

/* Service cards brighten as an intentional, low-motion invitation to explore. */
.service-grid article{min-height:235px;padding:32px 28px 36px;border:1px solid var(--line);border-top-color:var(--line);background:transparent;transition:background-color .42s ease,color .42s ease,border-color .42s ease,transform .42s ease}.service-grid article h3,.service-grid article p{transition:color .42s ease}.service-grid article:hover,.service-grid article:focus-within{background:var(--ivory);border-color:var(--ivory);color:var(--bg);transform:translateY(-4px)}.service-grid article:hover h3,.service-grid article:focus-within h3{color:var(--bg)}.service-grid article:hover p,.service-grid article:focus-within p{color:#344035}

/* Preserve the original open layout; reveal the inversion only on intent. */
.service-grid article{position:relative;isolation:isolate;min-height:0;padding:30px 18px 0 0;border:0;border-top:1px solid var(--line);background:transparent;transition:color .42s ease}.service-grid article::before{content:"";position:absolute;inset:-22px -12px -28px -20px;z-index:-1;background:var(--ivory);opacity:0;transform:scale(.98);transform-origin:center;transition:opacity .42s ease,transform .42s ease}.service-grid article:hover,.service-grid article:focus-within{background:transparent;border-top-color:var(--line);color:var(--bg);transform:none}.service-grid article:hover::before,.service-grid article:focus-within::before{opacity:1;transform:scale(1)}

/* A quieter moss response keeps the services field cohesive. */
.service-grid article::before{background:#213323}.service-grid article:hover,.service-grid article:focus-within{color:var(--ivory)}.service-grid article:hover h3,.service-grid article:focus-within h3{color:var(--ivory)}.service-grid article:hover p,.service-grid article:focus-within p{color:var(--muted)}.service-grid article:hover::before,.service-grid article:focus-within::before{opacity:.82}

/* Reference-inspired service reveal: statement left, compact expanding list right. */
.services-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(64px,10vw,180px);align-items:start}.services-copy h2{margin:0 0 28px}.services-copy p{max-width:470px;margin:0}.services .service-grid{display:block}.services .service-grid article{position:relative;isolation:auto;min-height:0;padding:28px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ivory);transform:none;cursor:default}.services .service-grid article:last-child{border-bottom:1px solid var(--line)}.services .service-grid article::before{display:none}.services .service-grid h3{max-width:none;margin:0;font-size:clamp(28px,2.7vw,46px);font-weight:400;line-height:1.15;color:var(--ivory)}.services .service-grid article p{max-width:560px;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;color:var(--muted);transition:max-height .5s ease,padding .5s ease,opacity .28s ease,color .28s ease}.services .service-grid article:hover,.services .service-grid article:focus{background:transparent;border-color:var(--line);color:var(--ivory);transform:none;outline:none}.services .service-grid article:hover h3,.services .service-grid article:focus h3{color:var(--ivory)}.services .service-grid article:hover p,.services .service-grid article:focus p{max-height:180px;padding-top:16px;opacity:1;color:var(--muted)}.services .service-grid article:focus-visible{outline:2px solid var(--light-gold);outline-offset:8px}
@media(max-width:900px){.services-layout{grid-template-columns:1fr;gap:58px}.services-copy p{max-width:560px}.services .service-grid article{padding:24px 0}}
@media(hover:none){.services .service-grid article p{max-height:180px;padding-top:14px;opacity:1}}

/* Keep all service titles at the same visual weight and scale. */
.services .service-grid article:last-child h3{font-size:clamp(28px,2.7vw,46px);white-space:normal}

.services-copy p + p{margin-top:18px}

/* Taller result studies with Noma-toned, soft-focus color fields. */
.result-card{height:auto;aspect-ratio:.76}.result-card .card-inner{height:100%}.result-card .card-face{min-height:0;height:100%;padding:clamp(32px,4vw,54px)}.result-card .card-front::before{inset:0;filter:none;background:radial-gradient(ellipse 72% 44% at 20% 16%,rgba(188,204,150,.52),transparent 68%),radial-gradient(ellipse 64% 42% at 85% 32%,rgba(79,117,86,.74),transparent 70%),radial-gradient(ellipse 55% 36% at 50% 67%,rgba(201,170,103,.38),transparent 76%),radial-gradient(ellipse 76% 54% at 12% 96%,rgba(230,220,180,.25),transparent 72%),linear-gradient(150deg,#233421 0%,#455b42 45%,#926f36 100%);transform:scale(1.05)}.treatment-2 .card-front::before{background:radial-gradient(ellipse 68% 46% at 78% 13%,rgba(187,207,155,.48),transparent 70%),radial-gradient(ellipse 56% 40% at 18% 40%,rgba(75,105,68,.8),transparent 74%),radial-gradient(ellipse 58% 44% at 74% 78%,rgba(191,146,73,.58),transparent 76%),radial-gradient(ellipse 72% 48% at 23% 94%,rgba(221,208,166,.2),transparent 74%),linear-gradient(145deg,#1b2b1c 0%,#4f6946 47%,#9e7937 100%)}.result-card .card-front::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background:repeating-linear-gradient(103deg,rgba(255,255,255,.12) 0 1px,transparent 1px 5px),repeating-linear-gradient(7deg,rgba(0,0,0,.14) 0 1px,transparent 1px 7px);mix-blend-mode:soft-light}.result-card .industry{margin-bottom:auto}.result-card .card-front h2{max-width:490px;margin-top:auto;margin-bottom:28px}.result-card .card-front .button{margin-top:0}
@media(max-width:640px){.result-card{aspect-ratio:auto}.result-card .card-face{min-height:680px}}

.result-card{aspect-ratio:1.04}

/* Three studies share one balanced desktop row. */
.treatment-3 .card-front::before{background:radial-gradient(ellipse 68% 45% at 24% 14%,rgba(210,220,172,.48),transparent 70%),radial-gradient(ellipse 64% 48% at 81% 32%,rgba(76,108,74,.8),transparent 72%),radial-gradient(ellipse 58% 42% at 48% 76%,rgba(174,126,61,.54),transparent 76%),linear-gradient(145deg,#203020 0%,#496146 52%,#8b6838 100%)}
@media(min-width:1100px){.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-card{aspect-ratio:.72}}

/* Shared palette, distinct case-study atmospheres. */
.result-card .card-front h2{font-size:clamp(26px,2.4vw,38px);line-height:1.12}.treatment-1 .card-front::before{background:radial-gradient(ellipse 72% 44% at 18% 12%,rgba(231,228,192,.42),transparent 70%),radial-gradient(ellipse 68% 52% at 88% 34%,rgba(66,101,73,.78),transparent 74%),radial-gradient(ellipse 62% 42% at 24% 82%,rgba(194,159,87,.44),transparent 78%),linear-gradient(148deg,#53694d 0%,#253a2a 54%,#8c6c38 100%)}.treatment-2 .card-front::before{background:radial-gradient(ellipse 68% 48% at 15% 18%,rgba(45,73,49,.86),transparent 70%),radial-gradient(ellipse 64% 42% at 86% 20%,rgba(190,205,151,.44),transparent 72%),radial-gradient(ellipse 66% 52% at 28% 86%,rgba(174,126,61,.62),transparent 77%),linear-gradient(140deg,#1a2b1e 0%,#40593a 49%,#756536 100%)}.treatment-3 .card-front::before{background:radial-gradient(ellipse 66% 46% at 82% 13%,rgba(207,218,175,.5),transparent 70%),radial-gradient(ellipse 58% 48% at 18% 45%,rgba(55,88,59,.82),transparent 74%),radial-gradient(ellipse 68% 46% at 74% 86%,rgba(210,174,101,.56),transparent 78%),linear-gradient(145deg,#233521 0%,#5c714e 52%,#8b6234 100%)}

/* Results close with one centered question rather than another action. */
.closing{border-top:0;justify-content:center;text-align:center;padding-top:clamp(108px,12vw,190px);padding-bottom:clamp(108px,12vw,190px)}.closing h2{max-width:1080px;margin:0;font-size:clamp(48px,6.4vw,104px);line-height:1.03}

.site-header nav>a:not(.button){font-weight:600}

/* Horizontal case-study rail with a clear next control. */
.results-grid{display:flex;gap:28px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.results-grid::-webkit-scrollbar{display:none}.results-grid .result-card{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start}.results-carousel-actions{display:flex;justify-content:flex-end;margin-top:6px}.results-scroll{display:inline-flex;align-items:center;gap:16px;padding:12px 0;border:0;background:transparent;color:var(--ivory);font:inherit;font-size:16px;font-weight:600}.results-scroll span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-size:22px;transition:background .2s ease,color .2s ease}.results-scroll:hover span{background:var(--ivory);color:var(--bg)}.treatment-4 .card-front::before{background:radial-gradient(ellipse 70% 46% at 16% 16%,rgba(194,208,164,.46),transparent 70%),radial-gradient(ellipse 64% 48% at 86% 34%,rgba(53,86,63,.82),transparent 74%),radial-gradient(ellipse 66% 48% at 30% 88%,rgba(192,150,77,.52),transparent 78%),linear-gradient(145deg,#2a402d 0%,#536d4c 52%,#876537 100%)}
@media(max-width:1099px){.results-grid .result-card{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:640px){.results-grid .result-card{flex-basis:88%}.results-carousel-actions{justify-content:center}}

/* Small-screen Results: one full, swipeable case study at a time. */
@media(max-width:640px){.page-main{padding-top:34px}.page-intro{margin-bottom:38px}.results-grid{gap:16px;margin-right:-24px;padding:4px 24px 18px 0;scroll-padding-left:0}.results-grid .result-card{flex:0 0 calc(100% - 28px);aspect-ratio:auto}.result-card .card-face{min-height:600px;padding:28px}.result-card .card-front h2{font-size:clamp(30px,9vw,40px)}.results-carousel-actions{justify-content:flex-end;margin-top:2px}.results-scroll{font-size:14px}.results-scroll span{width:38px;height:38px}.closing{align-items:center;padding-top:92px;padding-bottom:92px}.closing h2{font-size:clamp(42px,12vw,62px)}}

/* Case-study card height is driven by content, not a fixed ratio.
   aspect-ratio locked each card's height to its width, so the longer back
   faces overflowed the rounded box -- Engineering (4 impact rows plus an
   estimate line) spilled at every width, by 532px at 1280. Both faces share
   one grid cell, so letting that cell size naturally makes the card as tall
   as its tallest face; the flex rail then stretches every card to match, so
   flipping never shifts the layout. */
.result-card{aspect-ratio:auto;height:auto}
.result-card .card-inner{height:100%}
.result-card .card-face{height:auto;min-height:0}
.result-card .card-front{min-height:clamp(420px,30vw,560px)}

/* Column count follows readable card width, not just available space. At 1280 a
   third-width card left 259px of content, wrapping the back's headline to six
   lines and forcing the whole rail ~1090px tall. One up through tablet portrait,
   two up to 1700, three only above that. The rail scrolls, so fewer columns
   costs nothing -- the peek at the next card signals there is more. */
@media(min-width:641px) and (max-width:1023px){
  .results-grid .result-card{flex:0 0 calc(100% - 64px)}
}
@media(min-width:1024px) and (max-width:1699px){
  .results-grid .result-card{flex:0 0 calc((100% - 28px)/2)}
}

/* The back carries far more text than the front, so give it a tighter rhythm
   and a smaller heading. The rail scrolls horizontally, so nothing is lost by
   letting each case study breathe. */
.card-back{padding:clamp(28px,2.4vw,40px)}
.card-back h2{font-size:clamp(26px,1.9vw,34px);margin-bottom:22px}
.card-back p{margin-bottom:20px}
.impact{margin-bottom:22px}
.impact h3{margin-bottom:10px}
.impact li{padding:7px 0}
.impact ul{margin-bottom:14px}
