/* Layout: a página é a estrada. Cada seção é uma parada real da viagem, marcada com um marco de km
   (distância acumulada desde Goiânia). Mapa desenhado no próprio site; adesivos sobre o desenho do carro. */
:root{
  --bg:#f6f2ea; --surface:#fffdf8; --fg:#2b2620; --muted:#786d60; --line:#e3dacb;
  --ice:#2479a8; --ice-soft:#dcecf4; --ochre:#b9822a; --ida:#2b8cbe; --volta:#9a7a52; --ferry:#3f9a6b;
  --sea:#e6eff2; --land:#fbf8f1; --land-line:#a8927a; --post:#fffdf8; --post-fg:#2b2620; --ok:#3f8f63;
  --card-idle:#f0ece4; --steppe:#d9ddb8; --sea-dot:#9cc7dc; --marker:#8a6f50; --stain:#c09a6e; --wash:#7fb9d6; --on-photo:#f4f1ea;
  /* one spacing system: --gap between containers, --pad inside them, --gutter beside running text */
  --gap:1rem; --pad:1.1rem; --gutter:2rem; --radius:6px;
  --logo:"Josefin Sans","Century Gothic",sans-serif;
  --display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --body:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --step--1:clamp(.82rem,.8rem + .1vw,.9rem); --step-0:clamp(1.02rem,.98rem + .2vw,1.14rem);
  --step-1:clamp(1.3rem,1.15rem + .6vw,1.6rem); --step-2:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);
  --step-3:clamp(2.6rem,1.6rem + 4.4vw,5.6rem);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#11161b; --surface:#182027; --fg:#ece6dc; --muted:#a2988b; --line:#2a333b;
  --ice:#6cbde2; --ice-soft:#173040; --ochre:#e0a64a; --ida:#6cbde2; --volta:#c4a27a; --ferry:#62c08f;
  --sea:#0d1217; --land:#1b232a; --land-line:#6b5d4c; --post:#ece6dc; --post-fg:#11161b; --ok:#62c08f;
  --card-idle:#141a20; --steppe:#2e3a2b; --sea-dot:#2f5b72; --marker:#c4a27a; --stain:#5d4a35; --wash:#1f4a63; --on-photo:#f4f1ea; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#11161b; --surface:#182027; --fg:#ece6dc; --muted:#a2988b; --line:#2a333b;
  --ice:#6cbde2; --ice-soft:#173040; --ochre:#e0a64a; --ida:#6cbde2; --volta:#c4a27a; --ferry:#62c08f;
  --sea:#0d1217; --land:#1b232a; --land-line:#6b5d4c; --post:#ece6dc; --post-fg:#11161b; --ok:#62c08f;
  --card-idle:#141a20; --steppe:#2e3a2b; --sea-dot:#2f5b72; --marker:#c4a27a; --stain:#5d4a35; --wash:#1f4a63; --on-photo:#f4f1ea; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:var(--step-0);line-height:1.6;margin:0}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
a{color:var(--ice)} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}
h1,h2,h3{font-family:var(--display);line-height:.95;text-wrap:balance;margin:0;letter-spacing:.01em}
h2{font-size:var(--step-2);font-weight:800;text-transform:uppercase}
h3{font-size:var(--step-1);font-weight:800;text-transform:uppercase}
p{margin:0}
.mono{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.02em}
.label{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.muted{color:var(--muted)}
button,.btn{font:inherit;cursor:pointer}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem;padding:.65rem 1.1rem;border-radius:4px;border:1px solid var(--line);background:var(--fg);color:var(--bg);text-decoration:none}
.btn.ghost{background:transparent;color:var(--fg)}
.btn.small{font-size:.95rem;padding:.4rem .75rem}
.btn:hover{filter:brightness(1.12)}

/* top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:1rem;padding-block:.55rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--fg)}
.brand-mark{width:2.6rem;height:2.6rem;flex:none;display:block}
.brand-words{display:grid;gap:.3rem}
.brand-name{font-family:var(--logo);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:1rem;line-height:1;white-space:nowrap}
.brand-sub{font-family:var(--logo);font-weight:400;text-transform:uppercase;letter-spacing:.38em;font-size:.62rem;line-height:1;color:var(--ice);white-space:nowrap}
footer .brand-mark{width:3.4rem;height:3.4rem}
.top nav{display:flex;gap:1rem;flex-wrap:wrap;margin-left:auto}
.top nav a{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fg);text-decoration:none}
.top nav a:hover{color:var(--ice)}

/* hero */
.coords{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.coords b{font-weight:500;color:var(--fg)}
.statsband{border-block:1px solid var(--line);margin-top:1rem}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.stat{padding:calc(1rem + 3px) .6rem 1rem;border-left:1px solid var(--line);min-width:0;text-align:center}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--display);font-weight:900;font-size:var(--step-2);line-height:1;font-variant-numeric:tabular-nums}
.stat span{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* km posts */
section.leg{padding-block:clamp(2.5rem,6vw,4.5rem);border-top:1px solid var(--line)}
.leghead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.1rem;align-items:start;margin-bottom:1.8rem}
.post{width:4.4rem;background:var(--post);color:var(--post-fg);border:1px solid var(--line);border-radius:10px 10px 3px 3px;text-align:center;padding:.35rem .2rem .45rem;font-family:var(--display);line-height:1}
.post small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.post b{display:block;font-weight:900;font-size:1.35rem;font-variant-numeric:tabular-nums;margin-top:.1rem}
.leghead .where{margin:0;line-height:1;padding-top:.1rem}
.leghead h2{margin-top:.35rem}
.leghead p.intro{margin-top:.7rem;max-width:62ch}

/* story */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15rem);gap:var(--gutter)}
.story .text{max-width:64ch;display:grid;gap:1.1rem}
.story .text h3{margin-top:.8rem;color:var(--ice)}
.story .text > p:first-of-type::first-letter{font-family:var(--display);font-weight:900;float:left;font-size:4.6rem;line-height:.8;padding:.3rem .5rem 0 0;color:var(--ice)}
.story blockquote{margin:0;padding:.2rem 0 .2rem 1rem;border-left:4px solid var(--ochre);font-style:italic;font-size:var(--step-1);line-height:1.35}
.passport{align-self:start;position:sticky;top:5rem;border:1px dashed var(--line);border-radius:6px;padding:1rem;display:grid;gap:.8rem}
.stamps{display:flex;flex-wrap:wrap;gap:.35rem}
.stamp{font-family:var(--mono);font-size:.68rem;border:1px solid var(--muted);border-radius:3px;padding:.1rem .35rem;color:var(--muted);transform:rotate(var(--r,0deg))}
.stamp.next{border-color:var(--ice);color:var(--ice);font-weight:500}

/* map */
.mapgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:var(--gap);align-items:start}
.mapbox{position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--sea)}
#map{display:block;width:100%;height:clamp(420px,72vh,720px);touch-action:none}
.mapctl{position:absolute;top:.6rem;right:.6rem;display:grid;gap:.35rem}
.mapctl button{width:2.2rem;height:2.2rem;border-radius:4px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font-family:var(--display);font-weight:900;font-size:1.2rem;line-height:1}
.maphint{position:absolute;left:.6rem;bottom:.5rem;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:.15rem .45rem}
.legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.7rem}
.legend span{display:inline-flex;align-items:center;gap:.4rem}
.legend i{display:inline-block;width:1.6rem;height:4px;border-radius:2px}
.tip{position:absolute;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:4px;padding:.35rem .55rem;font-size:.9rem;line-height:1.3;max-width:16rem;box-shadow:0 4px 14px rgb(0 0 0 / .15)}
.tip b{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.05rem}
.daypanel{border:1px solid var(--line);border-radius:6px;background:var(--surface);display:flex;flex-direction:column;height:calc(clamp(420px,72vh,720px) + 2px)}
.daycur{padding:var(--pad);border-bottom:1px solid var(--line);display:grid;gap:.35rem}
.daycur h3{font-size:1.45rem}
.daycur .meta{display:flex;gap:.8rem;flex-wrap:wrap}
.daylist{overflow:auto;padding:.3rem;display:grid;gap:2px;min-height:0}
.daybtn{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.6rem;align-items:baseline;text-align:left;padding:.45rem .55rem;border:0;border-radius:4px;background:transparent;color:var(--fg)}
.daybtn:hover{background:var(--ice-soft)}
.daybtn[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.daybtn .n{font-family:var(--display);font-weight:900;font-size:1.2rem;font-variant-numeric:tabular-nums}
.daybtn .t{font-size:.93rem;line-height:1.25;min-width:0}
.daybtn .k{font-family:var(--mono);font-size:.72rem;font-variant-numeric:tabular-nums;opacity:.8}
.daybtn .rip{color:var(--ochre)}
.daybtn[aria-pressed="true"] .rip{color:inherit}
.phase{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:.6rem .55rem .2rem}

/* car */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.fact{background:var(--surface);padding:var(--pad);display:grid;gap:.4rem;min-width:0}
.fact b{font-family:var(--display);font-weight:900;font-size:var(--step-2);line-height:1;font-variant-numeric:tabular-nums}
.fact p{font-size:.98rem;line-height:1.45}
.measure{margin-top:var(--gap);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.measure div{background:var(--surface);padding:var(--pad);display:grid;gap:.3rem}

/* sponsorship */
.sponsor{display:grid;gap:var(--gap)}
.carviews{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--pad);display:grid;gap:.8rem}
.viewcap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;text-align:left;border:1px solid var(--line);border-radius:6px;background:var(--card-idle);color:var(--fg);padding:var(--pad);align-content:start}
.plan:hover{border-color:var(--ice)}
.plan[aria-pressed="true"]{border-color:var(--ice);background:var(--surface)}
.plan h3{font-size:1.35rem}
.plan .price{font-family:var(--display);font-weight:900;font-size:1.5rem;font-variant-numeric:tabular-nums;text-align:right}
.plan .sub{grid-column:1/-1;display:flex;gap:.4rem 1rem;flex-wrap:wrap}
.vagas{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ok)}

/* forms */
.formcard{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:var(--pad);display:grid;gap:var(--gap);margin-top:var(--gap)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.field{display:grid;gap:.3rem;min-width:0}
.field.full{grid-column:1/-1}
label{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
input,select,textarea{font:inherit;font-size:1rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);width:100%}
textarea{min-height:5.5rem;resize:vertical}
.err{color:var(--ida);font-size:.92rem}
.result{border-top:1px dashed var(--line);padding-top:1rem;display:grid;gap:.8rem}
.copybox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:start}
.copybox textarea,.copybox input{font-family:var(--mono);font-size:.82rem;background:var(--bg)}
.notice{border:1px solid var(--ochre);border-radius:4px;padding:.6rem .8rem;font-size:.95rem;background:color-mix(in srgb,var(--ochre) 10%,transparent)}

/* support */
.support{display:grid;gap:var(--gap)}
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.tier{text-align:left;border:1px solid var(--line);border-radius:6px;background:var(--card-idle);color:var(--fg);padding:var(--pad);display:grid;gap:.35rem;align-content:start}
.tier:hover{border-color:var(--ice)}
.tier[aria-pressed="true"]{border-color:var(--ice);background:var(--surface)}
.tier b{font-family:var(--display);font-weight:900;font-size:1.7rem;font-variant-numeric:tabular-nums;line-height:1}
.tier strong{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.1rem;letter-spacing:.02em}
.tier span{font-size:.95rem;line-height:1.4;color:var(--muted)}
.qr{background:#ffffff;border-radius:4px;padding:12px;display:grid;place-items:center;aspect-ratio:1;max-width:100%}
.qr img,.qr canvas{max-width:100%;height:auto}
.qr .empty{color:#3b4a55;font-family:var(--mono);font-size:.8rem;text-align:center;padding:1rem}

/* about + footer */
.about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter)}
.person{display:grid;gap:.6rem;align-content:start}
.person h3 small{display:block;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;color:var(--muted);margin-top:.35rem}
footer{border-top:1px solid var(--line);padding-block:2rem;margin-top:1rem}
footer .wrap{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center}
.toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:.5rem .9rem;border-radius:4px;font-family:var(--mono);font-size:.85rem;z-index:50}

@media (max-width:900px){
  .story,.mapgrid,.about{grid-template-columns:minmax(0,1fr)}
  .plans,.tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat:nth-child(4){border-left:0}
  .stat:nth-child(n+4){border-top:1px solid var(--line)}
  .passport{position:static}
  .daypanel{height:auto}
  .daylist{max-height:22rem}
  .facts{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .fields{grid-template-columns:minmax(0,1fr)}
  .top nav{display:none}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(odd){border-left:0} .stat:nth-child(4){border-left:1px solid var(--line)}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  #map{height:440px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Rails additions */
.map-label{font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;fill:var(--fg)}
.map-label.halo{paint-order:stroke;stroke:var(--land);stroke-width:3px}
.pin{cursor:pointer}
.maphint.flash{color:var(--fg)}
.daycur .rip{color:var(--ochre)}
.car-lamp{fill:var(--ida)}
.car-plate{fill:var(--surface);stroke:var(--fg);stroke-width:1.5}
.plan[disabled]{opacity:.55;cursor:not-allowed}
.vagas.out{color:var(--ida)}
.crew{border-top:1px dashed var(--line);padding-top:.8rem;display:grid;gap:.3rem}
.field.check{display:flex;align-items:center;gap:.5rem}
.field.check input{width:auto}
.field.check label{text-transform:none;letter-spacing:0;font-family:var(--body);font-size:.98rem;color:var(--fg)}
.pixinline{display:grid;gap:.6rem;max-width:20rem}
.notice.err{color:var(--fg);border-color:var(--ida);background:color-mix(in srgb,var(--ida) 10%,transparent)}
.notice.err ul{margin:.3rem 0 0;padding-left:1.2rem}
.qr svg{width:100%;height:auto;display:block}
.cta{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}

/* car photo with sticker hotspots */
figure.carviews{margin:0}
figure.carviews figcaption{line-height:1.5}

/* 3D car: transparent canvas over a soft studio floor, controls as a toolbar under it */
.car3d{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:4px;background:radial-gradient(120% 90% at 50% 35%,var(--surface) 0%,color-mix(in srgb,var(--sea) 70%,var(--surface)) 100%);overflow:hidden;touch-action:pan-y}
.car3d canvas{display:block;width:100%;height:100%;cursor:grab}
.car3d canvas:active{cursor:grabbing}
.car3d-status{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1rem}
.car3d-controls{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}
.ctl-group{display:flex;flex-wrap:wrap;gap:.35rem}
.ctl{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:4px;padding:.35rem .6rem;line-height:1.2}
.ctl:hover{border-color:var(--fg)}
.ctl[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.chip{font-family:var(--display);font-weight:800;font-size:.95rem;letter-spacing:.04em;display:inline-flex;gap:.35rem;align-items:baseline}
.chip .mono{font-size:.7rem;color:var(--muted)}
.chip::before{content:"";width:.7rem;height:.7rem;border-radius:2px;border:1px solid var(--fg);align-self:center}
.chip-master::before{background:#f2c25b} .chip-capo::before{background:#f39c5b} .chip-ouro::before{background:#e9e2cf} .chip-porta-malas::before{background:#f4c7c3}
.chip-vidro::before{background:#c9d7f5} .chip-teto::before{background:#b9e3c6} .chip-prata::before{background:#ffffff} .chip-bronze::before{background:#d6e8f1}
@media (max-width:560px){.car3d{aspect-ratio:4/3}.car3d-controls{justify-content:flex-start}}
.car3d-status[hidden]{display:none}

/* sponsors: /patrocinadores and /patrocinadores/:slug */
.swatch{display:inline-block;width:.8em;height:.8em;border:1px solid var(--line);border-radius:2px;margin-right:.45em;vertical-align:-.05em}
.swatch-master{background:#f2c25b} .swatch-capo{background:#f39c5b} .swatch-ouro{background:#e9e2cf} .swatch-porta-malas{background:#f4c7c3}
.swatch-vidro{background:#c9d7f5} .swatch-teto{background:#b9e3c6} .swatch-prata{background:#ffffff} .swatch-bronze{background:#d6e8f1}
.sp-plan{display:grid;gap:.9rem;padding-block:1.4rem;border-top:1px solid var(--line)}
.sp-plan-head{display:flex;gap:.4rem 1rem;align-items:baseline;flex-wrap:wrap}
.sp-plan-head h2{font-size:var(--step-1)}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:var(--gap)}
.sp-card{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.9rem;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);padding:var(--pad);text-decoration:none}
.sp-card:hover{border-color:var(--ochre)}
.sp-card b{font-family:var(--display);font-weight:800;font-size:1.35rem;text-transform:uppercase;line-height:1}
.sp-body{display:grid;gap:.25rem;min-width:0}
.sp-more{color:var(--ice);font-size:.78rem}
.sp-open{border-style:dashed;border-color:var(--line)}
.sp-open .monogram{color:var(--muted)}
.sp-logo{display:grid;place-items:center;aspect-ratio:1;max-width:100%;background:#ffffff;border-radius:4px;border:1px solid var(--line);overflow:hidden;padding:12%}
.sp-logo img{max-width:100%;max-height:100%;object-fit:contain}
.monogram{font-family:var(--display);font-weight:900;font-size:1.6rem;color:#14212b;letter-spacing:.04em}
.sp-logo.big{width:100%;padding:12%}
.sp-logo.big .monogram{font-size:4rem}
.crumbs{padding-block:1rem .2rem;color:var(--muted)} .crumbs a{color:var(--ice)}
.sp-hero{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr);gap:1.6rem;align-items:center;padding-block:1rem 2rem}
.sp-hero h1{font-size:var(--step-3);font-weight:900;text-transform:uppercase;line-height:.88;overflow-wrap:anywhere}
.sp-hero .lede{font-size:var(--step-1);line-height:1.35;margin-top:.8rem;max-width:40ch}
.sp-links{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1.1rem}
.sp-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--gutter);align-items:start;padding-bottom:1.5rem}
.sp-columns > section{display:grid;gap:.8rem;min-width:0}
.sp-h{font-size:var(--step-1);margin-bottom:.2rem} .sp-h.small{font-size:1.1rem;margin-top:1rem}
.sp-story{display:grid;gap:.8rem;max-width:62ch}
.sp-deliverables{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}
.sp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.6rem;margin-top:.6rem}
.sp-gallery figure{margin:0}
.sp-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.sp-posts{margin:.4rem 0 0;padding-left:1.1rem;display:grid;gap:.3rem;overflow-wrap:anywhere}
.sp-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}
.sp-chip{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:6px;padding:.4rem .7rem .4rem .4rem;background:var(--surface);color:var(--fg);text-decoration:none;font-family:var(--display);font-weight:800;text-transform:uppercase}
.sp-chip:hover{border-color:var(--ochre)}
.sp-chip .sp-logo{width:2.6rem;padding:8%} .sp-chip .monogram{font-size:.95rem}
.sp-cta{display:flex;flex-wrap:wrap;gap:var(--gap) var(--gutter);align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--pad);margin-block:2rem}
.sp-cta p{margin-top:.3rem;max-width:52ch}
.sponsors-page,.sponsor-page{padding-bottom:1rem}
.onboard{display:grid;gap:.7rem;margin-top:var(--gap)}
.onboard .sp-strip{margin-top:0}
@media (max-width:900px){.sp-columns{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.sp-hero{grid-template-columns:minmax(0,1fr)}.sp-logo.big{width:9rem}}
.sp-tile-logo img{max-width:100%;max-height:100%;object-fit:contain}
.sp-tile-logo .monogram{font-size:clamp(1rem,4vw,3rem)}

/* ---- redesign: photo hero, watercolour tear, illustrated route overview ---- */
.top.on-photo{position:fixed;left:0;right:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;transition:background .25s,border-color .25s}
.top.on-photo .brand,.top.on-photo nav a{color:var(--on-photo)}
.top.on-photo.solid{background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px);border-bottom-color:var(--line)}
.top.on-photo.solid .brand,.top.on-photo.solid nav a{color:var(--fg)}

.photohero{position:relative;isolation:isolate;min-height:min(100svh,920px);display:grid;align-items:start;overflow:hidden;background:#0b1118}
.photohero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;z-index:-2}
.photohero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,rgb(6 12 20 / .82) 0%,rgb(6 12 20 / .45) 38%,rgb(6 12 20 / 0) 62%),linear-gradient(180deg,rgb(6 12 20 / .55) 0%,rgb(6 12 20 / 0) 30%)}
.photohero-text{padding-block:clamp(7rem,16vh,10rem) 14rem;color:var(--on-photo);display:grid;gap:1rem;justify-items:start;max-width:1180px;width:100%}
.photohero-text .label{color:color-mix(in srgb,var(--on-photo) 75%,transparent)}
.photohero h1{font-size:var(--step-3);font-weight:900;text-transform:uppercase;line-height:.86;color:var(--on-photo)}
.photohero h1 span{display:block;color:#8fd0ef}
.photohero .lede{font-size:var(--step-1);line-height:1.35;max-width:30ch;color:color-mix(in srgb,var(--on-photo) 88%,transparent)}
.photohero .cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}
.dash{display:block;width:2.2rem;height:3px;border-radius:2px;background:var(--ice)}
.photohero .dash{background:#8fd0ef}
.pill{display:inline-flex;align-items:center;gap:.7rem;border-radius:4px;padding:.55rem .6rem .55rem 1.2rem;background:var(--ice);color:#fff;text-decoration:none;font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;box-shadow:0 0 0 3px color-mix(in srgb,var(--ice) 30%,transparent)}
.pill span{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:3px;background:#fff;color:var(--ice);font-weight:600}
.pill.ghost{background:transparent;color:var(--on-photo);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--on-photo) 70%,transparent);padding-right:1.2rem}
.pill:hover{filter:brightness(1.08)}
.tear{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:clamp(110px,16vw,230px);z-index:0}
.tear-stain{fill:var(--stain);opacity:.85}
.tear-paper{fill:var(--bg)}
.tear-dots circle{fill:var(--stain)}

.overview{position:relative;padding-block:clamp(2rem,6vw,5rem) clamp(3rem,7vw,6rem);overflow:hidden}
.wash{position:absolute;pointer-events:none;z-index:0}
.wash-left{left:-9rem;top:18%;width:min(40vw,26rem);height:auto;opacity:.55}
.wash-a{fill:var(--wash)} .wash-b{fill:var(--wash);opacity:.6}
.overview-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.overview-text{display:grid;gap:1.1rem;justify-items:start;position:sticky;top:6rem;padding-top:clamp(1rem,6vw,5rem)}
.overview-text h2{font-size:var(--step-3);color:var(--ice);line-height:.9}
.overview-text p{max-width:42ch;color:color-mix(in srgb,var(--fg) 82%,transparent)}
.overview-facts{display:grid;gap:.5rem;margin:0}
.overview-facts div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.6rem;align-items:baseline}
.overview-facts dt{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.overview-facts dd{margin:0}
.overview-map{margin:0;min-width:0}
.overview-map svg{display:block;width:100%;height:auto;max-width:100%}
.ov-sea-dot{fill:var(--sea-dot)}
.ov-land{fill:var(--land);stroke:none}
.ov-patagonia{fill:var(--steppe)}
.ov-border{fill:none;stroke:var(--land-line);stroke-width:1.1;stroke-linejoin:round}
.ov-country{font-family:var(--display);font-weight:800;font-size:26px;text-transform:uppercase;letter-spacing:.06em;fill:var(--marker);opacity:.75}
.ov-country.small{font-size:13px}
.ov-region{font-family:var(--body);font-style:italic;font-size:22px;fill:var(--marker)}
.ov-route{fill:none;stroke:var(--ida);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ov-route-rip{stroke:var(--ochre)}
.ov-route-ferry{stroke:var(--ferry);stroke-dasharray:3 4}
.ov-leader{fill:none;stroke:var(--marker);stroke-width:1}
.ov-ring{fill:var(--land);stroke:var(--marker);stroke-width:2}
.ov-dot{fill:var(--marker)}
.ov-stop{font-family:var(--display);font-weight:700;font-size:15px;fill:var(--fg);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round}
.ov-km{font-family:var(--mono);font-weight:400;font-size:10.5px;fill:var(--muted)}
.ov-leg-line{fill:none;stroke:var(--marker);stroke-width:1;stroke-dasharray:1.5 3}
.ov-pill{fill:var(--bg);stroke:var(--marker);stroke-width:1}
.ov-pill-text{font-family:var(--mono);font-size:10.5px;fill:var(--fg)}
@media (max-width:900px){
  .overview-grid{grid-template-columns:minmax(0,1fr)}
  .overview-text{position:static;padding-top:0}
  .photohero-text{padding-bottom:10rem}
}
footer .credit{flex-basis:100%;font-size:.72rem}

.subhead{margin-top:var(--gutter)}
.formnote{font-size:.95rem}
@media (max-width:560px){.plans,.tiers{grid-template-columns:minmax(0,1fr)}}
.fields{align-items:end}

/* Pix dialogs ("Gerar Pix" result and the open-value Pix) */
.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.actions .btn{justify-content:center;width:100%}
.pixdialog{padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);width:min(26rem,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
.pixdialog::backdrop{background:rgb(10 14 18 / .55);backdrop-filter:blur(2px)}
.pixdialog-body{padding:var(--pad);display:grid;gap:.8rem}
.pixdialog-body h3{padding-right:2rem}
.pixdialog .qr{max-width:15rem;width:100%;justify-self:center}
.dialog-close{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--fg);font-size:1.2rem;line-height:1}
.dialog-close:hover{border-color:var(--ice)}
.pixdialog{position:fixed}
.result-card{border-color:var(--ok)}
.plandetail{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--pad)}
.plandetail .label{margin-bottom:.6rem}
.plandetail ul{margin:0;padding-left:1.1rem;columns:2 18rem;column-gap:var(--gutter)}
.plandetail li{break-inside:avoid;margin-bottom:.25rem}
