/* ═══════════════════════════════════════════════
   BOTEZINI — DESIGN SYSTEM CSS
   Based on Manual da Marca v1.0 (2025)
═══════════════════════════════════════════════ */

/* ── TOKENS ──────────────────────────────────── */
:root {
  --ink:      #080808;
  --ink2:     #111111;
  --ink3:     #1a1a1a;
  --ink4:     #252525;
  --max:      1200px;
  --paper:    #F7F2E8;
  --paper2:   #EDE7D8;
  --paper3:   #E0D8C8;
  --ink-paper: #2C261A;   /* dark text for paper bg */
  --gold:     #C9A84C;
  --gold-l:   #E2C87A;
  --gold-ll:  #EDD89A;
  --gold-d:   #9A7B2E;
  --gold-dd:  #6B5520;
  --white:    #FAFAF8;
  --gray1:    #999;
  --gray2:    #666;
  --gray3:    #444;
  --red-err:  #B84040;
  --green-ok: #3D6B45;
  --f-display: 'Playfair Display', Georgia, serif;
  --f-body:    'Cormorant Garamond', 'Times New Roman', serif;
  --f-ui:      'Montserrat', Helvetica, sans-serif;
}

/* ── SCROLLBAR ───────────────────────────────── */
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:var(--ink); }
::-webkit-scrollbar-thumb { background:rgba(201,168,76,0.3); border:2px solid var(--ink); border-radius:10px; transition:background .3s; }
::-webkit-scrollbar-thumb:hover { background:var(--gold); }
html { scrollbar-color: rgba(201,168,76,0.3) var(--ink); scrollbar-width: thin; }

/* ── RESET ───────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { background:var(--ink); color:var(--white); font-family:var(--f-ui); font-weight:400; line-height:1.6; overflow-x:hidden; }
::selection { background:rgba(201,168,76,.35); color:var(--white); }

/* ── CENTERED CONTAINER ──────────────────────── */
.container { max-width:var(--max); margin:0 auto; width:100%; }
a { text-decoration:none; color:inherit; }
ul, ol { list-style:none; }
img { max-width:100%; display:block; }
button { border:none; cursor:pointer; font-family:inherit; }

/* ── NAV ─────────────────────────────────────── */
nav { position:fixed; top:0; left:0; right:0; z-index:9999; padding:0 44px; height:56px; display:flex; align-items:center; gap:4px; background:rgba(8,8,8,0); transition:background .3s, border-color .3s, backdrop-filter .3s; border-bottom:1px solid transparent; }
nav.scrolled { background:rgba(8,8,8,.97); border-bottom-color:rgba(201,168,76,.2); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.nav-logo { font-family:var(--f-display); color:var(--gold); font-size:15px; font-weight:700; letter-spacing:3px; margin-right:18px; flex-shrink:0; }
.nav-links { display:flex; align-items:center; gap:2px; flex:1; }
.nav-links a { color:var(--gray1); font-size:9px; letter-spacing:2px; text-transform:uppercase; padding:8px 10px; border-bottom:2px solid transparent; transition:color .2s; white-space:nowrap; font-weight:500; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-links a.active { border-bottom-color:var(--gold); }
.nav-cta { margin-left:auto; background:var(--gold); color:var(--ink); padding:10px 24px; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; transition:transform .2s, box-shadow .2s; flex-shrink:0; }
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(201,168,76,.25); }
.menu-btn { display:none; background:transparent; flex-direction:column; gap:5px; z-index:10000; padding:5px; }
.menu-btn span { display:block; width:22px; height:2px; background:var(--gold); transition:all .3s; }

/* ── HERO ────────────────────────────────────── */
.hero { min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; position:relative; overflow:hidden; padding:100px 40px; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; opacity:.3; mix-blend-mode:luminosity; }
.hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, var(--ink) 5%, transparent 40%, rgba(8,8,8,.6) 100%); }
.hero-grain { position:absolute; inset:0; pointer-events:none; z-index:1; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); opacity:.7; }
.hero-glow { position:absolute; width:700px; height:700px; border-radius:50%; background:radial-gradient(ellipse, rgba(201,168,76,.08) 0%, transparent 70%); top:40%; left:50%; transform:translate(-50%,-50%); pointer-events:none; z-index:1; }
.hero-content { position:relative; z-index:2; max-width:900px; }
.hero-eyebrow { font-size:9px; letter-spacing:6px; text-transform:uppercase; color:var(--gold); margin-bottom:36px; display:block; }
.hero-bz { font-family:var(--f-display); font-size:clamp(100px,20vw,200px); font-weight:900; line-height:.9; letter-spacing:-4px; background:linear-gradient(150deg, var(--gold-dd) 0%, var(--gold-d) 18%, var(--gold-l) 42%, var(--gold-ll) 54%, var(--gold) 66%, var(--gold-d) 82%, var(--gold-dd) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:block; margin-bottom:16px; animation:shimmer 8s ease-in-out infinite alternate; background-size:200% auto; }
@keyframes shimmer { 0%{background-position:0% center} 100%{background-position:100% center} }
.hero h1 { font-family:var(--f-display); font-size:clamp(24px,4.5vw,52px); font-weight:400; font-style:italic; line-height:1.2; color:var(--white); margin-bottom:20px; }
.hero-sub { font-family:var(--f-body); font-size:clamp(15px,2vw,18px); color:var(--gray1); letter-spacing:.5px; font-weight:300; margin-bottom:44px; line-height:1.7; max-width:640px; margin-left:auto; margin-right:auto; }
.hero-rule { width:1px; height:70px; background:linear-gradient(to bottom, transparent, var(--gold), transparent); margin:0 auto 36px; }
.hero-ctas { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.hero-bar { position:absolute; bottom:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--gold-dd), var(--gold-l), var(--gold-ll), var(--gold), var(--gold-l), var(--gold-dd)); z-index:3; }

/* ── BUTTONS ─────────────────────────────────── */
.btn-primary { display:inline-block; background:var(--gold); color:var(--ink); padding:16px 40px; font-family:var(--f-ui); font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; border:none; cursor:pointer; transition:transform .2s, box-shadow .2s; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(201,168,76,.25); }
.btn-secondary { display:inline-block; background:transparent; color:var(--gold); border:1px solid rgba(201,168,76,.4); padding:15px 40px; font-family:var(--f-ui); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; transition:all .2s; }
.btn-secondary:hover { background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* ── SECTIONS ────────────────────────────────── */
.section { padding:100px 80px; }
.section > *:not(.pillars):not(.products-grid):not(.features-grid):not(.kits-grid):not(.plans-grid):not(.stats-grid):not(.fabric-table-wrapper):not(.calc-table-wrapper):not(.var-section-block) { max-width:var(--max); margin-left:auto; margin-right:auto; }

/* ── VARIATIONS SECTION ─────────────────────── */
.var-section-block { max-width:var(--max); margin:0 auto; }
.var-tabs { display:flex; gap:0; border-bottom:1px solid rgba(201,168,76,.2); margin-bottom:48px; flex-wrap:wrap; }
.var-tab { font-family:var(--f-ui); font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:16px 24px; color:#777; border-bottom:2px solid transparent; cursor:pointer; transition:all .2s; background:none; border-top:none; border-left:none; border-right:none; }
.var-tab:hover { color:var(--gold); }
.var-tab.active { color:var(--gold); border-bottom-color:var(--gold); }
.var-panel { display:none; }
.var-panel.active { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:2px; }
.var-item { background:var(--ink2); padding:24px 18px; display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; transition:background .2s; }
.var-item:hover { background:var(--ink4); }
.var-icon { width:48px; height:48px; display:flex; align-items:center; justify-content:center; }
.var-icon svg { width:100%; height:100%; }
.var-name { font-family:var(--f-ui); font-size:11px; font-weight:600; letter-spacing:.5px; color:#c0c0c0; line-height:1.4; }
.section.dark  { background:var(--ink2); }
.section.dark2 { background:var(--ink3); }
.section.black { background:var(--ink); }
.sec-label { font-family:var(--f-ui); font-size:8px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:14px; }
.sec-title { font-family:var(--f-display); font-size:clamp(28px,5vw,56px); font-weight:400; line-height:1.1; margin-bottom:16px; color:var(--white); }
.sec-rule { width:44px; height:1px; background:var(--gold); margin-bottom:40px; }
.body-lg { font-family:var(--f-body); font-size:19px; color:#b0b0b0; line-height:1.85; font-weight:400; }
.body-md { font-family:var(--f-body); font-size:17px; color:#b0b0b0; line-height:1.8; font-weight:400; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.three-col { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }

/* ── PILLARS 3D CARROUSEL ─────────────────────── */
.pillars-container { margin-top:60px; position:relative; padding:60px 0 20px; overflow:visible; }
.pillars-scene { perspective:1000px; width:100%; display:flex; align-items:center; justify-content:center; height:360px; overflow:visible; position:relative; }
.pillars-track { position:relative; width:100%; height:100%; transform-style:preserve-3d; overflow:visible; }
.pillar {
  position:absolute;
  width:300px;
  height:100%;
  top:0; left:50%;
  margin-left:-150px;
  padding:42px 34px;
  background:var(--ink3);
  border-top:3px solid var(--gold);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  transition:all .7s cubic-bezier(0.23, 1, 0.32, 1);
  display:flex; flex-direction:column; align-items:center; text-align:center;
  justify-content:center;
  backface-visibility:hidden;
  will-change:transform, opacity;
}
.pillar[data-pos="0"] { transform:translateX(0) scale(1); opacity:1; z-index:10; }
.pillar[data-pos="1"] { transform:translateX(340px) rotateY(-25deg) scale(0.82); opacity:0.55; z-index:5; filter:brightness(0.7); }
.pillar[data-pos="-1"] { transform:translateX(-340px) rotateY(25deg) scale(0.82); opacity:0.55; z-index:5; filter:brightness(0.7); }
.pillar[data-pos="2"] { transform:translateX(600px) rotateY(-40deg) scale(0.65); opacity:0.25; z-index:2; filter:brightness(0.5); }
.pillar[data-pos="-2"] { transform:translateX(-600px) rotateY(40deg) scale(0.65); opacity:0.25; z-index:2; filter:brightness(0.5); }
.pillar[data-pos="other"] { opacity:0; pointer-events:none; }
.pillar-icon { width:60px; height:60px; margin-bottom:22px; color:var(--gold); }
.pillar-icon svg { width:100%; height:100%; }
.pillar h4 { font-family:var(--f-display); font-size:24px; color:var(--white); margin-bottom:16px; font-weight:700; letter-spacing:1px; }
.pillar p { font-family:var(--f-body); font-size:18px; color:#ccc; line-height:1.8; font-weight:400; }
.pillar[data-pos="0"] h4 { color:var(--gold-l); }
.pillar[data-pos="0"] p { color:#ddd; }
.carrousel-nav { display:flex; justify-content:center; gap:14px; margin-top:48px; }
.carrousel-dot { width:9px; height:9px; border-radius:50%; background:var(--gray3); cursor:pointer; transition:all .3s; border:1px solid rgba(201,168,76,.2); }
.carrousel-dot.active { background:var(--gold); transform:scale(1.6); box-shadow:0 0 10px rgba(201,168,76,.4); }
.pillars-arrow { position:absolute; top:48%; transform:translateY(-50%); background:rgba(8,8,8,0.8); backdrop-filter:blur(6px); border:2px solid var(--gold); color:var(--white); width:48px; height:48px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:22px; transition:all .3s ease; z-index:20; box-shadow:0 0 15px rgba(201,168,76,0.3); }
.pillars-arrow:hover { background:var(--gold); color:var(--ink); border-color:var(--gold); transform:translateY(-50%) scale(1.1); box-shadow:0 0 25px rgba(201,168,76,0.5); }
.pillars-arrow.left { left:calc(50% - clamp(230px, 20vw, 300px) - 70px); }
.pillars-arrow.right { right:calc(50% - clamp(230px, 20vw, 300px) - 70px); }

/* ── VAR-CARD CAROUSEL ────────────────────────── */
.var-carousel-wrap { position:relative; padding:40px 0 60px; overflow:visible; }
.var-carousel-scene { perspective:1400px; width:100%; display:flex; align-items:center; justify-content:center; height:420px; overflow:visible; position:relative; }
.var-carousel-track { position:relative; width:100%; height:100%; transform-style:preserve-3d; overflow:visible; }
.var-card {
  position:absolute;
  width:clamp(560px, 55vw, 720px);
  height:100%;
  left:50%; top:0;
  transform:translateX(-50%);
  background:var(--ink3);
  border-top:2px solid var(--gold);
  border:1px solid rgba(201,168,76,.12);
  border-top:2px solid var(--gold);
  padding:36px 44px;
  display:flex; flex-direction:column; gap:28px;
  transition:all .65s cubic-bezier(0.23, 1, 0.32, 1);
  backface-visibility:hidden;
  will-change:transform, opacity;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
  justify-content:center;
}
.var-card[data-pos="0"] { transform:translateX(-50%) scale(1); opacity:1; z-index:10; }
.var-card[data-pos="1"] { transform:translateX(calc(-50% + 68%)) rotateY(-22deg) scale(0.78); opacity:0.45; z-index:5; filter:brightness(0.6); }
.var-card[data-pos="-1"] { transform:translateX(calc(-50% - 68%)) rotateY(22deg) scale(0.78); opacity:0.45; z-index:5; filter:brightness(0.6); }
.var-card[data-pos="2"] { transform:translateX(calc(-50% + 115%)) rotateY(-38deg) scale(0.58); opacity:0.18; z-index:2; filter:brightness(0.4); }
.var-card[data-pos="-2"] { transform:translateX(calc(-50% - 115%)) rotateY(38deg) scale(0.58); opacity:0.18; z-index:2; filter:brightness(0.4); }
.var-card[data-pos="other"] { opacity:0; pointer-events:none; }

.var-card-header { display:flex; align-items:flex-start; gap:20px; border-bottom:1px solid rgba(201,168,76,.15); padding-bottom:22px; }
.var-card-num { font-family:var(--f-display); font-size:52px; color:rgba(201,168,76,.12); line-height:1; font-weight:900; flex-shrink:0; margin-top:-8px; }
.var-card-label { font-family:var(--f-ui); font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); font-weight:700; display:block; margin-bottom:4px; }
.var-card-title { font-family:var(--f-display); font-size:22px; color:var(--white); font-weight:700; line-height:1.1; }
.var-card-line { flex:1; height:1px; background:linear-gradient(to right, rgba(201,168,76,.3), transparent); margin-top:14px; }

.var-card-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
.var-card-item { display:flex; align-items:center; gap:16px; padding:14px 18px; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.04); transition:all .2s; }
.var-card[data-pos="0"] .var-card-item:hover { background:rgba(201,168,76,.06); border-color:rgba(201,168,76,.2); }
.var-card-icon { width:44px; height:44px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:rgba(201,168,76,.04); border:1px solid rgba(201,168,76,.15); }
.var-card-icon svg { width:28px; height:28px; }
.var-card-icon--label { font-family:var(--f-ui); font-size:9px; font-weight:800; letter-spacing:1px; color:var(--gold); text-align:center; line-height:1.3; text-transform:uppercase; }
.var-card-name { font-family:var(--f-ui); font-size:12px; font-weight:600; color:#d0d0d0; letter-spacing:.3px; line-height:1.4; }

.var-arrow { position:absolute; top:48%; transform:translateY(-50%); background:rgba(8,8,8,0.8); backdrop-filter:blur(6px); border:2px solid var(--gold); color:var(--white); width:48px; height:48px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:22px; transition:all .3s ease; z-index:20; box-shadow:0 0 15px rgba(201,168,76,0.3); }
.var-arrow:hover { background:var(--gold); color:var(--ink); border-color:var(--gold); transform:translateY(-50%) scale(1.1); box-shadow:0 0 25px rgba(201,168,76,0.5); }
.var-arrow--left { left:calc(50% - clamp(300px, 30vw, 400px) - 70px); }
.var-arrow--right { right:calc(50% - clamp(300px, 30vw, 400px) - 70px); }

/* ── COMPARISON TABLE ────────────────────────── */
.calc-table-wrapper { max-width:900px; margin:0 auto; background:var(--ink); border:1px solid rgba(201,168,76,.3); padding:40px; overflow-x:auto; }
.calc-table { width:100%; border-collapse:collapse; min-width:600px; }
.calc-table th { padding:15px; border-bottom:1px solid rgba(255,255,255,.1); color:var(--gold-l); text-transform:uppercase; font-size:11px; letter-spacing:2px; font-weight:700; text-align:left; }
.calc-table td { padding:20px 15px; border-bottom:1px solid rgba(255,255,255,.06); font-size:15px; color:#c0c0c0; font-weight:500; }
.calc-table tr:last-child td { border-bottom:none; }
.tr-highlight { background:rgba(201,168,76,.05); }
.text-green { color:var(--green-ok); font-weight:600; }
.text-red { color:var(--red-err); font-weight:500; }

/* ── ROI COMPARISON ──────────────────────────── */
.roi-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:1000px; margin:0 auto; align-items:center; }
.vs-card { 
  background:var(--ink2); 
  border:1px solid rgba(255,255,255,.05); 
  padding:40px; 
  position:relative; 
  transition:all .4s;
}
.vs-card.competitor { opacity:0.6; transform:scale(0.95); border-color:transparent; }
.vs-card.botezini { 
  border:2px solid var(--gold); 
  box-shadow:0 30px 60px rgba(0,0,0,.6); 
  z-index:2; 
  background:var(--ink3);
  transform:scale(1.05);
}
.vs-header { margin-bottom:30px; }
.vs-label { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--gray1); margin-bottom:8px; display:block; }
.vs-card.botezini .vs-label { color:var(--gold); }
.vs-name { font-family:var(--f-display); font-size:28px; font-weight:700; color:var(--white); }
.vs-card.botezini .vs-name { color:var(--gold-l); }
.vs-stats { display:flex; flex-direction:column; gap:20px; }
.vs-stat { border-bottom:1px solid rgba(255,255,255,.04); padding-bottom:15px; }
.vs-stat:last-child { border-bottom:none; }
.vs-stat-label { font-size:10px; color:var(--gray2); text-transform:uppercase; letter-spacing:1px; margin-bottom:4px; }
.vs-stat-val { font-size:18px; font-weight:600; }
.vs-stat.bad .vs-stat-val { color:var(--red-err); }
.vs-stat.good .vs-stat-val { color:var(--green-ok); }
.vs-impact { margin-top:30px; padding:20px; background:rgba(0,0,0,.2); border-left:3px solid var(--gray3); }
.vs-card.botezini .vs-impact { border-left-color:var(--gold); background:rgba(201,168,76,.05); }
.vs-tag { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; display:block; margin-bottom:5px; }

/* ── ROI CALC FOOTER ────────────────────────── */
.roi-calc-summary { 
  margin:60px auto 0; 
  max-width:800px; 
  background:rgba(201,168,76,.05); 
  border:1px solid rgba(201,168,76,.15); 
  border-radius:4px;
  padding:30px; 
  display:grid; 
  grid-template-columns:1fr auto 1fr; 
  align-items:center; 
  gap:40px;
}
.roi-calc-side { text-align:center; }
.roi-calc-val { display:block; font-family:var(--f-display); font-size:32px; font-weight:700; color:var(--white); margin:5px 0; }
.roi-calc-side.bad .roi-calc-val { color:var(--red-err); text-decoration:line-through; }
.roi-calc-side.good .roi-calc-val { color:var(--gold-l); }
.roi-calc-label { font-size:10px; text-transform:uppercase; letter-spacing:1px; color:var(--gray2); }
.roi-calc-arrow { font-size:24px; color:var(--gold); opacity:0.5; }
.roi-calc-msg { grid-column:1/-1; text-align:center; padding-top:20px; border-top:1px solid rgba(201,168,76,.1); color:var(--gold); font-weight:700; letter-spacing:1px; text-transform:uppercase; font-size:14px; }

@media (max-width:768px) {
  .roi-calc-summary { grid-template-columns:1fr; gap:20px; padding:20px; }
  .roi-calc-arrow { transform:rotate(90deg); }
}

@media (max-width:900px) {
  .roi-grid { grid-template-columns:1fr; gap:60px; }
  .vs-card.botezini { transform:none; }
  .vs-card.competitor { transform:none; opacity:1; }
}

/* ── FEATURE CARDS ───────────────────────────── */
.features-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:30px; max-width:1100px; margin:50px auto 0; }
.feature-card { background:var(--ink3); padding:35px; border-top:2px solid var(--gold); }
.feature-card h3 { font-family:var(--f-display); font-size:22px; color:var(--white); margin-bottom:15px; font-weight:700; }
.feature-card ul { color:#b8b8b8; line-height:1.9; font-size:15px; font-weight:500; }
.feature-card ul li::before { content:'•'; color:var(--gold); margin-right:8px; }

/* ── LINE NAVIGATION GRID ────────────────────── */
.lines-grid { display:grid; grid-template-columns:repeat(5,1fr); min-height:550px; }
.line-card { position:relative; overflow:hidden; border-right:1px solid rgba(201,168,76,.06); cursor:pointer; display:block; text-decoration:none; }
.line-card:last-child { border-right:none; }
.line-card-bg { position:absolute; inset:0; background:var(--ink3); transform:translateY(100%); transition:transform .5s ease; }
.line-card-img { position:absolute; inset:0; }
.line-card-img img { width:100%; height:100%; object-fit:cover; opacity:.12; transition:opacity .5s; }
.line-card:hover .line-card-bg { transform:translateY(0); }
.line-card:hover .line-card-img img { opacity:.28; }
.line-card-content { position:relative; z-index:2; height:100%; padding:48px 36px; display:flex; flex-direction:column; justify-content:space-between; }
.line-card-line { font-family:var(--f-ui); font-size:9px; letter-spacing:3px; color:var(--gold); text-transform:uppercase; font-weight:700; margin-bottom:6px; display:block; }
.line-card h4 { font-family:var(--f-display); font-size:30px; color:var(--white); margin-bottom:12px; transition:color .3s; font-weight:700; }
.line-card:hover h4 { color:var(--gold); }
.line-card-desc { font-family:var(--f-body); font-size:16px; color:#c0c0c0; opacity:0; transition:opacity .5s; line-height:1.6; font-weight:400; }
.line-card:hover .line-card-desc { opacity:1; }
.line-card-arrow { font-size:12px; color:var(--gold); opacity:0; transition:opacity .4s; margin-top:8px; font-family:var(--f-ui); letter-spacing:2px; text-transform:uppercase; font-weight:700; }
.line-card:hover .line-card-arrow { opacity:1; }
.line-card-bar { width:40px; height:1px; background:var(--gold); transition:width .5s; }
.line-card:hover .line-card-bar { width:100%; }

/* ── SECTION DIVIDER ─────────────────────────── */
.sec-divider { min-height:36vh; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; background:var(--ink3); text-align:center; padding:60px 20px; }
.sec-divider::before { content:attr(data-bg); position:absolute; font-family:var(--f-display); font-size:clamp(60px,14vw,200px); font-weight:700; color:rgba(201,168,76,.04); top:50%; left:50%; transform:translate(-50%,-50%); white-space:nowrap; pointer-events:none; }
.sec-divider-content { position:relative; z-index:1; }
.sec-divider-title { font-family:var(--f-display); font-size:clamp(28px,6vw,56px); color:var(--white); font-weight:700; line-height:1; margin-bottom:15px; }
.sec-divider-sub { font-size:clamp(14px,2vw,17px); color:#bbb; max-width:640px; margin:0 auto; line-height:1.7; font-weight:500; }
.sec-divider-line { width:40px; height:2px; background:var(--gold); margin:20px auto; }

/* ── PRODUCT CARDS ───────────────────────────── */
.products-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%,320px),1fr)); gap:48px 40px; justify-content:center; padding:40px 0; max-width:var(--max); margin:0 auto; }
.product-card { background:transparent; border:1px solid rgba(255,255,255,.03); padding:30px 26px; display:flex; flex-direction:column; gap:16px; transition:all .3s; position:relative; overflow:hidden; }
.product-card:hover { background:var(--ink4); border-color:rgba(201,168,76,.2); transform:translateY(-5px); }
.product-card::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, var(--gold), transparent); opacity:0; transition:opacity .3s; }
.product-card:hover::after { opacity:1; }

.product-illus { height:220px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; background:rgba(255,255,255,0.02); margin-bottom:10px; }
.product-illus svg { max-height:180px; max-width:160px; transition:opacity .5s ease, transform .5s cubic-bezier(0.165, 0.84, 0.44, 1); position:relative; z-index:1; }
.product-photo { position:absolute; inset:0; opacity:0; transition:opacity .5s ease, transform .5s cubic-bezier(0.165, 0.84, 0.44, 1); transform:scale(1.1); z-index:2; }
.product-photo img { width:100%; height:100%; object-fit:cover; }

/* Elegant Swap Hover */
.product-card:hover .product-illus svg { opacity:0; transform:scale(0.85); }
.product-card:hover .product-photo { opacity:1; transform:scale(1); }

/* Discrete Hover Indicator */
.hover-hint { position:absolute; bottom:12px; right:12px; font-size:8px; font-weight:700; color:var(--gold); letter-spacing:1px; text-transform:uppercase; z-index:3; opacity:.6; transition:opacity .3s; display:flex; align-items:center; gap:6px; }
.hover-hint::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulse 2s infinite; }
@keyframes pulse { 0% { opacity: 1; transform: scale(1); } 50% { opacity: .3; transform: scale(1.5); } 100% { opacity: 1; transform: scale(1); } }
.product-card:hover .hover-hint { opacity:0; }
.product-code { font-size:10px; font-weight:700; letter-spacing:3px; color:var(--gold-l); text-transform:uppercase; }
.product-name { font-family:var(--f-display); font-size:19px; color:var(--white); line-height:1.3; font-weight:700; }
.product-tags { display:flex; gap:5px; flex-wrap:wrap; margin-top:auto; }
.ptag { font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:5px 10px; border:1px solid rgba(201,168,76,.3); color:#c0c0c0; }
.ptag.highlight { background:rgba(201,168,76,.12); color:var(--gold-l); border-color:var(--gold); }

/* ── KITS ────────────────────────────────────── */
.kits-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%,300px),1fr)); gap:20px; margin:50px auto 0; max-width:var(--max); }
.kit-card {
  background:var(--ink2);
  padding:44px 40px 40px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-left:4px solid var(--gold);
  transition:all .3s;
}
.kit-card:hover { background:var(--ink3); border-left-color:var(--gold-l); transform:translateX(4px); box-shadow:0 10px 40px rgba(0,0,0,.5); }
.kit-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, var(--gold), transparent); }
.kit-num { font-family:var(--f-display); font-size:80px; color:rgba(201,168,76,.06); line-height:1; font-weight:900; position:absolute; top:10px; right:20px; transition:color .3s; }
.kit-card:hover .kit-num { color:rgba(201,168,76,.12); }
.kit-name { font-family:var(--f-display); font-size:24px; color:var(--gold-l); margin-bottom:8px; font-weight:700; line-height:1.2; }
.kit-line { font-size:9px; letter-spacing:3px; color:var(--gold); text-transform:uppercase; margin-bottom:28px; display:block; font-weight:800; }
.kit-items { margin-top:4px; }
.kit-items li { font-size:14px; color:#d0d0d0; display:flex; align-items:center; gap:10px; padding:7px 0; font-weight:500; border-bottom:1px solid rgba(255,255,255,.04); }
.kit-items li:last-child { border-bottom:none; }
.kit-items li::before { content:'✔'; color:var(--gold); font-size:10px; flex-shrink:0; font-weight:800; }

/* ── PLANS ───────────────────────────────────── */
.plans-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:24px; margin:50px auto 0; align-items:stretch; max-width:var(--max); }
.plan-card { background:var(--ink3); padding:40px; border:1px solid rgba(255,255,255,.05); position:relative; overflow:hidden; display:flex; flex-direction:column; transition:all .4s cubic-bezier(0.165, 0.84, 0.44, 1); }
.plan-card:hover { transform:translateY(-10px); border-color:rgba(201,168,76,.3); box-shadow:0 20px 40px rgba(0,0,0,.4); }
.plan-card.featured { border:2px solid var(--gold); background:var(--ink4); transform:scale(1.05); z-index:10; }
.plan-card.featured:hover { transform:translateY(-10px) scale(1.05); }
.plan-tag { position:absolute; top:0; right:0; padding:6px 16px; font-size:9px; font-weight:800; letter-spacing:2px; text-transform:uppercase; background:rgba(255,255,255,0.05); color:var(--gold); }
.plan-card h3 { font-family:var(--f-display); font-size:24px; color:var(--white); margin-bottom:12px; font-weight:700; }
.plan-desc { font-size:15px; color:var(--gray1); line-height:1.6; margin-bottom:24px; }
.plan-list { margin-bottom:32px; flex-grow:1; }
.plan-list li { font-size:14px; color:#c0c0c0; margin-bottom:10px; display:flex; align-items:flex-start; gap:10px; }
.plan-list li::before { content:'•'; color:var(--gold); font-size:20px; line-height:0.8; }
.btn-outline { display:inline-block; border:1px solid rgba(201,168,76,.4); color:var(--gold); padding:14px; text-align:center; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; transition:all .2s; }
.btn-outline:hover { background:var(--gold); color:var(--ink); }

/* ── ANALYSIS OVERLAY ────────────────────────── */
.analysis-overlay { position:fixed; inset:0; z-index:10000; background:rgba(8,8,8,.95); backdrop-filter:blur(10px); display:none; align-items:center; justify-content:center; padding:20px; }
.analysis-overlay.active { display:flex; }
.analysis-box { background:var(--ink2); border:1px solid var(--gold); width:100%; max-width:600px; padding:40px; box-shadow:0 0 50px rgba(201,168,76,.15); position:relative; }
.analysis-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:30px; border-bottom:1px solid rgba(201,168,76,.2); padding-bottom:20px; }
.analysis-title { font-family:var(--f-display); font-size:20px; color:var(--gold); letter-spacing:1px; }
.analysis-status { font-size:10px; font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:2px; background:rgba(201,168,76,.1); padding:4px 10px; }
.analysis-terminal { background:rgba(0,0,0,.4); border-radius:4px; padding:20px; font-family:'Courier New', monospace; font-size:12px; color:var(--paper); height:180px; overflow-y:auto; margin-bottom:30px; border:1px solid rgba(255,255,255,0.05); }
.terminal-line { margin-bottom:8px; opacity:0; transform:translateX(-10px); animation:fadeInRight .3s forwards; }
@keyframes fadeInRight { to { opacity:1; transform:translateX(0); } }
.analysis-progress-wrap { height:2px; background:rgba(255,255,255,.05); width:100%; margin-bottom:15px; }
.analysis-progress-bar { height:100%; background:var(--gold); transition:width 0.4s ease; box-shadow:0 0 10px var(--gold); }

/* ── STATS ───────────────────────────────────── */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:40px; text-align:center; max-width:900px; margin:0 auto; }
.stat-number { font-family:var(--f-display); font-size:clamp(42px,8vw,72px); color:var(--gold-l); line-height:1; font-weight:700; }
.stat-label { font-family:var(--f-ui); font-size:10px; letter-spacing:3px; text-transform:uppercase; color:#a0a0a0; margin-top:12px; font-weight:600; }

/* ── FABRIC TABLE ────────────────────────────── */
.fabric-table-wrapper { overflow-x:auto; max-width:1000px; margin:40px auto 0; }
.fabric-table { width:100%; border-collapse:collapse; min-width:700px; }
.fabric-table th { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold-l); padding:15px 18px; text-align:left; border-bottom:1px solid rgba(201,168,76,.3); }
.fabric-table td { padding:16px 18px; font-size:14px; color:#b0b0b0; border-bottom:1px solid rgba(255,255,255,.06); font-weight:500; }
.fabric-table tr:hover td { background:rgba(201,168,76,.04); }
.fabric-table td:first-child { color:var(--white); font-weight:700; }

/* ── CONTACT ─────────────────────────────────── */
.contact-section { position:relative; overflow:hidden; }
.contact-section::before { content:'BZ'; position:absolute; font-family:var(--f-display); font-size:30vw; font-weight:900; color:rgba(201,168,76,.03); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; white-space:nowrap; }
.contact-content { position:relative; z-index:1; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:1000px; margin:60px auto 0; }
.contact-form { display:flex; flex-direction:column; gap:20px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--gold-l); font-weight:700; }
.form-group input, .form-group select, .form-group textarea { background:rgba(255,255,255,.03); border:none; border-bottom:1px solid rgba(255,255,255,.15); color:var(--white); font-family:var(--f-ui); font-size:14px; padding:12px 4px; transition:border-color .3s; outline:none; font-weight:500; }
.form-group input::placeholder, .form-group textarea::placeholder { color:#555; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-bottom-color:var(--gold); box-shadow:0 4px 8px -4px rgba(201,168,76,.2); }
.form-group select { cursor:pointer; }
.form-group select option { background:var(--ink2); color:var(--white); }
.form-group textarea { resize:vertical; min-height:100px; }
.contact-info { display:flex; flex-direction:column; gap:30px; }
.contact-item h4 { font-size:9px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.contact-item p { font-family:var(--f-display); font-size:18px; color:var(--white); font-weight:600; }
.contact-item .detail { font-family:var(--f-body); font-size:15px; color:#aaa; margin-top:4px; font-weight:400; }
.form-success { display:none; padding:20px; border:1px solid var(--green-ok); color:var(--green-ok); text-align:center; font-size:14px; }
.form-success.show { display:block; }

/* ── FOOTER ──────────────────────────────────── */
.footer { background:var(--gold); padding:16px 60px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer span { font-size:9px; letter-spacing:2px; color:var(--ink); font-weight:600; text-transform:uppercase; }
.footer a { font-size:9px; letter-spacing:2px; color:var(--ink); font-weight:600; text-transform:uppercase; opacity:.7; transition:opacity .2s; }
.footer a:hover { opacity:1; }

/* ── WPP FLOAT BUTTON ────────────────────────── */
.wpp-float { position:fixed; bottom:28px; right:28px; z-index:9998; width:54px; height:54px; background:var(--gold); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 24px rgba(201,168,76,.35); transition:transform .2s, box-shadow .2s; }
.wpp-float:hover { transform:translateY(-3px) scale(1.05); box-shadow:0 10px 32px rgba(201,168,76,.45); }
.wpp-float svg { width:26px; height:26px; fill:var(--ink); }

/* ── PARTNERS TICKER ────────────────────────── */
.partners-section { background:var(--ink); padding:40px 0; border-top:1px solid rgba(201,168,76,0.1); border-bottom:1px solid rgba(201,168,76,0.1); overflow:hidden; }
.partners-title { text-align:center; font-family:var(--f-ui); font-size:9px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:30px; opacity:0.7; }
.ticker-wrap { width:100%; overflow:hidden; position:relative; display:flex; }
.ticker-track { display:flex; align-items:center; width:max-content; animation:ticker 50s linear infinite; }
.ticker-item { flex-shrink:0; padding:0 50px; height:35px; opacity:0.8; filter:grayscale(1); transition:all .3s ease; }
.ticker-item:hover { opacity:1; filter:grayscale(0); }
.ticker-item img { height:100%; width:auto; display:block; }

@keyframes ticker {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

@media (max-width:768px) {
  .ticker-track { animation-duration:30s; }
  .ticker-item { height:25px; padding:0 30px; }
}

/* ── RESPONSIVE ──────────────────────────────── */
@media (max-width:900px) {
  .section { padding:60px 20px; }
  .two-col, .three-col { grid-template-columns:1fr; gap:40px; }
  .lines-grid { grid-template-columns:1fr 1fr; }
  .line-card-content { padding:28px 20px; }
  .line-card h4 { font-size:22px; }
  .contact-grid { grid-template-columns:1fr; gap:40px; }
  nav { padding:0 20px; }
  .nav-links { position:absolute; top:100%; left:0; right:0; background:rgba(8,8,8,.98); flex-direction:column; gap:0; max-height:0; overflow:hidden; transition:max-height .3s; border-bottom:1px solid transparent; }
  .nav-links.open { max-height:600px; border-bottom-color:rgba(201,168,76,.25); }
  .nav-links a { width:100%; text-align:center; padding:14px; font-size:11px; border-bottom:1px solid rgba(255,255,255,.04); }
  .nav-cta { display:none; }
  .menu-btn { display:flex; margin-left:auto; }
  .menu-btn.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-btn.open span:nth-child(2) { opacity:0; }
  .menu-btn.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .plan-card.featured { transform:none; }
  .hero { padding:80px 20px; }
  .hero-ctas { flex-direction:column; align-items:center; }
  .btn-primary, .btn-secondary { width:100%; text-align:center; }
  .calc-table-wrapper { padding:20px 15px; }
  .var-tabs { overflow-x:auto; flex-wrap:nowrap; }
  .var-panel.active { grid-template-columns:repeat(2, 1fr); }
  .pillars-scene { min-height:300px; }
  .pillar { width:260px; margin-left:-130px; }
  .pillar[data-pos="1"] { transform:translateX(275px) rotateY(-20deg) scale(0.78); }
  .pillar[data-pos="-1"] { transform:translateX(-275px) rotateY(20deg) scale(0.78); }
  .pillar[data-pos="2"] { transform:translateX(470px) rotateY(-35deg) scale(0.6); }
  .pillar[data-pos="-2"] { transform:translateX(-470px) rotateY(35deg) scale(0.6); }
  .tradicao-grid { grid-template-columns:1fr; gap:50px; }
  .processo-grid { grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width:600px) {
  .lines-grid { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .footer { padding:16px 20px; flex-direction:column; text-align:center; }
  .processo-grid { grid-template-columns:1fr; }
  .pillars-arrow { display:none; }
}

/* ── TRADIÇÃO SECTION ────────────────────────── */
.section.paper { background:var(--paper); }
.section.paper .sec-label { color:var(--gold-d); }
.section.paper .sec-title { color:var(--ink-paper); }
.section.paper .sec-rule { background:var(--gold-d); }
.section.paper .body-lg { color:#5a4e3a; }
.tradicao-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.tradicao-img-wrap { position:relative; padding-bottom:30px; }
.tradicao-img-frame {
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:50%;
  border:6px solid var(--paper3);
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.tradicao-img-frame img { width:100%; height:100%; object-fit:cover; filter:grayscale(30%); }
.tradicao-badge {
  position:absolute;
  bottom:0; right:0;
  width:130px; height:130px;
  background:var(--gold);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:20px;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.tradicao-badge span { font-family:var(--f-display); font-size:13px; color:var(--ink); font-weight:700; line-height:1.3; }
.tradicao-bullets { margin-top:30px; display:flex; flex-direction:column; gap:16px; }
.tradicao-bullet { display:flex; align-items:center; gap:14px; font-family:var(--f-ui); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ink-paper); }
.tradicao-bullet::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--gold-d); flex-shrink:0; }

/* ── PROCESSO SECTION ────────────────────────── */
.processo-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:48px; margin-top:60px; }
.processo-step { position:relative; padding-top:50px; border-top:1px solid rgba(201,168,76,.15); }
.processo-num { font-family:var(--f-display); font-size:72px; color:rgba(201,168,76,.07); line-height:1; font-weight:900; position:absolute; top:-10px; left:-6px; }
.processo-title { font-family:var(--f-display); font-size:22px; color:var(--gold); margin-bottom:14px; font-weight:700; position:relative; z-index:1; }
.processo-desc { font-family:var(--f-body); font-size:17px; color:#aaa; line-height:1.8; font-weight:400; }
