/* Marcação de trilha: somente HTML, CSS e JavaScript. Sem imagens, SVG ou canvas. */
/* As duas extremidades usam o mesmo desenho de cerdas, sem final arredondado rígido. */
.ex-paint-demo{width:min(100%,850px);background:#fff;display:grid;place-items:center;padding:clamp(30px,6vw,76px) 18px;}
.ex-paint{position:relative;width:min(100%,700px);aspect-ratio:654/379;overflow:visible;isolation:isolate;transform:rotate(-.35deg);}
.ex-paint__solid{position:absolute;inset:0;background:linear-gradient(180deg,#ffd024 0%,#ffc500 26%,#fac000 58%,#ffd123 100%);clip-path:var(--ex-brush-edge);}
.ex-paint__fiber,.ex-paint__scratch,.ex-paint__ridge{position:absolute;display:block;pointer-events:none;}
.ex-paint__fiber{background:linear-gradient(90deg,transparent 0%,#f3bd00 15%,#ffcd12 61%,transparent 100%);height:1px;}
.ex-paint__fiber--light{background:linear-gradient(90deg,transparent,#ffd32d 38%,#f7c100 77%,transparent);}
.ex-paint__ridge{border-radius:80% 25% 70% 30% / 60%;height:1px;mix-blend-mode:multiply;}
.ex-paint__scratch{border-radius:80% 15% 60% 25%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),rgba(255,255,255,.35),transparent);}
.ex-paint__detail{position:absolute;inset:0;pointer-events:none;clip-path:var(--ex-brush-edge);}
@media(prefers-reduced-motion:reduce){.ex-paint{transform:none}}

/* Extremos · sinalização de montanha · 100% HTML, CSS, JS */
.ex-mountain-paint, .ex-mountain-paint * {box-sizing:border-box}
.ex-mountain-paint {--paper:#edf0ea;
 --paint-fill:linear-gradient(180deg,#f83d35 0%,#e92a27 32%,#dd2524 68%,#ef3930 100%);
 --paint-fiber-hi:rgba(255,113,104,.55);--paint-fiber-lo:rgba(150,10,17,.43);
 --paint-ridge-dark:linear-gradient(90deg,transparent,#a51619 32%,#d52b24 74%,transparent);
 --paint-ridge-light:linear-gradient(90deg,transparent,#ff8e79 32%,#ff6152 70%,transparent); width:min(100%,870px);margin:0 auto; background:var(--paper);padding:clamp(28px,5vw,55px) 16px;display:grid;place-items:center;}
.ex-mountain-paint__mark {width:min(100%,735px);aspect-ratio:735/415;position:relative;isolation:isolate;transform:rotate(-.22deg);}
.ex-mountain-paint__stripe {position:absolute;left:0;width:100%;height:44%;isolation:isolate;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(42,35,28,.11));}
/* As faixas não têm margens: avançam fisicamente umas sobre as outras. */
.ex-mountain-paint__stripe--upper {top:0%;z-index:1;transform:translateX(-.3%) rotate(-.18deg)}
.ex-mountain-paint__stripe--lower {top:56%;z-index:2;transform:translateX(.18%) rotate(.14deg)}
.ex-mountain-paint__stripe--center {top:28%;z-index:3;transform:translateX(.1%) rotate(-.06deg)}
.ex-mountain-paint__stripe--white {--fiber-hi:rgba(255,255,255,.94);--fiber-lo:rgba(196,194,183,.43)}
.ex-mountain-paint__stripe--red {--fiber-hi:var(--paint-fiber-hi);--fiber-lo:var(--paint-fiber-lo)}
.ex-mountain-paint__fill, .ex-mountain-paint__detail {position:absolute;inset:0;clip-path:var(--paint-cut);}
.ex-mountain-paint__fill--white{background:linear-gradient(180deg,#fff 0%,#fdfdfa 31%,#f5f5ef 65%,#fff 100%)}
.ex-mountain-paint__fill--red{background:var(--paint-fill)}
.ex-mountain-paint__fiber,.ex-mountain-paint__scratch,.ex-mountain-paint__ridge {display:block;position:absolute;pointer-events:none;border-radius:70% 20% 65% 25%;}
.ex-mountain-paint__fiber {background:linear-gradient(90deg,transparent,var(--fiber-lo) 19%,var(--fiber-hi) 61%,transparent);height:1px}
.ex-mountain-paint__ridge {height:1px;mix-blend-mode:multiply}
.ex-mountain-paint__scratch {height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45) 34%,rgba(255,255,255,.1) 83%,transparent)}
.ex-mountain-paint__fluffs {position:absolute;inset:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ex-mountain-paint__mark,.ex-mountain-paint__stripe{transform:none}}
/* Azul céu RAL 5015: aproximação digital, seguindo a paleta já usada no artigo suíço.
   Referência física: ASTRA / Schweizer Wanderwege, Signalisation Wanderwege, p. 24. */
.ex-mountain-paint--blue {
 --paint-fill:linear-gradient(180deg,#2c80c2 0%,#2271b3 32%,#206aab 68%,#297abb 100%);
 --paint-fiber-hi:rgba(115,187,240,.55);--paint-fiber-lo:rgba(16,74,126,.43);
 --paint-ridge-dark:linear-gradient(90deg,transparent,#155184 32%,#2069a3 74%,transparent);
 --paint-ridge-light:linear-gradient(90deg,transparent,#79b9e8 32%,#529bd1 70%,transparent);
}


/* Extremos — continuação editorial e marcações da proposta brasileira. */
.trail-category__eyebrow { display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--news-muted);font:700 11px/1.4 "Open Sans",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase; }
.trail-category__eyebrow::before { content:"";width:30px;height:5px;flex:none;background:var(--trail-color);border-radius:2px; }
.trail-category--yellow { --trail-color:#f3bb10; }
.trail-category--red { --trail-color:#e52e3d; }
.trail-category--blue { --trail-color:#2271b3; }
.trail-category__mark-name { display:block;margin-top:14px;color:var(--news-muted);font:600 clamp(14px,1.4vw,17px)/1.5 "Open Sans",Arial,sans-serif;letter-spacing:0; }
.trail-marking { margin:34px 0 38px;overflow:hidden;border:1px solid #dce3dc;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(7,27,52,.035); }
.trail-marking__stage { display:grid;place-items:center;overflow:hidden;background:#897f68; }
.trail-marking .ex-paint-demo,.trail-marking .ex-mountain-paint { width:100%;margin:0;padding:clamp(28px,4vw,44px) clamp(24px,4vw,42px);background:transparent; }
.trail-marking .ex-paint,.trail-marking .ex-mountain-paint__mark { width:min(100%,470px); }
.trail-marking figcaption { padding:22px 26px;border-top:1px solid #dce3dc;color:var(--news-ink-soft);font:400 13px/1.65 "Open Sans",Arial,sans-serif; }
.trail-marking figcaption strong { display:block;margin-bottom:4px;font-size:14px;color:var(--news-ink); }
.trail-marking__reference { display:block;margin-top:8px;color:var(--news-muted);font-size:11px; }
.news-copy .trail-marking__reference a { color:inherit;text-underline-offset:3px; }
@media(max-width:640px) {
 .trail-marking { border-radius:15px;margin:28px 0 32px; }
 .trail-marking figcaption { padding:18px 20px; }
 .trail-category__mark-name { margin-top:11px; }
}

/* Referências de cor: amostras digitais, com os códigos físicos RAL em destaque. */
.trail-palette { margin:36px 0 0;padding:26px;border:1px solid #dce2dc;border-radius:20px;background:#fff; }
.trail-palette > figcaption { margin-bottom:20px;color:var(--news-ink);font:800 22px/1.3 "Raleway",Arial,sans-serif;letter-spacing:-.025em; }
.trail-palette__list { list-style:none;margin:0;padding:0; }
.news-copy .trail-palette__list li { display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0;padding:15px 0;font:400 14px/1.5 "Open Sans",Arial,sans-serif; }
.trail-palette__list li + li { border-top:1px solid #edf0ea; }
.trail-palette__swatch { width:48px;height:48px;border:1px solid #0002;border-radius:9px;background:var(--palette-color); }
.trail-palette__label strong { display:block;font-size:16px; }
.trail-palette__label > span { display:block;margin-top:3px;color:var(--news-muted);font-size:12px; }
.trail-palette__code { white-space:nowrap;color:var(--news-ink);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums; }
.trail-palette__note { margin-top:18px;padding-top:18px;border-top:1px solid #e7e9e4;color:var(--news-muted);font:400 11px/1.7 "Open Sans",Arial,sans-serif; }
.news-copy .trail-palette__note a { color:inherit; }
@media(max-width:480px) {
 .trail-palette { padding:20px 16px;border-radius:16px; }
 .news-copy .trail-palette__list li { grid-template-columns:36px minmax(0,1fr);gap:5px 12px; }
 .trail-palette__swatch { width:36px;height:42px;grid-row:span 2; }
 .trail-palette__code { grid-column:2;font-size:12px; }
}

/* Galeria editorial dos escudos conceituais; mantém a coluna lateral atrás da área ampla. */
.trail-shield-gallery { position:relative;z-index:5;margin-top:32px;padding:8px 0;background:var(--news-paper); }
.trail-shield-gallery__inner { width:min(1280px,calc(100% - 48px));margin:0 auto;overflow:hidden;border:1px solid #dce2dc;border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(7,27,52,.045); }
.trail-shield-gallery__head { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 32px;border-bottom:1px solid #e7e9e4; }
.trail-shield-gallery__eyebrow { display:block;margin-bottom:9px;color:var(--news-muted);font:700 10px/1.4 "Open Sans",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase; }
.trail-shield-gallery__head h3 { margin:0;color:var(--news-ink);font:800 clamp(21px,2.2vw,28px)/1.2 "Raleway",Arial,sans-serif;letter-spacing:-.025em; }
.trail-shield-gallery__hint { display:flex;align-items:center;gap:8px;flex:none;color:var(--news-muted);font:400 11px/1.5 "Open Sans",Arial,sans-serif; }
.trail-shield-gallery__grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr)); }
.trail-shield-application { margin:0;padding:22px 20px 26px;border-top:1px solid #e7e9e4; }
.trail-shield-application a { display:block;cursor:zoom-in; }
.trail-shield-application img { display:block;width:100%;height:auto; }
.trail-shield-application figcaption { margin-top:18px;color:var(--news-ink-soft);font:400 13px/1.7 "Open Sans",Arial,sans-serif; }
.trail-shield-application figcaption strong { display:block;margin-bottom:5px;color:var(--news-ink);font-size:14px; }
.trail-shield-application a:focus-visible { outline:3px solid var(--news-red);outline-offset:4px; }
.trail-shield-card { min-width:0;margin:0;padding:22px 20px 26px;text-align:center; }
.trail-shield-card + .trail-shield-card { border-left:1px solid #e7e9e4; }
.trail-shield-card__image { display:block;border-radius:10px;cursor:zoom-in; }
.trail-shield-card__image img { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;transition:transform .25s ease; }
.trail-shield-card__image:focus-visible { outline:3px solid var(--news-red);outline-offset:5px; }
.trail-shield-card figcaption { max-width:240px;margin:18px auto 0;color:var(--news-ink);font:700 16px/1.45 "Raleway",Arial,sans-serif; }
@media(hover:hover) { .trail-shield-card__image:hover img { transform:scale(1.025); } }
@media(max-width:1023px) {
 .trail-shield-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .trail-shield-card--national { grid-column:1 / -1; }
 .trail-shield-card--national .trail-shield-card__image { max-width:240px;margin:0 auto; }
 .trail-shield-card:nth-child(even) { border-left:0; }
 .trail-shield-card:nth-child(n+2) { border-top:1px solid #e7e9e4; }
}
@media(max-width:640px) {
 .trail-shield-gallery { margin-top:22px; }
 .trail-shield-gallery__inner { width:calc(100% - 32px);border-radius:18px; }
 .trail-shield-gallery__head { padding:22px 20px;align-items:flex-start;flex-direction:column;gap:12px; }
 .trail-shield-card { padding:18px 12px 20px; }
 .trail-shield-application { padding:18px 12px 20px; }
 .trail-shield-card figcaption { margin-top:12px;font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .trail-shield-card__image img { transition:none; }.trail-shield-card__image:hover img { transform:none; } }

/* Escala técnica: marcações ilustrativas e linhas editoriais abertas. */
.trail-difficulty { margin:38px 0 22px; }
.trail-difficulty__row { display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;padding:22px 0;border-bottom:1px solid #dce2dc;align-items:start; }
.trail-difficulty__grade { display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:14px;padding-top:0;color:var(--news-ink);font:800 16px/1.4 "Open Sans",Arial,sans-serif; }
.trail-difficulty__symbol { display:block;box-sizing:border-box;width:42px;height:32px;flex:none;border:1px solid #cbd2cc;border-radius:3px;background:#fff; }
.trail-difficulty__symbol--yellow { background:#efc000;border-color:#efc000; }
.trail-difficulty__symbol--red { background:linear-gradient(to bottom,#fff 0 33.33%,#cc0605 33.33% 66.67%,#fff 66.67%); }
.trail-difficulty__symbol--blue { background:linear-gradient(to bottom,#fff 0 33.33%,#2271b3 33.33% 66.67%,#fff 66.67%); }
.trail-difficulty__symbol--none { background:transparent;border-style:dashed;color:var(--news-muted);text-align:center;line-height:30px; }
.news-copy .trail-difficulty__text h3 { margin:2px 0 7px;color:var(--news-ink);font:800 21px/1.3 "Raleway",Arial,sans-serif; }
.news-copy .trail-difficulty__text p { margin:0;color:var(--news-ink-soft);font-size:16px;line-height:1.65; }
.news-copy .trail-difficulty__source { margin:0 0 32px;color:var(--news-muted);font:400 12px/1.7 "Open Sans",Arial,sans-serif; }
@media(max-width:480px) {
 .trail-difficulty__row { grid-template-columns:72px minmax(0,1fr);gap:14px;padding:20px 0; }
 .trail-difficulty__grade { gap:9px;font-size:14px; }
 .trail-difficulty__symbol { width:34px;height:27px; }
 .trail-difficulty__symbol--none { line-height:25px; }
 .news-copy .trail-difficulty__text h3 { font-size:18px; }
 .news-copy .trail-difficulty__text p { font-size:15px; }
}

/* Losango horizontal e seletor nativo: somente HTML/CSS. */
.trail-diamond { margin:30px 0 36px;border:1px solid #dce2dc;border-radius:20px;overflow:hidden;background:#fff; }
.trail-diamond__demo { padding:26px 24px 0;background:#f1f2ec; }
.trail-diamond__options { position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;border:0;min-width:0; }
.trail-diamond__options legend { float:left;width:100%;margin-bottom:14px;text-align:center;color:var(--news-muted);font:600 12px/1.5 "Open Sans",Arial,sans-serif; }
.trail-diamond__options input { position:absolute;width:1px;height:1px;opacity:0; }
.trail-diamond__options label { padding:9px 18px;border:1px solid #d4dbd3;border-radius:24px;background:#fff;color:var(--news-ink);font:600 13px/1.4 "Open Sans",Arial,sans-serif;cursor:pointer; }
.trail-diamond__options input:checked + label { background:var(--news-ink);color:#fff;border-color:var(--news-ink); }
.trail-diamond__options input:focus-visible + label { outline:3px solid #2271b3;outline-offset:3px; }
.trail-diamond__scene { display:flex;justify-content:center;align-items:center;flex-basis:100%;padding:34px 10px 42px; }
.trail-diamond__plate { position:relative;display:grid;place-items:center;width:min(340px,100%);aspect-ratio:1.6;background:#b88814;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.trail-diamond__plate::before { content:"";position:absolute;inset:2px;background:linear-gradient(145deg,#f5bb20,#e8a100);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.trail-diamond__word { position:relative;color:#191b15;font:700 clamp(25px,4vw,38px)/1 "Arial Narrow",Arial,sans-serif;visibility:hidden; }
#diamond-word:checked ~ .trail-diamond__scene .trail-diamond__word { visibility:visible; }
.trail-diamond__bolt { position:absolute;width:7px;height:7px;border:1px solid #737367;border-radius:50%;background:linear-gradient(130deg,#d9d8c8,#848779); }
.trail-diamond__bolt--top { top:11px;left:calc(50% - 4px); }
.trail-diamond__bolt--bottom { bottom:11px;left:calc(50% - 4px); }
.trail-diamond__bolt--left { left:17px;top:calc(50% - 4px); }
.trail-diamond__bolt--right { right:17px;top:calc(50% - 4px); }
.trail-diamond figcaption { padding:26px 28px;border-top:1px solid #dce2dc; }
.trail-diamond__eyebrow { display:block;margin-bottom:10px;color:var(--news-muted);font:700 10px/1.5 "Open Sans",Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase; }
.trail-diamond figcaption > strong { display:block;color:var(--news-ink);font:800 23px/1.2 "Raleway",Arial,sans-serif; }
.news-copy .trail-diamond figcaption p { margin:14px 0;font-size:15px;line-height:1.65; }
.trail-diamond figcaption small { display:block;color:var(--news-muted);font:400 11px/1.6 "Open Sans",Arial,sans-serif; }
@media(max-width:480px) {
 .trail-diamond__demo { padding:22px 16px 0; }
 .trail-diamond figcaption { padding:22px; }
 .trail-diamond__options label { padding:9px 14px;font-size:12px; }
}
