/* S-Ventures — estilos compartilhados (index, contato, brand) */
:root{
  --black:#0B0D12;
  --white:#FFFFFF;
  --dark-gray:#1F2933;
  --med-gray:#6B7280;
  --light-gray:#D1D5DB;
  --xlight-gray:#F3F4F6;
  --blue:#1E40AF;
  --blue-soft:#3B5FCF;
  --green:#15803D;
  --red:#B91C1C;
  --serif: 'Libre Baskerville', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  color:var(--black);
  background:var(--white);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--blue);color:var(--white);}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 32px;
  background:rgba(11,13,18,0.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
nav .wordmark img{height:20px;width:auto;}
nav ul{list-style:none;display:flex;gap:36px;}
nav ul a{
  color:var(--light-gray);font-size:13.5px;font-weight:500;
  letter-spacing:0.02em;
  transition:color .2s ease;
}
nav ul a:hover{color:var(--white);}
nav .nav-cta{
  color:var(--white);border:1px solid rgba(255,255,255,0.25);
  padding:9px 18px;border-radius:100px;font-size:13px;font-weight:600;
  transition:all .2s ease;
}
nav .nav-cta:hover{background:var(--white);color:var(--black);}
nav .nav-pagelink{
  color:#93A7E8;border:1px solid rgba(147,167,232,0.45);
  padding:7px 14px;border-radius:100px;font-size:12.5px;font-weight:600;
  display:inline-flex;align-items:center;gap:6px;
  transition:all .2s ease;
}
nav .nav-pagelink:hover{background:rgba(147,167,232,0.12);color:var(--white);border-color:rgba(147,167,232,0.7);}
.pagelink-arrow{font-size:13px;}
.page-cta-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:28px;
  font-size:13.5px;font-weight:600;color:var(--blue);
  border:1px solid rgba(30,64,175,0.3);border-radius:100px;
  padding:9px 16px;transition:all .2s ease;
}
.page-cta-link:hover{background:var(--blue);color:var(--white);border-color:var(--blue);}
.nav-links-mobile{display:flex;}
@media (max-width:900px){
  .nav-links-mobile{display:none;}
}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:100vh;
  background:radial-gradient(ellipse 900px 600px at 78% 15%, rgba(30,64,175,0.35), transparent 60%), var(--black);
  color:var(--white);
  display:flex;flex-direction:column;justify-content:center;
  overflow:hidden;
  padding:140px 0 100px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 100% 100% at 50% 0%, black 40%, transparent 90%);
  pointer-events:none;
}
.hero-eyebrow{
  font-size:12.5px;font-weight:600;letter-spacing:0.14em;color:#93A7E8;
  text-transform:uppercase;margin-bottom:28px;
  display:flex;align-items:center;gap:10px;
}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--blue-soft);box-shadow:0 0 12px var(--blue-soft);}
.hero h1{
  font-size:clamp(38px,5.4vw,70px);
  line-height:1.08;max-width:900px;font-weight:400;
  color:var(--white);
}
.hero h1 em{font-style:italic;color:#B9C5F2;}
.hero p.lead{
  margin-top:28px;max-width:600px;font-size:18px;color:var(--light-gray);
  line-height:1.6;
}
.hero-actions{display:flex;gap:16px;margin-top:44px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 26px;border-radius:100px;font-weight:600;font-size:14.5px;
  transition:all .2s ease;cursor:pointer;border:none;
}
.btn-primary{background:var(--blue);color:var(--white);}
.btn-primary:hover{background:var(--blue-soft);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.28);}
.btn-ghost:hover{background:rgba(255,255,255,0.08);}
.btn-dark{background:var(--black);color:var(--white);}
.btn-dark:hover{background:var(--dark-gray);}

/* ---------- NEWS TICKER ---------- */
.ticker-strip{
  background:var(--dark-gray);overflow:hidden;
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:15px 0;
}
.ticker-track{
  display:flex;width:max-content;
  animation:ticker-scroll 34s linear infinite;
}
.ticker-item{
  display:flex;align-items:center;gap:10px;white-space:nowrap;
  padding:0 36px;font-size:13.5px;color:var(--light-gray);
}
.ticker-item b{color:var(--white);font-weight:600;}
.ticker-item .sep{color:var(--blue-soft);margin-left:36px;}
@keyframes ticker-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }

/* ---------- SECTION SCAFFOLDING ---------- */
section{position:relative;padding:120px 0;}
section.tight{padding:88px 0;}
.section-num{
  font-family:var(--serif);font-style:italic;font-size:15px;color:var(--blue);
  margin-bottom:18px;display:block;
}
.section-head{max-width:640px;margin-bottom:64px;}
.section-head h2{font-size:clamp(28px,3.6vw,44px);line-height:1.15;}
.section-head p{margin-top:18px;color:var(--med-gray);font-size:16.5px;max-width:560px;}
.dark{background:var(--black);color:var(--white);}
.dark .section-head p{color:var(--light-gray);}
.dark .section-num{color:#93A7E8;}
.soft{background:var(--xlight-gray);}

/* ---------- POSITIONING STRIP (Firma != Fundo) ---------- */
.positioning{
  padding:80px 0;border-bottom:1px solid var(--light-gray);
}
.positioning .wrap{
  display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:start;
}
.positioning h3{font-size:26px;line-height:1.3;color:var(--black);}
.positioning h3 span{color:var(--blue);}
.positioning p{color:var(--dark-gray);font-size:15.5px;line-height:1.7;}
@media (max-width:800px){ .positioning .wrap{grid-template-columns:1fr;} }

/* ---------- VISION — THREE WAYS ---------- */
.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;}
.vision-card{background:var(--white);border:1px solid var(--light-gray);padding:28px 26px;border-radius:4px;}
.vision-card .vk{font-size:11.5px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.vision-card p{font-size:14.5px;color:var(--dark-gray);line-height:1.6;}
@media (max-width:800px){ .vision-grid{grid-template-columns:1fr;} }

/* ---------- FOCUS CHIPS ---------- */
.focus-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--light-gray);border:1px solid var(--light-gray);
}
.focus-cell{background:var(--white);padding:32px 28px;}
.focus-cell .k{font-size:11.5px;font-weight:700;letter-spacing:0.08em;color:var(--blue);text-transform:uppercase;}
.focus-cell .v{margin-top:12px;font-family:var(--serif);font-size:21px;line-height:1.35;}
.focus-cell .sub{margin-top:8px;font-size:13.5px;color:var(--med-gray);}
@media (max-width:800px){ .focus-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .focus-grid{grid-template-columns:1fr;} }

.founder-tags{margin-top:56px;}
.founder-tags .k{font-size:11.5px;font-weight:700;letter-spacing:0.08em;color:var(--blue);text-transform:uppercase;margin-bottom:16px;display:block;}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;}
.tag{
  padding:9px 18px;border-radius:100px;border:1px solid var(--light-gray);
  font-size:14px;color:var(--dark-gray);font-weight:500;
}

/* ---------- WHY BRAZIL ---------- */
.why-brazil{margin-top:56px;padding-top:44px;border-top:1px solid var(--light-gray);}
.why-brazil .wb-k{font-size:11.5px;font-weight:700;letter-spacing:0.08em;color:var(--blue);text-transform:uppercase;display:block;margin-bottom:20px;}
.wb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.wb-cell b{display:block;font-family:var(--serif);font-size:28px;color:var(--black);font-weight:400;}
.wb-cell span{font-size:13px;color:var(--med-gray);}
@media (max-width:800px){ .wb-grid{grid-template-columns:1fr;gap:20px;} }

/* ---------- SECRET SAUCE ---------- */
.sauce-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sauce-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.12);
  border-radius:4px;padding:36px 30px;position:relative;
}
.sauce-card.primary{
  background:linear-gradient(165deg, rgba(30,64,175,0.22), rgba(30,64,175,0.04));
  border:1px solid rgba(59,95,207,0.55);
}
.sauce-card .flag{
  position:absolute;top:-1px;right:-1px;
  background:var(--blue);color:var(--white);font-size:10.5px;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;
  padding:6px 14px;border-radius:0 4px 0 8px;
}
.sauce-card .num{font-family:var(--serif);font-style:italic;font-size:15px;color:#93A7E8;}
.sauce-card h3{margin-top:16px;font-size:23px;color:var(--white);}
.sauce-card p.desc{margin-top:12px;font-size:14.5px;color:var(--light-gray);line-height:1.6;}
.sauce-card .evidence{
  margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.12);
  font-size:13px;color:var(--med-gray);line-height:1.6;
}
.sauce-card .evidence b{color:var(--light-gray);font-weight:600;}
@media (max-width:900px){ .sauce-grid{grid-template-columns:1fr;} }

/* ---------- PHILOSOPHY ---------- */
.creed-list{display:flex;flex-direction:column;}
.creed-item{
  padding:36px 0;border-top:1px solid var(--light-gray);
  display:grid;grid-template-columns:220px 1fr;gap:32px;
}
.creed-list .creed-item:last-child{border-bottom:1px solid var(--light-gray);}
.creed-item .label{font-size:12.5px;font-weight:700;color:var(--blue);letter-spacing:0.04em;text-transform:uppercase;padding-top:4px;}
.creed-item p{font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--black);}
@media (max-width:720px){ .creed-item{grid-template-columns:1fr;gap:10px;} }

/* ---------- INVESTMENT PHILOSOPHY ---------- */
.philosophy-list{margin-top:12px;}
.philosophy-item{padding:34px 0;border-top:1px solid var(--light-gray);}
.philosophy-list .philosophy-item:last-child{border-bottom:1px solid var(--light-gray);}
.philosophy-item h4{font-family:var(--sans);font-weight:700;font-size:17.5px;color:var(--black);margin-bottom:10px;max-width:640px;}
.philosophy-item p{font-size:14.5px;color:var(--dark-gray);line-height:1.65;max-width:640px;}

/* ---------- SELECTION PRINCIPLES ---------- */
.criteria-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:64px;}
.criteria-card{
  background:var(--white);border:1px solid var(--light-gray);padding:26px 20px;border-radius:4px;
}
.criteria-card .n{font-family:var(--serif);font-style:italic;color:var(--blue);font-size:15px;}
.criteria-card h4{margin-top:10px;font-size:16.5px;font-weight:700;font-family:var(--sans);}
.criteria-card p{margin-top:8px;font-size:13px;color:var(--med-gray);line-height:1.5;}
@media (max-width:960px){ .criteria-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .criteria-grid{grid-template-columns:1fr;} }

.fit-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px;}
.fit-card{padding:28px;border-radius:4px;}
.fit-card.yes{background:#EFF6EF;border:1px solid rgba(21,128,61,0.25);}
.fit-card.no{background:#FBEEEE;border:1px solid rgba(185,28,28,0.22);}
.fit-card .k{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}
.fit-card.yes .k{color:var(--green);}
.fit-card.no .k{color:var(--red);}
.fit-card h4{margin-top:10px;font-size:19px;font-family:var(--serif);}
.fit-card p{margin-top:10px;font-size:14px;color:var(--dark-gray);line-height:1.6;}
@media (max-width:720px){ .fit-compare{grid-template-columns:1fr;} }

.avoid-box{
  background:var(--dark-gray);color:var(--white);border-radius:4px;padding:32px 34px;
}
.avoid-box .k{font-size:11.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#F3A5A5;}
.avoid-box ul{margin-top:16px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;}
.avoid-box li{font-size:14px;color:var(--light-gray);padding-left:16px;position:relative;}
.avoid-box li::before{content:"—";position:absolute;left:0;color:var(--red);}
@media (max-width:700px){ .avoid-box ul{grid-template-columns:1fr;} }

/* ---------- TRACK RECORD ---------- */
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--light-gray);border:1px solid var(--light-gray);margin-bottom:56px;}
.metric-cell{background:var(--white);padding:36px 28px;}
.metric-cell b{display:block;font-family:var(--serif);font-size:38px;color:var(--black);font-weight:400;}
.metric-cell b.green{color:var(--green);}
.metric-cell span{font-size:13px;color:var(--med-gray);}
@media (max-width:900px){ .metrics-grid{grid-template-columns:1fr 1fr;} }

.exit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.exit-card{border:1px solid var(--light-gray);padding:26px;border-radius:4px;background:var(--xlight-gray);}
.exit-card .name{font-family:var(--serif);font-size:19px;color:var(--black);}
.exit-card .tag2{font-size:12px;color:var(--med-gray);margin-top:4px;}
.exit-card .roi{margin-top:18px;font-family:var(--serif);font-size:26px;color:var(--green);}
@media (max-width:800px){ .exit-row{grid-template-columns:1fr;} }

/* ---------- PORTFOLIO STORY ---------- */
.story-panel{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--light-gray);border-radius:4px;overflow:hidden;
}
.story-panel .side{padding:44px;}
.story-panel .side.hl{background:var(--black);color:var(--white);}
.story-panel .side.hl .k{color:#93A7E8;}
.story-panel .k{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--blue);}
.story-panel h3{margin-top:14px;font-size:26px;}
.story-panel p{margin-top:14px;font-size:14.5px;color:var(--med-gray);line-height:1.65;}
.story-panel .side.hl p{color:var(--light-gray);}
@media (max-width:800px){ .story-panel{grid-template-columns:1fr;} }

/* ---------- PORTFOLIO — FLAT CELLS + DIAGONAL CURTAIN WIPE ---------- */
.curtain-wall{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--light-gray);border:1px solid var(--light-gray);
}
.curtain-tile{
  position:relative;overflow:hidden;background:var(--white);
  min-height:118px;display:flex;align-items:center;justify-content:center;padding:20px;
}
.curtain-tile img{height:36px;width:auto;max-width:75%;object-fit:contain;position:relative;z-index:1;transition:opacity .6s ease;filter:grayscale(1);}
.curtain-tile:hover img{opacity:0;}
.curtain-sweep{
  position:absolute;inset:0;
  background:#93A7E8;
  opacity:0;
  transition:opacity .7s ease;
  z-index:2;
}
.curtain-tile:hover .curtain-sweep{opacity:1;}
.curtain-info{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;
  opacity:0;transition:opacity .7s ease .1s;
}
.curtain-tile:hover .curtain-info{opacity:1;}
.curtain-info .ci-name{font-family:var(--serif);font-size:15px;color:var(--black);}
.curtain-info .ci-desc{font-size:11px;color:var(--dark-gray);line-height:1.4;margin-top:5px;}
.curtain-info .ci-exit{margin-top:8px;font-size:9.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--black);background:rgba(11,13,18,0.12);padding:3px 9px;border-radius:100px;}
.curtain-exit-badge{
  position:absolute;top:0;right:0;z-index:4;
  display:flex;align-items:center;
  background:#9DBFAA;color:#1F3A2A;
  font-size:9px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  padding:4px 9px;border-radius:0 0 0 6px;
}
.curtain-tile:hover .curtain-exit-badge{opacity:0;transition:opacity .15s ease;}
@media (max-width:800px){ .curtain-wall{grid-template-columns:repeat(3,1fr);} }
@media (max-width:520px){ .curtain-wall{grid-template-columns:repeat(2,1fr);} }

/* ---------- PORTFOLIO LOGO WALL (gradient hover reveal) ---------- */
.logo-wall{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.port-tile{
  position:relative;height:148px;border:1px solid var(--light-gray);border-radius:6px;
  background:var(--white);overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.port-tile img{height:40px;width:auto;max-width:75%;object-fit:contain;flex-shrink:0;transition:opacity .3s ease;}
.port-tile .port-name-text{font-family:var(--serif);font-size:18px;color:var(--dark-gray);text-align:center;transition:opacity .3s ease;}
.port-tile:hover img, .port-tile:hover .port-name-text{opacity:0;}
.port-overlay{
  position:absolute;inset:0;border-radius:6px;
  background:linear-gradient(to bottom left, rgba(11,13,18,0.88) 0%, rgba(11,13,18,0.98) 100%);
  opacity:0;transition:opacity .4s ease;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;
}
.port-tile:hover .port-overlay, .port-tile:focus-within .port-overlay{opacity:1;}
.port-overlay .fb-name{font-family:var(--serif);font-size:15px;color:var(--white);}
.port-overlay .fb-desc{font-size:11.5px;color:var(--light-gray);line-height:1.4;margin-top:5px;}
.port-overlay .fb-exit{
  margin-top:9px;font-size:9.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:#4ADE80;
}
.exit-badge{
  position:absolute;top:8px;right:8px;z-index:2;
  display:flex;align-items:center;gap:4px;
  background:var(--green);color:var(--white);
  font-size:9.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;
  padding:5px 9px 5px 7px;border-radius:100px;
  box-shadow:0 2px 8px rgba(21,128,61,0.35);
}
.exit-badge svg{width:9px;height:9px;}
@media (max-width:800px){ .logo-wall{grid-template-columns:repeat(3,1fr);} }
@media (max-width:520px){ .logo-wall{grid-template-columns:repeat(2,1fr);} }

/* ---------- TEAM ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.team-card .avatar{
  width:100%;aspect-ratio:1;border-radius:4px;
  background:linear-gradient(150deg,#1F2933,#0B0D12);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.team-card .avatar::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 20%, rgba(30,64,175,0.5), transparent 60%);
}
.team-card .avatar span{
  font-family:var(--serif);font-size:34px;color:rgba(255,255,255,0.85);position:relative;z-index:1;
}
.team-card .avatar img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:4px;position:relative;z-index:1;}
.team-card .name{margin-top:16px;font-size:16px;font-weight:700;}
.team-card .role{font-size:13px;color:var(--blue);font-weight:600;margin-top:2px;}
.team-card .bio{margin-top:10px;font-size:12.5px;color:var(--med-gray);line-height:1.6;}
.team-card .photo-note{font-size:11px;color:var(--light-gray);margin-top:6px;font-style:italic;}
@media (max-width:900px){ .team-grid{grid-template-columns:repeat(2,1fr);} }

/* ---------- CLOSING CTA ---------- */
.closing{
  background:var(--black);color:var(--white);text-align:center;padding:140px 0;
  position:relative;overflow:hidden;
}
.closing::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 700px 500px at 50% 100%, rgba(30,64,175,0.3), transparent 65%);
}
.closing h2{position:relative;font-size:clamp(30px,4.4vw,52px);max-width:780px;margin:0 auto;line-height:1.25;}
.closing p{position:relative;margin-top:22px;color:var(--light-gray);font-size:16px;}
.closing .hero-actions{position:relative;justify-content:center;margin-top:40px;}

/* ---------- FOOTER ---------- */
footer{background:var(--black);color:var(--med-gray);padding:56px 0 36px;border-top:1px solid rgba(255,255,255,0.08);}
footer .wordmark img{height:17px;}
footer .foot-brand{display:flex;flex-direction:column;gap:22px;}
footer .foot-partners-label{display:block;font-size:11px;color:var(--light-gray);letter-spacing:0.05em;text-transform:uppercase;}
footer .foot-partners-logos{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:12px;}
footer .foot-partners-logos img{height:20px;width:auto;opacity:0.72;transition:opacity .2s;}
footer .foot-partners-logos img:hover{opacity:1;}
footer .foot-partners-logos img.partner-logo-derraik{height:16px;}
footer .foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;margin-bottom:44px;}
footer .foot-links{display:flex;gap:48px;flex-wrap:wrap;}
footer .foot-links div b{display:block;color:var(--light-gray);font-size:12px;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:14px;}
footer .foot-links div a{display:block;font-size:14px;color:var(--med-gray);margin-bottom:10px;}
footer .foot-links div a:hover{color:var(--white);}
footer .foot-bottom{display:flex;justify-content:space-between;font-size:12.5px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;gap:12px;}

/* Reveal class kept only as a hook for potential future use — no hidden state, content is always visible */
.reveal{opacity:1;}

/* ---------- PÁGINA DE CONTATO ---------- */
.contato-hero{
  background:var(--black);color:var(--white);
  padding:150px 0 70px;position:relative;overflow:hidden;
}
.contato-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 80% 20%, rgba(30,64,175,0.28), transparent 65%);
}
.contato-hero .wrap{position:relative;}
.contato-hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.2;max-width:720px;}
.contato-hero p{margin-top:18px;color:var(--light-gray);font-size:16.5px;max-width:560px;}
.contato-body{background:var(--xlight-gray);padding:70px 0 90px;}
.contato-grid{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:start;}
@media (max-width:900px){ .contato-grid{grid-template-columns:1fr;gap:40px;} }
.contato-aside h3{font-size:21px;margin-bottom:14px;}
.contato-aside p{color:var(--med-gray);font-size:14.5px;line-height:1.7;}
.contato-aside .aside-block{margin-bottom:32px;}
.contato-aside a{color:var(--blue);border-bottom:1px solid transparent;transition:border-color .15s;}
.contato-aside a:hover{border-color:var(--blue);}

.form-card{
  background:var(--white);border:1px solid var(--light-gray);
  padding:44px 44px 40px;
}
@media (max-width:640px){ .form-card{padding:28px 20px;} }
.form-card fieldset{border:0;margin:0;padding:0;}
.form-legend{
  font-family:var(--serif);font-size:19px;color:var(--black);
  padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--light-gray);
  width:100%;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:640px){ .form-row{grid-template-columns:1fr;} }
.field{margin-bottom:18px;}
.field label{
  display:block;font-size:13px;font-weight:600;color:var(--dark-gray);
  margin-bottom:7px;
}
.field label .req{color:var(--red);}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--sans);font-size:14.5px;color:var(--black);
  background:var(--white);border:1px solid var(--light-gray);
  padding:11px 13px;border-radius:0;appearance:none;-webkit-appearance:none;
  transition:border-color .15s, box-shadow .15s;
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%236B7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;
}
.field textarea{min-height:110px;resize:vertical;line-height:1.6;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,64,175,0.12);
}
.field input::placeholder,.field textarea::placeholder{color:var(--med-gray);opacity:.75;}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--red);}
.field .hint{font-size:12px;color:var(--med-gray);margin-top:5px;}

.form-branch{display:none;margin-top:8px;}
.form-branch.active{display:block;animation:branchIn .25s ease;}
@keyframes branchIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){ .form-branch.active{animation:none;} }

.lgpd{
  display:flex;gap:12px;align-items:flex-start;
  margin:26px 0 24px;padding-top:22px;border-top:1px solid var(--light-gray);
}
.lgpd input[type=checkbox]{
  width:17px;height:17px;margin-top:2px;flex:none;accent-color:var(--blue);
}
.lgpd label{font-size:13px;color:var(--med-gray);line-height:1.6;}
.form-submit{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:14.5px;font-weight:600;
  background:var(--blue);color:var(--white);border:0;cursor:pointer;
  padding:14px 34px;transition:background .15s, transform .15s;
}
.form-submit:hover{background:var(--blue-soft);transform:translateY(-1px);}
.form-submit:disabled{opacity:.55;cursor:wait;transform:none;}
.form-msg{display:none;margin-top:18px;padding:14px 16px;font-size:14px;line-height:1.55;}
.form-msg.ok{display:block;background:#EAF6EE;color:var(--green);border:1px solid #BFE3CC;}
.form-msg.err{display:block;background:#FCEBEB;color:var(--red);border:1px solid #F0C4C4;}

/* ---------- PÁGINA BRAND (oculta, acesso via #brand) ---------- */

.brand-hero{
  background:var(--black);color:var(--white);
  padding:150px 0 70px;position:relative;overflow:hidden;
}
.brand-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 20% 30%, rgba(30,64,175,0.28), transparent 65%);
}
.brand-hero .wrap{position:relative;}
.brand-hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.2;}
.brand-hero p{margin-top:18px;color:var(--light-gray);font-size:16.5px;max-width:560px;}

.brand-section{padding:70px 0;}
.brand-section.alt{background:var(--xlight-gray);}
.brand-section h2{font-size:clamp(24px,3vw,34px);margin-bottom:10px;}
.brand-section .section-lead{color:var(--med-gray);font-size:15px;max-width:600px;margin-bottom:40px;}

.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:900px){ .asset-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .asset-grid{grid-template-columns:1fr;} }
.asset-card{border:1px solid var(--light-gray);background:var(--white);}
.asset-card .preview{
  height:150px;display:flex;align-items:center;justify-content:center;padding:28px;
}
.asset-card .preview img{max-height:100%;max-width:78%;object-fit:contain;}
.asset-card .preview.on-dark{background:var(--black);}
.asset-card .preview.on-light{background:var(--xlight-gray);}
.asset-card .meta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 18px;border-top:1px solid var(--light-gray);
}
.asset-card .meta b{font-size:14px;font-weight:600;color:var(--black);}
.asset-card .meta a{
  font-size:13px;font-weight:600;color:var(--blue);white-space:nowrap;
  border-bottom:1px solid transparent;transition:border-color .15s;
}
.asset-card .meta a:hover{border-color:var(--blue);}

.brand-callout{
  margin-top:32px;padding:18px 22px;
  background:var(--white);border:1px solid var(--light-gray);border-left:3px solid var(--blue);
  font-size:14px;color:var(--dark-gray);line-height:1.65;max-width:760px;
}

.type-specimen{border:1px solid var(--light-gray);background:var(--white);padding:36px 40px;margin-bottom:20px;}
@media (max-width:640px){ .type-specimen{padding:24px 20px;} }
.type-specimen .sample{font-size:clamp(28px,4vw,44px);line-height:1.3;color:var(--black);}
.type-specimen .sample.serif{font-family:var(--serif);}
.type-specimen .sample.sans{font-family:var(--sans);font-weight:600;}
.type-specimen .type-meta{
  display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--light-gray);
  font-size:13.5px;color:var(--med-gray);
}
.type-specimen .type-meta b{color:var(--black);font-weight:600;}
.type-specimen .type-meta a{color:var(--blue);border-bottom:1px solid transparent;transition:border-color .15s;}
.type-specimen .type-meta a:hover{border-color:var(--blue);}

.swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;}
.swatch{border:1px solid var(--light-gray);background:var(--white);cursor:pointer;transition:transform .15s;}
.swatch:hover{transform:translateY(-2px);}
.swatch .chip{height:110px;position:relative;}
.swatch .chip .copied{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(11,13,18,0.82);color:var(--white);font-size:13px;font-weight:600;
  opacity:0;transition:opacity .2s;pointer-events:none;
}
.swatch .chip .copied.show{opacity:1;}
.swatch dl{padding:16px 18px;margin:0;font-size:12.5px;line-height:1.5;}
.swatch dl div{display:flex;gap:10px;}
.swatch dt{width:44px;flex:none;color:var(--med-gray);font-weight:600;}
.swatch dd{margin:0;color:var(--black);}
.swatch .hexname{font-size:14px;font-weight:700;color:var(--black);margin-bottom:6px;}

.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;opacity:0;}

@media (max-width:900px){
  #nav-contato .nav-links-mobile{display:flex;}
}
@media (max-width:640px){
  .contato-hero, .brand-hero{padding:118px 0 52px;}
  .contato-body, .brand-section{padding:52px 0 64px;}
  .brand-section{padding:52px 0;}
  .asset-card .preview{height:120px;padding:20px;}
  .swatch-grid{grid-template-columns:1fr 1fr;gap:14px;}
}
@media (max-width:400px){
  .swatch-grid{grid-template-columns:1fr;}
  nav{padding:16px 20px;}
  nav .wordmark img{height:17px;}
}

/* ---------- ÂNCORAS ---------- */
[id]{scroll-margin-top:84px;}
#top{scroll-margin-top:0;}

/* ---------- MENU MOBILE (v14) ---------- */
.nav-toggle{display:none;}
html:not(.js) .nav-toggle{display:none !important;}
@media (max-width:900px){
  #nav-main{flex-wrap:wrap;}
  .nav-toggle{
    display:inline-flex;flex-direction:column;justify-content:center;gap:4px;
    width:40px;height:40px;margin-left:auto;margin-right:10px;padding:0 10px;
    background:transparent;border:1px solid rgba(255,255,255,0.25);border-radius:100px;cursor:pointer;
  }
  .nav-toggle span{display:block;height:1.5px;background:var(--white);border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
  #nav-main.menu-open{background:var(--black);}
  #nav-main.menu-open #nav-links-main{
    display:flex;flex-direction:column;gap:0;order:10;width:100%;
    margin-top:14px;border-top:1px solid rgba(255,255,255,0.1);
  }
  #nav-main.menu-open #nav-links-main a{display:block;padding:14px 2px;font-size:15px;border-bottom:1px solid rgba(255,255,255,0.06);}
}

/* ---------- AJUSTES RESPONSIVOS (v14) ---------- */
.hero{min-height:100vh;min-height:100svh;}
.metrics-grid, .exit-row, .team-grid, .curtain-wall, .focus-grid, .vision-grid, .contato-grid, .form-row{min-width:0;}
.metrics-grid > *, .team-grid > *, .form-row > *, .contato-grid > *{min-width:0;}
.nav-cta, .nav-pagelink, .btn{white-space:nowrap;touch-action:manipulation;}
.lgpd.invalid label{color:var(--red);}
.lgpd.invalid input[type=checkbox]{outline:2px solid var(--red);outline-offset:2px;}
.curtain-tile{cursor:pointer;-webkit-tap-highlight-color:transparent;}
.curtain-tile:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;}
.curtain-tile.is-open img, .curtain-tile:focus-visible img{opacity:0;}
.curtain-tile.is-open .curtain-sweep, .curtain-tile:focus-visible .curtain-sweep{opacity:1;}
.curtain-tile.is-open .curtain-info, .curtain-tile:focus-visible .curtain-info{opacity:1;}
.curtain-tile.is-open .curtain-exit-badge, .curtain-tile:focus-visible .curtain-exit-badge{opacity:0;}
@media (hover:none){
  .curtain-tile:hover img{opacity:1;}
  .curtain-tile:hover .curtain-sweep, .curtain-tile:hover .curtain-info{opacity:0;}
  .curtain-tile:hover .curtain-exit-badge{opacity:1;}
  .curtain-tile.is-open img{opacity:0;}
  .curtain-tile.is-open .curtain-sweep, .curtain-tile.is-open .curtain-info{opacity:1;}
  .curtain-tile.is-open .curtain-exit-badge{opacity:0;}
  .btn-primary:hover, .form-submit:hover{transform:none;}
}
@media (max-width:640px){
  nav{padding:14px 20px;}
  section{padding:80px 0;}
  section.tight{padding:64px 0;}
  .closing{padding:96px 0;}
  .section-head{margin-bottom:40px;}
  .hero{padding:120px 0 72px;}
  .hero p.lead{font-size:16.5px;}
  .metric-cell{padding:24px 16px;}
  .metric-cell b{font-size:clamp(24px,7.4vw,34px);}
  .exit-card .roi{font-size:22px;}
  .curtain-info .ci-desc{font-size:10.5px;}
  /* evita zoom automático do iOS ao focar campos (fonte < 16px) */
  .field input,.field select,.field textarea{font-size:16px;}
  .form-submit{width:100%;justify-content:center;}
  #nav-contato .nav-cta{display:none;}
  .closing .hero-actions .btn{width:100%;justify-content:center;}
  .hero-actions .btn{max-width:100%;}
  footer .foot-links{gap:28px 40px;}
}
@media (max-width:560px){
  .team-grid{grid-template-columns:1fr;gap:32px;}
  .team-card{display:grid;grid-template-columns:96px 1fr;column-gap:18px;align-items:start;}
  .team-card .avatar{grid-row:1 / span 4;}
  .team-card .name{margin-top:0;}
}
@media (max-width:400px){
  .nav-cta{padding:8px 14px;font-size:12.5px;}
  .nav-toggle{margin-right:8px;}
}

/* focus visibility */
a:focus-visible, button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
