
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
 --ink:#0C2E2B;
 --primary:#1A5C50;
 --primary-60:#267A6B;
 --primary-30:#D0E8E3;
 --primary-10:#EDF5F3;
 --accent:#A84A20;
 --accent-hover:#9A4519;
 --accent-light:#FDF0EA;
 --grey-900:#1A1F2B;
 --grey-700:#3D4451;
 --grey-500:#5A6470;
 --grey-300:#C8CCD2;
 --grey-100:#F2F3F5;
 --surface:#FAFAF8;
 --paper:#FFFFFF;
 
 
 
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;
 --sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;
 --sp-24:96px;--sp-32:128px;
 --max-width:1120px;
 --max-width-narrow:720px;
 --gutter:24px;
 --radius:8px;
 --radius-lg:12px;
 --radius-xl:16px;
 --radius-pill:999px;
 --shadow-xs:0 1px 2px rgba(0,0,0,0.04);
 --shadow-sm:0 1px 4px rgba(0,0,0,0.06);
 --shadow-md:0 4px 12px rgba(0,0,0,0.06);
 --shadow-lg:0 8px 24px rgba(0,0,0,0.08);
 --shadow-xl:0 16px 48px rgba(0,0,0,0.1);
 --ease-out:cubic-bezier(0.4,0,0.2,1);
 --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
 --duration-fast:150ms;
 --duration-normal:200ms;
 --duration-slow:300ms;
 --duration-reveal:500ms;
 /* Legacy aliases */
 --font-serif:var(--font-display);--font-sans:var(--font-body);
 --neutral-dark:var(--grey-900);--neutral-medium:var(--grey-500);--neutral-light:var(--grey-100);
 --white:var(--paper);--primary-light:var(--primary-10);--primary-dark:var(--primary-60);
 --secondary:var(--ink);--transition:var(--duration-normal) var(--ease-out);
 --sh:var(--shadow-md);--r:var(--radius);--rl:var(--radius-lg)
}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--cream);line-height:1.65}
h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--ink)}
a{color:var(--primary);text-decoration:none;transition:color var(--duration-normal) var(--ease-out)}
a:hover{color:var(--primary-60)}
p{margin-bottom:1em;line-height:1.65}p:last-child{margin-bottom:0}
.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}

/* Header */

@media(max-width:768px){
 
 
 .nav__links.open{display:flex}
 
}

/* Nav mode toggle */

@media(max-width:768px){}

/* Hero */
.hero--sm{padding:120px 0 80px;text-align:center;background:linear-gradient(160deg,var(--ink) 0%,#0F3B36 40%,var(--primary) 100%);color:#fff}
.hero--sm h1{font-size:42px;margin-bottom:16px;color:#fff}
.hero--sm p{font-size:17px;color:rgba(255,255,255,0.75);max-width:700px;margin:0 auto}

/* Filters */
.filters{background:var(--grey-100);padding:20px 0;margin-bottom:40px}
.filter-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fb{padding:8px 16px;border:1px solid rgba(0,0,0,0.1);border-radius:20px;background:var(--paper);font:500 13px/1 var(--font-body);color:var(--grey-500);cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}
.fb:hover.fb.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Country grid */
/* .cg legacy grid removed 2026-05-06 — was conflicting with .cg__grid inside, splitting page in half */
.cc__sub{font:400 13px/1 var(--font-body);color:var(--grey-500);margin-top:2px}
.cc__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.cc__s{background:var(--grey-100);padding:8px 12px;border-radius:6px}
.cc__sl{font:500 10px/1 var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--grey-500);margin-bottom:3px}
.cc__sv{font:600 13px/1.3 var(--font-body);color:var(--grey-900)}
.cc__tags{display:flex;flex-wrap:wrap;gap:6px}
.cc__tag{font:500 11px/1 var(--font-body);padding:4px 8px;border-radius:4px;background:var(--primary-10);color:var(--primary)}
.cc__tag--green{background:#dcfce7;color:#166534}

/* CTA section */
.cta-s{background:var(--ink);padding:64px 0;text-align:center}
.cta-s h2{color:#fff;font-size:28px;margin-bottom:12px}
.cta-s p{color:rgba(255,255,255,0.7);font-size:16px;margin-bottom:28px;max-width:500px;margin-left:auto;margin-right:auto}
.btn{display:inline-flex;padding:16px 32px;background:var(--accent);color:#fff;border-radius:var(--radius);font:600 15px/1 var(--font-body);border:2px solid transparent;transition:all var(--duration-normal) var(--ease-out);min-height:48px}
.btn:hover{background:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px rgba(168,74,32,0.25)}

/* Tools */
.tools{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding:0 var(--gutter) 48px}
.tool-link{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:1px solid rgba(0,0,0,0.1);border-radius:var(--radius);font:500 14px/1 var(--font-body);color:var(--ink);transition:all var(--duration-normal) var(--ease-out)}
.tool-link:hover{border-color:var(--primary);color:var(--primary)}

.no-results{text-align:center;padding:40px 0;color:var(--grey-500);display:none}
.no-results p{font-size:15px}

@media(max-width:768px){.hero--sm h1{font-size:28px}}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--grey-900);color:#fff;padding:16px 24px;z-index:9999;transform:translateY(100%);transition:transform .4s ease;font-size:14px}
.cookie-banner.visible{transform:translateY(0)}
.cookie-banner__inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cookie-banner__text{margin:0;flex:1;min-width:200px}
.cookie-banner__text a{color:var(--primary);text-decoration:underline}
.cookie-banner__actions{display:flex;gap:10px}
.cookie-banner__btn{padding:8px 20px;border-radius:6px;border:none;font-size:14px;font-weight:600;cursor:pointer}
.cookie-banner__btn--accept{background:var(--primary);color:#fff}
.cookie-banner__btn--decline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.3)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}

/* Affiliate tools */
.affiliate-tools{background:var(--grey-100);border:1px solid rgba(0,0,0,0.06);border-radius:var(--radius-lg);padding:28px;margin:40px 0}
.affiliate-tools h3{font-size:1.1rem;margin:0 0 6px;color:var(--grey-900)}
.affiliate-tools>p{font-size:.85rem;color:var(--grey-500);margin:0 0 18px}
.affiliate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.aff-card{background:var(--paper);border:1px solid rgba(0,0,0,0.06);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--grey-900);transition:border-color .2s}
.aff-card:hover{border-color:var(--primary)}
.aff-card strong{display:block;font-size:.95rem;margin-bottom:4px}
.aff-card span{font-size:.82rem;color:var(--grey-500);line-height:1.4}
.aff-card .aff-tag{display:inline-block;font-size:.7rem;background:var(--primary-10);color:var(--primary);padding:2px 8px;border-radius:4px;margin-top:8px;font-weight:600}
.affiliate-tools .aff-disc{font-size:.72rem;color:var(--grey-300);margin:14px 0 0;font-style:italic}

/* Footer */

@media(max-width:768px){}
@media(max-width:480px){}

.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:8px 16px;z-index:1000;font:600 14px/1 var(--font-body);border-radius:0 0 var(--radius) 0;transition:top 0.2s}
.skip-link:focus{top:0}
a{color:#1A5C50;text-decoration:none}a:hover{color:#267A6B}
a.nav__cta,a.nav__cta:hover.nav__cta,

@media(max-width:768px){main{padding-bottom:80px}}

/* WCAG 2.1 AA: focus-visible styles */
:focus-visible{outline:2px solid var(--primary,#1A5C50);outline-offset:2px;border-radius:4px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary,#1A5C50);outline-offset:2px}


html, body{overflow-x:hidden !important;max-width:100% !important}
@media(max-width:480px){
  .ctb__search{min-width:0 !important;max-width:100% !important;flex:1 1 100% !important}
  .ctb__inner{flex-wrap:wrap;gap:10px}
  .ctb__sort{flex:1 1 100%;text-align:right}
  .cw__teaser{flex-direction:column;text-align:center;gap:14px;padding:18px 20px}
  .cw__teaser p{min-width:0;flex:none}
  .cw__teaser-cta{align-self:center}
  .cw__continents{padding:0 14px !important}
  .cw__group-h{flex-direction:column;align-items:flex-start;gap:6px}
  .cw__group-h .cw__group-meta{margin-left:0;text-align:left;font-size:12px}
  .ch__counts{grid-template-columns:1fr 1fr !important;gap:14px !important}
}


.cp{--fs:var(--font-body,'Inter',sans-serif);--fm:var(--font-data,'JetBrains Mono',monospace);--fd:var(--font-display,'Fraunces',serif);
 --cr:var(--cream,#F5F1E8);--ink2:var(--ink,#0C2E2B);--pri:var(--primary,#1A5C50);--pri10:var(--primary-10,#EDF5F3);
 --acc:var(--accent,#A84A20);--acd:var(--accent-on-dark,#FFB37A);--g900:var(--grey-900,#1A1F2B);--g700:var(--grey-700,#3D4451);--g500:var(--grey-500,#5A6470);--g300:var(--grey-300,#C8CCD2);--g100:var(--grey-100,#F2F3F5);--bs:#E5E7EA;
 background:var(--surface);font-family:var(--fs)}
.cp .wrap{max-width:1000px;margin:0 auto;padding:0 24px}
/* DSC-034 (2026-08-02): the crumb's DESIGN (size, spacing, separator, colour,
   incl. the .breadcrumb--on-dark inversion used here) lives in ONE place —
   deploy/assets/design-system.final10.css. All this page owns is WHERE the
   crumb sits: overlaid on the hero photo, in the hero's own 1000px gutter.
   Do not re-add font/colour rules here; that is how ten variants happened. */
.cp-crumb{position:absolute;top:0;left:0;right:0;z-index:3}
.cp-crumb .breadcrumb{max-width:1000px;margin:0 auto;padding:14px 24px}
.cp-hero{position:relative;overflow:hidden;background:#0C2E2B;color:var(--white);padding:clamp(40px,5vw,64px) 0 clamp(48px,5.5vw,72px)}
.cp-hero__bg{position:absolute;inset:0;background:radial-gradient(130% 150% at 76% 8%,#1e6a5b 0%,#123f39 46%,#0C2E2B 100%);z-index:0}
.cp-hero__bg--photo{background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(.85) contrast(.96);opacity:.9}
.cp-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(12,46,43,.62) 0%,rgba(12,46,43,.48) 42%,rgba(12,46,43,.82) 100%)}
.cp-hero__grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 90% at 70% 10%,#000,transparent 75%);mask-image:radial-gradient(120% 90% at 70% 10%,#000,transparent 75%)}
.cp-hero .wrap{position:relative;z-index:2}
.cp-hero__top{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cp-flag{display:block;filter:drop-shadow(0 4px 14px rgba(0,20,17,.45))}
.cp-flag img{display:block;width:clamp(60px,8vw,92px);height:auto;border-radius:10px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.cp-flag__emoji{font-size:clamp(52px,8vw,80px);line-height:1}
.cp-eyb{font:600 12px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--acd);margin-bottom:8px;display:flex;align-items:center;gap:10px}
.cp-eyb::before{content:"";width:26px;height:2px;background:currentColor}
.cp-hero h1{font-family:var(--fd);font-weight:500;font-size:clamp(42px,7vw,76px);line-height:1.0;letter-spacing:-.015em;color:var(--white);margin:0;text-shadow:0 2px 30px rgba(0,20,17,.35)}
.cp-badge{display:inline-flex;align-items:center;gap:10px;font:600 12.5px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--white);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:9px 16px;margin-top:24px;backdrop-filter:blur(4px)}
.cp-badge .dot{width:11px;height:11px;border-radius:50%;background:var(--acd);border:1.5px solid var(--acd);flex:none;box-shadow:0 0 0 4px rgba(255,179,122,.16)}
.cp-lead{font-size:clamp(16px,1.7vw,18px);line-height:1.65;color:rgba(255,255,255,.86);margin:22px 0 0;max-width:68ch}
.cp-facts{position:relative;z-index:4;margin-top:clamp(-54px,-5vw,-72px)}
.cp-facts__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cp-fact{background:var(--white);border:1px solid var(--bs);border-radius:14px;padding:18px 18px 17px;box-shadow:0 10px 28px rgba(12,46,43,.10);transition:box-shadow .18s ease,transform .18s ease}
.cp-fact:hover{box-shadow:0 16px 34px rgba(12,46,43,.14);transform:translateY(-2px)}
.cp-fact__ic{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--pri10);color:var(--pri);margin-bottom:13px}
.cp-fact__ic svg{width:19px;height:19px;display:block}
.cp-fact dt{font:600 12px var(--fm);letter-spacing:.07em;text-transform:uppercase;color:var(--g500);margin-bottom:5px}
.cp-fact dd{font-family:var(--fd);font-weight:500;font-size:21px;color:var(--ink2);margin:0;line-height:1.2;letter-spacing:-.01em}
.cp-body{padding:clamp(34px,4.5vw,52px) 0}
.cp-sec__eyb{font:600 12px var(--fm);letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 11px;display:flex;align-items:center;gap:10px}
.cp-sec__eyb::before{content:"";width:26px;height:2px;background:currentColor}
.cp-h2{font-family:var(--fd);font-weight:500;font-size:clamp(28px,3.6vw,38px);color:var(--ink2);margin:0 0 8px;letter-spacing:-.015em;line-height:1.08}
.cp-sub{font-size:15px;line-height:1.6;color:var(--g500);margin:0 0 30px;max-width:64ch}
/* Per-route official source (2026-08-03). Quiet by design: a cited source is the
   expected state on almost every route, so it must read as provenance, not as an
   alert. The link is the only accent.
   NOTE: never put a route/country COUNT in this comment. STYLE is inlined into
   every page, so a figure written here becomes a PUBLISHED claim on all 227
   country pages — one did, and check_stats_consistency blocked the deploy for
   it. Counts belong in the Python docstrings above, which do not ship. */
.cp-route__src{margin-top:12px;padding-top:11px;border-top:1px solid var(--g100);font-size:12.5px;line-height:1.5;color:var(--g500);word-break:break-word}
.cp-route__src a{color:var(--pri);text-decoration:none;border-bottom:1px solid rgba(26,92,80,.28)}
.cp-route__src a:hover{border-bottom-color:var(--pri)}
.cp-route__src__d{font-family:var(--fm);font-size:12px}
.cp-route__src--none{color:var(--g500);font-style:italic}
/* ---- Evidence-state badge (DSR-005 / DSC-016..021) — always colour + text label
   (DSC-020), never the verdict green/red (DSC-017). Tokens are the 4 that already
   live in design-system.final10.css (:root, ~line 1488) — this only consumes them. */
.ev{display:inline-flex;align-items:center;gap:5px;font:600 12px var(--fm);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 10px;line-height:1.35;white-space:nowrap;flex:none}
.ev::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.ev--verified{color:var(--state-verified,#1A5C50);background:var(--state-verified-bg,#EDF5F3)}
.ev--partial{color:var(--state-partial,#9A6700);background:var(--state-partial-bg,#FEF6E0)}
.ev--closed{color:var(--state-closed,#5A6470);background:var(--state-closed-bg,#F2F3F5)}
.ev--unknown{color:var(--state-unknown,#5A6470);background:var(--state-unknown-bg,transparent);border:1px solid var(--bs)}
.cp-card{background:var(--white);border:1px solid var(--bs);border-radius:16px;padding:clamp(24px,3.2vw,34px);box-shadow:0 2px 6px rgba(12,46,43,.05);margin-top:30px}
.cp-card h2{font-family:var(--fd);font-weight:500;font-size:22px;color:var(--ink2);margin:0 0 12px}
.cp-card>p{font-size:16px;line-height:1.7;color:var(--g900);margin:0}
.cp-disclaimer{margin:18px auto 0;max-width:70ch;font-size:13px;line-height:1.55;color:var(--g500);text-align:center}
.cp-meta{margin:26px auto 0;max-width:80ch;font:400 12.5px/1.7 var(--fs);color:var(--g500);text-align:center}
.cp-meta a{color:var(--g500);text-decoration:underline}
.cp-meta .cp-disclaimer{margin:0;display:inline}
.cp-cta{background:linear-gradient(160deg,#0C2E2B,#123f39 60%,#1A5C50);padding:clamp(40px,5vw,64px) 0}
.cp-cta .wrap{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.cp-cta h2{font-family:var(--fd);font-weight:500;font-size:clamp(26px,3.6vw,38px);line-height:1.12;color:var(--white);margin:0;max-width:22ch}
.cp-cta p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.82);margin:0;max-width:52ch}
.cp-cta__row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}
.cp-cta__a{display:inline-flex;align-items:center;justify-content:center;font:600 15px var(--fs);text-decoration:none;border-radius:10px;padding:14px 26px}
.cp-cta__a--p{background:var(--acc);color:var(--white)}.cp-cta__a--p:hover{background:var(--accent-hover,#9C4720);color:var(--white)}
.cp-cta__a--s{background:rgba(255,255,255,.10);color:var(--white);border:1px solid rgba(255,255,255,.28)}.cp-cta__a--s:hover{background:rgba(255,255,255,.18);color:var(--white)}
.cp--routes{position:relative}


.cp-back{display:inline-flex;align-items:center;gap:7px;font:600 12.5px var(--fm);letter-spacing:.04em;text-transform:uppercase;color:var(--white);text-decoration:none;margin-bottom:6px}
.cp-back:hover{color:#fff}
.cp-detail{display:grid;gap:0}
.cp-detail__row{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--bs)}
.cp-detail__row:first-child{border-top:none;padding-top:0}
.cp-detail__k{font:600 12px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--g500);padding-top:2px}
.cp-detail__v{font-size:15.5px;line-height:1.6;color:var(--g900)}
.cp-detail__v a{color:var(--pri);text-decoration:none}.cp-detail__v a:hover{text-decoration:underline}
.cp-gatebig{font-family:var(--fd);font-weight:500;font-size:22px;color:var(--ink2);letter-spacing:-.01em}
.cp-sib{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:6px}
.cp-sib a{display:block;background:#fff;border:1px solid var(--bs);border-radius:11px;padding:13px 15px;font:600 14px var(--fs);color:var(--ink2);text-decoration:none;line-height:1.4}
.cp-sib a:hover{color:var(--pri);box-shadow:0 8px 20px rgba(12,46,43,.10)}
.cp-detail__note{font-size:13.5px;color:var(--g500)}
.cp-detail__src{font-size:13px;color:var(--g500)}
.ver{font-size:13px;line-height:1.55;color:var(--g500)}
.ver.muted,.muted{color:var(--g500)}
.ver a{text-decoration:underline}
.mono{font-family:var(--fm)}
/* DSR-029: substitui o atributo de estilo em linha (margin-top: 40px) que
   este ficheiro repetia em cada eyebrow de secção (siblings + related-
   -elsewhere) — mesma família de correcção do
   design_system_baseline._last_tighten_reason, agora estendida às duas
   secções de "outras rotas" da ficha. NOTA: não escrever aqui o atributo
   literal — o guarda de inline styles conta bytes, não contexto, e um
   comentário que o cite volta a inflar o ratchet que esta regra desce. */
.cp-sec__eyb--sp{margin-top:40px}
/* source_line() (build_country_pathways.py) foi desenhada para a CARD do
   país, onde tem espaço próprio abaixo do chip de família; aqui vive dentro
   de uma linha de detail já com o seu próprio padding — sem isto herdava um
   separador e um respiro duplicados. */
.cp-detail__v .cp-route__src{margin-top:0;padding-top:0;border-top:none}
@media(max-width:480px){.cp-detail__row{grid-template-columns:1fr;gap:4px}}


.pw-evs{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:11px}
.pw-ev{background:var(--g100);border-radius:11px;padding:12px 14px;display:grid;gap:5px}
.pw-ev--gap{background:transparent;border:1px dashed var(--g300);padding:10px 14px}
.pw-ev__k{font:600 12px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--pri)}
.pw-ev--gap .pw-ev__k{color:var(--g500)}
.pw-ev__q{font-size:15px;line-height:1.6;color:var(--g900);quotes:"\201C" "\201D";font-style:normal}
.pw-ev__m{font-size:12.5px;line-height:1.55;color:var(--g500)}
.pw-ev__m a{color:var(--pri)}
.pw-ev__note{display:block;font:400 13px var(--fs);color:var(--g500);margin-top:4px}
.pw-gap{color:var(--g500);font-style:italic}
.pw-rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:6px}
.pw-rel a{display:block;background:var(--white);border:1px solid var(--bs);border-radius:12px;padding:14px 16px;font:600 14px var(--fs);color:var(--ink2);text-decoration:none;line-height:1.4;transition:box-shadow .18s ease,transform .18s ease}
.pw-rel a:hover{color:var(--pri);box-shadow:0 10px 24px rgba(12,46,43,.11);transform:translateY(-1px)}
.pw-rel a img{vertical-align:-3px;margin-right:7px;border-radius:2px}
.pw-rel__n{display:block;font:500 12px var(--fm);color:var(--g500);margin-top:4px;text-transform:none;letter-spacing:0}
/* ── hero: nomes de visto longos não podem sair em 76px ─────────────────── */
.cp-back{display:inline-flex;align-items:center;gap:7px;font:600 12.5px var(--fm);letter-spacing:.04em;text-transform:uppercase;color:var(--white);text-decoration:none;margin-bottom:10px}
.cp-back:hover{opacity:.85}
.cp-hero h1.pw-h1--long{font-size:clamp(30px,4.6vw,54px);line-height:1.08}
/* ── faixa de KPIs (padrão Stats & KPIs — as perguntas de quem compra) ──── */
.pw-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.pw-kpi{background:var(--white);border:1px solid var(--bs);border-radius:14px;padding:18px 18px 16px;box-shadow:0 10px 28px rgba(12,46,43,.10);transition:box-shadow .18s ease,transform .18s ease}
.pw-kpi:hover{box-shadow:0 16px 34px rgba(12,46,43,.14);transform:translateY(-2px)}
.pw-kpi dt{font:600 12px var(--fm);letter-spacing:.07em;text-transform:uppercase;color:var(--g500);margin:0 0 7px}
.pw-kpi dd{font-family:var(--fd);font-weight:500;font-size:23px;color:var(--ink2);margin:0;line-height:1.15;letter-spacing:-.01em}
.pw-kpi--dim dd{color:var(--g500)}
.pw-kpi__n{display:block;font:400 12.5px var(--fs);color:var(--g500);margin-top:6px;line-height:1.45}
/* ── corpo em duas colunas + cartão-resumo fixo ─────────────────────────── */
/* O chrome herdado traz html,body{overflow-x:hidden !important} (fix mobile
   2026-05-07), que faz do body um contentor de scroll e MATA o position:sticky
   do cartão-resumo. `clip` corta o overflow horizontal na mesma SEM criar
   contentor de scroll; navegadores sem `clip` ignoram e ficam como estavam. */
html,body{overflow-x:clip !important}
.pw-cols{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:clamp(26px,4vw,54px);align-items:start}
.pw-mainc{grid-column:1;grid-row:1;min-width:0}
.pw-sum{grid-column:2;grid-row:1;position:sticky;top:84px}
@media(max-width:900px){.pw-cols{grid-template-columns:1fr}.pw-sum{position:static;grid-column:1;grid-row:auto;margin-bottom:6px}.pw-mainc{grid-column:1;grid-row:auto}}
.pw-sum__card{background:var(--white);border:1px solid var(--bs);border-top:4px solid var(--pri);border-radius:16px;padding:22px 24px 20px;box-shadow:0 14px 40px rgba(12,46,43,.12)}
.pw-sum__k{font:600 12px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--pri);margin:0 0 6px}
.pw-sum__rows{margin:0}
.pw-sum__row{padding:11px 0;border-top:1px solid var(--g100)}
.pw-sum__row:first-child{border-top:none}
.pw-sum__row dt{font:600 12px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--g500)}
.pw-sum__row dd{margin:3px 0 0;font:600 14.5px var(--fs);color:var(--ink2);line-height:1.5}
.pw-sum__row dd a{color:var(--pri);text-decoration:none}.pw-sum__row dd a:hover{text-decoration:underline}
.pw-sum__row dd .pw-dim{color:var(--g500);font-weight:500}
.pw-sum__q{font-family:var(--fd);font-weight:500;font-size:19px;color:var(--ink2);margin:16px 0 10px;line-height:1.25}
.pw-sum__cta{display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--white);border-radius:10px;padding:14px 20px;font:600 15px var(--fs);text-decoration:none;transition:background .15s ease,transform .15s ease}
.pw-sum__cta:hover{background:var(--accent-hover);color:var(--white);transform:translateY(-1px)}
.pw-sum__micro{margin:9px 0 0;font:500 12px var(--fm);color:var(--g500);text-align:center;letter-spacing:.02em}
/* PGS-P10: o bloco de confiança fica COLADO ao botão — a fonte e a data no
   momento em que a dúvida aparece. Discreto de propósito: informa, não compete
   com o botão. */
.pw-sum__trust{margin:0 0 10px;font:400 12.5px/1.45 var(--fb);color:var(--g500);text-align:center}
.pw-sum__trust a{color:var(--g500);text-decoration:underline;text-underline-offset:2px}
.pw-sum__trust a:hover{color:var(--brand)}
/* ── secções da coluna principal ────────────────────────────────────────── */
.pw-sec{margin-top:clamp(38px,5vw,56px)}
.pw-sec:first-child{margin-top:0}
/* ── checklist «who qualifies» (padrão List, com a prova por item) ──────── */
.pw-chk{background:var(--white);border:1px solid var(--bs);border-radius:16px;padding:clamp(20px,3vw,28px);box-shadow:0 2px 6px rgba(12,46,43,.05)}
.pw-chk__g{font:600 12px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--pri);margin:24px 0 2px}
.pw-chk__g:first-child{margin-top:0}
.pw-chk__gn{font:400 13px var(--fs);color:var(--g500);margin:0 0 4px}
.pw-chk__l{list-style:none;margin:0;padding:0}
.pw-ck{display:grid;grid-template-columns:30px 1fr;gap:0 14px;padding:15px 0 14px;border-top:1px solid var(--g100)}
.pw-ck__ic{width:26px;height:26px;border-radius:50%;background:var(--pri10);color:var(--pri);display:flex;align-items:center;justify-content:center;font:600 13px var(--fm);margin-top:1px}
.pw-ck--gap .pw-ck__ic{background:transparent;border:1px dashed var(--g300);color:var(--g500)}
.pw-ck__t{font:600 15px var(--fs);color:var(--ink2);align-self:center}
.pw-ck__q{grid-column:2;font:400 14.5px/1.6 var(--fs);color:var(--g700);margin:5px 0 0;quotes:"\201C" "\201D";font-style:normal;display:block}
.pw-ck__m{grid-column:2;font:500 12px var(--fm);color:var(--g500);margin-top:5px}
.pw-ck__m a{color:var(--pri)}
/* ── família: badges por relação, ou o vazio honesto ────────────────────── */
.pw-fam{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pw-fam__b{font:600 13.5px var(--fs);color:var(--pri);background:var(--pri10);border-radius:999px;padding:8px 15px}
.pw-none{background:var(--g100);border-radius:14px;padding:18px 20px;font:400 14.5px/1.6 var(--fs);color:var(--g700)}
.pw-none b{font-family:var(--fm);font-weight:600;color:var(--g500)}
/* ── stepper: o NOSSO processo em 3 passos ──────────────────────────────── */
.pw-steps{margin-top:14px}
.pw-step{display:grid;grid-template-columns:44px 1fr;gap:0 16px;position:relative;padding:0 0 26px}
.pw-step::before{content:"";position:absolute;left:21px;top:48px;bottom:2px;width:2px;background:var(--g100)}
.pw-step:last-child{padding-bottom:0}
.pw-step:last-child::before{display:none}
.pw-step__n{width:44px;height:44px;border-radius:50%;background:var(--white);border:1.5px solid var(--pri);color:var(--pri);display:flex;align-items:center;justify-content:center;font:600 14px var(--fm)}
.pw-step__t{font:600 16px var(--fs);color:var(--ink2);align-self:center}
.pw-step__d{grid-column:2;font:400 14.5px/1.6 var(--fs);color:var(--g700);margin-top:4px}
/* ── FAQ numerada (padrão FAQ, acordeão nativo) ─────────────────────────── */
.pw-faq{border-top:1px solid var(--bs);margin-top:10px}
.pw-faq details{border-bottom:1px solid var(--bs)}
.pw-faq summary{display:flex;align-items:baseline;gap:14px;cursor:pointer;list-style:none;padding:17px 2px;font:600 15.5px var(--fs);color:var(--ink2)}
.pw-faq summary::-webkit-details-marker{display:none}
.pw-faq summary:hover{color:var(--pri)}
.pw-faq__n{font:600 13px var(--fm);color:var(--acc);flex:none}
.pw-faq__x{margin-left:auto;font-family:var(--fd);font-weight:400;font-size:22px;line-height:1;color:var(--g500);transition:transform .18s ease;flex:none}
.pw-faq details[open] .pw-faq__x{transform:rotate(45deg)}
.pw-faq__a{padding:0 34px 20px;font:400 15px/1.65 var(--fs);color:var(--g700)}
.pw-faq__a q{quotes:"\201C" "\201D"}
.pw-faq__src{display:block;margin-top:8px;font:500 12px var(--fm);color:var(--g500)}
.pw-faq__src a{color:var(--pri)}
/* ── a fronteira do registo: UMA linha + detalhe fechado ────────────────── */
.pw-edge{background:var(--cr);border-radius:14px;padding:18px 22px;font:400 14.5px/1.65 var(--fs);color:var(--g700)}
.pw-edge>p{margin:0}
.pw-edge details{margin-top:10px}
.pw-edge summary{cursor:pointer;display:inline-block;font:600 12px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--pri);list-style:none}
.pw-edge summary::-webkit-details-marker{display:none}
.pw-edge summary::after{content:" +"}
.pw-edge details[open] summary::after{content:" \2212"}
.pw-edge__h{font:600 12px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--g500);margin:14px 0 4px}
.pw-edge__cols{columns:2;column-gap:28px;margin:6px 0 0;padding:0 0 0 18px;font-size:14px;line-height:1.8}
@media(max-width:768px){.pw-edge__cols{columns:1}}
/* ── autor numa linha (DSC-045: nome visível; Person no JSON-LD) ────────── */
.pw-author{margin:26px 0 0;font:400 13.5px/1.6 var(--fs);color:var(--g500);text-align:center}
.pw-meta{margin:22px 0 0;font:400 12.5px/1.7 var(--fs);color:var(--g500);text-align:center}
.pw-meta a{color:var(--g500);text-decoration:underline}
.pw-meta .pw-seal{margin:0}
.pw-meta .ver{display:inline;margin:0}
.pw-author a{color:var(--pri)}
/* ── selo canónico junto ao painel da fonte ─────────────────────────────── */
.pw-seal{margin-top:10px}
/* ── micro-prova na banda final ─────────────────────────────────────────── */
.pw-cta__micro{font:600 12px var(--fm);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);margin:0}


.pw-src{display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:baseline;
 text-decoration:none;background:var(--white);border:1px solid var(--bs,#E5E7EA);border-left:4px solid var(--primary,#1A5C50);
 border-radius:12px;padding:18px 22px;margin:26px 0 0;box-shadow:0 8px 22px rgba(12,46,43,.07);transition:box-shadow .18s ease,transform .18s ease}
.pw-src:hover{box-shadow:0 14px 30px rgba(12,46,43,.13);transform:translateY(-1px)}
.pw-src__k{font:600 10.5px var(--font-data,monospace);letter-spacing:.09em;text-transform:uppercase;color:var(--grey-500,#5A6470)}
.pw-src__u{font-family:var(--font-display,serif);font-size:21px;font-weight:500;color:var(--primary,#1A5C50);word-break:break-all}
.pw-src__d{font:500 12px var(--font-data,monospace);color:var(--grey-500,#5A6470);white-space:nowrap}
.pw-src__t{grid-column:2/-1;font-size:14px;line-height:1.55;color:var(--grey-700,#3D4451)}
.pw-gap{font-size:14px;line-height:1.6;color:var(--grey-700,#3D4451)}
@media(max-width:768px){.pw-src{grid-template-columns:1fr}.pw-src__d{grid-column:1}}

.pw-hid{display:none;visibility:hidden}
.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff !important;padding:8px 16px;z-index:10000;font:600 14px/1 system-ui;transition:top 0.3s}
.site-footer__compliance{opacity:.7;font-size:.85em}
#btt{position:fixed;bottom:20px;left:20px;z-index:99;display:none;width:44px;height:44px;border-radius:50%;border:none;background:var(--primary,#1A5C50);color:#fff;cursor:pointer;font-size:20px;box-shadow:0 2px 8px rgba(12,46,43,.25)}