@font-face{font-family:'Trail Display';src:url('BarlowCondensed-Bold.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#efeee6;--ink:#17251e;--muted:#566159;--line:#bbc2b7;--accent:#934421;--signal:#e1ed4b;--orange:#ec743e;--soft:#e3e5d7;--cream:#dedfd4;--white:#faf9f0;--dark:#17251e;--header-height:89px;--hike-sky:#90bcc5;--display:'Trail Display',Impact,'Arial Narrow',Arial,sans-serif;--mono:'Courier New',monospace;--radius:0}
html{scroll-padding-top:calc(var(--header-height) + 24px)}h1,h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:1.03}h1 em,h2 em{font-style:normal}button{cursor:pointer}.kicker,.field-label{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;line-height:1.5}.eyebrow:before{content:'+';font-size:20px;font-weight:bold;line-height:1;height:auto;width:auto;background:none;color:var(--accent)}::selection{background:var(--signal);color:var(--ink)}.skip{background:var(--signal);color:var(--ink);z-index:100}.site-header{position:sticky;top:0;z-index:50;background:var(--dark);color:var(--white);border-bottom:1px solid #ffffff30}.header-inner{min-height:88px}.wordmark{font-weight:700;gap:13px}.monogram{width:36px;height:36px;display:block;color:var(--signal);border:0;border-radius:0}.monogram svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}.desktop-nav{font-size:13px;gap:32px}.desktop-nav a:hover{color:var(--signal)}.nav-cta{border-color:#ffffff60;border-radius:0}.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--signal)}
/* A stable dark layer keeps hero copy legible over personal photography. */
.outdoor-hero{position:relative;isolation:isolate;min-height:730px;background:var(--dark);color:var(--white);overflow:hidden;padding:0}.hero-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 52%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,23,17,.93) 0%,rgba(12,23,17,.89) 39%,rgba(12,23,17,.13) 75%),linear-gradient(0deg,rgba(12,23,17,.82),transparent 32%);z-index:-2}.hero-content{position:relative;padding-top:32px;padding-bottom:23px;min-height:730px;display:flex;flex-direction:column}.hero-topline{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:33px}.hero-topline p{margin:0}.hero-topline>.field-label{border:1px solid #ffffff60;background:#17251e65;padding:6px 10px}.hero-copy{max-width:660px}.hero-copy h1{font-size:clamp(84px,8.8vw,128px);line-height:.94;margin:0 0 26px}.hero-copy h1 em{color:var(--signal)}.hero-intro{font-size:16px;line-height:1.65;max-width:480px;margin-bottom:24px}.button{background:var(--orange);color:var(--ink);font-size:13px;font-weight:600;border-color:var(--orange);border-radius:0;gap:40px;min-height:54px}.button:hover{background:var(--white);border-color:var(--white)}.button>span{transform:translate(var(--mx,0),var(--my,0));transition:transform .18s ease-out}.text-link{font-size:13px}.arrow{display:inline-block;transition:transform .2s}.text-link:hover .arrow{transform:translate(3px,-3px)}.hero .text-link:hover{color:var(--signal)}.hero-bottom{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-top:auto;padding-top:34px}.photo-credit{background:#17251ebf;padding:7px 10px;text-decoration:none}.photo-credit:hover{color:var(--signal)}.trail-marker{position:absolute;right:8px;top:44%;display:flex;align-items:center;gap:14px;color:var(--orange);text-decoration:none;background:var(--dark);padding:13px 16px}.trail-marker svg{width:70px;height:70px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .6s}.trail-marker:hover svg{transform:rotate(25deg)}.trail-marker span{font:11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em}.experience-strip{border-bottom:1px solid var(--line);background:var(--signal)}.experience-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:22px}.experience{font:11px/1.5 var(--mono);text-transform:uppercase;color:var(--ink)}.experience strong{font:50px/1 var(--display)}.sectors{font-size:12px;color:var(--ink);gap:25px}.strip-symbol{font:50px/1 var(--sans)}.outdoor-hero :focus-visible,.field-notes :focus-visible,.approach-section :focus-visible{outline-color:var(--signal)}
.section-heading h2{font-size:clamp(42px,4.5vw,65px)}.section-heading>p{font-size:15px;max-width:305px}
.work-section .section-heading>.work-intro{background:var(--orange);color:var(--ink);padding:22px 24px;margin:0;max-width:340px;line-height:1.6}
@media(max-width:760px){.work-section .section-heading>.work-intro{max-width:460px;padding:20px}}
.project-media{border-radius:0}.project-media img{transition:transform .45s ease-out;transform:translate(var(--px,0),var(--py,0)) scale(var(--zoom,1))}.project-media:hover{--zoom:1.03}.project-media:hover img{transform:translate(var(--px,0),var(--py,0)) scale(var(--zoom,1))}.media-stamp{font:10px/1.5 var(--mono);background:var(--paper);color:var(--ink);bottom:18px;left:18px;max-width:calc(100% - 86px)}.media-arrow{position:absolute;bottom:16px;right:16px;background:var(--orange);color:var(--ink);width:40px;height:40px;display:grid;place-items:center;font:24px var(--sans)}.project-number{font:11px var(--mono);text-transform:uppercase;margin-bottom:22px}.project-feature h3{font:600 39px/1.15 var(--sans);letter-spacing:-.04em;margin:17px 0 20px}.project-copy p{font-size:15px}.project-copy .kicker{color:var(--ink)}.proof-line{font-size:13px;border-color:var(--orange);border-width:3px}.tag{font:10px/1.5 var(--mono);padding:5px 8px;border-radius:0}.project-card h3{font:600 28px/1.13 var(--sans);letter-spacing:-.035em}.project-card .kicker{font-size:10px;color:var(--ink);letter-spacing:.04em}.project-card .boots-media,.case-image.boots{background:#d9e2dc}.project-card .clinical-media,.case-image.clinical-partners{background:#e1d9d2}.project-card .adzooma-media,.case-image.adzooma{background:#d7d9df}
.approach-section{background:var(--dark);color:var(--white)}.approach-section .eyebrow:before,.field-notes .eyebrow:before{color:var(--orange)}.approach-grid h2{font-size:clamp(46px,4.5vw,65px)}.approach-grid h2 em{color:var(--signal)}.approach-grid .intro,.focus-row p{color:#d4dccd}.focus-row .num{font:11px var(--mono);color:var(--orange)}.focus-row h3{font:600 23px/1.23 var(--sans);letter-spacing:-.03em}.contour-mark{max-width:380px;margin-top:40px}.contour-mark svg{height:120px;width:100%;stroke:#879b6d;stroke-width:1;fill:var(--orange)}.contour-mark .field-label{display:block;color:var(--signal);margin-top:6px}.about-grid h2{font-size:65px}.about-grid .lead{font:23px/1.4 var(--sans);letter-spacing:-.025em;max-width:470px}.about-grid .body-copy{font-size:16px}.principles{margin-bottom:26px}.principles span{font:10px/1.4 var(--mono);text-transform:uppercase;margin-right:8px}.profile-note{display:flex;align-items:center;gap:22px;margin-top:32px}.profile-note img{width:100px;height:115px;object-fit:cover;object-position:50% 28%;filter:grayscale(1)}.profile-note strong{display:block;font-size:15px;margin-bottom:7px}.profile-note .field-label{display:block;color:var(--muted)}
.field-notes{background:var(--dark);color:var(--white);padding-bottom:55px}.field-notes h2{font-size:clamp(72px,7.5vw,108px);line-height:.94;color:var(--signal)}.section-heading .field-intro{max-width:305px}.field-intro p{font-size:16px;line-height:1.65;margin-bottom:23px}.field-intro .field-label{color:#d4dccd}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.gallery-controls{display:flex;gap:10px}.gallery-controls[hidden]{display:none}.icon-button{border:1px solid #ffffff55;background:transparent;color:var(--white);width:48px;height:44px;font:22px/1 var(--sans);transition:background .2s,color .2s}.icon-button:hover,.icon-button:focus-visible{background:var(--orange);color:var(--ink)}.icon-button:disabled{opacity:.35;cursor:default}.field-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:min(29vw,360px);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--signal) #334031;scrollbar-width:thin;padding-bottom:20px;overscroll-behavior-x:contain}.field-photo{position:relative;display:block;text-decoration:none;scroll-snap-align:start;min-width:0}.field-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .45s ease-out}.field-photo:hover img{transform:translateY(-5px)}.landscape-photo img{object-position:82% 50%}.photo-caption{display:flex;justify-content:space-between;align-items:start;gap:15px;padding-top:14px;font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em;min-height:50px}.photo-caption>span:last-child{font:20px/1 var(--sans);color:var(--orange)}.gallery-note{margin:22px 0 0;color:#d4dccd}.photo-dialog{width:min(1000px,calc(100% - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:24px;background:var(--dark);border:1px solid #ffffff50;color:var(--white);overflow-y:auto}.photo-dialog::backdrop{background:#101b15ef;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.dialog-close,.dialog-controls button{background:transparent;color:var(--white);border:1px solid #ffffff50;font:12px var(--mono);min-height:44px;padding:10px 16px}.dialog-close:hover,.dialog-controls button:hover{color:var(--ink);background:var(--orange)}.dialog-close span{font:20px var(--sans);margin-left:10px}.dialog-image{width:100%;height:min(65dvh,650px);object-fit:contain}.photo-dialog figcaption{font:12px/1.4 var(--mono);padding-block:15px;text-align:center;text-transform:uppercase}.dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:20px}.photo-dialog :focus-visible{outline-color:var(--signal)}
.quote-grid blockquote{font:600 24px/1.35 var(--sans);letter-spacing:-.025em}.quote-grid figcaption{font:11px/1.6 var(--mono)}.contact-band{background:var(--signal)}.contact-top h2{font-size:clamp(60px,6.5vw,92px);line-height:.98}.contact-top p,.contact-option small{color:var(--ink)}.contact-top .eyebrow:before{color:var(--ink)}.contact-options,.contact-option{border-color:#17251e75}.contact-option strong{font-weight:600!important;letter-spacing:-.015em}.contact-option:hover strong{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.contact-option:hover .arrow{transform:translate(3px,-3px)}.site-footer{background:var(--dark);color:#d4dccd;border:0}.footer-inner{color:inherit;font:10px/1.5 var(--mono)}.case-title{max-width:1100px;font-size:clamp(48px,6.3vw,91px);line-height:1.02}.breadcrumb,.case-facts dt,.case-image-caption{font-family:var(--mono);font-size:11px}.case-body h2{font-size:46px}.case-body h3{font:600 25px/1.25 var(--sans);letter-spacing:-.025em}.case-outcome{border-top:3px solid var(--ink)}.decision .number{font-family:var(--mono)}.limitations{border-color:var(--orange);border-width:3px}.limitations h3{font-size:21px}.next-case h2{font-size:40px}.contact-page h1{font-size:clamp(58px,7.5vw,106px)}.contact-page h1 em{color:var(--accent)}.contact-page-grid h2{font:400 36px/1.05 var(--display);letter-spacing:.005em}.contact-page .contact-option small{color:var(--muted)}
/* Enhancements retain native pointers and fixed click targets. */
[data-reveal]{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.3,1)}.reveal-pending{opacity:0;transform:translateY(22px)}/* The wrapper is positioned by the mouse coordinates; its centre is the hotspot. */
/* A flat compass face; the centre remains the exact click position. */
.trail-pointer {
  --needle-angle: 0deg;
  --bezel-angle: 0deg;
  position: fixed;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  overflow: visible;
  pointer-events: none;
  z-index: 200;
  transform: translate(-50%, -50%);
  transition: width .18s ease, height .18s ease, opacity .12s ease;
}
.trail-pointer.is-visible { opacity: 1; }
.trail-pointer.has-label { width: 60px; height: 60px; }
.trail-pointer .compass-face {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: 50% 50%;
  transition: transform .12s ease;
}
.compass-dial { fill: var(--dark); stroke: var(--paper); stroke-width: 2.5; }
.compass-bezel {
  transform-box: view-box;
  transform-origin: 50% 50%;
  transform: rotate(var(--bezel-angle));
}
.compass-ticks { stroke: var(--paper); stroke-width: 2.5; }
.compass-needle {
  transform-box: view-box;
  transform-origin: 50% 50%;
  transform: rotate(var(--needle-angle));
}
.compass-needle-north { fill: var(--orange); }
.compass-needle-south { fill: var(--paper); }
.compass-pivot { fill: var(--orange); }
.trail-pointer .pointer-label {
  position: absolute;
  left: calc(100% + 7px);
  top: 50%;
  display: block;
  padding: 5px 8px;
  border: 0;
  border-radius: 0;
  background: var(--orange);
  color: var(--ink);
  box-shadow: none;
  white-space: nowrap;
  font: 700 10px/1.3 var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  transform: translate(-4px, -50%);
  opacity: 0;
  transition: opacity .12s ease, transform .16s ease;
}
.trail-pointer.has-label .pointer-label { opacity: 1; transform: translate(0, -50%); }
.trail-pointer.is-pressed .compass-face { transform: scale(.92); }
body.compass-cursor-active,
body.compass-cursor-active * { cursor: none !important; }
@media (pointer: coarse), (hover: none), (prefers-reduced-motion: reduce) {
  .trail-pointer { display: none !important; }
  body.compass-cursor-active,
  body.compass-cursor-active * { cursor: revert !important; }
}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .22s ease both}::view-transition-new(root){animation:page-in .32s ease both}@keyframes page-out{to{opacity:0;transform:translateY(-8px)}}@keyframes page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.hero-copy h1{font-size:100px}.hero-copy{max-width:550px}.trail-marker{right:0;top:48%;padding:12px}.trail-marker svg{width:48px;height:48px}.hero-intro{max-width:450px}.project-feature h3{font-size:33px}.project-card h3{font-size:25px}.about-grid h2{font-size:58px}.experience-strip>.wrap{gap:20px}.sectors{gap:12px 20px}.strip-symbol{display:none}}
@media(max-width:760px){.header-inner{min-height:76px}.monogram{width:30px;height:30px;display:block}.mobile-menu{background:var(--dark);border-color:#ffffff55}.mobile-nav{font-family:var(--mono)}.mobile-nav summary:after{color:var(--signal)}.outdoor-hero,.hero-content{min-height:770px}.hero-content{padding-top:26px;padding-bottom:23px}.hero-landscape{object-position:75% 50%}.hero-shade{background:linear-gradient(90deg,#0c1711dc,#0c171180),linear-gradient(0deg,#0c1711e0,transparent 42%)}.hero-topline{margin-bottom:36px}.hero-topline>.field-label{display:none}.hero-copy h1{font-size:clamp(73px,14.6vw,108px);margin-bottom:28px;max-width:560px}.hero-intro{font-size:16px;max-width:420px}.button{min-height:52px;gap:30px;padding-inline:18px}.trail-marker{top:auto;bottom:95px;right:0;padding:8px 10px}.trail-marker svg{width:40px;height:40px}.trail-marker span{font-size:9px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:10px;padding-top:95px}.hero-bottom>.field-label{font-size:9px;letter-spacing:.025em}.photo-credit{font-size:9px;padding:4px 7px;min-height:32px;display:flex;align-items:center}.experience-strip>.wrap{align-items:flex-start;flex-direction:column;gap:18px;padding-block:23px}.experience strong{font-size:44px}.experience{font-size:10px}.sectors{font-size:11px;gap:10px 19px}.section-heading h2{font-size:clamp(39px,8.4vw,58px);line-height:1.05;margin-bottom:21px}.section-heading>p,.section-heading .field-intro{max-width:460px;font-size:15px}.project-feature h3{font-size:33px}.project-copy p{font-size:16px}.project-number{margin-bottom:13px}.media-stamp{font-size:9px;bottom:14px;left:14px}.media-arrow{width:36px;height:36px;bottom:14px;right:14px}.project-card h3{font-size:30px}.project-card p{font-size:16px}.approach-grid h2,.about-grid h2{font-size:clamp(43px,9vw,62px)}.contour-mark{margin-top:27px;max-width:310px}.contour-mark svg{height:95px}.focus-row h3{font-size:23px}.about-grid .lead{font:23px/1.4 var(--sans)}.profile-note{margin-top:28px}.profile-note img{width:82px;height:100px}.field-notes{padding-bottom:36px}.field-notes h2{font-size:clamp(66px,13vw,92px);margin-bottom:28px;line-height:.96}.field-intro p{font-size:16px;max-width:380px;margin-bottom:17px}.field-intro .field-label{font-size:10px}.gallery-toolbar{gap:12px}.gallery-toolbar>.field-label{font-size:9px;max-width:170px}.gallery-controls{gap:8px}.icon-button{width:44px}.field-gallery{grid-auto-columns:78%;gap:18px}.gallery-note{font-size:10px}.photo-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:15px}.dialog-top{gap:10px}.dialog-top>.field-label{max-width:160px;font-size:9px}.dialog-image{height:60dvh}.dialog-controls{gap:9px}.dialog-controls button{font-size:10px;padding-inline:10px}.dialog-count{display:none}.photo-dialog figcaption{font-size:10px}.quote-grid blockquote{font-size:23px}.contact-top h2{font-size:clamp(56px,12vw,76px)}.case-title{font-size:clamp(43px,8.4vw,65px)}.case-body h2{font-size:38px}.case-body h3{font-size:24px}.next-case h2{font-size:29px}.contact-page h1{font-size:clamp(47px,10vw,72px)}.contact-page-grid h2{font:400 32px/1.05 var(--display)}}
@media(max-width:360px){.monogram{width:25px;height:25px}.hero-topline .kicker{font-size:10px}.outdoor-hero,.hero-content{min-height:750px}.hero-intro{font-size:15px}.trail-marker{bottom:107px}.hero-bottom>.field-label{max-width:250px}.section-heading h2{font-size:38px}.contact-top h2{font-size:52px}}
@media(max-width:760px){.hero-copy h1{font-size:clamp(50px,17vw,108px)}}
.field-gallery{padding-top:8px;margin-top:-8px}.field-photo:focus-visible{outline:3px solid var(--signal);outline-offset:-3px}
.reveal-pending:focus-within{opacity:1;transform:none;transition:none}
@media(min-width:761px){.trail-marker{top:27%}}
body:has(.photo-dialog[open]){overflow:hidden}
.photo-dialog[open]{animation:viewer-in .2s ease both}@keyframes viewer-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero-copy h1{overflow-wrap:anywhere}
.hero-content{padding-top:72px}
.experience-strip>.wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:32px;padding-block:26px}
.experience span{font:500 13px/1.5 var(--sans);letter-spacing:.025em;text-transform:uppercase}
.company-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px;align-items:center}
.company-logos li{margin:0;display:flex;align-items:center;justify-content:center;min-width:0;min-height:60px}
.company-logos img{max-width:100%;width:100px;height:48px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}
.company-logos .logo-mhr{width:46px;height:46px}.company-logos .logo-nhs{width:78px;height:36px}.company-logos .logo-forest{width:36px;height:60px}.company-logos .logo-clinical{width:120px;height:40px}
@media(max-width:1100px){.experience-strip>.wrap{grid-template-columns:1fr;gap:23px}.company-logos{gap:30px}}
@media(max-width:760px){.hero-content{padding-top:56px}.experience span{font-size:13px}.company-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px}.company-logos img{width:96px;height:44px}.company-logos .logo-mhr{width:44px;height:44px}.company-logos .logo-nhs{width:76px;height:32px}.company-logos .logo-forest{width:32px;height:54px}.company-logos .logo-clinical{width:112px;height:38px}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.trail-pointer{display:none!important}.project-media img,.field-photo img,.button>span{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.field-gallery{scroll-snap-type:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Keep anchored content and the case-study index below the sticky header. */
.case-toc{top:calc(var(--header-height) + 24px)}
.case-body section{scroll-margin-top:0}
[data-reveal]:target{opacity:1;transform:none;transition:none}
@media(max-width:760px){:root{--header-height:77px}.mobile-menu{max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto;overscroll-behavior:contain}}

/* Give longer case studies a clear rhythm without turning the story into cards. */
.case-body p,.case-contributions{max-width:72ch}
.case-contributions{padding-left:22px;margin:0}
.case-contributions li{padding-left:7px;margin-bottom:14px}
.case-contributions li::marker{color:var(--orange)}
.case-process{border-left:2px solid var(--orange);padding-left:30px}
.case-step{position:relative;margin:0 0 36px}
.case-step:last-child{margin-bottom:0}
.case-step::before{content:"";position:absolute;left:-36px;top:4px;width:10px;height:10px;background:var(--orange)}
.case-step>.field-label{margin:0 0 12px;color:var(--ink);font-size:11px;font-weight:600}
.case-step h3{margin:0 0 14px}
.case-step p:last-child{margin-bottom:0}
.case-findings{margin:0;border-top:1px solid var(--line)}
.case-finding{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:26px 0;border-bottom:1px solid var(--line)}
.case-finding dt,.case-finding dd{font:400 16px/1.7 var(--sans);color:var(--muted);margin:0;min-width:0}
.case-finding dt{font-weight:600;color:var(--ink)}
.case-finding .field-label{display:block;margin-bottom:11px;color:var(--ink);font:500 10px/1.5 var(--mono);letter-spacing:.08em}
.case-finding dd .field-label{color:var(--accent)}
@media(max-width:760px){
  .case-process{padding-left:22px}
  .case-step{margin-bottom:30px}
  .case-step::before{left:-28px}
  .case-step>.field-label{font-size:10px}
  .case-finding{grid-template-columns:1fr;gap:18px;padding:23px 0}
  .case-finding dt,.case-finding dd{font-size:16px}
  .case-finding .field-label{margin-bottom:7px}
}

/* Colleague feedback belongs to the same story as the biography. */
.about-feedback{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.about-feedback .quote-label{color:var(--muted);margin-bottom:24px}
@media(max-width:760px){.about-feedback{margin-top:40px;padding-top:32px}}
/* Colleague feedback follows a short horizontal passage within About. */
.about-feedback .feedback-panel{background:var(--paper);padding-bottom:6px}
.about-feedback .feedback-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
.about-feedback .feedback-topline .quote-label{margin:0;max-width:440px}
.about-feedback .feedback-navigation{display:none;align-items:center;gap:10px;flex:none}
.about-feedback.is-feedback-ready .feedback-navigation{display:flex}
.feedback-position{font:10px/1.5 var(--mono);color:var(--muted);margin-right:8px;min-width:50px;text-align:right}
.feedback-arrow{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font:21px/1 var(--sans)}
.feedback-arrow:hover,.feedback-arrow:focus-visible{background:var(--orange);border-color:var(--orange)}
.feedback-arrow:disabled{opacity:.3;cursor:default;background:transparent;border-color:var(--line)}
.about-feedback .feedback-track{display:flex;position:relative;gap:44px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--orange) var(--line);overscroll-behavior-x:contain;padding:0 0 22px;scroll-behavior:auto;scroll-snap-type:none}
.about-feedback .feedback-track figure{flex:0 0 calc((100% - 44px)/2);min-width:0;margin:0;display:flex;flex-direction:column}
.about-feedback .feedback-track blockquote{font-size:clamp(21px,1.7vw,25px);line-height:1.4;margin:0 0 26px}
.about-feedback .feedback-track figcaption{margin-top:auto;line-height:1.8}
.about-feedback .feedback-track:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.about-feedback .feedback-hint{color:var(--muted);font-size:9px;letter-spacing:.045em;margin:17px 0 0}
@media(prefers-reduced-motion:no-preference){.about-feedback.is-feedback-active{height:calc(var(--feedback-panel-height) + var(--feedback-travel) + 40px)}.about-feedback.is-feedback-active .feedback-panel{position:sticky;top:var(--feedback-top)}}
@media(max-width:760px){.about-feedback .feedback-topline{gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:22px}.about-feedback .feedback-topline .quote-label{font-size:9px;max-width:245px}.about-feedback .feedback-navigation{margin-left:auto}.feedback-position{font-size:9px;margin-right:1px}.feedback-arrow{width:40px;height:40px}.about-feedback .feedback-track{gap:24px}.about-feedback .feedback-track figure{flex-basis:88%}.about-feedback .feedback-track blockquote{font-size:23px;line-height:1.4}.about-feedback .feedback-hint{max-width:260px}.about-feedback.is-feedback-active{height:calc(var(--feedback-panel-height) + var(--feedback-travel) + 32px)}}

/* Separate scroll translation composes with hover and reveal movement. */
/* Native scrolling first opens the landscape, then releases the hero. */
.hero-line{display:block}
@media(prefers-reduced-motion:no-preference){
  .hero-journey.is-hero-zoom-active{height:calc(var(--hero-scene-height) + var(--hero-zoom-distance));background:var(--dark)}
  .hero-journey.is-hero-zoom-active>.outdoor-hero{position:sticky;top:var(--hero-pin-top,var(--hero-header-height));min-height:var(--hero-scene-height)}
  .hero-journey.is-hero-zoom-active .hero-content{min-height:var(--hero-scene-height)}
  .hero-journey.is-hero-zoom-active .hero-landscape{inset:-64px 0 auto;height:calc(100% + 128px);scale:var(--hero-image-scale,1);filter:brightness(var(--hero-image-brightness,1));transform-origin:82% 65%}
  .hero-journey.is-hero-zoom-active .hero-shade{opacity:var(--hero-shade-opacity,1)}
  .hero-journey.is-hero-zoom-active .hero-line{opacity:var(--line-reveal,1);translate:0 calc((1 - var(--line-reveal,1)) * 26px)}
  .hero-journey.is-hero-zoom-active .hero-line:nth-child(1){--line-reveal:var(--hero-line-one,1)}
  .hero-journey.is-hero-zoom-active .hero-line:nth-child(2){--line-reveal:var(--hero-line-two,1)}
  .hero-journey.is-hero-zoom-active .hero-line:nth-child(3){--line-reveal:var(--hero-line-three,1)}
  .hero-journey.is-hero-zoom-active .hero-intro{opacity:var(--hero-intro-reveal,1);translate:0 calc((1 - var(--hero-intro-reveal,1)) * 20px)}
  .hero-journey.is-hero-zoom-active .hero-copy>.actions{opacity:var(--hero-action-reveal,1);translate:0 calc((1 - var(--hero-action-reveal,1)) * 16px);pointer-events:none}
  .hero-journey.is-hero-copy-ready .hero-copy>.actions{pointer-events:auto}
  .hero-journey.is-hero-zoom-active .hero-copy:focus-within .hero-line,
  .hero-journey.is-hero-zoom-active .hero-copy:focus-within .hero-intro,
  .hero-journey.is-hero-zoom-active .hero-copy:focus-within>.actions{opacity:1;translate:none;pointer-events:auto}
}

/* The homepage opens with the landscape; navigation enters on the first scroll. */
.has-scroll-header .site-header{position:fixed;inset:0 0 auto;opacity:0;transform:translateY(-100%);pointer-events:none;transition:transform .24s ease-out,opacity .2s ease-out}
.has-scroll-header .site-header.is-header-visible,
.has-scroll-header .site-header:focus-within,
.has-scroll-header .site-header:has(.mobile-nav[open]){opacity:1;transform:none;pointer-events:auto}
.has-scroll-header .site-header:focus-within{transition:none}
.has-scroll-header .outdoor-hero,.has-scroll-header .hero-content{min-height:max(730px,100svh)}
.has-scroll-header .hero-content{padding-top:calc(var(--header-height) + 72px)}
@media(max-width:760px){.has-scroll-header .outdoor-hero,.has-scroll-header .hero-content{min-height:max(770px,100svh)}.has-scroll-header .hero-content{padding-top:calc(var(--header-height) + 56px)}}
@media(prefers-reduced-motion:reduce){.has-scroll-header .site-header{transition:none}}
[data-scroll-layer]{translate:0 var(--scroll-shift,0px)}
[data-scroll-layer="hero"]{inset:-64px 0 auto;height:calc(100% + 128px)}
[data-scroll-layer="cover"]{scale:1.08}
.case-image.mhr{overflow:hidden}
.photo-window{display:block;aspect-ratio:3/4;overflow:hidden}
.field-photo .photo-window img{height:100%;aspect-ratio:auto}
@media(prefers-reduced-motion:reduce){
  [data-scroll-layer]{translate:none!important;scale:none!important}
  [data-scroll-layer="hero"]{inset:0;height:100%}
}

/* The contact invitation shares the game sky, with no separate coloured band. */
.site-footer>.contact-band{background:var(--hike-sky);color:var(--ink);border:0;padding-bottom:48px}
.site-footer>.contact-band :focus-visible{outline-color:var(--ink)}
.site-footer>.contact-band .contact-option small{color:var(--ink)}
@media(max-width:760px){.site-footer>.contact-band{padding-bottom:36px}}

/* Original project artefacts sit with the decisions and research they explain. */
.case-evidence{margin:34px 0 0}
.case-evidence-media{padding:18px;background:#e7e9df;border:1px solid var(--line)}
.case-evidence img,.case-evidence video{display:block;width:100%;height:auto;max-height:700px;object-fit:contain}
.case-evidence.is-portrait video{max-width:320px;max-height:none;margin-inline:auto}
.case-evidence figcaption{margin-top:14px;font:400 13px/1.6 var(--sans);color:var(--muted)}
.case-media-links{display:flex;flex-wrap:wrap;column-gap:22px;margin-top:5px}
.case-media-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px;color:var(--ink)}
.case-evidence video:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:760px){.case-evidence{margin-top:26px}.case-evidence-media{padding:10px}.case-evidence figcaption{font-size:12px}.case-media-links{column-gap:18px}}

.sprint-feature{margin-top:44px;padding-top:0}
.sprint-media{aspect-ratio:4/3;background:#e6ded0;padding:20px}
.sprint-media img{width:100%;height:100%;object-fit:contain}
.case-image.one-day-sprint{background:#e6ded0;padding:24px}
@media(max-width:760px){.sprint-feature{margin-top:32px}.sprint-media{padding:12px}.case-image.one-day-sprint{padding:14px}}

/* AI sprint methods are visible before the detailed process narrative. */
.case-ai-panel{padding:28px 32px;background:var(--soft);border-top:3px solid var(--orange)}
.case-ai-panel>.kicker{color:var(--ink);font-size:11px;margin-bottom:15px}
.case-ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.case-ai-step .field-label{font-size:10px;color:var(--ink);margin-bottom:12px}
.case-ai-step h3{font-size:21px;margin-bottom:12px}
.case-ai-step p{font-size:15px;line-height:1.65;margin-bottom:0}
.case-ai-panel>.case-ai-result{border-top:1px solid var(--line);padding-top:20px;margin:25px 0 0;color:var(--ink)}
@media(max-width:760px){.case-ai-panel{padding:22px}.case-ai-grid{grid-template-columns:1fr;gap:22px}.case-ai-step+.case-ai-step{padding-top:22px;border-top:1px solid var(--line)}}
