:root{
  --black:#010101;
  --white:#FEFEFE;
  --yellow:#FFCD01;
  --muted:rgba(254,254,254,.68);
  --line:rgba(254,254,254,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--black);
  color:var(--white);
  font-family:Helvetica,Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--white);text-decoration:none}
a:hover{color:var(--yellow)}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.container{max-width:1060px;margin:0 auto;padding:0 20px}

/* anchored sections clear the sticky header */
#services,#compare,#proof,#faq{scroll-margin-top:92px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--black);
  border-bottom:1px solid var(--line);
}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;
  min-height:72px;gap:16px;
}
.site-header .logo{flex:none;display:block;line-height:0}
.site-header .logo img{height:60px;width:auto;max-width:none}
.site-nav{display:flex;gap:28px}
.site-nav a{
  text-transform:uppercase;font-weight:700;
  font-size:.85rem;letter-spacing:.08em;
}

/* ---------- hero ---------- */
.hero{padding:96px 0 72px}
.hero h1{
  font-size:clamp(2.1rem,5.6vw,3.5rem);
  line-height:1.12;letter-spacing:-.02em;font-weight:700;
  max-width:19ch;color:var(--yellow);
}
.hero .sub{margin-top:22px;max-width:56ch;color:var(--white);font-size:1.08rem}
.hero .sub p+p{margin-top:4px}
.cta-row{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center}
.hero-stats{
  justify-self:end;
  border-left:2px solid var(--yellow);padding-left:32px;
  display:flex;flex-direction:column;gap:30px;
}
.stat .num{
  font-size:clamp(2.4rem,4.5vw,3.4rem);font-weight:700;
  color:var(--yellow);line-height:1.05;letter-spacing:-.02em;
}
.stat .lbl{color:var(--muted);font-size:.98rem;margin-top:4px}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;padding:14px 26px;border-radius:8px;
  font-weight:700;font-size:.92rem;border:1px solid transparent;
  text-transform:uppercase;letter-spacing:.06em;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--yellow);color:var(--black)}
.btn-solid:hover{background:var(--white);color:var(--black)}
.btn-white{background:var(--white);color:var(--black)}
.btn-white:hover{background:var(--yellow);color:var(--black)}
.btn-black{background:var(--black);color:var(--white)}
.btn-black:hover{color:var(--yellow)}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.btn-pulse{animation:pulse 1.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
  .btn:hover{transform:none}
  .btn-pulse{animation:none}
}

/* ---------- sections ---------- */
.section{padding:72px 0}
.section h2{
  font-size:clamp(1.5rem,3.4vw,2.1rem);
  letter-spacing:-.01em;margin-bottom:12px;
}
.section .lead{color:var(--muted);max-width:60ch;margin-bottom:36px}

/* ---------- what I do grid ---------- */
.grid9{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  border:1px solid var(--line);border-radius:10px;padding:24px 22px;
  opacity:0;transform:translateY(16px);
  transition:opacity .55s ease,transform .55s ease;
}
.card.in{opacity:1;transform:none}
.card svg{width:40px;height:40px;stroke:var(--yellow);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.card h3{font-size:.98rem;letter-spacing:.04em;margin-bottom:6px}
.card p{color:var(--muted);font-size:.94rem}

/* ---------- comparison table ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.95rem}
th,td{padding:13px 16px;text-align:center;border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:none}
th{font-size:.92rem}
td:first-child,th:first-child{text-align:left;color:var(--white)}
td:first-child strong{display:block}
.row-sub{display:block;color:var(--muted);font-size:.85rem;font-weight:400;margin-top:2px;max-width:36ch}
.yes{color:var(--yellow);font-weight:700}
.no{color:rgba(254,254,254,.35)}
.solo{background:rgba(255,205,1,.07)}
th.solo{color:var(--yellow)}

/* ---------- testimonials ---------- */
.testimonials{padding:72px 0}
.t-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.t-item{background:var(--white);color:var(--black);border-radius:12px;padding:26px 24px}
.t-item::before{content:"\201C";display:block;color:var(--yellow);
  font-size:2.6rem;line-height:.6;font-weight:700;margin-bottom:14px}
.t-item p{font-size:.94rem;font-weight:500}
.t-item .src{margin-top:12px;font-weight:700;font-size:.86rem}

/* ---------- proof ---------- */
.shots{
  display:flex;gap:18px;overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:14px;
  scrollbar-color:var(--yellow) rgba(254,254,254,.1);
}
.shots::-webkit-scrollbar{height:8px}
.shots::-webkit-scrollbar-track{background:rgba(254,254,254,.1);border-radius:4px}
.shots::-webkit-scrollbar-thumb{background:var(--yellow);border-radius:4px}
.shots-wrap{position:relative}
.shot-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;border:none;
  background:var(--yellow);color:var(--black);
  font-size:1.6rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,opacity .2s;
}
.shot-nav:hover{background:var(--white)}
.shot-nav[disabled]{opacity:.35;cursor:default}
.shot-nav.prev{left:-10px}
.shot-nav.next{right:-10px}
@media(max-width:600px){.shot-nav{display:none}}
.shot{
  flex:0 0 min(720px,86%);scroll-snap-align:start;
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  cursor:zoom-in;background:transparent;
  height:100%;display:flex;align-items:center;justify-content:center;
}
.lightbox{
  position:fixed;inset:0;z-index:100;background:rgba(1,1,1,.94);
  display:none;align-items:center;justify-content:center;padding:24px;
  cursor:zoom-out;
}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,94vw);max-height:92vh;border-radius:8px}

/* ---------- CTA outlined box ---------- */
.cta-section{padding:72px 0}
.cta-box{
  background:var(--yellow);color:var(--black);border-radius:12px;
  width:fit-content;margin:0 auto;
  padding:48px 44px;
  display:flex;align-items:center;
  gap:48px;
}
.cta-box p{font-size:clamp(1.2rem,5.5vw,1.5rem);font-weight:700;line-height:1.25}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:44px 0 36px}
.f-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.f-grid .logo img{height:52px;width:auto}
.f-mid{text-align:center;color:var(--muted);font-size:.95rem}
.f-mid .row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}
.f-mid svg{width:16px;height:16px;stroke:var(--yellow);fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.f-badge{justify-self:end}
.f-badge img{height:160px;width:auto;filter:brightness(0) invert(.93)}
.copyright{text-align:center;color:rgba(254,254,254,.4);font-size:.85rem;margin-top:28px}
.site-footer.minimal{padding:32px 0}
.site-footer.minimal .copyright{margin-top:0}

/* ---------- about page ---------- */
.about-plate{
  display:inline-block;
  border:1px solid var(--yellow);border-radius:10px;
  padding:12px 26px;margin-top:56px;
}
.about-plate h1{font-size:1.35rem;letter-spacing:.02em}
.prose{padding-top:48px;padding-bottom:8px}
.prose p{max-width:70ch}
.prose h2{font-size:clamp(1.5rem,3.4vw,2rem);margin-bottom:18px}
.prose p{color:var(--muted);margin-bottom:16px}

/* ---------- FAQ ---------- */
.faq{padding-top:56px;padding-bottom:24px}
.faq h2,.faq-item{max-width:760px}
.faq h2{font-size:clamp(1.5rem,3.4vw,2rem);margin-bottom:24px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{
  width:100%;background:none;border:none;color:var(--white);
  font:inherit;font-weight:700;text-align:left;cursor:pointer;
  padding:18px 4px;display:flex;justify-content:space-between;gap:16px;
  align-items:center;
}
.faq-q:hover{color:var(--yellow)}
.faq-q .mark{color:var(--yellow);font-size:1.3rem;line-height:1;
  transition:transform .25s;flex:none}
.faq-item.open .mark{transform:rotate(45deg)}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .3s ease;
  color:var(--muted);
}
.faq-a p{padding:0 4px 18px;max-width:65ch}

/* ---------- responsive ---------- */
@media(max-width:820px){
  .grid9{grid-template-columns:repeat(2,1fr)}
  .t-row{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-stats{
    justify-self:start;flex-direction:row;flex-wrap:wrap;gap:26px 42px;
    border-left:none;padding-left:0;
    border-top:1px solid var(--line);padding-top:28px;width:100%;
  }
  .stat .num{font-size:2.1rem}
}
@media(max-width:600px){
  .hero{padding:64px 0 52px}
  .grid9{grid-template-columns:1fr}
  .cta-box{flex-direction:column;text-align:center;gap:24px;padding:36px 24px}
  .f-grid{grid-template-columns:1fr;justify-items:center;gap:20px}
  .f-badge{justify-self:center}
  .site-header .logo img{height:clamp(26px,9vw,38px)}
  .site-nav{gap:14px}
  .site-nav a{font-size:.75rem;letter-spacing:.04em}
}
@media(max-width:350px){
  .site-nav{gap:10px}
  .site-nav a{font-size:.7rem;letter-spacing:.02em}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .card{opacity:1;transform:none;transition:none}
  .faq-a{transition:none}
}
.shots{height:350px}
.shot img{max-height:100%;width:auto;max-width:100%}
.lightbox img{transition:transform .2s ease;cursor:zoom-in}
.lightbox img.zoomed{transform:scale(1.8);cursor:zoom-out}
@media(hover:none){
  .lightbox{overflow:auto;touch-action:pinch-zoom}
  .lightbox img{touch-action:pinch-zoom}
}
@media(max-width:600px){.br-desk{display:none}}
@media(max-width:600px){
  .hero-stats{flex-wrap:nowrap;gap:16px;justify-content:space-between}
  .stat{flex:1 1 0;min-width:0}
  .stat .num{font-size:1.7rem}
  .stat .lbl{font-size:.82rem;line-height:1.35}
}
@media(max-width:600px){
  .cta-row{flex-wrap:nowrap;gap:10px}
  .cta-row .btn{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;padding:14px 6px;font-size:.82rem;letter-spacing:.02em;white-space:nowrap}
}
.roster-status{margin-top:18px;font-size:.9rem;color:var(--muted);display:flex;align-items:center;gap:9px}
.roster-status::before{content:"";width:12px;height:12px;border-radius:50%;background:#2FA65A;flex:none}
.roster-status::after{content:"Roster open - taking on new brands"}
.roster-status[data-status="last"]::before{background:var(--yellow);animation:blink 1.6s ease-in-out infinite}
.roster-status[data-status="last"]::after{content:"One spot left on the roster"}
.roster-status[data-status="full"]::before{background:rgba(254,254,254,.4)}
.roster-status[data-status="full"]::after{content:"Roster full - book a call to plan a start date"}
@keyframes blink{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.roster-status::before{animation:none}}
.card p{text-wrap:balance}
.card{padding:24px 19px}
.card svg{margin-bottom:14px}
.shot-hint{margin-top:8px;font-size:.85rem;color:rgba(254,254,254,.45)}