/* ===== Arpe Medical — Tokens & base ===== */
:root{
  --laranja:#E8661F;
  --laranja-hover:#B05A22;
  --grafite:#15171A;
  --grafite-footer:#0F1113;
  --azul:#2B6CA3;
  --papel:#F6F2EA;
  --ambar-hero:#FBE9D7;
  --ambar-centros:#F9E7D8;
  --creme-quem:#F8EEDF;
  --creme-porque:#F4EEE2;
  --creme-produtos:#F6F0E6;
  --creme-internacao:#F8F3EB;
  --texto-2:#5A5D61;
  --texto-3:#3C3F43;
  --linha:#E6E0D6;
  --display:'Schibsted Grotesk',sans-serif;
  --corpo:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',monospace;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; scroll-behavior:smooth; }
body{
  background:var(--ambar-hero);
  font-family:var(--corpo);
  color:var(--grafite);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
a{ text-decoration:none; }
img{ max-width:100%; }
::selection{ background:var(--laranja); color:#fff; }

/* ===== Animations ===== */
@keyframes arpePulse{ 0%,100%{ transform:scale(1); opacity:1;} 50%{ transform:scale(1.9); opacity:0.35;} }
@keyframes arpeArc{ 0%{ stroke-dashoffset:240; opacity:0.2;} 50%{ opacity:0.9;} 100%{ stroke-dashoffset:0; opacity:0.2;} }

/* ===== Layout helpers ===== */
.container{ max-width:1280px; margin:0 auto; padding:0 28px; }
.mono{ font-family:var(--mono); text-transform:uppercase; }
.eyebrow{ font-family:var(--mono); font-size:13px; letter-spacing:0.16em; color:var(--laranja); text-transform:uppercase; }
.section-line{ border-top:1px solid rgba(232,102,31,0.13); }

/* ===== Scroll progress ===== */
.progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:var(--laranja); z-index:60;
  box-shadow:0 0 12px rgba(232,102,31,0.6);
}

/* ===== Header ===== */
.header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(246,242,234,0.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
}
.header .container{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-top:16px; padding-bottom:16px;
}
.nav{ display:flex; align-items:center; gap:30px; }
.nav a.link{ font-size:15.5px; font-weight:500; color:var(--texto-3); white-space:nowrap; transition:color .2s; }
.nav a.link:hover{ color:var(--laranja); }
.header-spacer{ height:79px; }

/* Logo */
.logo{ display:flex; align-items:center; gap:11px; color:var(--grafite); }
.logo .chevs{ display:flex; gap:1px; }
.logo .word{ display:flex; flex-direction:column; line-height:1; }
.logo .word b{ font-family:var(--display); font-weight:800; font-size:26px; letter-spacing:-0.02em; color:var(--grafite); }
.logo .word span{ font-family:var(--mono); font-size:9.5px; letter-spacing:0.34em; color:var(--texto-2); margin-top:3px; }
.logo.dark .word b{ color:var(--papel); }
.logo.dark .word span{ color:#9A9DA1; }

/* Buttons */
.btn{
  font-family:var(--display); font-weight:700; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  border-radius:11px; border:none; transition:transform .25s cubic-bezier(.2,.7,.2,1), background .25s, box-shadow .25s, border-color .25s;
}
.btn-primary{ color:#fff; background:var(--laranja); box-shadow:0 8px 20px -8px rgba(232,102,31,0.7); }
.btn-primary:hover{ background:var(--grafite); box-shadow:0 8px 20px -8px rgba(21,23,26,0.6); }
.btn-graphite{ color:var(--papel); background:var(--grafite); border:1.5px solid var(--grafite); }
.btn-graphite:hover{ background:#000; border-color:#000; transform:translateY(-2px); }
.btn-sm{ font-size:15px; padding:13px 24px; }
.btn-lg{ font-size:18px; padding:18px 32px; border-radius:13px; }
.btn-lg.btn-primary{ box-shadow:0 14px 34px -12px rgba(232,102,31,0.7); }
.btn-lg.btn-primary:hover{ transform:translateY(-2px); background:var(--laranja); }

/* ===== Hero ===== */
.hero{ background:var(--ambar-hero); position:relative; overflow:hidden; scroll-margin-top:118px; }
.hero .container{ padding-top:80px; padding-bottom:90px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; position:relative; }
.deco-circle{ position:absolute; border-radius:50%; pointer-events:none; }
.badge{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(232,102,31,0.13); border:1px solid rgba(232,102,31,0.3);
  padding:9px 16px; border-radius:100px; margin-bottom:28px;
}
.badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--laranja); animation:arpePulse 2.2s ease-in-out infinite; }
.badge .txt{ font-family:var(--mono); font-size:12px; letter-spacing:0.12em; color:var(--laranja-hover); text-transform:uppercase; }
.hero h1{ font-family:var(--display); font-weight:800; font-size:74px; line-height:0.98; letter-spacing:-0.035em; color:var(--grafite); margin:0 0 26px; }
.hero h1 .accent{ color:var(--laranja); }
.hero .lede{ font-size:20px; line-height:1.55; color:var(--texto-2); max-width:520px; margin:0 0 36px; }
.hero .lede strong{ color:var(--grafite); font-weight:600; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:34px; margin-top:54px; flex-wrap:wrap; }
.hero-stats .stat{ max-width:215px; }
.hero-stats .stat .big{ font-family:var(--display); font-weight:800; font-size:23px; line-height:1.08; letter-spacing:-0.02em; color:var(--grafite); }
.hero-stats .stat .small{ font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:0.07em; color:var(--texto-3); text-transform:uppercase; margin-top:10px; line-height:1.5; }
.hero-stats .divider{ width:1px; background:#E0D8CC; align-self:stretch; }

/* Hero showcase */
.showcase{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:580px; }
.showcase .glow{ position:absolute; top:54px; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle, rgba(232,102,31,0.2), transparent 65%); }
.showcase .arcs{ position:absolute; top:46px; opacity:0.5; overflow:visible; }
.stage{ position:relative; width:440px; height:440px; }
.stage .layer{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:opacity .7s ease; opacity:0; }
.stage .layer.on{ opacity:1; }
.stage .layer .frame{ position:relative; }
.stage .layer.walker .frame{ height:100%; aspect-ratio:496/744; }
.stage .layer.bed .frame{ width:100%; aspect-ratio:744/496; }
.stage .layer.cycle .frame{ width:78%; aspect-ratio:1/1; }
.stage .layer.stand .frame{ width:100%; aspect-ratio:744/496; }
.stage .layer video{ display:none; }
.stage .layer canvas{ position:absolute; inset:0; width:100%; height:100%; }
.showcase .float-card{
  position:absolute; bottom:78px; left:0;
  background:rgba(246,242,234,0.97); border-radius:14px; padding:14px 18px;
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.55); min-width:212px;
}
.showcase .float-card .k{ font-family:var(--mono); font-size:10px; letter-spacing:0.1em; color:var(--laranja); text-transform:uppercase; display:flex; align-items:center; gap:7px; }
.showcase .float-card .k .dot{ width:7px; height:7px; border-radius:50%; background:var(--laranja); animation:arpePulse 2.2s ease-in-out infinite; }
.showcase .float-card .name{ font-family:var(--display); font-weight:700; font-size:18px; margin-top:6px; color:var(--grafite); }
.showcase .float-card .sub{ font-size:12.5px; color:var(--texto-2); margin-top:2px; }
.showcase .picker{ position:relative; display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:10px; }
.showcase .picker button{
  font-family:var(--mono); font-size:11px; letter-spacing:0.05em; text-transform:uppercase;
  padding:9px 15px; border-radius:100px; cursor:pointer;
  border:1px solid rgba(21,23,26,0.18); background:rgba(21,23,26,0.04); color:var(--texto-2);
  transition:all .25s ease;
}
.showcase .picker button.on{ border-color:var(--laranja); background:var(--laranja); color:#fff; }

/* ===== Generic section heads ===== */
.sec{ padding:90px 0; scroll-margin-top:118px; }
.sec h2{ font-family:var(--display); font-weight:800; font-size:48px; line-height:1.03; letter-spacing:-0.03em; margin:16px 0 0; }
.sec .head{ max-width:700px; margin-bottom:48px; }
.sec .head p{ font-size:18.5px; color:var(--texto-2); line-height:1.55; margin:14px 0 0; }

/* Quem Somos */
.quem{ background:var(--creme-quem); padding:96px 0 60px; scroll-margin-top:118px; }
.quem-head{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:48px; align-items:end; margin-bottom:42px; }
.quem-head h2{ font-family:var(--display); font-weight:800; font-size:50px; line-height:1.02; letter-spacing:-0.03em; margin:16px 0 0; }
.quem-head p{ font-size:19px; color:var(--texto-2); line-height:1.6; margin:0; }
.quem-head p strong{ color:var(--grafite); font-weight:700; }
.values-panel{ background:#fff; border:1px solid var(--linha); border-radius:24px; padding:44px; position:relative; overflow:hidden; }
.values-panel .vp-bg{ position:absolute; left:-70px; bottom:-90px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle, rgba(232,102,31,0.10), transparent 70%); }
.values-panel .vp-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:30px; position:relative; }
.values-panel .vp-head p{ font-size:15px; color:var(--texto-2); line-height:1.5; max-width:340px; margin:0; }
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; position:relative; }
.value-card{ border:1.5px solid #ECE5D9; background:#F7F3EB; border-radius:18px; padding:24px; display:flex; align-items:center; gap:16px; min-height:100px; transition:border-color .4s ease, background .4s ease; }
.value-card .num{ font-family:var(--display); font-weight:800; font-size:28px; letter-spacing:-0.02em; color:#C2B8A6; transition:color .4s ease; flex:none; width:38px; }
.value-card .lbl{ font-family:var(--display); font-weight:700; font-size:17.5px; line-height:1.2; letter-spacing:-0.01em; color:var(--texto-2); transition:color .4s ease; }
.value-card.on{ border-color:var(--laranja); background:var(--ambar-hero); }
.value-card.on .num{ color:var(--laranja); }
.value-card.on .lbl{ color:var(--grafite); }

/* Por que a Arpe */
.porque{ background:var(--creme-porque); }
.porque .head{ max-width:620px; margin-bottom:54px; }
.porque .head h2{ font-size:48px; }
.reasons-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.reason-card{ position:relative; overflow:hidden; background:#fff; border:1.5px solid #ECE5D9; border-radius:18px; padding:32px; transform:translateY(0); box-shadow:0 1px 2px rgba(21,23,26,0.04); transition:transform .5s cubic-bezier(.2,.7,.2,1), background .5s, border-color .5s, box-shadow .5s; }
.reason-card .bar{ position:absolute; top:0; left:0; height:4px; width:0%; background:var(--laranja); transition:width .6s ease; }
.reason-card .num{ font-family:var(--display); font-weight:800; font-size:20px; width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:var(--ambar-hero); color:var(--laranja); margin-bottom:18px; transform:scale(1); transition:background .5s, color .5s, transform .5s; }
.reason-card h3{ font-family:var(--display); font-weight:700; font-size:21px; margin:0 0 10px; letter-spacing:-0.01em; color:var(--grafite); transition:color .5s; }
.reason-card p{ font-size:15.5px; line-height:1.5; margin:0; color:var(--texto-2); transition:color .5s; }
.reason-card.on{ background:var(--grafite); border-color:var(--grafite); transform:translateY(-8px); box-shadow:0 30px 60px -26px rgba(21,23,26,0.5); }
.reason-card.on .bar{ width:100%; }
.reason-card.on .num{ background:var(--laranja); color:#fff; transform:scale(1.06); }
.reason-card.on h3{ color:var(--papel); }
.reason-card.on p{ color:#B7B9BD; }

/* Mission */
.mission{ background:var(--grafite); position:relative; overflow:hidden; border-top:1px solid rgba(232,102,31,0.2); }
.mission .container{ padding-top:84px; padding-bottom:84px; position:relative; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.mission .eyebrow{ color:#F0B996; }
.mission .stmt{ font-family:var(--display); font-weight:700; font-size:34px; line-height:1.25; letter-spacing:-0.02em; color:#fff; margin:20px 0 0; }
.mission-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mcard{ background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.18); border-radius:16px; padding:24px; }
.mcard .t{ font-family:var(--display); font-weight:700; font-size:18px; color:#fff; margin-bottom:6px; }
.mcard .d{ font-size:14px; color:#B7B9BD; line-height:1.45; }
.mcard.accent{ background:var(--laranja); display:flex; flex-direction:column; justify-content:center; border:none; }
.mcard.accent .k{ font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:#fff; text-transform:uppercase; margin-bottom:6px; }
.mcard.accent .v{ font-size:14.5px; color:#fff; font-weight:600; line-height:1.4; }

/* Produtos */
.produtos{ background:var(--creme-produtos); padding:96px 0 60px; scroll-margin-top:118px; }
.produtos .sl-eyebrow{ display:inline-flex; align-items:center; gap:9px; margin-bottom:16px; }
.produtos .sl-eyebrow .sym{ width:22px; height:22px; }
.produtos h2{ font-family:var(--display); font-weight:800; font-size:50px; line-height:1.02; letter-spacing:-0.03em; margin:0; max-width:640px; }
.produtos .intro{ font-size:19px; color:var(--texto-2); line-height:1.5; max-width:560px; margin:18px 0 0; }
.chips{ display:flex; gap:12px; flex-wrap:wrap; margin:36px 0 40px; }
.chip{ font-family:var(--display); font-weight:700; font-size:16px; padding:14px 24px; border-radius:100px; cursor:pointer; transition:all .25s ease; border:1.5px solid var(--linha); background:#fff; color:var(--grafite); }
.chip.on{ background:var(--grafite); color:#fff; border-color:var(--grafite); }
.products-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.product-card{ background:#fff; border:2px solid var(--linha); border-radius:24px; padding:24px; cursor:pointer; display:flex; flex-direction:column; transition:all .35s cubic-bezier(.2,.7,.2,1); }
.product-card:hover{ transform:translateY(-8px); border-color:var(--laranja); box-shadow:0 30px 60px -26px rgba(21,23,26,0.45); }
.product-card.dim{ opacity:0.22; filter:grayscale(1); }
.product-card.match{ border-color:var(--laranja); }
.product-card .pc-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.tag-need{ font-family:var(--mono); font-size:12px; letter-spacing:0.1em; color:#fff; background:var(--azul); padding:6px 13px; border-radius:8px; text-transform:uppercase; }
.code{ font-family:var(--mono); font-size:12px; color:#B6AE9F; }
.product-card .pc-img{ position:relative; height:300px; overflow:hidden; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.product-card .pc-img .glow{ position:absolute; width:92%; height:92%; border-radius:50%; background:radial-gradient(circle, rgba(232,102,31,0.14), transparent 70%); }
.product-card .pc-img img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; position:relative; transform:scale(1.22); }
.product-card h3{ font-family:var(--display); font-weight:800; font-size:30px; letter-spacing:-0.025em; margin:0 0 10px; }
.product-card .pc-desc{ font-size:16.5px; color:var(--texto-2); line-height:1.5; margin:0 0 22px; flex:1; }
.more-link{ display:flex; align-items:center; gap:9px; font-family:var(--display); font-weight:700; font-size:16px; color:var(--laranja); }

/* Internação */
.internacao{ background:var(--creme-internacao); }
.partners-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.partner-card{ background:#fff; border:1px solid var(--linha); border-radius:20px; padding:30px; display:flex; flex-direction:column; cursor:pointer; transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.partner-card:hover{ transform:translateY(-8px); border-color:var(--laranja); box-shadow:0 28px 56px -28px rgba(21,23,26,0.4); }
.partner-card .logo-box{ height:80px; display:flex; align-items:center; margin-bottom:18px; }
.partner-card .logo-box img{ max-height:60px; max-width:160px; object-fit:contain; }
.partner-card h3{ font-family:var(--display); font-weight:800; font-size:24px; margin:0 0 5px; letter-spacing:-0.02em; }
.partner-card .cat{ font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:var(--azul); text-transform:uppercase; }
.partner-card p{ font-size:15.5px; color:var(--texto-2); line-height:1.5; margin:14px 0 22px; flex:1; }
.partner-card .more-link{ font-size:15px; }

/* Centros */
.centros{ background:var(--ambar-centros); border-top:1px solid rgba(232,102,31,0.2); }
.centers-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.center-card{ background:#fff; border:1px solid var(--linha); border-radius:22px; padding:0; overflow:hidden; display:flex; flex-direction:column; cursor:pointer; transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
.center-card:hover{ transform:translateY(-8px); border-color:var(--laranja); box-shadow:0 30px 60px -28px rgba(21,23,26,0.4); }
.center-cover{ aspect-ratio:16/9; overflow:hidden; background:var(--papel); }
.center-cover img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.center-card:hover .center-cover img{ transform:scale(1.06); }
.center-body{ padding:32px 38px 38px; display:flex; flex-direction:column; flex:1; }
.center-card .tag{ font-family:var(--mono); font-size:12px; letter-spacing:0.12em; color:var(--azul); text-transform:uppercase; }
.center-card h3{ font-family:var(--display); font-weight:800; font-size:30px; margin:12px 0 10px; letter-spacing:-0.02em; }
.center-card .sub{ font-size:16.5px; color:var(--texto-2); line-height:1.5; margin:0 0 22px; flex:1; }
.center-card .inc-chips{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.inc-chip{ font-family:var(--mono); font-size:11px; color:var(--texto-2); background:var(--papel); padding:6px 11px; border-radius:7px; }
.center-card .more-link{ font-size:15px; }

/* CTA final */
.cta{ background:#fff; padding:96px 0; scroll-margin-top:118px; }
.cta-card{ background:var(--grafite); border-radius:28px; padding:72px 56px; position:relative; overflow:hidden; text-align:center; }
.cta-card .cta-glow{ position:absolute; left:50%; top:-120px; transform:translateX(-50%); width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(232,102,31,0.18), transparent 65%); }
.cta-card .inner{ position:relative; }
.cta-card .sym{ width:34px; height:34px; margin:0 auto 24px; }
.cta-card h2{ font-family:var(--display); font-weight:800; font-size:54px; line-height:1.02; letter-spacing:-0.03em; color:var(--papel); margin:0 0 18px; }
.cta-card p{ font-size:20px; color:#B7B9BD; line-height:1.5; max-width:560px; margin:0 auto 38px; }
.cta-card .btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-outline-dark{ color:var(--papel); border:1.5px solid #3A3D41; background:transparent; padding:20px 38px; border-radius:14px; font-size:19px; }
.btn-outline-dark:hover{ border-color:var(--laranja); }
.cta-card .btn-lg{ font-size:19px; padding:20px 38px; border-radius:14px; }

/* Footer */
.footer{ background:var(--grafite-footer); padding:64px 28px 40px; }
.footer-inner{ max-width:1280px; margin:0 auto; }
.footer-cols{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid #25282C; }
.footer .desc{ font-size:15px; color:#9A9DA1; line-height:1.55; max-width:300px; margin:18px 0 0; }
.footer .col-h{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:var(--texto-2); text-transform:uppercase; margin-bottom:18px; }
.footer .col-links{ display:flex; flex-direction:column; gap:12px; }
.footer .col-links a{ font-size:15px; color:#C7C9CC; transition:color .2s; }
.footer .col-links a:hover{ color:var(--laranja); }
.footer .addr{ font-size:15px; color:#9A9DA1; line-height:1.55; margin:0 0 16px; }
.footer .insta{ font-family:var(--mono); font-size:13px; color:var(--laranja); }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; padding-top:28px; flex-wrap:wrap; gap:10px; }
.footer-bottom span{ font-family:var(--mono); font-size:12px; color:var(--texto-2); }

/* ===== Modals ===== */
.overlay{ position:fixed; inset:0; z-index:100; background:rgba(15,17,19,0.7); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:28px; }
.overlay[hidden]{ display:none; }
.modal{ background:#fff; border-radius:24px; width:100%; max-height:88vh; overflow:auto; }
.modal-close{ background:var(--papel); border:none; width:38px; height:38px; border-radius:50%; cursor:pointer; font-size:18px; color:var(--texto-2); line-height:1; flex:none; }

/* Product modal */
.modal-product{ max-width:960px; display:grid; grid-template-columns:1fr 1fr; }
.modal-product .mp-img{ background:#F1ECE2; display:flex; align-items:center; justify-content:center; padding:24px; position:relative; overflow:hidden; }
.modal-product .mp-img .glow{ position:absolute; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle, rgba(232,102,31,0.16), transparent 65%); }
.modal-product .mp-img img{ width:100%; max-width:560px; height:auto; position:relative; mix-blend-mode:multiply; }
.modal-product .mp-body{ padding:40px; }
.mp-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.modal-product h3{ font-family:var(--display); font-weight:800; font-size:34px; letter-spacing:-0.02em; margin:0 0 12px; }
.modal-product .mp-long{ font-size:17px; color:var(--texto-2); line-height:1.55; margin:0 0 26px; }
.mp-spec-h{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:#8A8D91; text-transform:uppercase; margin-bottom:14px; }
.mp-specs{ display:flex; flex-direction:column; gap:12px; margin-bottom:30px; }
.mp-spec{ display:flex; align-items:flex-start; gap:12px; }
.mp-spec .arr{ color:var(--laranja); font-weight:700; font-size:16px; margin-top:1px; }
.mp-spec span:last-child{ font-size:15.5px; color:var(--texto-3); line-height:1.4; }
.modal-cta{ font-family:var(--display); font-weight:700; font-size:17px; color:#fff; background:var(--laranja); padding:16px 28px; border-radius:12px; display:inline-flex; align-items:center; gap:10px; box-shadow:0 12px 28px -10px rgba(232,102,31,0.7); transition:background .25s; }
.modal-cta:hover{ background:var(--grafite); }

/* Partner modal */
.modal-partner{ max-width:1100px; max-height:90vh; }
.mpart-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 40px; border-bottom:1px solid #EEE8DE; position:sticky; top:0; background:#fff; z-index:2; }
.mpart-head .l{ display:flex; align-items:center; gap:18px; }
.mpart-head img{ max-height:46px; max-width:140px; object-fit:contain; }
.mpart-head h3{ font-family:var(--display); font-weight:800; font-size:25px; letter-spacing:-0.02em; margin:0; }
.mpart-head .cat{ font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:var(--azul); text-transform:uppercase; }
.mpart-body{ padding:28px 40px 36px; }
.mpart-body .desc{ font-size:17px; color:var(--texto-2); line-height:1.55; margin:0 0 26px; max-width:680px; }
.mpart-cat-h{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:#8A8D91; text-transform:uppercase; margin-bottom:16px; }
.mpart-cat-h span{ color:#B6AE9F; letter-spacing:0; }
.catalog{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.catalog .cell{ aspect-ratio:4/3; border:1px solid #EEE8DE; border-radius:14px; overflow:hidden; background:#fff; cursor:zoom-in; transition:border-color .25s; }
.catalog .cell:hover{ border-color:var(--laranja); }
.catalog .cell img{ width:100%; height:100%; object-fit:contain; display:block; }
.mpart-body .modal-cta{ margin-top:30px; }

/* Center modal */
.modal-center{ max-width:900px; padding:40px; }
.mc-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.modal-center .tag{ font-family:var(--mono); font-size:11px; letter-spacing:0.1em; color:var(--azul); text-transform:uppercase; }
.modal-center h3{ font-family:var(--display); font-weight:800; font-size:32px; letter-spacing:-0.02em; margin:8px 0 0; }
.mc-hero{ border-radius:14px; overflow:hidden; margin-bottom:24px; border:1px solid #EEE8DE; }
.mc-hero img{ width:100%; height:auto; display:block; }
.modal-center .mc-desc{ font-size:17px; color:var(--texto-2); line-height:1.6; margin:0 0 18px; }
.modal-center .mc-desc:last-of-type{ margin-bottom:30px; }
.mc-inc-h{ font-family:var(--mono); font-size:11px; letter-spacing:0.14em; color:#8A8D91; text-transform:uppercase; margin-bottom:14px; }
.mc-inc-h span{ color:#B6AE9F; letter-spacing:0; }
.mc-inc{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:30px; }
.mc-inc .item{ display:flex; align-items:center; gap:10px; }
.mc-inc .item .arr{ color:var(--laranja); font-weight:700; font-size:16px; }
.mc-inc .item span:last-child{ font-size:15.5px; color:var(--texto-3); }
.mc-feats{ display:grid; gap:14px; margin-bottom:32px; }
.mc-feat{ background:var(--papel); border:1px solid #EEE8DE; border-left:3px solid var(--laranja); border-radius:12px; padding:18px 22px; }
.mc-feat h4{ font-family:var(--display); font-weight:700; font-size:17px; margin:0 0 6px; letter-spacing:-0.01em; }
.mc-feat p{ margin:0; font-size:15.5px; line-height:1.55; color:var(--texto-2); }
.modal-center .catalog{ margin-bottom:32px; }
.mc-btns{ display:flex; flex-wrap:wrap; gap:14px; }
.modal-cta.ghost{ background:#fff; color:var(--grafite); border:1.5px solid var(--linha); box-shadow:none; }
.modal-cta.ghost:hover{ background:var(--grafite); color:#fff; border-color:var(--grafite); }

/* Catálogos (download) */
.catalogos{ margin-top:56px; background:#fff; border:1px solid var(--linha); border-radius:22px; padding:38px; display:grid; grid-template-columns:1fr 1.1fr; gap:32px; align-items:center; }
.catalogos .cat-t h3{ font-family:var(--display); font-weight:800; font-size:28px; letter-spacing:-0.02em; margin:10px 0 8px; }
.catalogos .cat-t p{ margin:0; font-size:16px; color:var(--texto-2); line-height:1.5; }
.cat-btns{ display:grid; gap:14px; }
.cat-btn{ display:flex; align-items:center; gap:16px; padding:18px 22px; border:1px solid var(--linha); border-radius:14px; background:var(--papel); color:var(--grafite); text-decoration:none; transition:border-color .25s, transform .25s, box-shadow .25s; }
.cat-btn:hover{ border-color:var(--laranja); transform:translateY(-2px); box-shadow:0 18px 34px -22px rgba(21,23,26,0.5); }
.cat-btn .ic{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.08em; color:#fff; background:var(--laranja); padding:8px 10px; border-radius:8px; flex:none; }
.cat-btn .tx{ display:flex; flex-direction:column; flex:1; }
.cat-btn .tx strong{ font-family:var(--display); font-weight:700; font-size:17px; }
.cat-btn .tx small{ font-size:13.5px; color:var(--texto-2); }
.cat-btn .dl{ font-size:20px; color:var(--laranja); font-weight:700; }

/* Lightbox */
.lightbox{ position:fixed; inset:0; z-index:120; background:rgba(15,17,19,0.92); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:40px; cursor:zoom-out; }
.lightbox[hidden]{ display:none; }
.lightbox img{ max-width:92%; max-height:90vh; object-fit:contain; border-radius:10px; box-shadow:0 40px 90px -30px rgba(0,0,0,0.7); }
.lightbox .lb-close{ position:fixed; top:24px; right:28px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3); width:46px; height:46px; border-radius:50%; cursor:pointer; font-size:20px; color:#fff; line-height:1; }

/* Reveal on scroll */
[data-reveal]{ opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal-group] > *{ opacity:0; transform:translateY(34px); transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
[data-reveal-group].in > *{ opacity:1; transform:none; }

/* ===== Mobile menu ===== */
.menu-btn{ display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:8px; }
.menu-btn span{ width:24px; height:2px; background:var(--grafite); display:block; border-radius:2px; }

/* ===== Responsive ===== */
@media (max-width:980px){
  .hero .container{ grid-template-columns:1fr; }
  .showcase{ min-height:auto; order:-1; }
  .quem-head, .mission .container, .centers-grid, .catalogos{ grid-template-columns:1fr; }
  .reasons-grid, .partners-grid, .values-grid, .products-grid{ grid-template-columns:1fr 1fr; }
  .footer-cols{ grid-template-columns:1fr 1fr; }
  .modal-product{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .nav{ position:fixed; top:79px; left:0; right:0; background:rgba(246,242,234,0.98); backdrop-filter:blur(14px); flex-direction:column; align-items:stretch; gap:0; padding:8px 0; border-bottom:1px solid var(--linha); transform:translateY(-130%); transition:transform .3s ease; }
  .nav.open{ transform:translateY(0); }
  .nav a.link{ padding:14px 28px; }
  .nav a.btn{ margin:10px 28px; justify-content:center; }
  .menu-btn{ display:flex; }
  .hero h1{ font-size:48px; }
  .hero .lede{ font-size:18px; }
  .stage{ width:300px; height:340px; }
  .showcase .glow, .showcase .arcs{ display:none; }
  .showcase .float-card{ position:relative; bottom:auto; margin-top:18px; }
  .sec h2, .quem-head h2, .produtos h2, .porque .head h2{ font-size:34px; }
  .cta-card{ padding:48px 24px; }
  .cta-card h2{ font-size:34px; }
  .mission .stmt{ font-size:26px; }
  .reasons-grid, .partners-grid, .values-grid, .products-grid, .footer-cols, .chips{ grid-template-columns:1fr; }
  .chips{ display:flex; }
  .container{ padding:0 18px; }
  .modal-center{ padding:26px 22px; }
  .mc-inc{ grid-template-columns:1fr; }
  .catalog{ grid-template-columns:1fr 1fr; }
  .catalogos{ padding:26px 22px; }
  .center-body{ padding:26px 24px 30px; }
}
