
:root{
  --deep:#5B271A;
  --main:#B84820;
  --content:#F2F1F0;
  --secondary:#E8C9BC;
  --ink:#2C211D;
  --muted:#65564F;
  --line:rgba(91,39,26,.16);
  --line-strong:rgba(91,39,26,.28);
  --outer:#14110F; /* suporte visual temporário; hexadecimal externo ainda não consolidado */
  --max:1160px;
}
*{box-sizing:border-box}
html{background:var(--outer);font-family:"Saira",system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--outer);color:var(--ink);font-size:16px;line-height:1.6}
button{font:inherit}
button:focus-visible{outline:3px solid rgba(184,72,32,.42);outline-offset:3px}
.shell{width:min(calc(100% - 32px),var(--max));margin:22px auto;background:var(--content);overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 26px 70px rgba(0,0,0,.24)}
.topbar{min-height:70px;background:var(--deep);color:#fff;display:grid;grid-template-columns:132px minmax(0,1fr) 132px;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.back{justify-self:start;min-height:42px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.04);color:#fff;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;font-weight:600;line-height:1}
.back[disabled]{opacity:.24;cursor:default}
.back .ico{font-size:22px;font-weight:400;transform:translateY(-1px)}
.context{text-align:center;min-width:0}
.context small{display:block;font-size:11.5px;line-height:1.2;font-weight:600;letter-spacing:.085em;text-transform:uppercase;color:var(--secondary)}
.context small:empty{display:none}
.context strong{display:block;margin-top:4px;font-size:16px;line-height:1.25;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mark{justify-self:end;width:54px;height:46px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden}
.mark img{display:block;width:50px;height:50px;object-fit:contain}
.view[hidden]{display:none!important}
.opening{padding:44px 42px 36px;background:var(--deep);color:#fff;position:relative;overflow:hidden}
.opening::after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:var(--main);right:-82px;bottom:-166px;opacity:.10}
.eyebrow{margin:0 0 11px;font-size:12px;line-height:1.25;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--secondary)}
.opening h1{position:relative;z-index:1;margin:0;font-size:clamp(38px,4.2vw,48px);line-height:1.02;font-weight:700;letter-spacing:-.026em;white-space:nowrap}
.opening .accent{width:58px;height:4px;margin-top:21px;background:var(--main)}
.zone{padding:32px 40px 40px;background:var(--content)}
.zone-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px}
.zone-head h2{margin:0;font-size:20px;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.zone-head span{font-size:13px;line-height:1.4;font-weight:500;color:var(--muted)}
.editorial-list{border-top:1px solid var(--line-strong)}
.editorial-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);display:grid;grid-template-columns:68px minmax(0,1fr) 28px;gap:18px;text-align:left;align-items:start;padding:27px 4px;cursor:pointer;transition:background .16s,padding .16s}
.editorial-row:hover{background:rgba(255,255,255,.36);padding-left:12px;padding-right:12px}
.num{font-size:34px;line-height:.95;font-weight:600;letter-spacing:-.022em;color:var(--main)}
.editorial-row h3{margin:0;font-size:20px;line-height:1.22;font-weight:600;letter-spacing:-.01em}
.editorial-row p{margin:8px 0 0;max-width:760px;font-size:15px;line-height:1.62;font-weight:400;color:var(--muted)}
.arrow{justify-self:end;align-self:center;font-size:24px;line-height:1;color:var(--deep)}
.route-head{padding:36px 40px 31px;background:var(--deep);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.route-head .eyebrow{margin-bottom:8px}
.route-head h1{margin:0;font-size:clamp(32px,3.3vw,40px);line-height:1.05;font-weight:700;letter-spacing:-.024em}
.route-head p.desc{margin:12px 0 0;max-width:760px;font-size:15px;line-height:1.65;font-weight:400;color:#f0e7e3}
.metadata{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin-top:12px;font-size:13.5px;line-height:1.5}
.metadata b{font-weight:600;color:var(--main)}
.metadata span{font-weight:400;color:var(--muted)}
.content-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start;padding:38px 40px 34px;background:var(--deep);color:#fff}
.content-head h1{margin:0;font-size:clamp(32px,3.3vw,40px);line-height:1.05;font-weight:700;letter-spacing:-.024em}
.content-head .metadata{margin-top:17px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18)}
.content-head .metadata b{color:var(--secondary)}
.content-head .metadata span{color:#fff}

.reading{padding:4px 40px 42px;background:var(--content)}
.reading-section{display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;padding:34px 0;border-bottom:1px solid var(--line-strong)}
.reading-section:last-child{border-bottom:0}
.reading-section .num{font-size:36px}
.reading-section h2{margin:0;font-size:24px;line-height:1.18;font-weight:600;letter-spacing:-.014em}
.reading-section .mini{width:46px;height:3px;margin:12px 0 15px;background:var(--main)}
.reading-section p{margin:0;max-width:760px;font-size:16px;line-height:1.72;font-weight:400;color:var(--muted)}
.placeholder{font-style:italic;opacity:.74}

.content-kicker{margin:0 0 6px;font-size:18px;line-height:1.35;font-weight:600;color:var(--ink)}
.content-label{display:block;margin:0 0 8px;font-size:12px;line-height:1.35;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--main)}
.content-lead{margin:0;max-width:820px;font-size:18px!important;line-height:1.65!important;font-weight:500!important;color:var(--ink)!important}
.exec-flow{max-width:820px}
.exec-flow p{margin:0 0 14px!important;color:var(--muted)!important}
.exec-flow p:last-child{margin-bottom:0!important}
.exec-flow strong{font-weight:600;color:var(--ink)}
.exec-cue{margin:12px 0 14px;padding:12px 0 12px 18px;border-left:3px solid var(--main)}
.exec-cue p{margin:0 0 6px!important}
.exec-cue p:last-child{margin-bottom:0!important}
.marking{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap;margin:6px 0 4px}
.marking span{font-weight:600;color:var(--ink)}
.manejo-list{max-width:820px;margin:0}
.manejo-item{padding:18px 0;border-top:1px solid var(--line)}
.manejo-item:first-child{padding-top:0;border-top:0}
.manejo-item h3{margin:0 0 7px;font-size:16px;line-height:1.45;font-weight:600;color:var(--ink)}
.manejo-item p{margin:0!important;color:var(--muted)!important}
.info-screen{padding:38px 40px 46px;background:var(--content)}
.video-frame{aspect-ratio:16/9;max-width:760px;border:1px solid var(--line-strong);background:rgba(91,39,26,.045);display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;color:var(--muted);font-size:15px;line-height:1.5;font-weight:500}
.lucas-block{max-width:760px;padding:26px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);font-size:16px;line-height:1.72;font-weight:400;color:var(--muted)}
.route-row{grid-template-columns:68px minmax(0,1fr) 150px 28px;align-items:center}.route-thumb{display:flex;justify-content:flex-end}.route-thumb-box{width:132px;aspect-ratio:4/3;border:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(91,39,26,.04),rgba(91,39,26,.08));display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;color:var(--muted);font-size:12px;line-height:1.35;font-weight:500}.activity-figure{margin:0}.activity-image{min-height:168px;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.055);display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--secondary);font-size:13px;line-height:1.45;font-weight:500}.activity-figure figcaption{margin-top:9px;font-size:12.5px;line-height:1.45;color:#f0e7e3}.footer{display:flex;justify-content:space-between;gap:16px;padding:13px 18px;background:var(--deep);color:var(--secondary);border-top:1px solid rgba(255,255,255,.1);font-size:12px;line-height:1.35;font-weight:500}
@media(max-width:820px){
  .shell{width:min(calc(100% - 18px),820px);margin:9px auto}
  .content-head{grid-template-columns:minmax(0,1fr) 230px;gap:24px}
}
@media(max-width:620px){
  .shell{width:100%;margin:0;border-left:0;border-right:0;box-shadow:none}
  .topbar{min-height:60px;grid-template-columns:44px minmax(0,1fr) 44px;padding:8px 10px;gap:8px}
  .back{width:40px;min-height:40px;padding:0;justify-content:center}
  .back .word{display:none}
  .context small{font-size:10.5px;letter-spacing:.075em}
  .context strong{font-size:14px;white-space:normal;line-height:1.15}
  .mark{width:42px;height:42px}
  .mark img{width:40px;height:40px}
  .opening{padding:31px 16px 27px}
  .opening h1{font-size:clamp(30px,10vw,36px);letter-spacing:-.022em}
  .opening .accent{margin-top:17px}
  .zone{padding:25px 16px 31px}
  .zone-head{margin-bottom:12px}
  .zone-head h2{font-size:18px}
  .editorial-row{grid-template-columns:48px minmax(0,1fr) 22px;gap:11px;padding:23px 2px}
  .num{font-size:27px}
  .editorial-row h3{font-size:18px;line-height:1.24}
  .editorial-row p{font-size:14px;line-height:1.6}
  .route-head{padding:28px 16px 25px}
  .route-head h1{font-size:30px}
  .metadata{font-size:13px;gap:5px 9px}
  .content-head{grid-template-columns:1fr;gap:20px;padding:29px 16px 25px}
  .content-head h1{font-size:30px}
  .route-row{grid-template-columns:48px minmax(0,1fr) 22px;grid-template-areas:"num content arrow" ". thumb thumb";align-items:start}
  .route-row>.num{grid-area:num}
  .route-row>span:nth-child(2){grid-area:content;min-width:0}
  .route-row>.route-thumb{grid-area:thumb;justify-content:flex-start;margin-top:12px}
  .route-row>.arrow{grid-area:arrow;align-self:start;margin-top:2px}
  .route-thumb-box{width:118px;font-size:11px}
  .activity-image{width:min(260px,100%);min-height:132px}
  .reading{padding:2px 16px 32px}
  .reading-section{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:28px 0}
  .reading-section .num{font-size:28px}
  .reading-section h2{font-size:21px}
  .reading-section p{font-size:16px;line-height:1.7}
  .info-screen{padding:30px 16px 36px}
  .video-frame{font-size:14px}
  .footer{display:block;text-align:center}
  .footer span:last-child{display:block;margin-top:3px}
}

@media(max-width:420px){
  .metadata{grid-template-columns:1fr;gap:2px 0}
  .metadata b{margin-top:7px}
  .metadata b:first-child{margin-top:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Implementação dinâmica: preserva os contêineres aprovados e apenas permite mídia real. */
.route-thumb-box img{display:block;width:100%;height:100%;object-fit:contain}
.activity-image img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.video-frame.has-media{padding:0;overflow:hidden;background:#000}
.video-frame iframe,.video-frame video{display:block;width:100%;height:100%;border:0}
.video-frame+ .video-frame,.lucas-block+ .lucas-block{margin-top:24px}
a.editorial-row,a.back{text-decoration:none}
a.editorial-row:focus-visible,a.back:focus-visible{outline:3px solid rgba(184,72,32,.42);outline-offset:3px}
.login-wrap{padding:38px 40px 46px;background:var(--content)}
.login-form{max-width:520px}
.login-field{margin:0 0 18px}
.login-field label{display:block;margin:0 0 7px;font-size:13px;font-weight:600;color:var(--deep)}
.login-field input{width:100%;min-height:46px;border:1px solid var(--line-strong);background:#fff;color:var(--ink);padding:10px 12px;border-radius:0;font:inherit}
.login-field input:focus{outline:3px solid rgba(184,72,32,.20);border-color:var(--main)}
.login-submit{min-height:46px;border:0;background:var(--main);color:#fff;padding:0 20px;font:inherit;font-weight:600;cursor:pointer}
.login-error{max-width:520px;margin:0 0 18px;padding:12px 0;border-top:1px solid var(--main);border-bottom:1px solid var(--main);color:var(--deep);font-weight:500}
@media(max-width:620px){.login-wrap{padding:30px 16px 36px}}
