:root{--ink:#090909;--paper:#fff;--muted:#626262;--line:#e3e3e3;--lime:#d6ff91;--pad:clamp(24px,4.5vw,72px)}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;padding:clamp(24px,5vw,80px) clamp(16px,3.8vw,64px);background:#dedee4;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-kerning:normal;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}.page-shell{max-width:1536px;margin:auto;background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #313131;outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}p{line-height:1.65}.eyebrow{font-size:.75rem;letter-spacing:.075em;line-height:1.6;font-weight:400}.skip{position:fixed;top:-80px;left:20px;padding:16px;background:#090909;color:white;z-index:20}.skip:focus{top:20px}
.header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px var(--pad)}.wordmark{font-size:.9375rem;letter-spacing:-.025em;font-weight:500;line-height:1.2}.header nav{display:flex;gap:34px;font-size:.8125rem;line-height:1.5}.hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:8%;padding:68px var(--pad) 82px}.hero h1{font-size:clamp(3.5rem,7.7vw,8rem);font-weight:500;line-height:.99;letter-spacing:-.058em}.hero-description{font-size:clamp(1.125rem,1.9vw,1.65rem);line-height:1.43;letter-spacing:-.024em;max-width:31ch;margin-top:46px}.project-index{padding-top:13px}.project-index h2{font-size:.6875rem;font-weight:400;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}.project-index button{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 0;font-size:.875rem;line-height:1.35;cursor:pointer;transition:padding-left .2s,background-color .2s}.project-index button:hover{padding-left:10px;background:#f0ffdb}.info-ribbon{background:var(--lime);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;padding:18px 24px;color:#121810;font-size:.8125rem;line-height:1.4}.info-ribbon span{display:inline-flex;gap:24px;align-items:center}.info-ribbon span::before{content:'•';font-size:.9375rem}
.text-link{display:inline-block;width:fit-content;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.875rem;line-height:1.5}.text-link:hover{text-decoration:none;border-color:#65714f}.section-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.section-top>.eyebrow{color:var(--muted)}.work{padding:68px var(--pad) 88px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:34px 0 44px}.section-heading h2,.about h2{font-size:clamp(2.2rem,4vw,4.2rem);font-weight:500;line-height:1.12;letter-spacing:-.04em;text-wrap:balance}.section-heading p{max-width:32ch;color:var(--muted);font-size:.9375rem;line-height:1.6;letter-spacing:-.01em}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 32px}.project-card{display:flex;flex-direction:column;align-items:stretch;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;min-width:0}.project-card:first-child{grid-column:1/-1}.card-image{flex:none;aspect-ratio:16/10;position:relative;overflow:hidden;background:#eee}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}.project-card:hover .card-image img{transform:scale(1.025)}.card-open{position:absolute;bottom:18px;right:18px;background:var(--lime);padding:12px 16px;font-size:.8125rem;opacity:0;transition:opacity .2s}.project-card:hover .card-open,.project-card:focus-visible .card-open{opacity:1}.card-body{display:flex;flex-direction:column;flex:1;min-width:0}.card-meta{display:flex;justify-content:space-between;gap:12px;margin:20px 0 12px;font-size:.6875rem;letter-spacing:.055em;line-height:1.5;text-transform:uppercase;color:var(--muted)}.card-body h3{font-size:clamp(1.3rem,2vw,2rem);font-weight:500;letter-spacing:-.027em;line-height:1.23;max-width:27ch;text-wrap:balance}.card-body>p{font-size:.9375rem;line-height:1.55;letter-spacing:-.01em;color:var(--muted);margin-top:12px;margin-bottom:23px;max-width:47ch}.card-result{display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--line);margin-top:auto;padding-top:15px;font-size:.8125rem;color:var(--muted)}.card-result strong{font-size:1.4rem;font-weight:450;letter-spacing:-.025em;color:var(--ink)}.project-card:first-child .card-image{aspect-ratio:2.3}.project-card:first-child .card-image img{object-position:50% 49%}.project-card:first-child .card-body{display:grid;grid-template-columns:1fr auto;gap:0 32px}.project-card:first-child .card-meta{grid-column:1/-1}.project-card:first-child .card-body>p{grid-column:1;margin-bottom:0}.project-card:first-child .card-result{grid-column:2;grid-row:2/4;border:0;margin:0;padding:0;align-self:center}.project-card:first-child .card-result strong{font-size:2.5rem}
.about{padding:50px var(--pad) 0;background:#f6f6f5}.impact{padding:45px 0;border-bottom:1px solid #dcdcdc;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.impact strong{font-size:clamp(2rem,3vw,3.25rem);font-weight:450;letter-spacing:-.035em;line-height:1.25}.impact p{font-size:.8125rem;margin-top:10px;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:55px 0 65px}.about h2{font-size:clamp(2.2rem,3.7vw,4rem);max-width:14ch;line-height:1.13;letter-spacing:-.036em}.about-copy .lead{font-size:1.45rem;line-height:1.45;letter-spacing:-.025em;color:var(--ink);margin-bottom:28px}.about-copy p{font-size:1rem;line-height:1.72;letter-spacing:-.006em;color:var(--muted);margin-bottom:22px;max-width:54ch}.expertise{margin-top:32px;display:flex;flex-direction:column}.expertise span{padding:14px 0;border-top:1px solid #dcdcdc;font-size:.875rem}.statement{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:35px 0 50px;border-top:1px solid #dcdcdc}.statement p{font-size:clamp(1.3rem,2vw,2rem);line-height:1.48;letter-spacing:-.024em}.contact{padding:60px var(--pad) 65px}.contact h2{font-size:clamp(3.2rem,6.5vw,7rem);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:45px 0 50px}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.email{font-size:clamp(1.1rem,2.2vw,2.25rem);letter-spacing:-.025em;border-bottom:1px solid #b3b3b3;padding-bottom:8px}.contact-links{display:flex;gap:28px;font-size:.875rem;padding-bottom:10px}footer{margin:0 var(--pad);padding:25px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.footer-brand{color:var(--ink);font-size:.875rem;font-weight:500;letter-spacing:-.025em}footer>span:nth-of-type(2){font-size:.625rem;letter-spacing:.055em}
dialog{scrollbar-gutter:stable;overflow-x:hidden;width:min(1120px,94vw);max-height:92dvh;padding:0;border:0;background:#fff;color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#202020a6;backdrop-filter:blur(8px)}.dialog-bar{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:2;padding:18px 30px;border-bottom:1px solid var(--line)}.close{border:0;background:none;padding:10px 0 10px 20px;cursor:pointer;font-size:.875rem;display:flex;gap:16px;align-items:center}.close span{font-size:1.6rem;line-height:1}.detail-top{padding:45px 40px 35px}.detail-top>.eyebrow{color:var(--muted)}.detail-top h2{font-size:clamp(2.2rem,4.4vw,4.8rem);letter-spacing:-.035em;font-weight:500;line-height:1.15;text-wrap:balance;margin:20px 0;max-width:20ch}.detail-top p{color:var(--muted)}.detail-image{width:100%;max-height:560px;object-fit:cover}.detail-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px}.detail-copy h3{font-size:.75rem;letter-spacing:.08em;margin-bottom:15px}.detail-copy p{font-size:1rem;line-height:1.72;letter-spacing:-.006em;color:var(--muted);max-width:54ch}.detail-stats{display:grid;grid-template-columns:repeat(var(--stat-count,4),minmax(0,1fr));gap:20px;padding:5px 40px 40px}.detail-stats strong{display:block;font-size:2rem;font-weight:450;letter-spacing:-.03em}.detail-stats span{display:block;font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:8px}.detail-gallery{padding:0 40px 40px}.detail-gallery img{width:100%;max-height:560px;object-fit:cover}.detail-links{padding:0 40px 45px;display:flex;gap:20px;flex-wrap:wrap}.detail-links a{padding:14px 23px;background:var(--lime);color:var(--ink);font-size:.875rem}.detail-links a:hover{background:#c5ed83;text-decoration:none}
@media(min-width:1700px){.hero h1{font-size:8.5rem}.hero-description{font-size:1.7rem}}
@media(max-width:1000px){.hero{gap:7%;padding-top:45px;padding-bottom:65px}.hero h1{font-size:7.5vw}.hero-description{font-size:1.25rem;margin-top:35px}.project-index{padding-top:7px}.project-index button{font-size:.8125rem;padding:12px 0}.project-index h2{margin-bottom:18px}.info-ribbon{gap:12px 16px;font-size:.75rem}.info-ribbon span{gap:16px}.project-card:first-child .card-body{display:block}.project-card:first-child .card-result{border-top:1px solid var(--line);padding-top:15px;margin-top:23px}.project-card:first-child .card-result strong{font-size:1.4rem}.contact-links{flex-direction:column;gap:15px}.about-copy .lead{font-size:1.3rem}footer>span:nth-of-type(2){display:none}}
@media(max-width:700px){body{padding:16px 12px}.header{padding-top:24px;padding-bottom:22px;gap:20px}.wordmark{font-size:.875rem}.header nav{gap:20px;font-size:.8125rem}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:40px;gap:39px}.hero h1{font-size:clamp(2.8rem,10.9vw,4.7rem);line-height:1.04;letter-spacing:-.05em}.hero-description{font-size:1.15rem;line-height:1.5;max-width:31ch;margin-top:28px}.project-index{padding:0}.project-index h2{margin-bottom:12px}.project-index button{font-size:.875rem;padding:14px 0}.info-ribbon{justify-content:flex-start;gap:12px 18px;padding:17px 24px}.info-ribbon span{gap:12px}.work{padding-top:40px;padding-bottom:50px}.section-top{flex-wrap:wrap;row-gap:15px}.section-heading{display:block;margin:28px 0 30px}.section-heading h2,.about h2{font-size:2.2rem;line-height:1.15;letter-spacing:-.032em}.section-heading p{margin-top:20px;font-size:.9375rem;line-height:1.6}.project-grid{grid-template-columns:1fr;gap:40px}.project-card:first-child .card-image{aspect-ratio:1.3}.card-body h3{font-size:1.4rem;line-height:1.25}.card-open{opacity:1;bottom:13px;right:13px;font-size:.75rem;padding:10px 13px}.card-meta{font-size:.75rem;letter-spacing:.015em}.about{padding-top:35px}.impact{grid-template-columns:1fr 1fr;padding:32px 0;gap:27px 20px}.impact strong{font-size:2.1rem}.impact p{font-size:.75rem;line-height:1.5}.about-grid{grid-template-columns:1fr;gap:30px;padding:35px 0}.about h2{max-width:15ch}.about-copy .lead{font-size:1.35rem}.statement{grid-template-columns:1fr;gap:22px;padding:28px 0 35px}.statement p{font-size:1.35rem}.contact{padding-top:35px;padding-bottom:35px}.contact h2{font-size:clamp(2.5rem,10vw,3.7rem);line-height:1.1;letter-spacing:-.04em;margin:35px 0}.contact-bottom{display:block}.email{font-size:clamp(1rem,4.7vw,1.35rem)}.contact-links{margin-top:27px;flex-direction:row;flex-wrap:wrap;gap:20px;font-size:.8125rem}footer{flex-wrap:wrap;line-height:1.6}.footer-brand{flex-basis:100%;margin-bottom:4px}dialog{width:100%;height:100dvh;max-height:100dvh;margin:0}.dialog-bar{padding:12px 22px}.detail-top{padding:30px 22px}.detail-copy{grid-template-columns:1fr;padding:30px 22px;gap:28px}.detail-stats{grid-template-columns:1fr 1fr;padding:0 22px 30px;gap:25px}.detail-gallery{padding:0 22px 30px}.detail-links{padding:0 22px 35px}.detail-stats strong{font-size:1.8rem}}
@media(max-width:380px){.header{gap:12px}.header nav{gap:13px;font-size:.75rem}.wordmark{font-size:.8125rem}.hero h1{font-size:2.75rem}.info-ribbon{gap:10px;font-size:.75rem}.section-top .text-link{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Personal handwriting, kept separate from the editorial type system. */
.signature-wordmark{display:block;position:relative;width:240px;height:66px;flex:0 1 auto;min-width:108px;overflow:hidden}
.signature-image{display:block;position:absolute;left:0;top:50%;width:100%;max-width:none;height:auto;transform:translateY(-53.23%)}
@media(max-width:700px){.signature-wordmark{width:180px;height:50px}.header{gap:16px}}
@media(max-width:380px){.signature-wordmark{width:140px;height:40px}.header{gap:10px}}

/* Preserve the complete Motor Park artwork, including its title and logo strip. */
.card-image.image-contain{aspect-ratio:16/10;background:#fff;overflow:hidden}
.card-image.image-contain img{width:100%;height:100%;object-fit:contain;object-position:center top}
.project-card:hover .card-image.image-contain img{transform:none}
.detail-image.image-contain{width:100%;height:auto;max-height:none;object-fit:contain}

/* Matching graphite signature in the footer. */
.footer-signature{display:block;width:140px;max-width:100%;height:auto}

/* A clear introduction and films available within each case study. */
.hero-main{min-width:0}
.hero h1{font-size:clamp(2.6rem,5.25vw,5.75rem);line-height:1.06;letter-spacing:-.045em;max-width:18ch;text-wrap:balance}
.hero-description{max-width:40ch;margin-top:32px}
.detail-films{padding:0 40px 40px;display:grid;gap:30px}
.project-film{margin:0;min-width:0}
.project-film figcaption{font-size:.875rem;line-height:1.5;margin-bottom:12px}
.film-player{position:relative;aspect-ratio:16/9;background:#111}
.film-player iframe{display:block;width:100%;height:100%;position:absolute;inset:0;border:0}
@media(max-width:700px){.hero h1{font-size:clamp(2.35rem,8.4vw,3.75rem)}.hero-description{margin-top:26px}.detail-films{padding:0 22px 30px;gap:24px}}

/* Use original photographs at their natural size in case studies. */
.detail-image,.detail-image.image-contain{width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin-inline:auto}
.detail-gallery img{width:auto;max-width:100%;height:auto;max-height:none;object-fit:contain;margin-inline:auto}

.detail-gallery{display:grid;gap:28px;justify-items:center}

/* Tighter reading rhythm, with more room on small screens. */
p{line-height:1.5}
.hero-description{line-height:1.36}
.section-heading p,.card-body>p{line-height:1.45}
.about-copy p,.detail-copy p{line-height:1.55}
.about-copy p{margin-bottom:19px}
.about-copy .lead{line-height:1.36;margin-bottom:24px}
.statement p{line-height:1.38}
.detail-copy h3{margin-bottom:13px}
@media(max-width:700px){
  .hero-description{line-height:1.44}
  .section-heading p,.card-body>p{line-height:1.5}
  .about-copy p,.detail-copy p{line-height:1.62}
  .about-copy .lead{line-height:1.4}
  .statement p{line-height:1.43}
}

/* Optical spacing across display, reading text and small labels. */
.hero h1{letter-spacing:-.04em}
.hero-description,.about-copy .lead,.statement p{letter-spacing:-.015em}
.section-heading h2,.about h2{letter-spacing:-.03em;line-height:1.12}
.card-body h3{letter-spacing:-.02em;line-height:1.22}
.detail-top h2{letter-spacing:-.03em;line-height:1.1}
.about-copy p,.detail-copy p,.section-heading p,.card-body>p{letter-spacing:0}
.eyebrow,.detail-copy h3{letter-spacing:.05em;line-height:1.4}
.project-index h2{letter-spacing:.065em}
.card-meta{letter-spacing:.035em;line-height:1.4}
@media(max-width:700px){
  .hero h1{letter-spacing:-.035em}
  .card-body h3,.detail-top h2{letter-spacing:-.025em}
  .card-meta{letter-spacing:.02em}
}

/* Preserve the supplied GV70 photograph and its caption in the project grid. */
.project-card[data-project="1"] .card-image{background:#fff}
.project-card[data-project="1"] .card-image img{object-fit:contain;object-position:center top}
.project-card[data-project="1"]:hover .card-image img{transform:none}

/* Consistent alignment across project cards and case studies. */
.card-meta>span:first-child{min-width:0}
.card-meta>span:last-child{flex-shrink:0}
.card-result{flex-wrap:wrap;row-gap:5px}
.card-result strong{white-space:nowrap}
.card-result span{min-width:0;overflow-wrap:anywhere}
.detail-cover{margin:0;padding:0 40px}
.detail-copy{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-copy>div,.detail-stats>div{min-width:0}
.detail-stats strong{font-size:clamp(1.6rem,3vw,2rem);line-height:1.2;overflow-wrap:anywhere}
.detail-stats span,.detail-top p{overflow-wrap:anywhere}
@media(min-width:701px){
  .project-card:not(:first-child) .card-body h3{min-height:2.44em}
}
@media(max-width:700px){
  .detail-cover{padding:0 22px}
  .detail-copy{grid-template-columns:minmax(0,1fr)}
  .detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-stats strong{font-size:1.6rem}
}
