/* Fillipe Carvalho · escritor e palestrante
   Direção: editorial urbano. Fotografia ampla em P&B, títulos condensados de grande presença,
   linhas finas, grid assimétrico, alternância de seções carvão e branco quente; acento azul marinho acinzentado. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin-wdth-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-latin-400-italic.woff2) format('woff2')}
:root{
  color-scheme:dark;
  --ink:#111111;
  --ink-2:#1a1a1a;
  --paper:#f5f3ef;
  --paper-2:#ebe8e2;
  --navy:#283746;
  --navy-d:#1c2733;
  --navy-l:#a4b4c4;
  --gray:#5f5e5a;
  --gray-d:#9a9893;
  --line-l:rgba(17,17,17,.16);
  --line-d:rgba(245,243,239,.16);
  --ok:#2f6b4f;
  --err:#b3261e;
  --sans:'Archivo','Helvetica Neue',Arial,ui-sans-serif,system-ui,sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --pad:clamp(20px,4.4vw,72px);
  --gap:clamp(88px,11vw,176px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
html,body{background:var(--ink);color:var(--paper)}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.6;font-stretch:100%;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--navy-l);outline-offset:4px}
.light :focus-visible,.light-sec :focus-visible{outline-color:var(--navy)}
::selection{background:var(--navy);color:var(--paper)}
.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}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--paper);color:var(--ink);padding:10px 16px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}

/* tipografia */
.tag{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;display:inline-flex;align-items:center;gap:12px}
.tag::before{content:"";width:28px;height:1px;background:currentColor;opacity:.55}
.tag.plain::before{display:none}
.disp{font-family:var(--sans);font-weight:800;font-stretch:70%;text-transform:uppercase;line-height:.9;letter-spacing:-.005em;text-wrap:balance}
.disp em,.it{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;font-stretch:100%;letter-spacing:-.01em}
.h-hero{font-size:clamp(52px,8.6vw,156px)}
.h-xl{font-size:clamp(46px,7vw,124px)}
.h-l{font-size:clamp(38px,5.2vw,92px)}
.h-m{font-size:clamp(30px,3.4vw,56px)}
.h-s{font-size:clamp(24px,2.2vw,34px)}
.lead{font-size:clamp(19px,1.55vw,23px);line-height:1.5;max-width:40ch}
.body{max-width:60ch}
.body p+p{margin-top:1em}
.muted{color:var(--gray-d)}
.light .muted,.light-sec .muted{color:var(--gray)}

/* seções */
.wrap{padding-inline:var(--pad)}
.sec{padding-block:var(--gap);position:relative}
.light-sec{background:var(--paper);color:var(--ink)}
.light-sec ::selection{color:var(--paper)}
.navy-sec{background:var(--navy);color:var(--paper)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px)}
.rule{border:0;border-top:1px solid var(--line-d);margin:0}
.light-sec .rule{border-top-color:var(--line-l)}

/* botões e links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:16px;text-decoration:none;white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-p{background:var(--paper);color:var(--ink)}
.btn-p:hover{background:var(--navy-l)}
.light-sec .btn-p,.btn-ink{background:var(--ink);color:var(--paper)}
.light-sec .btn-p:hover,.btn-ink:hover{background:var(--navy)}
.btn-o{border-color:currentColor;background:transparent}
.btn-o:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.light-sec .btn-o:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.lnk{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:4px;transition:background-size .35s var(--ease)}
.lnk:hover{background-size:0 1px;background-position:100% 100%}
.lnk svg{width:14px;height:14px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}

/* estado comercial */
.state{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:7px 12px}
.state i{width:7px;height:7px;border-radius:50%;background:currentColor}

/* cabeçalho */
.hdr{position:fixed;inset:0 0 auto;z-index:60;padding:calc(16px + env(safe-area-inset-top,0px)) var(--pad) 16px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:background .35s,padding .35s,transform .45s var(--ease),border-color .35s;border-bottom:1px solid transparent;color:var(--paper)}
.hdr.solid{background:rgba(17,17,17,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-block:calc(10px + env(safe-area-inset-top,0px)) 10px;border-bottom-color:var(--line-d)}
.hdr.hide{transform:translateY(-110%)}
.hdr.always{background:rgba(17,17,17,.94)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1}
.brand b{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:22px;letter-spacing:.01em}
.brand span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-d);border-left:1px solid var(--line-d);padding-left:12px}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px)}
.nav a{font-size:14px;font-weight:500;text-decoration:none;position:relative;padding-block:6px}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.cart-l{display:inline-flex;align-items:center;gap:6px}
.cart-l svg{width:20px;height:20px}
.cart-l b{font-size:11px;min-width:18px;height:18px;border-radius:9px;background:var(--paper);color:var(--ink);display:grid;place-items:center;padding:0 5px}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-d);background:none;place-items:center}
.burger i{display:block;width:16px;height:1px;background:currentColor;box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor}
@media (max-width:860px){.nav{display:none}.burger{display:grid}.brand span{display:none}}
.mnav{position:fixed;inset:0;z-index:90;background:var(--ink);padding:calc(18px + env(safe-area-inset-top,0px)) var(--pad) calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:40px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.mnav.open{opacity:1;visibility:visible}
.mnav .top{display:flex;justify-content:space-between;align-items:center}
.mnav nav{display:grid;gap:6px}
.mnav nav a{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(44px,13vw,80px);line-height:1;text-decoration:none}
.mnav nav a[aria-current="page"]{color:var(--navy-l)}
.mnav .foot{margin-top:auto;display:grid;gap:8px;color:var(--gray-d);font-size:15px}
.mnav .foot a{text-decoration:none}
.x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-d);background:none;display:grid;place-items:center}

/* revelação suave (só com JS e sem movimento reduzido) */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;transition:none}}

/* ---------- HOME: abertura ---------- */
.hero{position:relative;min-height:max(640px,100svh);overflow:hidden;background:#05080b;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:end;padding:calc(120px + env(safe-area-inset-top,0px)) var(--pad) clamp(40px,6vh,72px)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(17,17,17,.92));z-index:1;pointer-events:none}
.hero .portrait{position:absolute;right:0;bottom:0;top:0;width:min(58vw,880px);z-index:1;pointer-events:none}
.hero .portrait img{width:100%;height:100%;object-fit:cover;object-position:62% 14%;mix-blend-mode:lighten;filter:contrast(1.08) brightness(1.02);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%),linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(180deg,#000 70%,transparent 100%);mask-composite:intersect}
.hero .copy{grid-column:1/8;position:relative;z-index:2;display:grid;gap:28px}
.hero .copy .tag{color:var(--navy-l)}
.hero h1{font-size:clamp(50px,7.4vw,136px)}
.hero h1 .l2{display:block}
.hero h1 em{color:var(--navy-l)}
.hero .lead{color:rgba(245,243,239,.86);max-width:44ch}
.hero .sub-l{color:rgba(245,243,239,.78);font-weight:500}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:calc(96px + env(safe-area-inset-top,0px));min-height:0;align-items:start}
  .hero .portrait{position:relative;width:auto;margin:0 calc(var(--pad) * -1);height:min(108vw,560px);top:auto;grid-row:1}
  .hero .portrait img{object-position:50% 12%;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%)}
  .hero .copy{grid-column:1;grid-row:2;margin-top:-64px}
}

/* variante: oceano separado */
.ocean{position:relative;height:100svh;min-height:560px;overflow:hidden;background:#000;display:grid;place-items:center;text-align:center;padding:0 var(--pad)}
.ocean canvas{position:absolute;inset:0;width:100%;height:100%}
.ocean .in-c{position:relative;z-index:2;display:grid;gap:18px;justify-items:center}
.ocean .in-c .tag{color:rgba(245,243,239,.7)}
.ocean .in-c .disp{font-size:clamp(50px,8vw,140px)}
.ocean .in-c .disp em{display:block;color:var(--navy-l)}
.ocean .cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,243,239,.6);display:grid;justify-items:center;gap:10px}
.ocean .cue i{width:1px;height:40px;background:rgba(245,243,239,.35)}
.hero.plain{background:var(--ink)}
.hero.plain .portrait img{mix-blend-mode:normal}

/* convicções */
.conv .grid{row-gap:56px}
.conv h2{grid-column:1/8}
.conv .body{grid-column:8/13;align-self:end}
.pillars{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-l)}
.pillars li{padding:32px clamp(16px,2vw,32px) 8px 0;display:grid;gap:14px;align-content:start}
.pillars li+li{padding-left:clamp(16px,2vw,32px);border-left:1px solid var(--line-l)}
.pillars .n{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--gray)}
.pillars h3{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(30px,3vw,48px);line-height:.95}
.pillars p{color:var(--gray);max-width:30ch}
@media (max-width:900px){.conv h2,.conv .body{grid-column:1/-1}.pillars{grid-template-columns:1fr}.pillars li+li{padding-left:0;border-left:0;border-top:1px solid var(--line-l)}}

/* história */
.story .grid{row-gap:56px;align-items:start}
.story figure{grid-column:1/6;position:relative}
.story figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%}
.story figcaption{margin-top:12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-d)}
.story .txt{grid-column:7/13;display:grid;gap:28px}
.story .quote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.3vw,34px);line-height:1.25;color:var(--navy-l);max-width:30ch}
.story details{border-top:1px solid var(--line-d);padding-top:20px}
.story summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:12px;font-weight:600}
.story summary::-webkit-details-marker{display:none}
.story summary i{width:28px;height:28px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;position:relative}
.story summary i::before,.story summary i::after{content:"";position:absolute;width:10px;height:1px;background:currentColor}
.story summary i::after{transform:rotate(90deg);transition:transform .3s var(--ease)}
.story details[open] summary i::after{transform:rotate(0)}
.story details .more{display:grid;gap:16px;margin-top:20px;color:rgba(245,243,239,.82)}
.marcos{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-d)}
.marcos li{padding:24px 16px 0 0;display:grid;gap:8px;position:relative}
.marcos li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--navy-l)}
.marcos b{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(22px,1.9vw,30px);line-height:1}
.marcos span{font-size:14px;color:var(--gray-d);max-width:22ch}
@media (max-width:900px){.story figure,.story .txt{grid-column:1/-1}.marcos{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:520px){.marcos{grid-template-columns:1fr}}

/* livro em destaque */
.feat .grid{align-items:center;row-gap:48px}
.feat .cover-wrap{grid-column:1/6;position:relative;background:var(--paper-2);padding:clamp(28px,5vw,72px);display:grid;place-items:center}
.cover{width:min(100%,360px);aspect-ratio:2/3;box-shadow:0 30px 60px -20px rgba(17,17,17,.45),0 8px 18px -8px rgba(17,17,17,.3);overflow:hidden;transform:rotate(-2deg);transition:transform .6s var(--ease)}
.cover:hover{transform:rotate(0) translateY(-6px)}
.cover img{width:100%;height:100%;object-fit:cover}
.feat .txt{grid-column:7/13;display:grid;gap:24px}
.feat .sub{font-size:clamp(19px,1.5vw,22px);font-weight:500;max-width:34ch}
@media (max-width:900px){.feat .cover-wrap,.feat .txt{grid-column:1/-1}}

/* palestras (bloco na home) */
.talk-band{position:relative;min-height:min(92svh,860px);display:grid;align-items:end;overflow:hidden;padding:var(--gap) var(--pad) clamp(48px,7vw,96px)}
.talk-band img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 20%;z-index:0;opacity:.62}
.talk-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.7) 45%,rgba(17,17,17,.15) 100%);z-index:1}
.talk-band .c{position:relative;z-index:2;display:grid;gap:28px;max-width:760px}
@media (max-width:760px){.talk-band::before{background:linear-gradient(180deg,rgba(17,17,17,.3) 0%,rgba(17,17,17,.94) 60%)}}

/* nectare */
.nect{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px clamp(32px,4vw,64px);align-items:center;border:1px solid var(--line-d);padding:clamp(28px,4vw,56px)}
.nect svg.sym{width:clamp(56px,6vw,84px);height:auto;color:var(--navy-l)}
.nect .t{display:grid;gap:14px}
@media (max-width:860px){.nect{grid-template-columns:1fr}}

/* captura */
.cap .grid{row-gap:40px;align-items:end}
.cap h2{grid-column:1/7}
.cap .cap-f{grid-column:7/13;display:grid;gap:28px}
@media (max-width:900px){.cap h2,.cap .cap-f{grid-column:1/-1}}

/* formulários */
.form{display:grid;gap:20px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:620px){.form .row{grid-template-columns:1fr}}
.fld{display:grid;gap:8px;min-width:0}
.fld label,.fld legend{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.fld .opt{font-weight:400;letter-spacing:0;text-transform:none;opacity:.7}
.fld input,.fld select,.fld textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-d);padding:10px 0 12px;font-size:18px;border-radius:0;color:inherit;appearance:none;-webkit-appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
.fld select option{color:var(--ink)}
.fld textarea{min-height:140px;resize:vertical;border:1px solid var(--line-d);padding:14px}
.light-sec .fld input,.light-sec .fld select,.light-sec .fld textarea{border-color:var(--line-l)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--navy-l)}
.light-sec .fld input:focus,.light-sec .fld select:focus,.light-sec .fld textarea:focus{border-color:var(--navy)}
.fld.err input,.fld.err select,.fld.err textarea{border-color:#e0675f}
.light-sec .fld.err input,.light-sec .fld.err select,.light-sec .fld.err textarea{border-color:var(--err)}
.fld .hint{font-size:13px;opacity:.75}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}
.chk input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1px solid currentColor;border-radius:4px;flex:none;margin-top:1px;display:grid;place-items:center;background:transparent}
.chk input:checked{background:currentColor}
.chk input:checked::after{content:"";width:10px;height:6px;border:2px solid var(--ink);border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.light-sec .chk input:checked::after{border-color:var(--paper)}
.navy-sec .chk input:checked::after{border-color:var(--navy)}
.chk.err{color:#ffb4ad}
.light-sec .chk.err{color:var(--err)}
.chk a{text-decoration:underline;text-underline-offset:3px}
.consent{font-size:13px;line-height:1.55;opacity:.78;max-width:64ch}
.consent a{text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg{font-size:15px;line-height:1.5;padding:16px 18px;border:1px solid currentColor;display:none}
.fmsg.show{display:block}
.fmsg.ok{color:#bfe3cf}
.light-sec .fmsg.ok{color:var(--ok)}
.fmsg.bad{color:#ffb4ad}
.light-sec .fmsg.bad{color:var(--err)}
.fmsg b{font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill-r{position:relative}
.pill-r input{position:absolute;opacity:0;pointer-events:none}
.pill-r label{display:inline-flex;align-items:center;border:1px solid var(--line-d);border-radius:999px;padding:10px 16px;font-size:15px;cursor:pointer;transition:background .25s,color .25s,border-color .25s;letter-spacing:0;text-transform:none;font-weight:500}
.light-sec .pill-r label{border-color:var(--line-l)}
.pill-r input:checked+label{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.light-sec .pill-r input:checked+label{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pill-r input:focus-visible+label{outline:2px solid var(--navy-l);outline-offset:3px}
fieldset{border:0;padding:0;margin:0;min-width:0}

/* rodapé */
.ftr{border-top:1px solid var(--line-d);padding:clamp(56px,7vw,96px) var(--pad) calc(32px + env(safe-area-inset-bottom,0px));display:grid;gap:56px}
.ftr .cols{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}
.ftr .who b{display:block;font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(34px,4vw,56px);line-height:.9}
.ftr .who span{display:block;margin-top:12px;color:var(--gray-d);font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.ftr h2{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-d);margin-bottom:14px}
.ftr ul{display:grid;gap:8px}
.ftr a{text-decoration:none}
.ftr a:hover{text-decoration:underline;text-underline-offset:4px}
.ftr .base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--gray-d);border-top:1px solid var(--line-d);padding-top:24px}
@media (max-width:860px){.ftr .cols{grid-template-columns:1fr 1fr}.ftr .who{grid-column:1/-1}}

/* páginas internas */
.page-head{padding:calc(150px + env(safe-area-inset-top,0px)) var(--pad) clamp(56px,7vw,104px);display:grid;gap:28px;border-bottom:1px solid var(--line-d)}
.page-head .lead{color:rgba(245,243,239,.82)}
.crumbs{font-size:13px;color:var(--gray-d)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.6}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* catálogo */
.cat{display:grid;gap:clamp(56px,7vw,104px)}
.book-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:32px;align-items:center;padding-bottom:clamp(56px,7vw,104px);border-bottom:1px solid var(--line-l)}
.book-row:last-child{border-bottom:0;padding-bottom:0}
.book-row .cv{grid-column:1/5;background:var(--paper-2);padding:clamp(24px,4vw,56px);display:grid;place-items:center}
.book-row .cv a{display:block;width:min(100%,300px)}
.book-row .tx{grid-column:6/13;display:grid;gap:20px}
.book-row .meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14px;color:var(--gray)}
.book-row.dev .cv{background:transparent;border:1px dashed var(--line-l)}
.ghost-cover{width:min(100%,260px);aspect-ratio:2/3;border:1px solid var(--line-l);display:grid;align-content:space-between;padding:22px;background:var(--paper)}
.ghost-cover b{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(28px,3vw,40px);line-height:.9}
.ghost-cover span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
@media (max-width:860px){.book-row .cv,.book-row .tx{grid-column:1/-1}}
.notify{display:grid;gap:14px;max-width:520px}
.notify .row2{display:flex;gap:10px;flex-wrap:wrap}
.notify .row2 .fld{flex:1 1 220px}

/* página do livro */
.bk-top{padding-top:calc(124px + env(safe-area-inset-top,0px))}
.bk-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:40px;align-items:start;padding-block:clamp(40px,5vw,72px) var(--gap)}
.bk-hero .cv{grid-column:1/6;position:sticky;top:110px;background:var(--paper-2);padding:clamp(28px,5vw,72px);display:grid;place-items:center}
.bk-hero .cv .cover{transform:none}
.bk-hero .tx{grid-column:7/13;display:grid;gap:24px}
.bk-hero .sub{font-size:clamp(20px,1.7vw,24px);font-weight:500;line-height:1.4}
.bk-hero .hook{font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.4vw,36px);line-height:1.2;color:var(--navy);border-left:2px solid var(--navy);padding-left:20px}
.buy{display:grid;gap:18px;border-top:1px solid var(--line-l);padding-top:24px}
.buy>.state,.actions>.state{justify-self:start}
.fmt{display:flex;flex-wrap:wrap;gap:8px}
.price{font-weight:800;font-stretch:80%;font-size:34px}
@media (max-width:900px){.bk-hero .cv{position:relative;top:auto}.bk-hero .cv,.bk-hero .tx{grid-column:1/-1}}
.bk-sec{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:28px;padding-block:clamp(56px,7vw,104px);border-top:1px solid var(--line-l)}
.bk-sec>h2{grid-column:1/5}
.bk-sec>.c{grid-column:6/13;display:grid;gap:18px}
@media (max-width:900px){.bk-sec>h2,.bk-sec>.c{grid-column:1/-1}}
.list-n{display:grid;border-top:1px solid var(--line-l)}
.list-n li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding-block:18px;border-bottom:1px solid var(--line-l);font-size:clamp(18px,1.5vw,21px);line-height:1.45}
.list-n li span{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--gray);padding-top:5px}
.dl{display:grid;grid-template-columns:auto 1fr;gap:10px 32px}
.dl dt{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);padding-top:3px}
.dl dd{margin:0}
.faq details{border-bottom:1px solid var(--line-l);padding-block:18px}
.faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--gray);max-width:62ch}

/* palestras */
.ph{position:relative;min-height:min(100svh,920px);display:grid;align-items:end;padding:calc(140px + env(safe-area-inset-top,0px)) var(--pad) clamp(48px,7vw,96px);overflow:hidden}
.ph img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 18%;opacity:.7}
.ph::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.96) 0%,rgba(17,17,17,.75) 46%,rgba(17,17,17,.1) 100%);z-index:1}
.ph .c{position:relative;z-index:2;display:grid;gap:28px;max-width:820px}
@media (max-width:760px){.ph::before{background:linear-gradient(180deg,rgba(17,17,17,.25) 0%,rgba(17,17,17,.95) 62%)}}
.themes{display:grid;border-top:1px solid var(--line-l)}
.theme{display:grid;grid-template-columns:72px minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start;padding-block:clamp(28px,3.4vw,48px);border-bottom:1px solid var(--line-l)}
.theme .n{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--gray);padding-top:10px}
.theme h3{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(32px,3.8vw,64px);line-height:.92}
.theme p{color:var(--gray);font-size:18px;max-width:42ch;padding-top:6px}
@media (max-width:860px){.theme{grid-template-columns:40px minmax(0,1fr)}.theme p{grid-column:2}}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.cols3>div{border-top:1px solid var(--line-d);padding-top:24px;display:grid;gap:12px;align-content:start}
.light-sec .cols3>div{border-top-color:var(--line-l)}
.cols3 h3{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(24px,2.2vw,34px);line-height:1}
@media (max-width:860px){.cols3{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:40px;align-items:start}
.split .a{grid-column:1/6}
.split .b{grid-column:7/13}
@media (max-width:900px){.split .a,.split .b{grid-column:1/-1}}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%}

/* carrinho */
.cart{display:grid;gap:24px}
.cart-item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:1px solid var(--line-l);padding-bottom:20px}
.cart-item img{width:88px;aspect-ratio:2/3;object-fit:cover}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-l);border-radius:999px}
.qty button{width:36px;height:36px;border:0;background:none}
.qty span{min-width:28px;text-align:center}
.totals{display:grid;gap:8px;justify-items:end}
.closed{display:grid;gap:20px;max-width:640px}

/* prévia: pendências visíveis apenas no ambiente de revisão */
.pv-bar{position:relative;z-index:70;background:#e9d36b;color:#111;font-size:13px;padding:8px var(--pad);display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center}
.pv-bar a{font-weight:600}
.pv-bar+.hdr{top:34px}
@media (max-width:640px){.pv-bar+.hdr{top:52px}}
.pend{border:1px dashed currentColor;padding:16px 18px;font-size:14px;line-height:1.5;opacity:.85;display:grid;gap:6px}
.pend b{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.pv-table{width:100%;border-collapse:collapse;font-size:15px}
.pv-table th,.pv-table td{text-align:left;padding:12px 12px 12px 0;border-bottom:1px solid var(--line-l);vertical-align:top}
.pv-table th{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
.tbl-wrap{overflow-x:auto}
.legal{max-width:72ch;display:grid;gap:18px}
.legal h2{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(24px,2.4vw,34px);line-height:1;margin-top:24px}
.legal ul{list-style:disc;padding-left:20px;display:grid;gap:6px}

/* ---------- movimento contido (um efeito por seção) ---------- */
.progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--navy-l);transform-origin:0 50%;transform:scaleX(0);z-index:95;pointer-events:none}
.conv .body{display:grid;gap:18px;align-content:end}
.conv .body .lnk{justify-self:start;margin-top:8px}
.story .txt>.lnk{justify-self:start}
.clip{overflow:hidden;position:relative}
.clip img{will-change:transform}
[data-par]{transform:scale(1.1)}
.mk{transition:clip-path 1.3s cubic-bezier(.77,0,.18,1)}
.js .mk:not(.in){clip-path:inset(0 0 100% 0)}
.js .mk.in{clip-path:inset(0 0 0 0)}
.hero .portrait img{transition:transform 1.2s var(--ease)}
.cover[data-tilt]{transform-style:preserve-3d;will-change:transform}
.cover-wrap,.book-row .cv,.bk-hero .cv{perspective:1200px}
.js [data-words] .w{color:#c9c6bf;transition:color .45s ease}
.js [data-words] .w.on{color:var(--ink)}
.js [data-words] em .w{color:#b9c4cf}
.js [data-words] em .w.on{color:var(--navy)}
.light-sec .disp em{color:var(--navy)}
.theme{position:relative;isolation:isolate;padding-inline:0;transition:color .4s var(--ease),padding .5s var(--ease)}
.theme::before{content:"";position:absolute;inset:0 calc(var(--pad) * -1);background:var(--navy);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--ease);z-index:-1}
@media (hover:hover){.theme:hover{color:var(--paper)}.theme:hover::before{transform:scaleY(1);transform-origin:top}.theme:hover p,.theme:hover .n{color:rgba(245,243,239,.82)}.theme:hover h3{transform:translateX(12px)}}
.theme h3{transition:transform .55s var(--ease)}
.mag{transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .4s var(--ease)}
@media (prefers-reduced-motion:reduce){.js .mk:not(.in){clip-path:none}[data-par]{transform:none!important}.js [data-words] .w{color:inherit}.theme::before{display:none}}

/* ---------- caminhos (cartões que se expandem) ---------- */
.phead{display:grid;gap:24px;margin-bottom:clamp(40px,5vw,72px)}
.phead h2{max-width:22ch}
.paths{display:flex;gap:12px;height:min(76svh,700px)}
.pcard{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--ink-2);transition:flex .9s var(--ease);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,2vw,32px);isolation:isolate;text-decoration:none;color:var(--paper)}
.paths:hover .pcard{flex:.8}
.paths .pcard:hover,.paths .pcard:focus-visible{flex:2.4}
.pcard .bg{position:absolute;inset:0;z-index:-1}
.pcard .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1) brightness(.5);transform:scale(1.06);transition:transform 1.2s var(--ease),filter .8s var(--ease)}
.pcard:hover .bg img{transform:scale(1);filter:grayscale(1) brightness(.64)}
.pcard .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.15),rgba(17,17,17,.85))}
.pcard.navy{background:var(--navy)}
.pcard .n{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pcard .arw{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,243,239,.4);display:grid;place-items:center;transition:background .35s,border-color .35s,transform .5s var(--ease)}
.pcard .arw svg{width:14px;height:14px}
.pcard:hover .arw{background:var(--paper);color:var(--ink);border-color:var(--paper);transform:rotate(-45deg)}
.pcard.navy:hover .arw{transform:none}
.pcard h3{font-weight:800;font-stretch:70%;text-transform:uppercase;font-size:clamp(32px,3.4vw,60px);line-height:.92}
.pcard p{font-size:16px;color:rgba(245,243,239,.78);max-width:26ch;margin-top:12px;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.pcard .tagx{display:inline-block;margin-top:12px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(245,243,239,.4);border-radius:999px;padding:6px 10px}
.pcard .bird{position:absolute;right:-8%;top:16%;width:60%;color:rgba(17,17,17,.55);z-index:-1;transition:transform 1.1s var(--ease)}
.pcard.navy:hover .bird{transform:translate(-5%,-4%) rotate(-6deg)}
@media (min-width:901px) and (hover:hover){.js .paths:not(:hover) .pcard p{opacity:0;transform:translateY(8px)}.js .paths .pcard:hover p{opacity:1;transform:none}}
@media (max-width:900px){.paths{flex-direction:column;height:auto}.pcard{min-height:280px}.paths:hover .pcard,.paths .pcard:hover{flex:1}}

/* ---------- colagem e papéis (história) ---------- */
.story figure.collage{grid-column:1/6;position:relative;padding-bottom:24%;margin:0}
.collage .p1{position:relative;width:80%;aspect-ratio:9/14}
.collage .p2{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:2/3;border:10px solid var(--ink)}
.collage img{width:100%;height:100%;object-fit:cover}
.story figure.collage img{aspect-ratio:auto}
.collage .p1 img{object-position:50% 40%}
.collage .p2 img{object-position:50% 15%}
.collage figcaption{position:absolute;left:16px;bottom:16px;margin:0;max-width:60%;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);z-index:2}
.roles{display:flex;flex-wrap:wrap;gap:8px}
.roles li{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-d);border-radius:999px;padding:8px 14px}
.roles li.b{background:var(--navy);border-color:var(--navy)}
@media (max-width:900px){.story figure.collage{grid-column:1/-1}}

/* ---------- comunidade + nectare ---------- */
.duo-sec{background:var(--paper-2);padding-block:clamp(16px,2vw,24px);padding-inline:clamp(16px,2vw,24px)}
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:0}
@media (max-width:900px){.duo{grid-template-columns:1fr}}
.cbox{padding:clamp(28px,4vw,64px);display:grid;gap:24px;align-content:start;min-height:min(72svh,680px);position:relative;overflow:hidden;min-width:0}
.cbox.dark{background:var(--ink);color:var(--paper)}
.cbox .ghost{position:absolute;right:-6%;bottom:-10%;width:44%;color:var(--paper-2);z-index:0;transition:transform 1.3s var(--ease);pointer-events:none}
.cbox.dark .ghost{color:var(--ink-2)}
.cbox:hover .ghost{transform:translate(-4%,-4%) rotate(-6deg)}
.cbox>*{position:relative;z-index:1}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--navy);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.6);opacity:.4}}
.nectmark{font-weight:800;font-stretch:100%;font-size:clamp(40px,5vw,84px);letter-spacing:.02em;text-transform:uppercase;line-height:.9}
.cbox .actions{margin-top:8px}

/* ---------- fechamento ---------- */
.final{position:relative;overflow:hidden;padding:var(--gap) var(--pad) clamp(48px,6vw,80px);display:grid;gap:clamp(36px,4.5vw,64px)}
.final h2{font-size:clamp(54px,11vw,200px);max-width:12ch}
.final h2 em{color:var(--navy-l)}
.final .rowf{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:end}
.final .rowf .lead{max-width:36ch}
.contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-d)}
.contacts a{padding:28px 24px 28px 0;display:grid;gap:10px;border-right:1px solid var(--line-d);min-width:0;text-decoration:none;transition:color .3s}
.contacts a:last-child{border-right:0}
.contacts a+a{padding-left:24px}
.contacts a b{font-weight:500;font-size:clamp(19px,1.9vw,28px);overflow-wrap:anywhere}
.contacts a:hover{color:var(--navy-l)}
.contacts .tag{color:var(--gray-d)}
@media (max-width:760px){.contacts{grid-template-columns:1fr}.contacts a{border-right:0;border-bottom:1px solid var(--line-d);padding:22px 0!important}}
.fbirdbig{position:absolute;right:var(--pad);top:var(--gap);width:clamp(56px,7vw,120px);color:var(--navy-l)}
.fbirdbig svg{width:100%;height:auto;animation:hov 6s ease-in-out infinite}
@keyframes hov{50%{transform:translateY(-12px) rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.pcard,.pcard .bg img,.cbox .ghost{transition:none}.fbirdbig svg,.badge i{animation:none}}

/* foto de palco: enquadramento aberto (figura inteira), fundindo no preto */
.talk-band{background:#050505}
.talk-band img.bg.stage{left:auto;right:0;width:auto;max-width:none;height:100%;object-fit:contain;opacity:.92;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%);mask-image:linear-gradient(90deg,transparent 0%,#000 28%)}
@media (max-width:760px){.talk-band img.bg.stage{left:50%;right:auto;transform:translateX(-30%)!important;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}}
.ph{background:#050505}
.ph img.bg.stage{left:auto;right:0;width:auto;max-width:none;height:100%;object-fit:contain;opacity:.95;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28%);mask-image:linear-gradient(90deg,transparent 0%,#000 28%)}
@media (max-width:760px){.ph img.bg.stage{left:50%;right:auto;transform:translateX(-30%);-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}}
.bk-sec blockquote.hook{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(28px,2.8vw,44px);line-height:1.2;color:var(--navy);border-left:2px solid var(--navy);padding-left:22px;max-width:28ch}

/* compra por formato */
.fmts{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}
.fcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fcard{position:relative;display:grid}
.fcard input{position:absolute;opacity:0;pointer-events:none}
.fcard label{display:grid;gap:6px;align-content:start;padding:18px 18px 20px;border:1px solid var(--line-l);cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.fcard label b{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.fcard .fp{font-weight:800;font-stretch:80%;font-size:30px;line-height:1}
.fcard .fd{font-size:14px;line-height:1.45;color:var(--gray)}
.fcard label:hover{border-color:currentColor}
.fcard input:checked+label{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.fcard input:checked+label .fd{color:rgba(245,243,239,.72)}
.fcard input:focus-visible+label{outline:2px solid var(--navy);outline-offset:3px}
.buy{display:grid;gap:12px;justify-items:start;margin-top:8px}
.small{font-size:14px}
@media (max-width:520px){.fcards{grid-template-columns:1fr}}

/* palestras */
.theme .orig{display:block;margin-top:12px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);transition:color .4s}
@media (hover:hover){.theme:hover .orig{color:rgba(245,243,239,.72)}}
.tthemes{display:grid;gap:18px;margin-top:clamp(40px,5vw,72px)}
.chips-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips-l li{border:1px solid var(--line-l);padding:9px 16px;border-radius:999px;font-size:15px}
.deps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(40px,5vw,72px)}
.dep{margin:0;display:grid;gap:18px;align-content:space-between;border-top:1px solid var(--line-d);padding-top:24px}
.light-sec .dep{border-top-color:var(--line-l)}
.dep blockquote{margin:0;font-size:clamp(17px,1.35vw,20px);line-height:1.5}
.dep figcaption{display:grid;gap:2px}
.dep figcaption b{font-weight:700}
.dep figcaption span{font-size:13px;color:var(--gray);letter-spacing:.04em}
@media (max-width:760px){.deps{grid-template-columns:1fr}}
