/* ==========================================================================
   robertomonfort.com.br  |  site.css
   Tokens, fonts, base, layout, components, motion, hero, reduced motion.
   Plain CSS, no build. Colors from the Brandbook: petrol #022d3d,
   yellow #f9dc5c (accent only), aqua #9ac2c5 (breathing room).
   ========================================================================== */

/* ---------- Fonts (self hosted) ---------- */
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/oswald-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/oswald-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/montserrat-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/montserrat-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens ---------- */
:root{
  --canvas:#022d3d;
  --canvas-deep:#01202c;
  --panel:#063a4c;
  --panel-2:#0a4559;
  --paper:#f4efe4;
  --paper-2:#ebe4d5;
  --paper-ink:#022d3d;
  --paper-ink-2:#3f5c66;
  --accent:#f9dc5c;
  --accent-hover:#ffe97a;
  --accent-muted:rgba(249,220,92,.16);
  --aqua:#9ac2c5;
  --aqua-muted:rgba(154,194,197,.18);
  --text-primary:#f4f1e8;
  --text-secondary:#b7cdd0;
  --line:rgba(154,194,197,.18);
  --line-strong:rgba(154,194,197,.46);
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --tshadow:0 1px 2px rgba(1,16,24,.95),0 3px 12px rgba(1,16,24,.78),0 10px 44px rgba(1,16,24,.8);
  --display:"Oswald","Arial Narrow",Impact,sans-serif;
  --body:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --nav-h:72px;
  --wrap:1200px;
  --gutter:clamp(20px,5vw,64px);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text-primary);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* Sideways overflow is clipped on the content wrappers, never on html or body: overflow on the root
   makes iOS Safari treat the body as the scroller and fixed headers drift during scroll. */
.page-hero,.after-hero,.page-body,.footer,.article-head{overflow-x:clip}
/* The page eases in through main and footer, never through body: an opacity transition on body
   can detach position: fixed children (the nav) in WebKit. */
.js main,.js .footer{opacity:0;transition:opacity .9s var(--ease-out)}
.js body.ready main,.js body.ready .footer{opacity:1}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
p{margin:0 0 1.1em}
h1,h2,h3,h4{margin:0;font-weight:700}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
::selection{background:var(--accent);color:var(--paper-ink)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--paper-ink);padding:.7rem 1rem;font:600 .8rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;border-radius:2px;transition:top .2s}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Type ---------- */
.h-display,.h1,.h2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:.98}
.h1{font-size:clamp(2.5rem,5.4vw,4.8rem)}
.h2{font-size:clamp(2rem,3.9vw,3.5rem)}
.h3{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.015em;line-height:1.05;font-size:clamp(1.5rem,2.3vw,2rem)}
.h-sub,.kicker{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.h-sub{font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.4}
.kicker{font-size:.76rem;letter-spacing:.2em;color:var(--aqua)}
.kicker.num{color:var(--accent)}
.lede{font-size:clamp(1.12rem,1.6vw,1.32rem);line-height:1.6;color:var(--text-secondary)}
.lede strong,.body strong{color:var(--text-primary);font-weight:600}
.body p{max-width:62ch}
.lede{max-width:56ch}
.measure{max-width:64ch}
.center{text-align:center}
.center .lede,.center .body p,.center .measure{margin-left:auto;margin-right:auto}
.muted{color:var(--text-secondary)}
.accent{color:var(--accent)}
.aqua{color:var(--aqua)}
.nowrap{white-space:nowrap}
.big-num{font-family:var(--display);font-weight:700;font-size:clamp(3rem,6vw,5.4rem);line-height:.9;letter-spacing:-.01em;color:var(--text-primary)}

/* ---------- Layout ---------- */
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2*var(--gutter),880px);margin-inline:auto}
.sec{position:relative;padding:clamp(88px,11vw,150px) 0}
.sec-tight{padding:clamp(56px,7vw,96px) 0}
.sec-deep{background:var(--canvas-deep)}
.sec-panel{background:var(--panel)}
.sec-paper{background:var(--paper);color:var(--paper-ink)}
.sec-paper .kicker{color:var(--paper-ink-2)}
.sec-paper .kicker.num{color:#8a6d0b}
.sec-paper .lede,.sec-paper .muted{color:var(--paper-ink-2)}
.sec-paper .lede strong,.sec-paper .body strong{color:var(--paper-ink)}
.sec-paper ::selection{background:var(--paper-ink);color:var(--paper)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.split.rev>:first-child{order:2}
.stack>*+*{margin-top:1.5rem}
.stack-lg>*+*{margin-top:2.6rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem 1rem;align-items:center}
.cta-row.center{justify-content:center}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mt-4{margin-top:4rem}
.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:50px;padding:.9rem 1.7rem;font:600 .78rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;border-radius:2px;border:1px solid transparent;text-shadow:none;white-space:nowrap;transition:transform .4s var(--ease-out),background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out),box-shadow .5s var(--ease-out)}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--accent);color:var(--paper-ink);box-shadow:0 0 0 0 rgba(249,220,92,0)}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(249,220,92,.55)}
.btn-ghost{border-color:var(--line-strong);color:var(--text-primary)}
.btn-ghost:hover{border-color:var(--aqua);background:var(--aqua-muted);transform:translateY(-2px)}
.btn-quiet{color:var(--aqua);padding-inline:.2rem;min-height:44px;border-bottom:1px solid transparent;border-radius:0}
.btn-quiet:hover{color:var(--text-primary);border-bottom-color:var(--aqua)}
.sec-paper .btn-ghost{color:var(--paper-ink);border-color:rgba(2,45,61,.42)}
.sec-paper .btn-ghost:hover{border-color:var(--paper-ink);background:rgba(2,45,61,.06)}
.sec-paper .btn-quiet{color:var(--paper-ink-2)}
.sec-paper .btn-quiet:hover{color:var(--paper-ink);border-bottom-color:var(--paper-ink)}
.btn-wa{gap:.55rem}
@media (pointer:coarse){.btn{min-height:48px}}
@media (max-width:480px){.btn{white-space:normal;text-align:center;width:100%}.cta-row{flex-direction:column;align-items:stretch}}

/* ---------- Environment layer (one place, not stacked sections) ---------- */
.env{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.env::before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse 60% 50% at 30% 20%,rgba(154,194,197,.10),transparent 60%),radial-gradient(ellipse 50% 60% at 75% 80%,rgba(249,220,92,.05),transparent 60%);animation:envDrift 90s var(--ease-in-out) -30s infinite alternate;will-change:transform}
.env::after{content:"";position:absolute;inset:0;opacity:.055;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px}
@keyframes envDrift{from{transform:translate3d(-3%,-2%,0) scale(1.02)}to{transform:translate3d(3%,2%,0) scale(1.06)}}
main,footer,.nav{position:relative;z-index:1}

/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:50;height:var(--nav-h);display:flex;align-items:center;transition:background-color .5s var(--ease-out),border-color .5s;border-bottom:1px solid transparent;transform:translateZ(0);-webkit-transform:translateZ(0);padding-top:env(safe-area-inset-top,0);box-sizing:content-box}
.nav.scrolled,.nav.solid{background:rgba(2,45,61,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line)}
/* Touch browsers: a solid bar instead of a blurred one. Blur behind a fixed bar is where iOS Safari
   renders the bar out of place while the address bar collapses. */
@media (pointer:coarse){.nav.scrolled,.nav.solid{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(2,45,61,.96)}}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:inline-flex;align-items:center;min-height:44px}
.brand img{height:34px;width:auto;transition:opacity .3s}
.brand:hover img{opacity:.85}
.nav-links{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.8rem)}
.nav-links a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 .2rem;font:600 .72rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:.2rem;right:.2rem;bottom:8px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text-primary)}
.nav-links a[aria-current="page"]::after,.nav-links a:hover::after{transform:scaleX(1)}
.nav-wa{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;color:var(--aqua);transition:border-color .3s,color .3s,background-color .3s}
.nav-wa svg{width:20px;height:20px}
.nav-wa:hover{border-color:var(--aqua);color:var(--text-primary);background:var(--aqua-muted)}
.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--text-primary);transition:transform .4s var(--ease-out),opacity .3s}
.menu{position:fixed;inset:0;z-index:49;background:var(--canvas-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;visibility:hidden;transition:opacity .45s var(--ease-out),visibility 0s .45s}
.menu.open{opacity:1;visibility:visible;transition:opacity .45s var(--ease-out),visibility 0s}
.menu img{width:200px;height:auto;margin-bottom:.5rem}
.menu ul{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.menu a{display:block;padding:.5rem 1rem;font-family:var(--display);font-size:clamp(1.8rem,7vw,2.6rem);text-transform:uppercase;letter-spacing:.02em;color:var(--text-primary);opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease-out),transform .55s var(--ease-out)}
.menu.open a{opacity:1;transform:none}
.menu.open li:nth-child(1) a{transition-delay:.08s}.menu.open li:nth-child(2) a{transition-delay:.14s}.menu.open li:nth-child(3) a{transition-delay:.2s}.menu.open li:nth-child(4) a{transition-delay:.26s}.menu.open li:nth-child(5) a{transition-delay:.32s}.menu.open li:nth-child(6) a{transition-delay:.38s}
.menu a[aria-current="page"]{color:var(--accent)}
.menu .btn{opacity:0;transition:opacity .45s var(--ease-out) .45s}
.menu.open .btn{opacity:1}
body.menu-open{overflow:hidden}
body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.menu-open .nav-toggle span:nth-child(2){opacity:0}
body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media (max-width:900px){.nav-links{display:none}.nav-toggle{display:flex}.nav{--nav-h:64px}:root{--nav-h:64px}}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;padding:calc(var(--nav-h) + clamp(64px,9vw,120px)) 0 clamp(64px,8vw,110px);background:var(--canvas-deep);overflow:hidden}
.page-hero .split{align-items:end}
.page-hero .h1{margin:.6rem 0 1.2rem}
.page-hero .lede{margin-top:.4rem}
.page-hero.typo{text-align:center}
.page-hero.typo .lede{margin-inline:auto}

/* ---------- Photos (studio black blends into petrol) ---------- */
.photo{position:relative;background:var(--canvas);border-radius:2px;overflow:hidden;isolation:isolate}
.photo img{width:100%;height:100%;object-fit:cover;mix-blend-mode:lighten;transform:translateZ(0)}
.photo.tall{aspect-ratio:3/4}
.photo.wide{aspect-ratio:4/5}
.photo.portrait{aspect-ratio:2/3}
.photo.round{width:56px;height:56px;border-radius:50%;flex:none}
.photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(2,45,61,.55),transparent 40%)}
.photo.parallax img{will-change:transform;transition:transform .1s linear}
.sec-paper .photo{background:var(--canvas)}
.photo-caption{margin-top:.8rem;font:600 .68rem/1.4 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}

/* ---------- Symbolic visuals (generated, abstract, already in the brand palette: no blend) ---------- */
.symbol{position:relative;border-radius:2px;overflow:hidden;background:var(--canvas-deep);isolation:isolate}
.symbol img,.symbol video{width:100%;height:100%;object-fit:cover;display:block}
.symbol.tall{aspect-ratio:3/4}
.symbol.square{aspect-ratio:1}
.symbol.wide{aspect-ratio:16/9}
.symbol::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(154,194,197,.14)}
.symbol video{transform:translateZ(0)}
.card .icon{width:clamp(88px,9vw,116px);aspect-ratio:1;border-radius:2px;overflow:hidden;margin-bottom:.2rem;background:var(--canvas-deep)}
.card .icon img{width:100%;height:100%;object-fit:cover;display:block}
.step .thumb{aspect-ratio:1;border-radius:2px;overflow:hidden;background:var(--canvas-deep)}
.step .thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:700px){.step{grid-template-columns:72px 1fr}.step .thumb{grid-row:span 2}}
.sec>.wrap,.sec>.wrap-narrow{position:relative;z-index:1}
.sec-bg{position:absolute;right:0;top:0;bottom:0;width:min(48vw,640px);pointer-events:none;opacity:.32;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
.sec-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
/* full bleed symbolic background under a text section (MindEquity, O diferencial) */
.sec-bg-full{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.sec-bg-full img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.42;display:block}
.sec-bg-full::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--panel) 0%,rgba(6,58,76,0) 26%,rgba(6,58,76,0) 74%,var(--panel) 100%)}
.sec-bg-full~.wrap{position:relative;z-index:1}
#diferencial .split{gap:clamp(48px,12vw,180px)}
/* Palestras, Temas: a plateia vista do palco atrás dos cards */
.sec-bg-full.deep img{opacity:.85;object-position:center 40%}
.sec-bg-full.deep::after{background:linear-gradient(180deg,rgba(1,32,44,.55) 0%,rgba(1,32,44,.05) 22%,rgba(1,32,44,.25) 60%,var(--canvas-deep) 100%)}
#temas .card{background:rgba(3,40,54,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media (max-width:860px){.sec-bg-full.deep::after{background:linear-gradient(180deg,rgba(1,32,44,0) 50%,var(--canvas-deep) 100%)}} /* the tower of light lives in the gap between the two columns */
@media (max-width:860px){
  .sec-bg-full{position:relative;aspect-ratio:16/9;margin:calc(-1*clamp(88px,11vw,150px)) 0 clamp(28px,6vw,44px)}
  .sec-bg-full img{opacity:.75}
  .sec-bg-full::after{background:linear-gradient(180deg,rgba(6,58,76,0) 50%,var(--panel) 100%)}
}
/* closing section with a loop behind it (MindEquity, Auditoria) */
.sec-loop{overflow:hidden;padding:clamp(120px,15vw,210px) 0}
.sec-loop .hero-loop video{opacity:.58}
.sec-loop .hero-loop::after{background:linear-gradient(180deg,var(--canvas-deep) 0%,rgba(1,32,44,.38) 22%,rgba(1,32,44,.58) 78%,var(--canvas-deep) 100%)}
.sec-loop>.wrap{position:relative;z-index:1}
@media (max-width:860px){.sec-bg{width:100%;opacity:.18;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%);mask-image:linear-gradient(180deg,transparent 0%,#000 40%)}}
.hero-loop{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-loop video,.hero-loop img{width:100%;height:100%;object-fit:cover;display:block;opacity:.55}
.hero-loop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,32,44,.35),rgba(1,32,44,.75) 70%,rgba(1,32,44,1))}
.page-hero>.wrap,.page-hero>.wrap-narrow{position:relative;z-index:1}

/* ---------- Reveal choreography ---------- */
.reveal{--d:0ms}
.reveal .part{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease-out),transform 1s var(--ease-out);transition-delay:calc(var(--i,0)*90ms + var(--d))}
.reveal.in .part{opacity:1;transform:none}
.reveal.done .part{transition-delay:0s!important}
.reveal .part.from-left{transform:translateX(-24px)}
.reveal .part.from-right{transform:translateX(24px)}
.reveal.in .part.from-left,.reveal.in .part.from-right{transform:none}

/* ---------- The signature: Linha do Rasgo ---------- */
.after-hero,.page-body{position:relative}
.rasgo{position:absolute;top:0;left:max(6px,calc((100vw - var(--wrap))/2 - 72px));width:48px;height:100%;pointer-events:none;z-index:2;overflow:visible}
.rasgo path{fill:none;stroke:var(--aqua);stroke-width:1;stroke-opacity:.42;stroke-linejoin:round;stroke-linecap:round}
.rasgo .tip{fill:var(--accent);opacity:.9;filter:drop-shadow(0 0 6px rgba(249,220,92,.8))}
.rasgo-mark{display:flex;justify-content:center;padding:clamp(28px,4vw,48px) 0 0}
.rasgo-mark img{width:22px;height:auto;animation:tipPulse 4.5s var(--ease-in-out) -1.2s infinite}
@keyframes tipPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@media (max-width:720px){.rasgo{display:none}}

/* torn edges between paper and petrol */
.edge{display:block;width:100%;height:28px}
.edge-top{margin-bottom:-1px}
.edge-bottom{margin-top:-1px;transform:scaleY(-1)}
.edge path{fill:var(--paper)}
.edge.ink path{fill:var(--canvas)}
.edge.deep path{fill:var(--canvas-deep)}

/* ---------- Home: Para quem ---------- */
.lines-big{display:flex;flex-direction:column;gap:clamp(.6rem,1.4vw,1.1rem)}
.lines-big .line{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,4rem);line-height:1;letter-spacing:.01em}
.lines-big .line:nth-child(2){padding-left:clamp(1rem,6vw,5rem);color:var(--text-secondary)}
.lines-big .line:nth-child(3){padding-left:clamp(2rem,12vw,10rem)}
.lines-big .line em{font-style:normal;color:var(--accent);display:inline-block;transform:translate(3px,3px) rotate(-1.2deg)}

/* ---------- Home: Prova ---------- */
.proof-grid{display:grid;gap:clamp(1.6rem,3vw,2.6rem)}
.stat{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,2.4vw,2rem);align-items:baseline;padding-top:1.4rem;border-top:1px solid var(--line)}
.stat p{margin:0;max-width:44ch;color:var(--text-secondary)}
.stat .big-num{min-width:4.2ch}
.stat .big-num small{font-size:.42em;letter-spacing:.02em;vertical-align:baseline;margin-left:.1em}
@media (max-width:640px){.stat{grid-template-columns:1fr;gap:.5rem}.stat .big-num{font-size:clamp(2.4rem,11vw,3.4rem);min-width:0}.stat p{max-width:none}}

/* ---------- Logo strip (reusable) ---------- */
.logo-strip{margin-top:clamp(2.6rem,5vw,4rem);padding-top:1.8rem;border-top:1px solid var(--line)}
.logo-strip .kicker{display:block;margin-bottom:1.4rem}
.logo-strip ul{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem clamp(1.6rem,3.6vw,3.2rem)}
.logo-strip li{display:flex;align-items:center;height:40px}
.logo-strip img{height:var(--lh,34px);width:auto;opacity:.72;transition:opacity .35s,transform .5s var(--ease-out)}
.logo-strip li:hover img{opacity:1;transform:translateY(-2px)}
.sec-paper .logo-strip img{filter:brightness(.35) sepia(.4) hue-rotate(150deg)}
/* carrossel automático: três cópias da fileira, a faixa anda uma cópia por ciclo, sem emenda visível */
.logo-strip.marquee{--gap:clamp(3.4rem,6.5vw,6.4rem)}
.logo-strip .track-clip{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logo-strip .track{display:flex;flex-wrap:nowrap;align-items:center;gap:0;width:max-content;animation:marquee 42s linear infinite;will-change:transform}
.logo-strip .track li{flex:none;padding-right:var(--gap)}
.logo-strip .track-clip:hover .track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-100%/3))}}

/* ---------- Home: Método (interactive tear) ---------- */
.tear-wrap{position:relative}
.steps-words{display:flex;flex-wrap:wrap;gap:.4em .9em;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,5vw,4.4rem);line-height:1;letter-spacing:.01em}
.steps-words span{opacity:.28;transition:opacity .6s var(--ease-out),color .6s;transition-delay:calc(var(--i,0)*140ms)}
.tear-wrap.lit .steps-words span{opacity:1}
.tear-wrap.lit .steps-words span:nth-child(2){color:var(--accent)}
.tear-panel{--p:0;position:relative;margin-top:clamp(1.6rem,3vw,2.4rem);aspect-ratio:16/9;max-height:min(560px,64vh);min-height:220px;border-radius:2px;overflow:hidden;background:var(--canvas-deep);border:1px solid var(--line);-webkit-touch-callout:none;isolation:isolate}
@media (max-width:640px){.tear-panel{aspect-ratio:4/3}}
.tear-panel::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(154,194,197,.07) 22px 23px);pointer-events:none;z-index:1}
/* the video's own resting frame lives under the panel: the CSS tear carries the moment until the Blob arrives, and stays when it never does */
.tear-panel .frame{position:absolute;inset:0;background:url(/assets/video/rasgo-ending.jpg) center/cover no-repeat;opacity:.9}
.tear-panel video.scrub{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .5s;pointer-events:none}
.tear-panel.video-ready video.scrub{opacity:1}
.tear-panel .veil{position:absolute;inset:0;background:var(--canvas-deep);opacity:calc(.96 - var(--p)*.7);will-change:opacity}
.tear-panel .glow,.tear-panel .light,.tear-panel .reveal-line{z-index:2}
.tear-panel .glow{position:absolute;inset:-1px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(154,194,197,.25),0 0 40px -10px rgba(154,194,197,.25);opacity:.6;animation:glowBreath 5s var(--ease-in-out) -2s infinite;pointer-events:none}
@keyframes glowBreath{0%,100%{opacity:.35}50%{opacity:.85}}
.tear-panel .light{position:absolute;top:0;bottom:0;left:50%;width:min(92%,1000px);transform:translateX(-50%) scaleX(var(--p));transform-origin:center;background:radial-gradient(ellipse 50% 62% at 50% 50%,rgba(244,241,232,.96) 0%,rgba(244,241,232,.9) 40%,rgba(154,194,197,.5) 68%,rgba(2,45,61,0) 100%);opacity:calc(var(--p)*1);will-change:transform,opacity}
.tear-panel .reveal-line{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;margin:0;text-align:center;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,2.6vw,2.2rem);line-height:1.1;color:var(--paper-ink);opacity:clamp(0,calc((var(--p) - .55)*2.4),1);transform:scale(calc(.94 + var(--p)*.06));pointer-events:none}
.tear-panel .reveal-line span{display:block;max-width:22ch}
.tear-wrap .after{margin-top:clamp(1.8rem,3vw,2.6rem)}

/* ---------- Home: Livro (full bleed composition, text over the clean right side) ---------- */
.sec-livro{position:relative;background:var(--canvas-deep);overflow:hidden;padding:clamp(88px,11vw,150px) 0}
.sec-livro>.wrap{position:relative;z-index:1}
.livro-bg{position:absolute;inset:0;z-index:0}
.livro-bg img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.livro-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,32,44,0) 40%,rgba(1,32,44,.35) 62%,rgba(1,32,44,.55) 100%)}
.livro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,80px);align-items:center;min-height:clamp(380px,34vw,520px)}
.livro-grid .book-title{font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.1;max-width:26ch}
.livro-grid .book-title::before{background:linear-gradient(to bottom,transparent,var(--accent) 20%,var(--accent) 80%,transparent)}
@media (max-width:860px){
  .sec-livro{padding-top:0}
  .livro-bg{position:relative;aspect-ratio:16/10;inset:auto;margin-bottom:clamp(28px,6vw,48px)}
  .livro-bg::after{background:linear-gradient(180deg,rgba(1,32,44,0) 60%,rgba(1,32,44,1) 100%)}
  .livro-grid{grid-template-columns:1fr;min-height:0}
  .livro-grid>.livro-space{display:none}
}

/* ---------- Home: Livro (paper, legacy) ---------- */
.book-title{position:relative;display:inline-block;padding:.2em 0;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2.1rem,4.6vw,4rem);line-height:.98}
.book-title::before{content:"";position:absolute;left:-.55em;top:-.35em;bottom:-.35em;width:2px;background:linear-gradient(to bottom,transparent,var(--paper-ink) 20%,var(--paper-ink) 80%,transparent)}
.paper-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:300% 100%;animation:paperLight 18s linear -6s infinite;opacity:.6}
@keyframes paperLight{from{background-position:120% 0}to{background-position:-120% 0}}

/* ---------- Forms ---------- */
.form{display:grid;gap:1.1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:grid;gap:.45rem}
.field label{font:600 .7rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--aqua)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:.8rem 1rem;font:400 1rem/1.4 var(--body);color:var(--text-primary);background:rgba(154,194,197,.06);border:1px solid var(--line-strong);border-radius:2px;transition:border-color .3s,background-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ac2c5' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}
.field input::placeholder{color:rgba(183,205,208,.55)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}
.field.invalid input,.field.invalid select{border-color:#ff9f8a}
.field .err{display:none;font-size:.82rem;color:#ffb3a3}
.field.invalid .err{display:block}
.form .btn{justify-self:start}
.form-msg{display:none;padding:1rem 1.2rem;border-left:2px solid var(--accent);background:var(--accent-muted);font-size:.98rem}
.form-msg.show{display:block}
.form-msg.error{border-left-color:#ff9f8a;background:rgba(255,159,138,.12)}
.form.sent>*:not(.form-msg){display:none}
.sec-paper .field label{color:var(--paper-ink-2)}
.sec-paper .field input,.sec-paper .field select{color:var(--paper-ink);background-color:rgba(255,255,255,.55);border-color:rgba(2,45,61,.32)}
.sec-paper .field input::placeholder{color:rgba(63,92,102,.6)}
.sec-paper .field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23022d3d' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>")}
.sec-paper .form-msg{background:rgba(2,45,61,.06);border-left-color:var(--paper-ink)}
.inline-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.8rem;align-items:end;max-width:620px}
@media (max-width:640px){.form .row,.inline-form{grid-template-columns:1fr}.form .btn,.inline-form .btn{width:100%}}

/* ---------- Doors (closing CTA) ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.door{position:relative;padding:clamp(1.8rem,3.4vw,2.8rem);border:1px solid var(--line);background:linear-gradient(180deg,rgba(154,194,197,.05),rgba(154,194,197,.01));display:flex;flex-direction:column;gap:1.2rem;min-height:100%;transition:border-color .5s,transform .6s var(--ease-out)}
.door:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.door .kicker{margin-bottom:.2rem}
.door p{margin:0;color:var(--text-secondary);max-width:40ch}
.door .btn{align-self:flex-start;margin-top:auto}
.door::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px -30px rgba(249,220,92,.35);opacity:0;animation:doorGlow 8s var(--ease-in-out) infinite}
.door:nth-child(2)::after{animation-delay:-4s;box-shadow:inset 0 0 60px -30px rgba(154,194,197,.4)}
@keyframes doorGlow{0%,100%{opacity:0}50%{opacity:1}}
@media (max-width:760px){.doors{grid-template-columns:1fr}}
.third-way{margin:clamp(1.8rem,3.2vw,2.6rem) auto 0;text-align:center;color:var(--text-secondary);max-width:48ch}
.third-way a{color:var(--text-primary);border-bottom:1px solid var(--aqua);padding-bottom:.12em;transition:color .3s,border-color .3s}
.third-way a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- Cards ---------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.card{position:relative;padding:clamp(1.6rem,2.6vw,2.2rem);border:1px solid var(--line);background:rgba(6,58,76,.5);display:flex;flex-direction:column;gap:1rem;transition:border-color .5s,transform .6s var(--ease-out)}
.card:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.card .num{font-family:var(--display);font-size:2.4rem;line-height:1;color:var(--accent)}
.card .h3{margin:.2rem 0 0}
.card .h-sub{font-size:.8rem;color:var(--aqua);letter-spacing:.12em}
.card p{margin:0;color:var(--text-secondary);font-size:.98rem}
.card dl{margin:0;display:grid;gap:.9rem}
.card dt{font:600 .68rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--aqua);margin-bottom:.35rem}
.card dd{margin:0;color:var(--text-secondary);font-size:.98rem}
.card dd p+p{margin-top:.7em}
@media (max-width:960px){.cards-3{grid-template-columns:1fr}}

/* testimonial slots (clearly marked, no invented content) */
/* Palestras: depoimentos em vídeo (capa própria, YouTube só ao clicar) */
.depos{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,1.6vw,1.3rem)}
.depo{margin:0}
.depo .video-embed{margin:0;border-radius:2px;isolation:isolate}
.depo .video-embed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
.depo .video-embed::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,45,61,.1),rgba(2,45,61,.55));pointer-events:none}
.depo .play{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem .55rem .65rem;border:1px solid rgba(244,241,232,.45);border-radius:999px;background:rgba(1,32,44,.55);color:var(--text-primary);font:600 .72rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px);transition:background .3s,border-color .3s,transform .3s var(--ease-out)}
.depo .play svg{width:18px;height:18px;fill:var(--accent)}
.depo .play:hover{background:rgba(1,32,44,.8);border-color:var(--accent);transform:scale(1.04)}
.depo .play:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.depo figcaption{margin-top:.6rem;font-size:.84rem;line-height:1.35;color:var(--text-secondary)}
.depo figcaption strong{color:var(--text-primary);font-weight:600}
@media (max-width:900px){.depos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.depos{grid-template-columns:1fr}}

/* ---------- Steps along the line (Método page) ---------- */
.steps{display:grid;gap:clamp(2rem,4vw,3.4rem);position:relative;padding-left:clamp(1.6rem,4vw,3.2rem);border-left:1px solid var(--line)}
.step{position:relative;display:grid;grid-template-columns:clamp(72px,7vw,104px) minmax(120px,.5fr) 1.5fr;gap:clamp(1rem,3vw,3rem);align-items:start}
.step::before{content:"";position:absolute;left:calc(-1*clamp(1.6rem,4vw,3.2rem) - 4px);top:.55em;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(249,220,92,.7)}
.step .h2{font-size:clamp(2rem,4.2vw,3.6rem)}
.step p{margin:0;color:var(--text-secondary);max-width:54ch}
@media (max-width:700px){.step{grid-template-columns:72px 1fr;gap:.6rem 1rem}.step .thumb{grid-row:span 2}}

/* ---------- MindEquity: ten challenges, "what it is not", who it is for ---------- */
.challenges{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;counter-reset:ch}
.challenge{position:relative;padding:clamp(1.4rem,2.2vw,1.9rem);border:1px solid var(--line);background:rgba(6,58,76,.45);display:flex;flex-direction:column;gap:.7rem;transition:border-color .5s,transform .6s var(--ease-out)}
.challenge:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.challenge .num{font-family:var(--display);font-size:1.6rem;line-height:1;color:var(--accent)}
.challenge h3{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.015em;line-height:1.08;font-size:clamp(1.15rem,1.5vw,1.35rem)}
.challenge p{margin:0;color:var(--text-secondary);font-size:.95rem}
.challenge .turn{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line)}
.challenge .turn .kicker{display:block;margin-bottom:.35rem;font-size:.64rem}
.challenge .turn p{color:var(--text-primary)}
@media (max-width:960px){.challenges{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.challenges{grid-template-columns:1fr}}
/* per card reveal: each card enters when it reaches the viewport, not on a timer */
.reveal-each .part{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),border-color .5s}
.reveal-each .part.in{opacity:1;transform:none}
.reveal-each .challenge.in:hover{transform:translateY(-3px);transition-duration:.45s}
/* MindEquity, "De onde vem": the Rasgar / Recriar pair from Sobre and Método */
.diptych{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:clamp(1.6rem,2.6vw,2.2rem);max-width:460px}
.diptych figure{margin:0}
.diptych figcaption{margin-top:.6rem;font:600 .64rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--aqua)}
.nots{display:grid;gap:1.2rem;max-width:62ch}
.nots li{padding-left:1.6rem;position:relative;color:var(--text-secondary)}
.nots li::before{content:"";position:absolute;left:0;top:.75em;width:12px;height:1px;background:var(--accent)}
.nots li strong{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.2rem}
.who{display:grid;gap:.9rem;max-width:58ch}
.who li{padding:.9rem 0 .9rem 1.4rem;border-top:1px solid var(--line);position:relative;color:var(--text-secondary)}
.who li::before{content:"";position:absolute;left:0;top:1.35rem;width:8px;height:1px;background:var(--aqua)}
.who li:last-child{border-bottom:1px solid var(--line)}
.audit{border:1px solid var(--line-strong);padding:clamp(1.8rem,3vw,2.6rem);background:linear-gradient(180deg,rgba(249,220,92,.06),rgba(249,220,92,.01))}
.audit .kicker{color:var(--accent)}

/* ---------- Credentials list (paper) ---------- */
.cred-list{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem clamp(2rem,5vw,4.5rem)}
.cred-list li{position:relative;padding-left:1.4rem;border-top:1px solid rgba(2,45,61,.18);padding-top:1rem;color:var(--paper-ink-2)}
.cred-list li::before{content:"";position:absolute;left:0;top:1.3rem;width:8px;height:1px;background:var(--paper-ink)}
@media (max-width:760px){.cred-list{grid-template-columns:1fr}}

/* ---------- Contact paths ---------- */
.paths{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.path{padding:clamp(1.8rem,3vw,2.6rem);border:1px solid var(--line)}
.path.paper{background:var(--paper);color:var(--paper-ink);border-color:transparent}
.path.paper .kicker{color:var(--paper-ink-2)}
.path.paper .lede{color:var(--paper-ink-2)}
.path.paper .field label{color:var(--paper-ink-2)}
.path.paper .field input,.path.paper .field select{color:var(--paper-ink);background-color:rgba(255,255,255,.6);border-color:rgba(2,45,61,.32)}
.path.paper .field input::placeholder{color:rgba(63,92,102,.6)}
.path.paper .field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23022d3d' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>")}
.path.paper .form-msg{background:rgba(2,45,61,.06);border-left-color:var(--paper-ink)}
.path.paper .btn-quiet{color:var(--paper-ink-2)}
.path.paper .btn-quiet:hover{color:var(--paper-ink);border-bottom-color:var(--paper-ink)}
.path.quiet{border-style:dashed;padding:1.6rem 1.8rem}
.path.quiet p{margin:0 0 1rem;color:var(--text-secondary)}
@media (max-width:900px){.paths{grid-template-columns:1fr}}

/* ---------- Blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.post-card{display:flex;flex-direction:column;gap:.8rem;padding:1.8rem;border:1px solid var(--line);transition:border-color .5s,transform .6s var(--ease-out)}
.post-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.post-card time,.post-card .meta{font:600 .66rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--aqua)}
.post-card .h3{font-size:1.5rem}
.post-card p{margin:0;color:var(--text-secondary);font-size:.98rem}
.post-card .more{margin-top:auto;color:var(--text-primary);font:600 .7rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase}
.empty{padding:clamp(2rem,5vw,4rem);border:1px dashed var(--line-strong);text-align:center}
.empty p{max-width:44ch;margin:0 auto 1.4rem;color:var(--text-secondary)}
@media (max-width:960px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.posts{grid-template-columns:1fr}}
.article-head{padding:calc(var(--nav-h) + clamp(56px,8vw,100px)) 0 clamp(40px,6vw,72px);background:var(--canvas-deep)}
.article-head .h1{font-size:clamp(2.1rem,4.6vw,3.8rem);max-width:22ch;margin:.7rem 0 1.4rem}
.byline{display:flex;align-items:center;gap:1rem;color:var(--text-secondary);font-size:.9rem}
.byline .meta{font:600 .66rem/1.6 var(--body);letter-spacing:.18em;text-transform:uppercase}
.article{padding:clamp(56px,7vw,96px) 0}
.article .prose{max-width:68ch;margin-inline:auto;font-size:1.1rem;line-height:1.75}
.article .prose h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05;margin:2.4em 0 .7em}
.article .prose h3{font:600 .95rem/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;margin:2em 0 .6em}
.article .prose p{margin:0 0 1.3em}
.article .prose blockquote{margin:2em 0;padding:.4em 0 .4em 1.4em;border-left:2px solid var(--paper-ink);font-family:var(--display);text-transform:uppercase;font-size:1.5rem;line-height:1.15}
.article .prose ul,.article .prose ol{padding-left:1.4em;margin:0 0 1.3em}
.article .prose a{border-bottom:1px solid rgba(2,45,61,.4)}
.article .prose a:hover{border-bottom-color:var(--paper-ink)}
.article .prose img{margin:2em 0;border-radius:2px}
/* assinatura fixa no fim de todo artigo: o nome em cima, a frase da marca embaixo, um traço amarelo como selo */
.article .signature{margin:clamp(2.6rem,4.5vw,3.6rem) 0 0;padding-top:1.4rem;position:relative}
.article .signature::before{content:"";position:absolute;left:0;top:0;width:56px;height:3px;background:var(--accent)}
.article .signature .name{display:block;font:600 .68rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--paper-ink-2);margin-bottom:.55rem}
.article .signature .line{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.08;color:var(--paper-ink);max-width:22ch}
.article .prose figure{margin:2em 0}
.article .prose figure img{margin:0;width:100%;height:auto}
.article .prose figure.cover{margin:0 0 2.4em}
.article .prose figcaption{margin-top:.6em;font-size:.85rem;color:var(--paper-ink-2)}
.video-embed{position:relative;aspect-ratio:16/9;background:var(--canvas-deep);margin:2em 0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-embed .btn{position:relative;z-index:1}
.article-foot{border-top:1px solid rgba(2,45,61,.18);margin-top:3rem;padding-top:2rem}

/* ---------- Footer ---------- */
.footer{background:var(--canvas-deep);border-top:1px solid var(--line);padding:clamp(56px,7vw,88px) 0 2.4rem;color:var(--text-secondary);font-size:.92rem}
.footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.4rem}
.footer .brand-block img{width:220px;height:auto;margin-bottom:1rem}
.footer .brand-block p{max-width:30ch;margin:0}
.footer h4{font:600 .68rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--aqua);margin-bottom:1.1rem}
.footer ul{display:grid;gap:.55rem}
.footer a{transition:color .3s}
.footer a:hover{color:var(--text-primary)}
.footer .social{display:flex;gap:.6rem}
.footer .social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--text-secondary)}
.footer .social a:hover{border-color:var(--aqua);color:var(--text-primary)}
.footer .social svg{width:18px;height:18px}
.footer .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.6rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.8rem}
@media (max-width:900px){.footer .grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer .grid{grid-template-columns:1fr}}

/* ---------- Home hero (scroll scrub) ---------- */
.hero{position:relative;height:520vh;background:var(--canvas-deep);z-index:1}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--canvas-deep)}
.stage .poster,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stage .poster{background-size:cover;background-position:center;background-color:var(--canvas-deep)}
.stage video{opacity:0;transition:opacity .9s var(--ease-out);will-change:transform;transform:translateZ(0);pointer-events:none}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(1,16,24,0) 35%,rgba(1,16,24,.58) 100%)}
.ring{position:absolute;left:50%;bottom:34px;width:34px;height:34px;margin-left:-17px;color:var(--aqua);opacity:.9;transition:opacity .4s}
.ring circle{transition:stroke-dashoffset .12s linear}
.stage.video-ready .ring{opacity:0}
.cue{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font:600 clamp(.82rem,1.05vw,.98rem)/1 var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--text-primary);text-shadow:var(--tshadow);opacity:0;transition:opacity .6s var(--ease-out);pointer-events:none;white-space:nowrap}
.cue::after{content:"";width:1.5px;height:46px;background:linear-gradient(to bottom,var(--accent),transparent);animation:cueDrop 2.2s var(--ease-in-out) infinite}
@keyframes cueDrop{0%{transform:scaleY(.3);transform-origin:top;opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.stage.cue-on .cue{opacity:1}
.stage.video-ready .cue{bottom:34px}
.band{position:absolute;opacity:0;text-shadow:var(--tshadow);pointer-events:none}
.band .btn{pointer-events:auto}
.band::before{content:"";position:absolute;inset:-6% -10%;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 74% 62% at 50% 50%,rgba(1,16,24,.62) 0%,rgba(1,16,24,.42) 46%,rgba(1,16,24,0) 76%);z-index:-1}
.band-1{left:50%;top:50%;transform:translate(-50%,-52%);width:min(92vw,980px);text-align:center}
.band-1::before{inset:-34% -22%;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(1,16,24,.76) 0%,rgba(1,16,24,.62) 38%,rgba(1,16,24,.3) 70%,rgba(1,16,24,0) 100%)}
/* the seam veil: the hairline of light is dimmed only where the headline crosses it, fading out above and below */
.band-1::after{content:"";position:absolute;left:50%;top:-22%;bottom:-22%;width:18%;transform:translateX(-50%);pointer-events:none;z-index:-1;opacity:calc(.35 + .65*var(--k,1));background:linear-gradient(90deg,rgba(1,16,24,0) 0%,rgba(1,16,24,.9) 34%,rgba(1,16,24,.9) 66%,rgba(1,16,24,0) 100%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}
.band-1 .eyebrow{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:clamp(1.2rem,2.6vw,2rem)}
.band-1 .eyebrow .n{font:600 .78rem/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--text-primary)}
.band-1 .eyebrow .r{font:600 .66rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--aqua)}
.band-1 .headline{position:relative;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2.6rem,7.2vw,7rem);line-height:.96;letter-spacing:.005em}
.band-1 .headline .soft{position:absolute;inset:0;filter:blur(12px);opacity:calc(1 - var(--k,0));transform:scale(1.02)}
.band-1 .headline .sharp{position:relative;opacity:var(--k,0)}
.band-2{left:5%;top:50%;transform:translateY(-50%);width:min(26vw,380px)}
.band-3{right:4%;top:61%;transform:translateY(-50%);width:min(23vw,340px);text-align:right}
.band-2::before,.band-3::before{inset:-42% -40%;opacity:calc(.3 + .7*var(--k,1));background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(1,16,24,.78) 0%,rgba(1,16,24,.66) 42%,rgba(1,16,24,.38) 70%,rgba(1,16,24,0) 100%)}
.band-2::before{background-position:12% 50%}
.band-3::before{inset:-46% -46% -46% -52%;background:radial-gradient(ellipse 50% 50% at 46% 50%,rgba(1,16,24,.8) 0%,rgba(1,16,24,.7) 44%,rgba(1,16,24,.42) 72%,rgba(1,16,24,0) 100%)}
.band-2 .t,.band-3 .t{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,2.9vw,2.8rem);line-height:1.08;letter-spacing:.01em}
.band-2 .w,.band-3 .w{display:inline-block;--kc:clamp(0,calc((var(--k,0) - var(--th,0))*2.8),1);opacity:var(--kc)}
.band-2 .w{transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
.band-3 .w{transform:translateY(calc((1 - var(--kc))*-26px))}
.band-4{left:50%;top:50%;transform:translate(-50%,-50%);width:min(80vw,640px);text-align:center;color:var(--paper-ink);text-shadow:none}
.band-4::before{inset:-14% -22%;opacity:calc(.3 + .7*var(--k,1));background:radial-gradient(ellipse 64% 60% at 50% 50%,rgba(244,241,232,.72) 0%,rgba(244,241,232,.5) 40%,rgba(244,241,232,0) 74%)}
.band-4 .t{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(1.35rem,2.4vw,2.2rem);line-height:1.1;letter-spacing:.01em;margin:0 auto 1.8rem;max-width:26ch}
.band-4 .w{display:inline-block;--kc:clamp(0,calc((var(--k,0) - var(--th,0))*3),1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*18px))}
.band-4 .cta-row{--kb:clamp(0,calc((var(--k,0) - .7)*4),1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*12px));justify-content:center}
.band-4 .btn-ghost{color:var(--paper-ink);border-color:rgba(2,45,61,.5)}
.band-4 .btn-ghost:hover{background:rgba(2,45,61,.08);border-color:var(--paper-ink)}
.band-4 .btn-primary{box-shadow:0 12px 30px -12px rgba(2,45,61,.5)}
@media (max-width:1100px){.band-2,.band-3{width:min(42vw,440px)}}
@media (max-height:620px){.cue,.ring{display:none}.band-1 .headline{font-size:clamp(2.2rem,6vw,4.6rem)}}

/* ---------- Static hero (the five gates, identical in JS) ---------- */
.hero-static{display:none;position:relative;min-height:100vh;min-height:100svh;padding:calc(var(--nav-h) + 48px) 0 56px;background:var(--canvas-deep) url(/assets/video/hero-static.jpg) center/cover no-repeat;overflow:hidden}
.hero-static::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(1,16,24,.35),rgba(1,16,24,.72) 65%,rgba(1,32,44,.96))}
.hero-static .wrap{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:calc(100svh - var(--nav-h) - 104px);gap:1.4rem}
.hero-static .eyebrow{display:flex;flex-direction:column;gap:.45rem}
.hero-static .eyebrow .n{font:600 .76rem/1 var(--body);letter-spacing:.3em;text-transform:uppercase}
.hero-static .eyebrow .r{font:600 .64rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--aqua)}
.hero-static .h1{font-size:clamp(2.6rem,11vw,4.6rem);text-shadow:var(--tshadow)}
.hero-static .lede{color:var(--text-primary);font-size:1.05rem;text-shadow:0 1px 8px rgba(1,16,24,.8)}
.hero-static .lede p{margin:0 0 .8em}
.hero-static .seam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(to bottom,transparent,rgba(244,241,232,.9) 30%,rgba(244,241,232,.9) 70%,transparent);opacity:.75;animation:seamPulse 5s var(--ease-in-out) -1s infinite;pointer-events:none}
@keyframes seamPulse{0%,100%{opacity:.55;filter:blur(0)}50%{opacity:.95;filter:blur(.6px)}}
@media (max-width:720px),(orientation:portrait) and (max-width:1024px),(orientation:portrait) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-height:560px),(prefers-reduced-motion:reduce){
  .hero{display:none}
  .hero-static{display:block}
}

/* ---------- 404 ---------- */
.notfound{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(var(--nav-h) + 40px) 0 60px}
.notfound img{width:220px;margin:0 auto 2rem}

/* ---------- Paused when hidden ---------- */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* ---------- Reduced motion, honored completely ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js main,.js .footer{opacity:1}
  .reveal .part,.reveal .part.from-left,.reveal .part.from-right{opacity:1;transform:none}
  .reveal-each .part{opacity:1;transform:none}
  .tear-wrap .steps-words span,.tear-wrap .after .part{opacity:1;transform:none}
  .tear-panel{--p:1}
  .tear-panel video.scrub{display:none}
  .logo-strip .track{width:auto;flex-wrap:wrap;gap:1.6rem var(--gap)}
  .logo-strip .track li{padding-right:0}
  .logo-strip .track li[aria-hidden]{display:none}
  .logo-strip .track-clip{-webkit-mask-image:none;mask-image:none}
  .menu a{opacity:1;transform:none}
  .photo.parallax img{transform:none!important}
  .env::before{transform:none}
}
