/* Festival do Atum 2026 — revisão editorial e páginas com conteúdo oficial.
   Mantém a linguagem navy/marfim do restante do projeto e elimina efeitos excessivos. */
:root { --ed-navy:#222e70; --ed-deep:#14225a; --ed-blue:#315da5; --ed-light:#edf3f9; --ed-paper:#f8f6f0; --ed-ink:#1c285a; --ed-line:#d7deeb; }
body{overflow-x:hidden}
.main-nav .nav-cta {background:var(--ed-navy)!important;color:#fff!important;font-weight:800!important;letter-spacing:.02em!important;}
.main-nav .nav-cta:hover,.main-nav .nav-cta:focus-visible{background:#345ba7!important;color:#fff!important}
.main-nav a.is-active:not(.nav-cta){color:#225397}
.main-nav{font-size:13px;gap:clamp(12px,1.55vw,23px)}
/* Home — menos repetições e chamadas mais diretas. */
body.home-page .paths{padding-block:88px 100px}
body.home-page .paths .section-heading{margin-bottom:38px}
body.home-page .paths .section-heading>p{max-width:480px;font-size:16px;line-height:1.65}
body.home-page .path-card{min-height:580px}
body.home-page .path-card .path-content>p:not(.path-kicker){font-size:15px;line-height:1.55}
body.home-page .path-card .path-visual img{object-fit:cover}
body.home-page .path-card.path-craft .path-visual img,body.home-page .path-card:nth-child(3) .path-visual img{object-position:center 44%}
body.home-page .faq{padding-block:88px}
body.home-page .supporters-section{padding-block:75px}
/* The bottom of the original had multiple visual section repeats; reduce empty boundaries. */
body.home-page .city{padding-block:90px}

/* Shared header / editorial templates */
.editorial-page{background:var(--ed-paper);color:var(--ed-ink);font-family:'DM Sans',sans-serif}
.editorial-page h1,.editorial-page h2,.editorial-page h3{margin:0;font-family:'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-.017em}
.editorial-page p{margin:0}
.editorial-page .notice-ticker{height:36px}
.editorial-page .site-footer{background:var(--ed-deep)}
.editorial-page .site-footer .footer-bottom{padding-block:23px;color:#f0f4ff}
.editorial-page .site-footer .footer-bottom a{color:#fff}
.editorial-page main{overflow:hidden}
.editorial-page .container{max-width:1220px}
.ed-kicker{display:block;color:var(--ed-blue);font-weight:800;letter-spacing:.13em;font-size:12px;line-height:1.4;text-transform:uppercase;margin-bottom:16px}
.ed-hero .ed-kicker{color:#a9d5f8}
.ed-back{display:inline-block;font-size:13px;font-weight:700;margin:0 0 43px;color:#e5eefa;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:6px}
.ed-back:hover{color:#fff;border-color:#fff}
.ed-hero{background:var(--ed-navy);color:#fff;position:relative;}
.ed-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(35px,4vw,65px);align-items:center;padding-block:74px 82px;min-height:650px}
.ed-hero-copy{max-width:620px;position:relative;z-index:2}
.ed-hero h1{font-size:clamp(58px,6.1vw,91px);font-weight:700;line-height:.95;max-width:660px;color:#fff}
.ed-hero h1 em{color:#a6d3f1;font-style:normal}
.ed-hero-copy>p{font-size:clamp(16px,1.4vw,19px);color:#e4edfb;max-width:510px;line-height:1.7;margin-top:27px}
.ed-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:51px;padding:14px 20px;border-radius:8px;font-size:14px;font-weight:800;line-height:1.25;text-align:center;transition:background .2s ease,transform .2s ease}
.ed-btn span{font-size:17px}
.ed-btn-light{color:var(--ed-deep);background:#fffefa}
.ed-btn-light:hover{background:#d9eafa;transform:translateY(-2px)}
.ed-btn-outline{color:#fff;border:1px solid #9ab7e8;background:rgba(255,255,255,.04)}
.ed-btn-outline:hover{background:rgba(255,255,255,.12)}
.ed-hero-image{position:relative;margin:0;height:515px;overflow:hidden;border-radius:8px;background:#103164}
.ed-hero-image:after{content:'';position:absolute;inset:58% 0 0;background:linear-gradient(transparent,rgba(10,22,55,.62));pointer-events:none}
.ed-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.ed-hero-image figcaption{position:absolute;left:23px;bottom:20px;z-index:2;color:#fff;font-weight:800;letter-spacing:.065em;text-transform:uppercase;font-size:12px}
.ed-section{padding-block:95px 105px}
.ed-section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}
.ed-section-head h2{font-size:clamp(42px,4.5vw,69px);font-weight:700;line-height:1.02;color:var(--ed-navy)}
.ed-section-head p{max-width:370px;font-size:15px;line-height:1.65;color:#566480}
/* Restaurant logo cards: logos cropped from the official material, so no repetitive full vertical posters. */
.ed-restos{background:#f7f5ef}
.resto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.resto-card{min-width:0;overflow:hidden;border:1px solid #dae0ea;border-radius:10px;background:#fff;box-shadow:0 7px 24px rgba(22,40,92,.035)}
.resto-card a{display:flex;flex-direction:column;height:100%}
.resto-card:hover{border-color:#9cb4d2;box-shadow:0 12px 34px rgba(22,40,92,.10)}
.resto-logo{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.48;background:#edf2f8;overflow:hidden}
.resto-logo img{display:block;width:100%;height:100%;object-fit:contain}
.resto-name{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 21px;flex:1}
.resto-name span{display:block;font-size:10px;letter-spacing:.105em;text-transform:uppercase;color:#6c7993;font-weight:800;margin-bottom:4px}
.resto-name h3{font-size:clamp(25px,2.45vw,33px);font-weight:700;line-height:1.02;color:var(--ed-deep)}
.resto-name>b{display:inline-grid;place-items:center;color:var(--ed-blue);font-size:23px;font-weight:600;flex-shrink:0}
.resto-card:focus-within{outline:3px solid #3f8bc9;outline-offset:3px}
/* Chefs — individual original portrait with poster behind one click, no fictitious bios. */
.ed-chefs{background:#e8eff7}
.chef-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.chef-card{overflow:hidden;min-width:0;display:flex;flex-direction:column;border-radius:8px;background:#fff;border:1px solid #cfdae9;transition:transform .2s ease,border-color .2s ease}
.chef-card:hover{transform:translateY(-4px);border-color:#88a8d4}
.chef-photo{height:273px;overflow:hidden;background:#243e80}
.chef-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.chef-details{padding:17px 14px 20px;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.chef-details span{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#335c9c}
.chef-details h3{font-size:29px;line-height:1.03;font-weight:700;color:var(--ed-deep);margin:8px 0 19px}
.chef-details small{font-size:12px;line-height:1.4;color:#395a96;font-weight:800;margin-top:auto}
.ed-after{background:var(--ed-deep);color:#fff;padding-block:60px}
.ed-after-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.ed-after-inner>div{max-width:640px}
.ed-after span{font-size:11px;font-weight:800;letter-spacing:.13em;color:#a4cbea}
.ed-after h2{font-size:clamp(31px,3.4vw,48px);line-height:1.05;color:#fff;margin:10px 0 12px}
.ed-after p{font-size:14px;line-height:1.6;color:#d9e5f6}
.ed-after .ed-btn{flex-shrink:0}
/* Feira Itaremar: real images as an actual photographic spread, no abstract blobs. */
.fair-hero{background:#192c68}
.fair-hero-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,75px);align-items:center;padding-block:78px 84px;min-height:720px}
.fair-hero .ed-hero-copy>p{max-width:470px}
.fair-hero .ed-btn{margin-top:33px}
.fair-hero-photo{height:620px;position:relative;margin:0;overflow:hidden;border-radius:9px;background:#12234f}
.fair-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.fair-hero-photo:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,rgba(10,18,46,.7))}
.fair-hero-photo figcaption{position:absolute;bottom:20px;left:25px;right:20px;z-index:2;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#fff}
.fair-story{background:#f7f5ef}
.fair-story-heading{max-width:860px;margin-bottom:35px}
.fair-story-heading h2{font-size:clamp(44px,5vw,77px);line-height:.96;color:var(--ed-navy);font-weight:700}
.fair-story-heading p{margin-top:21px;max-width:620px;line-height:1.7;color:#556481;font-size:16px}
.fair-gallery{display:grid;grid-template-columns:1.07fr .93fr;gap:18px;align-items:stretch}
.fair-image{position:relative;border-radius:9px;overflow:hidden;margin:0;height:680px;background:#172753}
.fair-image img{display:block;width:100%;height:100%;object-fit:cover}
.fair-image-wide img{object-position:50% 44%}
.fair-image-detail img{object-position:50% 48%}
.fair-image:after{content:'';position:absolute;inset:72% 0 0;background:linear-gradient(transparent,rgba(10,18,46,.65))}
.fair-image figcaption{position:absolute;z-index:2;bottom:26px;left:26px;color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:29px;font-weight:700;letter-spacing:0}
.fair-visit{background:#e6eef7}
.fair-visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,130px);align-items:center}
.fair-visit h2{font-size:clamp(48px,5vw,73px);line-height:.98;max-width:570px;color:var(--ed-navy)}
.fair-visit p{max-width:460px;color:#566482;font-size:17px;line-height:1.65;margin-top:25px}
.fair-info{border-top:2px solid var(--ed-navy)}
.fair-info>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:25px;border-bottom:1px solid #bbc9dc}
.fair-info span{font-size:13px;font-weight:800;letter-spacing:.07em;color:#3b5892}
.fair-info strong{font-family:'Barlow Condensed',sans-serif;font-size:30px;color:var(--ed-deep);line-height:1.1;text-align:right}
.fair-info>a{display:flex;align-items:center;justify-content:space-between;margin-top:23px;background:var(--ed-navy);border-radius:8px;padding:16px 19px;color:#fff;font-size:14px;font-weight:800}
.fair-info>a:hover{background:var(--ed-blue)}
.fair-info>a span{color:#fff}
/* All keyboard users: visible focus on native controls and links. */
.editorial-page a:focus-visible,.editorial-page button:focus-visible{outline:3px solid #77cdec;outline-offset:4px}
/* On smaller screens, maintain columns that actually fit the available width. */
@media(max-width:1120px){
  .ed-hero-grid{min-height:600px}
  .chef-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .chef-photo{height:345px}
  .fair-hero-grid{min-height:650px}
}
@media(max-width:900px){
  .ed-hero-grid,.fair-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:55px 65px;gap:33px}
  .ed-hero h1{font-size:clamp(60px,10vw,90px)}
  .ed-hero-image{height:460px}
  .ed-back{margin-bottom:29px}
  .resto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fair-hero-photo{height:530px}
  .fair-gallery{grid-template-columns:1fr 1fr}
  .fair-image{height:560px}
  .fair-visit-layout{gap:42px}
}
@media(max-width:680px){
  .editorial-page .container{width:min(calc(100% - 32px),1220px)}
  .ed-section{padding-block:65px 70px}
  .ed-section-head{display:block;margin-bottom:24px}
  .ed-section-head p{margin-top:14px;max-width:none;font-size:14px}
  .ed-hero-grid,.fair-hero-grid{padding-block:44px 48px}
  .ed-hero h1{font-size:clamp(57px,13.2vw,79px)}
  .ed-hero .ed-hero-copy>p{font-size:16px;margin-top:20px}
  .ed-hero-image{height:360px}
  .ed-actions{margin-top:24px}
  .ed-btn{font-size:13px;min-height:50px}
  .resto-grid{grid-template-columns:1fr;gap:14px}
  .resto-logo{aspect-ratio:1.65}
  .resto-name h3{font-size:30px}
  .chef-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .chef-photo{height:250px}
  .chef-details{padding:12px 12px 16px}
  .chef-details h3{font-size:26px}
  .chef-details small{font-size:11px}
  .ed-after-inner{display:block}
  .ed-after .ed-btn{margin-top:20px}
  .fair-hero-photo{height:460px}
  .fair-story-heading h2{font-size:clamp(48px,10vw,68px)}
  .fair-story-heading p{font-size:15px}
  .fair-gallery{grid-template-columns:1fr;gap:13px}
  .fair-image{height:490px}
  .fair-visit-layout{grid-template-columns:1fr;gap:35px}
  .fair-visit h2{font-size:clamp(49px,10.5vw,68px)}
  .fair-info>div{padding-block:19px}
  body.home-page .paths{padding-block:68px}
  body.home-page .path-card{min-height:490px}
}
@media(max-width:400px){
  .editorial-page .container{width:min(calc(100% - 26px),1220px)}
  .ed-hero h1{font-size:54px}
  .ed-actions{flex-direction:column;align-items:stretch}
  .chef-photo{height:215px}
  .chef-details h3{font-size:23px}
  .fair-hero-photo{height:405px}
  .fair-image{height:425px}
  .fair-info strong{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.chef-card,.ed-btn{transition:none}}

/* Feira: cada foto aparece uma vez, grande, com contexto e boa legibilidade. */
.fair-story-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,5vw,80px);align-items:center}
.fair-story-layout .fair-story-heading{margin:0}
.fair-story-layout .fair-story-heading p+p{margin-top:13px}
.fair-story-layout .fair-image{height:670px}
@media(max-width:900px){.fair-story-layout{gap:25px}.fair-story-layout .fair-image{height:540px}}
@media(max-width:680px){.fair-story-layout{grid-template-columns:1fr;gap:30px}.fair-story-layout .fair-image{height:500px}}
@media(max-width:400px){.fair-story-layout .fair-image{height:420px}}
