/* ============================================================
   Creative page styles (mobile-first, desktop at 768px+)
   ============================================================ */

/* active nav underline (prototype shows Creative underlined) */
.fs-nav-links a.is-active{border-bottom:1.5px solid var(--ink);padding-bottom:2px}

/* ---------- masthead ---------- */
.crv-hero{padding:36px 20px 34px;border-bottom:1px solid var(--line)}
.crv-hero .fs-label{display:block;margin-bottom:22px}
.crv-hero h1{font:800 41px/.94 var(--arch);letter-spacing:-.03em;margin:0 0 26px;text-transform:uppercase;font-size:min(41px,11.4vw)}
.crv-hero h1 > span{display:block;overflow:hidden;white-space:nowrap}
.crv-hero-body p{font:400 17px/1.5 var(--arch);color:var(--body);margin:0 0 24px}
.crv-hero-body p b{font-weight:600;color:var(--ink)}
.crv-hero-ctas{display:flex;flex-direction:column;gap:10px}
@media (min-width:768px){
  .crv-hero{padding:68px 40px}
  .crv-hero .fs-label{margin-bottom:26px}
  .crv-hero h1{font-size:58px;line-height:.98;margin-bottom:36px}
  .crv-hero-body{max-width:640px}
  .crv-hero-body p{font-size:21px;margin-bottom:30px;max-width:600px}
  .crv-hero-ctas{flex-direction:row;gap:12px;flex-wrap:wrap}
  .crv-hero-ctas .btn{white-space:nowrap}
}

/* ---------- proof strip ---------- */
.crv-proof{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.crv-proof > div{padding:22px 18px}
.crv-proof > div:nth-child(odd){border-right:1px solid var(--line)}
.crv-proof > div:nth-child(-n+2){border-bottom:1px solid var(--line)}
@media (min-width:768px){
  .crv-proof{grid-template-columns:repeat(4,1fr)}
  .crv-proof > div{padding:30px 22px;border-right:none !important;border-bottom:none !important}
  .crv-proof > div:nth-child(-n+3){border-right:1px solid var(--line) !important}
}

/* ---------- client logo marquee ---------- */
.crv-logos{border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden}
.crv-logos-label{font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 20px 16px}
.crv-logos-window{overflow:hidden}
.crv-logorow{align-items:center;gap:40px;padding-left:20px;animation-duration:30s}
.crv-logorow img{flex:none;height:24px;width:auto;object-fit:contain;opacity:.8;filter:brightness(0)}
@media (min-width:768px){
  .crv-logos{display:flex;align-items:center;border-bottom:none;border-top:1px solid var(--line);padding:34px 0}
  .crv-logos-label{flex:none;font-size:11px;padding:0 40px}
  .crv-logos-window{flex:1;position:relative}
  .crv-logorow{gap:56px;padding-left:0;animation-duration:34s}
  .crv-logorow img{height:30px}
}

/* ---------- section headers ---------- */
.crv-sec-head .fs-label{display:block;margin-bottom:18px}
.crv-sec-note{font:500 12px/1.4 var(--mono);color:var(--faint)}
@media (min-width:768px){
  .crv-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:26px;flex-wrap:wrap}
  .crv-sec-head .fs-label{margin-bottom:0}
}

/* ---------- explainer video ---------- */
.crv-video-sec{padding:44px 20px;border-bottom:1px solid var(--line)}
.crv-vidwrap{position:relative;border:1px solid var(--line);overflow:hidden;background:var(--dark-bg);cursor:pointer}
.crv-vid{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:var(--dark-bg);filter:grayscale(1) contrast(1.04) brightness(1.02)}
.crv-vidplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(18,17,14,.28);transition:opacity .3s ease}
.crv-playbtn{width:60px;height:60px;border-radius:50%;background:rgba(242,239,232,.94);color:var(--ink);display:flex;align-items:center;justify-content:center;padding-left:2px;box-shadow:0 6px 30px -8px rgba(0,0,0,.5);animation:fs-breathe 2.8s ease-in-out infinite}
.crv-playbtn svg{width:20px;height:20px;display:block}
@media (min-width:768px){
  .crv-video-sec{border-bottom:none;border-top:1px solid var(--line);padding:56px 40px 60px}
  .crv-vidwrap:not(.is-playing) .crv-vid{filter:grayscale(1) contrast(1.04) brightness(1.02) blur(.35px)}
  .crv-playbtn{width:78px;height:78px;padding-left:3px}
  .crv-playbtn svg{width:26px;height:26px}
}
@media (prefers-reduced-motion:reduce){ .crv-playbtn{animation:none} }

/* ---------- featured talent rail ---------- */
.crv-talent{border-bottom:1px solid var(--line);padding:44px 0 40px}
.crv-talent-intro{margin:0 20px 24px}
.crv-talent-intro .fs-label{display:block;margin-bottom:16px}
.crv-talent-intro h3{font:800 30px/1.04 var(--arch);letter-spacing:-.02em;text-transform:uppercase;margin:0 0 10px;text-wrap:balance}
.crv-talent-intro p{font:400 15px/1.55 var(--arch);color:var(--body-2);margin:0}
.crv-rail-wrap{position:relative}
.crv-rail{display:flex;gap:12px;overflow-x:auto;padding:2px 20px 8px;cursor:grab;scrollbar-width:none}
.crv-rail::-webkit-scrollbar{display:none}
.crv-rail.fs-drag{cursor:grabbing}
.crv-rail.fs-drag *{pointer-events:none}
.crv-tcard{flex:0 0 160px;position:relative;aspect-ratio:3/4;border:1px solid var(--line);overflow:hidden;background:var(--tint-2)}
.crv-tcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .35s;display:block}
.crv-tscrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(18,17,14,.9))}
.crv-tmeta{position:absolute;left:12px;right:12px;bottom:11px;color:var(--dark-text)}
.crv-tname{font:700 14px/1.1 var(--arch)}
.crv-trole{font:500 9px/1.3 var(--mono);color:#cfc9bb;margin-top:4px;text-transform:uppercase;letter-spacing:.04em}
.crv-tbrands{font:400 10.5px/1.35 var(--arch);color:#9a9484;margin-top:3px}
.crv-rail-fade{position:absolute;top:0;right:0;bottom:8px;width:36px;background:linear-gradient(90deg,rgba(242,239,232,0),#f2efe8);pointer-events:none}
@media (min-width:768px){
  .crv-talent{border-bottom:none;border-top:1px solid var(--line);padding:74px 0 62px}
  .crv-talent-intro{margin:0 40px 28px;max-width:820px}
  .crv-talent-intro h3{font-size:34px;margin-bottom:12px}
  .crv-talent-intro p{max-width:620px}
  .crv-rail{gap:14px;padding:2px 40px 8px;scrollbar-width:thin;scrollbar-color:var(--faint-2) transparent}
  .crv-rail::-webkit-scrollbar{display:block;height:8px}
  .crv-rail::-webkit-scrollbar-track{background:transparent}
  .crv-rail::-webkit-scrollbar-thumb{background:var(--faint-2);border-radius:8px}
  .crv-rail::-webkit-scrollbar-thumb:hover{background:#b0aa9a}
  .crv-tcard{flex-basis:190px;transition:transform .3s var(--ease)}
  .crv-tcard:hover{transform:translateY(-4px)}
  .crv-tcard:hover img{filter:grayscale(0)}
  .crv-tmeta{left:14px;right:14px;bottom:13px}
  .crv-tname{font-size:15px}
  .crv-trole{font-size:9.5px;margin-top:5px}
  .crv-tbrands{font-size:11px}
  .crv-rail-fade{width:56px}
}

/* ---------- talents in demand ---------- */
.crv-demand{border-bottom:1px solid var(--line);padding:44px 20px}
.crv-demand-head .fs-label{display:block;margin-bottom:6px}
.crv-demand-head .crv-sec-note{margin-bottom:22px}
@media (min-width:768px){
  .crv-demand{border-bottom:none;border-top:1px solid var(--line);padding:56px 40px 40px}
  .crv-demand-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:30px;flex-wrap:wrap}
  .crv-demand-head .fs-label{margin-bottom:0}
  .crv-demand-head .crv-sec-note{margin-bottom:0}
}

/* leadership card (dark) */
.crv-lead{border:1px solid var(--line);background:var(--dark-bg);color:var(--dark-text);padding:24px 20px;margin-bottom:12px}
.crv-lead-num{font:600 11px/1 var(--mono);color:var(--muted);letter-spacing:.1em;margin-bottom:12px}
.crv-lead h4{font:700 24px/1 var(--arch);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 8px}
.crv-lead-desc{font:400 13px/1.45 var(--arch);color:var(--dark-2);margin-bottom:16px}
.crv-chips{display:flex;flex-wrap:wrap;gap:6px}
.crv-lchip{font:500 11px/1 var(--mono);color:var(--dark-link);border:1px solid #4a4740;padding:6px 9px;white-space:nowrap}
@media (min-width:768px){
  .crv-lead{padding:30px 26px;display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center}
  .crv-lead-num{margin-bottom:14px}
  .crv-lead h4{font-size:30px}
  .crv-lead-desc{max-width:360px;margin-bottom:0}
  .crv-lchip{transition:border-color .25s ease,color .25s ease}
  .crv-lchip:hover{border-color:var(--muted);color:#fff}
}

/* explore toggle control */
.crv-explore{color:var(--dark-text);border:1px solid var(--line);border-top:none;background:var(--dark-bg);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}
.crv-explore-title{font:700 15px/1.2 var(--arch);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:5px}
.crv-explore-note{font:500 10px/1.5 var(--mono);color:var(--dark-2)}
.crv-explore-label{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
@media (min-width:768px){
  .crv-explore{padding:20px 24px;gap:18px;flex-wrap:wrap;transition:background .18s ease}
  .crv-explore:hover{background:#2a2822}
  .crv-explore-title{font-size:16px;line-height:1;margin-bottom:0}
  .crv-explore-note{font-size:11px}
}

/* six core discipline cards: hidden on mobile until expanded, always visible on desktop */
.crv-disc{display:none;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:none}
.crv-disc.is-open{display:grid}
.crv-disc-card{background:var(--paper);padding:22px 20px}
.crv-num{font:600 11px/1 var(--mono);color:var(--faint);letter-spacing:.1em}
.crv-disc-card .crv-num{display:block;margin-bottom:10px}
.crv-disc-card h4{font:700 20px/1 var(--arch);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 5px}
.crv-disc-desc{font:400 12px/1.35 var(--arch);color:var(--muted);margin:0 0 14px}
.crv-chip{font:500 11px/1 var(--mono);color:var(--body-2);border:1px solid var(--line);padding:6px 9px;white-space:nowrap}
@media (min-width:768px){
  .crv-disc{display:grid;grid-template-columns:repeat(3,1fr)}
  .crv-disc-card{padding:24px 22px;display:flex;flex-direction:column;transition:background .35s ease,transform .35s var(--ease)}
  .crv-disc-card:hover{background:#efe9dc;transform:translateY(-3px)}
  .crv-disc-card .crv-num{margin-bottom:12px;transition:color .3s ease}
  .crv-disc-card:hover .crv-num{color:var(--ink)}
  .crv-disc-card h4{font-size:21px;margin-bottom:6px}
  .crv-disc-desc{margin-bottom:16px;min-height:32px}
  .crv-chip{transition:border-color .25s ease,color .25s ease,background .25s ease}
  .crv-chip:hover{border-color:var(--ink);color:var(--ink);background:#e6e0d2}
}

/* rows 08–19: hidden until expanded */
.crv-more{display:none;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:none}
.crv-more.is-open{display:grid}
.crv-more-row{background:var(--paper);padding:16px 20px;display:flex;gap:14px;align-items:baseline}
.crv-more-row .crv-num{flex:none}
.crv-more-t{font:700 15px/1.05 var(--arch);text-transform:uppercase;letter-spacing:-.01em}
.crv-more-d{font:400 12px/1.35 var(--arch);color:var(--muted);margin-top:3px}
@media (min-width:768px){
  .crv-more{grid-template-columns:repeat(3,1fr)}
  .crv-more-row{padding:18px 22px;flex-direction:column;align-items:stretch;gap:5px;transition:background .25s ease}
  .crv-more-row:hover{background:#efe9dc}
  .crv-more-t{font-size:16px}
  .crv-more-d{margin-top:5px}
}

/* "not sure which discipline" row */
.crv-notsure{border:1px solid var(--line);border-top:none;background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:16px}
.crv-notsure-text{font:400 14px/1.5 var(--arch);color:var(--body)}
.crv-notsure-btn{font:600 12px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:15px;text-align:center;white-space:nowrap;cursor:pointer}
.crv-notsure-btn:hover{background:#3a382f}
@media (min-width:768px){
  .crv-notsure{padding:22px 24px;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .crv-notsure-text{font-size:15px;line-height:1.4;max-width:640px}
  .crv-notsure-btn{padding:15px 24px}
}

/* ---------- selected work ---------- */
.crv-work{border-bottom:1px solid var(--line);padding:44px 0 40px;scroll-margin-top:64px}
.crv-work-head{padding:0 20px}
.crv-work-head .fs-label{display:block;margin-bottom:18px}
.crv-work-head h2{font:800 32px/1.04 var(--arch);letter-spacing:-.02em;margin:0 0 22px;text-transform:uppercase}
@media (min-width:768px){
  .crv-work{border-bottom:none;border-top:1px solid var(--line);padding:56px 40px 40px;scroll-margin-top:70px}
  .crv-work-head{padding:0;display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:30px;flex-wrap:wrap}
  .crv-work-head .fs-label{margin-bottom:0}
}

/* work cards (shared) */
.fs-work{display:block;cursor:pointer}
.crv-wmedia{position:relative;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;background:var(--tint-2)}
.crv-wmedia > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) brightness(1.18)}
.crv-play{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;background:rgba(28,27,23,.82);color:var(--dark-text);display:flex;align-items:center;justify-content:center}
.crv-play svg{width:14px;height:14px;display:block}
.crv-wbadge{position:absolute;top:13px;left:14px}
.crv-wlogo{height:20px;width:auto;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}
.crv-car .crv-wlogo-lg{height:28px}
.crv-wtext{padding:14px 20px 0}
.crv-wtitle{font:700 17px/1.15 var(--arch)}
.crv-wsub{font:500 11px/1.3 var(--mono);color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.04em}

/* mobile settle: keep the 1.06→1 image ease inside the reveal */
.crv-car .crv-wmedia > img{transition:transform 1.4s var(--ease)}

/* desktop grid */
.crv-wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (min-width:768px){
  .crv-wgrid .crv-wmedia > img{transition:transform .4s ease,filter .4s ease}
  .crv-wgrid .crv-play{right:12px;bottom:12px;width:34px;height:34px;transition:transform .4s var(--ease),background .3s ease}
  .crv-wgrid .crv-play svg{width:12px;height:12px}
  .crv-wgrid .crv-wlogo-lg{height:30px}
  .crv-wgrid .crv-wtext{padding:14px 2px 0}
  .crv-wgrid .fs-work{transition:transform .4s var(--ease)}
  .crv-wgrid .fs-work:hover{transform:translateY(-5px)}
  .crv-wgrid .fs-work:hover .crv-wmedia > img{transform:scale(1.05);filter:grayscale(0) brightness(1.02)}
  .crv-wgrid .fs-work:hover .crv-play{transform:scale(1.14);background:var(--ink)}
}

/* mobile carousel */
.crv-car{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.crv-car::-webkit-scrollbar{display:none}
.crv-car > a{flex:none;width:100%;scroll-snap-align:start}
.crv-car-foot{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}
.crv-car-dots{display:flex;gap:6px}
.crv-car-counter{font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- lightbox ---------- */
.crv-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(18,17,14,.9);padding:14px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.crv-lightbox.is-open{display:flex}
.crv-lb-close{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--dark-text);font:400 30px/1 sans-serif;cursor:pointer}
.crv-lb-frame{width:100%;max-width:1040px;aspect-ratio:16/9;background:#000;border:1px solid var(--dark-line)}
.crv-lb-frame iframe{width:100%;height:100%;border:0;display:block}
@media (min-width:768px){
  .crv-lightbox{padding:40px}
  .crv-lb-close{top:22px;right:26px}
}

/* ---------- for talent ---------- */
.crv-join{background:var(--tint-3);color:var(--ink);padding:44px 20px;border-bottom:1px solid var(--line)}
.crv-join-intro .fs-label{display:block;margin-bottom:18px}
.crv-join-intro h2{font:800 28px/1 var(--arch);letter-spacing:-.02em;margin:0 0 12px;text-transform:uppercase}
.crv-join-intro p{font:400 15px/1.55 var(--arch);color:var(--body-2);margin:0 0 24px}
.crv-join-steps-label{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.crv-join-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.crv-join-step{display:flex;gap:12px;align-items:baseline}
.crv-join-step span{font:700 14px/1 var(--mono);color:var(--muted)}
.crv-join-step b{font:600 15px/1.2 var(--arch)}
.crv-join-btn{font:600 12px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:16px;text-align:center;display:block;cursor:pointer}
.crv-join-btn:hover{background:#3a382f}
@media (min-width:768px){
  .crv-join{padding:64px 40px;display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}
  .crv-join-intro{max-width:600px}
  .crv-join-intro .fs-label{margin-bottom:22px}
  .crv-join-intro h2{font-size:30px;margin-bottom:14px}
  .crv-join-intro p{font-size:16px;line-height:1.6;margin-bottom:0}
  .crv-join-steps{flex:none;display:flex;flex-direction:column;gap:14px;min-width:250px}
  .crv-join-steps-label{margin-bottom:0}
  .crv-join-list{gap:10px;margin-bottom:0}
  .crv-join-btn{margin-top:10px;padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
}
