/* Optional case-study modules. Only the Tour reference page loads this file. */
.project-case{--case-gap:clamp(24px,3vw,56px);--case-rule:#d8dddd}
.project-case :is(.case-intro,.case-work,.case-highlight-intro,.case-cta)>*{min-width:0}
.project-case .case-heading{margin-bottom:32px}
.project-case .case-heading h2{font-size:clamp(28px,2.6vw,44px);max-width:28ch}
.project-case .lead{font-size:clamp(19px,1.6vw,23px);line-height:1.5;max-width:56ch}
.project-case .hero-copy>p.case-role{font-size:14px;line-height:1.5;margin-top:12px}
.project-case .hero-frame.case-hero-plain{min-height:0;padding-top:0;background:var(--paper);justify-content:flex-start}
.project-case .case-hero-plain::after{display:none}
.project-case .case-hero-plain .hero-copy{color:var(--ink);max-width:72ch}
.project-case .case-hero-plain a:focus-visible{outline-color:var(--accent)}
.project-case .status-note{max-width:none}
.project-case .status-note a{display:inline-block;padding-block:6px}
.project-case .case-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--case-gap)}
.project-case .case-intro .case-heading{margin:0}
.project-case .case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--case-gap);margin:36px 0 0;padding-top:24px;border-top:1px solid var(--case-rule)}
.project-case .case-facts dt{font-size:13px;color:var(--muted);margin-bottom:8px}
.project-case .case-facts dd{margin:0;font-size:16px;line-height:1.5;max-width:30ch}
.project-case .case-work{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--case-gap);align-items:start}
.project-case .case-work.without-photo{grid-template-columns:minmax(0,1fr)}
.project-case .case-work-photo img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border-radius:var(--radius)}
.project-case .case-work-list{display:grid;gap:24px}
.project-case .case-work-list article{padding-bottom:24px;border-bottom:1px solid var(--case-rule)}
.project-case .case-work-list article:last-child{padding:0;border:0}
.project-case .case-work-list h3{font-size:22px}
.project-case .case-work-list p{font-size:15px;color:var(--muted);margin-top:8px;max-width:54ch}
.project-case .case-highlight{background:var(--paper);border-radius:var(--radius);padding:clamp(24px,4vw,64px)}
.project-case .case-highlight-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--case-gap)}
.project-case .case-highlight .eyebrow{color:var(--accent)}
.project-case .case-highlight h2{font-size:clamp(32px,4vw,64px)}
.project-case .case-highlight-intro .case-heading{margin:0}
.project-case .case-highlight-intro p:not(.eyebrow):not(.lead){color:var(--muted);max-width:52ch;margin-top:16px}
.project-case .case-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:24px;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--case-rule)}
.project-case .case-metrics>div{display:flex;flex-direction:column;min-width:0}
.project-case .case-metrics dt{font-size:18px}
.project-case .case-metrics dd{margin:0;font-family:Archivo,sans-serif;font-size:clamp(56px,6.5vw,100px);font-weight:500;letter-spacing:-.05em;line-height:1.1;order:-1}
.project-case .case-metrics dd.metric-period{order:0;font-family:inherit;font-size:12px;letter-spacing:0;line-height:1.5;color:var(--muted);margin-top:10px}
.project-case .metric-sources{margin-top:18px;max-width:72ch}
.project-case .metric-sources summary{color:var(--muted);font-size:12px}
.project-case .metric-sources p{font-size:13px;margin-top:12px}
.project-case .case-highlight-context{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-top:18px}
.project-case .case-highlight-context p{max-width:60ch;font-size:14px;color:var(--muted)}
.project-case .case-text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.project-case .case-highlight-context a{flex-shrink:0}
.project-case .chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--case-gap);row-gap:48px;align-items:start}
.project-case .chapter{min-width:0;padding-top:20px;border-top:1px solid var(--case-rule)}
.project-case .chapter-opening{min-height:98px;max-width:38ch}
.project-case .chapter .year{font-size:18px;font-weight:500;margin-bottom:10px}
.project-case .chapter-images{display:grid;gap:16px;margin-block:20px}
.project-case .chapter-images img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;border-radius:var(--radius)}
.project-case .chapter>p{max-width:66ch}
.project-case .chapter-detail{padding:12px 0 0;background:transparent}
.project-case .chapter-detail article{max-width:68ch}
.project-case .chapter .case-metrics{margin-top:24px;padding-top:20px}
.project-case .chapter .case-metrics dd{font-size:52px}
.project-case .chapter .case-metrics dt{font-size:15px;max-width:30ch}
.project-case .chapter .case-metrics .metric-period{font-size:12px}
.project-case .chapter .metric-sources{margin-top:8px}
.project-case .case-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--case-gap)}
.project-case .case-evidence article{display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;padding-top:24px;border-top:1px solid var(--case-rule)}
.project-case .case-evidence-period{color:var(--accent);font-size:18px}
.project-case .case-evidence h3{font-size:23px;max-width:30ch}
.project-case .case-evidence h3+p{color:var(--muted);font-size:15px;margin-top:12px;max-width:52ch}
.project-case .case-competence .photo-pair{margin-top:40px}
.project-case .case-competence .photo-pair img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover}
.project-case .case-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--case-gap);background:var(--paper);border-radius:var(--radius);padding:clamp(24px,4vw,64px)}
.project-case .case-cta .case-heading{margin-bottom:24px}
.project-case .case-cta-note{font-size:13px;color:var(--muted);max-width:55ch}
.project-case .case-contact-name{font-size:14px;margin-block:24px 10px}
.project-case .case-cta-action>.case-text-link{display:flex;width:fit-content;margin-top:12px}
.project-case .sources{margin-bottom:40px}
.project-case :is(p,h2,h3,h4,dd,a,summary){overflow-wrap:break-word}
@media(min-width:1101px){.project-case.tour-pilot .hero-frame{min-height:clamp(530px,36vw,820px)}}
@media(min-width:761px){
  .project-case .chapter:nth-child(3){grid-row:span 2}
  .project-case .chapter:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 var(--case-gap)}
  .project-case .chapter:last-child>.chapter-opening{grid-row:1/3}
  .project-case .chapter:last-child>p{margin-top:0}
  .project-case .chapter:last-child>details{grid-column:2}
}
@media(max-width:1000px){
  .project-case .case-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .project-case .case-work{grid-template-columns:minmax(0,1fr)}
  .project-case .case-work-photo img{aspect-ratio:1.8}
  .project-case .case-work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .project-case .case-work-list article{padding:0;border:0}
  .project-case .case-highlight-context{display:block}
  .project-case .case-highlight-context a{margin-top:12px}
}
@media(max-width:760px){
  .project-case .case-intro,.project-case .case-highlight-intro,.project-case .case-cta,.project-case .case-evidence,.project-case .chapters{grid-template-columns:minmax(0,1fr);gap:28px}
  .project-case .case-heading{margin-bottom:24px}
  .project-case .chapter-opening{min-height:0}
  .project-case .chapter-images{margin-top:24px}
  .project-case .case-metrics{margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .project-case .case-metrics dd{font-size:clamp(42px,9vw,64px)}
  .project-case .case-metrics dt{font-size:15px}
  .project-case .case-metrics dd.metric-period{font-size:11px}
  .project-case .chapter .case-metrics{grid-template-columns:minmax(0,1fr)}
  .project-case .case-evidence article{gap:12px;grid-template-columns:50px minmax(0,1fr)}
  .project-case .case-evidence h3{font-size:21px}
}
@media(max-width:480px){
  .project-case .case-work-list{grid-template-columns:minmax(0,1fr)}
  .project-case .case-work-list article{padding-bottom:20px;border-bottom:1px solid var(--case-rule)}
  .project-case .case-work-list article:last-child{padding:0;border:0}
  .project-case .case-highlight,.project-case .case-cta{padding:24px 20px}
  .project-case .case-facts{gap:20px 16px}
  .project-case .case-facts dd{font-size:14px}
  .project-case .case-metrics{gap:12px}
  .project-case .case-metrics dt{font-size:13px}
  .project-case .case-metrics dd{font-size:42px}
  .project-case .hero-copy>p.case-role{font-size:13px}
}

/* Tour's image-led reading mode; the default case layout remains unchanged. */
.project-case.case-image-led{--accent:#0c6e78;--accent-bright:#3ccbda;--accent-tint:#eafafc;--space:112px}
.case-image-led main a:not(.button),.case-image-led summary{color:var(--accent)}
.case-image-led main a:not(.button){text-decoration-color:var(--accent-bright);text-decoration-thickness:2px;text-underline-offset:4px}
.case-image-led summary::marker{color:var(--accent-bright)}
.project-case.case-image-led .chapter .year,.project-case.case-image-led .case-evidence-period{color:var(--accent);font-weight:600}
.case-image-led :is(a,summary):focus-visible{outline-color:var(--accent-bright)}
.case-image-led .button:not(.light){background:var(--accent);color:#fff}
.case-image-led .button:not(.light):hover{background:#095760}
.case-image-led :is(.case-facts,.case-metrics,.chapter,.case-evidence article){border:0}
.case-image-led :is(.case-overview,.case-competence){background:var(--paper);border-radius:var(--radius);padding:clamp(24px,4vw,64px)}
.case-image-led :is(.case-intro,.case-highlight-intro){display:block}
.case-image-led .case-intro .lead{max-width:65ch;margin-top:16px}
.case-image-led .case-overview-details{margin-top:24px}
.case-image-led .status-note + .case-overview{margin-top:64px}
.case-image-led .case-facts{margin-top:24px;padding-top:0}
.case-image-led .case-highlight-intro .lead{max-width:40ch;font-size:clamp(24px,2.4vw,36px)}
.case-image-led .case-highlight-details{margin-top:24px}
.case-image-led .case-highlight-details>p{max-width:60ch;color:var(--muted)}
.case-image-led .case-highlight-context{display:block}
.case-image-led .case-metrics{padding-top:0}
.case-image-led .chapters{row-gap:48px;align-items:start}
.case-image-led .chapter{padding-top:0}
.case-image-led .chapter:nth-child(3){grid-row:auto}
.case-image-led .chapter:last-child{grid-column:auto;display:block}
.case-image-led .chapter-opening{min-height:98px}
.case-image-led .chapter-images figcaption{min-height:3em}
.case-image-led .chapter.chapter-status{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:16px var(--case-gap);align-items:start;padding:clamp(28px,4vw,56px);background:var(--accent-tint);border-radius:var(--radius)}
.case-image-led .chapter-status>.chapter-opening{grid-row:1/3;min-height:0}
.case-image-led .chapter-status h3{font-size:clamp(28px,3vw,44px);max-width:18ch}
.case-image-led .chapter-status-summary{grid-column:2;max-width:58ch;margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.5}
.case-image-led .chapter-status>details{grid-column:2}
.case-image-led .chapter-detail>article{margin-top:28px}
.case-image-led .chapter-detail>.case-metrics{margin-block:28px}
.case-image-led .case-evidence{gap:56px var(--case-gap)}
.case-image-led .case-evidence article{padding:0}
.case-image-led .case-competence .photo-pair{margin-top:64px}
.case-image-led .case-competence .photo-pair:has(figure:only-child){grid-template-columns:minmax(0,1fr)}
.case-image-led .case-competence .photo-pair:has(figure:only-child) img{aspect-ratio:2.15}
.case-image-led figcaption{font-size:12px}
.case-image-led .case-cta{display:flex;flex-direction:column;gap:24px}
.case-image-led .case-cta .lead{max-width:42ch}
.case-image-led .case-cta .button{margin-top:24px}
.case-image-led .case-cta-note{max-width:70ch;margin-top:24px}
.case-image-led .case-cta{margin-bottom:64px}
@media(min-width:1001px){.project-case.case-image-led .case-work{align-items:center}}
@media(max-width:1100px){.project-case.case-image-led{--space:96px}}
@media(max-width:760px){
  .case-image-led .chapters{row-gap:32px}
  .case-image-led .chapter-opening{min-height:0}
  .case-image-led .chapter-images figcaption{min-height:0}
  .case-image-led .chapter.chapter-status{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 24px}
  .case-image-led .chapter-status>.chapter-opening,.case-image-led .chapter-status-summary,.case-image-led .chapter-status>details{grid-column:1;grid-row:auto}
  .case-image-led .case-competence .photo-pair{margin-top:40px}
  .case-image-led .case-competence .photo-pair:has(figure:only-child) img{aspect-ratio:1.35}
}
@media(max-width:700px){.project-case.case-image-led{--space:64px}.case-image-led .case-intro .lead{margin-top:20px}.case-image-led .status-note + .case-overview{margin-top:48px}.case-image-led .case-cta{margin-bottom:48px}}

/* Five computed type sizes at every viewport, scoped to the Tour case only. */
.project-case.case-image-led{
  --type-meta:13px;
  --type-body:16px;
  --type-feature:clamp(20px,1.5vw,24px);
  --type-heading:clamp(30px,2.6vw,40px);
  --type-display:clamp(52px,6vw,80px);
  font-size:var(--type-body)
}
.project-case.case-image-led :is(.header nav,.footer-inner nav,.trail,.page-nav,.status-note,figcaption,.case-facts dt,.metric-sources summary,.case-metrics dd.metric-period,.case-cta-note,.sources p,.sources li,.references a){font-size:var(--type-meta)}
.project-case.case-image-led :is(.brand,.button,summary,.case-facts dd,.case-work-list p,.case-metrics dt,.metric-sources p,.case-highlight-context p,.case-text-link,.chapter .year,.chapter-detail p,.chapter-detail h4,.case-evidence-period,.case-evidence h3+p,.case-contact-name){font-size:var(--type-body)}
.project-case.case-image-led :is(.hero-copy>p:not(.eyebrow),.lead,.case-work-list h3,.chapter h3,.case-evidence h3,.chapter-status-summary){font-size:var(--type-feature)}
.project-case.case-image-led :is(.case-heading h2,.case-highlight h2,.chapter-status h3,.chapter .case-metrics dd:not(.metric-period)){font-size:var(--type-heading)}
.project-case.case-image-led .case-metrics dd:not(.metric-period){font-size:var(--type-display)}
.project-case.case-image-led .chapter .case-metrics dd:not(.metric-period){font-size:var(--type-heading)}

/* Short launch proof for Tour of Norway. Archive content stays in the case model. */
.case-launch-short .hero-copy .case-role{margin-top:18px;color:rgba(255,255,255,.82);font-weight:600}
.case-launch-short .status-note{margin-top:28px}
.case-launch-short .status-note + .page-nav{margin-top:20px}
.case-launch-short .launch-2025-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--case-gap);align-items:start}
.case-launch-short .launch-2025-intro>div:last-child{max-width:62ch}
.case-launch-short .launch-2025-intro .lead{margin:0 0 18px;font-size:var(--type-feature)}
.case-launch-short .launch-2025-intro p:not(.lead){color:var(--muted)}
.case-launch-short .launch-signature{margin-top:48px;padding:clamp(28px,4vw,56px);background:var(--accent-tint);border-radius:var(--radius);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--case-gap);align-items:end}
.case-launch-short .launch-signature h3{font-size:var(--type-heading);line-height:1.05;letter-spacing:-.035em}
.case-launch-short .launch-signature .lead{margin-top:18px}
.case-launch-short .launch-signature p:not(.lead){max-width:56ch;margin-top:14px;color:var(--muted)}
.case-launch-short .launch-signature .case-metrics{margin:0}
.case-launch-short .case-responsibilities{padding-top:0}
.case-launch-short .case-work{margin-top:44px}
.case-launch-short .launch-history{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px var(--case-gap)}
.case-launch-short .launch-history li{padding-top:20px;border-top:1px solid var(--line)}
.case-launch-short .launch-history .year{color:var(--accent);font-weight:600}
.case-launch-short .launch-history h3{margin-top:10px;font-size:var(--type-feature);letter-spacing:-.025em}
.case-launch-short .launch-history li>p:last-child{max-width:58ch;margin-top:12px;color:var(--muted)}
.case-launch-short .case-cta{padding:clamp(28px,4vw,64px);background:var(--paper);border-radius:var(--radius)}
.case-launch-short .case-cta .eyebrow{color:var(--accent);font-weight:600}
.case-launch-short .case-secondary-cta{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.case-launch-short .case-secondary-cta .case-text-link{margin-top:8px}
.case-launch-short .sources{margin-top:0}
@media(max-width:760px){
  .case-launch-short .launch-2025-intro,.case-launch-short .launch-signature{grid-template-columns:minmax(0,1fr)}
  .case-launch-short .launch-signature{margin-top:32px;gap:32px}
  .case-launch-short .launch-history{grid-template-columns:minmax(0,1fr);gap:28px}
  .case-launch-short .case-work{margin-top:32px}
}
