/* Restrained, consistent interaction language. */
.btn,.text-link,.offer-card,.featured-brand-card,.portfolio-video-card { transition: border-color 240ms ease, background-color 240ms ease, box-shadow 240ms ease, color 240ms ease; }
.btn-arrow::after,.text-link::after { transition: transform 240ms cubic-bezier(.22,.75,.22,1); }
.btn-arrow:focus-visible::after,.text-link:focus-visible::after { transform: translateX(4px); }
.btn:focus-visible,.expand-trigger:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 4px; }
.field-control:focus-within input,.field-control:focus-within textarea { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgb(var(--rgb-accent) / .08); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .home-page .featured-brands-section .featured-brand-card:hover,.home-page .featured-brands-section .featured-brand-card:focus-within,
  .projects-page .featured-brand-card:hover,.projects-page .portfolio-video-card:hover { transform: none; border-color: rgb(159 130 27 / .5); box-shadow: 0 12px 30px rgb(var(--rgb-ink) / .08); }
  .offer-card:hover { border-color: #9f821b; }
  .offer-card-featured:hover { border-color: var(--color-gold); }
  .portfolio-video-card .video-thumb > img { transition: transform 500ms cubic-bezier(.22,.75,.22,1),opacity 240ms; }
  .portfolio-video-card:hover .video-thumb > img { transform: scale(1.025); }
}
/* Only deliberate desktop hover/focus loads a small, silent local preview. */
.video-thumb .interaction-preview { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; transition:opacity 260ms ease; z-index:1; }
.video-thumb.is-preview-playing .interaction-preview { opacity:1; }
.video-thumb .play-button { z-index:2; }
/* Scroll-linked precision: one fine track, a gold fill and a small marker. */
.precision-process { position:relative; }
.precision-track { position:absolute; z-index:1; pointer-events:none; top:-16px; left:0; width:100%; height:2px; background:#d8d6cd; }
.precision-track > span { position:relative; display:block; width:var(--process-progress,0%); height:100%; background:#b89424; transition:width 180ms linear; }
.precision-track > span::after { content:''; position:absolute; right:-3px; top:-2px; width:6px; height:6px; border-radius:50%; background:#b89424; box-shadow:0 0 0 3px #faf9f6; opacity:1; }
.precision-process > .process-step,.precision-process > .about-method-step { transition:border-color 300ms ease; }
.precision-process > .is-step-seen { border-top-color:#b89424; }
.precision-process .step-number,.precision-process .about-index { color:#87919b; transition:color 300ms ease; }
.precision-process > .is-step-seen .step-number,.precision-process > .is-step-seen .about-index { color:#987713; }
@media (max-width:1180px) {
  .precision-track { top:0; bottom:0; left:-12px; width:2px; height:100%; }
  .precision-track > span { width:100%; height:var(--process-progress,0%); transition:height 180ms linear; }
  .precision-track > span::after { top:auto; bottom:-3px; right:-2px; }
}
@media (prefers-reduced-motion:reduce) {
  .precision-track > span,.precision-process > .process-step,.precision-process > .about-method-step,.precision-process .step-number,.precision-process .about-index { transition:none; }
}
/* The project image remains the visual anchor during expansion. */
.case-study-cover { margin:0 0 20px; overflow:hidden; background:var(--color-surface-warm); }
.project-expand-media .case-study-cover img { display:block; width:100%; height:auto; min-height:0; object-fit:contain; }
::view-transition-old(case-study-media),::view-transition-new(case-study-media) { animation-duration:500ms; animation-timing-function:cubic-bezier(.22,.75,.22,1); }
::view-transition-group(case-study-media) { animation-duration:500ms; animation-timing-function:cubic-bezier(.22,.75,.22,1); }
/* Real desktop and mobile captures, framed as a single digital system. */
.digital-showcase { grid-column:1 / -1; margin:12px 0 0; padding-top:30px; border-top:1px solid var(--color-border); min-width:0; }
.digital-showcase figcaption { margin-bottom:24px; color:var(--color-muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.digital-devices { position:relative; max-width:1000px; margin:auto; padding:0 12% 26px 0; }
.digital-desktop { overflow:hidden; border:1px solid rgb(var(--rgb-ink) / .16); border-radius:8px; background:#fff; box-shadow:0 18px 45px rgb(var(--rgb-ink) / .1); }
.digital-browser-bar { display:block; height:24px; border-bottom:1px solid var(--color-border); background:radial-gradient(circle at 13px 12px,#bfc5ca 2px,transparent 3px),radial-gradient(circle at 23px 12px,#bfc5ca 2px,transparent 3px),radial-gradient(circle at 33px 12px,#bfc5ca 2px,transparent 3px),#fafafa; }
.digital-desktop img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:top; }
.digital-mobile { position:absolute; right:0; bottom:0; width:22%; padding:5px; border:1px solid rgb(var(--rgb-ink) / .28); border-radius:20px; background:#10233f; box-shadow:0 14px 36px rgb(var(--rgb-ink) / .18); overflow:hidden; }
.digital-mobile img { display:block; width:100%; height:auto; border-radius:15px; aspect-ratio:390/844; object-fit:cover; object-position:top; }
.device-motion-ready .digital-desktop,.device-motion-ready .digital-mobile { opacity:0; transform:translateY(16px); transition:opacity 650ms ease,transform 650ms cubic-bezier(.22,.75,.22,1); }
.device-motion-ready .digital-mobile { transition-delay:110ms; }
.is-device-visible .digital-desktop,.is-device-visible .digital-mobile { opacity:1; transform:none; }
@media(max-width:480px) {
  .digital-devices { padding-right:16%; padding-bottom:20px; }
  .digital-mobile { width:28%; padding:3px; border-radius:12px; }
  .digital-mobile img { border-radius:9px; }
  .digital-browser-bar { height:16px; background:#fafafa; }
}
/* A quiet chapter index on wider screens. */
.about-section-rail { position:fixed; right:12px; top:50%; transform:translateY(-50%); z-index:20; display:flex; flex-direction:column; gap:12px; padding:12px 7px; border:1px solid rgb(16 35 63 / .1); border-radius:30px; background:rgb(255 255 255 / .94); box-shadow:0 4px 18px rgb(16 35 63 / .08); opacity:0; visibility:hidden; transition:opacity 240ms,visibility 240ms; }
.about-section-rail.is-rail-visible { opacity:1; visibility:visible; }
.about-section-rail a { position:relative; display:grid; place-items:center; width:20px; height:30px; }
.about-section-rail a::before { content:''; width:5px; height:5px; border-radius:50%; background:#9ba5af; transition:background 240ms,transform 240ms; }
.about-section-rail a[aria-current]::before { background:#987713; transform:scale(1.4); }
.about-section-rail a span { position:absolute; right:32px; white-space:nowrap; padding:7px 12px; border:1px solid var(--color-border); background:#fff; color:var(--color-ink); font-size:11px; border-radius:3px; opacity:0; pointer-events:none; transition:opacity 180ms; }
.about-section-rail a:hover span,.about-section-rail a:focus-visible span { opacity:1; }
.about-section-rail a:focus-visible { outline:2px solid #987713; outline-offset:2px; border-radius:12px; }

@media(prefers-reduced-motion:reduce) {
  .btn,.text-link,.offer-card,.featured-brand-card,.portfolio-video-card,.btn-arrow::after,.text-link::after,.precision-process > *,.about-section-rail,.about-section-rail a::before,.about-section-rail a span { transition:none; }
  .device-motion-ready .digital-desktop,.device-motion-ready .digital-mobile { opacity:1; transform:none; transition:none; }
  .video-thumb .interaction-preview { display:none; }
}
.project-expand-media > .case-study-cover { column-span: all; }

/* Desktop keeps the image in the media column; mobile introduces it first. */
@media (max-width:768px) {
  .featured-brands-section .expand-panel-inner > .case-study-cover { grid-column:1 / -1; width:100%; margin:0; }
  .featured-brands-section .expand-panel-inner > .case-study-cover img { display:block; width:100%; height:auto; min-height:0; object-fit:contain; }
}
.case-study-transition-ghost { position:fixed; z-index:2000; margin:0; padding:0; pointer-events:none; object-fit:cover; transform-origin:top left; will-change:transform; }

/* Show the chapter guide throughout About, including smaller windows. */
#bio-name { scroll-margin-top:110px; }
@media(min-width:901px) {
  .about-section-rail a[aria-current] span { opacity:1; }
}
@media(max-width:900px) {
  .about-section-rail { position:sticky; inset:auto; top:var(--about-rail-top,68px); transform:none; flex-direction:row; justify-content:center; gap:4px; padding:6px 12px; border-width:0 0 1px; border-radius:0; box-shadow:0 3px 12px rgb(16 35 63 / .04); background:rgb(255 255 255 / .97); }
  .about-section-rail a { display:flex; width:auto; height:auto; min-height:40px; padding:0 10px; text-decoration:none; }
  .about-section-rail a::before { display:none; }
  .about-section-rail a span { position:static; padding:0; border:0; background:none; opacity:1; font-size:11px; }
  .about-section-rail a[aria-current] { box-shadow:inset 0 -2px #987713; }
  .about-section-rail a[aria-current] span { color:#73580d; }
  #bio-name,#about-value-title,#about-method-title,#services-title { scroll-margin-top:144px; }
}

/* Keep the original logo legible as the header changes to its light surface. */
.logo-mark { position:relative; }
.logo-mark .logo-primary,.logo-mark .logo-on-light { transition:opacity 240ms ease; }
.logo-mark .logo-on-light { position:absolute; inset:0; opacity:0; }
.site-header.is-scrolled .logo-mark:has(.logo-on-light) .logo-primary { opacity:0; }
.site-header.is-scrolled .logo-mark .logo-on-light { opacity:1; }
@media (prefers-reduced-motion:reduce) {
  .logo-mark .logo-primary,.logo-mark .logo-on-light { transition:none; }
}
/* Editorial evidence: the client's account sits next to the work it describes. */
.expand-copy .case-study-label { margin:26px 0 10px; color:var(--color-muted); font-size:11px; font-weight:600; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; }
.expand-copy > .case-study-label:first-of-type { margin-top:22px; }
.case-evidence { margin:26px 0; padding:22px 24px; border-left:2px solid #b89424; background:rgba(255,255,255,.72); }
.case-evidence .case-study-label { margin:0 0 12px; color:var(--color-ink); }
.case-evidence > p { margin:0 0 20px; }
.case-evidence-quote { margin:0; padding-top:18px; border-top:1px solid var(--color-border); }
.case-evidence-quote blockquote { margin:0; }
.case-evidence-quote blockquote p { margin:0 0 15px; color:var(--color-ink); font-size:clamp(17px,1.25vw,20px); line-height:1.55; }
.case-evidence-quote figcaption { display:flex; flex-direction:column; gap:4px; }
.case-evidence-quote figcaption strong { color:var(--color-ink); font-size:13px; }
.case-evidence-quote figcaption span,.case-evidence-quote figcaption small { color:var(--color-muted); font-size:12px; line-height:1.5; }
.case-evidence-play { border:0; background:transparent; padding:0; text-align:left; cursor:pointer; }
.case-evidence-play > span { font-size:18px; }
.case-evidence-cta { margin-top:22px; }
.case-evidence-cta .btn { white-space:normal; text-align:center; }
@media(max-width:480px) { .case-evidence { padding:18px 16px; } }

/* Contact: choose an engagement, then start a conversation. */
.contact-engagements { margin-top:38px; }
.contact-engagement-list { display:grid; gap:0; }
.contact-engagement-list article { display:flex; align-items:flex-start; gap:18px; padding:20px 0; border-top:1px solid var(--color-border); }
.contact-engagement-index { flex:0 0 26px; color:#a78218; font-size:16px; line-height:1.5; }
.contact-engagement-list h3 { margin:0 0 8px; font-size:18px; line-height:1.35; color:var(--color-ink); font-weight:500; }
.contact-engagement-list p { margin:0; font-size:14px; line-height:1.65; color:var(--color-muted); }
.contact-page .contact-card { margin-top:30px; padding:24px; box-shadow:none; border-radius:4px; gap:16px; }
.contact-page .contact-form { border-radius:4px; }
.contact-engagement-choices { display:grid; gap:9px; }
.contact-engagement-choices legend { width:100%; margin-bottom:8px; font-size:14px; font-weight:600; color:var(--color-ink); }
.contact-form .engagement-choice-hint { margin:0 0 6px; font-size:12px; line-height:1.5; color:var(--color-muted); }
.contact-engagement-choices label { border-radius:4px; min-height:48px; font-weight:500; line-height:1.5; padding:11px 14px; cursor:pointer; }
.contact-engagement-choices input { flex:0 0 auto; }
.contact-engagement-choices label:has(input:checked) { border-color:#b89424; background:#faf7e9; color:var(--color-ink); }
.contact-next { margin:24px 0 0; padding:20px 0; border-top:1px solid var(--color-border); }
.contact-next h2 { margin:0 0 10px; font-size:17px; color:var(--color-ink); }
.contact-next p { max-width:600px; margin:0; font-size:14px; line-height:1.65; color:var(--color-muted); }
.contact-bottom-panel p { max-width:650px; margin:16px 0 0; color:rgba(255,255,255,.78); line-height:1.6; }
@media(max-width:1180px) {
 .contact-left { display:contents; }
 .contact-intro { order:1; }
 .contact-right { order:2; }
 .contact-engagements { order:3; margin-top:0; }
 .contact-page .contact-card { order:4; margin-top:0; max-width:none; }
 .contact-grid { gap:32px; }
}
@media(max-width:768px) {
 .contact-engagement-list h3 { font-size:17px; }
 .contact-engagement-choices label { font-size:12px; }
 .contact-next { margin-top:18px; }
}

.contact-page .contact-card p { padding-left:0; }
.contact-page .contact-card p::before { content:none; }
.contact-bottom-panel > .btn { gap:10px; }
@media(max-width:768px) {
 .contact-page .contact-card p { color:var(--color-white); }
}
/* Help readers choose by situation, then compare the actual scope. */
.offer-fit { margin:0 0 18px; }
.offer-fit .offer-label,.offer-choice .offer-label { margin-bottom:8px; }
.offer-fit .offer-audience { min-height:0; margin:0; }
.offer-choice { margin:0 0 22px; }
.offer-choice > p { margin:0; font-size:14px; line-height:1.65; color:var(--color-text-body); }
.offer-card-featured .offer-choice > p { color:rgb(var(--rgb-white) / .82); }
.offer-planning { margin:28px 0 0; padding:22px 26px; border:1px solid var(--color-border); border-left:2px solid #b89424; background:var(--color-surface-warm); }
.offer-planning h3 { margin:0 0 10px; font-size:17px; line-height:1.4; color:var(--color-ink); }
.offer-planning p { max-width:1100px; margin:0; font-size:14px; line-height:1.65; color:var(--color-muted); }
@supports(grid-template-rows:subgrid) {
 @media(min-width:1101px) {
  .offers-grid { row-gap:0; }
  .offer-card { display:grid; grid-row:span 8; grid-template-rows:subgrid; row-gap:0; }
  .offer-title,.offer-subtitle,.offer-result > p { min-height:0; }
  .offer-result { margin-top:0; }
  .offer-cta { align-self:end; }
 }
}
@media(max-width:480px) { .offer-planning { padding:20px; } }

/* A concise, sourced excerpt and one control for the complete testimonial. */
.testimonial-topic { display:block; margin:0 0 15px; color:#8b6b13; font-size:10px; line-height:1.5; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.testimonial-language { display:block; margin:12px 0 16px; color:var(--color-muted); font-size:11px; line-height:1.5; }
.testimonial-body > .testimonial-topic { margin-top:0; }
.testimonial-body > .testimonial-language { margin:0 0 18px; }
.opinion-body > [data-opinion-excerpt] { display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset; }
.opinion-body > .quote-mark { margin-top:4px; }
.opinion-expanded .testimonial-topic { margin-top:18px; }
.opinion-expanded .testimonial-language { margin-top:0; }

/* Keep the additional engagement link comfortable on smaller desktop widths. */
@media(min-width:1181px) and (max-width:1360px) {
 .header-inner { gap:22px; }
 .site-header .logo { min-width:64px; }
 .desktop-nav { gap:18px; }
}

/* Agreement details form a balanced editorial panel beneath the three offers. */
.offer-planning { max-width:1200px; margin:32px auto 0; padding:28px 32px 30px; border:1px solid var(--color-border); border-top:2px solid #b89424; background:var(--color-surface-warm); }
.offer-planning > h3 { margin:0 0 24px; text-align:center; font-size:20px; font-weight:500; }
.offer-planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.offer-planning-grid > div { padding:0 24px; }
.offer-planning-grid > div:first-child { padding-left:0; }
.offer-planning-grid > div:last-child { padding-right:0; }
.offer-planning-grid > div + div { border-left:1px solid var(--color-border); }
.offer-planning-grid h4 { margin:0 0 9px; color:var(--color-ink); font-size:14px; font-weight:600; line-height:1.4; }
.offer-planning-grid p { font-size:13px; line-height:1.65; }
@media(max-width:760px) {
 .offer-planning { padding:24px 22px; }
 .offer-planning-grid { grid-template-columns:1fr; gap:18px; }
 .offer-planning-grid > div { padding:0; }
 .offer-planning-grid > div + div { padding-top:18px; border-left:0; border-top:1px solid var(--color-border); }
 .offer-planning > h3 { font-size:19px; margin-bottom:22px; }
}

/* Reveal the film: only a gentle, local backdrop beneath the proposition. */
.home-page .hero-bg::before { display:none; }
@media(min-width:901px) {
 .home-page .hero-bg::after { width:70%; right:auto; background:linear-gradient(90deg,rgb(6 16 29 / .48) 0%,rgb(6 16 29 / .28) 48%,transparent 100%); }
 .home-page .hero-brand-copy h1 { text-shadow:0 2px 20px rgb(0 0 0 / .24); }
}
@media(max-width:900px) {
 .home-page .hero-brand-message::before { background:linear-gradient(180deg,transparent,rgb(6 16 29 / .28) 48%,rgb(6 16 29 / .60)); }
}

/* Main chapters share the gold rule already used in the biography. */
.home-page .section-head > h2.h2::after { content:''; display:block; width:76px; height:2px; margin:20px auto 0; background:var(--color-gold); }
#intro-title,#featured-brands-title,#testimonials-title,#process-title { scroll-margin-top:110px; }
@media(max-width:900px) {
 .home-section-rail { width:100%; max-width:100%; gap:0; padding-inline:8px; }
 .home-section-rail a { min-width:0; padding-inline:7px; }
 .home-section-rail a span { font-size:10.5px; }
 .home-page :is(#intro-title,#featured-brands-title,#testimonials-title,#process-title) { scroll-margin-top:144px; }
}

/* A thin moving gold reflection, masked to the perimeter only. */
.gold-perimeter { position:relative; isolation:isolate; }
.gold-perimeter::after { content:''; position:absolute; z-index:5; inset:0; border-radius:inherit; padding:1px; pointer-events:none; background:conic-gradient(from var(--gold-angle,-100deg),transparent 0deg,transparent 265deg,rgb(184 148 36 / .22) 290deg,rgb(250 226 154 / .85) 315deg,rgb(184 148 36 / .42) 332deg,transparent 350deg); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.62; }

/* Individual scale leaves existing reveal and case-study transitions intact. */
:is(.offer-card,.featured-brand-card,.portfolio-video-card,.testimonial-card,.opinion-card) { scale:1; translate:0 0; transition:scale 440ms cubic-bezier(.22,.75,.22,1),translate 440ms cubic-bezier(.22,.75,.22,1),border-color 300ms ease,box-shadow 440ms ease,background-color 300ms ease; }
.process-section .process-step,.about-method-step { scale:1; transition:scale 400ms cubic-bezier(.22,.75,.22,1),box-shadow 400ms ease,background-color 300ms ease,border-color 300ms ease; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 :is(.offer-card,.featured-brand-card,.portfolio-video-card,.testimonial-card,.opinion-card):is(:hover,:focus-within) { z-index:6; scale:1.035; translate:0 -4px; border-color:#b89424; box-shadow:0 22px 50px rgb(16 35 63 / .15); }
 .offer-card-featured:is(:hover,:focus-within) { box-shadow:0 26px 60px rgb(16 35 63 / .24); }
 .process-section .process-step:hover,.about-method-step:hover { z-index:3; scale:1.045; background:var(--color-surface-warm); box-shadow:0 14px 32px rgb(16 35 63 / .09); }
 .btn { transition:scale 300ms ease,translate 300ms ease,background-color 240ms ease,box-shadow 300ms ease; }
 .btn:hover { scale:1.025; translate:0 -1px; }
}
@media(prefers-reduced-motion:reduce) {
 .gold-perimeter::after { display:none; }
 :is(.offer-card,.featured-brand-card,.portfolio-video-card,.testimonial-card,.opinion-card),.process-section .process-step,.about-method-step { scale:1; translate:0 0; transition:none; }
}

/* Older project styles must not override the individual scale transition. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .home-page .featured-brands-section .featured-brand-card,
 .projects-page #pelne-marki .featured-brand-card,
 .projects-page #pelne-marki .featured-brand-card.projects-reveal {
  transition:scale 440ms cubic-bezier(.22,.75,.22,1),translate 440ms cubic-bezier(.22,.75,.22,1),transform 600ms cubic-bezier(.22,.75,.22,1),opacity 600ms ease,filter 600ms ease,border-color 300ms ease,box-shadow 440ms ease;
 }
 .projects-page #pelne-marki .featured-brand-card:is(:hover,:focus-within),
 .projects-page #pelne-marki .featured-brand-card.projects-reveal.is-visible:is(:hover,:focus-within) { transform:translateY(0); }
}
/* Editorial selection: fewer tags, one primary action, legible supporting text. */
.site-icon { display:inline-block; width:24px; height:24px; flex:0 0 auto; vertical-align:middle; }
.category-head h2 > span { display:inline-flex; align-items:center; }
.category-head .site-icon { width:24px; height:24px; }
.contact-page .contact-card p:has(> .site-icon) { padding-left:32px; }
.contact-card p > .site-icon { position:absolute; left:0; top:2px; width:19px; height:19px; color:#947318; }
.brand-tags { gap:7px; }
.brand-tags span { min-height:28px; padding:4px 8px; font-size:12px; line-height:1.45; color:#705b32; }
.offer-label,.offer-status { font-size:11px; line-height:1.5; letter-spacing:.08em; }
.offer-subtitle { font-size:13px; }
.offer-cta { font-size:11px; min-height:44px; }
.testimonial-topic { font-size:11px; letter-spacing:.09em; }
.testimonial-language { font-size:12px; }
.text-link,.show-more,.show-less-mobile,.project-filters a { font-size:12px; }
.testimonial-person span,.opinion-body footer span { line-height:1.5; }

@media(min-width:901px) { .portfolio-cta-panel { grid-template-columns:minmax(0,1fr) auto; } }
@media(max-width:900px) { .portfolio-cta-panel { grid-template-columns:1fr; } }
@media(max-width:768px) {

 

 .brand-tags span { font-size:11px; }
 .offer-status { font-size:10.5px; }
 .contact-card p > .site-icon { color:var(--color-gold); }
}


/* Full-bleed studio portrait: open backdrop for the copy, portrait to the right. */
.projects-hero { min-height:clamp(650px,43vw,810px); padding:140px 0 58px; background:#d9d7d7; color:var(--color-ink); }
.projects-hero::after { display:none; }
.projects-hero-media { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; }
.projects-hero-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:70% top; border-radius:0; }
.projects-hero-content { justify-content:center; }
.projects-hero-copy { max-width:50%; }
.projects-hero-copy .h1 { color:var(--color-ink); font-size:clamp(40px,4.15vw,68px); line-height:1.08; text-shadow:none; }
.projects-hero-copy .lead { max-width:600px; font-size:16px; line-height:1.7; color:#344258; text-shadow:none; }
.projects-hero .hero-filters-desktop { max-width:53%; }
.projects-hero .project-filters { flex-wrap:wrap; overflow:visible; gap:10px; }
.projects-hero .project-filters a { background:transparent; color:var(--color-ink); border-color:rgb(16 35 63 / .3); backdrop-filter:none; }
.projects-hero .project-filters a:is(:hover,.is-active) { color:white; background:var(--color-ink); border-color:var(--color-ink); box-shadow:none; }
.projects-page .nav-link { color:var(--color-ink); }
.projects-page .language-switcher { color:var(--color-ink); --language-indicator:var(--color-gold); }
.projects-page .mobile-toggle span,.projects-page .mobile-toggle::before,.projects-page .mobile-toggle::after { background:var(--color-ink); }
@media(max-width:1000px) {
 .projects-hero { min-height:0; padding:460px 0 40px; }
 .projects-hero-media { inset:68px 0 auto; height:400px; }
 .projects-hero-media img { object-position:50% 13%; }
 .projects-hero::after { content:''; display:block; inset:360px 0 auto; height:110px; z-index:-1; background:linear-gradient(transparent,#d9d7d7); }
 .projects-hero-copy { max-width:100%; }
 .projects-hero-copy .h1 { max-width:760px; font-size:clamp(34px,5vw,48px); }
 .projects-hero-copy .lead { max-width:760px; font-size:15px; }
 .projects-hero .hero-filters-desktop { max-width:100%; }
}
@media(max-width:480px) {
 .projects-hero { padding-top:420px; }
 .projects-hero-media { height:350px; }
 .projects-hero::after { top:320px; height:100px; }
 .projects-hero-copy .h1 { font-size:36px; }
}

/* Shared content rows keep neighbouring cards aligned as copy wraps. */
.offer-planning { width:100%; max-width:none; }
@media(min-width:769px) {
 .featured-brand-grid { row-gap:0; }
 .featured-brand-grid > .featured-brand-card { display:grid; grid-template-rows:subgrid; grid-row:span 6; }
 .featured-brand-card > .brand-card-copy { display:grid; grid-template-rows:subgrid; grid-row:span 3; }
 .featured-brand-card .brand-card-copy > h3,
 .featured-brand-card .brand-card-copy > p { align-self:start; }
 .featured-brand-card .brand-card-copy > a { align-self:end; justify-self:start; }
 .featured-brand-card > .brand-tags { align-content:start; }
 .featured-brand-card > .featured-brand-actions { align-self:end; margin-top:0; }
 .testimonial-grid { row-gap:24px; }
 .testimonials-section .testimonial-grid > .testimonial-card { display:grid; grid-template-rows:subgrid; grid-row:span 6; row-gap:0; }
 .testimonials-section .testimonial-body { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:0; justify-items:center; align-items:start; }
 .testimonials-section .testimonial-person { align-self:start; }
 .testimonials-section .testimonial-body > .expand-trigger { align-self:end; }
}
@media(max-width:1100px) { .offer-planning { max-width:760px; } }

/* A contextual next step after the cases, replaced by the case CTA when expanded. */
.case-grid-cta { margin-top:28px; text-align:center; }
.case-grid-cta .text-link { display:inline-block; max-width:100%; line-height:1.65; white-space:normal; }
.expand-panel[data-expand-panel="featured-brands"]:not([hidden]) + .case-grid-cta { display:none; }
.portfolio-cta-panel .h2 { color:var(--color-white); }
.portfolio-cta-panel .hero-actions { margin:0; }
.case-evidence-cta .btn { white-space:normal; text-align:left; line-height:1.6; }
.featured-brands-section:has([data-expand-panel="featured-brands"]:not([hidden])) .case-grid-cta { display:none; }

/* Native disclosures: the same interaction works with pointer, keyboard and touch. */
.offer-planning { padding:30px 0 0; border:0; background:transparent; }
.offer-planning > h3 { margin-bottom:24px; }
.offer-planning-grid { gap:clamp(18px,2vw,30px); align-items:stretch; }
.planning-card { min-width:0; border:1px solid var(--color-border); border-top:2px solid #b89424; border-radius:5px; background:var(--color-surface-warm); transition:scale 400ms cubic-bezier(.22,.75,.22,1),border-color 300ms ease,box-shadow 400ms ease,background-color 300ms ease; }
.planning-card summary { display:block; padding:26px 28px; cursor:pointer; list-style:none; }
.planning-card summary::-webkit-details-marker { display:none; }
.planning-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.planning-card-number { font-size:12px; letter-spacing:.12em; color:#947318; }
.planning-card-toggle { position:relative; width:25px; height:25px; border:1px solid rgb(148 115 24 / .35); border-radius:50%; }
.planning-card-toggle::before,.planning-card-toggle::after { content:''; position:absolute; top:11px; left:7px; width:9px; height:1px; background:var(--color-ink); transition:transform 300ms ease; }
.planning-card-toggle::after { transform:rotate(90deg); }
.planning-card[open] .planning-card-toggle::after { transform:rotate(0); }
.offer-planning-grid .planning-card h4 { margin:0 0 12px; font-size:17px; font-weight:500; line-height:1.4; }
.planning-card-description { display:block; color:var(--color-muted); font-size:14px; line-height:1.7; }
.planning-card-detail { padding:0 28px 26px; }
.planning-card-detail p { padding-top:18px; border-top:1px solid var(--color-border); }
.planning-card[open] { border-color:#b89424; background:#fff; }
.planning-card summary:focus-visible { outline:2px solid #947318; outline-offset:5px; border-radius:4px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .planning-card:hover { scale:1.025; border-color:#b89424; box-shadow:0 16px 36px rgb(16 35 63 / .09); }
}
@media(max-width:760px) {
 .offer-planning { padding:26px 0 0; }
 .planning-card summary { padding:22px; }
 .planning-card-top { margin-bottom:16px; }
 .planning-card-detail { padding:0 22px 22px; }
}
@media(prefers-reduced-motion:reduce) { .planning-card,.planning-card-toggle::after { transition:none; } }

/* First-screen content must be present in the incoming navigation snapshot. */
.page-reveal.reveal-immediate,.projects-page .projects-reveal.reveal-immediate {
 opacity:1; transform:none; filter:none; --page-reveal-delay:0ms; --projects-reveal-delay:0ms;
}

html[data-navigation-pending] { cursor:progress; }
html[data-navigation-pending] a { cursor:progress; }



/* The previous live viewport is isolated from the incoming page's selectors. */
.page-navigation-snapshot { position:fixed; inset:0; z-index:2147483000; overflow:hidden; pointer-events:none; contain:paint; }

/* Searchable destination pages use the existing navy, gold and warm surfaces. */
.engagements-hero,.case-detail-hero { padding:120px 0 54px; background:var(--color-surface-warm); border-bottom:1px solid var(--color-border); }
.seo-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 34px; color:var(--color-muted); font-size:12px; }
.seo-breadcrumb a { color:var(--color-accent-text); }
.engagements-hero .h1 { max-width:1050px; margin:18px 0 24px; font-size:clamp(36px,4.3vw,66px); line-height:1.1; text-wrap:balance; }
.engagements-hero .lead { max-width:850px; margin-bottom:28px; }
.engagement-proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2vw,30px); }
.engagement-proof-card { display:flex; flex-direction:column; padding:30px; border:1px solid var(--color-border); border-top:2px solid #b89424; border-radius:5px; background:var(--color-surface-warm); transition:scale 440ms cubic-bezier(.22,.75,.22,1),box-shadow 440ms ease,border-color 300ms ease; }
.engagement-proof-card h3 { margin:16px 0 12px; color:var(--color-ink); font-size:24px; line-height:1.3; }
.engagement-proof-card p { margin-bottom:24px; font-size:14px; line-height:1.7; color:var(--color-muted); }
.engagement-proof-card .text-link { margin-top:auto; }
.case-detail-introduction { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); align-items:center; }
.case-detail-introduction .h1 { margin:18px 0 12px; font-size:clamp(40px,4vw,66px); line-height:1.1; }
.case-detail-role { font-size:14px; line-height:1.6; color:var(--color-muted); margin-bottom:24px; }
.case-detail-introduction .lead { font-size:17px; line-height:1.75; }
.case-detail-introduction figure { margin:0; }
.case-detail-introduction img { width:100%; aspect-ratio:4/3; object-fit:contain; }
.case-detail-layout { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(32px,5vw,80px); align-items:start; }
.case-detail-copy > section { margin-bottom:34px; }
.case-detail-copy .h3 { margin:0 0 18px; font-size:27px; }
.case-detail-copy p { font-size:16px; line-height:1.8; }
.case-detail-result { padding:28px; border-left:2px solid #b89424; background:var(--color-surface-warm); }
.case-detail-result .eyebrow { margin-bottom:12px; display:block; }
.case-detail-quote { margin:30px 0; padding:26px 0; border-block:1px solid var(--color-border); }
.case-detail-quote blockquote { margin:0 0 20px; font-size:20px; line-height:1.6; color:var(--color-ink); }
.case-detail-quote figcaption { display:grid; gap:5px; font-size:13px; color:var(--color-muted); }
.case-detail-quote figcaption strong { color:var(--color-ink); }
.case-detail-quote small { font-size:12px; }
.case-detail-transcript { margin:18px 0 34px; }
.case-detail-transcript summary { padding-block:12px; cursor:pointer; font-size:13px; color:var(--color-accent-text); }
.case-detail-transcript p { font-size:14px; }
.case-detail-media > figure { margin:0 0 26px; }
.case-detail-media figcaption { margin-top:10px; color:var(--color-muted); font-size:13px; line-height:1.6; }
.case-detail-gallery { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.case-detail-gallery button { width:100%; padding:0; border:0; background:var(--color-surface-warm); }
.case-detail-gallery img { width:100%; height:100%; aspect-ratio:3/4; object-fit:cover; }
.case-detail-related { background:var(--color-surface-warm); }
.case-detail-related .h2 { margin-bottom:30px; }
.case-detail-related .engagement-proof-grid { grid-template-columns:1fr 1fr; }
.case-detail-offer-link { margin-top:22px; text-align:center; }
.featured-brand-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.featured-brand-actions .case-page-link { margin-top:12px; font-size:11px; line-height:1.5; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .engagement-proof-card:is(:hover,:focus-visible) { scale:1.025; border-color:#b89424; box-shadow:0 16px 40px rgb(16 35 63 / .1); }
}
@media(max-width:1000px) {
 .case-detail-introduction { gap:28px; }
 .case-detail-introduction .lead { font-size:15px; }
 .engagement-proof-grid { grid-template-columns:1fr; }
}
@media(max-width:768px) {
 .engagements-hero,.case-detail-hero { padding:100px 0 36px; }
 .seo-breadcrumb { margin-bottom:26px; }
 .case-detail-introduction,.case-detail-layout { grid-template-columns:1fr; }
 .case-detail-introduction .h1 { font-size:40px; }
 .case-detail-introduction .lead { font-size:16px; }
 .case-detail-introduction figure { grid-row:1; }
 .case-detail-related .engagement-proof-grid { grid-template-columns:1fr; }
 .engagement-proof-card { padding:24px; }
 .case-detail-gallery { gap:10px; }
 .case-detail-result { padding:22px; }
 .case-detail-copy .h3 { font-size:24px; }
 .case-detail-quote blockquote { font-size:18px; }
 .case-study-page .portfolio-cta-panel .btn { white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { .engagement-proof-card { transition:none; } }
.engagements-hero .eyebrow,.case-detail-hero .eyebrow,.engagement-proof-card .eyebrow { color:#947318; }

/* One full comparison page, with shorter entry points on Home and About. */
.offer-subtitle { font-size:13px; line-height:1.6; }
.offers-summary .offer-card { padding:clamp(24px,2.3vw,34px); }
.offers-summary .offer-topline { margin-bottom:16px; }
.offers-summary .offer-title { font-size:clamp(24px,2vw,30px); line-height:1.16; }
.offers-summary .offer-subtitle { margin:12px 0 24px; }
.offers-summary .offer-fit { margin-bottom:22px; }
.offers-summary .offer-audience { min-height:0; }
.offers-summary .offer-result > p { min-height:0; }
.offers-summary .offer-cta { margin-top:26px; }
.offer-summary-description { margin:0; font-size:14px; line-height:1.75; color:var(--color-text-body); }
.offer-card-featured .offer-summary-description { color:rgb(var(--rgb-white) / .86); }
.offers-summary-actions { margin-top:30px; text-align:center; }
.offers-summary-actions a { display:inline-block; max-width:100%; font-size:12px; line-height:1.65; }
[id^="offer-title-"] { scroll-margin-top:130px; }
.contact-engagement-product { display:block; margin:5px 0 10px; font-size:12px; line-height:1.6; color:var(--color-muted); }
@supports(grid-template-rows:subgrid) {
 @media(min-width:1101px) {
  .offers-summary-home .offer-card { grid-row:span 6; }
  .offers-summary-about .offer-card { grid-row:span 5; }
 }
}
@media(max-width:1100px) {
 .offers-summary .offers-grid { gap:20px; }
 .offers-summary .offer-title { min-height:0; }
 .offers-summary .offer-card { padding:28px; }
}
@media(max-width:480px) {
 .offers-summary .offer-card { padding:24px; }
 .offers-summary .offer-title { font-size:27px; }
 .offers-summary-about .offer-topline { min-height:36px; margin-bottom:12px; }
 .offers-summary-about .offer-subtitle { margin-bottom:18px; }
}

/* Align quotes, disclosure controls and identities within each testimonial row. */
@supports(grid-template-rows:subgrid) {
 @media(min-width:769px) {
  .testimonials-page-grid > .opinion-card { display:grid; grid-template-rows:subgrid; grid-row:span 9; row-gap:0; }
  .testimonials-page-grid .opinion-body { display:grid; grid-template-rows:subgrid; grid-row:span 8; row-gap:0; }
  .testimonials-page-grid .opinion-body > :is(.testimonial-topic,.quote-mark,[data-opinion-excerpt],.testimonial-language,.opinion-transcript) { align-self:start; }
  .testimonials-page-grid .opinion-body footer { display:grid; grid-template-columns:54px minmax(0,1fr); grid-template-rows:subgrid; grid-row:span 3; column-gap:14px; row-gap:0; align-items:start; }
  .testimonials-page-grid .opinion-body footer > img { grid-column:1; grid-row:1 / span 3; }
  .testimonials-page-grid .opinion-body footer > p { display:grid; grid-column:2; grid-row:1 / span 3; grid-template-rows:subgrid; row-gap:4px; margin:0; }
  .testimonials-page-grid .opinion-body footer :is(strong,span,a) { align-self:start; }
 }
}
.opinion-transcript summary { font-size:12px; line-height:1.55; }

/* Preserve bright gold as decoration; use a deeper gold for text on light surfaces. */
:root { --color-gold-text:#81651B; }
.eyebrow { color:var(--color-gold-text); }
.engagements-hero .eyebrow,.case-detail-hero .eyebrow,.engagement-proof-card .eyebrow { color:var(--color-gold-text); }
:is(.hero-brand-message,.about-hero-message,.bio-dark,.section-dark,.cta-panel,.portfolio-cta-panel,.opinions-cta-panel,.contact-bottom-panel) .eyebrow { color:var(--color-gold); }
.site-header.is-scrolled .nav-link:is(:hover,.is-active),
:is(.projects-page,.engagements-page,.case-study-page,.contact-page-body,.testimonials-page,.privacy-page) .site-header .nav-link:is(:hover,.is-active),
.mobile-panel a:is(:hover,.is-active) { color:var(--color-gold-text); }
.contact-card span { font-size:11px; }
@media(min-width:769px) { .contact-card span { color:var(--color-gold-text); } }
.offer-label,.offer-status { font-size:12px; letter-spacing:.07em; }
.offer-card-featured .offer-label { color:rgb(var(--rgb-white) / .74); }
@media(max-width:480px) { .offer-status { font-size:11px; } }

/* Engagements portrait: a quiet photographic setting with clear space for copy. */
.engagements-hero { position:relative; isolation:isolate; overflow:hidden; min-height:720px; padding:120px 0 64px; display:flex; align-items:center; background:#e9dfd1; }
.engagements-hero-photo { position:absolute; inset:0; z-index:-2; }
.engagements-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:right center; }
.engagements-hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(244,237,226,.94) 0%,rgba(244,237,226,.88) 32%,rgba(244,237,226,.55) 46%,rgba(244,237,226,0) 62%); }
.engagements-hero-content { position:relative; }
.engagements-hero .h1 { max-width:48%; font-size:clamp(40px,3.65vw,60px); margin:18px 0 24px; }
.engagements-hero .lead { max-width:45%; color:var(--color-ink); font-size:17px; line-height:1.7; }
.engagements-hero .seo-breadcrumb { color:var(--color-ink); }
.engagements-hero .eyebrow { color:#715615; }
@media (min-width:1800px) { .engagements-hero { min-height:800px; } .engagements-hero .h1 { max-width:760px; } .engagements-hero .lead { max-width:680px; } }
@media (max-width:1000px) {
 .engagements-hero { display:block; min-height:0; padding:70px 0 40px; background:var(--color-surface-warm); }
 .engagements-hero-photo { position:relative; display:block; z-index:0; height:clamp(280px,49vw,440px); margin-bottom:32px; overflow:hidden; }
 .engagements-hero-photo img { object-position:56% 36%; }
 .engagements-hero::before { display:none; }
 .engagements-hero .h1 { max-width:800px; font-size:clamp(34px,5.5vw,48px); }
 .engagements-hero .lead { max-width:760px; font-size:16px; }
 .engagements-hero .seo-breadcrumb { margin-bottom:24px; }
 .engagements-hero .btn { white-space:normal; text-align:center; }
}
@media(max-width:480px) {
 .engagements-page .portfolio-cta-panel > div { min-width:0; }
 .engagements-page .portfolio-cta-panel .btn { white-space:normal; max-width:100%; text-align:center; }
}

/* Home offers answer the key buying questions without leaving the page. */
.offers-summary-home .offer-result { margin-top:0; padding-bottom:22px; }
.offers-summary-home .offer-choice { margin:0; padding-top:20px; border-top:1px solid var(--color-border); }
.offers-summary-home .offer-card-featured .offer-choice { border-color:rgb(var(--rgb-white) / .18); }
.offers-summary-home .offer-label { margin-bottom:10px; }
.offers-summary-home .offer-cta { font-size:11px; }
@supports(grid-template-rows:subgrid) {
 @media(min-width:1101px) { .offers-summary-home .offer-card { grid-row:span 8; } }
}

/* Projects leads with brand transformation stories; production formats follow. */
.projects-story-page .projects-hero-copy .eyebrow { display:block; margin-bottom:20px; color:var(--color-gold-text); }
.projects-story-page .projects-hero-copy .h1 { text-wrap:balance; }
.projects-story-page .projects-hero-copy .hero-actions { margin-top:28px; }
.brand-stories { padding-bottom:0; }
.brand-stories-heading { max-width:980px; margin:0 auto clamp(40px,6vw,88px); }
.brand-stories-heading .section-lead,.selected-work-intro .section-lead { max-width:800px; margin:20px auto 0; line-height:1.75; color:var(--color-muted); }
.brand-stories-heading .eyebrow,.selected-work-intro .eyebrow { display:block; margin-bottom:18px; }
.brand-stories-list { display:grid; gap:clamp(48px,7vw,108px); }
.brand-story { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:36px clamp(32px,5vw,80px); align-items:center; padding-bottom:clamp(36px,5vw,72px); border-bottom:1px solid var(--color-border); scroll-margin-top:120px; }
.brand-story-copy { min-width:0; }
.brand-story-topline { display:flex; align-items:center; gap:18px; margin-bottom:20px; }
.brand-story-topline .eyebrow { font-size:12px; line-height:1.6; }
.brand-story-number { color:var(--color-gold-text); font-family:var(--font-heading); font-size:28px; line-height:1; }
.brand-story h3 { margin:0 0 26px; color:var(--color-ink); font-family:var(--font-heading); font-size:clamp(29px,2.65vw,44px); font-weight:500; letter-spacing:-.035em; line-height:1.15; text-wrap:balance; }
.brand-story-facts { display:grid; gap:19px; margin:0 0 28px; }
.brand-story-fact dt { margin-bottom:7px; color:var(--color-gold-text); font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.brand-story-fact dd { margin:0; color:var(--color-text-body); font-size:15px; line-height:1.75; }
.brand-story-outcome { padding-left:18px; border-left:2px solid #b89424; }
.brand-story-outcome dd { color:var(--color-ink); }
.brand-story .btn { white-space:normal; text-align:left; }
.brand-story-visual { min-width:0; margin:0; align-self:center; }
.brand-story-image-link { position:relative; display:block; overflow:hidden; background:var(--color-surface-warm); border:1px solid var(--color-border); border-radius:5px; box-shadow:0 18px 44px rgb(16 35 63 / .06); transition:scale 440ms cubic-bezier(.22,.75,.22,1),box-shadow 440ms ease,border-color 350ms ease; }
.brand-story-image-link img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; }
.brand-story-image-action { position:absolute; right:18px; bottom:18px; display:grid; place-items:center; width:40px; height:40px; background:var(--color-ink); color:white; border-radius:50%; font-size:21px; }
.brand-story-visual > figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; margin-top:14px; font-size:11px; line-height:1.6; color:var(--color-muted); }
.brand-story-visual > figcaption span:first-child { color:var(--color-gold-text); }
.brand-story-reverse .brand-story-copy { grid-column:2; grid-row:1; }
.brand-story-reverse .brand-story-visual { grid-column:1; grid-row:1; }
.brand-story-proof { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:30px; margin:0; padding:30px 34px; background:var(--color-surface-warm); border-left:2px solid #b89424; }
.brand-story-proof .eyebrow { display:block; margin-bottom:12px; font-size:11px; }
.brand-story-proof blockquote { max-width:1050px; margin:0 0 16px; color:var(--color-ink); font-size:clamp(17px,1.4vw,22px); line-height:1.65; }
.brand-story-proof figcaption { display:flex; flex-wrap:wrap; gap:5px 12px; color:var(--color-muted); font-size:12px; line-height:1.6; }
.brand-story-proof figcaption strong { color:var(--color-ink); font-weight:500; }
.brand-story-proof figcaption small { flex-basis:100%; font-size:11px; }
.brand-story-watch { min-height:44px; text-align:left; white-space:normal; }
.selected-work-intro { padding-bottom:0; scroll-margin-top:100px; }
.selected-work-intro .section-head { margin-bottom:30px; }
.projects-story-page .selected-work-intro .project-filters { justify-content:center; flex-wrap:wrap; gap:10px; margin:0; overflow:visible; }
.projects-story-page .selected-work-intro .project-filters a { background:transparent; color:var(--color-ink); border:1px solid var(--color-border); backdrop-filter:none; font-size:12px; }
.projects-story-page .selected-work-intro .project-filters a:is(:hover,.is-active) { background:var(--color-ink); color:white; border-color:var(--color-ink); }
.projects-story-page .projects-list { padding-top:18px; }
.project-purpose { display:block; margin:14px 16px 6px; font-size:11px; line-height:1.5; text-transform:uppercase; letter-spacing:.08em; color:var(--color-gold-text); }
.projects-story-page .category-head h2 { font-size:clamp(23px,2.2vw,32px); }
.projects-story-page .portfolio-video-card p { font-size:14px; line-height:1.75; }
.projects-story-page .portfolio-cta-panel > div,.case-story-page .portfolio-cta-panel > div { min-width:0; }
.projects-story-page .portfolio-cta-panel .btn,.case-story-page .portfolio-cta-panel .btn { white-space:normal; text-align:center; }

/* Full case studies separate the business story, the client's evidence and the work. */
.case-story-page .case-detail-hero { padding-bottom:64px; }
.case-story-page .case-detail-introduction { align-items:center; gap:clamp(32px,5vw,80px); }
.case-story-page .case-detail-introduction .h1 { font-size:clamp(36px,3.5vw,60px); text-wrap:balance; }
.case-story-page .case-detail-introduction .lead { font-size:16px; line-height:1.8; }
.case-story-headline { margin:24px 0 18px; font-family:var(--font-heading); font-size:clamp(25px,2.4vw,36px); line-height:1.25; color:var(--color-ink); text-wrap:balance; }
.case-story-page .case-detail-introduction figure { border:1px solid var(--color-border); background:white; border-radius:5px; overflow:hidden; }
.case-story-context-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,100px); }
.case-story-context-grid > div { min-width:0; }
.case-story-context-grid .eyebrow { display:block; margin-bottom:20px; }
.case-story-context-grid .h3 { margin:0 0 22px; font-size:clamp(24px,2.3vw,34px); line-height:1.3; color:var(--color-ink); text-wrap:balance; }
.case-story-context-grid p { font-size:16px; line-height:1.85; color:var(--color-text-body); }
.case-story-outcomes { background:var(--color-surface-warm); border-block:1px solid var(--color-border); scroll-margin-top:90px; }
.case-story-outcome-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(32px,6vw,100px); align-items:start; }
.case-story-page .case-detail-result { padding:0; background:none; border:0; }
.case-story-page .case-detail-result .h2 { margin:20px 0 26px; font-size:clamp(30px,3vw,46px); line-height:1.2; text-wrap:balance; }
.case-story-page .case-detail-result p { font-size:17px; line-height:1.85; }
.case-story-page .case-detail-quote { margin:0 0 26px; padding:0 0 0 24px; border:0; border-left:2px solid #b89424; }
.case-story-page .case-detail-quote .eyebrow { display:block; margin-bottom:16px; }
.case-story-page .case-detail-quote blockquote { font-size:clamp(19px,1.65vw,25px); line-height:1.65; }
.case-story-page .case-detail-testimonial { max-width:620px; }
.case-story-page .case-detail-testimonial > img { aspect-ratio:16/9; width:100%; object-fit:cover; }
.case-story-page .case-detail-transcript { margin-bottom:0; }
.case-story-work .section-head { max-width:1000px; margin-inline:auto; }
.case-story-work .section-lead { margin-top:20px; line-height:1.8; color:var(--color-muted); }
.case-story-site-link { text-align:center; margin:26px 0 50px; }
.case-story-media-heading { margin:34px 0 22px; font-size:22px; font-weight:500; color:var(--color-ink); }
.case-story-films { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.case-story-films > figure { margin:0; min-width:0; }
.case-story-films > figure:only-child { grid-column:1/-1; max-width:900px; width:100%; margin-inline:auto; }
.case-story-films img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.case-story-films figcaption { margin-top:12px; color:var(--color-muted); font-size:13px; line-height:1.6; }
.case-story-page .case-detail-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.case-story-page .case-detail-gallery .expand-image { width:100%; align-self:stretch; border-radius:4px; }
.case-story-page .case-detail-gallery img { display:block; width:100%; height:100%; aspect-ratio:4/5; object-fit:cover; }
.case-story-page .case-detail-related { padding-top:0; }
.case-story-page .case-detail-related .h2 { margin-bottom:30px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .brand-story-image-link:hover { scale:1.025; border-color:#b89424; box-shadow:0 24px 50px rgb(16 35 63 / .12); }
}
@media(max-width:1000px) {
 .brand-story { grid-template-columns:1fr; gap:28px; }
 .brand-story-visual,.brand-story-reverse .brand-story-visual { grid-column:1; grid-row:1; width:100%; }
 .brand-story-copy,.brand-story-reverse .brand-story-copy { grid-column:1; grid-row:2; }
 .brand-story-visual > a { max-width:760px; margin-inline:auto; }
 .brand-story-visual > figcaption { max-width:760px; margin-inline:auto; padding-top:12px; margin-top:0; }
 .brand-story-proof { grid-row:3; }
 .brand-story h3 { max-width:800px; font-size:36px; }
 .brand-story-proof { grid-template-columns:1fr; gap:14px; }
 .brand-story-watch { justify-self:start; }
 .case-story-films { grid-template-columns:1fr 1fr; }
 .case-story-page .case-detail-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:768px) {
 .brand-stories-list { gap:44px; }
 .brand-story { padding-bottom:36px; }
 .brand-story-topline { gap:12px; margin-bottom:18px; }
 .brand-story-topline .eyebrow { font-size:11px; }
 .brand-story h3 { font-size:31px; }
 .brand-story-fact dd { font-size:15px; }
 .brand-story-proof { padding:22px; }
 .brand-story-proof blockquote { font-size:18px; }
 .brand-story-proof figcaption { display:grid; gap:4px; }
 .brand-story-visual > figcaption { font-size:11px; }
 .case-story-context-grid,.case-story-outcome-grid { grid-template-columns:1fr; gap:34px; }
 .case-story-page .case-detail-hero { padding-bottom:36px; }
 .case-story-page .case-detail-introduction figure { grid-row:1; }
 .case-story-page .case-detail-introduction .h1 { font-size:38px; }
 .case-story-page .case-detail-result p,.case-story-context-grid p { font-size:16px; }
 .case-story-films { grid-template-columns:1fr; gap:28px; }
 .case-story-page .case-detail-gallery { gap:12px; }
 .case-story-site-link .btn { white-space:normal; }
 .projects-story-page .portfolio-cta-panel .hero-actions { min-width:0; }
}
@media(max-width:480px) {
 .projects-story-page .projects-hero-copy .btn { font-size:11px; }
 .projects-story-page .selected-work-intro .project-filters a { font-size:11px; }
 .brand-story-image-action { right:12px; bottom:12px; width:34px; height:34px; }
 .brand-story .btn { width:100%; text-align:center; }
 .brand-story-proof { padding:20px; }
 .brand-story h3 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { .brand-story-image-link { transition:none; } }

.brand-stories-heading.section-head.centered { max-width:980px; margin-inline:auto; }
.brand-stories-heading .h2,.selected-work-intro .h2,.case-story-work .h2 { max-width:940px; margin-inline:auto; text-wrap:balance; }
:is(.brand-stories-heading,.selected-work-intro .section-head,.case-story-work .section-head) > .h2::after { content:""; display:block; width:76px; height:2px; margin:22px auto 0; background:var(--color-gold); }
.selected-event-purpose { margin:10px 0 0; color:var(--color-muted); font-size:14px; line-height:1.75; }

/* A small explicit pause control; leave the portrait and proposition unobstructed. */
.hero-playback-toggle { position:absolute; right:var(--page-gutter); bottom:24px; z-index:6; display:grid; place-items:center; width:44px; height:44px; padding:0; color:#fff; background:rgb(16 35 63 / .72); border:1px solid rgb(255 255 255 / .55); border-radius:50%; cursor:pointer; transition:background 240ms ease,border-color 240ms ease; }
.hero-playback-toggle[hidden] { display:none!important; }
.hero-playback-toggle:hover { background:var(--color-ink); border-color:var(--color-gold); }
.hero-playback-toggle:focus-visible { outline:2px solid var(--color-gold); outline-offset:4px; }
.hero-playback-icon { position:relative; width:14px; height:14px; }
.hero-playback-icon::before,.hero-playback-icon::after { content:""; position:absolute; top:0; width:3px; height:14px; background:currentColor; }
.hero-playback-icon::before { left:2px; }
.hero-playback-icon::after { right:2px; }
.hero-playback-toggle[data-paused="true"] .hero-playback-icon::before { left:3px; width:0; height:0; background:transparent; border-left:10px solid currentColor; border-block:7px solid transparent; }
.hero-playback-toggle[data-paused="true"] .hero-playback-icon::after { display:none; }
@media(prefers-reduced-motion:reduce) {
 .home-page .hero-bg video { visibility:hidden!important; opacity:0!important; }
 .home-page .hero-bg .hero-poster { opacity:1!important; transition:none; }
 .hero-playback-toggle { display:none!important; }
}

.home-hero.hero-intro-skipped .hero-typo-video { display:none!important; }
.home-hero.hero-intro-skipped .about-hero-message { animation:none; opacity:1; transform:none; }

/* The initial HTML waits for the name intro; static motion preferences never wait. */
@media (prefers-reduced-motion: reduce) {
 .home-page .hero-message-pending .hero-brand-message { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
 .home-page .hero-message-pending .hero-bg::after { opacity:1; }
}

/* Let the closing film title take over; keep the message retired after looping. */
.home-page .home-hero.hero-message-retired .hero-brand-message {
 opacity:0; visibility:hidden; pointer-events:none; transform:none;
 transition:opacity 1400ms cubic-bezier(.4,0,.2,1),visibility 0s 1400ms;
}
.home-page .home-hero.hero-message-retired .hero-bg::after {
 opacity:0; transition:opacity 1400ms cubic-bezier(.4,0,.2,1);
}
@media (prefers-reduced-motion: reduce) {
 .home-page .home-hero.hero-message-retired .hero-brand-message,
 .home-page .home-hero.hero-message-retired .hero-bg::after { transition:none; }
}
