/* ===== Accomplice Content Supply Co. - shared site styles ===== */
@font-face {
  font-family: 'Shileen';
  src: url('../fonts/ShileenRegular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Shileen';
  src: url('../fonts/ShileenBold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body{margin:0;background:#0A0A09;font-family:'Source Sans 3',sans-serif;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}

.page{width:100%;min-height:100vh;background:radial-gradient(1100px 700px at 100% 0%,rgba(193,80,46,.14),transparent 62%),radial-gradient(900px 800px at 0% 100%,rgba(193,80,46,.09),transparent 60%),radial-gradient(1000px 600px at 0% 38%,rgba(250,250,248,.03),transparent 65%),#0A0A09;color:#FAFAF8;box-sizing:border-box;position:relative;}

/* ---- Nav ---- */
.site-nav{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:26px 64px;background:transparent;}
.site-nav .logo{font-family:'Oswald',sans-serif;font-weight:700;font-size:22px;letter-spacing:.06em;text-transform:uppercase;}
.logo-mark{height:38px;width:auto;display:block;}
.site-nav .logo{display:inline-flex;align-items:center;}
.site-nav .links{display:flex;gap:26px;font-family:'Shileen',cursive;font-size:19px;font-weight:normal;letter-spacing:.01em;text-transform:none;color:#D8D5CE;align-items:center;}
.navlink{position:relative;padding-bottom:4px;}
.navlink::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:#C1502E;transition:right .2s ease;}
.navlink:hover::after{right:0;}
.navlink.active{color:#FAFAF8;}

/* ---- Hero ---- */
.hero{padding:100px 64px 64px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid rgba(250,250,248,.08);}
.hero-with-pills{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-bottom:40px;}
.hero-with-pills .hero-copy{display:flex;flex-direction:column;gap:8px;}
.eyebrow{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:#C1502E;margin:0;}
.headline{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(48px,7vw,80px);line-height:.98;letter-spacing:-.01em;text-transform:uppercase;color:#FAFAF8;margin:0;}
.tagline{font-family:'Shileen',cursive;font-weight:normal;font-style:normal;font-size:clamp(20px,2.4vw,24px);color:#B7B3AA;margin:0;max-width:520px;}

/* ---- CTA button ---- */
.cta-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border:1px solid #C1502E;color:#FAFAF8;font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;transition:background .2s ease,color .2s ease;background:transparent;}
.cta-btn:hover{background:#C1502E;color:#0A0A09;}

/* ---- Homepage: hero/services/logos/contact-cta sections ---- */
.home-hero{position:relative;height:88vh;min-height:640px;display:flex;align-items:flex-end;padding:120px 64px 88px;box-sizing:border-box;background:#0A0A09;border-bottom:1px solid rgba(250,250,248,.08);overflow:hidden;}
.home-hero .hero-video-wrap{position:absolute;inset:0;overflow:hidden;z-index:0;filter:grayscale(1) contrast(1.1);}
.home-hero .hero-video-wrap iframe{position:absolute;top:50%;left:50%;width:177.78vh;height:100vh;min-width:100%;min-height:56.25vw;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.home-hero .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,9,.62) 0%,rgba(10,10,9,.66) 45%,rgba(10,10,9,.92) 100%);}
.home-hero .reel-note{position:absolute;top:28px;right:64px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6B6862;z-index:2;}
.home-hero .inner{position:relative;z-index:2;max-width:1150px;}
.home-hero .see-work{position:absolute;z-index:2;bottom:28px;right:clamp(16px,4.5vw,64px);display:flex;flex-direction:column;align-items:center;gap:14px;}

.work-section{padding:120px 64px 40px;}
.work-section .label{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:#6B6862;margin-bottom:44px;}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:56px;align-items:start;}
.view-all-wrap{display:flex;justify-content:center;margin-top:48px;}
.view-all{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#D8D5CE;}

.services-teaser{padding:120px 64px;border-top:1px solid rgba(250,250,248,.08);border-bottom:1px solid rgba(250,250,248,.08);display:flex;justify-content:space-between;align-items:flex-end;gap:60px;flex-wrap:wrap;}
.services-teaser .copy{max-width:640px;}
.services-teaser .tag{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:#C1502E;margin-bottom:9px;}
.services-teaser h2{margin:0 0 9px;font-family:'Oswald',sans-serif;font-weight:700;font-size:56px;line-height:1.02;text-transform:uppercase;}
.services-teaser .sub{font-family:'Shileen',cursive;font-weight:normal;font-size:23px;font-style:normal;color:#B7B3AA;}

.client-logos{padding:120px 64px;text-align:right;}
.client-logos .tag{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:#C1502E;margin:0 0 9px;}
.client-logos h2{font-family:'Oswald',sans-serif;font-weight:700;font-size:54px;line-height:1.02;text-transform:uppercase;margin:0 0 8px;}
.client-logos .sub{font-family:'Shileen',cursive;font-weight:normal;font-style:normal;font-size:22px;color:#B7B3AA;margin:0 0 40px;}
.logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;}
.logo-grid div{aspect-ratio:2/1;background:#161410;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#5B5850;}

.logo-marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.logo-track{display:flex;align-items:center;gap:72px;width:max-content;animation:logoScroll 46s linear infinite;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
.client-logo{height:36px;width:auto;-webkit-backface-visibility:hidden;object-fit:contain;flex:none;opacity:.7;transition:opacity .2s ease;}
.client-logo:hover{opacity:1;}
@keyframes logoScroll{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}
@media (prefers-reduced-motion: reduce){.logo-track{animation:none;}}

.contact-cta{padding:160px 64px;text-align:left;border-top:1px solid rgba(250,250,248,.08);}
.contact-cta .tag{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:#C1502E;margin:0 0 9px;}
.contact-cta h2{margin:0 0 40px;max-width:980px;font-family:'Oswald',sans-serif;font-weight:700;font-size:52px;line-height:1.08;text-transform:uppercase;}
.contact-cta .sub{font-family:'Shileen',cursive;font-style:normal;font-size:22px;color:#B7B3AA;margin-bottom:40px;}

/* ---- Project tiles (homepage mosaic) ---- */
.tile{display:flex;flex-direction:column;}
.tile-btn{all:unset;position:relative;overflow:hidden;cursor:pointer;display:block;box-sizing:border-box;width:100%;background:#13120F;}
.tile-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:56px;align-items:stretch;}
.tile-group.pair{grid-template-columns:repeat(2,minmax(0,1fr));}
.tile-group.solo{grid-template-columns:1fr;}
.tile-group .tile-big{grid-column:1/3;grid-row:1/3;}
.tile-group .tile-big .tile-btn{flex:1 1 auto;min-height:0;}
.tile-group .tile-big .tile-media{position:absolute;inset:0;}
.tile-group.flip .tile-big{grid-column:2/4;}
.tile-group.flip .tile:not(.tile-big){grid-column:1;}
.tile-group:not(.flip):not(.pair):not(.solo) .tile:not(.tile-big){grid-column:3;}
.tile-group:not(.pair):not(.solo) .tile:not(.tile-big):nth-of-type(2){grid-row:1;}
.tile-group:not(.pair):not(.solo) .tile:not(.tile-big):nth-of-type(3){grid-row:2;}
.tile-btn:focus-visible{outline:2px solid #C1502E;outline-offset:-2px;}
.tile-media{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.tile-btn:hover .tile-media{transform:scale(1.035);}
.tile .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.45) 100%);opacity:0;transition:opacity .25s ease;pointer-events:none;}
.tile-btn:hover .veil{opacity:1;}
.tile-badge{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FAFAF8;background:rgba(10,10,9,.7);border:1px solid rgba(250,250,248,.24);padding:4px 9px;border-radius:999px;}
.tile-caption{display:grid;grid-template-columns:96px 1fr;gap:20px;padding-top:22px;align-items:start;}
.tile-caption .tile-eyebrow{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:14px;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:#6B6862;margin:0;}
.tile-name{font-family:'Oswald',sans-serif;font-weight:600;font-size:21px;line-height:1;text-transform:uppercase;color:#FAFAF8;margin:0;transition:color .2s ease;}
.tile:hover .tile-name{color:#C1502E;}
.tile-desc{font-size:14px;line-height:1.5;color:#8C887F;margin:8px 0 0;max-width:34ch;}

/* ---- Work page: filters + card grid ---- */
.filterrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.filter{border:1px solid rgba(250,250,248,.16);border-radius:999px;padding:9px 18px;font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;transition:background .18s ease,color .18s ease,border-color .18s ease;background:transparent;color:#D8D5CE;}
.filter:hover{border-color:#C1502E;}
.filter.active{background:#C1502E;color:#0A0A09;border-color:#C1502E;}
.grid{padding:64px 64px 120px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px;}
.card-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;cursor:pointer;width:100%;}
.card-btn:focus-visible .card-thumb{outline:2px solid #C1502E;outline-offset:2px;}
.card-thumb{width:100%;aspect-ratio:16/9;background:#161410;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:opacity .15s ease;}
.card-btn:hover .card-thumb{opacity:.85;}
.card-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.card-tag,.card-badge,.card-thumb>svg{z-index:1;}
.card-thumb>svg{position:relative;filter:drop-shadow(0 1px 6px rgba(0,0,0,.5));}
.card-tag{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0A0A09;background:#C1502E;padding:5px 10px;border-radius:999px;}
.card-badge{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FAFAF8;background:rgba(10,10,9,.7);border:1px solid rgba(250,250,248,.24);padding:4px 9px;border-radius:999px;}
.card-body{display:flex;flex-direction:column;gap:6px;text-align:left;}
.card-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0;}
.card-desc{font-family:'Source Sans 3',sans-serif;font-size:14px;line-height:1.5;color:#8C887F;margin:0;}
.empty{padding:64px;text-align:center;color:#8C887F;font-size:15px;}

/* ---- Lightbox (shared: homepage + work page) ---- */
.lightbox-overlay{position:fixed;inset:0;z-index:50;background:rgba(6,6,5,.88);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:40px;}
.lightbox-overlay[hidden]{display:none;}
.lightbox-scrim{all:unset;position:absolute;inset:0;cursor:pointer;}
.lightbox-box{position:relative;width:100%;max-width:1120px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;gap:16px;}
.lightbox-close{all:unset;align-self:flex-end;width:36px;height:36px;flex:none;border-radius:999px;border:1px solid rgba(250,250,248,.24);display:flex;align-items:center;justify-content:center;color:#FAFAF8;cursor:pointer;}
.lightbox-close:hover{border-color:#C1502E;color:#C1502E;}
.lightbox-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:36px;padding-right:10px;}
.lightbox-video, .lightbox-video-sm{width:100%;aspect-ratio:16/9;background:#161410;display:flex;align-items:center;justify-content:center;flex:none;position:relative;overflow:hidden;}
.lightbox-video iframe, .lightbox-video-sm iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.lightbox-copy{display:flex;flex-direction:column;gap:8px;}
.lightbox-tag{font-family:'acumin-pro-condensed',sans-serif;font-size:16.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#C1502E;margin:0;}
.lightbox-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0;}
.lightbox-campaign{font-family:'Shileen',cursive;font-style:normal;font-weight:normal;font-size:25px;line-height:1.15;letter-spacing:.01em;color:#B7B3AA;margin:2px 0 0;}
.project-wrap .lightbox-campaign{font-size:28px;}
.lightbox-desc{font-family:'Source Sans 3',sans-serif;font-size:15px;line-height:1.55;color:#B7B3AA;margin:0;max-width:640px;}
.bio-row{display:flex;gap:28px;align-items:flex-start;}
.bio-photo{width:140px;flex:none;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:#161410;}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.bio-copy{display:flex;flex-direction:column;gap:6px;padding-top:4px;}
.bio-role{font-family:'Source Sans 3',sans-serif;font-size:13.5px;color:#8C887F;margin:0 0 10px;}
.bio-text{font-family:'Source Sans 3',sans-serif;font-size:15px;line-height:1.6;color:#B7B3AA;margin:0;max-width:520px;}
.section{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid rgba(250,250,248,.1);}
.section-label{font-family:'acumin-pro-condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#C1502E;margin:0;}
.lightbox-narrative{font-family:'Source Sans 3',sans-serif;font-size:14.5px;line-height:1.65;color:#B7B3AA;margin:0;}
.stills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
/* bigger stills: one wide still, then a pair, repeating. If one still would be left alone beside a full row, it pairs with the one before it. */
.stills-grid .still:nth-child(3n+1){grid-column:1 / -1;}
.stills-grid .still:nth-child(3n+1):nth-last-child(2){grid-column:auto;}
@media (max-width:640px){.stills-grid{grid-template-columns:1fr;}.stills-grid .still{grid-column:auto !important;}}
.still{position:relative;width:100%;aspect-ratio:16/9;background:#161410;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;transition:transform .25s ease;}
.still:hover{transform:scale(1.015);}
.still-icon-default{transition:opacity .2s ease;}
.still:hover .still-icon-default{opacity:0;}
.still-icon-playing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;background:#1c1a15;}
.still:hover .still-icon-playing{opacity:1;}
.still-live{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:5px;opacity:0;transition:opacity .2s ease;}
.still:hover .still-live{opacity:1;}
.still-live-dot{width:6px;height:6px;border-radius:999px;background:#C1502E;animation:pulseDot 1.3s ease-in-out infinite;}
.still-live-label{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#FAFAF8;}
@keyframes pulseDot{0%,100%{opacity:1;}50%{opacity:.35;}}
.stills-hint{font-size:12px;color:#5B5850;margin:0;}
.credits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;}
.credit{display:flex;flex-direction:column;gap:2px;}
.credit-role{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8C887F;margin:0;}
.credit-name{font-family:'Source Sans 3',sans-serif;font-size:14px;color:#FAFAF8;margin:0;}
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(250,250,248,.18);border-radius:999px;}

/* ---- About page ---- */
.story{padding:120px 64px;border-bottom:1px solid rgba(250,250,248,.08);display:flex;justify-content:flex-start;}
.story-row{display:flex;align-items:center;justify-content:space-between;gap:72px;width:100%;flex-wrap:wrap;}
.story-text{flex:1 1 460px;max-width:620px;}
.story-heading{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:1.05;letter-spacing:-.005em;text-transform:uppercase;color:#FAFAF8;margin:14px 0 22px;}
.story-logo{flex:0 1 400px;margin:0 auto;max-width:400px;width:100%;height:auto;}
@media (min-width:1360px){.story-logo{flex-basis:500px;max-width:500px;margin:0 0 0 auto;}}
.story-script{font-family:'Shileen',cursive;font-weight:normal;font-style:normal;font-size:clamp(20px,2.4vw,24px);color:#B7B3AA;margin:0 0 8px;}
.story-copy .story-script{font-family:'Shileen',cursive;font-size:clamp(20px,2.4vw,24px);line-height:1.4;color:#B7B3AA;margin:6px 0;}
.story-copy{display:flex;flex-direction:column;gap:18px;margin-top:16px;}
.story-copy p{font-size:17px;line-height:1.7;color:#B7B3AA;margin:0;}
.story-copy .accent{color:#C1502E;font-weight:600;}

.team{padding:120px 64px;border-bottom:1px solid rgba(250,250,248,.08);}
.team-head-wrap{display:flex;justify-content:flex-start;margin-bottom:56px;}
.team-head{display:flex;flex-direction:column;gap:10px;max-width:640px;width:100%;}
.team-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(30px,3.4vw,44px);text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0;}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:40px 28px;}
.member{all:unset;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;width:100%;box-sizing:border-box;}
.member-photo{width:100%;aspect-ratio:4/5;background:#161410;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:2px;}
.member-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .45s ease;}
.member-name{font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0;transition:color .2s ease;}
.member-role{font-family:'Source Sans 3',sans-serif;font-size:12px;color:#8C887F;margin:0;}

.join{padding:140px 64px;display:flex;justify-content:flex-start;text-align:left;}
.join-inner{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:680px;width:100%;}
.join-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(34px,4vw,52px);text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0 0 16px;}
.join-copy{font-size:16px;line-height:1.65;color:#B7B3AA;margin:0 0 32px;max-width:520px;}
.join-email{display:inline-flex;align-items:center;gap:10px;}
/* Careers: blurb left, crew-application ticket right */
.join{--ink:#0A0A09;--paper:#FAFAF8;--orange:#C1502E;--ct-display:'Oswald','Arial Narrow',sans-serif;--ct-text:'Source Sans 3',system-ui,sans-serif;}
.join-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(32px,6vw,96px);align-items:start;width:100%;}
.join-grid>*{min-width:0;}
.join-grid .join-inner{max-width:520px;}
.join-sub{font-family:'Shileen',cursive;font-weight:normal;font-style:normal;font-size:clamp(22px,2.6vw,28px);color:#B7B3AA;margin:-6px 0 22px;}
.join-grid .join-copy{margin:0;}
.join-ticket{position:relative;}
@media (max-width:900px){.join-grid{grid-template-columns:1fr;}.join-ticket .ct-ticket{transform:none;}}

/* ---- Services (switcher) page ---- */
.tabsrow{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.tab{border:1px solid rgba(250,250,248,.16);border-radius:999px;padding:10px 20px;font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase;transition:background .18s ease,color .18s ease,border-color .18s ease;background:transparent;color:#D8D5CE;}
.tab:hover{border-color:#C1502E;}
.tab.active{background:#C1502E;color:#0A0A09;border-color:#C1502E;}
.panelwrap{padding:72px 64px 100px;min-height:420px;}
@keyframes swingIn{from{opacity:0;transform:translateX(28px);}to{opacity:1;transform:translateX(0);}}
.panel{animation:swingIn .32s cubic-bezier(.2,.7,.3,1);display:grid;grid-template-columns:220px 1fr;gap:48px;}
.svc-mark{display:flex;flex-direction:column;gap:6px;}
.svc-phase{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0;color:#C1502E;}
.svc-number{font-family:'Oswald',sans-serif;font-weight:700;font-size:64px;line-height:1;color:#FAFAF8;margin:4px 0 0;}
.svc-title{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8C887F;margin:4px 0 0;}
.svc-body{display:flex;flex-direction:column;gap:20px;}
.svc-phrase{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(28px,3.2vw,40px);line-height:1.12;color:#FAFAF8;margin:0;max-width:640px;}
.svc-tags{display:flex;flex-wrap:wrap;gap:4px 10px;}
.svc-tags span{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8C887F;}
.svc-tags .dot{color:#5B5850;font-weight:400;}
.reel{margin-top:8px;padding-top:26px;border-top:1px solid rgba(250,250,248,.08);display:flex;gap:24px;align-items:flex-start;}
.reel-thumb{flex:none;width:220px;aspect-ratio:16/9;background:#161410;display:flex;align-items:center;justify-content:center;}
.reel-copy{display:flex;flex-direction:column;gap:6px;}
.reel-eyebrow{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;margin:0;color:#C1502E;}
.reel-title{font-family:'Oswald',sans-serif;font-weight:600;font-size:19px;text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0;}
.reel-desc{font-size:13.5px;line-height:1.45;color:#8C887F;margin:0;max-width:380px;}
.reel-link{font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;color:#C1502E;display:inline-block;}

/* ---- Contact page ---- */
.contact{padding:80px 64px 100px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8C887F;}
.field input, .field textarea{background:transparent;border:none;border-bottom:1px solid rgba(250,250,248,.2);color:#FAFAF8;font-family:'Source Sans 3',sans-serif;font-size:16px;padding:10px 2px;outline:none;transition:border-color .18s ease;resize:none;}
.field input::placeholder, .field textarea::placeholder{color:#5B5850;}
.field input:focus, .field textarea:focus{border-color:#C1502E;}
.form-row{display:flex;flex-direction:column;gap:28px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.submit-btn{align-self:flex-start;margin-top:8px;background:#C1502E;color:#0A0A09;border:none;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:16px 32px;transition:background .18s ease;}
.submit-btn:hover{background:#D86A47;}
.submit-btn:disabled{opacity:.6;cursor:default;}
.thanks[hidden]{display:none;}
.thanks{display:flex;flex-direction:column;gap:10px;padding:40px 0;}
.thanks-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:28px;text-transform:uppercase;color:#FAFAF8;margin:0;}
.thanks-copy{font-size:15px;color:#B7B3AA;margin:0;max-width:420px;}
.form-error{font-size:13px;color:#C1502E;margin:0;}
.info-block{display:flex;flex-direction:column;gap:36px;}
.info-group{display:flex;flex-direction:column;gap:6px;}
.info-label{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.1em;text-transform:uppercase;color:#C1502E;margin:0;}
.info-value{font-family:'Oswald',sans-serif;font-weight:500;font-size:19px;color:#FAFAF8;margin:0;}
.offices{display:flex;flex-direction:column;gap:16px;}
.office-name{font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0 0 2px;}
.office-address{font-size:14px;line-height:1.5;color:#B7B3AA;margin:0;}
.info-value a{border-bottom:1px solid transparent;transition:border-color .18s ease;}
.info-value a:hover{border-color:#C1502E;}
.socials{display:flex;gap:20px;margin-top:6px;}
.socials a{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8C887F;border-bottom:1px solid transparent;padding-bottom:2px;}
.socials a:hover{color:#FAFAF8;border-color:#C1502E;}

/* ---- Footer (every page) ---- */
.site-footer{border-top:1px solid rgba(250,250,248,.08);padding:72px 64px 56px;display:flex;flex-direction:column;}
.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
.footer-info{display:flex;flex-direction:column;gap:6px;}
.footer-info-label{font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:18px;letter-spacing:.1em;text-transform:uppercase;color:#C1502E;margin:0;}
.footer-info-email{font-family:'Oswald',sans-serif;font-weight:500;font-size:19px;color:#FAFAF8;margin:0;border-bottom:1px solid transparent;transition:border-color .18s ease;align-self:flex-start;}
.footer-info-email:hover{border-color:#C1502E;}
.footer-info-addr{font-size:13px;color:#8C887F;line-height:1.6;margin:4px 0 0;}
.footer-locations{font-size:13px;letter-spacing:.07em;color:#8C887F;margin:8px 0 0;}
.footer-info-phone{font-size:13px;color:#8C887F;line-height:1.6;margin:10px 0 0;}
.footer-mark-row{display:flex;align-items:center;margin-left:auto;}
.footer-mark{width:auto;display:block;opacity:.92;}
.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(250,250,248,.08);display:flex;justify-content:space-between;font-size:12px;color:#5B5850;}

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .site-nav{padding:20px 40px;}
  .hero{padding:72px 40px 48px;}
  .home-hero{padding:0 40px 64px;height:auto;min-height:560px;}
  .home-hero .reel-note{display:none;}
  .work-section{padding:72px 40px 24px;}
  .work-grid{grid-template-columns:1fr;row-gap:40px;}
  .work-grid .tile{grid-column:span 1 !important;}
  .tile-group,.tile-group.pair,.tile-group.solo{grid-template-columns:1fr;row-gap:40px;}
  .tile-group .tile,.tile-group.flip .tile,.tile-group.flip .tile-big,.tile-group .tile-big,.tile-group:not(.flip) .tile:not(.tile-big){grid-column:1 !important;grid-row:auto !important;}
  .tile-group .tile-big .tile-btn,.tile-group .tile-solo .tile-btn{aspect-ratio:16/9 !important;flex:none;}
  .tile-group .tile-big .tile-media{position:static;}
  .tile-caption{grid-template-columns:72px 1fr;gap:14px;padding-top:16px;}
  .services-teaser{padding:72px 40px;}
  .services-teaser h2{font-size:38px;}
  .client-logos h2{font-size:38px;}
  .client-logos{padding:72px 40px;}
  .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .contact-cta{padding:88px 40px;}
  .contact-cta h2{font-size:34px;}
  .hero-with-pills{flex-direction:column;align-items:flex-start;padding-bottom:32px;}
  .filterrow, .tabsrow{justify-content:flex-start;max-width:none;}
  .grid{grid-template-columns:1fr;padding:48px 40px 88px;gap:40px;}
  .panelwrap{padding:48px 40px 72px;}
  .panel{grid-template-columns:1fr;gap:20px;}
  .reel{flex-direction:column;gap:14px;}
  .reel-thumb{width:100%;}
  .lightbox-overlay{padding:20px;}
  .bio-row{flex-direction:column;gap:18px;}
  .bio-photo{width:120px;}
  .story{padding:88px 40px 56px;}
  .team{padding:64px 40px;}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px;}
  .join{padding:72px 40px 88px;}
  .contact{padding:56px 40px 80px;grid-template-columns:1fr;gap:56px;}
  .form-grid{grid-template-columns:1fr;}
  .site-footer{padding:56px 40px 40px;}
  .footer-bottom{flex-direction:column;gap:8px;}
}
@media (max-width:600px){
  .site-nav{padding:18px 20px;}
  .site-nav .links{gap:12px;font-size:15px;}
}

/* ---- Contact: stacked layout ---- */
.contact-stack{padding:100px 64px 110px;display:flex;flex-direction:column;}
.contact-hero{display:flex;flex-direction:column;gap:8px;margin-bottom:56px;}
.contact-stack .contact-right{width:100%;max-width:760px;}
.contact-stack .thanks{padding:0 0 32px;}
.contact-info{margin-top:88px;padding-top:56px;border-top:1px solid rgba(250,250,248,.08);}
.contact-info .info-block{display:grid;grid-template-columns:1.1fr 1fr 1.4fr 1.1fr;gap:40px;align-items:start;}
.contact-info .socials{flex-wrap:wrap;gap:8px 20px;}
.contact-info .info-row{display:flex;flex-direction:column;gap:32px;grid-template-columns:none;}
.contact-info .offices{flex-direction:row;gap:40px;}
.form-error:empty{display:none;}
@media (max-width:900px){
  .contact-stack{padding:72px 40px 80px;}
  .contact-info{margin-top:64px;padding-top:40px;}
  .contact-info .info-block{grid-template-columns:1fr;gap:32px;}
  .contact-info .offices{flex-direction:column;gap:16px;}
}
.office-address a{color:#FAFAF8;border-bottom:1px solid transparent;transition:border-color .18s ease;}
.office-address a:hover{border-color:#C1502E;}
.footer-line{display:flex;align-items:baseline;gap:16px;}
.footer-city{flex:0 0 72px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8C887F;}
.info-sub{display:flex;align-items:baseline;gap:12px;}
.info-sub .footer-city{flex:0 0 64px;}
.info-sub a{font-size:15px;color:#FAFAF8;border-bottom:1px solid transparent;transition:border-color .18s ease;}
.info-sub a:hover{border-color:#C1502E;}
.info-label-sub{margin-top:26px;}
.footer-places{font-family:'Shileen',cursive;font-weight:normal;font-size:19px;letter-spacing:.01em;color:#D8D5CE;margin:0 0 18px;}
.footer-cta{align-self:flex-start;display:inline-block;background:#C1502E;color:#0A0A09;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:14px 26px;transition:background .18s ease;}
.footer-cta:hover{background:#D86A47;}
.contact-info .info-value{font-family:'Source Sans 3',sans-serif;font-weight:400;font-size:15px;line-height:1.5;}

/* ---- Home: nav floats over the reel ---- */
body:has(.home-hero) .site-nav{position:absolute;top:0;left:0;right:0;}
.home-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:180px;background:linear-gradient(to bottom,rgba(10,10,9,.65),rgba(10,10,9,0));z-index:1;pointer-events:none;}

/* ---- Scroll reveal ---- */
@keyframes rise{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
html.js-reveal .reveal:not(.in){opacity:0;}
html.js-reveal .reveal.in{animation:rise .85s cubic-bezier(.2,.7,.2,1) backwards;}
@media (prefers-reduced-motion: reduce){html.js-reveal .reveal:not(.in){opacity:1;}html.js-reveal .reveal.in{animation:none;}}

/* ---- Case study stills with real media ---- */
.still .still-img,.still .still-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.still .still-clip{opacity:0;transition:opacity .2s ease;}
.still-with-clip:hover .still-clip{opacity:1;}
.still .still-live{z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.6);}

/* ---- Occasional glitch on headings (triggered from site.js) ---- */
@keyframes glitch{
  0%{transform:none;text-shadow:none;}
  10%{transform:translate(-3px,0) skewX(-4deg);text-shadow:3px 0 #C1502E,-3px 0 #38d9ff;}
  20%{transform:translate(4px,1px) skewX(3deg);text-shadow:-4px 0 #C1502E,4px 0 #38d9ff;}
  30%{transform:translate(-2px,-1px);text-shadow:2px 0 #C1502E,-2px 0 #38d9ff;}
  40%{transform:none;text-shadow:none;}
  55%{transform:translate(3px,0) skewX(5deg);text-shadow:-3px 0 #C1502E,3px 0 #38d9ff;}
  65%{transform:translate(-4px,1px) skewX(-3deg);text-shadow:4px 0 #C1502E,-4px 0 #38d9ff;}
  80%{transform:translate(1px,0);text-shadow:1px 0 #C1502E,-1px 0 #38d9ff;}
  100%{transform:none;text-shadow:none;}
}
.glitch-on{animation:glitch .42s steps(1,end) 1;will-change:transform;}
@media (prefers-reduced-motion: reduce){.glitch-on{animation:none;}}

/* ---- Home hero statement: one block of type over the black and white reel ---- */
.home-hero .statement{position:relative;z-index:2;max-width:980px;margin:0;font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.005em;line-height:1.08;font-size:clamp(24px,3.5vw,54px);text-wrap:balance;color:#FAFAF8;text-shadow:0 2px 30px rgba(0,0,0,.4);}
.home-hero .statement .line{display:inline-block;margin-right:.28em;animation:stmtRise .8s cubic-bezier(.2,.7,.2,1) backwards;}
.home-hero .statement .line:nth-child(1){animation-delay:.15s;}
.home-hero .statement .line:nth-child(2){animation-delay:.45s;}
.home-hero .statement .line:nth-child(3){animation-delay:.65s;}
.home-hero .statement .line:nth-child(4){animation-delay:.85s;}
.home-hero .statement .hl{display:inline-block;animation:stmtWarm .7s ease 1.5s both;}
.home-hero .statement .hl.settled{animation:none;color:#C1502E;}
.home-hero .statement .hl.settled.glitch-on{animation:glitch .42s steps(1,end) 1;}
@keyframes stmtRise{from{opacity:0;transform:translateY(.4em);}to{opacity:1;transform:none;}}
@keyframes stmtWarm{from{color:#FAFAF8;}to{color:#C1502E;}}
@media (prefers-reduced-motion: reduce){.home-hero .statement .line,.home-hero .statement .hl{animation:none;}.home-hero .statement .hl{color:#C1502E;}}
@media (max-width:600px){.home-hero .statement .line{display:block;margin-right:0;}}

/* ---- Project pages and share links ---- */
.project-wrap{max-width:1240px;margin:0 auto;padding:40px clamp(20px,4.5vw,64px) 96px;display:flex;flex-direction:column;gap:36px;}
.project-back{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#B7B3AA;}
.project-back:hover{color:#FAFAF8;}
.project-wrap .lightbox-title{font-size:clamp(30px,4.2vw,54px);line-height:1.02;}
.project-wrap .lightbox-desc{font-size:17px;max-width:680px;}
.project-wrap .lightbox-narrative{font-size:16px;max-width:680px;}
.share-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.share-btn{font-family:'Source Sans 3',sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#D8D5CE;background:transparent;border:1px solid rgba(250,250,248,.28);padding:8px 14px;cursor:pointer;display:inline-block;}
.share-btn:hover{border-color:#C1502E;color:#C1502E;}
.project-next{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-top:1px solid rgba(250,250,248,.12);padding-top:28px;}
.project-next-link{display:flex;flex-direction:column;gap:6px;color:#FAFAF8;}
.project-next-link span{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#C1502E;}
.project-next-link strong{font-family:'Oswald',sans-serif;font-size:clamp(22px,3vw,34px);text-transform:uppercase;font-weight:700;}
.project-next-link:hover strong{color:#C1502E;}

/* Paint splatter bleeding off the corner at the end of a page. Add class "splat-end" to the last section above the footer. */
.splat-end{position:relative;isolation:isolate;overflow:hidden;}
.splat-end::before{content:'';position:absolute;right:0;bottom:0;width:min(62vw,600px);aspect-ratio:1;background:url(../images/paint-splat.webp) right bottom/contain no-repeat;opacity:.75;z-index:-1;pointer-events:none;}
@media (max-width:640px){.splat-end::before{width:min(92vw,380px);opacity:.6;}}

/* ---- Footer (paper bar, highlighter headings) ---- */
  .site-footer.ft{--ink:#0A0A09;--paper:#FAFAF8;--orange:#C1502E;--display:'Oswald','Arial Narrow',sans-serif;--text:'Source Sans 3',system-ui,sans-serif;--script:'Shileen',cursive;font-family:var(--text);}
  .site-footer.ft a{color:inherit;text-decoration:none;}
  .site-footer.ft *{box-sizing:border-box;}
  .site-footer.ft{border-top:0;display:block;position:relative;isolation:isolate;overflow:hidden;background-color:#F5F3EE;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .18  0 0 0 0 .16  0 0 0 0 .12  .5 0 0 0 -.2'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='3' seed='9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .38  0 0 0 0 .25  .28 0 0 0 -.1'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>");color:var(--ink);padding:40px clamp(16px,4vw,48px) 20px;}
  .ft-row{display:grid;grid-template-columns:auto auto auto auto 1fr auto;column-gap:clamp(24px,3.4vw,56px);row-gap:30px;align-items:start;}
  .ft-col{min-width:0;}
  .ft-col h3{margin:0 0 12px;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;line-height:1.1;}
  .ft-hl{position:relative;display:inline-block;padding:2px 9px 0;margin-left:-9px;color:var(--ink);
    background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.92) 1.5%,rgba(193,80,46,.88) 97%,rgba(193,80,46,0) 100%);border-radius:2px;}
  .ft-col:nth-child(2) .ft-hl{transform:rotate(-.7deg);}.ft-col:nth-child(3) .ft-hl{transform:rotate(.5deg);}.ft-col:nth-child(4) .ft-hl{transform:rotate(-.4deg);}
  .ft-col:nth-child(3){margin-left:clamp(0px,3.5vw,56px);}
  .ft-icons:not(.ft-pin) a:nth-child(4) svg{width:17px;height:17px;}
  .ft-cityrow{display:flex;align-items:center;gap:2px;}
  .ft-cityrow .ft-city{margin:0!important;}
  .ft-icons.ft-pin{margin:-6px 0 -6px 2px;}
  .ft-icons.ft-pin a{width:34px;height:34px;}
  .ft-icons.ft-pin svg{width:17px;height:17px;fill:var(--orange);transition:fill .15s;}
  .ft-icons.ft-pin a:hover svg,.ft-icons.ft-pin a:focus-visible svg{fill:var(--ink);}
  .ft-col p,.ft-col li{margin:0;font-size:14.5px;line-height:1.55;color:#2A2926;}
  .ft-city{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:15px!important;color:var(--ink)!important;}
  .ft-col ul{list-style:none;margin:0;padding:0;}
  .ft-biz{display:grid;gap:3px;}
  .ft-biz li{display:flex;gap:10px;align-items:baseline;white-space:nowrap;}
  .ft-biz b{flex:0 0 62px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6B6860;}
  .ft-go{font-size:14.5px;}
  .ft-arr{color:var(--orange);display:inline-block;margin-left:2px;transition:transform .2s;}
  .ft-go:hover .ft-arr{transform:translateX(3px);}
  .ft-lk{background:linear-gradient(transparent 62%,transparent 62%);transition:background .2s;}
  .ft-lk:hover{background:linear-gradient(transparent 12%,rgba(193,80,46,.85) 12%);}
  .ft-icons{display:flex;gap:4px;margin-left:-8px;margin-top:-4px;}
  .ft-icons a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;transition:background .2s;}
  .ft-icons a:focus-visible{outline:none;}

  .ft-icons a{position:relative;background:none!important;border-radius:0;}
  .ft-icons a::before{content:'';position:absolute;inset:-2px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cfilter id='r' x='-20%' y='-20%' width='140%' height='140%'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.11' numOctaves='2' seed='3'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='6'/%3E%3C/filter%3E%3Cg filter='url(%23r)' fill='%23C1502E' fill-opacity='.9'%3E%3Cpath d='M9 16 L50 8 L53 44 L12 52 Z'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:0;transform:rotate(-4deg) scale(.9);transition:opacity .15s,transform .2s;}
  .ft-icons a:nth-child(even)::before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cfilter id='r' x='-20%' y='-20%' width='140%' height='140%'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.11' numOctaves='2' seed='8'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='6'/%3E%3C/filter%3E%3Cg filter='url(%23r)' fill='%23C1502E' fill-opacity='.9'%3E%3Cpath d='M7 12 L52 15 L48 51 L10 46 Z'/%3E%3C/g%3E%3C/svg%3E");transform:rotate(3deg) scale(.9);}
  .ft-icons a:hover::before,.ft-icons a:focus-visible::before{opacity:1;transform:rotate(-3deg) scale(1.02);}
  .ft-icons a:nth-child(even):hover::before,.ft-icons a:nth-child(even):focus-visible::before{transform:rotate(2deg) scale(1.02);}
  .ft-icons svg{position:relative;z-index:1;}
  .ft-icons svg{width:21px;height:21px;fill:var(--ink);}
  .ft-icons .st{fill:none;stroke:var(--ink);stroke-width:1.9;}
  .ft-mark{height:112px;width:auto;display:block;filter:invert(1);justify-self:end;align-self:center;grid-column:6;grid-row:1;}
  .ft-line{position:relative;margin-top:26px;padding-top:14px;padding-right:clamp(0px,9vw,130px);border-top:1px solid rgba(10,10,9,.16);display:flex;justify-content:space-between;align-items:baseline;gap:8px 26px;flex-wrap:wrap;}
  .ft-places{font-family:var(--script);font-size:20px;line-height:1.2;margin:0;color:var(--ink);}
  .ft-legal{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;color:#6B6860;letter-spacing:.03em;}
  .ft-splat{position:absolute;right:0;bottom:0;width:min(30vw,280px);aspect-ratio:1;background:url(../images/paint-splat.webp) right bottom/contain no-repeat;z-index:-1;pointer-events:none;opacity:.85;}

  @media (max-width:1120px){.ft-row{grid-template-columns:repeat(3,auto) 1fr;justify-content:start;}.ft-mark{grid-column:4;grid-row:1;}}
  @media (max-width:760px){.ft-row{grid-template-columns:1fr 1fr;}.ft-mark{grid-column:2;grid-row:auto;justify-self:end;height:88px;}.ft-biz li{white-space:normal;flex-wrap:wrap;}}
  @media (max-width:480px){.ft-row{grid-template-columns:1fr;}.ft-mark{grid-column:1;justify-self:end;margin-top:-6px;}}
@media (max-width:1120px){.site-footer.ft .ft-col:nth-child(3){margin-left:0;}}

/* ---- Contact: job ticket layout ---- */
.contact-stack{--ink:#0A0A09;--paper:#FAFAF8;--orange:#C1502E;--ct-display:'Oswald','Arial Narrow',sans-serif;--ct-text:'Source Sans 3',system-ui,sans-serif;}
.contact-stack .ct-eyebrow{display:inline-block;width:fit-content;align-self:flex-start;margin:0 0 18px -6px;padding:7px 14px 4px;font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:clamp(15px,1.5vw,19px);letter-spacing:.14em;line-height:1.15;text-transform:uppercase;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.97) 1.2%,rgba(193,80,46,.93) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);}
.contact-stack .ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(32px,6vw,96px);align-items:start;}
.contact-stack .ct-grid>*{min-width:0;}
.contact-stack .contact-right{max-width:none;}
.ct-routes{display:grid;gap:52px;max-width:640px;}
.ct-hl{display:inline-block;margin:0 0 14px -10px;padding:3px 12px 0;font-family:var(--ct-display);font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.95) 1.5%,rgba(193,80,46,.9) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);}
.ct-tkwrap .ct-hl{margin-bottom:16px;}
.ct-phone,.ct-addr{display:block;font-family:var(--ct-display);font-weight:700;color:var(--paper);transition:color .18s;}
.ct-phone{font-size:clamp(44px,5.2vw,72px);line-height:1;letter-spacing:.01em;}
.ct-addr{font-size:clamp(26px,2.9vw,42px);line-height:1.1;letter-spacing:.01em;text-wrap:balance;}
.ct-phone:hover,.ct-addr:hover,.ct-phone:focus-visible,.ct-addr:focus-visible{color:var(--orange);}
.ct-ticket{position:relative;color:var(--ink);padding:30px clamp(20px,3vw,36px) 34px;transform:rotate(.6deg);
  background-color:#F5F3EE;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .18  0 0 0 0 .16  0 0 0 0 .12  .5 0 0 0 -.2'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='3' seed='9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .38  0 0 0 0 .25  .28 0 0 0 -.1'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>");
  box-shadow:0 30px 70px rgba(0,0,0,.55);}
.ct-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:22px;border-bottom:2px solid var(--ink);font-family:var(--ct-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:15px;}
.ct-head span:last-child{font-family:var(--ct-text);font-weight:600;letter-spacing:.06em;font-size:13px;color:#5B5850;}
.ct-lab{display:inline-block;padding:2px 9px 0;margin-left:-9px;font-family:var(--ct-display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.92) 1.5%,rgba(193,80,46,.88) 97%,rgba(193,80,46,0) 100%);border-radius:2px;transform:rotate(-.6deg);}
.ct-f{display:block;margin-bottom:22px;}
.ct-f input,.ct-f textarea{display:block;width:100%;margin-top:8px;padding:8px 2px;background:none;border:0;border-bottom:1.5px solid rgba(10,10,9,.45);font-family:var(--ct-text);font-size:18px;color:var(--ink);border-radius:0;outline:none;resize:vertical;}
.ct-f textarea{min-height:96px;}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:#8C887F;}
.ct-f input:focus,.ct-f textarea:focus{border-bottom-color:var(--orange);}
.ct-two{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.ct-chip{padding:8px 12px;border:1.5px solid rgba(10,10,9,.5);background:none;color:var(--ink);font-family:var(--ct-text);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.ct-chip:hover{border-color:var(--orange);}
.ct-chip[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:var(--ink);}
.ct-chip:focus-visible,.ct-phone:focus-visible,.ct-addr:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
.ct-ticket .form-error{margin:0 0 14px;color:#A33A1B;font-size:14px;}
.ct-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px;}
.ct-foot small{font-size:13px;color:#5B5850;}
.ct-ticket .submit-btn{margin:0;padding:16px 30px;font-size:14px;letter-spacing:.16em;border-radius:0;cursor:pointer;}
.ct-ticket .submit-btn:hover{background:var(--ink);color:var(--paper);}
.ct-ticket .thanks{padding:8px 0;}
.ct-ticket .thanks-title{color:var(--ink);}
.ct-ticket .thanks-copy{color:#3A3833;font-size:17px;max-width:none;}
@media (max-width:900px){.contact-stack .ct-grid{grid-template-columns:1fr;}.ct-ticket{transform:none;}}
@media (max-width:560px){.ct-two{grid-template-columns:1fr;}}

/* ---- About: polish (highlighter eyebrows, prints on a table, marker quote, bio pop-up) ---- */
.story .eyebrow,.team .eyebrow,.join .eyebrow{display:inline-block;align-self:flex-start;margin-left:-10px;padding:4px 12px 1px;font-family:'Oswald','Arial Narrow',sans-serif;font-size:15px;font-weight:700;letter-spacing:.14em;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.95) 1.5%,rgba(193,80,46,.9) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);}
.story-copy .accent{display:inline;padding:0 .25em;margin:0 -.1em;color:#0A0A09;font-weight:700;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.95) 2%,rgba(193,80,46,.9) 96%,rgba(193,80,46,0) 100%);-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.story-copy p:last-child{font-family:'Shileen',cursive;font-size:clamp(26px,3vw,36px);line-height:1.25;color:#FAFAF8;margin-top:10px;}
.team-grid{gap:56px 32px;padding:8px 0;}
.member{cursor:pointer;align-items:stretch;gap:0;}
.member:focus-visible{outline:2px solid #C1502E;outline-offset:6px;}
.member-photo{position:relative;display:flex;flex-direction:column;padding:8px;border-radius:0;aspect-ratio:auto;background:#F5F3EE;box-shadow:0 14px 34px rgba(0,0,0,.5);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;transform:rotate(var(--tilt,0deg));overflow:visible;}
.member-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block;}
.member-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:#161410;}
.member-cap{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:20px 4px 0;text-align:center;}
.member-name{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase;line-height:1.15;color:#FAFAF8;margin:0;transition:color .2s;}
.member-role{font-family:'Source Sans 3',sans-serif;font-weight:400;font-size:13px;line-height:1.35;color:#A8A49B;margin:0;}
.member:nth-child(4n+1){--tilt:-1.6deg;}
.member:nth-child(4n+2){--tilt:1.2deg;}
.member:nth-child(4n+3){--tilt:-.7deg;}
.member:nth-child(4n+4){--tilt:1.8deg;}
.member:not(.static):hover .member-photo,.member:not(.static):focus-visible .member-photo{transform:rotate(0) translateY(-6px) scale(1.03);box-shadow:0 22px 44px rgba(0,0,0,.6);}
.member:not(.static):hover .member-name,.member:not(.static):focus-visible .member-name{color:#C1502E;}
.join-email.cta-btn{background:#C1502E;color:#0A0A09;border:0;border-radius:0;font-weight:700;letter-spacing:.14em;}
.join-email.cta-btn:hover{background:#FAFAF8;color:#0A0A09;}
@media (max-width:640px){.team-grid{gap:40px 20px;}.member-name{font-size:14px;}}

/* Bio pop-up */
.bio{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(14px,4vw,40px);background:rgba(10,10,9,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s ease;overflow-y:auto;}
.bio[hidden]{display:none;}
.bio.on{opacity:1;}
body.bio-open{overflow:hidden;}
.bio-card{position:relative;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;width:min(100%,820px);min-height:460px;margin:auto;padding:clamp(20px,3vw,36px);color:#0A0A09;
  background-color:#F5F3EE;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .18  0 0 0 0 .16  0 0 0 0 .12  .5 0 0 0 -.2'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='3' seed='9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .38  0 0 0 0 .25  .28 0 0 0 -.1'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>");
  box-shadow:0 40px 90px rgba(0,0,0,.65);transform:rotate(-.6deg) translateY(14px) scale(.97);transition:transform .28s cubic-bezier(.2,.7,.2,1);}
.bio.on .bio-card{transform:rotate(-.6deg);}
.bio-photo{width:100%;box-sizing:border-box;background:#fff;padding:8px;box-shadow:0 10px 26px rgba(0,0,0,.28);transform:rotate(1.4deg);}
.bio-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;}
.bio-photo:has(img[hidden]){display:none;}
.bio-text{min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;}
.bio-role{display:inline-block;margin:0 0 14px -9px;padding:3px 12px 0;font-family:'Oswald','Arial Narrow',sans-serif;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.95) 1.5%,rgba(193,80,46,.9) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.6deg);}
.bio-name{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.02;text-transform:uppercase;letter-spacing:.01em;margin:0 0 18px;color:#0A0A09;}
.bio-copy{font-size:18px;line-height:1.65;color:#2A2823;margin:0 0 26px;}
.bio-nav{display:flex;gap:10px;margin-top:auto;padding-top:8px;}
.bio-nav button{padding:10px 16px;border:1.5px solid rgba(10,10,9,.5);background:none;color:#0A0A09;font-family:'Source Sans 3',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.bio-nav button:hover{background:#C1502E;border-color:#C1502E;}
.bio-x{position:absolute;top:8px;right:10px;width:40px;height:40px;border:0;background:none;color:#0A0A09;font-size:30px;line-height:1;cursor:pointer;transition:color .15s;}
.bio-x:hover{color:#C1502E;}
.bio button:focus-visible{outline:2px solid #C1502E;outline-offset:3px;}
@media (max-width:680px){.bio-card{grid-template-columns:1fr;}.bio-photo{max-width:220px;}.bio-copy{font-size:17px;}.bio-card{grid-template-rows:auto 1fr;height:min(92vh,700px);overflow-y:auto;}}
@media (prefers-reduced-motion: reduce){.bio,.bio-card,.member-photo{transition:none;}}

/* ---- Work: highlighter eyebrow ---- */
.hero-with-pills .eyebrow{display:inline-block;align-self:flex-start;margin-left:-10px;padding:4px 12px 1px;font-family:'Oswald','Arial Narrow',sans-serif;font-size:15px;font-weight:700;letter-spacing:.14em;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.95) 1.5%,rgba(193,80,46,.9) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);}

/* Home hero: "The Work" cue (vertical label, running line, arrow tip) */
.home-hero .sw-t{writing-mode:vertical-rl;font-weight:700;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#FAFAF8;transition:color .18s;}
.home-hero .sw-ln{position:relative;width:2px;height:56px;background:rgba(250,250,248,.25);overflow:hidden;}
.home-hero .sw-ln::after{content:'';position:absolute;left:0;top:-45%;width:100%;height:45%;background:#C1502E;animation:sw-run 2.4s cubic-bezier(.5,0,.2,1) infinite;}
.home-hero .sw-tip{width:10px;height:10px;border-right:2px solid #C1502E;border-bottom:2px solid #C1502E;transform:rotate(45deg);margin-top:-18px;transition:transform .25s cubic-bezier(.2,.7,.2,1);}
.home-hero .see-work:hover .sw-t,.home-hero .see-work:focus-visible .sw-t{color:#C1502E;}
.home-hero .see-work:hover .sw-tip,.home-hero .see-work:focus-visible .sw-tip{transform:translateY(5px) rotate(45deg);}
.home-hero .see-work:focus-visible{outline:2px solid #C1502E;outline-offset:6px;}
@keyframes sw-run{0%{top:-45%;}70%,100%{top:100%;}}
@media (prefers-reduced-motion: reduce){.home-hero .sw-ln::after{animation:none;top:0;}}

/* Home: "View all work" as a highlighter bar */
.view-all{position:relative;display:inline-flex;align-items:center;gap:9px;padding:8px 16px 6px;font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.96) 1.5%,rgba(193,80,46,.92) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);transition:transform .25s cubic-bezier(.2,.7,.2,1),background .18s;}
.view-all svg{width:11px;height:11px;transition:transform .25s cubic-bezier(.2,.7,.2,1);}
.view-all:hover,.view-all:focus-visible{background:linear-gradient(100deg,rgba(250,250,248,0) 0,rgba(250,250,248,.97) 1.5%,rgba(250,250,248,.93) 97%,rgba(250,250,248,0) 100%);transform:rotate(-.8deg) translateY(-1px);}
.view-all:hover svg,.view-all:focus-visible svg{transform:translateX(4px);}
.view-all:focus-visible{outline:2px solid #C1502E;outline-offset:6px;}

/* ---- Campaigns with several spots ---- */
.spots-badge{position:absolute;left:14px;bottom:14px;z-index:1;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FAFAF8;background:rgba(10,10,9,.7);border:1px solid rgba(250,250,248,.24);padding:4px 9px;border-radius:999px;}
.section-label small{font-family:'Source Sans 3',sans-serif;font-size:12px;letter-spacing:.1em;color:#8C887F;margin-left:10px;}
.spots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
@media (max-width:760px){.spots{grid-template-columns:repeat(2,minmax(0,1fr));}}
.sp{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:8px;min-width:0;}
.sp:focus-visible .sp-img{outline:2px solid #C1502E;outline-offset:2px;}
.sp-img{position:relative;aspect-ratio:16/9;display:block;overflow:hidden;background:#161410;border:2px solid transparent;}
.sp-img img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;display:block;opacity:.72;transition:opacity .2s ease,transform .4s ease;}
.sp:hover .sp-img img{opacity:1;transform:scale(1.04);}
.sp.on .sp-img{border-color:#C1502E;}
.sp.on .sp-img img{opacity:1;}
.sp-ph{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#1D1B16,#13120F);}
.sp-now{display:none;position:absolute;left:0;bottom:0;z-index:2;background:#C1502E;color:#0A0A09;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px 2px;}
.sp.on .sp-now{display:block;}
.sp-t{font-family:'Oswald',sans-serif;font-weight:500;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:#B7B3AA;}
.sp.on .sp-t{color:#FAFAF8;}

/* ---- Work page: three across ---- */
@media (min-width:901px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;}}
@media (min-width:901px) and (max-width:1180px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;}}

/* ---- Lightbox: title and description above the video ---- */
.lightbox-top{display:flex;flex-direction:column;gap:20px;}
.lightbox-top .share-row{margin-top:0;}

/* ---- Lightbox layout: video on the left, the story beside it (stacks on small screens) ---- */
.lightbox-top{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(250px,1fr);grid-template-areas:"media head" "media body" "spots .";grid-template-rows:auto 1fr auto;column-gap:36px;row-gap:16px;align-items:start;}
.lightbox-top .lb-head{grid-area:head;}
.lightbox-top .lb-media{grid-area:media;min-width:0;}
.lightbox-top .lb-body{grid-area:body;display:flex;flex-direction:column;gap:14px;min-width:0;}
.lightbox-top .lb-spots{grid-area:spots;min-width:0;margin-top:6px;}
.lightbox-top.no-media{grid-template-columns:1fr;grid-template-areas:"head" "body" "spots";grid-template-rows:auto;}
.lightbox-top .share-row{margin-top:4px;}
.lb-spots .spots-section{padding-top:16px;}
.lightbox-top .lightbox-title{font-size:clamp(24px,2.4vw,34px);line-height:1.08;}
.project-wrap .lightbox-top .lightbox-title{font-size:clamp(28px,3vw,44px);}
.lightbox-agency{font-family:'Source Sans 3',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8C887F;margin:0;}
.lightbox-agency b,.lightbox-agency a{font-weight:700;color:#FAFAF8;text-decoration:none;border-bottom:2px solid #C1502E;padding-bottom:1px;transition:color .2s ease;}
.lightbox-agency a:hover,.lightbox-agency a:focus-visible{color:#C1502E;}
@media (max-width:820px){
  .lightbox-top,.lightbox-top.no-media{grid-template-columns:1fr;grid-template-areas:"head" "media" "body" "spots";grid-template-rows:auto;row-gap:18px;}
  .lightbox-top .lightbox-title{font-size:26px;}
  .project-wrap .lightbox-top .lightbox-title{font-size:30px;}
}

/* ---- Logo rollover: the orange block wipes to white with black type ---- */
.site-nav .logo{position:relative;}
.site-nav .logo::after{content:'';position:absolute;left:0;top:50%;width:117.4px;height:38px;transform:translateY(-50%);background:url(../images/accomplice-logo-inverted.svg) center/100% 100% no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path .38s cubic-bezier(.65,0,.35,1);pointer-events:none;}
.site-nav .logo:hover::after,.site-nav .logo:focus-visible::after{clip-path:inset(0 0 0 0);}
.site-nav .logo:focus-visible{outline:2px solid #FAFAF8;outline-offset:4px;}
@media (prefers-reduced-motion:reduce){.site-nav .logo::after{transition:none;}}

/* ---- Case study body: story beside credits, stills and behind the scenes full width ---- */
.lb-detail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);grid-template-areas:"story credits" "stills stills" "bts bts";column-gap:56px;row-gap:36px;align-items:start;}
.lb-detail .lb-story{grid-area:story;}
.lb-detail .lb-credits{grid-area:credits;}
.lb-detail .lb-stills{grid-area:stills;}
.lb-detail .lb-bts{grid-area:bts;}
.lb-detail .lb-story{display:flex;flex-direction:column;gap:14px;}
.lb-detail .credits-grid{grid-template-columns:1fr;gap:14px;}
.project-wrap .lb-detail .lightbox-narrative{max-width:none;}
.lb-detail.no-credits{grid-template-areas:"story story" "stills stills" "bts bts";}
.lb-detail.no-credits .lightbox-narrative{max-width:760px;}
.lb-detail.no-story{grid-template-areas:"credits credits" "stills stills" "bts bts";}
.lb-detail.no-story .credits-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:820px){
  .lb-detail,.lb-detail.no-credits,.lb-detail.no-story{grid-template-columns:1fr;grid-template-areas:"story" "stills" "bts" "credits";row-gap:32px;}
  .lb-detail.no-story{grid-template-areas:"stills" "bts" "credits";}
  .lb-detail .credits-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;}
}

/* ---- Usual Suspects: faint police-lineup height lines behind the partners section ---- */
.client-logos{position:relative;}
.client-logos::before{content:'';position:absolute;left:0;right:0;top:90px;bottom:86px;z-index:0;pointer-events:none;
  background:
    repeating-linear-gradient(to bottom,rgba(250,250,248,.049) 0,rgba(250,250,248,.049) 3px,transparent 3px,transparent 76px) 0 -62px/100% 76px repeat-y,
    repeating-linear-gradient(to bottom,rgba(250,250,248,.026) 0,rgba(250,250,248,.026) 1px,transparent 1px,transparent 76px) 0 -24px/100% 76px repeat-y;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);}
@media (max-width:900px){.client-logos::before{top:40px;bottom:50px;}}
.client-logos > *{position:relative;z-index:1;}

/* ---- Team pop-up: nickname and the optional "known for" lines ---- */
.bio-nick{font-family:'Shileen',cursive;font-size:24px;line-height:1.1;color:#C1502E;margin:-8px 0 18px;}
.bio-facts{margin:0 0 26px;display:flex;flex-direction:column;gap:10px;}
.bio-facts div{display:flex;flex-direction:column;gap:1px;}
.bio-facts dt{font-family:'Oswald','Arial Narrow',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8C887F;}
.bio-facts dd{margin:0;font-size:17px;line-height:1.4;color:#2A2823;}
.bio-nick[hidden],.bio-facts[hidden]{display:none;}

/* ---- Work page tiles: clear rollover (title turns orange, picture eases in) ---- */
.card-btn:hover .card-thumb{opacity:1;}
.card-media{transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.card-btn:hover .card-media,.card-btn:focus-visible .card-media{transform:scale(1.05);}
.card-title{transition:color .2s ease;}
.card-btn:hover .card-title,.card-btn:focus-visible .card-title{color:#C1502E;}
@media (prefers-reduced-motion:reduce){.card-media{transition:none;}.card-btn:hover .card-media{transform:none;}}

/* ---- Branded video player (Vimeo's own buttons are hidden; these drive it) ---- */
.vp{position:absolute;inset:0;background:#000;overflow:hidden;}
.vp iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vp:not(.vp-ready) .vp-hit,.vp:not(.vp-ready) .vp-big,.vp:not(.vp-ready) .vp-bar,.vp.vp-fallback .vp-hit,.vp.vp-fallback .vp-big,.vp.vp-fallback .vp-bar{display:none;}
.vp-hit{position:absolute;inset:0;z-index:1;cursor:pointer;}
.vp svg{width:18px;height:18px;fill:currentColor;stroke:none;display:block;}
.vp svg .st{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.vp-big{all:unset;box-sizing:border-box;position:absolute;z-index:2;left:50%;top:50%;display:flex;align-items:center;gap:12px;padding:12px 26px 10px 20px;cursor:pointer;--c:250,250,248;--t:#0A0A09;--tri:#C1502E;color:var(--t);background:linear-gradient(100deg,rgba(var(--c),0) 0,rgba(var(--c),.97) 3%,rgba(var(--c),.94) 96%,rgba(var(--c),0) 100%);transform:translate(-50%,-50%) rotate(-2deg);transition:background .25s ease,color .25s ease,transform .2s ease,opacity .25s ease;}
.vp-big svg{width:22px;height:22px;fill:var(--tri);transition:fill .25s ease;}
.vp-big b{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;font-size:24px;letter-spacing:.18em;text-transform:uppercase;line-height:1;padding-top:3px;}
.vp:hover .vp-big,.vp-big:focus-visible{--c:193,80,46;--t:#FAFAF8;--tri:#FAFAF8;transform:translate(-50%,-50%) rotate(-1deg) scale(1.05);}
.vp-big:focus-visible{outline:2px solid #FAFAF8;outline-offset:4px;}
.vp.playing .vp-big{opacity:0;pointer-events:none;}
.vp-bar{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:center;gap:12px;padding:22px 14px 8px;background:linear-gradient(to top,rgba(10,10,9,.82),rgba(10,10,9,0));color:#FAFAF8;opacity:1;transition:opacity .25s ease;}
.vp.playing:not(.show-ui) .vp-bar{opacity:0;pointer-events:none;}
.vp-btn{all:unset;box-sizing:border-box;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#FAFAF8;flex:none;transition:color .15s ease;}
.vp-btn:hover{color:#C1502E;}
.vp-btn:focus-visible{outline:2px solid #C1502E;outline-offset:1px;}
.vp-time{font-family:'Source Sans 3',sans-serif;font-size:12px;letter-spacing:.04em;color:#FAFAF8;white-space:nowrap;flex:none;font-variant-numeric:tabular-nums;}
.vp-seek{-webkit-appearance:none;appearance:none;flex:1 1 auto;min-width:40px;height:18px;background:transparent;cursor:pointer;margin:0;--f:0%;--h:2px;}
.vp-seek:hover,.vp-seek:focus-visible{--h:4px;}
.vp-seek::-webkit-slider-runnable-track{height:var(--h);background:linear-gradient(to right,#C1502E var(--f),rgba(250,250,248,.3) var(--f));transition:height .15s ease;}
.vp-seek::-moz-range-track{height:var(--h);background:rgba(250,250,248,.3);}
.vp-seek::-moz-range-progress{height:var(--h);background:#C1502E;}
.vp-seek::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:calc((var(--h) - 10px) / 2);background:#FAFAF8;border:0;border-radius:50%;opacity:0;transition:opacity .15s ease;}
.vp-seek:hover::-webkit-slider-thumb,.vp-seek:focus-visible::-webkit-slider-thumb{opacity:1;}
.vp-seek::-moz-range-thumb{width:10px;height:10px;background:#FAFAF8;border:0;border-radius:50%;opacity:0;}
.vp-seek:hover::-moz-range-thumb{opacity:1;}
.vp:fullscreen,.vp:-webkit-full-screen{width:100%;height:100%;}
@media (max-width:560px){.vp-big{padding:9px 20px 7px 15px;gap:9px;}.vp-big b{font-size:19px;}.vp-big svg{width:18px;height:18px;}.vp-time{display:none;}.vp-bar{gap:8px;padding:22px 10px 6px;}}
@media (hover:none){.vp-seek::-webkit-slider-thumb{opacity:1;}.vp.playing .vp-bar{opacity:0;}.vp.playing.show-ui .vp-bar{opacity:1;pointer-events:auto;}}

/* ---- Contact page: small hand-drawn notes on hover (Shileen regular, kept light on purpose) ---- */
.ct-hit{position:relative;display:block;width:max-content;max-width:100%;}
.ct-tkwrap{position:relative;}
.ct-note{position:absolute;pointer-events:none;display:flex;gap:1px;opacity:0;transition:opacity .15s ease;white-space:nowrap;}
.ct-note b{font-family:'Shileen',cursive;font-weight:normal;font-size:clamp(18px,1.9vw,24px);line-height:1;color:var(--paper);display:block;opacity:0;transform:rotate(-5deg);}
.ct-note svg{flex:none;overflow:visible;}
.ct-note path{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len,160);stroke-dashoffset:var(--len,160);}
.ct-note.n-phone{left:56%;top:calc(100% + 2px);align-items:flex-start;}
.ct-note.n-phone svg{width:55px;height:34px;}
.ct-note.n-phone b{margin-top:18px;}
.ct-note.n-addr{left:min(236px,45%);top:50%;margin-top:-17px;align-items:center;}
.ct-note.n-addr svg{width:55px;height:34px;}
.ct-note.n-card{left:215px;top:-26px;align-items:flex-start;}
.ct-note.n-card b{margin-top:2px;}
.ct-note.n-card svg{width:50px;height:42px;margin-left:-2px;}
.ct-hit:hover .ct-note,.ct-hit:focus-within .ct-note,.ct-tkwrap:hover .ct-note.n-card,.ct-tkwrap:focus-within .ct-note.n-card{opacity:1;}
.ct-hit:hover .ct-note path,.ct-hit:focus-within .ct-note path,.ct-tkwrap:hover .n-card path,.ct-tkwrap:focus-within .n-card path{stroke-dashoffset:0;transition:stroke-dashoffset .5s cubic-bezier(.5,0,.3,1) .08s;}
.ct-hit:hover .ct-note b,.ct-hit:focus-within .ct-note b,.ct-tkwrap:hover .n-card b,.ct-tkwrap:focus-within .n-card b{animation:ctPop .35s ease .35s both;}
@keyframes ctPop{from{opacity:0;transform:rotate(-5deg) translateY(5px)}to{opacity:1;transform:rotate(-5deg)}}
@media (max-width:900px){.ct-note{display:none;}}
@media (prefers-reduced-motion:reduce){.ct-note path{transition:none!important;stroke-dashoffset:0;}.ct-note b{animation:none!important;opacity:1;}}

/* ---- RECEIVED stamp on the message ticket ---- */
.ct-ticket{overflow:visible;}
.ct-ticket .thanks{padding-bottom:84px;}
.ct-stamp{position:absolute;right:6%;bottom:20px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 20px 8px;border:6px double #C1502E;color:#C1502E;font-family:var(--ct-display);text-transform:uppercase;line-height:1;pointer-events:none;mix-blend-mode:multiply;filter:url(#stampRough);transform:rotate(-9deg);transform-origin:center;animation:ctThump .42s cubic-bezier(.2,1.5,.4,1) both;}
.ct-stamp-main{font-weight:700;font-size:clamp(30px,4.6vw,52px);letter-spacing:.14em;margin-right:-.14em;}
.ct-stamp-sub{font-weight:500;font-size:12px;letter-spacing:.2em;border-top:2px solid #C1502E;padding-top:5px;align-self:stretch;text-align:center;}
@keyframes ctThump{0%{opacity:0;transform:rotate(-14deg) scale(2.3);}55%{opacity:1;transform:rotate(-9deg) scale(.96);}100%{opacity:.92;transform:rotate(-9deg) scale(1);}}
@media (max-width:560px){.ct-stamp{right:3%;bottom:14px;padding:8px 12px 6px;}.ct-stamp-sub{font-size:10px;letter-spacing:.14em;}}
@media (prefers-reduced-motion:reduce){.ct-stamp{animation:none;opacity:.92;}}

.join .ct-ticket .thanks{padding-bottom:120px;}

/* ---- Open Roles (About page) ---- */
.jobs[hidden]{display:none;}
.job-list{display:flex;flex-direction:column;max-width:900px;border-top:1px solid rgba(250,250,248,.12);}
.job{padding:30px 0 32px;border-bottom:1px solid rgba(250,250,248,.12);position:relative;scroll-margin-top:90px;}
.job::before{content:'';position:absolute;left:-18px;top:30px;bottom:32px;width:3px;background:#C1502E;opacity:0;transition:opacity .3s;}
.job.hl::before{opacity:1;}
.job-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;}
.job-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(24px,2.6vw,32px);line-height:1.1;text-transform:uppercase;letter-spacing:.01em;color:#FAFAF8;margin:0;}
.job-meta{font-family:'Oswald',sans-serif;font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#C1502E;margin:0;}
.job-sum{font-size:16px;line-height:1.6;color:#B7B3AA;margin:12px 0 0;max-width:640px;}
.job-det{margin-top:16px;max-width:640px;font-size:15.5px;line-height:1.65;color:#B7B3AA;}
.job-det p{margin:0 0 12px;}
.job-det ul{margin:0 0 12px;padding-left:20px;}
.job-det li{margin:0 0 5px;}
.job-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;}
.job-apply{display:inline-flex;align-items:center;padding:12px 22px;background:#C1502E;color:#0A0A09;border:0;border-radius:0;font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .18s,color .18s;}
.job-apply:hover,.job-apply:focus-visible{background:#FAFAF8;color:#0A0A09;}
@media (max-width:900px){.job::before{left:-14px;}}
/* "Applying for" tag on the careers ticket */
.cr-for{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 18px;font-size:14px;color:#3A3833;}
.cr-for[hidden]{display:none;}
.cr-for span{font-family:var(--ct-display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5B5850;}
.cr-for b{font-family:var(--ct-display);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);padding:2px 9px 0;background:rgba(193,80,46,.28);}
.cr-for button{border:0;background:none;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0 4px;}
.cr-for button:hover{color:var(--orange);}

.member.static{cursor:default;}
.about-teaser .copy{max-width:none;}

/* ---- Work: closing link to Services ---- */
.work-next{padding:clamp(30px,4vw,56px) var(--gutter,64px) clamp(70px,9vw,120px);}
.work-next .eyebrow{margin:0 0 14px;}
.work-next h2{margin:0 0 30px;font-family:var(--display,'Oswald',sans-serif);font-weight:700;text-transform:uppercase;line-height:1;font-size:clamp(30px,4.6vw,60px);color:#FAFAF8;}

/* ---- Home: teaser buttons sit under their copy; thumbprint watermark on What We Do ---- */
.services-teaser .cta-btn{margin-top:34px;}
#services.services-teaser{position:relative;overflow:hidden;}
#services.services-teaser .copy{position:relative;z-index:1;}
#services.services-teaser::after{content:'';position:absolute;right:-3%;top:50%;transform:translateY(-50%) rotate(8deg);height:150%;width:46%;background:url(../images/fingerprint-single.webp) center/contain no-repeat;opacity:.28;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%);pointer-events:none;}
@media (max-width:900px){#services.services-teaser::after{right:-18%;width:80%;height:130%;opacity:.14;}}

/* ---- Nav: hand-drawn pen underline on hover ---- */
.navlink::after{display:none;}
.navlink .pen{position:absolute;left:-3px;right:-3px;bottom:-5px;width:calc(100% + 6px);height:9px;overflow:visible;pointer-events:none;filter:url(#penRough);}
.navlink .pen path{fill:none;stroke:#C1502E;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .32s cubic-bezier(.5,.1,.25,1),opacity .2s ease .15s;}
.navlink:hover .pen path,.navlink:focus-visible .pen path{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .32s cubic-bezier(.5,.1,.25,1),opacity .05s;}
@media (prefers-reduced-motion:reduce){.navlink .pen path{transition:none;}}

/* ---- Work tags: Shileen, orange ---- */
.tile-caption .tile-eyebrow{font-family:'Shileen',cursive;font-weight:normal;font-size:22px;line-height:1;letter-spacing:.01em;text-transform:none;color:#C1502E;margin:0;}

/* ---- Footer Careers link: no highlight, the arrow pulses ---- */
.ft-go,.ft-go:hover{background:none;}
.ft-arr{animation:ftpulse 1.7s ease-in-out infinite;}
.ft-go:hover .ft-arr{transform:none;}
@keyframes ftpulse{0%,100%{transform:translateX(0);opacity:.55;}50%{transform:translateX(5px);opacity:1;}}
@media (prefers-reduced-motion:reduce){.ft-arr{animation:none;}}

/* ---- Home hero: first visit reads line by line (one new line each time you could have finished the last) ---- */
.home-hero .statement .line{animation:stmtRead 0.55s cubic-bezier(.2,.7,.2,1) backwards;}
.home-hero .statement .line:nth-child(1){animation-delay:0.25s;}
.home-hero .statement .line:nth-child(2){animation-delay:1.15s;}
.home-hero .statement .line:nth-child(3){animation-delay:2.05s;}
.home-hero .statement .line:nth-child(4){animation-delay:2.75s;}
.home-hero .statement .line:nth-child(1) .hl{animation:stmtWarm 0.4s ease 1s both;}
.home-hero .statement .line:nth-child(4) .hl{animation:stmtWarm .4s ease 3.25s both;}
.home-hero .statement .hl.settled{animation:none;color:#C1502E;}
.home-hero .statement .hl.settled.glitch-on{animation:glitch .42s steps(1,end) 1;}
@keyframes stmtRead{from{opacity:0;transform:translateY(.5em);filter:blur(7px);}to{opacity:1;transform:none;filter:blur(0);}}
/* coming back to the home page in the same visit: the quick version */
html.hero-seen .home-hero .statement .line{animation:stmtRise .8s cubic-bezier(.2,.7,.2,1) backwards;}
html.hero-seen .home-hero .statement .line:nth-child(1){animation-delay:.15s;}
html.hero-seen .home-hero .statement .line:nth-child(2){animation-delay:.45s;}
html.hero-seen .home-hero .statement .line:nth-child(3){animation-delay:.65s;}
html.hero-seen .home-hero .statement .line:nth-child(4){animation-delay:.85s;}
html.hero-seen .home-hero .statement .line:nth-child(1) .hl,html.hero-seen .home-hero .statement .line:nth-child(4) .hl{animation:stmtWarm .7s ease 1.5s both;}
html.hero-seen .home-hero .statement .hl.settled{animation:none;color:#C1502E;}
@media (prefers-reduced-motion: reduce){.home-hero .statement .line,.home-hero .statement .hl,html.hero-seen .home-hero .statement .line{animation:none!important;}.home-hero .statement .hl{color:#C1502E;}}

/* ---- Home hero: "One team." lands a beat before "One thumbprint." ---- */
.home-hero .statement .beat{display:inline-block;}
.home-hero .statement .line:nth-child(3){animation:none;}
.home-hero .statement .line:nth-child(3) .beat{animation:stmtRead 0.55s cubic-bezier(.2,.7,.2,1) backwards;}
.home-hero .statement .line:nth-child(3) .beat:nth-child(1){animation-delay:2.05s;}
.home-hero .statement .line:nth-child(3) .beat:nth-child(2){animation-delay:2.6s;}
.home-hero .statement .line:nth-child(4){animation-delay:3.35s;}
.home-hero .statement .line:nth-child(4) .hl{animation:stmtWarm 0.4s ease 3.85s both;}
html.hero-seen .home-hero .statement .line:nth-child(3){animation:none;}
html.hero-seen .home-hero .statement .line:nth-child(3) .beat{animation:stmtRise .8s cubic-bezier(.2,.7,.2,1) backwards;}
html.hero-seen .home-hero .statement .line:nth-child(3) .beat:nth-child(1){animation-delay:.65s;}
html.hero-seen .home-hero .statement .line:nth-child(3) .beat:nth-child(2){animation-delay:.85s;}
html.hero-seen .home-hero .statement .line:nth-child(4){animation-delay:1.05s;}
html.hero-seen .home-hero .statement .line:nth-child(1) .hl,html.hero-seen .home-hero .statement .line:nth-child(4) .hl{animation:stmtWarm .7s ease 1.7s both;}
@media (prefers-reduced-motion: reduce){.home-hero .statement .beat,.home-hero .statement .line{animation:none!important;}}

/* ---- Team: black and white until you roll over (touch screens keep full colour, they have no hover) ---- */
@media (hover:hover){
  .member-photo img{filter:grayscale(1) contrast(1.08);transition:filter .5s ease;}
  .member:hover .member-photo img,.member:focus-visible .member-photo img{filter:none;}
}
@media (prefers-reduced-motion:reduce){.member-photo img{transition:none;}}

/* ---- Careers: shorter copy, bigger and bolder ---- */
.join-grid .join-copy{font-size:clamp(19px,1.9vw,23px);line-height:1.5;font-weight:600;color:#D9D6CE;max-width:560px;}
.join-grid .join-copy #join-lead{color:#FAFAF8;}

/* ---- Home: Who Are We banner — fingerprint strip across the full width, darkened under the copy ---- */
#about.about-teaser{position:relative;overflow:hidden;}
#about.about-teaser .copy{position:relative;z-index:2;}
#about.about-teaser::before{content:'';position:absolute;inset:0;background:url(../images/fingerprint-strip.webp) center bottom/cover no-repeat;opacity:.8;pointer-events:none;}
#about.about-teaser::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,9,.92) 0%,rgba(10,10,9,.82) 28%,rgba(10,10,9,.35) 48%,rgba(10,10,9,0) 66%);pointer-events:none;}
@media (max-width:900px){#about.about-teaser::before{opacity:.55;}#about.about-teaser::after{background:linear-gradient(180deg,rgba(10,10,9,.9) 0%,rgba(10,10,9,.75) 55%,rgba(10,10,9,.3) 100%);}}

/* ---- Home hero: tape eyebrow, big two-line headline, Shileen aside, button ---- */
.home-hero .hero-tape{display:inline-block;margin:0 0 18px -6px;padding:7px 14px 4px;font-family:'acumin-pro-condensed',sans-serif;font-weight:700;font-size:clamp(15px,1.5vw,19px);letter-spacing:.14em;text-transform:uppercase;line-height:1.15;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.97) 1.2%,rgba(193,80,46,.93) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);animation:tapeIn .8s cubic-bezier(.2,.7,.2,1) .1s backwards;}
@keyframes tapeIn{from{opacity:0;transform:translateY(.4em) rotate(-.8deg);}to{opacity:1;transform:rotate(-.8deg);}}
.home-hero .statement{font-size:clamp(42px,7vw,104px);line-height:1;max-width:none;}
.home-hero .statement .line{display:block;margin:0;animation:none!important;}
.home-hero .statement .beat{display:block;animation:stmtRise .8s cubic-bezier(.2,.7,.2,1) backwards!important;}
.home-hero .statement .beat:nth-child(1){animation-delay:.15s!important;}
.home-hero .statement .beat:nth-child(2){animation-delay:.25s!important;}
.home-hero .hero-sub{position:relative;z-index:2;margin:20px 0 0;font-family:'Shileen',cursive;font-weight:normal;font-size:clamp(22px,2.2vw,30px);line-height:1.25;color:#D9D6CE;text-shadow:0 2px 20px rgba(0,0,0,.5);animation:stmtRise .8s cubic-bezier(.2,.7,.2,1) .35s backwards;}
.home-hero .hero-orange{display:inline-block;color:#C1502E;}
@keyframes heroFade{from{opacity:0;}to{opacity:1;}}
@keyframes heroWarm{from{color:#D9D6CE;}to{color:#C1502E;}}
.home-hero .hero-cta{position:relative;z-index:2;margin-top:30px;animation:stmtRise .8s cubic-bezier(.2,.7,.2,1) 1.35s backwards;}
@media (prefers-reduced-motion: reduce){.home-hero .hero-tape,.home-hero .hero-sub,.home-hero .hs-b,.home-hero .hero-orange,.home-hero .hero-cta,.home-hero .statement .beat{animation:none!important;}}

/* ---- About: a bare scroll arrow at the bottom of the story section ---- */
.story{position:relative;}
.story .see-work{position:absolute;z-index:2;bottom:28px;right:clamp(16px,4.5vw,64px);display:flex;flex-direction:column;align-items:center;gap:14px;}
.story .sw-ln{position:relative;width:2px;height:56px;background:rgba(250,250,248,.25);overflow:hidden;}
.story .sw-ln::after{content:'';position:absolute;left:0;top:-45%;width:100%;height:45%;background:#C1502E;animation:sw-run 2.4s cubic-bezier(.5,0,.2,1) infinite;}
.story .sw-tip{width:10px;height:10px;border-right:2px solid #C1502E;border-bottom:2px solid #C1502E;transform:rotate(45deg);margin-top:-18px;transition:transform .25s cubic-bezier(.2,.7,.2,1);}
.story .see-work:hover .sw-tip,.story .see-work:focus-visible .sw-tip{transform:translateY(5px) rotate(45deg);}
.story .see-work:focus-visible{outline:2px solid #C1502E;outline-offset:6px;}
@keyframes sw-run{0%{top:-45%;}70%,100%{top:100%;}}
@media (prefers-reduced-motion: reduce){.story .sw-ln::after{animation:none;top:0;}}

/* ---- Tickets (Contact + Careers): plain labels, a bigger writing box, a lighter header ---- */
#contact-form .ct-lab,#careers-form .ct-lab{background:none;margin-left:0;padding:0;color:#5B5850;font-size:12px;letter-spacing:.16em;}
#contact-form .ct-head span:last-child,#careers-form .ct-head span:last-child{display:none;}
#contact-form .ct-head,#careers-form .ct-head{padding-bottom:12px;margin-bottom:20px;}
#contact-form .ct-f,#careers-form .ct-f{margin-bottom:20px;}
#contact-form .ct-f textarea{min-height:200px;}
#careers-form .ct-f textarea{min-height:170px;}

