/* Carolina Tomaz — estilos */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url(../fonts/Archivo-normal-100-900.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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/BarlowCondensed-normal-600.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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/BarlowCondensed-normal-800.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;
}
:root{
  --paper:#FFFFFF;
  --ink:#000000;
  --mute:#8A8A8A;
  --soft:#F2F2F2;
  --accent:#EC0C6D;          /* troque aqui a cor de destaque */
  --rule:1.6px solid var(--accent);
  --f:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --cmp:"Barlow Condensed", "Arial Narrow", sans-serif;
  --pad:clamp(10px,1.4vw,20px);
  --hh:48px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--hh);-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-stretch:100%;font-size:16px;line-height:1.35;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:300}
.skip:focus{left:8px;top:56px}

/* famílias tipográficas — a mistura é a assinatura */
.wide{font-family:var(--f);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.cond{font-family:var(--f);font-stretch:62%;font-weight:700;text-transform:uppercase}
.comp{font-family:var(--cmp);font-weight:800;text-transform:uppercase}
.lbl{font-family:var(--f);font-stretch:100%;font-weight:700;font-size:12px;letter-spacing:-.01em;text-transform:uppercase;color:var(--accent)}
.sub{font-size:15px;line-height:1.35;margin-top:6px}

/* barra fixa */
.bar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--paper);border-top:var(--rule);border-bottom:var(--rule);height:var(--hh);display:flex;justify-content:space-between;align-items:stretch}
.bar .menu-btn{font-family:var(--cmp);font-weight:800;font-size:30px;line-height:1;text-transform:uppercase;padding:4px var(--pad) 0;border-right:var(--rule);transition:color .2s}
.bar .menu-btn:hover{color:var(--accent)}
.logo{display:flex;align-items:center;gap:6px;padding:0 var(--pad);line-height:1}
.logo small{font-family:var(--f);font-weight:700;font-size:8px;letter-spacing:.02em;text-transform:uppercase;align-self:flex-start;margin-top:10px}
.logo span{font-family:var(--f);font-stretch:62%;font-weight:800;font-size:30px;text-transform:uppercase;letter-spacing:-.01em}
.logo span b{font-stretch:100%;font-weight:900}
.logo span{white-space:nowrap}
@media (max-width:520px){.logo small{display:none}.logo span{font-size:26px}.bar .menu-btn,.menu .x{font-size:26px}}

.bar-link{font-family:var(--cmp);font-weight:800;font-size:30px;line-height:1;text-transform:uppercase;padding:4px var(--pad) 0;border-left:var(--rule);display:flex;align-items:center;gap:8px;transition:color .2s,background .2s}
.bar-link:hover{background:var(--accent);color:#fff}
.bar-link span{font-size:.7em}
@media (max-width:520px){.bar-link{font-size:26px}}
/* menu em tela cheia */
.menu{position:fixed;inset:0;z-index:200;background:var(--paper);display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
.menu.open{visibility:visible;opacity:1;transition:opacity .25s}
.menu .top{height:var(--hh);border-top:var(--rule);border-bottom:var(--rule);display:flex;justify-content:space-between;align-items:stretch}
.menu .x{font-family:var(--cmp);font-weight:800;font-size:30px;text-transform:uppercase;padding:4px var(--pad) 0;border-right:var(--rule)}
.menu .x:hover{color:var(--accent)}
.menu ul{list-style:none;overflow:auto}
.menu li a{display:block;padding:10px var(--pad) 6px;border-bottom:var(--rule);font-size:clamp(40px,6vw,72px);line-height:1;transition:color .2s}
.menu li a:hover{color:var(--accent)}
.menu li:nth-child(odd) a{font-family:var(--f);font-stretch:62%;font-weight:700;text-transform:uppercase}
.menu li:nth-child(even) a{font-family:var(--f);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.4vw,54px)}

main{padding-top:var(--hh)}

/* abertura */
.hero{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--rule);height:clamp(420px,62vh,600px)}
.hero .pic{position:relative;border-right:var(--rule);overflow:hidden;background:#222;display:block;width:100%;margin:0}
.hero .pic img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.hero .pic:hover img{transform:scale(1.015)}
.hero .pic iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hero .play{position:absolute;left:0;bottom:0;background:var(--paper);border-top:var(--rule);border-right:var(--rule);padding:10px var(--pad) 8px;display:flex;align-items:center;gap:10px;color:var(--ink)}
.hero .play .lbl{font-size:12px}
.hero .play b{font-family:var(--f);font-stretch:62%;font-weight:700;font-size:22px;text-transform:uppercase;line-height:1}
.hero .txt{display:flex;flex-direction:column;justify-content:center;padding:var(--pad)}
.hero h1{margin-top:8px;line-height:.86;color:#6E1A2E}
.hero h1 .a{display:block;font-family:var(--f);font-stretch:125%;font-weight:800;font-size:clamp(36px,5.4vw,88px);letter-spacing:-.02em;text-transform:uppercase}
.hero h1 .b{display:block;font-family:var(--f);font-stretch:62%;font-weight:700;font-size:clamp(60px,9.2vw,152px);text-transform:uppercase;letter-spacing:-.01em}
.roles{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:18px;font-family:var(--cmp);font-weight:600;font-size:clamp(22px,2vw,30px);text-transform:uppercase;line-height:1.05}
.who{margin-top:10px;font-size:clamp(17px,1.4vw,21px);font-weight:600;line-height:1.3}
.quote{margin-top:40px;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(26px,2.4vw,38px);line-height:1.12;max-width:30ch}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;min-height:0;height:auto}
  .hero .pic{border-right:0;border-bottom:var(--rule);aspect-ratio:1/1}
  .hero .txt{padding-bottom:28px}
  .quote{margin-top:28px}
}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* faixa corrida */
.marquee{border-bottom:var(--rule);overflow:hidden;white-space:nowrap;padding:8px 0 4px;font-size:clamp(34px,4.2vw,60px);line-height:1}
.marquee .track{display:inline-flex;animation:run 150s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.marquee span{padding-right:.35em}
.marquee span:nth-child(odd){font-family:var(--f);font-stretch:62%;font-weight:700;text-transform:uppercase}
.marquee span:nth-child(even){font-family:var(--f);font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
@keyframes run{to{transform:translateX(-50%)}}

/* grid de células com réguas */
.cells{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:var(--rule)}
.cells.two{grid-template-columns:1fr 1fr}
.cell{padding:var(--pad);border-right:var(--rule);display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(220px,22vw,320px);transition:background .3s}
.cell:last-child{border-right:0}
.cells.two .cell:nth-child(2n){border-right:0}
.cells.two .cell:nth-child(n+3){border-top:var(--rule)}
.cell h3{font-size:clamp(30px,2.8vw,42px);line-height:1;margin-top:6px}
.cell h3.cond{font-size:clamp(38px,3.6vw,54px);line-height:.95}
.cell:hover h3{color:var(--accent)}
@media (max-width:1000px){
  .cells{grid-template-columns:1fr 1fr}
  .cells .cell:nth-child(2n){border-right:0}
  .cells .cell:nth-child(n+3){border-top:var(--rule)}
}
@media (max-width:620px){
  .cells,.cells.two{grid-template-columns:1fr}
  .cells .cell,.cells.two .cell{border-right:0;min-height:0;padding-top:64px;padding-bottom:22px}
  .cells .cell+.cell{border-top:var(--rule)}
}

/* bloco centralizado (como os horários) */
.center{text-align:center;padding:clamp(56px,7vw,100px) var(--pad);border-bottom:var(--rule)}
.center h2{font-size:clamp(30px,3.4vw,50px);line-height:1;margin:10px auto 0;max-width:22ch}
.center .tags{margin-top:18px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.center .tags i{font-style:normal;color:var(--accent);padding:0 .4em}
.center .today{margin:16px auto 0;font-size:17px;max-width:40ch}
.table{list-style:none;max-width:760px;margin:clamp(40px,5vw,64px) auto 0}
.table li{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding:2px 0}
.table .k{font-family:var(--f);font-stretch:62%;font-weight:700;font-size:clamp(28px,3vw,44px);text-transform:uppercase;line-height:1.05;text-align:left}
.table .v{font-family:var(--f);font-stretch:62%;font-weight:700;font-size:clamp(28px,3vw,44px);text-transform:uppercase;line-height:1.05;text-align:right}
.table li.past .k,.table li.past .v{color:#BDBDBD}
.table li.now .k,.table li.now .v{color:var(--accent)}
.close{margin:clamp(40px,5vw,64px) auto 0;font-size:clamp(20px,1.8vw,26px);line-height:1.25;font-weight:500;max-width:34ch}
@media (max-width:620px){.table .k,.table .v{font-size:26px}.table li{gap:12px}}

.traj-img{margin:0;border-bottom:var(--rule)}
.traj-img img{width:100%;max-height:640px;object-fit:cover}
/* cards de organizações */
.org .lbl{margin-bottom:2px}
.org h3{font-size:clamp(44px,5vw,78px)}
.org h3.cond{font-size:clamp(58px,7vw,108px)}
.org .sub{max-width:34ch}
.org .more{margin-top:14px;font-size:13px;font-weight:600;text-transform:uppercase;display:inline-flex;gap:8px;align-self:flex-start;border-bottom:var(--rule);padding-bottom:2px}
.org .more:hover{color:var(--accent)}
.org .fine{margin-top:14px;font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}

.press{padding:0}
.press .img{flex:1;overflow:hidden;background:var(--soft);padding:var(--pad) var(--pad) 0}
.press .img img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.press .cap{padding:var(--pad)}
.press:hover h3{color:var(--accent)}
.cell.press{justify-content:flex-start}

.pic-cell{padding:var(--pad);background:var(--soft);justify-content:stretch;align-items:stretch}
.pic-cell img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:40% 30%;flex:1}
.about{grid-template-columns:1fr!important}
.about ol{display:grid!important;grid-template-columns:repeat(3,1fr)}
.about li{border-right:var(--rule);min-height:clamp(220px,22vw,320px)!important}
.about li:nth-child(3){border-right:0;border-bottom:0}
.about li.end{grid-column:1/-1;border-right:0;border-top:var(--rule);min-height:0!important;padding-top:clamp(40px,5vw,72px)}
@media (max-width:860px){.about ol{grid-template-columns:1fr}.about li{border-right:0;min-height:0!important}}
.org .tagline{font-size:clamp(17px,1.4vw,20px);font-weight:700;margin-top:6px}
.org .tagline+.sub{margin-top:10px}
.press .img{position:relative}
.press-logo{position:absolute;top:calc(var(--pad) + 14px);left:calc(var(--pad) + 14px);background:#fff;padding:8px 12px}
.press .img .press-logo img{height:clamp(22px,2vw,32px);width:auto;aspect-ratio:auto;object-fit:contain}
article.cell.org{justify-content:center;align-items:center;text-align:center}
article.cell.org .more{align-self:center}
.about li{justify-content:center!important;align-items:center;text-align:center}
.about li p{margin:0 auto}
.has-wm{position:relative;overflow:hidden;isolation:isolate}
.has-wm .wm{position:absolute;top:50%;left:50%;width:auto;height:118%;max-width:none;transform:translate(-50%,-50%) rotate(-8deg);opacity:.09;z-index:-1;pointer-events:none;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.has-wm:hover .wm{transform:translate(-50%,-50%) rotate(0deg)}
.wm-wide .wm{height:auto;width:112%;opacity:.07}
@media (prefers-reduced-motion:reduce){.has-wm .wm{transition:none}}
.video-row{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr;padding:0!important;border-right:0!important;border-top:var(--rule);min-height:0}
.v-img{position:relative;background:var(--soft);padding:var(--pad);border-right:var(--rule)}
.v-img img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 30%}
.v-img .press-logo img{height:clamp(30px,2.8vw,44px);width:auto;aspect-ratio:auto;display:block}
.v-play{position:absolute;left:calc(var(--pad) + 18px);bottom:calc(var(--pad) + 18px);width:76px;height:76px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .3s}
.v-play svg{width:28px;height:28px;margin-left:4px}
.video-row:hover .v-play{transform:scale(1.08)}
.video-row:hover h3{color:var(--accent)}
.v-cap{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--pad)}
.v-cap .more{align-self:center}
@media (max-width:620px){.video-row{grid-template-columns:1fr}.v-img{border-right:0;border-bottom:var(--rule)}.v-cap{padding:40px var(--pad) 28px}}
.pic-cap{margin-top:12px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;text-align:left}
.reg{font-size:.32em;vertical-align:top;position:relative;top:.35em;margin-left:.06em;font-stretch:100%;font-weight:600}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--rule)}
.contact-grid .contact{border-bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.past{border-right:var(--rule);padding:clamp(28px,3.5vw,48px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.past .lbl{display:block;text-align:center;margin-bottom:18px}
.logos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--rule);border-left:var(--rule)}
.logos li{border-right:var(--rule);border-bottom:var(--rule);min-height:88px;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center}
.logos li span{font-family:var(--f);font-stretch:62%;font-weight:700;text-transform:uppercase;font-size:clamp(18px,1.6vw,24px);line-height:1;color:#9A9A9A;transition:color .25s}
.logos li:hover span{color:var(--ink)}
.logos li img{max-width:80%;max-height:48px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.logos li:hover img{filter:none;opacity:1}
.logos li.sq img{max-height:68px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.contact-grid .past{border-right:0;border-bottom:var(--rule)}.logos{grid-template-columns:repeat(2,1fr)}}
/* sobre mim */
.about{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--rule)}
.about .photo{border-right:var(--rule);padding:clamp(20px,4vw,64px);background:var(--soft);display:flex;align-items:center;justify-content:center}
.about .photo img{width:100%;max-width:400px;height:auto;aspect-ratio:326/398;object-fit:cover}
.about ol{list-style:none;display:flex;flex-direction:column}
.about li{padding:var(--pad);border-bottom:var(--rule);flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px}
.about li p{font-size:clamp(22px,2.2vw,32px);line-height:1.18;font-weight:300;max-width:24ch}
.about li p em{font-style:normal;color:var(--accent);font-weight:400}
.about li.end{border-bottom:0}
.about li.end p{font-family:var(--f);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(26px,2.6vw,40px);letter-spacing:-.01em;line-height:1}
@media (max-width:860px){.about{grid-template-columns:1fr}.about .photo{border-right:0;border-bottom:var(--rule)}.about li{min-height:0;padding-top:40px}}

/* contato */
.contact{text-align:center;padding:clamp(36px,4.5vw,64px) var(--pad);border-bottom:var(--rule)}
.contact h2{font-size:clamp(40px,5.4vw,88px);line-height:.9;text-transform:uppercase;margin-top:0}
.contact h2 .w{display:block;font-family:var(--f);font-stretch:125%;font-weight:800;letter-spacing:-.02em;font-size:.62em}
.contact h2 .c{display:block;font-family:var(--f);font-stretch:62%;font-weight:700}
.contact h2 .q{color:var(--accent)}
.contact p{margin:28px auto 0;max-width:38ch;font-size:clamp(18px,1.6vw,22px);font-weight:500;line-height:1.3}
.btn{display:inline-flex;align-items:center;gap:14px;margin-top:22px;border:var(--rule);padding:10px 18px 7px;font-family:var(--f);font-stretch:62%;font-weight:700;font-size:22px;text-transform:uppercase;line-height:1;transition:background .25s,color .25s}
.btn:hover{background:var(--accent);color:#fff}
.btn svg{width:20px;height:20px;transition:transform .25s}
.btn:hover svg{transform:translateX(3px)}
.contact .mail{display:block;margin-top:14px;font-size:14px;color:var(--mute)}
.contact .mail:hover{color:var(--accent)}

footer{display:grid;grid-template-columns:repeat(3,1fr)}
footer div{padding:var(--pad);border-right:var(--rule);min-height:120px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
footer div:last-child{border-right:0}
footer .v{font-size:15px}
footer a:hover{color:var(--accent)}
@media (max-width:620px){footer{grid-template-columns:1fr}footer div{border-right:0;border-bottom:var(--rule);min-height:0}}

/* reveal discreto */
.rv{opacity:0;transform:translateY(10px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .marquee .track{animation:none}
  *{transition-duration:0s!important}
}
