@font-face{font-family:FE;src:url('../fonts/FE-FONT.ttf')}@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500&display=swap');:root{--r:#7c2d12;--o:#cd691b;--y:#d98721;--s:#374151;--a:#695853;--i:#fff9f2;--l:#ddcec2;--ser:'Source Serif 4',Georgia,serif;--sans:'Source Sans 3',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--i);color:#2e211d;font:18px/1.6 var(--sans)}a{color:inherit}.skip{position:fixed;top:5px;left:5px;transform:translateY(-200%);z-index:100;background:#fff;padding:10px}.skip:focus{transform:none}header{height:70px;position:sticky;top:0;z-index:20;display:flex;align-items:center;padding:0 max(22px,calc((100% - 1240px)/2));background:#fff9f2ed;border-bottom:1px solid var(--l);backdrop-filter:blur(12px)}.brand{font:24px FE;text-decoration:none;color:var(--r)}nav{margin-left:auto;display:flex;gap:24px;align-items:center}nav a{text-decoration:none;font-size:15px;font-weight:600}#menu{display:none;margin-left:auto}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.section{padding:clamp(72px,9vw,130px) 0}.eyebrow{color:var(--o);font-size:13px;font-weight:700;letter-spacing:.14em}.btn,.amounts button,#menu{min-height:44px;padding:10px 18px;border:1px solid var(--r);border-radius:999px;background:transparent;color:var(--r);font:700 16px var(--sans);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.primary,.amounts button[aria-pressed=true]{background:var(--r);color:#fff}.actions{display:flex;gap:12px;flex-wrap:wrap}button:focus-visible,a:focus-visible,summary:focus-visible,.seg:focus{outline:3px solid var(--y);outline-offset:3px}.hero{padding:clamp(78px,9vw,130px) 0}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(60px,8vw,120px);align-items:end}.hero h1,.final h2{font:clamp(84px,10vw,150px)/.78 FE;color:var(--r);margin:25px 0 50px}.tagline{font:400 clamp(38px,4vw,60px)/1.08 var(--ser);max-width:780px;margin:0 0 34px}.hero aside{border-left:1px solid var(--l);padding-left:38px}.hero aside>p{font:400 26px/1.45 var(--ser)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.metrics div{border-top:1px solid var(--l);padding-top:14px}.metrics b,.metrics span{display:block}.metrics b{color:var(--r)}h2{font:400 clamp(40px,5vw,68px)/1.08 var(--ser);color:var(--r);margin:12px 0 34px}.film-editorial{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(55px,8vw,120px);align-items:start}.film-title>span{display:block;color:var(--o);font-size:13px;font-weight:700;letter-spacing:.16em;margin:25px 0}.film-title h2{font-size:clamp(43px,5.2vw,72px)}.synopsis{margin-top:95px;padding:38px;border:1px solid var(--l);background:#fff}.synopsis small{color:var(--o);font-size:12px;font-weight:700;letter-spacing:.14em}.synopsis p{font:400 22px/1.55 var(--ser)}.film-note{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:960px;margin:65px 0 0 auto;padding-top:30px;border-top:1px solid var(--l)}.keywords{border-top:1px solid var(--l);padding-top:20px;margin-top:38px;color:var(--a);font-size:13px;font-weight:700;letter-spacing:.12em}.quote{background:var(--r);color:white;padding:clamp(72px,9vw,120px) 0}.quote .wrap{font:400 clamp(38px,5.5vw,74px)/1.08 var(--ser)}.campaign{background:var(--s);color:#fff}.campaign h2,.campaign .eyebrow{color:#fff}.deck{font:400 clamp(27px,3vw,42px)/1.3 var(--ser);max-width:950px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:80px;font-size:20px;margin:50px 0}.progress{background:#fff;color:#2e211d;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.progress>div:nth-child(2){text-align:right}.progress strong,.progress span{display:block}.progress strong{font:400 36px var(--ser);color:var(--r)}.bar{grid-column:1/-1;height:14px;background:#eaded5;border-radius:20px;position:relative}.bar i{display:block;height:100%;background:var(--o);border-radius:20px}.bar em{position:absolute;left:60%;top:-7px;border-left:2px solid var(--r);height:28px}.labels{grid-column:1/-1;display:flex;justify-content:space-between;font-size:14px;color:var(--a)}.progress small{grid-column:1/-1;color:var(--a)}.goals{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #fff6;margin-top:60px}.goals article{padding:34px 38px 0 0}.goals article+article{border-left:1px solid #fff6;padding-left:38px}.goals b{font:400 38px var(--ser)}.goals h3{font:400 27px var(--ser)}.budget{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.donut{width:min(500px,88vw);aspect-ratio:1;position:sticky;top:110px}.donut svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.seg{fill:none;stroke-width:34;cursor:pointer;transition:.15s}.seg:hover,.seg:focus{stroke-width:41;filter:drop-shadow(0 3px 5px #3214)}#center{position:absolute;inset:27%;display:flex;flex-direction:column;justify-content:center;text-align:center;pointer-events:none}#center span{font-size:11px;letter-spacing:.11em;color:var(--o);font-weight:700}#center strong{font:400 38px var(--ser);color:var(--r)}#center small{color:var(--a)}.budget-list details{border-top:1px solid var(--l)}.budget-list summary{list-style:none;display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:12px;padding:16px 0;align-items:center;cursor:pointer}.budget-list summary::-webkit-details-marker{display:none}.budget-list summary:after{content:'+';grid-column:4;font-size:23px;color:var(--r)}.budget-list details[open] summary:after{content:'−'}.dot{width:12px;height:12px;border-radius:50%;background:var(--c)}.budget-list summary b:nth-child(3){white-space:nowrap}.budget-list details p{margin:0 40px 20px 26px;color:var(--a);font-size:15px}.support{background:#f4e8dd}.card{background:#fff;border:1px solid var(--l);padding:clamp(26px,5vw,62px);max-width:980px;box-shadow:0 18px 50px #4212}.amounts{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.amounts button{border-color:var(--l);color:#2e211d}#choice{background:var(--i);border-left:4px solid var(--y);padding:23px;margin:22px 0}#choice strong{font:400 28px var(--ser);color:var(--r)}#choice p{margin:6px 0}.checks{display:flex;gap:25px;flex-wrap:wrap;margin:22px 0}.pix-main{width:100%;min-height:58px;font-size:18px;box-shadow:0 10px 25px #7c2d1238}.contact-note{text-align:center;margin-top:28px;border-top:1px solid var(--l);padding-top:24px}.contact-note>strong{color:var(--r);font-size:18px}.contact-note p{max-width:680px;margin:8px auto}.contact-links{display:flex;justify-content:center;gap:24px;margin-top:14px}.contact-links a{color:var(--r);font-weight:700}.reward{display:grid;grid-template-columns:115px minmax(190px,.58fr) minmax(0,1.42fr);gap:30px;border-top:1px solid var(--l);padding:28px 0}.price{white-space:nowrap;font:400 28px var(--ser);color:var(--r)}.price span{font-size:.72em}.reward h3{font:400 27px var(--ser);margin:0}.reward p{margin:0}.delivery-note{margin-top:10px!important;color:var(--a);font-size:14px}.badge{font:700 11px var(--sans);background:var(--y);padding:3px 7px}.delivery-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;background:var(--r);color:#fff}.delivery-strip div{padding:25px;border-right:1px solid #ffffff55}.delivery-strip b,.delivery-strip span{display:block}.delivery-strip b{font:400 22px var(--ser)}.transparency{background:#f1e5db}.trans-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.steps{counter-reset:x}.steps div{display:grid;grid-template-columns:55px 190px 1fr;gap:18px;align-items:start;border-top:1px solid var(--r);padding:18px 0}.steps span{color:var(--o);font-weight:700}.steps b{font:400 23px var(--ser);color:var(--r)}.steps p{margin:0}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,8vw,110px);align-items:start}.faq-grid>div:first-child{position:sticky;top:110px}.faq details{border-top:1px solid var(--l);padding:22px 0}.faq summary{font:400 23px var(--ser);color:var(--r);cursor:pointer;display:flex;justify-content:space-between}.faq summary:after{content:'+'}.faq details[open] summary:after{content:'−'}.faq details p{line-height:1.75;color:#493933;max-width:760px}.final{text-align:center;background:var(--r);color:#fff;padding:90px 20px}.final h2{color:#fff}.final .btn{background:#fff}dialog{width:min(650px,calc(100% - 32px));border:0;padding:38px;box-shadow:0 20px 70px #0006}dialog::backdrop{background:#211b}#close{float:right;border:0;background:transparent;font-size:30px}#qrArea{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;background:var(--i);padding:20px;margin:20px 0}#qr{width:240px;height:240px}#qrArea div{display:grid;gap:5px}#qrArea strong{font:400 34px var(--ser);color:var(--r)}#qrArea span{overflow-wrap:anywhere}.trust{color:var(--a);font-size:15px}footer{background:#48170a;color:#fff;padding:30px;text-align:center}
@media(max-width:900px){#menu{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--i);padding:20px;flex-direction:column}nav.open{display:flex}.hero-grid,.film-editorial,.budget,.trans-grid,.faq-grid{grid-template-columns:1fr}.hero aside{border-left:0;border-top:1px solid var(--l);padding:28px 0 0}.synopsis{margin-top:0}.film-note{grid-template-columns:1fr;margin-left:0}.twocol{grid-template-columns:1fr;gap:15px}.donut{position:relative;top:auto;margin:auto}.reward{grid-template-columns:100px 180px 1fr}.faq-grid>div:first-child{position:relative;top:auto}.steps div{grid-template-columns:45px 170px 1fr}}
@media(max-width:620px){body{font-size:16px}.wrap{width:calc(100% - 32px)}.hero h1{font-size:clamp(69px,24vw,94px)}.tagline{font-size:36px}.film-note,.goals,.delivery-strip{grid-template-columns:1fr}.goals article+article{border-left:0;border-top:1px solid #fff6;padding-left:0}.progress{padding:24px}.labels{font-size:11px}.reward{grid-template-columns:1fr;gap:7px}.contact-links{flex-direction:column;gap:8px}.budget-list summary{grid-template-columns:14px 1fr auto}.budget-list summary b:nth-child(3){grid-column:2}.budget-list summary:after{grid-column:3;grid-row:1/3}.steps div{grid-template-columns:40px 1fr}.steps p{grid-column:2}.delivery-strip div{border-bottom:1px solid #ffffff55}.actions{flex-direction:column}.actions>*{width:100%}#qrArea{grid-template-columns:1fr}#qr{margin:auto;max-width:100%;height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Ajustes finais V4 */
.hero{padding-top:clamp(38px,4.5vw,68px)}.hero aside{align-self:end}.hero aside .metrics{margin-top:0}#menu{display:none!important}.film-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(50px,8vw,110px);align-items:start}.film-main h2{font-size:clamp(43px,5.2vw,72px);margin-top:22px}.film-copy{padding-top:24px;font-size:20px;max-width:560px}.film-copy p:first-child{margin-top:0}.synopsis-toggle{margin-top:18px}.synopsis-panel{display:grid;grid-template-columns:180px 1fr;gap:45px;margin-top:55px;padding:34px 0;border-top:1px solid var(--l);border-bottom:1px solid var(--l)}.synopsis-panel[hidden]{display:none}.synopsis-panel>div{display:grid;grid-template-columns:1fr 1fr;gap:35px;font:400 21px/1.55 var(--ser)}.synopsis-panel p{margin-top:0}.film .keywords{margin-top:36px}.checks{display:none!important}@media(max-width:900px){.film-main{grid-template-columns:1fr}.film-copy{padding-top:0;max-width:none}.synopsis-panel{grid-template-columns:1fr;gap:12px}.synopsis-panel>div{grid-template-columns:1fr 1fr}}@media(max-width:620px){.synopsis-panel>div{grid-template-columns:1fr}}

/* Ajustes finais V5 */
.contact-links .contact-btn{text-decoration:none;border:1px solid var(--r);padding:10px 18px}.contact-links .contact-btn:hover,.contact-links .contact-btn:focus-visible{background:var(--r);color:#fff}.reward-cta{display:flex;justify-content:center;margin-top:42px}.reward-cta .btn{min-width:220px}.faq-contact{margin-top:10px;text-decoration:none}.final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.final-actions .final-contact{background:transparent;color:#fff;border-color:#fff;text-decoration:none}.final-actions .final-contact:hover,.final-actions .final-contact:focus-visible{background:#fff;color:var(--r)}@media(max-width:620px){.final-actions{flex-direction:column;align-items:stretch}.final-actions .btn{width:100%}}

.mobile-support-bar{display:none}

/* =========================================================
   MOBILE-FIRST EXPERIENCE V6
   Only applies to phones. Desktop and tablet remain unchanged.
   ========================================================= */
@media (max-width: 600px) {
  :root { --mobile-gutter: 20px; }
  html { scroll-padding-top: 62px; }
  body { font-size: 16px; line-height: 1.55; overflow-x: hidden; padding-bottom: 76px; }
  body::after { content: ''; display: block; height: env(safe-area-inset-bottom); }
  .wrap { width: auto; margin-inline: var(--mobile-gutter); }
  .section { padding: 72px 0; }
  .eyebrow { font-size: 11px; line-height: 1.35; letter-spacing: .12em; }
  h2 { font-size: clamp(34px, 10.5vw, 43px); line-height: 1.06; margin: 10px 0 28px; overflow-wrap: break-word; }

  header { height: 62px; padding: 0 var(--mobile-gutter); border-bottom-color: rgba(124,45,18,.18); }
  .brand { font-size: 20px; }
  nav { display: flex !important; position: static !important; margin-left: auto; padding: 0 !important; background: transparent !important; flex-direction: row !important; }
  nav > a:not(.primary) { display: none !important; }
  nav .primary { display: none; }

  /* Persistent mobile conversion bar */
  body::before { content: ''; position: fixed; left: 0; right: 0; bottom: 0; z-index: 65; height: calc(68px + env(safe-area-inset-bottom)); background: rgba(255,249,242,.97); border-top: 1px solid var(--l); box-shadow: 0 -8px 24px rgba(55,30,18,.09); backdrop-filter: blur(12px); }
  .mobile-support-bar { position: fixed; left: var(--mobile-gutter); right: var(--mobile-gutter); bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 70; display: grid; grid-template-columns: 1fr 48px 48px; gap: 8px; }
  .mobile-support-bar .btn { min-height: 48px; padding: 8px 13px; font-size: 15px; }
  .mobile-support-bar .mobile-icon { padding: 0; font-size: 0; background: #fff; }
  .mobile-support-bar .mobile-icon::after { font-size: 18px; }
  .mobile-support-bar .mobile-instagram::after { content: 'IG'; font-size: 13px; letter-spacing: .04em; }
  .mobile-support-bar .mobile-whatsapp::after { content: 'WA'; font-size: 13px; letter-spacing: .04em; }

  /* Hero rebuilt as a compact editorial cover */
  .hero { padding: 24px 0 54px; min-height: auto; }
  .hero-grid { display: flex; flex-direction: column; gap: 0; }
  .hero h1 { order: initial; font-size: clamp(76px, 24vw, 104px); line-height: .75; letter-spacing: -.01em; margin: 17px 0 30px; max-width: 100%; white-space: normal; }
  .tagline { font-size: clamp(31px, 9.2vw, 39px); line-height: 1.08; margin: 0 0 28px; max-width: 12ch; }
  .hero .actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .hero .actions .btn { width: 100%; min-height: 49px; }
  .hero aside { width: 100%; border: 0; padding: 0; margin-top: 38px; }
  .hero aside .metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; margin: 0; }
  .metrics div { min-width: 0; padding: 13px 0 15px; border-top: 1px solid var(--l); }
  .metrics b { font-size: 17px; line-height: 1.25; }
  .metrics span { font-size: 14px; line-height: 1.4; }

  /* Film: visual hierarchy rather than desktop columns collapsed */
  .film { background: linear-gradient(180deg,#fff9f2 0,#fff9f2 72%,#f7ece3 72%,#f7ece3 100%); }
  .film-main { display: flex; flex-direction: column; gap: 26px; }
  .film-main h2 { font-size: clamp(38px, 11.2vw, 48px); margin: 10px 0 0; }
  .film-copy { max-width: none; padding: 25px 0 0; border-top: 1px solid var(--l); font-size: 17px; }
  .film-copy p { margin: 0 0 18px; }
  .synopsis-toggle { width: 100%; min-height: 50px; margin-top: 5px; }
  .synopsis-panel { display: block; margin-top: 35px; padding: 26px 0; border-top: 1px solid var(--r); border-bottom: 1px solid var(--l); }
  .synopsis-panel[hidden] { display: none; }
  .synopsis-panel > .eyebrow { margin-bottom: 18px; }
  .synopsis-panel > div { display: block; font-size: 18px; line-height: 1.55; }
  .synopsis-panel p { margin: 0 0 17px; }
  .keywords { margin-top: 35px; padding-top: 18px; font-size: 11px; line-height: 1.8; letter-spacing: .07em; }

  .quote { padding: 68px 0; }
  .quote .wrap { font-size: clamp(34px, 10.5vw, 44px); line-height: 1.08; }

  /* Campaign becomes stacked dashboard */
  .campaign { padding-bottom: 0; }
  .campaign .deck { font-size: 26px; line-height: 1.25; }
  .twocol { display: block; margin: 32px 0 36px; font-size: 17px; }
  .twocol p { margin: 0 0 20px; }
  .progress { display: grid; grid-template-columns: 1fr; gap: 0; margin-inline: calc(var(--mobile-gutter) * -1); padding: 28px var(--mobile-gutter); box-shadow: none; }
  .progress > div:nth-child(2) { text-align: left; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--l); }
  .progress strong { font-size: 30px; line-height: 1.1; }
  .bar { margin: 25px 0 12px; height: 12px; }
  .labels { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 11px; line-height: 1.35; }
  .labels span:first-child { display: none; }
  .labels span:last-child { text-align: right; }
  .progress small { margin-top: 19px; display: block; line-height: 1.45; }
  .goals { display: block; margin-top: 0; border-top: 0; }
  .goals article { padding: 34px 0; border-top: 1px solid rgba(255,255,255,.35); }
  .goals article + article { border-left: 0; padding-left: 0; }
  .goals b { font-size: 34px; }
  .goals h3 { margin: 8px 0 13px; }

  /* Budget redesigned around interaction */
  #recursos .lead { font-size: 17px; }
  .budget { display: flex; flex-direction: column; gap: 30px; }
  .donut { position: relative; top: auto; width: min(310px, 82vw); margin: 8px auto 2px; }
  #center { inset: 24%; }
  #center span { font-size: 9px; line-height: 1.25; letter-spacing: .07em; }
  #center strong { font-size: 29px; }
  #center small { font-size: 13px; }
  .budget-list { border-bottom: 1px solid var(--l); }
  .budget-list details { border-top: 1px solid var(--l); }
  .budget-list summary { display: grid; grid-template-columns: 12px minmax(0,1fr) 28px; gap: 9px; padding: 16px 0; align-items: center; }
  .budget-list summary b:nth-child(2) { font-size: 15px; line-height: 1.3; }
  .budget-list summary b:nth-child(3) { grid-column: 2; font-size: 13px; color: var(--a); font-weight: 600; }
  .budget-list summary::after { grid-column: 3; grid-row: 1 / 3; align-self: center; text-align: center; }
  .budget-list details p { margin: 0 4px 20px 21px; font-size: 15px; line-height: 1.55; }

  /* Support works like a mobile checkout */
  .support { padding: 52px 0; }
  .card { width: auto; max-width: none; margin-inline: 12px; padding: 32px 18px; border-radius: 16px; box-shadow: 0 14px 38px rgba(72,23,10,.12); }
  .card h2 { font-size: 36px; }
  .amounts { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin: 24px 0; }
  .amounts button { width: 100%; min-height: 48px; }
  #choice { padding: 18px; margin: 20px 0; border-radius: 0 8px 8px 0; }
  #choice strong { font-size: 24px; line-height: 1.2; }
  #choice p { line-height: 1.5; }
  .pix-main { min-height: 58px; border-radius: 12px; }
  .contact-note { margin-top: 25px; padding-top: 23px; }
  .contact-links { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .contact-links .contact-btn { width: 100%; min-height: 48px; }

  /* Rewards become scannable editorial rows */
  .reward { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 7px 14px; padding: 24px 0; }
  .reward .price { grid-column: 1; grid-row: 1; font-size: 22px; align-self: baseline; }
  .reward h3 { grid-column: 2; grid-row: 1; font-size: 22px; line-height: 1.2; }
  .reward > div:last-child { grid-column: 1 / -1; padding-top: 7px; }
  .reward > div:last-child p { line-height: 1.5; }
  .delivery-note { margin-top: 10px !important; padding-top: 9px; border-top: 1px dotted var(--l); }
  .delivery-strip { display: block; margin-top: 38px; border-radius: 12px; overflow: hidden; }
  .delivery-strip div { padding: 19px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.3); }
  .reward-cta { margin-top: 28px; }
  .reward-cta .btn { width: 100%; min-height: 50px; }

  /* Transparency cards */
  .trans-grid { display: block; }
  .steps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .steps div { display: block; padding: 18px; border: 1px solid rgba(124,45,18,.22); background: rgba(255,255,255,.45); border-radius: 10px; }
  .steps span { display: block; margin-bottom: 14px; }
  .steps b { display: block; font-size: 20px; line-height: 1.15; }
  .steps p { margin-top: 9px; font-size: 14px; line-height: 1.45; }

  /* FAQ matches document width and rhythm */
  .faq-grid { display: block; }
  .faq-grid > div:first-child { position: static; margin-bottom: 35px; }
  .faq details { padding: 20px 0; }
  .faq summary { gap: 18px; font-size: 20px; line-height: 1.3; }
  .faq summary::after { flex: 0 0 auto; }
  .faq details p { font-size: 16px; line-height: 1.65; }
  .faq-contact { width: 100%; }

  .final { padding: 68px var(--mobile-gutter); }
  .final p { font-size: 12px; letter-spacing: .12em; }
  .final h2 { font-size: clamp(68px, 21vw, 94px); line-height: .82; margin: 28px 0 36px; }
  .final-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .final-actions .btn { width: 100%; min-height: 49px; }
  footer { padding: 26px 20px 96px; font-size: 13px; }

  /* Pix modal as a bottom sheet */
  dialog { width: 100%; max-width: none; max-height: 92dvh; margin: auto 0 0; padding: 26px 20px calc(24px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; overflow-y: auto; }
  dialog::backdrop { background: rgba(27,17,12,.72); }
  dialog h2 { font-size: 34px; margin-bottom: 20px; }
  #close { position: sticky; top: 0; float: right; z-index: 2; background: #fff; border-radius: 50%; width: 42px; height: 42px; }
  #qrArea { display: block; padding: 16px; margin: 16px 0; border-radius: 12px; }
  #qr { display: block; width: min(230px,100%); height: auto; margin: 0 auto 20px; }
  #qrArea strong { font-size: 28px; }
  #copy { width: 100%; min-height: 50px; }
}

@media (max-width: 370px) {
  :root { --mobile-gutter: 16px; }
  .hero h1 { font-size: 68px; }
  .tagline { font-size: 30px; }
  .hero .actions { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .reward { grid-template-columns: 70px 1fr; }
}

/* Mobile V7: rebuilt cover and closing section only */
@media (max-width: 600px) {
  /* Cover */
  .hero {
    padding: 20px 0 50px;
    min-height: auto;
  }
  .hero-grid {
    display: block;
  }
  .hero .eyebrow {
    max-width: 28ch;
    margin: 0 0 18px;
  }
  .hero h1 {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0 0 28px;
    font-size: clamp(60px, 19.5vw, 82px);
    line-height: .82;
    letter-spacing: -.015em;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .hero h1 br {
    display: block;
  }
  .tagline {
    max-width: 13ch;
    margin: 0 0 26px;
    font-size: clamp(29px, 8.7vw, 37px);
    line-height: 1.08;
  }
  .hero .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .hero .actions .btn {
    width: 100%;
    min-height: 49px;
  }
  .hero aside {
    margin-top: 34px;
  }
  .hero aside .metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
  }
  .hero aside .metrics div {
    min-height: 82px;
    padding: 13px 0;
  }

  /* Closing section */
  .final {
    padding: 62px 20px 72px;
    text-align: center;
    overflow: hidden;
  }
  .final > p {
    margin: 0;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .13em;
  }
  .final h2 {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 24px auto 34px;
    font-size: clamp(43px, 13.5vw, 58px);
    line-height: .95;
    letter-spacing: -.01em;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
  }
  .final-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .final-actions .btn {
    width: 100%;
    min-height: 49px;
    padding-inline: 12px;
  }
}

@media (max-width: 370px) {
  .hero h1 {
    font-size: 58px;
  }
  .tagline {
    font-size: 28px;
  }
  .final h2 {
    font-size: 42px;
  }
}
