/* Existing shared primitives, followed by the approved direction. */
    :root{
      --color-bg:#e8e5df;
      --color-surface:#f4f1eb;
      --color-text:#171612;
      --color-text-muted:rgba(23,22,18,.6);
      --color-text-inverse:#fff;
      --color-text-muted-inverse:rgba(255,255,255,.68);
      --color-border:rgba(23,22,18,.15);
      --color-accent-volvo:#f5a020;
      --color-accent-spotify:#1db954;
      --color-accent-nike:#c4471a;
      --color-accent-volvo-ink:#a85a00;
      --color-accent-spotify-ink:#087c34;
      --font-display:Archivo;
      --font-body:Inter,sans-serif;
      --type-body:400 16px/1.72 var(--font-body);
      --type-label-size:11px;
      --type-label-weight:600;
      --type-label-tracking:.11em;
      --space-xs:8px;
      --space-sm:16px;
      --space-md:24px;
      --space-lg:48px;
      --space-xl:72px;
      --space-section:88px;
      --space-section-wide:96px;
      --radius-media:28px;
      --content-max:1200px;
      --page-gutter:20px;
      --ease:cubic-bezier(.2,.75,.25,1);
      --transition-link:.2s;
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg)}[id]{scroll-margin-top:68px}body{margin:0;color:var(--color-text);background:var(--color-bg);font:var(--type-body);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}.shell{width:min(var(--content-max),calc(100vw - 2 * var(--page-gutter)));margin-inline:auto}.display{font-family:var(--font-display),sans-serif;letter-spacing:-.052em}.eyebrow,.meta{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);text-transform:uppercase}.muted{color:var(--color-text-muted)}
    .skip{position:fixed;z-index:100;left:16px;top:12px;padding:10px 14px;background:var(--color-text-inverse);transform:translateY(-160%)}.skip:focus{transform:none}.nav-wrap{position:fixed;z-index:50;inset:0 0 auto}.nav{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px var(--page-gutter);border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);background:var(--color-text-inverse);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background-color .25s var(--ease),box-shadow .25s var(--ease)}.nav-wrap.is-scrolled .nav{background:rgba(255,255,255,.5);box-shadow:0 8px 32px rgba(23,22,18,.08)}.brand{font:500 15px var(--font-display),sans-serif;text-decoration:none}.nav-list{display:flex;gap:2px;margin:0;padding:0;list-style:none}.nav-list a,.menu{display:block;padding:10px 13px;border:0;background:transparent;color:inherit;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.nav-list a:hover,.nav-list a:focus-visible,.nav-list a[aria-current="page"],.menu:hover{color:var(--color-accent-volvo)}.menu{display:none}.view[hidden]{display:none!important}.view{min-height:100svh}.route-head{padding:150px 0 var(--space-xl);border-bottom:1px solid var(--color-border)}.route-head.dark{color:var(--color-text-inverse);background:var(--color-text)}.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:40px;color:var(--color-text-muted);font-size:var(--type-label-size);letter-spacing:.09em;text-transform:uppercase}.dark .crumbs{color:var(--color-text-muted-inverse)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.route-title{max-width:1020px;margin:14px 0 28px;font-size:clamp(52px,9vw,118px);font-weight:600;line-height:.9}.route-lede{max-width:780px;margin:0;color:var(--color-text-muted);font:300 clamp(21px,3vw,34px)/1.25 var(--font-display);letter-spacing:-.025em}.dark .route-lede{color:var(--color-text-muted-inverse)}.metadata{display:flex;flex-wrap:wrap;margin-top:36px}.metadata span{padding:0 12px;border-left:1px solid currentColor;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.09em;text-transform:uppercase}.metadata span:first-child{padding-left:0;border-left:0}.private-note{margin-top:32px;padding-top:18px;border-top:1px solid currentColor;font-size:12px}.section{padding:var(--space-section) 0;border-bottom:1px solid var(--color-border)}.section.dark{color:var(--color-text-inverse);background:var(--color-text);border-color:#ffffff22}.two-col{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);gap:var(--space-xl)}.section-title{max-width:760px;margin:0 0 28px;font-size:clamp(34px,5.5vw,66px);font-weight:300;line-height:1.02}.copy{max-width:760px}.copy p{margin:0 0 22px}.copy p:last-child{margin-bottom:0}.copy .lead{font:300 clamp(22px,3vw,34px)/1.3 var(--font-display);letter-spacing:-.025em}.dark .copy{color:var(--color-text-muted-inverse)}.dark .copy .lead{color:var(--color-text-inverse)}.editorial-link{display:inline-flex;align-items:center;gap:9px;margin-top:28px;padding:3px 0;border-bottom:1px solid currentColor;font-size:12px;font-weight:var(--type-label-weight);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:color var(--transition-link)}.editorial-link span{transition:transform var(--transition-link)}.editorial-link:hover,.editorial-link:focus-visible{color:var(--color-accent-volvo)}.editorial-link:hover span,.editorial-link:focus-visible span{transform:translateX(5px)}
    .hero{position:relative;isolation:isolate;min-height:700px;min-height:clamp(700px,100svh,1080px);display:grid;align-items:end;overflow:hidden;color:var(--color-text-inverse);background:#000}.hero:after{content:'';position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.4);pointer-events:none}.hero-shader{position:absolute;inset:0;z-index:0;overflow:hidden;background:#000 url("hero-paper-portrait.jpg") center / cover no-repeat}.hero-shader canvas{z-index:0!important}.hero-inner{position:relative;z-index:2;padding:clamp(136px,18svh,190px) 0 clamp(72px,11svh,120px)}.hero .eyebrow{color:#ffab1a}.hero-bottom{display:block}.hero-intro{max-width:950px;margin:var(--space-md) 0 0;color:var(--color-text-inverse);font:500 clamp(28px,4vw,52px)/1.14 var(--font-display),sans-serif;letter-spacing:-.035em;text-wrap:balance}.postures{margin-top:32px;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.1em;text-transform:uppercase}.postures span+span:before{content:' · ';margin:0 .6em;color:currentColor;opacity:.45}.home-intro{padding:var(--space-section-wide) 0}.home-intro h2{max-width:850px;margin:0;font-size:clamp(36px,5.5vw,70px);font-weight:300;line-height:1.06}.home-intro h2 span{color:var(--color-accent-nike)}#ai-builds{color:var(--color-text-inverse);background:var(--color-accent-nike)}
    .entry-point .section-title{margin-bottom:var(--space-md);color:inherit;text-wrap:balance}
    .entry-point .copy p{margin-bottom:var(--space-md);text-wrap:pretty}
    .entry-point .editorial-link{margin-top:0;min-height:var(--space-lg)}
    .entry-point .editorial-link:focus-visible{outline:2px solid currentColor;outline-offset:var(--space-xs)}
    #about .editorial-link:hover,#about .editorial-link:focus-visible{color:var(--color-accent-volvo-ink)}
    #ai-builds .editorial-link:hover,#ai-builds .editorial-link:focus-visible{color:var(--color-text-inverse)}
    .entry-point.dark .section-title,.entry-point.dark .editorial-link{color:var(--color-text-inverse)}
    .entry-point.dark .editorial-link:hover,.entry-point.dark .editorial-link:focus-visible{color:var(--color-accent-volvo)}
    .chapter-list{padding-bottom:var(--space-section-wide)}.chapter{--accent:var(--color-accent-volvo);padding:70px 0 110px;border-top:1px solid var(--color-border)}.chapter.spotify{--accent:var(--color-accent-spotify)}.chapter.nike{--accent:var(--color-accent-nike)}.chapter-head{display:flex;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.chapter-head .eyebrow:first-child{color:var(--accent)}.art{position:relative;isolation:isolate;min-height:clamp(380px,60vw,670px);overflow:hidden;border-radius:var(--radius-media);background:#26241f;box-shadow:0 24px 70px #17161221}.art:after{content:'';position:absolute;inset:0;z-index:4;border:1px solid #ffffff26;border-radius:inherit}.art-label{position:absolute;z-index:5;right:22px;bottom:18px;color:#ffffffa0;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.art-volvo{background:linear-gradient(145deg,#f6ad2d,#d96114)}.road{position:absolute;width:112%;height:36%;left:-6%;bottom:-12%;background:#161616;transform:rotate(-5deg);border-radius:50% 50% 0 0}.screen{position:absolute;z-index:2;width:min(42%,330px);aspect-ratio:.54;left:50%;top:48%;transform:translate(-50%,-50%) rotate(5deg);border:9px solid #181818;border-radius:48px;background:#f1eee6;box-shadow:0 28px 50px #0005}.screen:before{content:'VOLVO';position:absolute;top:8%;left:10%;font:600 12px var(--font-display);letter-spacing:.16em}.screen:after{content:'Ready when you are';position:absolute;left:10%;right:10%;bottom:12%;font:500 clamp(18px,2.6vw,30px) var(--font-display);line-height:1}.orbit{position:absolute;border:1px solid #ffffff73;border-radius:50%}.o1{width:60%;aspect-ratio:1;right:-12%;top:-34%}.o2{width:40%;aspect-ratio:1;left:-8%;bottom:-18%}.art-spotify{background:#0d2518}.wave{position:absolute;inset:auto -10% 16%;height:54%;background:var(--color-accent-spotify);border-radius:50% 45% 0 0;transform:rotate(-7deg)}.album{position:absolute;z-index:2;width:30%;aspect-ratio:1;left:14%;top:15%;background:linear-gradient(135deg,#f6a62d 0 50%,#d84e27 50%);box-shadow:30px 30px 0 #ffffff14;transform:rotate(-8deg)}.player{position:absolute;z-index:3;width:43%;right:8%;bottom:12%;padding:24px;border-radius:24px;background:#f2efe8;box-shadow:0 24px 50px #0005}.player small{display:block;letter-spacing:.1em;text-transform:uppercase}.player strong{display:block;margin-top:30px;font:600 clamp(20px,3vw,38px) var(--font-display)}.progress{height:4px;margin-top:20px;background:#0002}.progress:before{content:'';display:block;width:64%;height:100%;background:#111}.art-nike{background:linear-gradient(145deg,#da5f27,#8e270d)}.rings{position:absolute;width:66%;aspect-ratio:1;left:17%;top:-12%;border:clamp(42px,8vw,92px) solid #fffffff0;border-radius:50%}.rings:after{content:'';position:absolute;inset:18%;border:2px solid #c4471a8c;border-radius:50%}.pace{position:absolute;z-index:3;left:8%;bottom:8%;font:700 clamp(72px,15vw,190px)/.8 var(--font-display);letter-spacing:-.08em}.chapter-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:var(--space-xl);margin-top:44px}.chapter-title{margin:0;color:var(--accent);font-size:clamp(56px,8vw,104px);font-weight:600;line-height:.87}.chapter-copy .lead{margin:0 0 26px;font:300 clamp(24px,3vw,38px)/1.22 var(--font-display);letter-spacing:-.03em}.chapter-copy p{max-width:680px}.chapter-copy .editorial-link:hover{color:var(--accent)}
    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.story-card{display:flex;min-height:370px;flex-direction:column;justify-content:space-between;padding:28px;border-top:4px solid var(--color-accent-volvo);background:var(--color-surface);text-decoration:none}.story-card:hover,.story-card:focus-visible{background:var(--color-text-inverse)}.story-card h2{margin:28px 0 var(--space-sm);font:500 clamp(30px,3.4vw,46px)/1 var(--font-display);letter-spacing:-.04em}.story-card p{margin:0;color:var(--color-text-muted)}.story-card .arrow{align-self:flex-end;margin-top:28px;font-size:26px;transition:transform var(--transition-link)}.story-card:hover .arrow{transform:translateX(5px)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:var(--space-lg);background:var(--color-border)}.stat{min-height:180px;padding:28px;background:var(--color-bg)}.stat strong{display:block;color:var(--color-accent-volvo);font:700 clamp(38px,5vw,64px)/1 var(--font-display)}.stat span{display:block;max-width:220px;margin-top:12px;color:var(--color-text-muted);font-size:13px}.dark .stats{background:#ffffff24}.dark .stat{background:var(--color-text)}
    .media{min-height:clamp(340px,55vw,650px);display:grid;place-items:center;padding:28px;overflow:hidden;border-radius:var(--radius-media);background:linear-gradient(140deg,#dcd6ca,#f7f3eb);border:1px solid var(--color-border);text-align:center}.media.dark-media{color:var(--color-text-inverse);background:linear-gradient(145deg,#25231d,#111)}.media.amber{background:linear-gradient(145deg,#f6b13d,#d96817)}.media-copy{max-width:430px}.media-copy strong{display:block;font:500 clamp(28px,4vw,48px)/1.05 var(--font-display);letter-spacing:-.035em}.media-copy span{display:block;margin-top:14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.62}.caption{max-width:760px;margin:14px 0 0;color:var(--color-text-muted);font-size:12px}.dark .caption{color:var(--color-text-muted-inverse)}.contents{position:sticky;top:94px}.contents ul{margin:20px 0 0;padding:0;list-style:none;border-top:1px solid var(--color-border)}.contents a{display:block;padding:12px 0;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px;text-decoration:none}.contents a:hover,.contents a:focus-visible{color:var(--color-text)}.quote{max-width:900px;margin:0;font:300 clamp(30px,5vw,60px)/1.08 var(--font-display);letter-spacing:-.04em}.quote strong{color:var(--color-accent-volvo);font-weight:500}.attribution{padding:28px;border-left:3px solid var(--color-accent-volvo);background:rgba(255,255,255,.36)}.attribution h3{margin:0 0 12px;font:500 20px var(--font-display)}.attribution p{margin:0;color:var(--color-text-muted)}.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border)}.next-link{min-height:250px;padding:34px;background:var(--color-surface);text-decoration:none}.next-link:hover{background:var(--color-text-inverse)}.next-link span{display:block;color:var(--color-text-muted);font-size:var(--type-label-size);text-transform:uppercase;letter-spacing:.1em}.next-link strong{display:block;max-width:470px;margin-top:46px;font:500 clamp(28px,4vw,48px)/1.05 var(--font-display);letter-spacing:-.04em}
    .build-list{border-top:1px solid var(--color-text)}.build-row{display:grid;grid-template-columns:70px 1fr minmax(130px,auto);gap:28px;padding:30px 0;border-bottom:1px solid var(--color-border)}.build-row h3{margin:0;font:500 clamp(24px,3vw,36px)/1.1 var(--font-display);letter-spacing:-.035em}.build-row p{max-width:680px;margin:10px 0 0;color:var(--color-text-muted)}.build-status{color:var(--color-text-muted);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:.09em;text-transform:uppercase}.principles{border-top:1px solid var(--color-border)}.principle{display:grid;grid-template-columns:60px 1fr;gap:var(--space-md);padding:30px 0;border-bottom:1px solid var(--color-border)}.principle b{color:var(--color-accent-volvo);font:500 24px var(--font-display)}.principle h3{margin:0 0 var(--space-xs);font:500 clamp(22px,3vw,34px) var(--font-display);letter-spacing:-.025em}.principle p{max-width:680px;margin:0;color:var(--color-text-muted)}.dark .principles,.dark .principle{border-color:#ffffff24}.dark .principle p{color:var(--color-text-muted-inverse)}.contact{padding:100px 0 42px;color:var(--color-text-inverse);background:var(--color-text)}.contact h2{max-width:930px;margin:20px 0 var(--space-lg);font-size:clamp(48px,8vw,102px);font-weight:600;line-height:.9}.contact h2 span{color:var(--color-accent-volvo)}.contact-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);padding-top:26px;border-top:1px solid #ffffff28}.contact-links{display:flex;flex-wrap:wrap}.contact-links a{padding:0 14px;border-left:1px solid #ffffff3d;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact-links a:first-child{padding-left:0;border-left:0}.contact-links a:hover{color:var(--color-accent-volvo)}.copyright{color:#ffffff73;font-size:12px}.noscript{margin:100px auto 0;padding:var(--space-sm);background:var(--color-text-inverse);color:#111;text-align:center}
    @media(max-width:960px){:root{--page-gutter:16px;--space-section:68px}.nav{padding-inline:var(--page-gutter)}.nav-list{display:none;position:absolute;top:100%;left:0;right:0;padding:10px var(--space-sm) var(--space-sm);border-top:1px solid var(--color-border);background:rgba(255,255,255,.96);box-shadow:0 18px 36px rgba(23,22,18,.1)}.nav.open .nav-list{display:grid}.menu{display:block}.hero{min-height:560px;min-height:clamp(560px,78svh,760px)}.hero-inner{padding:clamp(108px,16svh,144px) 0 clamp(44px,8svh,72px)}.hero-bottom,.two-col,.chapter-grid{grid-template-columns:1fr;gap:30px}.home-intro,.section{padding:var(--space-section) 0}.chapter{padding:52px 0 78px}.art{min-height:430px}.screen{width:56%}.album{width:42%}.player{width:68%}.cards,.stats{grid-template-columns:1fr}.story-card{min-height:300px}.contents{position:static}.build-row{grid-template-columns:44px 1fr}.build-status{grid-column:2}.next-grid{grid-template-columns:1fr}.route-head{padding:126px 0 54px}.route-title{font-size:clamp(48px,15vw,76px)}.metadata span{margin-bottom:var(--space-xs)}.contact{padding-top:76px}}
    @media(max-width:600px){.hero{min-height:500px;min-height:clamp(500px,72svh,620px)}.hero-inner{padding:clamp(96px,14svh,124px) 0 clamp(36px,6svh,52px)}.hero-intro{font-size:clamp(20px,5vw,23px);line-height:1.2;letter-spacing:-.025em}.art{min-height:clamp(340px,112vw,430px)}}
    @media(min-width:961px) and (max-height:720px){.hero{min-height:560px;min-height:clamp(560px,100svh,720px)}.hero-inner{padding:110px 0 56px}.hero-intro{font-size:clamp(30px,4vw,46px)}}
    .chapter-title + .meta{display:block;margin-top:var(--space-md)}.video-media{min-height:0;aspect-ratio:16/9;padding:0;background:#000}.video-media iframe{width:100%;height:100%;border:0}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.editorial-link,.editorial-link span,.story-card .arrow{transition:none}}
    .accent-volvo{color:var(--color-accent-volvo)}.accent-volvo-ink{color:var(--color-accent-volvo-ink)}.accent-spotify{color:var(--color-accent-spotify)}.accent-spotify-ink{color:var(--color-accent-spotify-ink)}.accent-nike{color:var(--color-accent-nike)}
    .story-card.spotify{border-color:var(--color-accent-spotify)}.story-card.neutral{border-color:var(--color-border)}
    .nike-carousel{background:var(--color-text-inverse)}.nike-carousel:after{pointer-events:none}.nike-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}.nike-slide.is-active{opacity:1;visibility:visible}.nike-slide img{width:100%;height:100%;object-fit:contain}.nike-slide img.nike-slide-tall{object-fit:cover;object-position:center top}.nike-carousel:has(.nike-controls:not([hidden])) .nike-slide{bottom:60px}.nike-controls{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;background:rgba(255,255,255,.2);max-width:100%;color:#111}.nike-controls[hidden]{display:none}.nike-controls button{border:0;background:transparent;color:inherit;min-width:44px;min-height:44px;padding:var(--space-xs);font:500 12px var(--font-body);cursor:pointer}.nike-controls button:focus-visible{outline:2px solid var(--color-accent-nike);outline-offset:-3px}.nike-dots{display:flex}.nike-dots button{min-width:28px;padding:6px}.nike-dots span{display:block;width:6px;height:6px;border-radius:50%;background:#999;margin:auto}.nike-dots [aria-current=true] span{background:var(--color-accent-nike);transform:scale(1.4)}.nike-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
    @media(prefers-reduced-motion:reduce){.nike-slide{transition:none}}

    .nike-slide:has(.nike-composition){container-type:size;display:grid;place-items:center;background:#b3d492}
    .nike-composition{position:relative;overflow:hidden;width:min(100cqw,var(--composition-width));aspect-ratio:var(--composition-ratio);flex:none}
    .nike-composition img.nike-framed-image{display:block;width:100%;height:auto;object-fit:initial}
    .nike-slide:has(.nike-composition-commerce){background:#eda88a}

    /* Keep the original hero dimensions; frame the portrait around the face. */
    .hero-shader{background-position:58% 25%;transform:scale(1.2);transform-origin:58% 25%}

    /* Editorial case study: shared tokens, scoped composition. */
    .case-study .eyebrow,.case-study .crumbs,.case-study .next-link span{text-transform:none;letter-spacing:0}
    .case-study .route-title{max-width:1100px;font-size:clamp(44px,7.5vw,96px);line-height:1.02;text-wrap:balance;margin-block:var(--space-md) var(--space-lg)}
    .case-study .route-lede{max-width:800px;line-height:1.35}
    .case-study .case-dates{margin-bottom:var(--space-md)}
    .case-study .stats.case-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .case-study .case-overview-stats strong{color:var(--color-text)}
    .case-study .case-overview-stats .stat span{color:var(--color-text);max-width:34ch}
    @media(max-width:600px){.case-study .stats.case-overview-stats{grid-template-columns:1fr}}
    .case-study .hero-note{max-width:68ch;margin:var(--space-md) 0 0;color:var(--color-text-muted-inverse)}
    .case-study .section{padding-block:var(--space-lg)}
    .case-study .section-title{font-size:clamp(32px,4.5vw,56px);text-wrap:balance;margin-bottom:var(--space-md);line-height:1.1}
    .case-study .copy{max-width:66ch}.case-study .copy p{margin-bottom:var(--space-md)}
    .case-study .copy p:last-child{margin-bottom:0}.case-study .copy li+li{margin-top:var(--space-xs)}
    .case-study .copy ul{padding-left:var(--space-md);margin-block:var(--space-md)}
    .case-study .contents{position:static}.case-study .contents ul{display:flex;flex-wrap:wrap;gap:0 var(--space-md);margin-top:var(--space-md)}
    .case-study .contents a{padding-block:var(--space-sm);color:var(--color-text);font-size:14px;border:0}
    .case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-lg);margin:0}
    .case-facts div{border-top:1px solid var(--color-border);padding-top:var(--space-sm)}
    .case-facts dt{font-weight:600}.case-facts dd{margin:var(--space-xs) 0 0}.case-facts .case-wide{grid-column:1/-1}
    .case-study .chapter-index{color:var(--color-accent-volvo-ink)}
    .case-study .change{margin-top:var(--space-lg);padding-left:var(--space-md);border-left:2px solid var(--color-accent-volvo-ink)}
    .case-study h3{font:500 22px/1.3 var(--font-display),sans-serif;margin:0 0 var(--space-sm)}
    .case-study .stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-block:var(--space-lg) var(--space-md)}
    .case-study .stat{min-height:0;padding:var(--space-md)}.case-study .stat span{color:var(--color-text-muted-inverse);font-size:14px;max-width:25ch}
    .case-study .stat strong{font-size:clamp(38px,4.5vw,60px)}
    .case-study .evidence-note{max-width:74ch;color:var(--color-text-muted-inverse);margin:var(--space-md) 0 0}
    .case-study figure{margin:var(--space-lg) auto 0;max-width:960px}
    .case-study .case-media{aspect-ratio:16/9;min-height:0;background:var(--color-surface);padding:var(--space-md)}
    .case-study .case-media .media-copy span{text-transform:none;letter-spacing:0;opacity:1;color:var(--color-text-muted)}
    .case-study .case-media img{width:100%;height:100%;object-fit:contain}.case-study .case-media:has(img){padding:0}
    .case-study [tabindex="-1"]:focus{outline:none}
    .case-study a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
    @media(max-width:960px){.case-study .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study .two-col{gap:var(--space-md)}}
    @media(max-width:600px){.case-facts{grid-template-columns:1fr}.case-study .case-media{aspect-ratio:4/3}.case-study .stat{padding:var(--space-sm)}.case-study .stats{gap:1px}.case-study .route-title{font-size:clamp(40px,10vw,60px)}}

    /* Story galleries share R/GA controls; every slide owns its image and caption. */
    .case-carousel{position:relative;container-type:inline-size;margin:var(--space-lg) auto 0;max-width:960px;color:var(--color-text)}
    .case-study .case-carousel figure{position:relative;inset:auto;margin:0;max-width:none;display:none;opacity:1;visibility:visible}
    .case-study .case-carousel figure.is-active{display:block}
    .case-image-slot{aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:var(--radius-media);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);text-align:center;overflow:hidden}
    .case-image-slot span{font-size:12px}.case-image-slot strong{font:500 clamp(24px,4vw,40px)/1.1 var(--font-display),sans-serif}
    .case-image-slot:has(img){padding:0}.case-image-slot img{display:block;width:100%;height:100%;object-fit:contain}
    .case-carousel figcaption{margin-top:var(--space-sm);font-size:12px;text-align:center;color:var(--color-text)}
    .dark .case-carousel figcaption{color:var(--color-text-muted-inverse)}
    .case-carousel .nike-dots [aria-current=true] span{background:var(--color-accent-volvo-ink)}
    .case-carousel .nike-controls{top:calc(100cqw * 9 / 16 - 52px);bottom:auto}
    .case-carousel .nike-controls button:focus-visible{outline-color:var(--color-accent-volvo-ink)}
    @media(max-width:600px){.case-image-slot{aspect-ratio:4/3}.case-carousel .nike-controls{top:calc(100cqw * 3 / 4 - 52px)}}

    .case-study .contents{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}
    .case-study .contents ul{border-top:0;margin-top:var(--space-xs);gap:var(--space-xs) var(--space-md)}
    .case-study .contents a{display:inline-flex;align-items:baseline;gap:var(--space-xs);min-height:44px;padding-block:var(--space-xs);color:var(--color-accent-volvo-ink)}
    .case-study .contents a span:first-child{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
    .case-study .contents a:hover,.case-study .contents a:focus-visible{color:var(--color-text)}

/* Approved September 2026 direction: company index and editorial stories. */
:root{--color-bg:#e8e5df;--color-work:#000;--color-story-label:#ffe000;--color-contact:#ffa600;--radius-media:0px;--type-label-size:12px;--content-max:1280px;--page-gutter:48px}
html{background:var(--color-work)}
body{line-height:1.65}
.shell{width:min(var(--content-max),calc(100% - 2 * var(--page-gutter)))}
.nav{min-height:58px;padding-inline:20px}.nav-list a{min-height:44px;display:flex;align-items:center}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--color-accent-volvo-ink)}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.hero{min-height:0;display:block;padding-top:58px;background:#111}
.hero-shader{transform:none;background-position:center 35%;filter:grayscale(1)}
.hero:after{background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 80%)}
.hero-inner{padding:clamp(180px,23vw,330px) 0 72px}
.hero-intro{max-width:960px;font-size:clamp(30px,3.65vw,52px);font-weight:500;line-height:1.15;text-wrap:pretty}
.hero-impact{position:relative;z-index:2;background:rgba(0,0,0,.6);padding:64px 0}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.impact-item strong{display:block;font:600 clamp(30px,3.8vw,56px)/1.1 var(--font-display),sans-serif;letter-spacing:-.035em}
.impact-item span{display:block;margin-top:14px;font-size:14px;line-height:1.5;max-width:28ch;color:inherit;opacity:.78}
.chapter-list{padding:0;background:var(--color-work);color:#fff}
.company{scroll-margin-top:58px}
.wide-media{width:100%;aspect-ratio:16/9;overflow:hidden;background:#dceaf0}
.wide-media img{display:block;width:100%;height:100%;object-fit:cover}
.company-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:72px;padding-block:88px 104px}
.company-title{margin:0;font:500 clamp(52px,7.3vw,104px)/1 var(--font-display),sans-serif;letter-spacing:-.055em}
.company-dates{margin:24px 0 0;color:#bdbdbd;font-size:14px}
.work-story{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid #ffffff65;text-decoration:none}
.work-story:first-child{padding-top:0}
.work-story strong{display:block;font:500 clamp(24px,2.6vw,36px)/1.22 var(--font-display),sans-serif;letter-spacing:-.035em}
.work-story small{display:block;color:var(--color-story-label);margin-top:20px;font-size:16px;line-height:1.4}
:root{--navigation-arrow-size:32px}
.story-arrow{font-size:var(--navigation-arrow-size);transition:transform .2s;flex:none}
.work-story:hover .story-arrow{transform:translateX(6px)}.work-story:hover strong{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.company>.nike-carousel{border-radius:0;box-shadow:none;min-height:0;height:auto;aspect-ratio:16/9}.company>.art:after{display:none}
.route-head{padding:160px 0 80px;background:var(--color-text);color:#fff}
.back-link{display:inline-flex;align-items:center;justify-content:center;width:56px;min-height:56px;font:400 var(--navigation-arrow-size)/1 var(--font-body),sans-serif;text-decoration:none;margin-bottom:40px}
.route-title,.case-study .route-title{font-size:clamp(42px,5.7vw,82px);line-height:1.12;max-width:1080px;letter-spacing:-.055em;text-wrap:pretty;margin:0 0 72px}
.route-head .eyebrow{color:var(--color-story-label)}
.case-study .hero-note{font-size:14px;line-height:1.55;max-width:1100px;margin-top:32px;color:#bdbdb9}
.narrative-panel{background:var(--color-bg);padding:96px 0}
.narrative-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:88px;align-items:start}

.narrative-grid .copy{max-width:850px}
.case-study .section-title{font:300 clamp(32px,3.5vw,50px)/1.12 var(--font-display),sans-serif;letter-spacing:-.045em;margin:0 0 24px;text-wrap:pretty}
.supporting-evidence{display:grid;gap:32px}.supporting-evidence .impact-item strong{font-size:clamp(28px,3.5vw,48px);font-weight:300}
.supporting-evidence .impact-item span{opacity:1;color:#53534c}
.related-stories{padding:80px 0;background:#000;color:#fff}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.related-grid .work-story{padding-top:0}.related-grid .work-story strong{font-size:clamp(24px,2.5vw,34px)}
.contact{background:var(--color-contact);color:#171612;padding:100px 0 96px}.contact h2{color:#171612;font-size:clamp(56px,7vw,104px);line-height:1;margin:0 0 48px}.contact-row{border-color:#17161250}.contact-links a{font-size:14px;min-height:44px;display:flex;align-items:center;border-color:#17161250}.contact-links a:hover{color:#171612;text-decoration:underline}.copyright{color:#433009}
.next-grid{background:#000;color:#fff;padding:48px max(var(--page-gutter),calc((100% - var(--content-max))/2));gap:32px}.next-link{background:#000;min-height:0;padding:24px 0;border-bottom:1px solid #ffffff65}.next-link:hover{background:#000}.next-link strong{font-size:32px;margin-top:24px}.next-link span{color:var(--color-story-label)}
.media{border-radius:0}.entry-point .section-title{font-size:clamp(34px,4vw,56px);font-weight:500}#ai-builds{background:var(--color-accent-nike)}#talks{background:#000}
.route-head .metadata span{font-size:13px}.route-head .accent-volvo-ink{color:var(--color-story-label)}
@media(max-width:960px){:root{--page-gutter:32px}.hero-inner{padding:220px 0 56px}.hero-intro{max-width:700px;font-size:clamp(30px,4.5vw,44px)}.hero-impact{padding:40px 0}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.company-grid{grid-template-columns:1fr;gap:32px;padding-block:48px}.company-title{font-size:clamp(48px,7vw,72px)}.narrative-grid{gap:40px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.route-head{padding:126px 0 64px}.route-title,.case-study .route-title{margin-bottom:48px}.narrative-panel{padding:64px 0}.next-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){:root{--page-gutter:24px}.nav{padding-inline:16px}.brand{font-size:14px}.hero-inner{padding:var(--space-md) 0 40px}.hero-shader{background-position:62% top}.hero:after{background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.3))}.hero-intro{font-size:28px;line-height:1.19}.hero .eyebrow{font-size:12px}.hero-impact{padding:32px 0}.impact-grid{gap:28px 20px}.impact-item strong{font-size:32px}.impact-item span{font-size:13px;margin-top:10px}.company-grid{grid-template-columns:1fr;gap:36px;padding-block:48px 64px}.company-title{font-size:56px}.company-dates{margin-top:16px}.wide-media,.company>.nike-carousel{aspect-ratio:4/3}.work-story strong{font-size:26px}.work-story small{font-size:14px;margin-top:14px}.route-title,.case-study .route-title{font-size:42px;line-height:1.08}.back-link{margin-bottom:32px}.narrative-grid,.related-grid,.next-grid{grid-template-columns:1fr;gap:32px}.narrative-panel{padding:48px 0}.supporting-evidence{padding-top:24px;border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.supporting-evidence .impact-item strong{font-size:30px}.related-stories{padding:48px 0}.related-grid .work-story{padding-top:0}.contact{padding:64px 0}.contact h2{font-size:58px}.contact-row{gap:20px}.copyright{margin:0}.route-head .metadata{gap:12px}.route-head .metadata span{border:0;padding:0}.section-title{overflow-wrap:break-word}}
@media(max-width:359px){:root{--page-gutter:20px}.hero-intro{font-size:26px}.impact-grid{grid-template-columns:1fr}.route-title,.case-study .route-title{font-size:38px}.company-title{font-size:48px}.supporting-evidence{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Route focus moves the reading position without a decorative heading outline. */
[data-view] h1[tabindex="-1"]:focus{outline:none}

/* One chapter pairs full-width media with its narrative; all work stories share it. */
.story-chapter{margin:0;padding:0}
.story-media img{width:100%;height:100%;object-fit:cover}
.story-media.project-media{background:#f4f1eb}
.story-media.project-media img{object-fit:contain}
.story-video{aspect-ratio:16/9;background:#000}
.story-video iframe{display:block;width:100%;height:100%;border:0}
.story-facts .impact-item strong{font-size:clamp(26px,3.2vw,46px);overflow-wrap:break-word}
.story-anchor{display:block;height:0;scroll-margin-top:68px}
@media(max-width:600px){.story-facts .impact-item strong{font-size:28px}.story-video{aspect-ratio:16/9}}

/* The highlight layout responds to its own available width, not the navigation breakpoint. */
.nike-static{background:#fff}.nike-static img{display:block;width:100%;height:100%;object-fit:contain}
.hero-impact{container:career-band / inline-size}
.career-highlights{grid-template-columns:minmax(0,1fr);column-gap:32px;row-gap:24px}
.career-highlights .impact-item{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:20px;min-width:0;align-content:start;text-align:left}
.career-highlights .impact-item strong{font-size:clamp(1.75rem,2.2cqw,1.875rem);line-height:1.15;align-self:start;text-wrap:balance}
.career-highlights .impact-item span{margin-top:0;max-width:38ch;align-self:start;text-wrap:pretty}
@container career-band (min-width:42rem){.career-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container career-band (min-width:84rem){.career-highlights{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Shared typography roles across every portfolio view. */
:root{--tracking-display:-.025em;--tracking-heading:-.015em;--weight-heading:500;--heading-leading:1.12;--copy-measure:68ch}
[data-view] :is(h1,h2,h3,.work-story strong,.impact-item strong,.route-lede,.lead,.quote){font-kerning:normal;font-variant-ligatures:common-ligatures;word-spacing:normal}
[data-view] :is(.hero-intro,.route-title,.company-title,.contact h2){letter-spacing:var(--tracking-display)}
[data-view] :is(.section-title,.work-story strong,.impact-item strong,.build-row h3,.principle h3,.route-lede,.lead,.quote){letter-spacing:var(--tracking-heading)}
[data-view] .section-title{font-weight:var(--weight-heading);line-height:var(--heading-leading)}
[data-view] :is(.build-row h3,.principle h3){font-weight:var(--weight-heading)}
[data-view] .supporting-evidence .impact-item strong{font-weight:500}
[data-view] .copy{max-width:min(100%,var(--copy-measure))}
[data-view] .copy p{text-wrap:pretty}
[data-view] .copy p+p{margin-top:24px}
[data-view] :is(.narrative-grid,.two-col,.related-grid)>*{min-width:0}

/* Story opening facts adapt independently from numeric metrics and navigation. */
.route-head{container:story-opening / inline-size}
.route-head .impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:24px}
.route-head .impact-item{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:16px;min-width:0;align-content:start}
.route-head .impact-item span{margin-top:0;align-self:start}
.route-head .impact-item strong{align-self:start}
.route-head .story-facts{grid-template-columns:minmax(0,1fr)}
.route-head .story-facts .impact-item strong{font-size:clamp(1.75rem,2.2cqw,1.875rem);overflow-wrap:normal;text-wrap:balance}
@container story-opening (min-width:42rem){.route-head .story-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container story-opening (min-width:66rem){.route-head .impact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.route-head .story-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container story-opening (max-width:23rem){.route-head .impact-grid{grid-template-columns:minmax(0,1fr)}}

/* Repeatable presentation notes accompany each Volvo narrative section. */
.talking-points ul{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.talking-points li{margin:0;padding:0}
[data-view] .talking-points h3{font:500 clamp(22px,2vw,28px)/1.2 var(--font-display),sans-serif;letter-spacing:var(--tracking-heading);font-kerning:normal;margin:0 0 8px;text-wrap:pretty}
.talking-points p{font-size:14px;line-height:1.55;color:#53534c;margin:0;max-width:36ch;text-wrap:pretty}
@media(max-width:600px){.talking-points{border-top:1px solid var(--color-border);padding-top:24px}.talking-points p{max-width:none}}

/* Volvo opening: highlighted attribution and matching home arrow typography. */
#app-glance .hero-note{color:#e6c037}
#app-glance .back-link{font-family:var(--font-body),sans-serif}

/* Text-only chapters retain a clear boundary until project imagery is added. */
.company + .company{border-top:1px solid #ffffff40}
.story-chapter + .story-chapter{border-top:1px solid var(--color-border)}

/* Volvo App hero: image and overlay share the existing responsive opening. */
#app-glance{
  background-image:linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),url("images/volvo-app-in-use.jpg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Preserve the complete Spotify campaign screenshot at every width. */
#company-spotify .spotify-static{aspect-ratio:1807/965}
#company-spotify .spotify-static img{object-fit:contain}

/* Homepage phone typography and portrait breathing room. */
@media(max-width:600px){
  .hero .hero-inner{min-height:calc(100svh - 58px);display:flex;flex-direction:column;padding-top:24px;padding-bottom:48px;gap:96px}
  .hero .hero-bottom{margin-top:auto}
  .hero .hero-intro{font-size:20px;margin-top:0;width:100%;max-width:415px}
  .career-highlights .impact-item strong{font-size:24px}
}

/* Decorative Paper image over the AI section’s red surface. */
#ai-builds{position:relative;isolation:isolate}
#ai-builds::before{content:"";position:absolute;inset:0;z-index:-1;background:url("images/ai-builds-overlay.png") center / cover no-repeat;opacity:.5;pointer-events:none}

#about{background-image:url("images/about-background.png");background-position:center;background-size:cover;background-repeat:no-repeat}

.contact-heading{display:flex;align-items:stretch;gap:24px;margin-bottom:48px}
.contact-heading h2{margin:0;min-width:0}
.contact-signature{position:relative;flex:none;width:clamp(56px,7vw,104px);overflow:hidden}
.contact-signature img{position:absolute;width:252.4%;height:147.1%;max-width:none;left:-76.4%;top:-23.4%}


@media(max-width:600px){.contact-signature{width:120px}}

/* Company dates sit across the media edge and settles as it enters view. */
.company .company-date-marker{position:relative;height:0;z-index:1;margin-left:var(--page-gutter)}
.company .company-date-marker .company-dates{position:absolute;left:0;bottom:-18px;margin:0;color:white;font:300 clamp(24px,3vw,36px)/1 Inter,sans-serif;white-space:nowrap;transform-origin:left bottom;transform:translateY(var(--date-shift,0px)) rotate(-90deg) translateY(100%)}

@media(max-width:600px){.hero .hero-inner>.eyebrow{display:none}}

/* Wide openings balance portrait space against the available screen height. */
@media(min-width:961px){
  .hero{min-height:100svh;display:flex;flex-direction:column;align-items:stretch}
  .hero-inner{padding-top:clamp(48px,10svh,160px);padding-bottom:32px;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
  .hero-intro{font-size:clamp(30px,4.6svh,52px);max-width:1080px}
  .hero-impact{padding:24px 0 48px}
}

/* Shared typography: Archivo for hierarchy and labels, Inter for reading. */
body{font-optical-sizing:auto}
:is(h1,h2,h3,h4,h5,h6,.eyebrow,.meta,.metadata,.nav-list,.menu,.editorial-link,.contact-links,.build-status,.impact-item strong){font-family:var(--font-display),sans-serif}
:is(.copy p,.route-lede,.lead,.quote){font-family:var(--font-body)}

.company .company-date-marker .company-dates{font-family:var(--font-display),sans-serif;font-weight:300}
:is(.talking-points p,.impact-item span,.hero-note,.scope-note){font-family:var(--font-body);font-weight:400}
:is(.work-story small,.company-dates,.crumbs,.postures,.next-link span,.nike-controls button){font-family:var(--font-display),sans-serif}
[data-view] .copy p,[data-view] .talking-points p,[data-view] .impact-item span{font-family:var(--font-body)}
