/* Dope Creative Content — "The Title Card"
   Layout: white paper page, black type, red used only like a camera's tally light.
   Screenplay sluglines as section eyebrows; films framed like a viewfinder. */

@font-face{font-family:"Anton";src:url("fonts/anton-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Archivo";src:url("fonts/archivo-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
  --paper:#FAFAF8;
  --paper-2:#F1F0EC;
  --ink:#0C0C0C;
  --ink-2:#2B2A28;
  --mute:#6C6A66;
  --line:#E2E0DA;
  --red:#D3211A;
  --red-deep:#A8170F;
  --screen:#080808;
  --on-screen:#F4F3EF;
  --on-screen-mute:#9B9893;

  --display:"Anton","Impact","Haettenschweiler","Arial Narrow Bold",sans-serif;
  --serif:"Instrument Serif","Iowan Old Style","Georgia",serif;
  --body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --gutter:max(20px, env(safe-area-inset-left, 0px));
  --gutter-r:max(20px, env(safe-area-inset-right, 0px));
  --max:1320px;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
::selection{background:var(--red);color:var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;font-family:var(--mono);font-size:13px}
.skip:focus{top:12px}

.wrap{max-width:var(--max);margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}

/* ── type ───────────────────────────────────── */
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.88;letter-spacing:.004em;margin:0;text-wrap:balance}
.display em,.h2 em,.serif{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:-.01em;font-weight:400}
.display em{color:var(--red);font-size:1.08em;line-height:.8}
.h2{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:.9;margin:0;text-wrap:balance}
.h2 em{color:var(--red)}
.h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(1.7rem,3vw,2.4rem);line-height:.95;margin:0}
.slug{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px;margin:0 0 22px}
.slug::before{content:"";width:28px;height:1px;background:currentColor}
.slug--light{color:var(--on-screen-mute)}
.lede{font-size:clamp(1.12rem,1.6vw,1.32rem);line-height:1.55;max-width:60ch;color:var(--ink-2);margin:0;text-wrap:pretty}
.prose{max-width:64ch}
.prose p{margin:0 0 1.1em;text-wrap:pretty}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.red{color:var(--red)}

/* ── buttons ─────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:16px 22px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{background:var(--red);border-color:var(--red)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--red{background:var(--red);border-color:var(--red)}
.btn--red:hover{background:var(--ink);border-color:var(--ink)}
.btn .tri{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}
.link-arrow{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-flex;gap:10px;align-items:center;border-bottom:1.5px solid var(--ink);padding-bottom:4px}
.link-arrow:hover{color:var(--red);border-color:var(--red)}
.rec{width:10px;height:10px;border-radius:50%;background:var(--red);display:inline-block;flex:none;animation:rec 1.6s steps(1) infinite}
@keyframes rec{50%{opacity:.25}}

/* ── header ──────────────────────────────────── */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.hdr.is-scrolled{border-bottom-color:var(--line)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;line-height:1}
.brand__mark{font-family:var(--display);font-size:30px;letter-spacing:.02em}
.brand__mark i{font-style:normal;color:var(--red)}
.brand__sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.nav{display:flex;align-items:center;gap:34px}
.nav a{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;position:relative;padding-block:6px}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:not(.btn):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{padding:12px 16px;color:var(--paper)}
.menu-btn{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:10px}
.menu-btn span{display:block;width:22px;height:1.5px;background:var(--ink);position:relative}
.menu-btn span::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:var(--ink)}

@media (max-width:860px){
  .brand__sub{display:none}
  .menu-btn{display:inline-flex}
  .nav{position:fixed;inset:0;z-index:70;background:var(--screen);flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:calc(env(safe-area-inset-top,0px) + 90px) var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 40px) var(--gutter);transform:translateY(-100%);transition:transform .55s var(--ease);visibility:hidden}
  .nav.is-open{transform:none;visibility:visible}
  .nav a{color:var(--on-screen);font-family:var(--display);font-size:clamp(3rem,14vw,4.6rem);letter-spacing:.01em;font-weight:400;line-height:1.05}
  .nav a:not(.btn)::after{display:none}
  .nav a[aria-current="page"]{color:var(--red)}
  .nav .btn{margin-top:28px;font-family:var(--mono);font-size:14px;line-height:1;padding:18px 22px;background:var(--red);border-color:var(--red)}
  .nav__close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 22px);right:var(--gutter-r);background:none;border:0;color:var(--on-screen);font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:10px;cursor:pointer}
  .nav__meta{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 30px);left:var(--gutter);font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--on-screen-mute);text-transform:uppercase}
}
@media (min-width:861px){.nav__close,.nav__meta{display:none}}

/* ── opening letterbox (home) ───────────────── */
.curtain{position:fixed;left:0;right:0;z-index:90;height:50vh;background:var(--screen);pointer-events:none;animation:curtain 1.25s var(--ease) .15s forwards}
.curtain--top{top:0}.curtain--bot{bottom:0}
@keyframes curtain{to{height:0;visibility:hidden}}

/* ── hero ───────────────────────────────────── */
.hero{padding-block:clamp(36px,6vw,80px) clamp(40px,6vw,72px)}
.hero__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.hero .display{font-size:clamp(3.4rem,11.2vw,10.6rem)}
.hero__aside{max-width:34ch;padding-bottom:14px}
.hero__aside p{margin:0 0 26px;color:var(--ink-2);font-size:1.06rem;line-height:1.55}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:980px){.hero__top{grid-template-columns:1fr}.hero__aside{max-width:56ch;padding:0}}

/* viewfinder */
.vf{position:relative;margin-top:clamp(32px,5vw,56px);aspect-ratio:2.39/1;max-width:100%;background:var(--screen);overflow:hidden;color:var(--on-screen);cursor:pointer;display:block;width:100%;border:0;padding:0;text-align:left;font:inherit}
@media (max-width:700px){.vf{aspect-ratio:4/3}}
.vf__stills{position:absolute;inset:0}
.vf__stills img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:still 30s infinite;filter:saturate(.9) contrast(1.05)}
.vf__stills img:nth-child(2){animation-delay:6s}.vf__stills img:nth-child(3){animation-delay:12s}.vf__stills img:nth-child(4){animation-delay:18s}.vf__stills img:nth-child(5){animation-delay:24s}
@keyframes still{0%{opacity:0;transform:scale(1.02)}4%{opacity:1}20%{opacity:1}24%{opacity:0;transform:scale(1.1)}100%{opacity:0}}
.vf__glow{position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 110%,rgba(211,33,26,.28),transparent 55%),radial-gradient(80% 70% at 85% 0%,rgba(255,255,255,.08),transparent 60%)}
.vf__grain{position:absolute;inset:-50%;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-2%,6%)}80%{transform:translate(5%,2%)}}
.vf__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 30%,transparent 62%,rgba(0,0,0,.6))}
.vf__hud{position:absolute;inset:clamp(14px,2.4vw,30px);display:grid;grid-template-rows:auto 1fr auto;font-family:var(--mono);font-size:clamp(10px,1.05vw,13px);letter-spacing:.14em;text-transform:uppercase}
.vf__row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.vf__row span{display:flex;align-items:center;gap:10px}
.vf__tc{font-variant-numeric:tabular-nums}
.vf__center{display:grid;place-items:center}
.vf__play{display:flex;align-items:center;gap:16px;font-family:var(--display);font-size:clamp(1.6rem,4.4vw,3.6rem);letter-spacing:.02em;line-height:1}
.vf__play i{width:clamp(54px,7vw,88px);aspect-ratio:1;border-radius:50%;border:1.5px solid var(--on-screen);display:grid;place-items:center;transition:background .3s,border-color .3s}
.vf__play i::after{content:"";border-left:14px solid var(--on-screen);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.vf:hover .vf__play i{background:var(--red);border-color:var(--red)}
.vf__corners::before,.vf__corners::after,.vf__corners i::before,.vf__corners i::after{content:"";position:absolute;width:22px;height:22px;border-color:rgba(255,255,255,.7);border-style:solid}
.vf__corners{position:absolute;inset:clamp(8px,1.2vw,14px);pointer-events:none}
.vf__corners::before{top:0;left:0;border-width:1.5px 0 0 1.5px}
.vf__corners::after{top:0;right:0;border-width:1.5px 1.5px 0 0}
.vf__corners i::before{bottom:0;left:0;border-width:0 0 1.5px 1.5px}
.vf__corners i::after{bottom:0;right:0;border-width:0 1.5px 1.5px 0}
@media (max-width:560px){.vf__hide-sm{display:none!important}}

/* ── credits band ────────────────────────────── */
.band{background:var(--screen);color:var(--on-screen);overflow:hidden}
.marquee{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee__set{display:flex;align-items:center;flex:none}
.credit{display:flex;align-items:baseline;gap:16px;padding:30px 34px;white-space:nowrap}
.credit b{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;letter-spacing:.01em;line-height:1}
.credit span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-screen-mute)}
.credit::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);margin-left:34px;align-self:center}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ── sections ───────────────────────────────── */
.sec{padding-block:clamp(72px,10vw,140px)}
.sec--tight{padding-block:clamp(56px,7vw,96px)}
.sec--line{border-top:1px solid var(--line)}
.sec--paper2{background:var(--paper-2)}
.sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}

/* manifesto */
.manifesto{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
.manifesto__quote{font-family:var(--serif);font-style:italic;font-size:clamp(2.1rem,4.6vw,4.1rem);line-height:1.04;letter-spacing:-.015em;margin:0;text-wrap:balance}
.manifesto__quote b{font-weight:400;color:var(--red)}
.manifesto__side p{margin:0 0 1em;color:var(--ink-2)}
.sig{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:22px;display:block}
@media (max-width:860px){.manifesto{grid-template-columns:1fr}}

/* films grid */
.films{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px) clamp(14px,1.8vw,24px)}
.films--feature{grid-template-columns:repeat(4,minmax(0,1fr))}
.films--feature .film:first-child{grid-column:span 2;grid-row:span 2}
.films--feature .film:first-child .film__frame{aspect-ratio:auto;height:calc(100% - 34px);min-height:220px}
@media (max-width:980px){.films,.films--feature{grid-template-columns:repeat(2,minmax(0,1fr))}.films--feature .film:first-child{grid-row:auto}.films--feature .film:first-child .film__frame{aspect-ratio:16/9;height:auto}}
@media (max-width:560px){.films,.films--feature{grid-template-columns:1fr}.films--feature .film:first-child{grid-column:auto}}
.film{display:block;text-decoration:none;color:inherit;min-width:0}
.film__frame{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--screen);overflow:hidden}
.film__slate{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;color:var(--on-screen);font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.film__slate b{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.2vw,1.9rem);letter-spacing:.02em}
.film__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}
.film__frame::before,.film__frame::after{content:"";position:absolute;left:0;right:0;height:0;background:var(--screen);z-index:2;transition:height .45s var(--ease)}
.film__frame::before{top:0}.film__frame::after{bottom:0}
.film__btn{position:absolute;z-index:3;left:14px;bottom:14px;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-screen);opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s var(--ease)}
.film__btn i{width:34px;height:34px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.film__btn i::after{content:"";border-left:9px solid var(--on-screen);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.film:hover .film__frame img,.film:focus-visible .film__frame img{transform:scale(1.05);filter:brightness(.82)}
.film:hover .film__frame::before,.film:hover .film__frame::after,.film:focus-visible .film__frame::before,.film:focus-visible .film__frame::after{height:9%}
.film:hover .film__btn,.film:focus-visible .film__btn{opacity:1;transform:none}
@media (hover:none){.film__btn{opacity:1;transform:none}}
.film__meta{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.film__meta b{color:var(--ink);font-weight:500}
.film__title{display:block;font-family:var(--body);font-weight:500;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:4px}

/* services list */
.svc{border-top:1.5px solid var(--ink)}
.svc__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:30px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;position:relative}
.svc__row h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,4.4vw,3.6rem);line-height:.95;margin:0;transition:color .3s,transform .5s var(--ease)}
.svc__row p{margin:0;color:var(--ink-2);max-width:44ch}
.svc__arrow{width:58px;height:58px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font-size:22px;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.svc__row:hover h3{color:var(--red);transform:translateX(10px)}
.svc__row:hover .svc__arrow{background:var(--red);border-color:var(--red);color:var(--paper);transform:rotate(-45deg)}
@media (max-width:760px){.svc__row{grid-template-columns:1fr auto;gap:12px 18px}.svc__row p{grid-column:1/-1;grid-row:2}.svc__arrow{width:46px;height:46px;grid-column:2;grid-row:1}}

/* industries */
.inds{display:flex;flex-wrap:wrap;gap:4px 0;margin:0;padding:0;list-style:none}
.inds li{display:flex;align-items:center}
.inds li:not(:last-child)::after{content:"/";font-family:var(--serif);font-style:italic;font-size:clamp(1.8rem,4vw,3.4rem);color:var(--line);margin-inline:clamp(10px,1.4vw,20px)}
.inds a{font-family:var(--display);text-transform:uppercase;font-size:clamp(2rem,5vw,4.4rem);line-height:1.08;text-decoration:none;color:var(--ink);transition:color .25s}
.inds a sup{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--red);margin-left:6px;vertical-align:top;position:relative;top:.9em}
.inds a:hover{color:var(--red)}

/* about split */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.portrait{position:relative;max-width:520px}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.06)}
.portrait figcaption{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding-top:12px;border-top:1px solid var(--ink);margin-top:12px}
.portrait::after{content:"";position:absolute;top:16px;right:16px;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(211,33,26,.2)}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink)}
@media (max-width:900px){.tiers{grid-template-columns:1fr}}
.tier{padding:34px clamp(20px,2.4vw,34px) 38px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:16px;min-width:0}
.tier + .tier{border-left:1px solid var(--line)}
@media (max-width:900px){.tier + .tier{border-left:0}}
.tier--featured{background:var(--screen);color:var(--on-screen)}
.tier__name{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px}
.tier--featured .tier__name span{color:var(--red)}
.tier__price{font-family:var(--display);font-size:clamp(2.8rem,4.6vw,4rem);line-height:1;font-variant-numeric:tabular-nums}
.tier__per{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.tier--featured .tier__per{color:var(--on-screen-mute)}
.tier p{margin:0;font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.25}
.tier ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15.5px}
.tier li{display:flex;gap:12px}
.tier li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);margin-top:.62em;flex:none}

/* steps (real sequence) */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);counter-reset:s;list-style:none;padding:0;margin:0}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.steps li{border-top:1.5px solid var(--ink);padding-top:18px;counter-increment:s;min-width:0}
.steps li::before{content:"TAKE 0" counter(s);font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--red);display:block;margin-bottom:14px}
.steps h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:2.2rem;line-height:1;margin:0 0 10px}
.steps p{margin:0;color:var(--ink-2);font-size:16px}

/* faq */
.faq{border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-family:var(--body);font-weight:500;font-size:clamp(1.1rem,1.8vw,1.35rem)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:22px;color:var(--red);transition:transform .3s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 26px;max-width:68ch;color:var(--ink-2)}

/* cta */
.cta{background:var(--screen);color:var(--on-screen);position:relative;overflow:hidden}
.cta .wrap{padding-block:clamp(80px,11vw,150px)}
.cta .display{font-size:clamp(3rem,9vw,8.4rem)}
.cta__row{display:flex;flex-wrap:wrap;gap:28px 48px;align-items:flex-end;justify-content:space-between;margin-top:clamp(36px,5vw,60px)}
.cta__phone{font-family:var(--display);font-size:clamp(2.4rem,6vw,5rem);line-height:1;text-decoration:none;color:var(--on-screen);font-variant-numeric:tabular-nums;transition:color .25s}
.cta__phone:hover{color:var(--red)}
.cta .btn{background:var(--red);border-color:var(--red);color:var(--on-screen)}
.cta .btn:hover{background:var(--on-screen);border-color:var(--on-screen);color:var(--ink)}
.cta .btn--ghost{background:transparent;border-color:var(--on-screen);color:var(--on-screen)}

/* page hero (inner pages) */
.phero{padding-block:clamp(40px,7vw,96px) clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.phero .display{font-size:clamp(2.9rem,8.4vw,7.6rem);max-width:15ch}
.phero .lede{margin-top:clamp(22px,3vw,34px)}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none}
.crumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:var(--line)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--red)}

.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.checks{list-style:none;padding:0;margin:0;border-top:1.5px solid var(--ink)}
.checks li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-weight:500}
.checks li::after{content:"●";color:var(--red);font-size:10px;align-self:center}

/* work page */
.filters{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 74px);z-index:20;background:var(--paper);padding-block:16px;border-bottom:1px solid var(--line)}
.chip{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 13px;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip sup{color:var(--red);margin-left:4px}
.chip[aria-pressed="true"] sup{color:var(--paper)}
@media (max-width:700px){.filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter-r)}.chip{flex:none}}
.wgroup{padding-block:clamp(48px,6vw,80px) 0}
.wgroup__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:28px;padding-bottom:16px;border-bottom:1.5px solid var(--ink)}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px)}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
.bigphone{font-family:var(--display);font-size:clamp(2.8rem,7vw,5.6rem);line-height:1;text-decoration:none;display:inline-block;font-variant-numeric:tabular-nums}
.bigphone:hover{color:var(--red)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
.form .full{grid-column:1/-1}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.field label{display:block;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;padding:10px 0;appearance:none;-webkit-appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--red)}
.form__note{font-size:14px;color:var(--mute);margin:0}
.form__status{font-family:var(--mono);font-size:13px;letter-spacing:.06em;margin:0}
.hp{position:absolute;left:-9999px}

/* footer */
.ftr{background:var(--screen);color:var(--on-screen);border-top:1px solid #1d1d1c}
.ftr .wrap{padding-block:64px calc(40px + env(safe-area-inset-bottom,0px))}
.ftr__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
@media (max-width:860px){.ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr__brand{grid-column:1/-1}}
.ftr h4{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--on-screen-mute);margin:0 0 16px}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:15px}
.ftr a{text-decoration:none}
.ftr a:hover{color:var(--red)}
.ftr__word{font-family:var(--display);font-size:clamp(4rem,15vw,13rem);line-height:.82;letter-spacing:.005em;margin:56px 0 24px;color:var(--on-screen)}
.ftr__word i{font-style:normal;color:var(--red)}
.ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-screen-mute);border-top:1px solid #262624;padding-top:20px}

/* mobile call bar */
.callbar{display:none}
@media (max-width:700px){
  .callbar{display:flex;position:fixed;z-index:40;left:0;right:0;bottom:0;gap:1px;background:var(--line);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(110%);transition:transform .4s var(--ease)}
  .callbar.is-on{transform:none}
  .callbar a{flex:1;display:flex;justify-content:center;align-items:center;gap:10px;padding:16px 10px;background:var(--ink);color:var(--paper);text-decoration:none;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
  .callbar a:last-child{background:var(--red)}
  body.has-callbar .ftr .wrap{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}

/* player */
.player{border:0;padding:0;margin:auto;width:min(1200px,94vw);max-height:94vh;background:transparent;color:var(--on-screen);overflow:visible}
.player::backdrop{background:rgba(5,5,5,.94)}
.player__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.player__bar button{background:none;border:1.5px solid var(--on-screen);color:var(--on-screen);font:inherit;text-transform:uppercase;letter-spacing:.14em;padding:9px 14px;cursor:pointer}
.player__bar button:hover{background:var(--red);border-color:var(--red)}
.player__screen{aspect-ratio:16/9;max-width:100%;background:#000;position:relative}
.player__screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player__alt{position:absolute;inset:0;display:grid;place-content:center;gap:16px;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-screen-mute)}
.player__alt a{color:var(--on-screen);font-family:var(--display);font-size:2rem;letter-spacing:.02em;text-decoration:none}
.player__nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:14px}
.player__nav[hidden]{display:none}
.player__nav button{background:none;border:1.5px solid var(--on-screen);color:var(--on-screen);font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:14px 20px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .2s,border-color .2s}
.player__nav button:hover{background:var(--red);border-color:var(--red)}
.player__nav button:disabled{opacity:.3;cursor:default;background:none;border-color:var(--on-screen)}
.player__prev{justify-self:start}
.player__next{justify-self:end;background:var(--red)!important;border-color:var(--red)!important}
.player__next:hover{background:var(--on-screen)!important;border-color:var(--on-screen)!important;color:var(--ink)!important}
.player__next:disabled{background:none!important;border-color:var(--on-screen)!important;color:var(--on-screen)!important}
.player__count{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-screen-mute);font-variant-numeric:tabular-nums}
.player__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-screen-mute)}
.player__foot a{color:var(--on-screen-mute)}
@media (max-width:560px){.player__nav button{padding:14px 14px}}

/* reveal */
.rv{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.pre{transform:translateY(28px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .curtain{display:none}
  .vf__stills img:first-child{opacity:1}
  .js .rv.pre{transform:none}
  .marquee{width:auto;flex-wrap:wrap}
  .marquee__set[aria-hidden]{display:none}
  .marquee__set{flex-wrap:wrap}
}
