@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/anton.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url("fonts/jost.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* CENTURY 21 colours: Obsessed Grey and Relentless Gold. */
:root{--black:#101011;--grey:#252526;--grey-2:#333335;--gold:#beaf87;--gold-hi:#e2cf98;--ivory:#f6f3ec;--ink:#151516;--muted:#6d6b66;--line:#ffffff1f;--red:#ff4d4d;
  --display:"Anton","Impact","Arial Narrow Bold",sans-serif;--sans:"Jost","Segoe UI","Helvetica Neue",Arial,sans-serif;--gutter:clamp(18px,5vw,64px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#fff;font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:74px}
h1,h2,h3,p{margin:0}
h2{font:400 clamp(38px,8vw,64px)/.98 var(--display);text-transform:uppercase;letter-spacing:.005em}
h2 em{font-style:normal;color:var(--gold)}
.sub{margin-top:12px;color:#ffffffbf;max-width:560px}
section{padding:72px var(--gutter)}
section>*{max-width:980px;margin-left:auto;margin-right:auto}
.pending{display:none}
.draft .pending{display:block;outline:2px dashed #ff4d4d88}

/* Top bar */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px var(--gutter);background:#101011e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font:600 14px/1 var(--sans);letter-spacing:.14em}
.brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.32em;color:var(--gold)}
.bar-cta{color:var(--black);background:var(--gold);text-decoration:none;font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:11px 16px;border-radius:999px}

/* Hero */
.hero{padding-top:22px;padding-bottom:40px;text-align:center;background:radial-gradient(120% 70% at 50% 0%,#2c2a24 0%,var(--black) 62%)}
.live{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 14px;border-radius:999px;background:#ffffff12;border:1px solid var(--line);font-size:12.5px;color:#ffffffd9}
.live i{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 #ff4d4d99;animation:live 1.6s infinite}
.live b{background:var(--red);color:#fff;font-weight:600;letter-spacing:.06em;padding:3px 8px;border-radius:5px;font-size:11px}
@keyframes live{70%{box-shadow:0 0 0 10px #ff4d4d00}100%{box-shadow:0 0 0 0 #ff4d4d00}}
.hero h1{margin:22px auto 0;max-width:900px;font:400 clamp(38px,9.4vw,82px)/1.08 var(--display);text-transform:uppercase}
.hero h1 .pain{display:block;color:#ffffffc7;font-size:.62em;line-height:1.08;margin-bottom:12px}
.hero h1 .gain{display:block}
.hero h1 em{font-style:normal;color:var(--black);background:var(--gold);padding:.02em .16em;border-radius:4px;line-height:1.2;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.lead{margin:18px auto 0;max-width:620px;color:#ffffffcc;font-size:18px}
.reel{position:relative;margin:26px auto 0;max-width:620px;border-radius:16px;overflow:hidden;border:1px solid #beaf8766;box-shadow:0 24px 60px #0009}
.reel img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 22%}
.reel figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;text-align:left;background:linear-gradient(transparent,#000c);font-size:14px;color:#ffffffd9}
.reel figcaption b{display:block;font:400 22px/1.1 var(--display);text-transform:uppercase;color:#fff;letter-spacing:.02em}
.cta{display:block;max-width:620px;margin:22px auto 0;padding:20px 22px 16px;border-radius:14px;background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--black);text-decoration:none;text-align:center;font:400 clamp(24px,5.4vw,32px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.02em;box-shadow:0 10px 30px #beaf8740,inset 0 -3px 0 #0000001f;position:relative;overflow:hidden;transition:transform .15s}
.cta small{display:block;margin-top:6px;font:500 13px/1.3 var(--sans);text-transform:none;letter-spacing:0;color:#151516b3}
.cta:hover{transform:translateY(-2px)}
.cta::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,#fff0,#ffffff80,#fff0);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{left:-40%}100%{left:130%}}
.proof{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:26px auto 0;padding:0;max-width:620px}
.proof li{padding:12px 6px;border-radius:12px;background:#ffffff0d;border:1px solid var(--line);font-size:12px;line-height:1.3;color:#ffffffb3}
.proof b{display:block;font:400 28px/1 var(--display);color:var(--gold);margin-bottom:4px}

/* Today vs here */
.versus{background:var(--ivory);color:var(--ink)}
.versus h2 em{color:#8d7443}
.vs-grid{display:grid;gap:10px;margin-top:28px}
.vs-row{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;overflow:hidden;font-size:15px;line-height:1.35}
.vs-row span{display:flex;align-items:center;gap:10px;padding:16px 14px}
.vs-row .no{background:#e9e4da;color:#6d6b66;text-decoration:line-through;text-decoration-color:#c0392b99}
.vs-row .yes{background:var(--grey);color:#fff;font-weight:500}
.vs-row .no::before{content:"✕";color:#c0392b;font-weight:700;text-decoration:none;flex:none}
.vs-row .yes::before{content:"✓";color:var(--gold);font-weight:700;flex:none}

/* Skills */
.cards{display:grid;gap:12px;margin-top:28px}
.cards article{padding:22px;border-radius:14px;background:var(--grey);border:1px solid var(--line)}
.cards .num{font:400 34px/1 var(--display);color:var(--gold)}
.cards h3{margin:8px 0 6px;font:400 26px/1.05 var(--display);text-transform:uppercase}
.cards p{color:#ffffffbf;font-size:15.5px}
@media(min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}

/* Money */
.money{background:linear-gradient(180deg,#17160f,var(--black))}
.calc{margin-top:26px;padding:26px 20px;border-radius:18px;background:var(--grey);border:1px solid #beaf8755;text-align:center;max-width:620px}
.calc-total{display:block;font:400 clamp(56px,15vw,96px)/1 var(--display);color:var(--gold-hi)}
.calc-note{margin-top:6px;color:#ffffffcc}
.calc input{width:100%;margin:22px 0 4px;accent-color:var(--gold);height:30px}
.calc-scale{display:flex;justify-content:space-between;font-size:12px;color:#ffffff99}
.calc-example{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:14.5px;color:#ffffffcc;text-align:left}
.calc-example b{color:#fff}
.honest{margin-top:14px;font-size:13px;color:#ffffff99;max-width:620px}

/* 90 days */
.steps{background:var(--ivory);color:var(--ink)}
.steps h2 em{color:#8d7443}
.steps ol{list-style:none;padding:0;margin:28px auto 0;display:grid;gap:14px}
.steps li{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:14px;background:#fff;border:1px solid #e3ddd0}
.steps li>span{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--grey);color:var(--gold);font:400 24px/1 var(--display)}
.steps h3{font:400 24px/1.05 var(--display);text-transform:uppercase}
.steps p{margin-top:6px;color:#55534e;font-size:15.5px}

/* Team */
.team-list{list-style:none;padding:0;margin:26px auto 0;display:grid;gap:10px}
.team-list li{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:14px;background:var(--grey);border:1px solid var(--line);color:#ffffffbf;font-size:15px;line-height:1.4}
.team-list svg{flex:none;width:30px;height:30px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.team-list b{display:block;color:#fff;font-weight:600;margin-bottom:2px}
@media(min-width:760px){.team-list{grid-template-columns:1fr 1fr}}

/* Process */
.process{text-align:center;background:radial-gradient(90% 60% at 50% 100%,#2c2a24,var(--black) 70%)}
.process-line{list-style:none;padding:0;margin:28px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:620px}
.process-line li{padding:16px 10px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line);font-size:14px;color:#ffffffcc}
.process-line b{display:block;font:400 24px/1 var(--display);color:var(--gold);margin-bottom:6px;text-transform:uppercase}
@media(min-width:760px){.process-line{grid-template-columns:repeat(4,1fr);max-width:980px}}

/* FAQ */
.faq{background:var(--ivory);color:var(--ink)}
.faq h2 em{color:#8d7443}
.faq details{max-width:760px;border-bottom:1px solid #d9d2c3;padding:18px 0}
.faq details:first-of-type{margin-top:22px}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:#8d7443;font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px;color:#55534e}

/* Final */
.final{text-align:center;padding-bottom:84px}
.final p{margin-top:12px;color:#ffffffbf}
.legal{padding:28px var(--gutter) 30px;border-top:1px solid var(--line);font-size:12.5px;color:#ffffff80;text-align:center}
.legal a{color:var(--gold)}
.legal p+p{margin-top:8px}

/* Sticky button on phones */
.sticky{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;padding:16px;border-radius:14px;background:var(--gold);color:var(--black);text-align:center;text-decoration:none;font:400 21px/1 var(--display);text-transform:uppercase;letter-spacing:.03em;box-shadow:0 10px 30px #000a;transform:translateY(160%);transition:transform .3s}
.show-sticky .sticky{transform:none}
@media(min-width:900px){.sticky{display:none}body{padding-bottom:0}}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.cta::after,.live i{animation:none}html{scroll-behavior:auto}}
/* Videos: the gala in the hero, the award stories below it. */
.reel video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#000}
.sound{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff40;background:#000000a6;color:#fff;font-size:18px;cursor:pointer;display:grid;place-items:center}
.wins{padding-top:56px;padding-bottom:56px}
.stories{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);margin:24px calc(var(--gutter) * -1) 0;padding:0 var(--gutter) 8px;scrollbar-width:none;max-width:none}
.stories::-webkit-scrollbar{display:none}
.story{position:relative;flex:0 0 58%;max-width:260px;margin:0;border-radius:16px;overflow:hidden;scroll-snap-align:start;border:1px solid #beaf8755;background:#000;cursor:pointer}
.story video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.story figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 12px 12px;background:linear-gradient(transparent,#000d);font:400 18px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.story.loud{border-color:var(--gold)}
@media(min-width:900px){.stories{justify-content:center;margin:24px auto 0;padding:0}.story{flex:0 0 180px}}
/* Awards strip under the main button: photo tiles drifting to the right on their own. */
.ticker{position:relative;margin:26px calc(var(--gutter) * -1) 0;overflow:hidden;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{list-style:none;display:flex;gap:10px;width:max-content;margin:0;padding:0;animation:ticker 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tile{position:relative;flex:none;width:168px;height:200px;border-radius:14px;overflow:hidden;border:1px solid #beaf8766;background:#000}
.tile img{display:block;width:100%;height:100%;object-fit:cover}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:30px 10px 10px;background:linear-gradient(transparent,#000000e6);font-size:12px;line-height:1.3;color:#ffffffd9;text-align:left}
.tile b{display:block;font:400 26px/1 var(--display);color:var(--gold-hi);margin-bottom:3px;text-transform:uppercase}
@media(min-width:900px){.tile{width:200px;height:236px}}
@media(prefers-reduced-motion:reduce){.ticker{overflow-x:auto}.ticker-track{animation:none;padding:0 var(--gutter)}}
/* Careers questionnaire */
.apply-page{padding-bottom:0;min-height:100vh;background:radial-gradient(120% 60% at 50% 0%,#2c2a24 0%,var(--black) 60%)}
.apply-step{font:500 13px/1 var(--sans);color:#ffffffa6;letter-spacing:.08em}
.apply-progress{height:3px;background:#ffffff1a}
.apply-progress i{display:block;height:100%;width:0;background:var(--gold);transition:width .35s ease}
.apply{padding:28px var(--gutter) 48px}
.apply-card{max-width:560px;margin:0 auto}
.apply-card h1{font:400 clamp(30px,7.4vw,44px)/1.05 var(--display);text-transform:uppercase}
.apply-sub{margin-top:10px;color:#ffffffbf}
.apply-options{display:grid;gap:10px;margin-top:24px}
.apply-options.grid{grid-template-columns:1fr 1fr}
.apply-options button{padding:17px 16px;border-radius:12px;border:1px solid #ffffff2e;background:#ffffff0d;color:#fff;font:500 16px/1.3 var(--sans);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.apply-options button:hover,.apply-options button:focus-visible{border-color:var(--gold);background:#beaf871f;outline:none}
.apply-options button.chosen{border-color:var(--gold);background:#beaf8733}
.apply-back{margin-top:22px;padding:8px 0;border:0;background:none;color:#ffffffa6;font:400 15px var(--sans);cursor:pointer}
.apply-form label{display:grid;gap:7px;margin-top:16px;font-size:14px;color:#ffffffcc}
.apply-form input,.apply-form select{width:100%;height:54px;padding:0 14px;border-radius:12px;border:1px solid #ffffff38;background:#ffffff12;color:#fff;font:400 16px var(--sans)}
.apply-form select option{color:#111}
.apply-form input:focus,.apply-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #beaf8740}
.apply-phone{display:grid;grid-template-columns:132px 1fr;gap:8px}
.apply-trap{position:absolute;left:-9999px;width:1px;height:1px}
.apply-form .cta{width:100%;border:0;cursor:pointer;margin-top:24px}
.apply-error{margin-top:10px;color:#ff8a80;font-size:14px}
.apply-error:empty{display:none}
.apply-legal{margin-top:12px;font-size:12.5px;color:#ffffff8c;text-align:center}
.apply-legal a{color:var(--gold)}
.apply-done{text-align:center;padding-top:20px}
.apply-check{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--black);font-size:30px;font-weight:700}
.apply-hello{color:var(--gold);font-weight:500;margin-bottom:8px}
.apply-next{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;text-align:left}
.apply-next li{display:flex;gap:12px;align-items:center;padding:14px;border-radius:12px;background:#ffffff0d;border:1px solid var(--line)}
.apply-next b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--grey-2);color:var(--gold);font:400 17px/1 var(--display)}
.apply-home{display:inline-block;margin-top:26px;color:var(--gold);text-decoration:none}
a.brand{color:#fff;text-decoration:none}
a.brand{color:#fff;text-decoration:none}
