/* ===================================================================
   EHNGER BEATZ — site styles
   Street / zine · dark ink + electric blue · pt-BR
   Tokens distilled from the brand design system.
   =================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Hanken+Grotesk:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root{
  /* base */
  --ink:#0A0B0D; --ink-2:#101218; --surface:#15171E; --surface-2:#1C1F28; --line:#262A35;
  /* accent */
  --blue:#1F5CFF; --blue-bright:#5384FF; --blue-deep:#0B2C9C;
  /* neutrals */
  --white:#FFFFFF; --off:#ECECE8; --paper:#F1F0EA; --muted:#9498A4; --muted-2:#6B6F7A;
  /* semantic */
  --bg:var(--ink); --fg1:var(--white); --fg2:var(--off); --fg3:var(--muted); --accent:var(--blue);
  /* type */
  --display:'Anton', Impact, 'Arial Narrow', sans-serif;
  --sans:'Hanken Grotesk', system-ui, sans-serif;
  --mono:'Space Mono', ui-monospace, monospace;
  --track-display:.01em; --track-label:.2em; --track-eyebrow:.34em;
  /* spacing */
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-6:48px; --s-8:64px; --s-10:80px; --s-12:96px;
  /* radii */
  --r-sm:6px; --r-md:12px; --r-lg:16px; --r-xl:22px; --r-pill:999px;
  /* elevation */
  --shadow-card:0 2px 10px rgba(0,0,0,.40);
  --shadow-blue:0 10px 26px rgba(31,92,255,.32);
  --shadow-band:0 14px 40px rgba(31,92,255,.28);
  /* layout */
  --maxw:1180px; --pad-x:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--off);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
#root{min-height:100vh}
img{display:block;max-width:100%}
:focus-visible{outline:2.5px solid var(--blue-bright);outline-offset:3px;border-radius:4px}

/* film grain */
.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad-x)}

/* ============ TOP BAR ============ */
.topbar{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:13px 28px;background:rgba(10,11,13,.82);backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.topbar .brand{display:flex;align-items:center;gap:11px;cursor:pointer;flex:none}
.topbar .brand img{height:42px;width:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.topbar nav{display:flex;gap:26px;align-items:center}
.topbar nav a{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;transition:color .16s;position:relative}
.topbar nav a:hover{color:var(--white)}
.topbar nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--blue);transition:right .2s ease}
.topbar nav a:hover::after{right:0}

/* ============ BUTTONS ============ */
.btn{font-family:var(--sans);font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.04em;border:none;cursor:pointer;
  padding:15px 26px;border-radius:999px;display:inline-flex;align-items:center;gap:12px;text-decoration:none;
  transition:transform .16s ease,box-shadow .16s,background .16s,color .16s,border-color .16s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn.primary{background:var(--blue);color:var(--ink);box-shadow:var(--shadow-blue)}
.btn.primary:hover{background:var(--blue-bright)}
.btn.ghost{background:transparent;color:var(--white);border:1.5px solid var(--white)}
.btn.ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn.sm{padding:12px 20px;font-size:13px}
.btn .arr{font-family:var(--mono);font-weight:700}
.icbtn{width:54px;height:54px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:18px;transition:transform .16s ease,background .16s;border:none;text-decoration:none}
.icbtn:hover{transform:translateY(-2px)}
.icbtn.fill{background:var(--blue);color:var(--ink)}
.icbtn.out{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}

/* ============ PILLS ============ */
.pillrow{display:flex;gap:10px;flex-wrap:wrap}
.pill{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);
  border-radius:999px;padding:9px 16px;color:var(--off);background:var(--surface);transition:.16s}
.pill.on{background:var(--blue);border-color:var(--blue);color:var(--ink);font-weight:700}
.pill.lg{font-size:14px;padding:12px 22px}

/* ============ MARQUEE ============ */
.marquee{background:var(--blue);overflow:hidden;white-space:nowrap;padding:14px 0;box-shadow:var(--shadow-band)}
.marquee .track{display:inline-block;animation:scroll 30s linear infinite;will-change:transform}
.marquee span{font-family:var(--display);font-size:27px;letter-spacing:.05em;color:var(--ink);text-transform:uppercase;padding:0 16px}
.marquee .star{color:var(--white)}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}

/* ============ TORN PAPER DIVIDER ============ */
.torn{display:block;width:100%;height:74px;position:relative;z-index:2;margin:0;pointer-events:none}
.torn svg{display:block;width:100%;height:100%}

/* ============ HALFTONE ============ */
.halftone{background-image:radial-gradient(var(--blue) 1.35px, transparent 1.6px);background-size:11px 11px}

/* ============ SECTION SHELL ============ */
.block{padding:84px var(--pad-x);position:relative}
.block.tight{padding:64px var(--pad-x)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--blue);margin:0 0 16px}
.sec-head{display:flex;align-items:flex-end;gap:18px;margin-bottom:30px;flex-wrap:wrap}
.sec-num{font-family:var(--mono);font-size:13px;color:var(--blue);letter-spacing:.2em;border:1px solid var(--blue);border-radius:999px;padding:5px 13px;flex:none}
.sec-title{font-family:var(--display);font-size:clamp(38px,6.4vw,72px);line-height:.9;text-transform:uppercase;color:var(--white);letter-spacing:var(--track-display);margin:0}
.sec-sub{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-left:auto}
.lead{font-size:18px;color:var(--off);max-width:60ch;line-height:1.68;margin:0}
.lead.muted{color:var(--muted);font-size:16px}
.star-mark{color:var(--blue);display:inline-block}

/* ============ TAPE + STAR MOTIFS ============ */
.tape{position:absolute;width:120px;height:34px;background:rgba(236,236,232,.42);box-shadow:0 2px 10px rgba(0,0,0,.4);
  border-left:1px dashed rgba(255,255,255,.25);border-right:1px dashed rgba(255,255,255,.25);backdrop-filter:blur(1px)}
.tape::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 5px)}
.blob-star{position:absolute;font-family:var(--display);color:var(--blue);opacity:.9;pointer-events:none;line-height:1}

/* ============ HERO ============ */
.hero-stage{position:relative}
.hero{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,600px) 1fr;align-items:end;gap:40px;
  max-width:var(--maxw);margin:0 auto;padding:64px var(--pad-x) 40px;min-height:680px}
.hero-copy{padding-bottom:24px;position:relative;z-index:5;max-width:600px}
.hero .eyebrow{margin-bottom:20px}
.hero h1{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.84;margin:0;color:var(--white);
  font-size:clamp(64px,11.5vw,158px);letter-spacing:var(--track-display)}
.hero h1 em{font-style:normal;color:var(--blue);position:relative}
.hero .sub{margin-top:24px;max-width:42ch;font-size:18px;line-height:1.6;color:var(--off)}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero .pillrow{margin-top:26px}

/* hero figure — large, glued near the viewport right edge, base behind the marquee */
.hero-figure{position:absolute;right:clamp(10px,2.5vw,48px);bottom:-8px;
  height:clamp(480px,47vw,710px);width:auto;z-index:2}
.hero-figure .glow{position:absolute;left:50%;top:8%;width:122%;bottom:14%;height:auto;transform:translateX(-50%);z-index:0;
  background:radial-gradient(circle at 50% 42%, rgba(31,92,255,.5), rgba(31,92,255,.16) 40%, transparent 64%);filter:blur(10px)}
.hero-figure .fstar{position:absolute;right:-2%;top:6%;font-family:var(--display);font-size:clamp(120px,16vw,210px);
  color:var(--blue);opacity:.92;z-index:1;transform:rotate(-8deg);line-height:1}
.hero-figure .figimg{position:relative;z-index:2;width:100%;height:auto;
  -webkit-mask-image:linear-gradient(to bottom,#000 52%,transparent 86%);mask-image:linear-gradient(to bottom,#000 52%,transparent 86%)}
/* darken / fuse the base where it meets the blue band */
.hero-figure .fade{display:none;position:absolute;left:-4%;right:-4%;bottom:0;height:150px;z-index:3;pointer-events:none;
  background:linear-gradient(to bottom, transparent, rgba(8,12,30,.34) 56%, rgba(8,12,30,.62))}
.hero-figure .ftape{position:absolute;z-index:4;top:5%;right:14%;width:96px;height:28px;transform:rotate(-12deg)}

.hero-marquee{position:relative;z-index:4}
.hero-marquee .marquee{transform:rotate(-1.3deg) scale(1.04)}
.hero-figure .figtitle{display:none}

/* ============ PHOTO FRAME (duotone) ============ */
.photo-frame{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--ink-2)}
.photo-frame img{width:100%;height:100%;object-fit:cover;filter:contrast(1.03) saturate(1.05)}
.photo-frame::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(130px at 0% 0%, rgba(31,92,255,.55), transparent 68%),
    radial-gradient(130px at 100% 0%, rgba(31,92,255,.42), transparent 68%),
    radial-gradient(150px at 0% 100%, rgba(31,92,255,.42), transparent 68%),
    radial-gradient(150px at 100% 100%, rgba(11,44,156,.6), transparent 68%);
  mix-blend-mode:screen;opacity:.9}
.photo-frame.soft img{filter:contrast(1.02) saturate(1.06)}
.photo-frame.soft::after{opacity:.55}

/* ============ SOBRE ============ */
.sobre-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center}
.sobre-grid p + p{margin-top:18px}

/* ============ BEATS / PLAYER ============ */
.beats-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.player{background:linear-gradient(160deg,var(--surface-2),var(--ink-2));border:1px solid var(--line);border-radius:var(--r-xl);
  padding:26px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}
.player::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,var(--blue-deep),transparent 70%);opacity:.4}
.player .ptop{display:flex;align-items:center;gap:16px;position:relative}
.pads{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;width:64px;height:64px;flex:none;
  background:#0c0e14;border:1px solid var(--line);border-radius:12px;padding:6px}
.pads i{border-radius:3px;background:#23262f;transition:background .12s}
.pads i.lit{background:var(--blue);box-shadow:0 0 8px rgba(31,92,255,.8)}
.player .pnow{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
.player .ptitle{font-family:var(--display);font-size:30px;text-transform:uppercase;color:var(--white);line-height:.95;margin-top:4px}
.player .pmeta{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:.06em}
.player .wave{display:flex;align-items:center;gap:3px;height:58px;margin:24px 0 14px}
.player .wave i{flex:1;background:var(--blue);border-radius:2px;opacity:.26;transition:opacity .12s,transform .12s}
.player .wave i.on{opacity:1}
.player .wave i.cursor{transform:scaleY(1.18)}
.player .pbottom{display:flex;align-items:center;gap:16px}
.player .play{width:52px;height:52px;border-radius:999px;background:var(--blue);color:var(--ink);display:flex;align-items:center;
  justify-content:center;font-size:18px;flex:none;cursor:pointer;border:none;transition:transform .16s;box-shadow:var(--shadow-blue)}
.player .play:hover{transform:scale(1.06)}
.player .ptime{font-family:var(--mono);font-size:12px;color:var(--muted);flex:none}
.player .pbar{flex:1;height:6px;border-radius:999px;background:var(--line);position:relative;overflow:hidden;cursor:pointer}
.player .pbar i{position:absolute;left:0;top:0;bottom:0;background:var(--blue);transition:width .1s linear}
.platrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.platlink{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--off);text-decoration:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:11px 18px;transition:.16s}
.platlink:hover{border-color:var(--blue);color:var(--white);transform:translateY(-2px)}
.platlink .dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.beats-note{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-top:20px;display:flex;gap:8px;align-items:center}

/* ============ SETS ============ */
.sets-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.sets-photo{position:relative}
.sets-photo .tape{top:-14px;left:34px;transform:rotate(-7deg);z-index:3}
.sets-photo .photo-frame{transform:rotate(-2deg);aspect-ratio:4/3}
.sets-tags{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.sets-tag{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}
.sets-tag .n{font-family:var(--mono);font-size:12px;color:var(--blue);letter-spacing:.16em;flex:none}
.sets-tag .g{font-family:var(--display);font-size:clamp(28px,4vw,46px);text-transform:uppercase;color:var(--white);line-height:.95;letter-spacing:.01em}
.sets-tag:hover .g{color:var(--blue)}
.sets-tag .g{transition:color .16s}

/* ============ DRUMKIT TICKET ============ */
.ticket{background:var(--paper);color:var(--ink);border-radius:var(--r-xl);padding:38px 40px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:1.4fr auto;gap:32px;align-items:center}
.ticket::before,.ticket::after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;background:var(--ink);top:50%;transform:translateY(-50%)}
.ticket::before{left:-20px}.ticket::after{right:-20px}
.ticket .perf{position:absolute;left:64%;top:18px;bottom:18px;border-left:2px dashed rgba(0,0,0,.18)}
.ticket .t-corner{position:absolute;top:20px;right:24px;color:var(--blue);font-size:22px}
.ticket .t-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-deep)}
.ticket h3{font-family:var(--display);font-size:clamp(40px,5.2vw,62px);text-transform:uppercase;margin:8px 0 14px;line-height:.9;color:var(--ink)}
.ticket p{font-size:15px;color:#33363d;max-width:42ch;margin:0 0 4px;line-height:1.6}
.ticket .t-right{text-align:center}
.ticket .t-stub{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px}
.ticket .t-free{font-family:var(--display);font-size:54px;line-height:.8;color:var(--blue);text-transform:uppercase}
.ticket .t-free small{display:block;font-size:13px;letter-spacing:.2em;color:var(--ink);font-family:var(--mono)}

/* ============ VIOLÃO ============ */
.violao{position:relative}
.violao-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.violao-photo .photo-frame{transform:rotate(2deg);aspect-ratio:3/2}
.violao-photo{position:relative}
.violao-photo .tape{top:-12px;right:40px;transform:rotate(8deg);z-index:3}

/* ============ CONTATO ============ */
.contato{position:relative;overflow:hidden}
.contato-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.contact-list{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.contact-row{display:flex;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--surface);text-decoration:none;transition:.16s;cursor:pointer;width:100%;box-sizing:border-box}
.contact-row:hover{border-color:var(--blue);transform:translateY(-2px);background:var(--surface-2)}
.contact-row.primary{background:var(--blue);border-color:var(--blue)}
.contact-row.primary .c-k,.contact-row.primary .c-v{color:var(--ink)}
.contact-row .c-ic{width:46px;height:46px;border-radius:12px;background:var(--ink-2);display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:15px;color:var(--blue);flex:none;border:1px solid var(--line)}
.contact-row.primary .c-ic{background:rgba(10,11,13,.16);color:var(--ink);border-color:transparent}
.contact-row .c-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.contact-row .c-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.contact-row .c-v{font-weight:800;color:var(--white);font-size:18px;margin-top:2px;overflow-wrap:anywhere;word-break:break-word}
.contact-row .c-arr{margin-left:auto;font-family:var(--mono);color:var(--blue);font-size:18px}
.contact-row.primary .c-arr{color:var(--ink)}
.contato-photo .photo-frame{transform:rotate(-2deg);aspect-ratio:3/4}
.contato-photo{position:relative}
.contato-photo .tape{top:-12px;left:40px;transform:rotate(-6deg);z-index:3}

/* ============ FOOTER ============ */
footer{position:relative;padding:70px 0 36px}
footer .fbrasao{display:flex;justify-content:center;margin:8px 0 6px}
footer .fbrasao img{width:min(520px,76vw);height:auto;filter:drop-shadow(0 8px 30px rgba(0,0,0,.6))}
footer .fsocial{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:18px}
footer .fsocial a{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 16px;transition:.16s}
footer .fsocial a:hover{color:var(--white);border-color:var(--blue)}
footer .fbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
footer .fbar .fmeta{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}

/* ============ TOAST ============ */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--blue);color:var(--ink);font-family:var(--mono);
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:13px 24px;border-radius:999px;box-shadow:0 10px 26px rgba(31,92,255,.4);
  z-index:300;font-weight:700;animation:toastin .2s ease}
@keyframes toastin{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

/* ============ REVEAL ON LOAD ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ============ RESPONSIVE ============ */
@media (max-width:920px){
  .sobre-grid,.beats-grid,.sets-grid,.violao-grid,.contato-grid{grid-template-columns:1fr;gap:32px}
  .ticket{grid-template-columns:1fr;gap:22px}
  .ticket .perf{display:none}
  .ticket .t-right{text-align:left}
}
@media (max-width:760px){
  .topbar nav{display:none}
  .topbar{padding:11px 18px}
  .block{padding:60px var(--pad-x)}
  /* MOBILE HERO — full-bleed photo (masked base) + overlaid left-aligned title → sub → buttons → pills → marquee */
  .hero{display:flex;flex-direction:column;min-height:0;padding:12px var(--pad-x) 26px;gap:0}
  .topbar .brand img{height:54px}
  .hero .eyebrow{display:none}
  .hero-figure{order:1;position:relative;right:auto;bottom:auto;height:auto;
    width:calc(100% + 2*var(--pad-x));margin:0 calc(-1*var(--pad-x)) 0;display:block}
  .hero-figure .figimg{-webkit-mask-image:linear-gradient(to bottom,#000 66%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 66%,transparent 100%)}
  .hero-figure .glow{top:6%;height:auto;bottom:5px;
    -webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 72%,transparent 100%)}
  .hero-figure .fade{display:block;left:0;right:0;bottom:0;height:44%;z-index:3;
    background:linear-gradient(to top,rgba(10,11,13,.85) 0%,rgba(10,11,13,.45) 40%,transparent 100%)}
  .hero-figure .ftape{top:3%}
  .hero-figure .figtitle{display:block;position:absolute;left:var(--pad-x);right:var(--pad-x);bottom:2%;z-index:4;
    text-align:left;font-family:var(--display);font-weight:400;text-transform:uppercase;
    line-height:.86;color:var(--white);letter-spacing:var(--track-display);font-size:clamp(58px,17vw,104px);
    text-shadow:0 2px 20px rgba(0,0,0,.55)}
  .hero-figure .figtitle em{font-style:normal;color:var(--blue)}
  .hero-copy{order:2;padding-bottom:0;padding-top:0;max-width:none;text-align:left}
  .hero-copy h1{display:none}
  .hero .sub{margin-top:14px;max-width:none}
  .hero .ctas{flex-direction:column;align-items:stretch}
  .hero .ctas .btn{width:100%;justify-content:center}
  .hero-marquee{display:block;order:3;margin-top:8px}
  .hero-marquee .marquee{padding:10px 0}
  .hero-marquee .marquee span{font-size:17px;padding:0 11px}
  .sec-sub{display:none}
}
@media (max-width:420px){
  .hero h1{font-size:clamp(54px,18vw,84px)}
  .sec-title{font-size:clamp(34px,11vw,52px)}
}

/* DESKTOP — figure scales by height so it fills the right side and grows with the viewport */
@media (min-width:761px){
  .hero-figure .figimg{height:100%;width:auto;max-width:none}
}
