/* Cordel D' Prata · v2 — só a homepage */
  /* ─────────────────────────── Hero (carrossel) ─────────────────────────── */
  .hero{
    /* tokens por tema — cada slide troca-os via data-theme */
    --hero-paper:var(--paper);
    --hero-fg:var(--ink);
    --hero-muted:var(--ink-soft);
    --hero-accent:var(--red);
    --hero-accent-fg:#fff;
    --hero-line:var(--line);
    --hero-card:rgba(255,255,255,.82);
    --hero-card-bd:rgba(255,255,255,.9);
    --blob-a:rgba(176,25,31,.42);
    --blob-b:rgba(240,214,208,.95);
    --blob-c:rgba(124,15,20,.26);
    --hero-dur:7600ms;
    --hero-pb:clamp(18px,2.2vw,30px);
    --hero-ctrl:clamp(62px,6.6vw,80px);
    position:relative;overflow:hidden;
    background:var(--hero-paper);color:var(--hero-fg);
    transition:background-color .9s var(--ease),color .9s var(--ease);
    padding-block:calc(var(--header-h,130px) + clamp(8px,1.2vw,20px)) var(--hero-pb);
  }
  .hero[data-theme="capas"]{--blob-a:rgba(176,25,31,.34);--blob-c:rgba(124,15,20,.2)}
  /* autores: a mesma trama de pontos do painel vermelho antes do rodapé,
     aqui a tinta vermelha sobre o papel, a desvanecer para o lado do texto */
  .hero[data-theme="autores"]::before{
    opacity:1;
    background-image:radial-gradient(circle at 1px 1px,rgba(176,25,31,.3) 1px,transparent 0);background-size:26px 26px;
    -webkit-mask-image:radial-gradient(90% 100% at 78% 55%,#000 30%,transparent 78%);
    mask-image:radial-gradient(90% 100% at 78% 55%,#000 30%,transparent 78%);
  }
  .hero .eyebrow{color:var(--hero-accent)}
  .hero .lead{color:var(--hero-muted)}
  .hero .btn--red{--btn-bg:var(--hero-accent);--btn-fg:var(--hero-accent-fg)}
  .hero .btn--red:hover{--btn-bg:var(--hero-accent);filter:brightness(1.08)}
  .hero .btn--ghost{--btn-fg:var(--hero-fg);--btn-bd:var(--hero-line)}
  .hero .btn--ghost:hover{--btn-bg:color-mix(in srgb,var(--hero-fg) 8%,transparent)}

  .hero::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
    transition:opacity .9s var(--ease);
  }
  .hero-bg{position:absolute;inset:-20% -10% auto;height:130%;z-index:1;pointer-events:none}
  .blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;transition:background .9s var(--ease)}
  .blob--1{width:46vw;height:46vw;left:-8vw;top:-6vw;background:radial-gradient(circle at 30% 30%,var(--blob-a),transparent 68%)}
  .blob--2{width:38vw;height:38vw;right:-6vw;top:8vw;background:radial-gradient(circle at 60% 40%,var(--blob-b),transparent 70%)}
  .blob--3{width:30vw;height:30vw;left:34vw;top:26vw;background:radial-gradient(circle at 50% 50%,var(--blob-c),transparent 70%)}
  .hero-grain{
    position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.3;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  }

  /* palco: slides empilhados na mesma célula → sem saltos de altura */
  .hero-stage{position:relative;z-index:4;display:grid;touch-action:pan-y}
  .hero-slide{
    grid-area:1/1;
    display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:clamp(28px,4.6vw,68px);align-items:center;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .7s var(--ease),visibility .7s linear;
  }
  .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
  .hero-copy{max-width:47ch}
  .hero-copy>*{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .hero-slide.is-active .hero-copy>*{opacity:1;transform:none}
  .hero-slide.is-active .hero-copy>*:nth-child(1){transition-delay:.05s}
  .hero-slide.is-active .hero-copy>*:nth-child(2){transition-delay:.12s}
  .hero-slide.is-active .hero-copy>*:nth-child(3){transition-delay:.19s}
  .hero-slide.is-active .hero-copy>*:nth-child(4){transition-delay:.26s}
  .hero-slide.is-active .hero-copy>*:nth-child(5){transition-delay:.33s}
  .hero h1{margin:12px 0 0;font-size:clamp(2.3rem,4.3vw,3.65rem)}
  .hero h1 em{font-style:italic;color:var(--hero-accent);background:linear-gradient(180deg,transparent 74%,color-mix(in srgb,var(--hero-accent) 20%,transparent) 74%)}
  .hero h1 .kicker{display:block;font-family:var(--font-sans);font-size:.34em;font-weight:600;letter-spacing:.02em;color:var(--hero-muted);margin-bottom:.5em}
  .hero .lead{margin-top:14px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
  .hero-note{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--hero-line);font-size:.88rem;color:var(--hero-muted);line-height:1.45}
  .hero-note strong{display:block;color:var(--hero-fg);font-size:.95rem;font-weight:600}
  .hero-visual{opacity:0;transform:scale(.97);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
  .hero-slide.is-active .hero-visual{opacity:1;transform:none;transition-delay:.1s}

  /* visual A · autores (retratos + citação) */
  /* os retratos encostam ao fundo da faixa — passam por trás dos controlos */
  .hero-slide[data-visual="autores"] .hero-visual{align-self:end}
  .hero-visual--autores{
    position:relative;min-height:clamp(380px,39vw,520px);
    margin-bottom:calc(-1 * (var(--hero-pb) + var(--hero-ctrl)));
  }
  /* o arco: uma janela vermelha baixa de onde o autor sai — com um filete
     dourado por dentro; o retrato é bem mais alto e passa-lhe por cima */
  .portrait-halo{
    position:absolute;left:3%;right:12%;top:40%;bottom:0;border-radius:1000px 1000px 0 0;
    background:radial-gradient(110% 80% at 62% 18%,#C81E25 0%,#A0161C 42%,#730E13 100%);
    box-shadow:inset 0 -60px 80px -40px rgba(40,0,4,.45);
  }
  .portrait-halo::before{
    content:"";position:absolute;inset:0;border-radius:inherit;opacity:.16;
    background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 0);background-size:22px 22px;
  }
  .portrait-halo::after{
    content:"";position:absolute;inset:12px 12px 0;border-radius:inherit;
    border:1px solid rgba(255,227,163,.38);border-bottom:0;
  }
  .portrait-stack{position:absolute;left:2%;right:10%;top:-22%;bottom:0}
  /* o retrato que sai desaparece ANTES de o seguinte entrar — sem duas pessoas sobrepostas */
  .portrait-stack figure{
    position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.03) translateY(8px);
    transition:opacity .3s ease,transform .3s ease;
  }
  .portrait-stack figure.is-on{
    opacity:1;transform:none;
    transition:opacity .55s ease .3s,transform 1s var(--ease) .3s;
  }
  .portrait-stack img{width:100%;height:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 22px 34px rgba(40,0,4,.4))}
  /* citação dos destaques: moldura com passe-partout e selo vermelho */
  .quote-card{
    position:absolute;left:0;bottom:calc(var(--hero-ctrl) + 34px);z-index:3;
    max-width:min(56%,292px);margin:0;
    padding:22px 20px 16px;border-radius:6px;
    background:var(--hero-card);border:1px solid color-mix(in srgb,var(--hero-accent) 30%,transparent);
    backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
    box-shadow:var(--shadow-md);
  }
  .quote-card::before{
    content:"";position:absolute;inset:6px;border-radius:3px;pointer-events:none;
    border:1px solid color-mix(in srgb,var(--hero-accent) 20%,transparent);
  }
  .quote-card::after{
    content:"\201D";position:absolute;top:-13px;left:18px;
    display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
    background:var(--hero-accent);color:var(--hero-accent-fg);
    font-family:var(--font-display);font-size:1.25rem;line-height:0;padding-top:.34em;
    box-shadow:0 8px 18px -10px rgba(22,18,15,.7);
  }
  .quote-card p{font-family:var(--font-display);font-style:italic;font-size:.98rem;line-height:1.32;letter-spacing:-.01em}
  .quote-card footer{margin-top:10px}
  .quote-card cite::before{content:"— ";color:var(--hero-accent)}
  .quote-card cite{
    font-style:normal;font-family:var(--font-nav);font-size:.72rem;font-weight:600;
    letter-spacing:.09em;text-transform:uppercase;
  }

  .mini-cover{position:absolute;left:2%;top:4%;z-index:3;width:clamp(80px,8.4vw,106px);margin:0;transform:rotate(-5deg)}

  /* as caras dos outros autores, no canto que o arco deixa livre: mostram que
     há mais gente e, com um clique, trazem essa pessoa para o arco */
  .portrait-rostos{position:absolute;right:0;top:-2%;z-index:3;display:grid;justify-items:end;gap:10px}
  .portrait-rostos[hidden]{display:none}
  .portrait-rostos>span{font-family:var(--font-hand);font-size:1.22rem;line-height:1;color:var(--hero-accent);white-space:nowrap;transform:rotate(-3deg);transform-origin:right}
  .portrait-rostos>div{display:flex;flex-direction:column;align-items:center;padding-right:4px}
  .portrait-rosto{
    width:46px;height:46px;padding:0;border-radius:50%;overflow:hidden;cursor:pointer;
    background:var(--paper-2);border:2px solid var(--paper);box-shadow:0 6px 14px -8px rgba(22,18,15,.5);
    transition:transform .3s var(--ease),box-shadow .3s ease;
  }
  .portrait-rosto+.portrait-rosto{margin-top:-8px}
  .portrait-rosto img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:scale(1.5);transform-origin:50% 0}
  .portrait-rosto:hover{transform:translateX(-4px);z-index:1}
  .portrait-rosto[aria-pressed="true"]{box-shadow:0 0 0 2px var(--hero-accent),0 8px 16px -8px rgba(22,18,15,.6);z-index:2}
  .portrait-rosto:focus-visible{outline:2px solid var(--hero-accent);outline-offset:3px}
  .mini-cover img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius-xs);box-shadow:var(--shadow-book)}
  .mini-cover figcaption{
    position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);white-space:nowrap;
    padding:.28em .7em;border-radius:999px;background:var(--hero-accent);color:var(--hero-accent-fg);
    font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  }

  /* visual B · parede de capas */
  .hero-visual--capas{position:relative;height:min(56vh,460px);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
    transform:perspective(1600px) rotateY(-15deg) rotateX(5deg) rotate(2.5deg) scale(1.04);
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 80%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 80%,transparent)}
  .hero-slide.is-active .hero-visual--capas{transform:perspective(1600px) rotateY(-15deg) rotateX(5deg) rotate(2.5deg) scale(1.04)}
  .wall-col{display:flex;flex-direction:column;gap:18px;will-change:transform;animation:wallScroll 46s linear infinite}
  .wall-col:nth-child(2){animation-duration:58s;animation-direction:reverse}
  .wall-col:nth-child(3){animation-duration:52s}
  .wall-col img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:var(--shadow-book);background:var(--paper-2)}
  @keyframes wallScroll{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 9px))}}

  /* ─── Casa nova: o primeiro destaque do site novo ───
     O vermelho da editora de ponta a ponta, e papel por cima: a equipa numa
     polaroide, as capas mais recentes a abrir em leque atrás dela, um post-it
     à mão e o selo com o número de livros. Entram por esta ordem. */
  .hero[data-theme="casa"]{
    --hero-paper:#8E1419;
    --hero-fg:#FBF4EC;
    --hero-muted:rgba(251,244,236,.84);
    --hero-accent:#FFE3A3;
    --hero-accent-fg:#6E0D12;
    --hero-line:rgba(251,244,236,.26);
    --hero-card:rgba(255,255,255,.1);
    --hero-card-bd:rgba(251,244,236,.22);
    --blob-a:rgba(227,6,19,.6);
    --blob-b:rgba(70,6,10,.85);
    --blob-c:rgba(255,190,140,.28);
  }
  .hero[data-theme="casa"]::before{
    opacity:1;
    background:radial-gradient(120% 100% at 80% 18%,#C81E25 0%,#A0161C 38%,#730E13 78%,#5A0A0E 100%);
  }
  .hero[data-theme="casa"] .hero-grain{opacity:.42}
  .hero[data-theme="casa"] h1 em{background:linear-gradient(180deg,transparent 74%,rgba(255,227,163,.24) 74%)}

  .hero-visual--casa{position:relative;min-height:clamp(340px,36vw,480px)}

  .hero-visual--casa .casa-foto{
    position:absolute;left:0;bottom:-4%;z-index:2;width:min(76%,440px);margin:0;
    padding:12px 12px 58px;
    box-shadow:0 40px 70px -30px rgba(40,0,4,.75),0 6px 16px -8px rgba(40,0,4,.4);
    opacity:0;transform:translateY(-26px) rotate(-10deg);
    transition:opacity .7s var(--ease) .15s,transform 1.2s var(--ease) .15s;
  }
  .hero-slide.is-active .casa-foto{opacity:1;transform:rotate(-3deg)}
  .hero-slide.is-active .casa-foto:hover{transform:rotate(-1deg) translateY(-6px)}
  .hero-visual--casa .casa-foto img{aspect-ratio:3/2;object-fit:cover;object-position:center 38%}
  .hero-visual--casa .casa-foto figcaption{
    position:absolute;left:0;right:0;bottom:12px;text-align:center;
    font-family:var(--font-hand);font-size:clamp(1.3rem,1.8vw,1.7rem);line-height:1.1;color:var(--ink);
  }

  .casa-capas{position:absolute;right:0;top:0;width:60%;height:74%;z-index:1}
  .casa-capas img{
    position:absolute;left:24%;top:10%;width:clamp(104px,12vw,156px);aspect-ratio:2/3;object-fit:cover;
    border-radius:4px;background:var(--paper-2);
    box-shadow:0 24px 40px -18px rgba(40,0,4,.85);
    transform-origin:50% 115%;
    opacity:0;transform:translate(0,14%) rotate(0);
    transition:opacity .6s var(--ease),transform 1.1s var(--ease);
  }
  .casa-capas img:nth-child(1){--x:-50%;--y:14%;--r:-20deg}
  .casa-capas img:nth-child(2){--x:-16%;--y:3%;--r:-8deg}
  .casa-capas img:nth-child(3){--x:16%;--y:0%;--r:4deg}
  .casa-capas img:nth-child(4){--x:48%;--y:7%;--r:15deg}
  .casa-capas img:nth-child(5){--x:80%;--y:19%;--r:26deg}
  .hero-slide.is-active .casa-capas.is-cheio img{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r))}
  .hero-slide.is-active .casa-capas.is-cheio img:nth-child(1){transition-delay:.45s}
  .hero-slide.is-active .casa-capas.is-cheio img:nth-child(2){transition-delay:.55s}
  .hero-slide.is-active .casa-capas.is-cheio img:nth-child(3){transition-delay:.65s}
  .hero-slide.is-active .casa-capas.is-cheio img:nth-child(4){transition-delay:.75s}
  .hero-slide.is-active .casa-capas.is-cheio img:nth-child(5){transition-delay:.85s}

  .hero-visual--casa .casa-postit{
    top:auto;left:auto;right:3%;bottom:0;z-index:3;max-width:172px;
    opacity:0;transform:rotate(-14deg) scale(.86);
    transition:opacity .5s var(--ease) 1s,transform .9s var(--ease) 1s;
  }
  .hero-slide.is-active .casa-postit{opacity:1;transform:rotate(-5deg)}

  .casa-selo{
    position:absolute;left:3%;top:1%;z-index:3;
    display:grid;place-items:center;align-content:center;text-align:center;
    width:clamp(98px,10vw,124px);aspect-ratio:1;border-radius:50%;padding:12px;
    background:var(--hero-accent);color:var(--hero-accent-fg);
    box-shadow:0 18px 30px -16px rgba(40,0,4,.8);
    opacity:0;transform:rotate(-10deg) scale(.6);
    transition:opacity .4s var(--ease) 1.2s,transform .8s cubic-bezier(.34,1.56,.64,1) 1.2s;
  }
  .casa-selo[hidden]{display:none}
  .casa-selo b{font-family:var(--font-display);font-size:clamp(1.3rem,1.8vw,1.66rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .casa-selo span{margin-top:4px;font-size:.56rem;font-weight:700;line-height:1.25;letter-spacing:.1em;text-transform:uppercase}
  .hero-slide.is-active .casa-selo{opacity:1;transform:rotate(-10deg)}
  @starting-style{.hero-slide.is-active .casa-selo{opacity:0;transform:rotate(-10deg) scale(.6)}}

  @media (max-width:900px){
    .hero-visual--casa{min-height:clamp(280px,50vw,400px)}
    .hero-visual--casa .casa-foto{width:min(70%,400px);bottom:-2%;padding:9px 9px 44px}
    .casa-capas{width:64%;height:70%}
    .casa-capas img{width:clamp(78px,20vw,120px)}
    .hero-visual--casa .casa-postit{max-width:132px;padding:12px}
    .hero-visual--casa .casa-postit p{font-size:1.02rem}
  }
  @media (prefers-reduced-motion:reduce){
    .hero-visual--casa .casa-foto,.casa-capas img,.hero-visual--casa .casa-postit,.casa-selo{transition:none}
  }

  /* prateleiras à espera dos livros: já com a altura que vão ter */
  .shelf[aria-busy="true"]{min-height:clamp(300px,34vw,380px)}

  /* controlos */
  .hero-controls{position:relative;z-index:5;display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);margin-top:clamp(14px,1.8vw,26px)}
  .hero-dots{display:flex;gap:clamp(10px,1.4vw,18px);flex-wrap:wrap}
  .hero-dot{
    position:relative;width:clamp(52px,7vw,92px);height:20px;padding:0;min-width:0;
    transition:opacity .3s ease;
  }
  .hero-dot::before{
    content:"";position:absolute;left:0;right:0;top:9px;height:3px;border-radius:2px;
    background:var(--hero-line);transition:background .3s ease;
  }
  .hero-dot::after{
    content:"";position:absolute;left:0;top:9px;height:3px;width:0;border-radius:2px;background:var(--hero-accent);
  }
  .hero-dot:hover::before{background:color-mix(in srgb,var(--hero-fg) 32%,transparent)}
  .hero-dot.is-active::after{width:100%;animation:heroFill var(--hero-dur) linear forwards}
  .hero.is-paused .hero-dot.is-active::after{animation-play-state:paused}
  .hero.no-auto .hero-dot.is-active::after{animation:none;width:100%}
  @keyframes heroFill{from{width:0}to{width:100%}}
  .hero-arrows{display:flex;gap:8px;flex:0 0 auto}
  .hero-arrow{
    width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
    border:1px solid var(--hero-line);color:var(--hero-fg);
    transition:background .3s ease,transform .4s var(--ease),border-color .3s ease;
  }
  .hero-arrow:hover{background:color-mix(in srgb,var(--hero-fg) 8%,transparent);transform:translateY(-2px)}
  .hero-arrow svg{width:18px;height:18px}

  @media (max-width:900px){
    .hero{--hero-ctrl:104px}
    .hero-slide{grid-template-columns:1fr;gap:26px}
    .hero-copy{max-width:none}
    .hero-visual--capas{height:min(46vh,360px);gap:14px;transform:perspective(1400px) rotateX(4deg) rotate(-1deg)}
    .hero-slide.is-active .hero-visual--capas{transform:perspective(1400px) rotateX(4deg) rotate(-1deg)}
    .wall-col{gap:14px}
    /* no telemóvel o retrato tem a sua área e a citação vem por baixo, só a
       tocar-lhe no peito — assim nunca tapa a cara */
    .hero-visual--autores{min-height:0;margin-bottom:0;padding-top:360px}
    .portrait-stack{left:0;right:14%;top:0;bottom:auto;height:360px}
    .portrait-halo{left:4%;right:18%;top:150px;bottom:auto;height:210px}
    .portrait-rosto{width:38px;height:38px}
    .quote-card{position:relative;left:auto;bottom:auto;margin-top:-52px;max-width:none;padding:20px 18px 14px}
    .quote-card p{font-size:.95rem}
    .hero-controls{flex-direction:column;align-items:stretch;gap:16px}
    .hero-arrows{justify-content:flex-end}
  }
  @media (max-width:560px){
    .hero-dot{flex:1}
    .mini-cover{width:70px;top:2%}
    /* no telemóvel o destaque é mais curto e mais denso, como um ecrã de
       app: letra um ponto abaixo, menos ar entre as peças, visuais mais baixos */
    .hero{--hero-pb:14px;--hero-ctrl:84px;padding-top:calc(var(--header-h,130px) + 4px)}
    .hero .eyebrow{font-size:.66rem}
    .hero h1{margin-top:8px;font-size:2rem;line-height:1.08}
    .hero .lead{margin-top:10px;font-size:.95rem;line-height:1.55}
    .hero-actions{margin-top:16px;gap:10px}
    .hero-actions .btn{padding:.8em 1.3em;font-size:.88rem}
    .hero-slide{gap:18px}
    .hero-controls{margin-top:8px;gap:10px}
    .hero-visual--casa{min-height:clamp(220px,58vw,290px)}
    .hero-visual--casa .casa-foto{width:66%}
    .hero-visual--capas{height:min(38vh,280px)}
    .hero-visual--autores{padding-top:300px}
    .portrait-stack{height:300px}
    .portrait-halo{top:120px;height:180px}
    .quote-card{margin-top:-44px;padding:16px 16px 12px}
    .quote-card p{font-size:.9rem}
  }


  /* ─────────────────────────── Processo ─────────────────────────── */
  /* ─────────────────────────── Livraria ─────────────────────────── */
  /* ─────────────────────────── Porquê a Cordel (sem cartões) ─────────────────────────── */
  .why{
    display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:clamp(28px,4.4vw,72px);align-items:start;margin-top:clamp(34px,4vw,56px);
  }
  .why-photo{margin:0}
  .why-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);background:var(--paper-2)}
  .why-photo figcaption{
    margin-top:14px;font-family:var(--font-hand);font-size:1.24rem;color:var(--red);
    display:inline-block;transform:rotate(-1.2deg);
  }
  .why-item{padding:18px 0;border-top:1px solid var(--line)}
  .why-item:first-child{border-top:0;padding-top:0}
  .why-item h3{font-family:var(--font-sans);font-size:1.04rem;font-weight:600;letter-spacing:0;margin-bottom:6px}
  .why-item p{color:var(--muted);font-size:.93rem;max-width:54ch}
  @media (max-width:860px){.why{grid-template-columns:1fr}.why-photo img{aspect-ratio:3/2}}


  /* ─────────────────────────── Chancelas (claras, sem cartões) ─────────────────────────── */
  .imprints{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    margin-top:clamp(34px,4vw,54px);border-top:1px solid var(--line);
  }
  .imprint{
    position:relative;display:flex;flex-direction:column;gap:12px;
    padding:30px clamp(18px,2vw,28px) 26px;border-left:1px solid var(--line);
  }
  .imprint:first-child{border-left:0;padding-left:0}
  .imprint:last-child{padding-right:0}
  .imprint-logo{height:38px;width:auto;object-fit:contain;object-position:left}
  /* a marca de cada selo numa caixa da mesma altura: o texto dos quatro
     começa na mesma linha, seja o logótipo deitado, de pé ou um monograma */
  .imprint-marca{display:flex;align-items:flex-end;gap:12px;height:78px}
  .imprint-marca .imprint-logo{height:38px}
  .imprint-marca .imprint-logo--cordel{height:78px}
  .imprint-marca .imprint-logo--monograma{height:62px}
  .imprint-marca .imprint-word{padding-bottom:6px}
  .imprint-word{font-family:var(--font-display);font-size:1.34rem;letter-spacing:-.02em;line-height:1.1}
  .imprint p{color:var(--muted);font-size:.9rem}
  .imprint .link-arrow{margin-top:auto;padding-top:8px}
  .imprint-badge{
    align-self:flex-start;padding:.28em .7em;border-radius:999px;
    font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    background:var(--red-soft);color:var(--red);
  }
  .imprint-art{margin-top:auto;height:132px;width:auto;object-fit:contain;object-position:left bottom}
  @media (max-width:960px){
    .imprints{grid-template-columns:repeat(2,1fr)}
    .imprint:nth-child(odd){border-left:0;padding-left:0}
    .imprint:nth-child(2){padding-right:0}
  }
  /* em ecrã pequeno as chancelas deslizam na horizontal, como as prateleiras
     de livros: menos scroll vertical, e cada uma é um cartão */
  @media (max-width:900px){
    .imprints{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;
    margin-inline:calc(-1 * var(--gutter));padding:4px var(--gutter) 10px;-webkit-overflow-scrolling:touch;gap:14px;border-top:0}
    .imprints::-webkit-scrollbar{display:none}
    .imprint,.imprint:first-child,.imprint:last-child,.imprint:nth-child(odd),.imprint:nth-child(2){
      flex:0 0 min(78%,300px);scroll-snap-align:start;border-left:0;
      padding:22px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    }
  }
  @media (max-width:560px){
    .imprints{grid-template-columns:1fr}
    .imprint{border-left:0;padding:26px 0;border-top:1px solid var(--line)}
    .imprint:first-child{border-top:0;padding-top:22px}
  }

  /* ─────────────────────────── Eventos ─────────────────────────── */
  .event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;flex-wrap:wrap}
  .live{
    display:inline-flex;align-items:center;gap:.5em;padding:.32em .8em;border-radius:999px;
    background:rgba(176,25,31,.12);color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  }
  .live i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 1.8s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}
  .event-date{
    color:var(--red);display:flex;align-items:baseline;gap:6px;font-family:var(--font-display);
    font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;letter-spacing:-.03em;
  }
  .event-date small{font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .agenda{display:flex;gap:12px;overflow-x:auto;padding:4px 0 18px;scrollbar-width:none;margin-top:34px}
  .agenda::-webkit-scrollbar{display:none}
  .tile{
    flex:0 0 208px;padding:20px;border-radius:var(--radius-sm);background:var(--card);
    border:1px solid var(--line);display:grid;gap:6px;
    transition:transform .5s var(--ease),border-color .35s ease;
  }
  .tile:hover{transform:translateY(-4px);border-color:rgba(176,25,31,.3)}
  .tile time{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
  .tile b{font-size:.98rem;font-weight:600;letter-spacing:-.01em}
  .tile span{font-size:.82rem;color:var(--muted)}
  .tile--sign{border-left:3px solid var(--red)}
  .event-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line)}
  .next{display:flex;gap:22px;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}
  .next b{color:var(--ink);font-weight:600}


/* fotografia de fundo do processo (caminho relativo a este ficheiro) */
.band-photo--processo{--band-photo:url('/img/faixas/faixa-processo.jpg')}

  /* ─── Feiras na homepage: o cartaz e o programa dia a dia ─── */
  .fh{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(18px,2.4vw,30px);margin-top:clamp(26px,3.2vw,40px);align-items:stretch}

  .fh-cartaz{
    position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;
    padding:clamp(24px,3vw,36px);border-radius:var(--radius);color:#FBF4EC;
    background:radial-gradient(120% 90% at 85% 8%,#C81E25 0%,#9E161C 46%,#6E0D12 100%);
    box-shadow:var(--shadow-md);
  }
  .fh-estado{
    align-self:flex-start;display:inline-flex;align-items:center;gap:.5em;padding:.34em .85em;border-radius:999px;
    background:rgba(255,227,163,.16);color:#FFE3A3;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  }
  .fh-estado i{width:7px;height:7px;border-radius:50%;background:#FFE3A3;animation:pulse 1.8s ease-in-out infinite}
  .fh-nome{margin:8px 0 0;font-family:var(--font-display);font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.05;letter-spacing:-.02em;color:#FBF4EC;text-wrap:balance}
  .fh-datas{font-family:var(--font-display);font-style:italic;font-size:1.14rem;color:#FFE3A3}
  .fh-conta{font-size:.92rem;color:rgba(251,244,236,.86)}
  /* cada capa com a sua forma: os infantis são quase quadrados, os romances altos.
     A altura manda; a largura tem um tecto para as quatro caberem. */
  .fh-capas{display:flex;align-items:flex-end;height:clamp(118px,11vw,146px);margin:14px 0 18px;padding-left:6px}
  .fh-capas img{
    flex:none;display:block;width:auto;height:auto;max-height:100%;max-width:30%;
    border-radius:3px;box-shadow:0 16px 28px -14px rgba(0,0,0,.75);
    transform:rotate(calc((var(--i) - 1.5) * 5deg));transform-origin:50% 100%;
  }
  .fh-capas img + img{margin-left:-16px}
  .fh-cta{margin-top:auto;align-self:flex-start;--btn-bg:#FFE3A3;--btn-fg:#6E0D12}
  .fh-cta:hover{--btn-bg:#FFE3A3;filter:brightness(1.05)}
  .fh-depois{font-size:.82rem;color:rgba(251,244,236,.76)}
  .fh-depois b{color:#FBF4EC;font-weight:600}

  .fh-programa{display:flex;flex-direction:column;min-width:0;padding:clamp(18px,2.4vw,28px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
  .fh-dias{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:16px;border-bottom:1px solid var(--line)}
  .fh-dias::-webkit-scrollbar{display:none}
  .fh-dia{
    flex:0 0 auto;display:grid;gap:1px;padding:.55em 1em;border:1px solid var(--line);border-radius:12px;
    background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease;
  }
  .fh-dia b{font-size:.94rem;font-weight:600;text-transform:capitalize}
  .fh-dia small{font-size:.74rem;color:var(--muted)}
  .fh-dia:hover{border-color:rgba(176,25,31,.4)}
  .fh-dia[aria-selected="true"]{background:var(--red);border-color:var(--red);color:#fff}
  .fh-dia[aria-selected="true"] small{color:rgba(255,255,255,.82)}
  .fh-dia:focus-visible{outline:2px solid var(--red);outline-offset:2px}

  .fh-sessoes{list-style:none;margin:0;padding:0}
  .fh-sessao{display:grid;grid-template-columns:3.8rem 44px minmax(0,1fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
  .fh-sessao:last-child{border-bottom:0}
  .fh-sessao time{font-variant-numeric:tabular-nums;font-weight:700;font-size:.98rem;color:var(--red)}
  .fh-mini{display:flex;align-items:center;justify-content:center;height:52px}
  .fh-mini img{display:block;width:auto;height:auto;max-width:44px;max-height:52px;border-radius:2px;box-shadow:0 4px 10px -6px rgba(22,18,15,.55)}
  .fh-mini.is-vazia::before{content:"";width:34px;height:50px;border-radius:2px;background:var(--paper-2)}
  .fh-agora{display:inline-flex;align-items:center;gap:.4em;justify-self:start;padding:.28em .6em;border-radius:999px;background:var(--red);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .fh-agora i{width:6px;height:6px;border-radius:50%;background:#FFE3A3;animation:pulse 1.8s ease-in-out infinite}
  .fh-quem{display:grid;gap:1px;min-width:0}
  .fh-quem b{font-size:.98rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fh-quem span{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fh-quem a{color:inherit;text-decoration:underline;text-decoration-color:rgba(176,25,31,.3);text-underline-offset:3px}
  .fh-quem a:hover{color:var(--red)}
  .fh-mais{margin-top:14px;align-self:flex-start}

  @media (max-width:900px){
    .fh{grid-template-columns:1fr}
    .fh-capas{height:112px}
  }
