/* =========================================================
   Seiva — estilos do tema
   ========================================================= */
/* =========================================================
   SEIVA — tokens
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#DCE4D2; --bg-2:#D0DAC4; --ink:#2E2233; --ink-soft:#5B4E60; --line:rgba(46,34,51,.16);
  --beet:#B8325B; --yuzu:#EFD36A; --pist:#A9BF8E; --blush:#EFD6D0;
  --foot-bg:#2E2233; --foot-ink:#DCE4D2; --wipe:#2E2233; --menu-bg:#2E2233;
  --grain:.09;
  --display:"Bricolage Grotesque","Arial Narrow",Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --pad:clamp(1.25rem,4vw,3.5rem);
  --ease:cubic-bezier(.7,0,.2,1);
  --arch:999px 999px 18px 18px;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#221B26; --bg-2:#2A2230; --ink:#E2E9D8; --ink-soft:#B3A9B8; --line:rgba(226,233,216,.15);
    --beet:#E26A90; --blush:#3A2C36;
    --foot-bg:#2C3828; --foot-ink:#E2E9D8; --wipe:#141016; --menu-bg:#2C3828; --grain:.06;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#221B26; --bg-2:#2A2230; --ink:#E2E9D8; --ink-soft:#B3A9B8; --line:rgba(226,233,216,.15);
  --beet:#E26A90; --blush:#3A2C36;
  --foot-bg:#2C3828; --foot-ink:#E2E9D8; --wipe:#141016; --menu-bg:#2C3828; --grain:.06;
  color-scheme:dark;
}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--beet) transparent}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--beet);border-radius:8px}
/* Locomotive Scroll v5 */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
[data-scroll-speed]{will-change:transform}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--serif);font-size:clamp(1.05rem,.98rem + .3vw,1.25rem);line-height:1.6;
  font-optical-sizing:auto;overflow-x:hidden;-webkit-font-smoothing:antialiased;
  transition:background-color .6s ease,color .6s ease;
}
html.is-preloading:not(.is-ready) body{overflow:hidden}
svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:2px solid var(--beet);outline-offset:4px;border-radius:3px}
::selection{background:var(--yuzu);color:#2E2233}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:1rem;z-index:200;background:var(--ink);color:var(--bg);padding:.6rem 1rem;border-radius:999px;font-family:var(--display);transform:translateY(-200%)}
.skip:focus{transform:none}

/* split text */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .04em;margin:-.14em -.04em}
.wi{display:inline-block}
.c{display:inline-block;will-change:transform}

/* grain */
body::after{
  content:"";position:fixed;inset:-50%;z-index:150;pointer-events:none;opacity:var(--grain);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain 1.2s steps(6) infinite;
}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* webgl */
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0}
#app{position:relative;z-index:1;outline:none}

/* =========================================================
   header, cursor, menu
   ========================================================= */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:space-between;align-items:center;
  padding:calc(env(safe-area-inset-top,0px) + 1.1rem) var(--pad) 1.1rem;
  color:#fff;mix-blend-mode:difference;pointer-events:none;
}
.site-header>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:.45rem;font-family:var(--display);font-weight:700;font-size:1.65rem;letter-spacing:-.05em;line-height:1}
.brand svg{width:1.1rem;height:auto}
.header-actions{display:flex;gap:.6rem;align-items:center}
.menu-btn{font-family:var(--display);font-size:1rem;padding:.55rem 1.15rem;border:1.5px solid currentColor;border-radius:999px;min-width:5.4rem}
.theme-btn{width:2.6rem;height:2.6rem;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center}
.theme-btn svg{width:1.1rem;height:1.1rem}

.cursor{
  position:fixed;top:0;left:0;z-index:160;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;
  background:var(--beet);display:grid;place-items:center;opacity:0;
  transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background-color .3s,border-color .3s,opacity .3s;
  border:1.5px solid transparent;
}
.cursor span{font-family:var(--display);font-size:.95rem;font-weight:600;color:#F7F0DE;opacity:0;transition:opacity .2s}
.cursor.is-visible{opacity:1}
.cursor.is-hover{width:46px;height:46px;margin:-23px 0 0 -23px;background:transparent;border-color:var(--beet)}
.cursor.is-label{width:88px;height:88px;margin:-44px 0 0 -44px;background:var(--beet);border-color:var(--beet)}
.cursor.is-label span{opacity:1}
@media (pointer:coarse){.cursor{display:none}}

.menu{
  position:fixed;inset:0;z-index:70;background:var(--menu-bg);color:#DCE4D2;visibility:hidden;
  display:flex;flex-direction:column;justify-content:center;
  padding:6rem var(--pad) calc(2rem + env(safe-area-inset-bottom,0px));
  clip-path:circle(0px at 90% 3rem);
}
.menu-list{list-style:none}
.menu-nav a{display:block;width:max-content;max-width:100%;font-family:var(--display);font-size:clamp(3.2rem,11vw,10rem);font-weight:750;line-height:.95;letter-spacing:-.05em;font-variation-settings:'opsz' 96,'wdth' 88;transition:color .3s}
.menu-nav a:hover,.menu-list .current-menu-item>a,.menu-list .current_page_item>a,.menu-list .current_page_parent>a{color:#EFD36A}
.menu-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:3rem;font-family:var(--display);color:#A9BF8E;max-width:60rem}

/* =========================================================
   preloader + page wipe
   ========================================================= */
.preloader{
  position:fixed;inset:0;z-index:120;background:var(--wipe);color:#DCE4D2;
  display:none;grid-template-rows:1fr auto;padding:2rem var(--pad) calc(1.5rem + env(safe-area-inset-bottom,0px));
}
.pl-center{display:grid;place-items:center;align-content:center;gap:1.4rem}
.pl-leaf{width:84px}
.pl-leaf path{fill:none;stroke:#EFD36A;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pl-word{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:#A9BF8E}
.pl-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.pl-brand{font-family:var(--display);font-size:1.15rem;font-weight:600}
.pl-count{font-family:var(--display);font-size:clamp(5rem,22vw,17rem);font-weight:800;line-height:.8;letter-spacing:-.06em;overflow:hidden;font-variant-numeric:tabular-nums}
.pl-count span{display:inline-block}

.wipe{position:fixed;inset:0;z-index:110;pointer-events:none;display:grid;grid-template-columns:repeat(5,1fr)}
.wipe-col{background:var(--wipe);transform:scaleY(0);transform-origin:50% 100%;margin-right:-1px}
.wipe-label{position:fixed;inset:0;z-index:111;display:grid;place-items:center;pointer-events:none}
.wipe-label div{overflow:hidden;padding:0 var(--pad)}
.wipe-label span{display:inline-block;font-family:var(--display);font-size:clamp(3rem,10vw,9rem);font-weight:750;letter-spacing:-.05em;line-height:1.05;color:#EFD36A}

/* =========================================================
   shared type + UI
   ========================================================= */
.h2{font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,7vw,7rem);line-height:.9;letter-spacing:-.045em;font-variation-settings:'opsz' 96,'wdth' 88}
.section{padding:clamp(5rem,14vh,10rem) var(--pad)}
.meta{font-family:var(--display);font-size:.92rem;color:var(--ink-soft)}
.link-u{font-family:var(--display);font-size:1.02rem;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;padding-bottom:.2rem;transition:background-size .5s var(--ease)}
.link-u:hover{background-size:0 1.5px;background-position:100% 100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--display);font-weight:600;font-size:1.05rem;padding:1rem 1.8rem;border-radius:999px;background:var(--ink);color:var(--bg);transition:background-color .35s,color .35s}
.btn:hover{background:var(--beet);color:#F7F0DE}
.btn-yuzu{background:#EFD36A;color:#2E2233}
.btn-yuzu:hover{background:#F7F0DE;color:#2E2233}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.tag{font-family:var(--display);font-size:.92rem;color:var(--beet)}
.tag:hover{text-decoration:underline;text-underline-offset:3px}
.art{width:100%;height:100%}
.art-main{transform-box:fill-box;transform-origin:center}
.form-msg{flex-basis:100%;min-height:1.6em;margin-top:.8rem;font-family:var(--display);font-size:.98rem;display:flex;gap:.5rem;align-items:center}
.form-msg.is-error{color:var(--beet)}
.check{width:1.3rem;height:1.3rem;flex-shrink:0}
.check path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* =========================================================
   home: hero
   ========================================================= */
.hero{min-height:100svh;display:grid;grid-template-rows:1fr auto;gap:3rem;padding:7rem var(--pad) 2rem;position:relative}
.hero-title{
  align-self:end;font-family:var(--display);font-size:clamp(3.1rem,14.5vw,14rem);line-height:.84;letter-spacing:-.05em;
  font-weight:600;font-variation-settings:'opsz' 96,'wdth' 86,'wght' 600;
}
.hero-title .line{display:block;white-space:nowrap}
.hero-foot{display:grid;grid-template-columns:minmax(0,34ch) 1fr;gap:2rem;align-items:end}
.hero-intro{font-size:clamp(1.08rem,1rem + .35vw,1.3rem);line-height:1.5}
.hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem;font-family:var(--display);font-size:.98rem}
.scroll-cue{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--display);font-size:.98rem}
.cue-line{width:3.2rem;height:1.5px;background:currentColor;position:relative;overflow:hidden}
.cue-line::after{content:"";position:absolute;inset:0;background:var(--beet);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:translateX(-101%)}60%,100%{transform:translateX(101%)}}

/* manifesto */
.manifesto{padding:22vh var(--pad) 18vh}
.manifesto-text{font-family:var(--serif);font-size:clamp(1.75rem,1rem + 3.2vw,4.3rem);line-height:1.16;font-weight:350;letter-spacing:-.012em;max-width:21em}
.manifesto-sign{margin-top:2.5rem;font-family:var(--display);color:var(--ink-soft)}

/* seasons (horizontal) */
.seasons{height:100svh;overflow:hidden;position:relative}
.seasons-track{display:flex;height:100%;width:max-content}
.seasons-intro{width:min(62vw,760px);flex-shrink:0;padding:0 var(--pad);display:flex;flex-direction:column;justify-content:center;gap:1.6rem}
.seasons-intro p{max-width:30ch;font-size:clamp(1.1rem,1rem + .4vw,1.35rem)}
.season{
  width:min(80vw,1120px);height:100%;flex-shrink:0;background:var(--sbg);color:var(--sfg);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4vw;padding:9vh 4vw;overflow:hidden;
}
.season-art{height:min(72vh,680px);aspect-ratio:4/5;justify-self:center;border-radius:var(--arch);overflow:hidden;border:1.5px solid color-mix(in srgb,var(--sfg) 25%,transparent)}
.season-name{font-family:var(--display);font-size:clamp(3.4rem,9vw,9.5rem);font-weight:750;line-height:.86;letter-spacing:-.055em;font-variation-settings:'opsz' 96,'wdth' 82}
.season-months{font-family:var(--serif);font-style:italic;font-size:1.25rem;margin:.6rem 0 1.4rem}
.season-copy{max-width:28ch;margin-bottom:1.4rem}
.season-list{display:flex;flex-wrap:wrap;gap:.45rem}
.season-list li{font-family:var(--display);font-size:.95rem;padding:.35rem .85rem;border:1.5px solid color-mix(in srgb,var(--sfg) 35%,transparent);border-radius:999px}

/* diário index */
.index-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem 2rem;margin-bottom:3rem}
.idx-list{border-bottom:1px solid var(--line)}
.idx-row{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 15rem;gap:2rem;align-items:baseline;padding:1.7rem 0;border-top:1px solid var(--line)}
.idx-date,.idx-tags{font-family:var(--display);font-size:.92rem;color:var(--ink-soft)}
.idx-tags{text-align:right}
.idx-title{font-family:var(--display);font-weight:600;font-size:clamp(1.55rem,3.6vw,3.5rem);line-height:1;letter-spacing:-.035em;transition:transform .7s var(--ease),color .35s}
.idx-row:hover .idx-title,.idx-row:focus-visible .idx-title{transform:translateX(1.2rem);color:var(--beet)}
.idx-thumb{display:none}
.idx-float{position:fixed;top:0;left:0;z-index:40;width:clamp(220px,21vw,320px);aspect-ratio:4/5;border-radius:var(--arch);overflow:hidden;pointer-events:none;opacity:0;transform:scale(.6)}
.idx-float-item{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.idx-float-item.on{opacity:1}
.idx-float-item img,.idx-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* process stack */
.process-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30ch);gap:2rem;align-items:end;margin-bottom:4rem}
.stack{display:grid;gap:5vh}
.step{
  position:sticky;top:calc(6.5rem + var(--i) * 1.4rem);min-height:60vh;border-radius:2rem;background:var(--cbg);color:#2E2233;
  display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.8fr);gap:2rem 4vw;align-items:center;padding:clamp(1.5rem,4vw,3.5rem);transform-origin:50% 0;
}
.step-n{font-family:var(--display);font-size:clamp(5rem,15vw,14rem);font-weight:800;line-height:.8;letter-spacing:-.06em;align-self:start}
.step-title{font-family:var(--display);font-size:clamp(2rem,4vw,3.8rem);font-weight:700;line-height:.95;letter-spacing:-.04em;margin-bottom:1.2rem}
.step-body p{max-width:36ch}
.step-detail{margin-top:1.2rem;font-family:var(--display);font-size:.95rem;opacity:.75}
.step-art{aspect-ratio:1;border-radius:50%;overflow:hidden;max-height:46vh;justify-self:end;width:100%;max-width:340px}

/* marquees */
.marquees{padding:7vh 0;overflow:hidden;border-block:1px solid var(--line);display:grid;gap:1.5vh}
.mq{display:flex;width:max-content;will-change:transform}
.mq-inner{display:flex;align-items:center;gap:3vw;padding-right:3vw;flex-shrink:0}
.mq a{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2.4rem,7vw,7rem);line-height:1.1;white-space:nowrap;transition:color .3s}
.mq a:hover{color:var(--beet)}
.mq--2 a{font-family:var(--display);font-style:normal;font-weight:750;letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.mq--2 a:hover{color:var(--ink)}
.mq .sep{width:.7rem;height:.7rem;border-radius:50%;background:var(--yuzu);flex-shrink:0}
.mq--2 .sep{background:var(--beet)}

/* quote */
.quote{display:grid;gap:3rem;justify-items:start}
.quote blockquote p{font-family:var(--serif);font-size:clamp(1.8rem,1rem + 3.4vw,4.4rem);line-height:1.14;font-weight:350;max-width:19em;letter-spacing:-.01em}
.quote cite{display:block;margin-top:2rem;font-family:var(--display);font-style:normal;color:var(--ink-soft)}

/* =========================================================
   footer
   ========================================================= */
.footer{background:var(--foot-bg);color:var(--foot-ink);border-radius:2.5rem 2.5rem 0 0;padding:clamp(4rem,10vh,8rem) var(--pad) 1.5rem;position:relative;overflow:hidden;margin-top:2rem}
.newsletter{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem 6vw;align-items:end;padding-bottom:5rem;border-bottom:1px solid rgba(226,233,216,.18)}
.nl-side p{max-width:36ch;margin-bottom:1.6rem;opacity:.85}
.nl-form{display:flex;flex-wrap:wrap;gap:.8rem}
.nl-form input{flex:1 1 14rem;font:inherit;font-size:1.15rem;color:inherit;background:transparent;border:0;border-bottom:1.5px solid rgba(226,233,216,.4);padding:.8rem 0;border-radius:0}
.nl-form input::placeholder{color:rgba(226,233,216,.55)}
.nl-form input:focus-visible{outline:none;border-bottom-color:#EFD36A}
.footer .form-msg.is-error{color:#F3A3B9}
.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:3.5rem 0}
.footer-grid h3{font-family:var(--display);font-size:.95rem;font-weight:600;color:#A9BF8E;margin-bottom:.9rem}
.footer-grid a{display:block;width:max-content;font-family:var(--display);font-size:1.15rem;line-height:1.7}
.footer-grid a:hover{color:#EFD36A}
.footer-grid p{font-size:1.05rem;line-height:1.6}
.footer-word{font-family:var(--display);font-size:clamp(7rem,31vw,34rem);font-weight:800;line-height:.78;letter-spacing:-.07em;text-align:center;color:#EFD36A;font-variation-settings:'opsz' 96,'wdth' 80;user-select:none}
.footer-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 2rem;padding-top:1.4rem;margin-top:1.5rem;border-top:1px solid rgba(226,233,216,.18);font-family:var(--display);font-size:.88rem;opacity:.75}

/* =========================================================
   page heros (diário, sobre, consultas)
   ========================================================= */
.page-hero{padding:9rem var(--pad) 4rem;display:grid;gap:2rem;justify-items:start}
.page-title{font-family:var(--display);font-size:clamp(4.5rem,23vw,23rem);font-weight:800;line-height:.8;letter-spacing:-.065em;font-variation-settings:'opsz' 96,'wdth' 82}
.page-title--md{font-size:clamp(3.1rem,11vw,11rem);line-height:.86;max-width:12em}
.page-intro{max-width:34ch;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);line-height:1.5}

/* blog grid */
.blog{padding-top:2rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.chip{font-family:var(--display);font-size:.98rem;padding:.5rem 1.05rem;border:1.5px solid var(--line);border-radius:999px;transition:background-color .3s,color .3s,border-color .3s}
.chip sup{font-size:.68em;opacity:.65;margin-left:.15em}
.chip:hover{border-color:var(--ink)}
.chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.blog-status{font-family:var(--display);font-size:.98rem;color:var(--ink-soft);margin-bottom:3.5rem;min-height:1.5em}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6vh 2.5vw;align-items:start}
.card{grid-column:span 4}
.card.is-xl{grid-column:span 7}
.card.is-l{grid-column:span 5;margin-top:14vh}
.card-media{display:block;position:relative;aspect-ratio:4/5;border-radius:var(--arch);overflow:hidden;isolation:isolate}
.card.is-xl .card-media{aspect-ratio:1/1}
.reveal-inner{position:absolute;inset:-8% 0}
.card-media .art{transition:transform 1.1s var(--ease)}
.card-media:hover .art{transform:scale(1.06) rotate(-2deg)}
.card-body{padding-top:1.3rem}
.card-title{font-family:var(--display);font-weight:650;font-size:clamp(1.5rem,2.2vw,2.3rem);line-height:1.02;letter-spacing:-.03em;margin:.5rem 0 .8rem}
.card.is-xl .card-title{font-size:clamp(2rem,3.6vw,3.7rem)}
.card-title a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .6s var(--ease)}
.card-title a:hover{background-size:100% 2px}
.card-excerpt{max-width:42ch;color:var(--ink-soft);font-size:1.02em}
.card-tags{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:1rem}

/* single */
.progress{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:4px;z-index:85}
.progress span{display:block;height:100%;background:var(--beet);transform:scaleX(0);transform-origin:0 50%}
.post-head{padding:9rem var(--pad) 3rem}
.post-tags{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:2.2rem}
.post-title{font-family:var(--display);font-size:clamp(2.6rem,7.6vw,8.2rem);font-weight:750;line-height:.9;letter-spacing:-.045em;max-width:13em;margin:1.2rem 0 1.6rem;font-variation-settings:'opsz' 96,'wdth' 88}
.post-figure{margin:0 var(--pad);height:min(82vh,860px);position:relative;border-radius:var(--arch);overflow:hidden}
.prose{max-width:38rem;margin:0 auto;padding:5.5rem var(--pad) 2rem;box-sizing:content-box}
.prose p{margin-bottom:1.3em;line-height:1.72}
.prose>p:first-child::first-letter{font-family:var(--display);float:left;font-size:5.4em;line-height:.8;padding:.06em .1em 0 0;font-weight:800;color:var(--beet)}
.prose h2{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:650;line-height:1.05;letter-spacing:-.03em;margin:2.2em 0 .7em}
.prose ul{margin:0 0 1.5em;display:grid;gap:.7em}
.prose li{position:relative;padding-left:1.6rem;line-height:1.6}
.prose li::before{content:"";position:absolute;left:0;top:.62em;width:.6rem;height:.6rem;border-radius:50%;background:var(--pist)}
.prose strong{font-weight:600}
.prose blockquote{font-size:clamp(1.5rem,2.6vw,2.25rem);font-style:italic;font-weight:350;line-height:1.24;margin:2.2em -2.5rem;padding-left:1.6rem;border-left:4px solid var(--yuzu)}
.post-foot{max-width:38rem;margin:0 auto;padding:2.5rem var(--pad) 5rem;box-sizing:content-box;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.2rem}
.post-foot .meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:baseline}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw;margin-top:3rem}
.related-grid .card{grid-column:auto;margin-top:0}

.next{display:block;padding:14vh var(--pad) calc(14vh + 2.5rem);background:var(--yuzu);color:#2E2233;text-align:center;position:relative;z-index:1}
.next-label{font-family:var(--display);font-size:1rem}
.next-title{display:block;max-width:14em;margin:1rem auto 0;font-family:var(--display);font-size:clamp(2.4rem,7vw,7.2rem);font-weight:750;line-height:.9;letter-spacing:-.045em;transition:transform .8s var(--ease)}
.next:hover .next-title{transform:scale(1.035)}
.next+.footer{margin-top:-2.5rem;z-index:2}

/* sobre */
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:6vw;align-items:start}
.about-figure{position:relative;aspect-ratio:4/5;border-radius:var(--arch);overflow:hidden}
.about-text p{font-size:clamp(1.2rem,1rem + .7vw,1.6rem);line-height:1.5;margin-bottom:1.2em;max-width:30em}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw;margin-top:3.5rem}
.principle{border-top:1.5px solid var(--ink);padding-top:1.4rem}
.principle h3{font-family:var(--display);font-size:clamp(1.8rem,3vw,3rem);font-weight:700;line-height:.95;letter-spacing:-.04em;margin-bottom:1rem}
.principle p{color:var(--ink-soft);max-width:30ch}
.timeline{position:relative;margin-top:3.5rem;padding-left:2.4rem;max-width:62rem}
.tl-list{list-style:none}
.tl-line{position:absolute;left:.45rem;top:0;bottom:0;width:2px;background:var(--beet);transform-origin:50% 0}
.tl-item{position:relative;display:grid;grid-template-columns:9rem minmax(0,1fr);gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.tl-item::before{content:"";position:absolute;left:-2.4rem;top:2.6rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--bg);border:2px solid var(--beet)}
.tl-year{font-family:var(--display);font-size:clamp(2rem,4vw,3.6rem);font-weight:750;letter-spacing:-.04em;line-height:1}
.tl-text{font-size:1.15rem}

/* consultas */
.services{margin-top:3rem;border-top:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.8rem 0;text-align:left;font-family:var(--display);font-size:clamp(1.8rem,4.6vw,4.4rem);font-weight:700;letter-spacing:-.04em;line-height:1;transition:color .3s}
.acc-btn:hover{color:var(--beet)}
.acc-icon{width:2.8rem;height:2.8rem;border-radius:50%;border:1.5px solid currentColor;position:relative;flex-shrink:0}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;left:50%;top:50%;width:1rem;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.acc-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-panel{height:0;overflow:hidden}
.acc-panel p{max-width:44ch;padding-bottom:2.2rem;font-size:1.2rem;color:var(--ink-soft)}
.contact{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:4rem 6vw;align-items:start}
.contact-side p{margin:1.6rem 0 2.4rem;max-width:32ch}
.contact-info{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.5rem;font-family:var(--display)}
.contact-info dt{color:var(--ink-soft)}
.field{display:grid;gap:.4rem;margin-bottom:1.8rem}
.field label{font-family:var(--display);font-size:.98rem}
.field input,.field select,.field textarea{font:inherit;font-size:1.25rem;color:inherit;background:transparent;border:0;border-bottom:1.5px solid var(--line);padding:.7rem 0;border-radius:0;width:100%;resize:vertical}
.field select option{background:var(--bg);color:var(--ink)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-bottom-color:var(--beet)}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
.contact-form{display:flex;flex-direction:column;align-items:flex-start}
.contact-form .field{width:100%}

/* =========================================================
   responsive
   ========================================================= */
@media (max-width:1000px){
  .card,.card.is-xl,.card.is-l{grid-column:span 6;margin-top:0}
  .card.is-xl .card-media{aspect-ratio:4/5}
  .step{grid-template-columns:auto minmax(0,1fr)}
  .step-art{display:none}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related-grid .card:nth-child(3){display:none}
}
@media (max-width:760px){
  .hero{padding-top:6rem}
  .hero-foot{grid-template-columns:1fr}
  .hero-meta{align-items:flex-start}
  .seasons-intro{width:88vw}
  .season{width:90vw;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:1.6rem;padding:7vh 6vw}
  .season-art{height:38svh}
  .season-name{font-size:clamp(3rem,15vw,5rem)}
  .season-copy{margin-bottom:1rem}
  .idx-row{grid-template-columns:minmax(0,1fr) 76px;gap:.4rem 1rem;padding:1.4rem 0}
  .idx-date{grid-row:1}
  .idx-title{grid-row:2}
  .idx-tags{grid-row:3;text-align:left}
  .idx-thumb{display:block;grid-column:2;grid-row:1 / 4;width:76px;aspect-ratio:4/5;border-radius:var(--arch);overflow:hidden;align-self:center}
  .idx-float{display:none}
  .process-head{grid-template-columns:1fr}
  .step{top:calc(5.5rem + var(--i) * 1rem);min-height:auto;grid-template-columns:1fr;border-radius:1.5rem;gap:1rem}
  .step-n{font-size:5rem}
  .newsletter,.about-grid,.contact{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer{border-radius:1.8rem 1.8rem 0 0}
  .principles{grid-template-columns:1fr;gap:2.5rem}
  .tl-item{grid-template-columns:1fr;gap:.4rem}
  .field-row{grid-template-columns:1fr}
  .prose blockquote{margin-inline:0}
  .post-figure{height:62svh}
}
@media (max-width:640px){
  .card,.card.is-xl,.card.is-l{grid-column:1 / -1}
  .related-grid{grid-template-columns:1fr}
  .related-grid .card:nth-child(3){display:block}
  .footer-grid{grid-template-columns:1fr}
}
@media (pointer:coarse){.idx-float{display:none}}
@media (prefers-reduced-motion:reduce){
  body::after{animation:none}
  .cue-line::after{animation:none}
}

/* =========================================================
   WordPress: estados de carregamento e transições
   ========================================================= */
.js.is-preloading .preloader{display:grid}
.is-transition .wipe-col{transform:scaleY(1)}
.js [data-intro],.js [data-intro-split]{opacity:0}
.no-anim [data-intro],.no-anim [data-intro-split]{opacity:1!important}
.no-js .cursor,.no-js .wipe,.no-js .wipe-label,.no-js .preloader,
.no-anim .preloader,.no-anim .wipe,.no-anim .wipe-label{display:none!important}
.no-js #gl{display:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* barra de administração */
body.admin-bar .site-header,body.admin-bar .progress{top:32px}
@media (max-width:782px){body.admin-bar .site-header,body.admin-bar .progress{top:46px}}

/* imagens destacadas reais */
.reveal-inner img,.season-art img,.step-art img{width:100%;height:100%;object-fit:cover;display:block}
.card-media img{transition:transform 1.1s var(--ease)}
.card-media:hover img{transform:scale(1.06)}

/* menu do rodapé */
.footer-menu{list-style:none}
.footer-base a{text-decoration:underline;text-underline-offset:3px}

/* diário */
.blog-more{display:flex;justify-content:center;margin-top:6rem;min-height:3.5rem}
[data-blog].is-loading .grid{opacity:.45;transition:opacity .3s}
.empty-state{grid-column:1 / -1;display:grid;gap:1.5rem;justify-items:start;padding:4rem 0;font-size:1.3rem}
.chip{display:inline-block}
.page-hero--404{min-height:80svh;align-content:end}

/* pesquisa */
.search-form{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;max-width:36rem}
.search-form input{flex:1 1 14rem;font:inherit;font-size:1.2rem;color:inherit;background:transparent;border:0;border-bottom:1.5px solid var(--line);padding:.7rem 0;border-radius:0}
.search-form input:focus-visible{outline:none;border-bottom-color:var(--beet)}

/* conteúdo do editor de blocos */
.prose>*+*{margin-top:0}
.prose h3{font-family:var(--display);font-size:clamp(1.3rem,2vw,1.8rem);font-weight:650;letter-spacing:-.02em;margin:1.8em 0 .6em}
.prose a{color:var(--beet);text-decoration:underline;text-underline-offset:3px}
.prose ol{margin:0 0 1.5em 1.4em;display:grid;gap:.6em}
.prose ol li{padding-left:.3rem}
.prose ol li::before{display:none}
.prose figure,.prose .wp-block-image{margin:2.4em 0}
.prose img{max-width:100%;height:auto;border-radius:18px}
.prose figcaption{font-family:var(--display);font-size:.9rem;color:var(--ink-soft);margin-top:.6rem}
.prose .wp-block-quote p,.prose blockquote p{margin:0;line-height:inherit}
.prose blockquote cite{display:block;margin-top:.8rem;font-family:var(--display);font-style:normal;font-size:1rem;color:var(--ink-soft)}
.prose .alignwide{margin-inline:calc(-1 * min(8vw,8rem))}
.prose .alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}
.prose hr{border:0;height:1.5px;background:var(--line);margin:3em 0}
.prose table{width:100%;border-collapse:collapse;font-size:.95em}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.6rem .4rem;text-align:left}
.page-links{font-family:var(--display);margin-top:2rem}
.about-text>*{max-width:30em}
.about-text p{font-size:clamp(1.2rem,1rem + .7vw,1.6rem);line-height:1.5;margin-bottom:1.2em}

/* formulário de marcação */
.consent{display:flex;gap:.8rem;align-items:flex-start;font-size:1rem;line-height:1.45;margin-bottom:2rem;max-width:40ch;cursor:pointer}
.consent input{width:1.25rem;height:1.25rem;accent-color:var(--beet);margin-top:.15rem;flex-shrink:0}
.btn[disabled]{opacity:.6;pointer-events:none}
.contact-form--external{width:100%}

/* comentários */
.comments{max-width:38rem;margin:0 auto;padding:2rem var(--pad) 5rem;box-sizing:content-box}
.comments-title,.comment-reply-title{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:650;letter-spacing:-.03em;margin-bottom:1.5rem}
.comment-list{list-style:none;display:grid;gap:1.5rem;margin-bottom:3rem}
.comment-list .children{list-style:none;margin:1.5rem 0 0 1.5rem;display:grid;gap:1.5rem}
.comment-body{border-top:1px solid var(--line);padding-top:1.2rem}
.comment-meta{display:flex;gap:.8rem;align-items:center;font-family:var(--display);font-size:.92rem;color:var(--ink-soft);margin-bottom:.6rem}
.comment-meta img{border-radius:50%}
.comment-meta a{color:inherit}
.reply a{font-family:var(--display);font-size:.92rem;color:var(--beet)}
.comment-form p{margin-bottom:1.2rem}
.comment-form label{display:block;font-family:var(--display);font-size:.95rem;margin-bottom:.3rem}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1.5px solid var(--line);padding:.6rem 0;border-radius:0}
.comment-form .comment-form-cookies-consent{display:flex;gap:.6rem;align-items:flex-start}
.comment-form .comment-form-cookies-consent label{display:inline;font-family:var(--serif)}
