:root{
  --bg:#000000; --panel:#000000; --panel2:#000000; --text:#f2f2f2; --muted:#a8a8a8; --line:#2b2b2b; --accent:#a33b38;
  --max:1480px; --pad:clamp(22px,4vw,72px);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-weight:300;line-height:1.65} img{max-width:100%;display:block} a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,.25),transparent);transition:.3s}.site-header.scrolled{background:rgba(6,6,6,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.brand img{width:225px;max-height:54px;object-fit:contain;object-position:left center}.main-nav{display:flex;gap:28px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.main-nav a{color:#d7d7d7;transition:.2s}.main-nav a:hover{color:#fff}.menu-toggle{display:none;background:none;border:1px solid #444;color:#fff;padding:8px 12px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/hero-gt40-final.jpg') center 55%/cover no-repeat;transform:scale(1.01)}.hero-shade{display:none}.hero-content{position:relative;z-index:2;width:min(860px,90vw);padding:0 var(--pad) clamp(62px,9vh,110px)}.hero-logo{width:min(440px,75vw);margin-bottom:32px;mix-blend-mode:screen}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(38px,5.5vw,84px);line-height:1.04;letter-spacing:-.03em;font-weight:300;margin:0 0 24px}.hero p{font-size:clamp(16px,1.7vw,22px);color:#d7d7d7;margin:0 0 38px}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid #777;padding-bottom:6px}.text-link span{margin-left:10px}
.section{padding:clamp(90px,11vw,170px) var(--pad);max-width:var(--max);margin:0 auto}.narrow{max-width:980px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#9f9f9f;margin:0 0 24px}.section h2{font-family:Manrope,sans-serif;font-weight:300;font-size:clamp(34px,5vw,72px);line-height:1.08;letter-spacing:-.025em;margin:0 0 34px}.section p{color:#bcbcbc;font-size:clamp(16px,1.5vw,20px);max-width:900px}.lede{color:#ececec!important;font-size:clamp(20px,2.1vw,30px)!important;line-height:1.45}.keywords{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.keywords span{border:1px solid #333;padding:10px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d8d8d8}
.statement{padding-top:140px;padding-bottom:140px}.work{padding-top:70px}.section-heading{max-width:980px;margin-bottom:55px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-card{margin:0;position:relative;background:#000;overflow:hidden;min-height:420px}.feature-card.wide{grid-column:1/-1;min-height:600px}.feature-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1.2s ease,filter .6s}.feature-card:hover img{transform:scale(1.025)}.feature-card figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;align-items:end;gap:20px}.feature-card strong{font-size:18px;font-weight:400}.feature-card span{color:#bbb;font-size:13px}.concept-note{font-size:12px!important;color:#7f7f7f!important;margin-top:24px}
.process{background:#000;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #333;border-bottom:1px solid #333;margin:15px 0 42px}.process-steps span{padding:22px 0;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#ddd}.process-steps b{color:#666;margin-right:12px;font-weight:400}.process-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.process-strip figure{margin:0;position:relative;aspect-ratio:4/3;background:#000;overflow:hidden}.process-strip img{width:100%;height:100%;object-fit:cover}.process-strip figcaption{position:absolute;bottom:12px;left:14px;background:rgba(0,0,0,.68);padding:5px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.cinema-frame{margin:60px 0 0;position:relative}.cinema-frame img{width:100%;max-height:800px;object-fit:cover}.cinema-frame figcaption{position:absolute;bottom:22px;left:24px;font-family:Manrope,sans-serif;font-size:clamp(20px,2vw,34px)}
.split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(50px,7vw,110px);align-items:center}.split-copy{max-width:640px}.split-image{margin:0}.split-image img{width:100%;aspect-ratio:16/10;object-fit:cover}.imaginators{border-top:1px solid #1b1b1b}.button-link{display:inline-block;margin-top:28px;padding:12px 18px;border:1px solid #555;text-transform:uppercase;font-size:11px;letter-spacing:.15em;transition:.2s}.button-link:hover{background:#fff;color:#000;border-color:#fff}.responsibility{background:#000;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.credentials{display:grid;grid-template-columns:1fr 1fr;border:1px solid #2b2b2b}.credentials div{padding:28px;border-right:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b}.credentials div:nth-child(2n){border-right:0}.credentials div:nth-last-child(-n+2){border-bottom:0}.credentials strong{display:block;font-family:Manrope,sans-serif;font-size:20px;font-weight:400;margin-bottom:8px}.credentials span{color:#929292;font-size:13px}
.director-card{display:grid;grid-template-columns:minmax(208px,.52fr) minmax(0,1.48fr);gap:clamp(40px,6vw,90px);align-items:stretch}.director-placeholder{min-height:416px;border:1px solid #2d2d2d;background:#000;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.18em;color:#555;font-size:11px;text-align:center}.director-copy h2{margin-bottom:5px}.role{text-transform:uppercase;letter-spacing:.14em;font-size:12px!important;color:#e0e0e0!important;margin:0 0 30px}.director-copy p{font-size:16px;max-width:760px}
.contact{max-width:none;min-height:72vh;position:relative;display:flex;align-items:center;overflow:hidden;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.contact-bg{position:absolute;inset:0;background:url('assets/ferrari-dark.webp') center/cover no-repeat}.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.34) 58%,rgba(0,0,0,.08))}.contact-copy{position:relative;z-index:2;max-width:920px}.button-link.light{border-color:#aaa;background:rgba(0,0,0,.15)}.contact-note{font-size:11px!important;color:#767676!important;margin-top:14px}
.site-footer{max-width:var(--max);margin:0 auto;padding:55px var(--pad) 70px;border-top:1px solid #202020;display:grid;grid-template-columns:290px 1fr;gap:50px}.site-footer img{width:270px}.footer-copy p{font-size:11px;color:#747474;max-width:900px;margin:0 0 8px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in-view{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.feature-card img{transition:none}}
@media (max-width:900px){.site-header{height:72px}.brand img{width:175px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#000;border-top:1px solid #222;flex-direction:column;padding:24px var(--pad);gap:18px}.main-nav.open{display:flex}.hero-content{padding-bottom:56px}.gallery-grid{grid-template-columns:1fr}.feature-card.wide{grid-column:auto}.feature-card,.feature-card.wide{min-height:430px}.feature-card figcaption{display:block}.feature-card span{display:block;margin-top:4px}.process-steps{grid-template-columns:1fr 1fr}.process-strip{grid-template-columns:1fr 1fr}.split,.director-card{grid-template-columns:1fr}.director-placeholder{min-height:360px}.credentials{grid-template-columns:1fr}.credentials div{border-right:0!important}.credentials div:nth-last-child(2){border-bottom:1px solid #2b2b2b}.site-footer{grid-template-columns:1fr}}
@media (max-width:560px){.section{padding-top:90px;padding-bottom:90px}.hero h1{font-size:40px}.hero-logo{width:280px}.feature-card,.feature-card.wide{min-height:340px}.process-strip{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr}.process-steps span{border-bottom:1px solid #222}.process-steps span:last-child{border-bottom:0}.credentials{grid-template-columns:1fr}.site-footer{padding-top:40px}}

/* V2 — three-stage transformation */
.transformation{margin-top:4rem;border-top:1px solid rgba(255,255,255,.12);padding-top:2.4rem}.transformation-heading{max-width:760px;margin-bottom:1.5rem}.transformation-heading h3{font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:300;line-height:1.25}.transformation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#000}.stage-card{margin:0;background:#000;min-width:0}.stage-card img,.stage-hold{width:100%;aspect-ratio:16/9;display:block;object-fit:cover}.stage-card figcaption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:#000}.stage-card figcaption b{font-weight:500}.stage-card figcaption span{color:#999;font-size:.85rem}.stage-hold{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#000;color:#777;border:1px solid #242424}.stage-hold span{font-size:.75rem;letter-spacing:.18em;color:#a20d18;margin-bottom:.7rem}.stage-hold strong{font-weight:400;color:#bbb}.stage-hold small{margin-top:.4rem;color:#666}.holding-portrait span{display:flex;flex-direction:column;align-items:center;gap:.8rem}.holding-portrait b{font-size:3.4rem;font-weight:300;letter-spacing:.08em}.holding-portrait small{font-size:.72rem;line-height:1.45;text-transform:uppercase;letter-spacing:.12em;color:#777;text-align:center}@media(max-width:800px){.transformation-grid{grid-template-columns:1fr}.stage-card figcaption{align-items:center}}

/* V3 — locked Jaguar / Bentley / Ferrari transformation sets */
.transformation-set{margin-top:2.5rem}
.transformation-set:first-of-type{margin-top:1.7rem}
.transformation-set-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .8rem;padding:0 2px}
.transformation-set-title strong{font-size:1.05rem;font-weight:500;letter-spacing:.02em}
.transformation-set-title span{font-size:.78rem;color:#777}
.transformation-grid{gap:10px;background:transparent;padding:10px;border:1px solid #1c1c1c}
.stage-card{box-shadow:0 7px 18px rgba(0,0,0,.52);overflow:hidden}
.stage-card img{background:#000}

/* V3 footer placement — note at the foot, centred */
.site-footer{display:block;text-align:center;padding-top:55px;padding-bottom:42px}
.footer-brand{display:flex;justify-content:center;margin-bottom:38px}
.site-footer img{width:270px;background:#000}
.footer-copy{max-width:980px;margin:0 auto;padding-top:28px;border-top:1px solid #202020;text-align:center}
.footer-copy p{max-width:none;margin:0 auto 10px;text-align:center;line-height:1.65}
@media(max-width:800px){.transformation-set-title{display:block}.transformation-set-title span{display:block;margin-top:.35rem}.transformation-grid{gap:9px;padding:9px}}

/* V4 — interactive responsibility cards */
.credentials{align-items:stretch}
.credential-card{appearance:none;-webkit-appearance:none;width:100%;margin:0;padding:28px;background:#000;color:var(--text);border:0;border-right:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b;text-align:left;font:inherit;cursor:pointer;transition:background .22s ease,border-color .22s ease}
.credential-card:nth-child(2n){border-right:0}
.credential-card:nth-last-child(-n+2){border-bottom:0}
.credential-card:hover,.credential-card:focus-visible{background:#111;outline:none}
.credential-card:focus-visible{box-shadow:inset 0 0 0 1px #777}
.credential-card strong{display:block;font-family:Manrope,sans-serif;font-size:20px;font-weight:400;margin-bottom:8px}
.credential-card>span{display:block;color:#929292;font-size:13px}
.credential-card em{display:block;margin-top:18px;color:#d7d7d7;font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.credential-detail{display:none!important;margin:18px 0 0!important;padding-top:17px;border-top:1px solid #2a2a2a;color:#b6b6b6!important;font-size:13px!important;line-height:1.65;max-width:none!important}
.credential-card.open .credential-detail{display:block!important}
.credential-card.open em{color:#fff}
@media(max-width:900px){.credential-card{border-right:0!important}.credential-card:nth-last-child(2){border-bottom:1px solid #2b2b2b}.credential-card:nth-last-child(1){border-bottom:0}}

.director-portrait{width:80%;max-width:100%;align-self:center;border:1px solid #2d2d2d;background:#000;overflow:hidden}.director-portrait img{width:100%;height:auto;display:block;object-fit:cover}
@media (max-width:900px){.director-portrait{width:80%;max-width:420px;justify-self:center}}

/* Final portrait framing: preserve the approved V4 portrait box size, use the original portrait aspect ratio, and crop the enhanced image only at the sides. */
.director-portrait{width:80%;max-width:100%;aspect-ratio:186/271;align-self:center;border:1px solid #2d2d2d;background:#000;overflow:hidden}
.director-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}
@media (max-width:900px){.director-portrait{width:80%;max-width:420px;justify-self:center}}

.capability-links a{border:1px solid #333;padding:10px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d8d8d8;transition:border-color .2s,color .2s}.capability-links a:hover{border-color:#777;color:#fff}

/* Restore locked V4 hero typography/branding geometry exactly. */
.hero-content{position:relative;z-index:2;width:min(860px,90vw);padding:0 var(--pad) clamp(62px,9vh,110px)}
.hero-logo{width:min(440px,75vw);margin-bottom:32px;mix-blend-mode:screen}
.hero h1{font-family:Manrope,sans-serif;font-size:clamp(38px,5.5vw,84px);line-height:1.04;letter-spacing:-.03em;font-weight:300;margin:0 0 24px}
.hero p{font-size:clamp(16px,1.7vw,22px);color:#d7d7d7;margin:0 0 38px}
@media (max-width:560px){.hero h1{font-size:40px}.hero-logo{width:280px}}

/* Requested landing-page adjustment: headline beneath hero logo reduced by exactly 15%. */
.hero h1{font-size:clamp(32.3px,4.675vw,71.4px)}
@media (max-width:560px){.hero h1{font-size:34px}}

/* Landing page hero typography matched to the approved reference scale. */
.hero-content{width:min(620px,90vw)}
.hero h1{font-size:clamp(34px,5vw,72px);line-height:1.08;margin-bottom:24px}
.hero p{font-size:clamp(15px,1.35vw,20px);margin-bottom:38px}
@media (max-width:560px){.hero-content{width:90vw}.hero h1{font-size:34px}}

/* Preserve the complete supplied GT40 landing image: no crop and no overscale. */
.hero-media{
  background-image:url('assets/hero-gt40-final.jpg');
  background-position:center center;
  background-size:contain;
  background-repeat:no-repeat;
  background-color:#000;
  transform:none;
}


/* Landing hero: fixed to three lines at the approved next-page heading size, while keeping the copy block in the lower half. */
.hero-content{width:min(860px,90vw)}
.hero h1{font-size:clamp(34px,5vw,72px);line-height:1.08;margin-bottom:24px;white-space:nowrap}
@media (max-width:900px){.hero h1{white-space:normal}}
@media (max-width:560px){.hero-content{width:90vw}.hero h1{font-size:34px;white-space:normal}}
