/* ==========================================================================
   LIQUID GLASS UI — Techwater Adaptation
   Light Mode Default · Brand colors: #019fdf & #1c1630
   ========================================================================== */

:root {
  --glass-white: rgba(255,255,255,0.12);
  --glass-white-md: rgba(255,255,255,0.2);
  --glass-white-lg: rgba(255,255,255,0.3);
  --glass-dark: rgba(0,0,0,0.18);
  --glass-dark-md: rgba(0,0,0,0.28);
  --glass-border: rgba(255,255,255,0.25);
  --glass-border-subtle: rgba(255,255,255,0.12);
  --glass-border-bright: rgba(255,255,255,0.5);
  --blur-sm: blur(8px);
  --blur-md: blur(18px);
  --blur-lg: blur(32px);
  --blur-xl: blur(60px);
  --shadow-glass: 0 8px 32px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.3);
  --shadow-float: 0 20px 60px rgba(0,0,0,0.4), 0 4px 16px rgba(0,0,0,0.2);
  --shadow-glow: 0 0 40px rgba(1,159,223,0.35);
  --reflection-top: linear-gradient(135deg,rgba(255,255,255,0.4) 0%,rgba(255,255,255,0) 50%);
  --reflection-inner: inset 0 1px 1px rgba(255,255,255,0.45), inset 0 -1px 1px rgba(0,0,0,0.1);
  --accent-aqua: #019fdf;
  --accent-violet: #1c1630;
  --accent-rose: #f7a8c4;
  --accent-amber: #ffd27f;
  --accent-lime: #a8f08a;
  --color-bg: #0b0e1a;
  --color-surface: rgba(255,255,255,0.04);
  --color-text: #ffffff;
  --color-text-muted: rgba(255,255,255,0.55);
  --color-text-subtle: rgba(255,255,255,0.35);
  --space-2xs:4px; --space-xs:8px; --space-sm:12px; --space-md:16px;
  --space-lg:24px; --space-xl:32px; --space-2xl:48px; --space-3xl:64px; --space-4xl:96px;
  --text-2xs:0.68rem; --text-xs:0.75rem; --text-sm:0.82rem; --text-md:0.9rem;
  --text-base:1rem; --text-lg:1.125rem; --text-xl:1.3rem; --text-2xl:1.6rem;
  --text-3xl:2rem; --text-4xl:2.8rem;
  --radius-xs:6px; --radius-sm:10px; --radius-md:14px; --radius-lg:20px;
  --radius-xl:24px; --radius-2xl:32px; --radius-full:9999px;
  --z-base:1; --z-raised:10; --z-overlay:100; --z-modal:500; --z-toast:800; --z-tooltip:900;
  --ease-glass:cubic-bezier(0.22,0.68,0,1.2);
  --ease-liquid:cubic-bezier(0.34,1.56,0.64,1);
  --ease-smooth:cubic-bezier(0.4,0,0.2,1);
  --ease-out:cubic-bezier(0,0,0.2,1);
  --dur-fast:180ms; --dur-mid:360ms; --dur-slow:600ms;
  --font-display:"Montserrat",sans-serif;
  --font-body:"DM Sans","Inter",sans-serif;
}

/* ── LIGHT THEME (default for Techwater) ── */
[data-theme="light"] {
  --glass-white: rgba(255,255,255,0.65);
  --glass-white-md: rgba(255,255,255,0.80);
  --glass-white-lg: rgba(255,255,255,0.92);
  --glass-dark: rgba(0,0,0,0.05);
  --glass-dark-md: rgba(15,23,42,0.07);
  --glass-border: rgba(1,159,223,0.18);
  --glass-border-subtle: rgba(1,159,223,0.10);
  --glass-border-bright: rgba(1,159,223,0.30);
  --shadow-glass: 0 8px 32px rgba(1,159,223,0.12), inset 0 1px 0 rgba(255,255,255,0.9);
  --shadow-float: 0 20px 60px rgba(1,159,223,0.18), 0 4px 16px rgba(0,0,0,0.08);
  --shadow-glow: 0 0 40px rgba(1,159,223,0.25);
  --color-bg: #edf5fc;
  --color-surface: rgba(255,255,255,0.6);
  --color-text: #0f1a2e;
  --color-text-muted: rgba(15,26,46,0.60);
  --color-text-subtle: rgba(15,26,46,0.40);
  --reflection-top: linear-gradient(135deg,rgba(255,255,255,0.7) 0%,rgba(255,255,255,0) 50%);
  --reflection-inner: inset 0 1px 1px rgba(255,255,255,0.95), inset 0 -1px 1px rgba(0,0,0,0.03);
  --accent-aqua: #019fdf;
  --accent-violet: #1c1630;
}

/* ── GRACEFUL DEGRADATION ── */
@supports not (backdrop-filter:blur(1px)) {
  .glass { background:rgba(255,255,255,0.95) !important; border-color:rgba(1,159,223,0.25) !important; }
}

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
  .scene__blob { animation:none !important; }
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
  font-family:var(--font-display);
  font-weight:400;
  color:var(--color-text);
  background:var(--color-bg);
  overflow-x:hidden;
  min-height:100vh;
  transition:background var(--dur-mid) var(--ease-smooth), color var(--dur-mid) var(--ease-smooth);
}
a { color:inherit; text-decoration:none; }

/* ── ANIMATED BACKGROUND ── */
.scene {
  position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none;
}
.scene__blob {
  position:absolute; border-radius:50%; filter:blur(80px); opacity:0.55;
  animation:blob-drift var(--dur,18s) ease-in-out infinite alternate;
}
[data-theme="light"] .scene__blob { opacity:0.22; }

.scene__blob--1 {
  width:700px; height:700px;
  background:radial-gradient(circle,#019fdf,#1c1630);
  top:-200px; left:-150px; --dur:22s;
}
.scene__blob--2 {
  width:600px; height:600px;
  background:radial-gradient(circle,rgba(1,159,223,0.8),rgba(28,22,48,0.6));
  bottom:-200px; right:-100px; --dur:17s; animation-delay:-8s;
}
.scene__blob--3 {
  width:400px; height:400px;
  background:radial-gradient(circle,rgba(1,159,223,0.5),rgba(0,180,255,0.3));
  top:40%; left:50%; --dur:25s; animation-delay:-13s;
}

@keyframes blob-drift {
  0%   { transform:translate(0,0) scale(1); }
  33%  { transform:translate(60px,-40px) scale(1.08); }
  66%  { transform:translate(-40px,60px) scale(0.94); }
  100% { transform:translate(30px,30px) scale(1.04); }
}

/* ── GLASS UTILITIES ── */
.glass {
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
  background:var(--glass-white);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-glass);
  position:relative;
  overflow:hidden;
}
.glass::before {
  content:""; position:absolute; inset:0;
  background:var(--reflection-top);
  pointer-events:none; border-radius:inherit; z-index:1;
}
.glass--dark { background:var(--glass-dark-md); border-color:rgba(1,159,223,0.15); }
.glass--bright { background:var(--glass-white-lg); border-color:var(--glass-border-bright); }

/* ── FOCUS ── */
:focus { outline:none; }
:focus-visible { outline:2px solid var(--accent-aqua); outline-offset:3px; border-radius:var(--radius-xs); }

/* ── NAVIGATION ── */
.site-nav {
  position:fixed; top:0; left:0; right:0; z-index:99999;
  padding:12px 0;
  transition:background var(--dur-mid), box-shadow var(--dur-mid);
}
.site-nav.scrolled {
  backdrop-filter:var(--blur-lg);
  -webkit-backdrop-filter:var(--blur-lg);
  background:var(--glass-white-md);
  border-bottom:1px solid var(--glass-border);
  box-shadow:0 4px 24px rgba(1,159,223,0.12);
}
.nav-inner {
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo img { height:36px; display:block; }
.nav-links {
  display:flex; align-items:center; gap:4px;
  list-style:none;
}
.nav-links a {
  padding:8px 18px; border-radius:var(--radius-full);
  font-size:var(--text-sm); font-weight:500;
  color:var(--color-text); opacity:0.7;
  transition:opacity var(--dur-fast), background var(--dur-fast);
}
.nav-links a:hover, .nav-links a.active {
  opacity:1;
  background:var(--glass-white-md);
}
.nav-links a.active {
  border:1px solid var(--glass-border);
  box-shadow:0 2px 12px rgba(1,159,223,0.15);
}
.nav-cta {
  background:linear-gradient(135deg,rgba(1,159,223,0.7),rgba(28,22,48,0.7)) !important;
  border:1px solid rgba(1,159,223,0.5) !important;
  color:#fff !important; opacity:1 !important;
  box-shadow:0 4px 20px rgba(1,159,223,0.3) !important;
}
.nav-cta:hover { background:linear-gradient(135deg,rgba(1,159,223,0.9),rgba(28,22,48,0.9)) !important; transform:translateY(-1px); }

.nav-hamburger {
  display:none; flex-direction:column; gap:5px; cursor:pointer;
  background:none; border:none; padding:8px;
}
.nav-hamburger span {
  display:block; width:22px; height:2px;
  background:var(--color-text); border-radius:2px;
  transition:transform var(--dur-fast), opacity var(--dur-fast);
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.nav-mobile {
  display:none; flex-direction:column;
  padding:16px 24px 24px; gap:4px;
}
.nav-mobile a {
  display:block; padding:12px 16px; border-radius:var(--radius-md);
  font-size:var(--text-base); font-weight:500; color:var(--color-text); opacity:0.75;
  transition:background var(--dur-fast), opacity var(--dur-fast);
}
.nav-mobile a:hover { background:var(--glass-white); opacity:1; }
.nav-mobile a.active { background:var(--glass-white); opacity:1; color:var(--accent-aqua); }
.nav-mobile.open { display:flex; }

/* ── HERO ── */
.hero {
  min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; padding:120px 24px 80px; gap:var(--space-lg);
  position:relative;
}
.hero-bg {
  position:absolute; inset:0; z-index:-1; overflow:hidden;
}
.hero-bg img {
  width:100%; height:100%; object-fit:cover;
  opacity:0.18; filter:saturate(1.3);
}
.hero-bg::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 50%, var(--color-bg));
}
.hero__kicker {
  font-size:var(--text-xs); letter-spacing:0.2em; text-transform:uppercase;
  color:var(--accent-aqua); font-weight:600;
  animation:cascade-in 0.7s var(--ease-glass) 0.1s both;
}
.hero__title {
  font-family:var(--font-display);
  font-size:clamp(2.5rem,7vw,5.5rem);
  line-height:1.05; letter-spacing:-0.02em; font-weight:800;
  background:linear-gradient(135deg,var(--color-text) 20%,var(--accent-aqua) 60%,var(--accent-violet) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:cascade-in 0.8s var(--ease-glass) 0.2s both;
}
.hero__sub {
  max-width:560px; line-height:1.75; opacity:0.72;
  font-size:var(--text-lg);
  animation:cascade-in 0.8s var(--ease-glass) 0.3s both;
}
.hero__cta {
  display:flex; gap:var(--space-sm); flex-wrap:wrap; justify-content:center;
  animation:cascade-in 0.8s var(--ease-glass) 0.4s both;
}
.hero-stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:var(--space-md); margin-top:var(--space-2xl);
  width:min(700px,90vw);
  animation:cascade-in 0.8s var(--ease-glass) 0.5s both;
}
.hero-stats__item {
  border-radius:var(--radius-lg); padding:var(--space-lg); text-align:center;
}
.hero-stats__num {
  font-family:var(--font-display); font-size:2rem; font-weight:700;
  background:linear-gradient(135deg,var(--color-text),var(--accent-aqua));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-stats__desc { font-size:var(--text-xs); opacity:0.55; letter-spacing:0.04em; margin-top:4px; }

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:var(--space-xs);
  padding:var(--space-sm) var(--space-lg);
  border-radius:var(--radius-full); border:none; cursor:pointer;
  font-family:var(--font-body); font-size:var(--text-sm); font-weight:600;
  letter-spacing:0.04em; color:var(--color-text); text-decoration:none;
  transition:transform var(--dur-fast) var(--ease-liquid), box-shadow var(--dur-fast), background var(--dur-fast);
  position:relative; overflow:hidden;
}
.btn::before {
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:var(--reflection-top); pointer-events:none;
}
.btn:active { transform:scale(0.96); }
.btn--primary {
  background:linear-gradient(135deg,rgba(1,159,223,0.85),rgba(28,22,48,0.85));
  border:1px solid rgba(1,159,223,0.5);
  box-shadow:0 4px 24px rgba(1,159,223,0.35), var(--reflection-inner);
  color:#fff;
}
.btn--primary:hover {
  background:linear-gradient(135deg,rgba(1,159,223,1),rgba(28,22,48,0.95));
  box-shadow:0 8px 36px rgba(1,159,223,0.5), var(--reflection-inner);
  transform:translateY(-2px);
}
.btn--ghost {
  background:var(--glass-white); border:1px solid var(--glass-border);
  box-shadow:var(--shadow-glass);
}
.btn--ghost:hover { background:var(--glass-white-md); transform:translateY(-2px); }
.btn--lg { padding:var(--space-md) var(--space-xl); font-size:var(--text-base); }

/* ── SECTIONS ── */
.section {
  padding:var(--space-4xl) 0;
  position:relative; z-index:10;
}
.section--alt { background:rgba(1,159,223,0.04); }
.container { width:min(1200px,92vw); margin-inline:auto; }

.section-header { text-align:center; margin-bottom:var(--space-2xl); }
.section-kicker {
  font-size:var(--text-xs); letter-spacing:0.2em; text-transform:uppercase;
  color:var(--accent-aqua); font-weight:600; display:block; margin-bottom:var(--space-sm);
}
.section-title {
  font-family:var(--font-display); font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:700; letter-spacing:-0.01em; margin-bottom:var(--space-sm);
}
.section-sub { font-size:var(--text-base); opacity:0.65; max-width:560px; margin:0 auto; line-height:1.7; }

/* ── CARDS ── */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--space-md); }
.card-grid-2 { display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:var(--space-md); }

.glass-card {
  border-radius:var(--radius-xl); padding:var(--space-xl);
  transition:transform var(--dur-mid) var(--ease-glass), box-shadow var(--dur-mid), background var(--dur-mid);
}
.glass-card:hover { transform:translateY(-6px) scale(1.01); box-shadow:var(--shadow-float); background:var(--glass-white-md); }
.glass-card::after {
  content:""; position:absolute; inset:-1px; border-radius:inherit;
  background:linear-gradient(135deg,rgba(1,159,223,0.12) 0%,rgba(255,255,255,0) 40%,rgba(1,159,223,0.06) 100%);
  opacity:0; transition:opacity var(--dur-mid); pointer-events:none; z-index:2;
}
.glass-card:hover::after { opacity:1; }

.card-icon {
  width:56px; height:56px; border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(1,159,223,0.2),rgba(28,22,48,0.15));
  border:1px solid rgba(1,159,223,0.25);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin-bottom:var(--space-md);
  box-shadow:0 4px 16px rgba(1,159,223,0.15);
}
.card-label { font-size:var(--text-2xs); letter-spacing:0.14em; text-transform:uppercase; opacity:0.5; margin-bottom:6px; }
.card-title { font-family:var(--font-display); font-size:1.2rem; font-weight:700; margin-bottom:var(--space-sm); }
.card-body { font-size:var(--text-md); line-height:1.65; opacity:0.72; }

/* ── BADGE ── */
.badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 12px; border-radius:var(--radius-full);
  font-size:var(--text-2xs); font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
}
.badge--blue {
  background:rgba(1,159,223,0.15); border:1px solid rgba(1,159,223,0.35); color:var(--accent-aqua);
}
.badge--dark {
  background:rgba(28,22,48,0.15); border:1px solid rgba(28,22,48,0.3); color:#fff;
}

/* ── FEATURE STRIP ── */
.feature-strip {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--space-md);
}
.feature-item { text-align:center; padding:var(--space-lg) var(--space-md); }
.feature-icon { font-size:2.5rem; margin-bottom:var(--space-sm); display:block; }
.feature-title { font-weight:700; font-size:var(--text-base); margin-bottom:4px; }
.feature-desc { font-size:var(--text-sm); opacity:0.65; line-height:1.6; }

/* ── INDUSTRY GRID ── */
.industry-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:var(--space-sm);
}
.industry-card {
  border-radius:var(--radius-lg); padding:var(--space-lg) var(--space-md);
  text-align:center; cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-liquid), box-shadow var(--dur-fast), background var(--dur-fast);
}
.industry-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-float); background:var(--glass-white-md); }
.industry-card img { width:64px; height:64px; object-fit:contain; margin-bottom:var(--space-sm); filter:drop-shadow(0 2px 8px rgba(1,159,223,0.3)); }
.industry-name { font-size:var(--text-sm); font-weight:600; line-height:1.3; }

/* ── BRANDS GRID ── */
.brands-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:var(--space-md);
  align-items:center;
}
.brand-card {
  border-radius:var(--radius-lg); padding:var(--space-lg) var(--space-md);
  display:flex; align-items:center; justify-content:center;
  transition:transform var(--dur-fast) var(--ease-liquid), box-shadow var(--dur-fast);
}
.brand-card:hover { transform:translateY(-3px) scale(1.04); box-shadow:var(--shadow-float); }
.brand-card img { max-width:120px; max-height:60px; object-fit:contain; filter:grayscale(0.3); transition:filter var(--dur-fast); }
.brand-card:hover img { filter:grayscale(0); }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); }
@media (max-width:768px) { .contact-grid { grid-template-columns:1fr; } }

.form-group { margin-bottom:var(--space-md); }
.form-label {
  display:block; font-size:var(--text-xs); letter-spacing:0.06em; text-transform:uppercase;
  opacity:0.6; margin-bottom:var(--space-xs); color:var(--color-text);
}
.form-input {
  width:100%; padding:var(--space-sm) var(--space-md);
  border-radius:var(--radius-md); border:1px solid var(--glass-border);
  background:var(--glass-white); backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm); color:var(--color-text);
  font-family:var(--font-body); font-size:var(--text-md); outline:none;
  transition:border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.form-input::placeholder { opacity:0.45; }
.form-input:focus {
  border-color:rgba(1,159,223,0.6); background:var(--glass-white-md);
  box-shadow:0 0 0 3px rgba(1,159,223,0.15), var(--shadow-glass);
}
textarea.form-input { resize:vertical; min-height:120px; }
select.form-input { cursor:pointer; appearance:none; }

.rep-card {
  border-radius:var(--radius-lg); padding:var(--space-lg);
  display:flex; align-items:flex-start; gap:var(--space-md);
  margin-bottom:var(--space-sm);
  transition:transform var(--dur-fast), background var(--dur-fast);
}
.rep-card:hover { transform:translateX(4px); background:var(--glass-white-md); }
.rep-avatar {
  width:48px; height:48px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,rgba(1,159,223,0.3),rgba(28,22,48,0.3));
  border:1px solid rgba(1,159,223,0.3);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:var(--accent-aqua);
}
.rep-info { flex:1; }
.rep-region { font-size:var(--text-2xs); text-transform:uppercase; letter-spacing:0.1em; color:var(--accent-aqua); font-weight:600; }
.rep-name { font-weight:700; font-size:var(--text-base); margin:2px 0; }
.rep-email { font-size:var(--text-sm); opacity:0.65; }
.rep-phone { font-size:var(--text-sm); opacity:0.65; }

/* ── ABOUT ── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3xl); align-items:center; }
@media (max-width:900px) { .about-grid { grid-template-columns:1fr; } }
.about-image { border-radius:var(--radius-2xl); overflow:hidden; box-shadow:var(--shadow-float); }
.about-image img { width:100%; height:400px; object-fit:cover; display:block; }
.about-content { }
.about-title { font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700; margin-bottom:var(--space-md); }
.about-text { font-size:var(--text-base); line-height:1.8; opacity:0.75; margin-bottom:var(--space-md); }

.pillar-card { border-radius:var(--radius-xl); padding:var(--space-xl); margin-bottom:var(--space-md); }
.pillar-num { font-family:var(--font-display); font-size:2.5rem; font-weight:800; color:var(--accent-aqua); opacity:0.3; line-height:1; }
.pillar-title { font-weight:700; font-size:var(--text-lg); margin:-8px 0 var(--space-xs); }
.pillar-text { font-size:var(--text-sm); opacity:0.7; line-height:1.7; }

/* ── PRODUCT TABS ── */
.tab-bar { display:flex; gap:4px; padding:4px; border-radius:var(--radius-full); width:fit-content; }
.tab-btn {
  padding:10px 28px; border-radius:var(--radius-full);
  font-size:var(--text-sm); font-weight:600; cursor:pointer;
  border:none; background:transparent; color:var(--color-text);
  font-family:var(--font-body); opacity:0.6;
  transition:background var(--dur-fast), opacity var(--dur-fast);
}
.tab-btn.active { background:var(--glass-white-md); border:1px solid var(--glass-border); opacity:1; box-shadow:0 2px 12px rgba(1,159,223,0.15); }
.tab-btn:hover { opacity:1; }
.tab-panel { display:none; animation:cascade-in 0.4s var(--ease-glass) both; }
.tab-panel.active { display:block; }

/* ── PRODUCT ITEM ── */
.product-item {
  border-radius:var(--radius-xl); padding:0; overflow:hidden;
  transition:transform var(--dur-mid) var(--ease-glass), box-shadow var(--dur-mid);
}
.product-item:hover { transform:translateY(-6px); box-shadow:var(--shadow-float); }
.product-img { width:100%; height:200px; object-fit:cover; display:block; }
.product-body { padding:var(--space-lg); }
.product-title { font-weight:700; font-size:var(--text-base); margin-bottom:6px; }
.product-desc { font-size:var(--text-sm); opacity:0.65; line-height:1.6; }

/* ── TIMELINE ── */
.timeline { display:flex; flex-direction:column; gap:0; }
.timeline-item { display:grid; grid-template-columns:auto 1fr; gap:0 var(--space-lg); }
.timeline-dot {
  display:flex; flex-direction:column; align-items:center; gap:0;
}
.timeline-dot-circle {
  width:16px; height:16px; border-radius:50%; flex-shrink:0; margin-top:4px;
  background:var(--accent-aqua); border:3px solid var(--color-bg);
  box-shadow:0 0 12px rgba(1,159,223,0.5);
}
.timeline-dot-line { width:2px; flex:1; background:rgba(1,159,223,0.25); min-height:40px; }
.timeline-year { color:var(--accent-aqua); font-weight:700; font-size:var(--text-sm); margin-bottom:4px; }
.timeline-content { padding-bottom:var(--space-xl); }
.timeline-event { font-weight:600; font-size:var(--text-base); margin-bottom:4px; }
.timeline-detail { font-size:var(--text-sm); opacity:0.65; line-height:1.6; }

/* ── PAGE HERO (interno) ── */
.page-hero {
  padding:140px 0 80px; text-align:center; position:relative; z-index:2;
}
.page-hero-kicker { color:var(--accent-aqua); font-size:var(--text-xs); letter-spacing:0.2em; text-transform:uppercase; font-weight:600; display:block; margin-bottom:var(--space-sm); }
.page-hero-title { font-family:var(--font-display); font-size:clamp(2rem,5vw,3.5rem); font-weight:800; margin-bottom:var(--space-md); }
.page-hero-sub { font-size:var(--text-lg); opacity:0.65; max-width:500px; margin:0 auto; line-height:1.7; }

/* ── FOOTER ── */
.site-footer {
  position:relative; z-index:10;
  border-top:1px solid var(--glass-border);
  padding:var(--space-3xl) 0 var(--space-xl);
  background:var(--glass-white);
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-2xl); margin-bottom:var(--space-2xl); }
@media (max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .footer-grid { grid-template-columns:1fr; } }
.footer-brand { }
.footer-logo { height:32px; margin-bottom:var(--space-md); }
.footer-desc { font-size:var(--text-sm); opacity:0.65; line-height:1.7; max-width:280px; }
.footer-social { display:flex; gap:var(--space-xs); margin-top:var(--space-md); }
.footer-social a {
  width:36px; height:36px; border-radius:50%;
  border:1px solid var(--glass-border); background:var(--glass-white);
  display:flex; align-items:center; justify-content:center;
  font-size:0.9rem; opacity:0.7;
  transition:opacity var(--dur-fast), background var(--dur-fast);
}
.footer-social a:hover { opacity:1; background:rgba(1,159,223,0.2); }
.footer-col-title { font-weight:700; font-size:var(--text-sm); margin-bottom:var(--space-md); letter-spacing:0.05em; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:var(--space-xs); }
.footer-links a { font-size:var(--text-sm); opacity:0.65; transition:opacity var(--dur-fast), color var(--dur-fast); }
.footer-links a:hover { opacity:1; color:var(--accent-aqua); }
.footer-bottom {
  border-top:1px solid var(--glass-border-subtle); padding-top:var(--space-lg);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-sm);
}
.footer-copy { font-size:var(--text-xs); opacity:0.45; }

/* ── THEME TOGGLE ── */
.theme-toggle-btn {
  position:fixed; top:var(--space-md); right:var(--space-md); z-index:100000;
  width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  font-size:1.1rem; display:flex; align-items:center; justify-content:center;
  transition:transform var(--dur-fast) var(--ease-liquid);
}
.theme-toggle-btn:hover { transform:scale(1.1) rotate(15deg); }
.theme-toggle-btn .icon-dark { display:block; }
.theme-toggle-btn .icon-light { display:none; }
[data-theme="light"] .theme-toggle-btn .icon-dark { display:none; }
[data-theme="light"] .theme-toggle-btn .icon-light { display:block; }

/* ── ANIMATIONS ── */
@keyframes cascade-in {
  0% { opacity:0; transform:translateY(24px) scale(0.97); filter:blur(8px); }
  100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
}
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
@keyframes ripple { 0% { transform:scale(0); opacity:0.5; } 100% { transform:scale(2.5); opacity:0; } }

.animate-in { animation:cascade-in var(--dur-slow) var(--ease-glass) both; }
.animate-in-delay-1 { animation-delay:0.1s; }
.animate-in-delay-2 { animation-delay:0.2s; }
.animate-in-delay-3 { animation-delay:0.3s; }

.divider { height:1px; background:linear-gradient(90deg,transparent,var(--glass-border),transparent); margin:0 0 var(--space-3xl); }

/* ── RESPONSIVE ── */
@media (max-width:900px) {
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  /* Push hamburger left so it doesn't overlap the fixed theme-toggle button */
  .nav-inner { padding-right: 68px; }
  .hero-stats { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px) {
  .hero-stats { grid-template-columns:1fr; gap:var(--space-sm); }
  .card-grid { grid-template-columns:1fr; }
  .industry-grid { grid-template-columns:repeat(2,1fr); }
  .brands-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px) {
  .brands-grid { grid-template-columns:repeat(2,1fr); }
}

/* Light mode specific card/text fixes */
[data-theme="light"] .card-body,
[data-theme="light"] .about-text,
[data-theme="light"] .feature-desc,
[data-theme="light"] .product-desc,
[data-theme="light"] .pillar-text,
[data-theme="light"] .rep-email,
[data-theme="light"] .rep-phone,
[data-theme="light"] .timeline-detail { color:rgba(15,26,46,0.72); opacity:1; }
[data-theme="light"] .footer-desc,
[data-theme="light"] .footer-links a,
[data-theme="light"] .footer-copy { color:rgba(15,26,46,0.65); opacity:1; }
[data-theme="light"] .footer-links a:hover { color:var(--accent-aqua); opacity:1; }
[data-theme="light"] .hero__sub { color:rgba(15,26,46,0.7); opacity:1; }

/* CTA strip */
.cta-strip {
  text-align:center; padding:var(--space-3xl) var(--space-xl);
  border-radius:var(--radius-2xl);
  background:linear-gradient(135deg,rgba(1,159,223,0.15),rgba(28,22,48,0.1));
  border:1px solid rgba(1,159,223,0.2);
  margin-top:var(--space-3xl);
}
.cta-strip-title { font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2.2rem); font-weight:700; margin-bottom:var(--space-md); }
.cta-strip-sub { opacity:0.65; margin-bottom:var(--space-xl); font-size:var(--text-base); line-height:1.7; max-width:500px; margin-inline:auto; margin-bottom:var(--space-xl); }

/* Accordion for FAQ */
.accordion { display:flex; flex-direction:column; gap:var(--space-xs); }
.accordion-item { border-radius:var(--radius-lg); overflow:hidden; }
.accordion-trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:var(--space-md) var(--space-lg); font-family:var(--font-body);
  font-size:var(--text-sm); font-weight:600; color:var(--color-text);
  cursor:pointer; border:none; background:transparent; text-align:left;
  transition:background var(--dur-fast);
}
.accordion-trigger:hover { background:var(--glass-white); }
.accordion-icon {
  width:24px; height:24px; border-radius:50%;
  border:1px solid var(--glass-border); background:var(--glass-white);
  display:flex; align-items:center; justify-content:center;
  font-size:0.65rem; flex-shrink:0;
  transition:transform var(--dur-mid) var(--ease-liquid);
}
.accordion-item.is-open .accordion-icon { transform:rotate(180deg); background:rgba(1,159,223,0.2); border-color:rgba(1,159,223,0.5); }
.accordion-body { overflow:hidden; max-height:0; transition:max-height var(--dur-mid) var(--ease-smooth); }
.accordion-item.is-open .accordion-body { max-height:400px; }
.accordion-content { padding:0 var(--space-lg) var(--space-md); font-size:var(--text-sm); line-height:1.7; opacity:0.72; }

/* Contact info */
.contact-info-item { display:flex; align-items:flex-start; gap:var(--space-md); margin-bottom:var(--space-lg); }
.contact-info-icon {
  width:44px; height:44px; border-radius:var(--radius-md); flex-shrink:0;
  background:rgba(1,159,223,0.15); border:1px solid rgba(1,159,223,0.25);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.contact-info-label { font-size:var(--text-xs); opacity:0.55; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:2px; }
.contact-info-value { font-size:var(--text-base); font-weight:600; }
.contact-info-value a { color:var(--accent-aqua); }

/* ── TABS ── */
.tab-bar {
  display:inline-flex; gap:4px; padding:6px;
  border-radius:var(--radius-xl); background:var(--glass-white);
  border:1px solid var(--glass-border);
}
.tab-btn {
  padding:10px 28px; border:none; border-radius:var(--radius-lg);
  font-family:var(--font-body); font-size:var(--text-sm); font-weight:600;
  cursor:pointer; transition:all var(--dur-fast);
  color:var(--color-text); background:transparent;
}
.tab-btn.active {
  background:linear-gradient(135deg,rgba(1,159,223,0.85),rgba(28,22,48,0.8));
  color:#fff; box-shadow:0 4px 16px rgba(1,159,223,0.35);
}
.tab-btn:hover:not(.active) { background:rgba(1,159,223,0.1); }
.tab-panel { display:none; }
.tab-panel.active { display:block; }

/* ── PRODUCT CARD ── */
.product-item { border-radius:var(--radius-xl); overflow:hidden; display:flex; flex-direction:column; }
.product-img { width:100%; height:200px; object-fit:cover; border-radius:var(--radius-lg) var(--radius-lg) 0 0; }
.product-body { padding:var(--space-lg); flex:1; }
.product-title { font-family:var(--font-display); font-size:var(--text-base); font-weight:700; color:var(--color-text); margin-bottom:8px; }
.product-desc { font-size:var(--text-sm); line-height:1.65; opacity:0.7; }

/* ── BADGE ── */
.badge {
  display:inline-block; padding:3px 12px; border-radius:20px;
  font-size:0.72rem; font-weight:600; letter-spacing:0.04em;
}
.badge--blue {
  background:rgba(1,159,223,0.15); color:var(--accent-aqua);
  border:1px solid rgba(1,159,223,0.3);
}

/* ── INDUSTRY DETAIL ── */
.industry-detail {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl);
  border-radius:var(--radius-2xl); overflow:hidden; margin-bottom:var(--space-2xl);
  padding:0;
}
.industry-detail.reverse { direction:rtl; }
.industry-detail.reverse > * { direction:ltr; }
.industry-detail-img { overflow:hidden; min-height:320px; }
.industry-detail-img img { width:100%; height:100%; object-fit:cover; }
.industry-detail-body { padding:var(--space-2xl); display:flex; flex-direction:column; justify-content:center; }
.industry-detail-title { font-family:var(--font-display); font-size:1.8rem; font-weight:800; color:var(--color-text); margin-bottom:var(--space-md); margin-top:8px; }
@media (max-width:768px) {
  .industry-detail, .industry-detail.reverse { grid-template-columns:1fr; direction:ltr; }
  .industry-detail-img { min-height:220px; }
}

/* ── BRAND DETAIL ── */
.brand-detail {
  display:grid; grid-template-columns:240px 1fr; gap:var(--space-2xl);
  border-radius:var(--radius-xl); padding:var(--space-xl);
  margin-bottom:var(--space-xl);
}
.brand-detail-logo {
  display:flex; align-items:center; justify-content:center; padding:var(--space-lg);
}
.brand-detail-logo img { max-width:180px; max-height:100px; object-fit:contain; }
.brand-detail-title { font-family:var(--font-display); font-size:1.4rem; font-weight:700; color:var(--color-text); margin-bottom:4px; }
.brand-detail-country { font-size:var(--text-sm); opacity:0.55; margin-bottom:var(--space-md); }
@media (max-width:640px) {
  .brand-detail { grid-template-columns:1fr; }
}

/* ── CONTACT PAGE ── */
.contact-grid { display:grid; grid-template-columns:1fr 420px; gap:var(--space-2xl); }
.contact-form-wrap { padding:var(--space-2xl); border-radius:var(--radius-xl); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md); }
.form-group { margin-bottom:var(--space-md); }
.form-label { display:block; font-size:var(--text-xs); font-weight:600; text-transform:uppercase; letter-spacing:0.08em; opacity:0.6; margin-bottom:6px; }
.form-input {
  width:100%; padding:12px 16px; border-radius:var(--radius-md);
  border:1px solid var(--glass-border); background:var(--glass-white);
  font-family:var(--font-body); font-size:var(--text-sm); color:var(--color-text);
  transition:all var(--dur-fast); box-sizing:border-box;
  backdrop-filter:blur(4px);
}
.form-input:focus { outline:none; border-color:var(--accent-aqua); box-shadow:0 0 0 3px rgba(1,159,223,0.15); }
.form-textarea { min-height:140px; resize:vertical; }
.btn--full { width:100%; justify-content:center; }
.contact-info-card {
  display:flex; align-items:flex-start; gap:var(--space-md);
  padding:var(--space-md) var(--space-lg); border-radius:var(--radius-lg);
}
.contact-info-icon { font-size:1.4rem; line-height:1; padding-top:2px; }
@media (max-width:900px) {
  .contact-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
}

/* ── REPRESENTATIVES ── */
.reps-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-md);
  margin-top:var(--space-2xl);
}
.rep-card { padding:var(--space-lg); border-radius:var(--radius-xl); }
.rep-region { font-size:var(--text-xs); text-transform:uppercase; letter-spacing:0.1em; opacity:0.55; margin-bottom:6px; }
.rep-name { font-family:var(--font-display); font-weight:700; font-size:var(--text-base); color:var(--color-text); margin-bottom:8px; }
.rep-contact { font-size:var(--text-sm); opacity:0.7; margin-bottom:4px; }
.rep-contact a { color:var(--accent-aqua); text-decoration:none; }
.rep-contact a:hover { text-decoration:underline; }
@media (max-width:900px) { .reps-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .reps-grid { grid-template-columns:1fr; } }

/* ── STATS STRIP ── */
.stats-strip {
  display:grid; grid-template-columns:repeat(4,1fr);
  text-align:center; padding:var(--space-2xl);
  border-radius:var(--radius-2xl); gap:var(--space-md);
}
.stat-item { display:flex; flex-direction:column; gap:8px; }
.stat-number {
  font-family:var(--font-display); font-size:clamp(2rem,4vw,3rem); font-weight:800;
  background:linear-gradient(135deg,var(--accent-aqua),var(--accent-violet));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.stat-label { font-size:var(--text-xs); text-transform:uppercase; letter-spacing:0.1em; opacity:0.55; }
.stat-divider { width:1px; background:var(--glass-border); margin:auto; height:60%; }
@media (max-width:640px) {
  .stats-strip { grid-template-columns:repeat(2,1fr); }
  .stat-divider { display:none; }
}

/* ── PRODUCTS 3x2 GRID ── */
.card-grid--3col {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .card-grid--3col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .card-grid--3col { grid-template-columns: 1fr; }
}

/* ── PRODUCT CARD SVG ICON ── */
.card-icon-svg {
  width: 52px; height: 52px;
  margin-bottom: var(--space-md);
}
.card-icon-svg svg { width: 100%; height: 100%; }

/* ── INDUSTRY SVG ICONS ── */
.industry-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: var(--space-lg); text-align: center; }
.industry-icon-svg { width: 56px; height: 56px; }
.industry-icon-svg svg { width: 100%; height: 100%; }
.industry-name { font-size: var(--text-sm); font-weight: 600; color: var(--color-text); }

/* ── BRAND CARD WHITE ── */
.brand-card-white {
  background: #ffffff;
  border-radius: var(--radius-xl);
  padding: var(--space-xl) var(--space-lg);
  display: flex; align-items: center; justify-content: center;
  min-height: 110px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  transition: transform var(--dur-fast), box-shadow var(--dur-fast);
}
.brand-card-white:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(1,159,223,0.15);
}
.brand-card-white img {
  max-width: 100%; max-height: 70px; object-fit: contain;
  width: auto; display: block;
}
[data-theme="dark"] .brand-card-white {
  background: rgba(255,255,255,0.92);
}

/* ── Z-INDEX OVERRIDES ── */
.page-hero { z-index:2 !important; }
.section { z-index:1; }
.hero { z-index:2 !important; }
.scene { z-index:0 !important; }
.site-nav { z-index:99999 !important; isolation:auto; }
.theme-toggle-btn { z-index:100000 !important; }

/* ── MISSÃO/VISÃO + PILARES (sobre.html) ── */
.mv-pillar-wrap {
  max-width: 960px;
  margin: 0 auto;
}
.mv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}
.mv-grid .glass-card {
  margin: 0;
}
.pillars-heading {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: var(--space-lg);
  color: var(--color-text);
}
.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}
@media (max-width: 768px) {
  .mv-grid { grid-template-columns: 1fr; }
  .pillar-grid { grid-template-columns: 1fr; }
}

/* ── NAV POINTER-EVENTS FIX ── */
.site-nav {
  pointer-events: auto !important;
}
.site-nav * {
  pointer-events: auto;
}
.nav-links a,
.nav-mobile a,
.nav-hamburger {
  position: relative;
  z-index: 1001;
  cursor: pointer;
}

/* ── PRODUCTS 3-COL STRICT ── */
.card-grid--processo {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}
@media (max-width: 900px) {
  .card-grid--processo { grid-templ  grid-template-columns: 1fr;
}

/* ── BREADCRUMB ── */
.breadcrumb {
  padding: 80px 0 0;
  font-size: var(--text-sm);
  opacity: 0.7;
}
.breadcrumb .container { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bc-link { color: var(--accent-aqua); text-decoration: none; }
.bc-link:hover { text-decoration: underline; }
.bc-sep { opacity: 0.4; }
.bc-current { opacity: 0.6; }

/* ── SECTION TOP PADDING ── */
.section--top { padding-top: var(--space-xl); }

/* ── SUBCAT HERO ── */
.subcat-hero { text-align: center; padding: var(--space-3xl) 0 var(--space-xl); }

/* ── SUBCAT CARD (category page) ── */
.subcat-card {
  display: flex; flex-direction: column; gap: var(--space-sm);
  padding: var(--space-xl); border-radius: var(--radius-xl);
  text-decoration: none; color: var(--color-text);
  transition: transform var(--dur-fast), box-shadow var(--dur-fast);
}
.subcat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(1,159,223,0.2); }
.subcat-card__title { font-size: var(--text-lg); font-weight: 700; color: var(--accent-aqua); }
.subcat-card__desc { font-size: var(--text-sm); opacity: 0.75; }
.subcat-card__arrow { font-size: 1.4rem; color: var(--accent-aqua); margin-top: auto; }

/* ── PRODUCT CARD (subcategory page) ── */
.product-card {
  display: flex; flex-direction: column;
  border-radius: var(--radius-xl); text-decoration: none; color: var(--color-text);
  overflow: hidden;
  transition: transform var(--dur-fast), box-shadow var(--dur-fast);
}
.product-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(1,159,223,0.2); }
.product-card__img-wrap {
  background: #fff; display: flex; align-items: center; justify-content: center;
  padding: var(--space-lg); min-height: 200px;
}
.product-card__img { max-width: 100%; max-height: 160px; object-fit: contain; }
.product-card__body {
  display: flex; flex-direction: column; gap: var(--space-sm);
  padding: var(--space-lg); flex: 1;
}
.product-card__brand { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--accent-aqua); }
.product-card__title { font-size: var(--text-base); font-weight: 700; }
.product-card__desc { font-size: var(--text-sm); opacity: 0.7; flex: 1; }
.empty-msg { opacity: 0.6; text-align: center; padding: var(--space-3xl); grid-column: 1/-1; }

/* ── PRODUCT DETAIL PAGE ── */
.product-detail { padding-top: 0; }
.product-detail .container { display: flex; flex-direction: column; gap: var(--space-3xl); }
.product-detail__grid {
  display: grid; grid-template-columns: 380px 1fr;
  gap: var(--space-3xl); align-items: start;
  padding-top: var(--space-xl);
}
.product-detail__img-wrap {
  border-radius: var(--radius-xl); padding: var(--space-2xl);
  display: flex; align-items: center; justify-content: center;
  background: #fff; min-height: 320px;
}
.product-detail__img { max-width: 100%; max-height: 300px; object-fit: contain; }
.product-detail__info { display: flex; flex-direction: column; gap: var(--space-md); }
.product-detail__brand {
  font-size: var(--text-xs); font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--accent-aqua);
}
.product-detail__title { font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 800; line-height: 1.2; }
.product-detail__short { font-size: var(--text-base); opacity: 0.8; }
.product-detail__cta { display: flex; gap: var(--space-md); flex-wrap: wrap; margin-top: var(--space-md); }
.product-detail__desc {
  border-radius: var(--radius-xl); padding: var(--space-xl);
}
.product-detail__desc h2 { font-size: var(--text-xl); margin-bottom: var(--space-md); }
.product-detail__desc p { opacity: 0.85; line-height: 1.75; }

/* ── SPECS TABLE ── */
.specs-table { width: 100%; border-collapse: collapse; }
.specs-table tr:nth-child(even) { background: var(--glass-white); }
.spec-label {
  padding: 12px 20px; font-size: var(--text-sm); font-weight: 600;
  opacity: 0.65; width: 38%; border-bottom: 1px solid var(--glass-border);
}
.spec-value {
  padding: 12px 20px; font-size: var(--text-sm);
  border-bottom: 1px solid var(--glass-border);
}

/* ── INQUIRY FORM ── */
.product-detail__form { border-radius: var(--radius-xl); padding: var(--space-xl); }
.product-detail__form h2 { font-size: var(--text-xl); margin-bottom: var(--space-lg); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label { font-size: var(--text-sm); font-weight: 600; opacity: 0.7; }
.form-input {
  padding: 12px 16px; border-radius: var(--radius-md);
  border: 1px solid var(--glass-border); background: var(--glass-white);
  font-size: var(--text-sm); color: var(--color-text);
  transition: border-color var(--dur-fast);
}
.form-input:focus { outline: none; border-color: var(--accent-aqua); }
.form-note { font-size: var(--text-xs); opacity: 0.6; margin-top: var(--space-sm); }
.form-note a { color: var(--accent-aqua); }
.contact-form { display: flex; flex-direction: column; gap: var(--space-md); }

/* ── ACCORDION ── */
.accordion { display: flex; flex-direction: column; gap: var(--space-sm); }
.accordion-item { border-radius: var(--radius-lg); padding: 0; overflow: hidden; }
.accordion-item summary { 
  padding: var(--space-md) var(--space-lg); cursor: pointer;
  font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center;
}
.accordion-item summary::-webkit-details-marker { display: none; }
.accordion-item summary::after { content: '+'; font-size: 1.4rem; color: var(--accent-aqua); }
.accordion-item[open] summary::after { content: '−'; }
.accordion-a { padding: 0 var(--space-lg) var(--space-md); opacity: 0.8; line-height: 1.7; }

/* ── RESPONSIVE PRODUCT DETAIL ── */
@media (max-width: 900px) {
  .product-detail__grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .product-detail__cta { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   OVERRIDES v3 — Layout, spacing, font and dark-mode logo fixes
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Global: Montserrat everywhere ── */
*, *::before, *::after { font-family: var(--font-display); }
input, textarea, select, button { font-family: var(--font-display); }

/* ── Headings always bold Montserrat ── */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: 800; }

/* ── Section titles & subtitles: centered ── */
.section-title { text-align: center !important; }
.section-sub   { text-align: center !important; }

/* ── Nav clearance: all inner pages ──
   Fixed nav is ~80px; add 60px breath = 140px total                         */
.section--top { padding-top: 140px !important; }
.breadcrumb   { padding-top: 96px !important; }

/* After breadcrumb the main content needs a bit of top margin */
.breadcrumb + main { margin-top: 0; }

/* ── Bottom breath before footer ── */
main { padding-bottom: var(--space-4xl); }

/* ── Subcat hero: extra top breath already provided by .breadcrumb padding,
   just keep internal padding small                                           */
.subcat-hero {
  text-align: center;
  padding: var(--space-xl) 0 var(--space-2xl);
}
.subcat-hero .section-title { margin-bottom: var(--space-md); }
.subcat-hero .section-sub   { margin-bottom: var(--space-lg); }

/* ── SUBCAT CARDS (category page) ── */
.subcat-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-2xl) var(--space-xl);
  border-radius: var(--radius-xl);
  text-decoration: none;
  color: var(--color-text);
  background: var(--glass-white-md);
  border: 1px solid var(--glass-border);
  backdrop-filter: var(--blur-md);
  -webkit-backdrop-filter: var(--blur-md);
  box-shadow: var(--shadow-glass);
  transition: transform var(--dur-fast), box-shadow var(--dur-fast);
  min-height: 160px;
}
.subcat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(1,159,223,0.25);
}
.subcat-card__title {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--accent-aqua);
}
.subcat-card__desc {
  font-size: var(--text-sm);
  opacity: 0.75;
  line-height: 1.6;
  flex: 1;
}
/* arrow via CSS — removes any stray '>' character */
.subcat-card__arrow { display: none; }
.subcat-card::after {
  content: "→";
  font-size: 1.2rem;
  color: var(--accent-aqua);
  margin-top: auto;
  align-self: flex-end;
}

/* ── PRODUCT CARDS (subcategory page) ── */
.product-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-xl);
  text-decoration: none;
  color: var(--color-text);
  background: var(--glass-white-md);
  border: 1px solid var(--glass-border);
  backdrop-filter: var(--blur-md);
  -webkit-backdrop-filter: var(--blur-md);
  box-shadow: var(--shadow-glass);
  overflow: hidden;
  transition: transform var(--dur-fast), box-shadow var(--dur-fast);
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(1,159,223,0.22);
}

/* Fixed square image area — 1:1 aspect, centered, cropped */
.product-card__img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: rgba(255,255,255,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg);
  flex-shrink: 0;
}
.product-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  max-height: none;
}

/* Card body: generous padding, all Montserrat */
.product-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg) var(--space-xl) var(--space-xl);
  flex: 1;
}
.product-card__brand {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--accent-aqua);
}
.product-card__title {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-text);
}
.product-card__desc {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  opacity: 0.7;
  line-height: 1.6;
  flex: 1;
}
/* "Ver detalhes" button spacing */
.product-card__body .btn {
  margin-top: var(--space-lg);
  align-self: flex-start;
}

/* ── PRODUCT DETAIL PAGE ── */
/* Top padding to clear fixed nav */
.product-detail.section--top,
.product-detail { padding-top: 0 !important; }

.product-detail__grid {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: var(--space-2xl);
  align-items: start;
  padding-top: var(--space-xl); /* breadcrumb handles nav clearance */
}

/* Image wrap: square with rounded corners */
.product-detail__img-wrap {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-xl);
  padding: var(--space-2xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-glass);
  overflow: hidden;
  min-height: unset;
}
.product-detail__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  max-height: none;
}

/* Info column */
.product-detail__brand {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--accent-aqua);
}
.product-detail__title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  margin-top: var(--space-sm);
}
.product-detail__short {
  font-size: var(--text-base);
  line-height: 1.7;
  opacity: 0.8;
  margin-top: var(--space-sm);
}
.product-detail__cta {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
  margin-top: var(--space-xl);
}

/* "Sobre o produto" — full width, no box needed */
.product-detail__desc {
  border: none;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  border-top: 1px solid var(--glass-border);
  padding-top: var(--space-xl);
}
.product-detail__desc h2 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  margin-bottom: var(--space-md);
}
.product-detail__desc p { opacity: 0.85; line-height: 1.8; font-size: var(--text-base); }

/* ── SPECS TABLE ── */
.product-detail__specs { display: flex; flex-direction: column; gap: 0; }
.product-detail__specs h2.section-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  text-align: left !important;
  margin-bottom: 0;
  padding: var(--space-lg) var(--space-xl) var(--space-md);
  /* title IS inside the glass wrapper below */
}
/* Wrap: glass box contains BOTH the title and the table */
.product-detail__specs .glass {
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.specs-table { width: 100%; border-collapse: collapse; }
.specs-table tr:nth-child(odd)  { background: transparent; }
.specs-table tr:nth-child(even) { background: var(--glass-white); }
.spec-label {
  padding: 11px 24px 11px 20px;
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 600;
  opacity: 0.65;
  width: 42%;
  border-bottom: 1px solid var(--glass-border);
  vertical-align: top;
}
.spec-value {
  padding: 11px 20px 11px 24px;
  font-family: var(--font-display);
  font-size: var(--text-sm);
  border-bottom: 1px solid var(--glass-border);
  vertical-align: top;
}

/* ── FAQ ACCORDION (no box per item, just lines) ── */
.faq-section { display: flex; flex-direction: column; gap: 0; }
.faq-section h2.section-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  text-align: left !important;
  margin-bottom: var(--space-md);
}
.accordion { display: flex; flex-direction: column; gap: 0; }
.accordion-item {
  border-radius: 0;
  border-bottom: 1px solid var(--glass-border);
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  overflow: visible;
}
.accordion-item:first-child { border-top: 1px solid var(--glass-border); }
.accordion-q {
  padding: var(--space-md) 0;
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-base);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
}
.accordion-q::-webkit-details-marker { display: none; }
.accordion-q::after { content: '+'; font-size: 1.3rem; color: var(--accent-aqua); flex-shrink: 0; }
.accordion-item[open] .accordion-q::after { content: '−'; }
.accordion-a {
  padding: 0 0 var(--space-md);
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-sm);
  opacity: 0.8;
  line-height: 1.75;
}

/* ── INQUIRY FORM ── */
.product-detail__form {
  border-radius: var(--radius-xl);
  padding: var(--space-2xl);
  background: var(--glass-white-md);
  border: 1px solid var(--glass-border);
  backdrop-filter: var(--blur-md);
  -webkit-backdrop-filter: var(--blur-md);
  box-shadow: var(--shadow-glass);
}
.product-detail__form h2 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  margin-bottom: var(--space-lg);
}
.form-submit-row {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  flex-wrap: wrap;
}
.form-note {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  opacity: 0.6;
  margin-top: 0;
}
.form-note a { color: var(--accent-aqua); text-decoration: underline; }
.form-input {
  font-family: var(--font-display);
  padding: 12px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--glass-border);
  background: var(--glass-white);
  color: var(--color-text);
  font-size: var(--text-sm);
  width: 100%;
  transition: border-color var(--dur-fast);
}
.form-input:focus { outline: none; border-color: var(--accent-aqua); }
textarea.form-input { resize: vertical; }
.form-label { font-family: var(--font-display); font-size: var(--text-sm); font-weight: 600; opacity: 0.7; }

/* ── DARK MODE LOGO SWAP ── */
/* Use element+class selectors so !important beats .nav-logo img (0,1,1) */
img.logo-light { display: inline-block !important; }
img.logo-dark  { display: none         !important; }
[data-theme="dark"] img.logo-light { display: none         !important; }
[data-theme="dark"] img.logo-dark  { display: inline-block !important; }

/* ── ANIMATE-IN: below-fold elements wait for IntersectionObserver ── */
.animate-in--waiting {
  opacity: 0;
  transform: translateY(24px) scale(0.97);
  filter: blur(8px);
  transition: opacity 0.6s var(--ease-glass), transform 0.6s var(--ease-glass), filter 0.6s var(--ease-glass);
  animation: none !important; /* disable CSS animation — JS will trigger transition instead */
}
.animate-in--waiting.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

/* ── DARK MODE: ensure cards are always readable ── */
[data-theme="dark"] .subcat-card {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.15);
}
[data-theme="dark"] .product-card {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.15);
}
[data-theme="dark"] .product-detail__specs .glass,
[data-theme="dark"] .product-detail__form {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.15);
}

/* ═══════════════════════════════════════════════════════════════
   CRITICAL FIX v4 — Double padding elimination
   Breadcrumb already clears the fixed nav with its own 96px padding-top.
   When main directly follows a breadcrumb, the section--top 140px is
   redundant and creates ~260px of dead space at the top.
   ═══════════════════════════════════════════════════════════════ */

/* Remove the extra 140px when breadcrumb is already providing nav clearance */
.breadcrumb + main,
.breadcrumb + main.section--top {
  padding-top: 0 !important;
}

/* Product detail grid: breadcrumb handles nav, just add visual gap */
.breadcrumb + main .product-detail__grid {
  padding-top: var(--space-lg) !important;
}

/* Subcat hero: keep compact since breadcrumb is above */
.breadcrumb + main .subcat-hero {
  padding-top: var(--space-lg) !important;
}

/* Ensure glass inner content renders above the ::before reflection overlay */
.glass > * { position: relative; z-index: 2; }
.specs-table td { position: relative; z-index: 2; }

/* ── RESPONSIVE OVERRIDES ── */
@media (max-width: 900px) {
  .product-detail__grid {
    grid-template-columns: 1fr;
    padding-top: var(--space-lg) !important;
  }
  .product-detail__img-wrap { aspect-ratio: 4 / 3; }
  .form-row { grid-template-columns: 1fr; }
  .product-detail__cta { flex-direction: column; }
  .form-submit-row { flex-direction: column; align-items: flex-start; }
  .card-grid--3col { grid-template-columns: repeat(2, 1fr); }
  .breadcrumb + main, .breadcrumb + main.section--top { padding-top: 0 !important; }
}
@media (max-width: 600px) {
  .card-grid--3col { grid-template-columns: 1fr; }
}
