.about-page{background:#091827}
.about-scene{position:relative;display:flex;align-items:center;min-height:calc(100svh - 84px);overflow:hidden}
.about-scene .container{position:relative;z-index:1}
.about-scene h1,.about-scene h2{font-weight:800;line-height:1.08}
.about-scene h1 em,.about-scene h2 em{font-style:normal;color:#77e4d4}
.about-scene p{line-height:1.53}
.about-scene .signal-rule{--signal-length:clamp(170px,20vw,310px)}
.about-hero{color:#fff;background:linear-gradient(90deg,rgba(5,17,28,.75),rgba(5,17,28,.68)),url('../assets/about/hinterland-origin.png') center/cover}
.about-hero__content{padding-block:75px 100px}
.about-hero h1{max-width:1120px;margin:0 0 38px;font-size:clamp(64px,6.4vw,112px);line-height:1.02}
.about-hero h1 span{display:block}
.about-hero__content{display:flex;flex-direction:column;align-items:center;text-align:center}
.about-hero h1{margin-inline:auto}
.about-hero .signal-rule{margin-inline:auto}
.about-hero .section-hero__subtext{max-width:760px;margin:clamp(26px,3.5vh,38px) auto 0;color:#e4efef;font-family:'Avenir Next',Avenir,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:clamp(18px,1.4vw,22px);line-height:1.5;letter-spacing:-.015em;font-weight:500}
.about-origin{background:#eaf1f0;color:#102332}
.about-origin__grid,.about-framework__grid,.about-turn__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(44px,5.5vw,100px)}
.about-origin .signal-rule::before{background:#c18413}
.about-origin .signal-rule::after{background:#087f73}
.about-origin h2,.about-framework h2,.about-turn h2,.about-team h2{margin:29px 0;font-size:clamp(44px,4.25vw,68px);letter-spacing:-.055em}
.about-origin h2 em,.about-team h2 em{color:#087f73}
.about-origin p,.about-framework p,.about-turn p{max-width:720px;margin:0;font-size:clamp(18px,1.45vw,22px)}
.about-origin__image{position:relative;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:22px;width:100%;height:min(65svh,610px);min-height:430px;margin:0}
.about-origin__tile{position:relative;min-height:0;margin:0;border:1px solid #b5cdca;border-radius:22px;overflow:hidden;background:#102d3b;box-shadow:0 20px 38px rgba(21,57,64,.13);will-change:transform}
.about-origin__tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.about-origin__tile figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:34px 18px 15px;background:linear-gradient(transparent,rgba(4,20,29,.76));color:#fff;font-size:clamp(14px,1.05vw,17px);font-weight:800;line-height:1.15}
.about-origin__tile figcaption span{font-size:clamp(11px,.8vw,13px);font-weight:600;color:#e2eeeb;white-space:nowrap}
.about-origin__versus{position:absolute;z-index:3;top:50%;left:50%;display:grid;place-items:center;width:64px;height:64px;border:3px solid #eaf1f0;border-radius:50%;background:#ffc742;box-shadow:0 8px 26px rgba(15,38,43,.28);color:#122c39;font-family:'Avenir Next',Avenir,ui-sans-serif,sans-serif;font-size:20px;font-weight:900;letter-spacing:-.07em;line-height:1;transform:translate(-50%,-50%);text-transform:uppercase}
.about-framework{background:#dcebea;color:#102332}
.about-framework h2 em{color:#087f73}
.about-framework .signal-rule::before{background:#c18413}
.about-framework .signal-rule::after{background:#087f73}
.about-framework__copy p{color:#29444d}
.about-framework__copy p+p{margin-top:22px}
.about-framework__images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:min(65svh,610px);min-height:430px}
.about-framework__image{position:relative;min-width:0;height:100%;margin:0;border:1px solid rgba(170,207,209,.45);border-radius:22px;overflow:hidden;background:#183442}
.about-framework__image img{display:block;width:100%;height:100%;object-fit:cover}
.about-framework__image img{object-position:center}
.about-framework__image figcaption{position:absolute;inset:auto 0 0;display:grid;grid-template-rows:auto auto 84px;gap:3px;padding:72px 18px 21px;background:linear-gradient(transparent,rgba(4,19,29,.91));color:#fff}
.about-framework__image figcaption span{font-size:13px;font-weight:700;letter-spacing:.02em;color:#d2e3e3}
.about-framework__image figcaption strong{font-family:'Avenir Next',Avenir,ui-sans-serif,sans-serif;font-size:clamp(17px,1.45vw,23px);line-height:1.13;white-space:nowrap}
.about-framework__piste-grades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin-top:12px}
.about-framework__piste-grades span{display:flex;align-items:center;gap:7px;color:#f1f7f5;font-size:clamp(11px,.82vw,13px);font-weight:700;line-height:1.15}
.about-framework__piste-grades i{flex:none;width:14px;height:14px;border:1.5px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 2px 7px rgba(0,0,0,.32)}
.about-framework__piste--green{background:#2dbf69}.about-framework__piste--blue{background:#2687d5}.about-framework__piste--red{background:#e44343}.about-framework__piste--black{background:#171c23}
.about-framework__star-grades{display:grid;gap:6px;margin-top:12px}
.about-framework__star-grades span{display:flex;align-items:baseline;gap:8px;color:#fff;font-size:clamp(10px,.75vw,12px);line-height:1.1}
.about-framework__star-grades b{min-width:38px;color:#ffc744;font-size:clamp(14px,1vw,18px);letter-spacing:-.13em}
.about-framework__star-grades small{font-size:inherit;font-weight:650}
.about-built{background:radial-gradient(circle at 78% 46%,rgba(17,102,109,.33),transparent 42%),linear-gradient(125deg,#071b28,#0b2937);color:#fff}
.about-built__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(44px,5.5vw,100px)}
.about-built h2{margin:29px 0;font-family:var(--content-slide-font);font-size:var(--content-slide-heading-size);font-weight:800;line-height:1.06;letter-spacing:-.055em}
.about-built__copy p{max-width:720px;margin:0;color:#d2e4e2;font-family:var(--content-slide-font);font-size:var(--content-slide-body-size);font-weight:500;line-height:1.5;letter-spacing:-.015em}
.about-built__copy p+p{margin-top:22px}
.about-built__attributes{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:11px;width:100%;min-height:min(57svh,520px);margin:0;padding:20px 0;list-style:none}
.about-built__attributes li{display:flex;align-items:center;min-height:43px;padding:9px 16px;border:1px solid rgba(182,255,244,.46);border-radius:999px;background:#68dcd0;box-shadow:0 12px 25px rgba(0,15,25,.15);color:#092b38;font-family:'Avenir Next',Avenir,ui-sans-serif,sans-serif;font-size:clamp(13px,1.05vw,17px);font-weight:800;line-height:1.2;white-space:nowrap}
.about-built__attributes li:nth-child(3n+2){background:#a5eee5}
.about-built__attributes li:nth-child(3n){background:#34c5b8}
.about-turn{background:#0b1e2d;color:#fff}
.about-turn__copy p{color:#c9ddde}
.about-turn__copy p+p{margin-top:22px}
.about-turn__arc{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:min(61svh,570px);padding:clamp(27px,3vw,48px);border:1px solid rgba(126,183,192,.37);border-radius:24px;background-color:#123142;background-image:linear-gradient(rgba(126,183,192,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(126,183,192,.075) 1px,transparent 1px);background-size:48px 48px}
.about-turn__step{display:flex;align-items:center;justify-content:center;min-height:66px;padding:12px clamp(12px,1.5vw,21px);border:1px solid #ecf8f5;border-radius:999px;background:#e7f2f0;color:#12313c;box-shadow:0 14px 28px rgba(1,18,28,.18);text-align:center}
.about-turn__step--experience{width:57%}
.about-turn__step--supplier{width:76%}
.about-turn__step--destination{width:96%;border-color:#67ddce;background:#67ddce}
.about-turn__step span,.about-turn__step strong{display:block;font-family:'Avenir Next',Avenir,ui-sans-serif,sans-serif;font-size:clamp(19px,1.65vw,26px);font-weight:800;line-height:1.12;letter-spacing:-.05em;white-space:nowrap}
.about-turn__arc i{display:block;position:relative;width:2px;height:24px;margin:8px 0;background:#77e4d4}
.about-turn__arc i::after{content:"";position:absolute;left:50%;bottom:0;width:8px;height:8px;border-right:2px solid #77e4d4;border-bottom:2px solid #77e4d4;transform:translateX(-50%) rotate(45deg)}
.about-team{background:#eaf1f0;color:#102332}
.about-team__inner{width:100%;padding-block:clamp(39px,5vh,65px) 66px}
.about-team h2{margin:0 0 clamp(20px,3vh,31px)}
.about-team__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,22px)}
.about-person{--portrait-size:100%;--portrait-hover-size:104.5%;position:relative;min-width:0;height:min(55svh,500px);min-height:430px;border:1px solid #aecac8;border-radius:21px;overflow:hidden;background:#102d3b;box-shadow:0 20px 44px rgba(13,45,54,.13)}
.about-person__toggle{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.about-person__toggle:focus-visible{outline:3px solid #f0b82f;outline-offset:-5px}
.about-person__portrait{position:absolute;inset:0;overflow:hidden;background:#193945}
.about-person__photo{display:block;position:absolute;top:0;left:calc((100% - var(--portrait-size))/2);width:var(--portrait-size);max-width:none;height:var(--portrait-size);object-fit:cover;object-position:center top;transition:width .75s cubic-bezier(.2,.75,.2,1),height .75s cubic-bezier(.2,.75,.2,1),left .75s cubic-bezier(.2,.75,.2,1),opacity .55s ease}
.about-person__photo--mono{filter:grayscale(1);opacity:1}
.about-person__photo--colour{opacity:0}
.about-person--terry{--portrait-size:111%;--portrait-hover-size:115.5%}
.about-person--tony{--portrait-size:103%;--portrait-hover-size:107.5%}
.about-person--lesley{--portrait-size:111%;--portrait-hover-size:115.5%}
.about-person__initial{font-family:'Avenir Next',Avenir,ui-sans-serif,sans-serif;font-size:clamp(130px,15vw,250px);font-weight:800;line-height:1;color:rgba(234,255,251,.35)}
.about-person__portrait small{position:absolute;right:16px;top:17px;color:#f3fffd;font-size:12px;font-weight:800;letter-spacing:.01em}
.about-person__identity{position:absolute;z-index:2;inset:auto 0 0;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:92px 20px 22px;background:linear-gradient(transparent,rgba(4,22,32,.86) 70%,rgba(4,22,32,.98));transition:transform .56s cubic-bezier(.2,.75,.2,1)}
.about-person__identity strong,.about-person__reveal>strong{display:block;font-family:'Avenir Next',Avenir,ui-sans-serif,sans-serif;font-size:clamp(30px,2.6vw,40px);font-weight:800;line-height:1.06;letter-spacing:-.055em}
.about-person__identity>span,.about-person__reveal-role{display:block;color:#d8eee9;font-size:13px;font-weight:750;line-height:1.3}
.about-person__reveal{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:20px;background:linear-gradient(transparent 14%,rgba(4,22,32,.16) 39%,rgba(4,22,32,.86) 69%,rgba(4,22,32,.98));transform:translateY(101%);transition:transform .6s cubic-bezier(.2,.78,.2,1)}
.about-person__reveal-bio{display:block;color:#f1f8f6;font-size:clamp(12px,.96vw,13.5px);font-weight:500;line-height:1.4}
.about-person.is-open .about-person__photo,.about-person:has(.about-person__toggle:focus-visible) .about-person__photo{left:calc((100% - var(--portrait-hover-size))/2);width:var(--portrait-hover-size);height:var(--portrait-hover-size)}
.about-person.is-open .about-person__photo--mono,.about-person:has(.about-person__toggle:focus-visible) .about-person__photo--mono{opacity:0}
.about-person.is-open .about-person__photo--colour,.about-person:has(.about-person__toggle:focus-visible) .about-person__photo--colour{opacity:1}
@media(hover:hover){.about-person:hover .about-person__photo{left:calc((100% - var(--portrait-hover-size))/2);width:var(--portrait-hover-size);height:var(--portrait-hover-size)}.about-person:hover .about-person__photo--mono{opacity:0}.about-person:hover .about-person__photo--colour{opacity:1}.about-person:hover .about-person__identity{transform:translateY(103%)}.about-person:hover .about-person__reveal{transform:translateY(0)}}
.about-person.is-open .about-person__identity,.about-person:has(.about-person__toggle:focus-visible) .about-person__identity{transform:translateY(103%)}
.about-person.is-open .about-person__reveal,.about-person:has(.about-person__toggle:focus-visible) .about-person__reveal{transform:translateY(0)}
.about-close{color:#fff;background:radial-gradient(circle at 85% 15%,rgba(22,116,117,.32),transparent 45%),linear-gradient(125deg,#071522,#143a46)}
.about-close__inner{padding-block:70px 100px}
.about-close h2{max-width:1090px;margin:28px 0 30px;font-size:clamp(44px,5.1vw,82px)}
.about-close p{max-width:760px;margin:0 0 30px;color:#d1e2e1;font-size:clamp(18px,1.5vw,23px)}
.about-close .button{min-width:270px}
.about-scene .scene-next{background:rgba(9,29,40,.3);color:#fff;border-color:rgba(255,255,255,.65)}
.about-origin .scene-next,.about-framework .scene-next,.about-team .scene-next{background:rgba(248,251,251,.78);color:#12313c;border-color:#79969d}
@media(max-width:1050px){html.about-document{scroll-snap-type:none}.about-scene{overflow:visible}.about-origin,.about-framework,.about-turn,.about-team{padding-block:55px 75px}.about-team__inner{padding-block:0}.about-team__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.about-person{height:475px;min-height:0}.about-origin__grid,.about-framework__grid,.about-turn__grid{gap:36px}.about-origin__image{min-height:390px;height:50svh}.about-framework__images{min-height:390px;height:50svh}.about-origin h2,.about-framework h2,.about-turn h2,.about-team h2{font-size:clamp(42px,4.8vw,58px)}}
@media(max-width:680px){.about-scene{min-height:calc(100svh - 70px)}.about-hero{background-position:61% center}.about-hero__content{padding-block:70px 105px}.about-hero h1{font-size:clamp(46px,10.8vw,68px);margin-bottom:28px}.about-hero h1 span{display:inline}.about-hero h1 span+span::before{content:' '}.about-origin,.about-framework,.about-turn,.about-team{padding-block:43px 75px}.about-origin__grid,.about-framework__grid,.about-turn__grid{grid-template-columns:1fr;gap:29px}.about-origin h2,.about-framework h2,.about-turn h2,.about-team h2{font-size:clamp(39px,9.2vw,56px);margin:21px 0}.about-origin p,.about-framework p,.about-turn p{font-size:16px}.about-origin__image{height:36svh;min-height:235px;border-radius:17px}.about-framework__images{height:34svh;min-height:240px;gap:10px}.about-framework__image{border-radius:17px}.about-framework__image figcaption{padding:45px 10px 14px}.about-framework__image figcaption span{font-size:11px}.about-framework__copy p+p,.about-turn__copy p+p{margin-top:16px}.about-turn__arc{min-height:295px;padding:25px;border-radius:17px}.about-turn__arc span,.about-turn__arc strong{font-size:clamp(22px,5.7vw,29px)}.about-turn__arc i{height:30px;margin-block:10px}.about-team h2{margin:0 0 24px}.about-team__cards{grid-template-columns:1fr;gap:15px}.about-person{height:450px;border-radius:16px}.about-person__identity{padding:85px 20px 20px}.about-person__identity strong,.about-person__reveal>strong{font-size:34px}.about-person__reveal{padding:20px}.about-person__reveal-bio{font-size:13px}.about-close__inner{padding-block:60px 95px}.about-close h2{font-size:clamp(44px,5.1vw,82px);margin-block:22px}.about-close p{font-size:17px}}
@media(max-width:680px){.about-hero .section-hero__subtext{font-size:18px;max-width:570px}}
@media(max-height:800px) and (min-width:1051px){html.about-document{scroll-snap-type:y mandatory}.about-team{overflow:visible}}
@media(max-width:680px){.about-turn__step{min-height:55px;padding:8px 12px}.about-turn__step--experience{width:64%}.about-turn__step--supplier{width:82%}.about-turn__step--destination{width:100%}.about-turn__arc .about-turn__step span,.about-turn__arc .about-turn__step strong{font-size:clamp(17px,4.5vw,20px)}.about-turn__arc i{height:20px;margin:7px 0}}
@media(prefers-reduced-motion:reduce){.about-person__photo,.about-person__identity,.about-person__reveal{transition:none}}

/* About follows the same headline and main-copy rhythm as the homepage. */
.about-origin h2,.about-framework h2,.about-turn h2,.about-team h2{font-family:var(--content-slide-font);font-size:var(--content-slide-heading-size);font-weight:800;line-height:1.06;letter-spacing:-.055em}
.about-origin p,.about-framework p,.about-turn p,.about-close p{font-family:var(--content-slide-font);font-size:var(--content-slide-body-size);font-weight:500;line-height:1.5;letter-spacing:-.015em}
.about-close h2{font-family:var(--content-slide-font);font-size:var(--nonhome-cta-heading-size);font-weight:800;line-height:1.1;letter-spacing:-.055em}
.about-person__reveal-bio{font-family:var(--content-slide-font)}

/* The comparison, rating, and scale diagrams each tell their story in a short loop. */
@keyframes about-origin-first{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
@keyframes about-origin-second{0%,100%{transform:scale(1.04)}50%{transform:scale(.96)}}
@keyframes about-built-pill-in{from{opacity:0;transform:translateY(14px) scale(.87)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes about-piste-green{0%,7%,55%,62%,100%{transform:scale(1)}3%,59%{transform:scale(1.5);filter:drop-shadow(0 0 7px #2dbf69)}}
@keyframes about-piste-blue{0%,11%,19%,66%,74%,100%{transform:scale(1)}15%,70%{transform:scale(1.5);filter:drop-shadow(0 0 7px #2687d5)}}
@keyframes about-piste-red{0%,33%,41%,77%,85%,100%{transform:scale(1)}37%,81%{transform:scale(1.5);filter:drop-shadow(0 0 7px #e44343)}}
@keyframes about-piste-black{0%,22%,30%,44%,52%,88%,96%,100%{transform:scale(1)}26%,48%,92%{transform:scale(1.5);filter:drop-shadow(0 0 7px #f6f6f6)}}
@keyframes about-star-one{0%,4%,17%,100%{transform:scale(1)}10%{transform:scale(1.26);filter:drop-shadow(0 0 8px #ffc744)}}
@keyframes about-star-two{0%,37%,50%,100%{transform:scale(1)}43%{transform:scale(1.26);filter:drop-shadow(0 0 8px #ffc744)}}
@keyframes about-star-three{0%,70%,83%,100%{transform:scale(1)}76%{transform:scale(1.26);filter:drop-shadow(0 0 8px #ffc744)}}
@keyframes about-arrow-one{0%,15%{opacity:0}27%,84%{opacity:1}96%,100%{opacity:0}}
@keyframes about-step-two{0%,24%{opacity:0;transform:translateY(12px) scale(.94)}36%,84%{opacity:1;transform:translateY(0) scale(1)}96%,100%{opacity:0;transform:translateY(12px) scale(.94)}}
@keyframes about-arrow-two{0%,39%{opacity:0}51%,84%{opacity:1}96%,100%{opacity:0}}
@keyframes about-step-three{0%,49%{opacity:0;transform:translateY(12px) scale(.94)}62%,84%{opacity:1;transform:translateY(0) scale(1)}96%,100%{opacity:0;transform:translateY(12px) scale(.94)}}
@media(prefers-reduced-motion:no-preference) and (min-width:761px){
  .about-origin.is-active .about-origin__tile:first-child{animation:about-origin-first 6.4s ease-in-out infinite}
  .about-origin.is-active .about-origin__tile:last-child{animation:about-origin-second 6.4s ease-in-out infinite}
  .about-framework__piste-grades i,.about-framework__star-grades b{display:inline-block;transform-origin:center;will-change:transform}
  .about-framework.is-active .about-framework__piste--green{animation:about-piste-green 6.3s ease-in-out infinite}
  .about-framework.is-active .about-framework__piste--blue{animation:about-piste-blue 6.3s ease-in-out infinite}
  .about-framework.is-active .about-framework__piste--red{animation:about-piste-red 6.3s ease-in-out infinite}
  .about-framework.is-active .about-framework__piste--black{animation:about-piste-black 6.3s ease-in-out infinite}
  .about-framework.is-active .about-framework__star-grades span:nth-child(1) b{animation:about-star-one 3.3s ease-in-out infinite}
  .about-framework.is-active .about-framework__star-grades span:nth-child(2) b{animation:about-star-two 3.3s ease-in-out infinite}
  .about-framework.is-active .about-framework__star-grades span:nth-child(3) b{animation:about-star-three 3.3s ease-in-out infinite}
  html.motion-ready .about-built:not(.is-active) .about-built__attributes li{opacity:0}
  .about-built.is-active .about-built__attributes li{animation:about-built-pill-in .58s cubic-bezier(.2,.78,.2,1) both;animation-delay:calc(var(--pill-index)*.085s)}
  html.motion-ready .about-turn:not(.is-active) .about-turn__arc>i,html.motion-ready .about-turn:not(.is-active) .about-turn__step--supplier,html.motion-ready .about-turn:not(.is-active) .about-turn__step--destination{opacity:0}
  .about-turn.is-active .about-turn__arc>i:first-of-type{animation:about-arrow-one 5.6s ease-in-out infinite}
  .about-turn.is-active .about-turn__step--supplier{animation:about-step-two 5.6s ease-in-out infinite}
  .about-turn.is-active .about-turn__arc>i:last-of-type{animation:about-arrow-two 5.6s ease-in-out infinite}
  .about-turn.is-active .about-turn__step--destination{animation:about-step-three 5.6s ease-in-out infinite}
}
@media(max-width:1050px){.about-built{padding-block:55px 75px}.about-built__grid{gap:36px}.about-built__attributes{min-height:390px}}
@media(max-width:680px){.about-origin__image{gap:18px}.about-origin__versus{width:52px;height:52px;font-size:16px}.about-framework__image figcaption{grid-template-rows:auto auto 84px}.about-framework__image figcaption strong{font-size:clamp(14px,3.7vw,17px);letter-spacing:-.055em}.about-framework__piste-grades{gap:5px 3px}.about-framework__piste-grades span{gap:4px;font-size:10px}.about-framework__piste-grades i{width:11px;height:11px}.about-framework__star-grades span{gap:4px;font-size:10px}.about-framework__star-grades b{flex:none;width:38px;min-width:38px;font-size:13px;white-space:nowrap}.about-built{padding-block:43px 75px}.about-built__grid{grid-template-columns:1fr;gap:26px}.about-built h2{margin:21px 0}.about-built__copy p{font-size:16px}.about-built__copy p+p{margin-top:16px}.about-built__attributes{justify-content:flex-start;gap:8px;min-height:0;padding:0}.about-built__attributes li{min-height:34px;padding:7px 11px;font-size:12px}}
@media(max-width:360px){.about-framework__images{height:330px;min-height:330px}.about-framework__image figcaption{grid-template-rows:auto auto 108px}.about-framework__star-grades{gap:4px;margin-top:8px}.about-framework__star-grades span{font-size:9px;line-height:1.08}}

/* On phones each chapter fills one viewport. Team portraits become four more
   vertical chapters, with the section heading pinned over their top edge. */
@media(max-width:1050px){
  html.about-document{--mobile-header:84px;scroll-snap-type:y mandatory;scroll-padding-top:var(--mobile-header)}
  .about-scene:not(.about-team){box-sizing:border-box;height:calc(100svh - var(--mobile-header));height:calc(100dvh - var(--mobile-header));min-height:0;padding:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
  .about-scene:not(.about-team)>.container{box-sizing:border-box;max-height:100%;overflow-y:auto}
  .about-hero__content{justify-content:center;padding-block:24px 34px}
  .about-hero h1{font-size:clamp(39px,9.8vw,64px);margin-bottom:17px}
  .about-hero .section-hero__subtext{font-size:clamp(15px,4vw,19px);margin-top:19px}
  .about-origin__grid,.about-framework__grid,.about-built__grid,.about-turn__grid{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:clamp(12px,2.7svh,24px);padding-block:clamp(16px,3svh,30px)}
  .about-origin h2,.about-framework h2,.about-built h2,.about-turn h2{font-size:clamp(32px,8vw,48px);line-height:1.05;margin:10px 0}
  .about-origin p,.about-framework p,.about-built__copy p,.about-turn p{font-size:clamp(13px,3.5vw,17px);line-height:1.42}
  .about-origin__image,.about-framework__images{height:clamp(155px,29svh,280px);min-height:0;flex:none}
  .about-origin__image{gap:8px}
  .about-origin__tile{border-radius:12px}
  .about-origin__tile:first-child img{object-position:center 12%}
  .about-origin__tile figcaption{padding:18px 8px 7px;font-size:11px}
  .about-origin__tile figcaption span{font-size:9px}
  .about-origin__versus{width:38px;height:38px;font-size:12px}
  .about-framework__images{gap:8px}
  .about-framework__image{border-radius:12px}
  .about-framework__image figcaption{grid-template-rows:auto auto auto;gap:1px;padding:20px 7px 7px}
  .about-framework__image figcaption span{font-size:9px}
  .about-framework__image figcaption strong{font-size:clamp(10px,2.7vw,14px);white-space:normal}
  .about-framework__piste-grades,.about-framework__star-grades{display:none}
  .about-built__attributes{display:flex;justify-content:flex-start;align-content:center;gap:5px;min-height:0;max-height:35%;padding:0;overflow:hidden}
  .about-built__attributes li{min-height:23px;padding:4px 7px;font-size:clamp(9px,2.5vw,12px)}
  .about-turn__arc{min-height:0;height:clamp(150px,29svh,260px);padding:13px;flex:none;border-radius:13px}
  .about-turn__step{min-height:35px;padding:5px 9px}
  .about-turn__arc .about-turn__step span,.about-turn__arc .about-turn__step strong{font-size:clamp(13px,3.8vw,19px)}
  .about-turn__arc i{height:11px;margin:4px 0}
  .about-close__inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;padding-block:16px 28px}
  .about-close.site-close.site-close .about-close__inner{padding-block:16px 28px}
  .about-close h2{font-size:clamp(37px,9vw,58px);margin:18px 0}
  .about-close p{font-size:clamp(14px,3.7vw,17px);margin-bottom:20px}
  .about-team{display:block;height:auto;min-height:0;padding:0;overflow:visible}
  .about-team__inner{width:100%;padding:0}
  .about-team h2{position:sticky;z-index:5;top:var(--mobile-header);box-sizing:border-box;height:0;margin:0;padding:17px var(--gutter) 0;color:#fff;font-size:clamp(27px,7vw,38px);line-height:1.1;text-shadow:0 2px 12px #071b28;pointer-events:none}
  .about-team h2 em{color:#76e2d1}
  .about-team__cards{display:block}
  .about-person{box-sizing:border-box;height:calc(100svh - var(--mobile-header));height:calc(100dvh - var(--mobile-header));min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;scroll-snap-align:start;scroll-snap-stop:always}
  .about-person__portrait{top:66px}
  .about-person__photo{height:max(100%,var(--portrait-size));object-position:center 18%}
  .about-person__reveal{padding:14px var(--gutter) 22px}
  .about-person__reveal-bio{font-size:clamp(12px,3.1vw,14px);line-height:1.35}
  .about-scene:not(.about-hero) .scene-next{display:none}
}
@media(max-width:380px) and (max-height:650px){
  .about-origin h2,.about-framework h2,.about-built h2,.about-turn h2{font-size:30px}
  .about-origin p,.about-framework p,.about-built__copy p,.about-turn p{font-size:12.5px;line-height:1.35}
  .about-origin__image,.about-framework__images{height:145px}
  .about-turn__arc{height:137px}
  .about-built__attributes li{font-size:9px;padding:3px 6px;min-height:21px}
}

/* Short phones give the comparison photographs their own swipe, so both
   subjects remain visible instead of becoming narrow decorative strips. */
@media(max-width:430px) and (max-height:720px){
  .about-origin.about-scene,.about-origin__grid{display:contents}
  .about-origin__copy,.about-origin__image{box-sizing:border-box;width:100%;height:calc(100svh - var(--mobile-header));height:calc(100dvh - var(--mobile-header));min-height:0;background:#eaf1f0;scroll-snap-align:start;scroll-snap-stop:always}
  .about-origin__copy{display:flex;flex-direction:column;justify-content:center;padding:20px var(--gutter)}
  .about-origin__image{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:20px var(--gutter) 28px;border-radius:0}
  .about-origin__tile figcaption{padding:26px 13px 11px;font-size:13px}
  .about-origin__tile figcaption span{font-size:10px}
  .about-origin__tile:first-child img{object-position:center 16%}
  .about-origin .scene-next{display:none}
}

@media(max-width:680px){html.about-document{--mobile-header:70px}}

/* Mobile chapters read as an article. Give every image and paragraph its own
   space instead of scaling them down to fit a slide. */
@media(max-width:760px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){
  html.about-document{scroll-snap-type:none}
  .about-scene,.about-scene:not(.about-team){display:block;height:auto;min-height:0;padding-block:62px 67px;overflow:visible;scroll-snap-align:none;scroll-snap-stop:normal}
  .about-scene:not(.about-team)>.container{height:auto;max-height:none;overflow:visible}
  .about-hero.about-scene{min-height:0;padding:0;background-position:58% center}
  .about-hero__content{display:block;padding-block:90px 100px;text-align:left}
  .about-hero h1{max-width:740px;margin:0 0 25px;font-size:clamp(44px,8.4vw,72px)}
  .about-hero .signal-rule{margin-inline:0}
  .about-hero .section-hero__subtext{max-width:650px;margin:25px 0 0;font-size:clamp(17px,2.2vw,22px)}
  .about-origin__grid,.about-framework__grid,.about-built__grid,.about-turn__grid{display:grid;grid-template-columns:1fr;align-items:start;justify-content:start;gap:30px;height:auto;padding:0 var(--gutter)}
  .about-origin__copy{display:block;width:auto;height:auto;min-height:0;padding:0;scroll-snap-align:none;scroll-snap-stop:normal}
  .about-origin h2,.about-framework h2,.about-built h2,.about-turn h2{margin:21px 0 18px;font-size:clamp(38px,6vw,58px)}
  .about-origin p,.about-framework p,.about-built__copy p,.about-turn p{max-width:680px;font-size:clamp(17px,2vw,20px);line-height:1.55}
  .about-origin__image{display:grid;grid-template-rows:repeat(2,auto);gap:16px;width:100%;height:auto;min-height:0;margin:0;padding:0;border-radius:0;scroll-snap-align:none;scroll-snap-stop:normal}
  .about-origin__tile{width:100%;height:auto;aspect-ratio:2/1;border-radius:17px}
  .about-origin__tile img,.about-origin__tile:first-child img{object-fit:cover;object-position:center}
  .about-origin__tile figcaption{padding:30px 15px 12px;font-size:clamp(13px,2vw,17px)}
  .about-origin__tile figcaption span{font-size:clamp(10px,1.4vw,13px)}
  .about-origin__versus{width:50px;height:50px;font-size:16px}
  .about-framework__images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;height:auto;min-height:0}
  .about-framework__image{height:auto;min-height:0;aspect-ratio:3/4;border-radius:17px}
  .about-framework__image img{object-position:center 61%}
  .about-framework__image figcaption{grid-template-rows:auto auto auto;gap:4px;padding:65px 14px 16px}
  .about-framework__image figcaption span{font-size:12px}
  .about-framework__image figcaption strong{font-size:clamp(16px,2vw,22px);white-space:normal}
  .about-framework__piste-grades,.about-framework__star-grades{display:grid}
  .about-built__attributes{justify-content:flex-start;align-content:flex-start;gap:9px;height:auto;min-height:0;max-height:none;padding:0;overflow:visible}
  .about-built__attributes li{min-height:38px;padding:8px 12px;font-size:clamp(12px,1.5vw,15px)}
  .about-turn__arc{height:auto;min-height:0;padding:25px 20px;border-radius:18px}
  .about-turn__step{min-height:52px;padding:9px 12px}
  .about-turn__arc i{height:23px;margin-block:8px}
  .about-team{display:block;padding-block:61px 69px}
  .about-team__inner{width:100%;padding:0 var(--gutter)}
  .about-team h2{position:static;height:auto;margin:0 0 28px;padding:0;color:#102332;text-shadow:none;pointer-events:auto;font-size:clamp(38px,6vw,58px)}
  .about-team h2 em{color:#087f73}
  .about-team__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .about-person{height:clamp(390px,47vw,500px);min-height:0;border:1px solid #aecac8;border-radius:18px;box-shadow:0 18px 34px rgba(13,45,54,.12);scroll-snap-align:none;scroll-snap-stop:normal}
  .about-person__portrait{top:0}
  .about-person__photo,.about-person.is-open .about-person__photo,.about-person:has(.about-person__toggle:focus-visible) .about-person__photo{top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:opacity .3s ease}
  .about-person__reveal{padding:20px}
  .about-person__reveal-bio{font-size:clamp(13px,1.6vw,15px);line-height:1.45}
  .about-close.about-scene{padding:0}
  .about-close__inner,.about-close.site-close.site-close .about-close__inner{display:block;height:auto;padding-block:79px 91px}
  .about-close h2{margin:23px 0;font-size:clamp(43px,6vw,70px)}
  .about-close p{font-size:clamp(17px,2vw,21px)}
  .about-scene .scene-next{display:none}
}
@media(max-width:680px){
  .about-scene,.about-scene:not(.about-team){padding-block:53px 62px}
  .about-hero.about-scene{padding:0}
  .about-hero__content{padding-block:76px 90px}
  .about-hero h1{font-size:clamp(42px,11vw,58px)}
  .about-origin h2,.about-framework h2,.about-built h2,.about-turn h2,.about-team h2{font-size:clamp(37px,9.2vw,49px)}
  .about-origin p,.about-framework p,.about-built__copy p,.about-turn p{font-size:clamp(16px,4.3vw,18px)}
  .about-origin__image{gap:13px}
  .about-origin__tile{aspect-ratio:2/1}
  .about-origin__tile figcaption{font-size:clamp(12px,3.4vw,15px)}
  .about-origin__tile figcaption span{font-size:clamp(9px,2.7vw,11px)}
  .about-framework__images{grid-template-columns:1fr;gap:14px}
  .about-framework__image{aspect-ratio:4/3}
  .about-framework__image img{object-position:center 58%}
  .about-framework__image figcaption{padding:45px 17px 17px}
  .about-framework__image figcaption span{font-size:13px}
  .about-framework__image figcaption strong{font-size:20px}
  .about-framework__piste-grades span,.about-framework__star-grades span{font-size:11px}
  .about-framework__piste-grades i{width:13px;height:13px}
  .about-built__attributes li{min-height:36px;font-size:13px}
  .about-team__cards{grid-template-columns:1fr;gap:16px}
  .about-person{height:clamp(390px,125vw,500px)}
  .about-close.about-scene{padding:0}
  .about-close.site-close.site-close .about-close__inner{padding-block:74px 84px}
}

/* Mobile keeps the full diagrams and adds restrained motion only while each
   diagram is visible. The four ski grades stay in a single readable row. */
@media(max-width:760px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){
  .about-framework__piste-grades{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:10px}
  .about-framework__piste-grades span{min-width:0;gap:3px;white-space:nowrap;font-size:clamp(9px,2.7vw,12px)}
  .about-framework__piste-grades i{width:clamp(9px,2.9vw,13px);height:clamp(9px,2.9vw,13px)}
}
@keyframes about-mobile-origin-first{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(3px) scale(1.015)}}
@keyframes about-mobile-origin-second{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(-3px) scale(1.015)}}
@media(prefers-reduced-motion:no-preference) and (max-width:760px),
       (prefers-reduced-motion:no-preference) and (max-width:1000px) and (max-height:500px) and (pointer:coarse){
  .about-origin__image.is-motion-active .about-origin__tile:first-child{animation:about-mobile-origin-first 6.4s ease-in-out infinite}
  .about-origin__image.is-motion-active .about-origin__tile:last-child{animation:about-mobile-origin-second 6.4s ease-in-out infinite}
  .about-framework__piste-grades i,.about-framework__star-grades b{display:inline-block;transform-origin:center}
  .about-framework__images.is-motion-active .about-framework__piste--green{animation:about-piste-green 6.3s ease-in-out infinite}
  .about-framework__images.is-motion-active .about-framework__piste--blue{animation:about-piste-blue 6.3s ease-in-out infinite}
  .about-framework__images.is-motion-active .about-framework__piste--red{animation:about-piste-red 6.3s ease-in-out infinite}
  .about-framework__images.is-motion-active .about-framework__piste--black{animation:about-piste-black 6.3s ease-in-out infinite}
  .about-framework__images.is-motion-active .about-framework__star-grades span:nth-child(1) b{animation:about-star-one 3.3s ease-in-out infinite}
  .about-framework__images.is-motion-active .about-framework__star-grades span:nth-child(2) b{animation:about-star-two 3.3s ease-in-out infinite}
  .about-framework__images.is-motion-active .about-framework__star-grades span:nth-child(3) b{animation:about-star-three 3.3s ease-in-out infinite}
  html.about-motion-ready .about-built__attributes:not(.is-motion-seen) li{opacity:0}
  .about-built__attributes.is-motion-seen li{animation:about-built-pill-in .58s cubic-bezier(.2,.78,.2,1) both;animation-delay:calc(var(--pill-index)*.085s)}
  html.about-motion-ready .about-turn__arc:not(.is-motion-active)>i,
  html.about-motion-ready .about-turn__arc:not(.is-motion-active) .about-turn__step--supplier,
  html.about-motion-ready .about-turn__arc:not(.is-motion-active) .about-turn__step--destination{opacity:0}
  .about-turn__arc.is-motion-active>i:first-of-type{animation:about-arrow-one 5.6s ease-in-out infinite}
  .about-turn__arc.is-motion-active .about-turn__step--supplier{animation:about-step-two 5.6s ease-in-out infinite}
  .about-turn__arc.is-motion-active>i:last-of-type{animation:about-arrow-two 5.6s ease-in-out infinite}
  .about-turn__arc.is-motion-active .about-turn__step--destination{animation:about-step-three 5.6s ease-in-out infinite}
}
