/* OBeauty Estètica — bespoke redesign
   Concept: "El panot de Barcelona, en clave clínica."
   Turquoise (#20A8B9, from the logo/panot) + coral (#F99273) on white,
   panot-hexagon motif, instrument-style mono spec/price treatment. */

:root{
  --turq:#20A8B9;
  --turq-deep:#177E8C;
  --turq-bright:#2DB7B9;
  --coral:#F99273;
  --coral-deep:#E8734F;
  --ink:#22333B;
  --ink-soft:#4b5b63;
  --paper:#ffffff;
  --panel:#EEF6F7;
  --panel-2:#E2F0F1;
  --line:#d5e5e7;
  --shadow:0 1px 2px rgba(34,51,59,.05),0 8px 30px rgba(23,126,140,.08);
  --shadow-lg:0 20px 60px rgba(23,126,140,.16);
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1180px;
  --r:16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
/* image reset — max-width + height:auto together (batch distortion fix) */
img{max-width:100%;height:auto;display:block}
a{color:var(--turq-deep);text-decoration:none}
a:hover{color:var(--coral-deep)}
h1,h2,h3,h4{font-weight:800;line-height:1.12;letter-spacing:-.01em;margin:0 0 .4em}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
h3{font-size:1.28rem}
p{margin:0 0 1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}

/* EN/ES visibility helper for elements that carry only one language inline */
html[lang="es"] [data-only="en"]{display:none}
html[lang="en"] [data-only="es"]{display:none}

/* ---------- Header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:22px;height:72px;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.brand img{width:150px;height:auto}
.nav{display:flex;align-items:center;gap:4px}
.nav a{color:var(--ink);font-weight:600;font-size:.95rem;padding:9px 13px;border-radius:10px;letter-spacing:-.01em}
.nav a:hover{background:var(--panel);color:var(--turq-deep)}
.nav a.active{color:var(--turq-deep)}
.nav a.active::after{content:"";display:block;height:2px;background:var(--turq);border-radius:2px;margin-top:3px}
.head-cta{display:inline-flex;align-items:center;gap:7px;background:var(--turq);color:#fff;font-weight:700;
  padding:10px 16px;border-radius:11px;font-size:.92rem}
.head-cta:hover{background:var(--turq-deep);color:#fff}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.lang button{background:#fff;border:0;font:inherit;font-weight:700;font-size:.78rem;color:var(--ink-soft);
  padding:7px 9px;cursor:pointer}
.lang button.active{background:var(--turq);color:#fff}
.nav-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;width:44px;height:40px;cursor:pointer}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:20px;height:2px;background:var(--ink);margin:0 auto;position:relative;transition:.2s}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}

@media(max-width:940px){
  .nav-toggle{display:block}
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-bottom:1px solid var(--line);padding:8px 16px 16px;
    transform:translateY(-130%);transition:transform .25s ease;box-shadow:var(--shadow)}
  .nav.open{transform:translateY(0)}
  .nav a{padding:13px 8px;border-bottom:1px solid var(--panel)}
  .head-cta{margin-top:10px;justify-content:center}
}

/* ---------- panot motif ---------- */
.panot-icon, .flor{width:1.15em;height:1.15em;flex:0 0 auto;object-fit:contain;vertical-align:-0.15em;display:inline-block}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);text-transform:uppercase;
  letter-spacing:.16em;font-size:.74rem;font-weight:700;color:var(--turq-deep);margin-bottom:14px}


/* thin panot-tile divider band */
.tile-band{height:12px;background:
  repeating-linear-gradient(135deg,var(--turq) 0 14px,var(--turq-bright) 14px 28px)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;border-radius:12px;padding:13px 22px;
  cursor:pointer;border:0;font-size:1rem;transition:transform .12s ease,background .15s ease}
.btn-primary{background:var(--turq);color:#fff}
.btn-primary:hover{background:var(--turq-deep);color:#fff;transform:translateY(-1px)}
.btn-coral{background:var(--coral);color:#3a2417}
.btn-coral:hover{background:var(--coral-deep);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:#fff;color:var(--turq-deep);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--turq);color:var(--turq-deep)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 85% -10%,rgba(45,183,185,.16),transparent 55%),
  linear-gradient(180deg,#fff, var(--panel))}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;
  max-width:var(--wrap);margin:0 auto;padding:36px 22px 36px}
.hero h1{font-size:clamp(2.1rem,5vw,3.5rem);margin-bottom:18px}
.hero h1 .hl{color:var(--turq-deep)}
.hero .lead{font-size:1.16rem;color:var(--ink-soft);max-width:38ch;margin-bottom:26px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-figure{position:relative}
.hero-figure .frame{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);
  border:1px solid var(--line);background:#fff}
.hero-figure img{width:100%;aspect-ratio:605/433;object-fit:cover}
.hero-badge{position:absolute;left:-14px;bottom:-14px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:12px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;max-width:360px}
.hero-badge .panot-icon, .hero-badge .flor{width:34px;height:34px;object-fit:contain}
.hero-badge b{display:block;font-size:.92rem;line-height:1.25;white-space:nowrap}
.hero-badge span{font-size:.76rem;color:var(--ink-soft);display:block;margin-top:3px;white-space:nowrap}
.trust-strip{border-top:1px solid var(--line);background:#fff}
.trust-strip .wrap{display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:center;padding:16px 22px;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase}
.trust-strip b{color:var(--turq-deep)}

@media(max-width:820px){
  .hero-in{grid-template-columns:1fr;padding:48px 22px 40px}
  .hero-figure{order:-1}
}

/* ---------- Sections ---------- */
section{padding:74px 0}
.section-head{max-width:640px;margin-bottom:38px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head p{color:var(--ink-soft);font-size:1.08rem;margin:0}
.alt{background:var(--panel)}

/* tech families */
.fam-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fam{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 22px;
  box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;text-align:center;align-items:center}
.fam:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.fam .ic { width: 105px; height: 105px; aspect-ratio: 1 / 1; object-fit: contain; margin: 0 auto 18px auto; display: block; flex-shrink: 0; filter: drop-shadow(0 4px 12px rgba(32,168,185,0.12)); transition: transform .2s ease; }
.fam:hover .ic { transform: scale(1.08); }
.fam h3{font-size:1.18rem;margin-bottom:6px;color:var(--turq-deep)}
.fam .sub{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--turq-deep);margin-bottom:14px}
.fam ul{list-style:none;margin:0 auto 20px auto;padding:0;font-size:.92rem;color:var(--ink-soft);text-align:left;display:inline-block}
.fam ul li{padding:4px 0 4px 18px;position:relative}
.fam ul li::before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;border-radius:2px;
  background:var(--turq);transform:rotate(45deg)}
.fam .fam-link{margin-top:auto;font-weight:700;font-size:.92rem;color:var(--turq-deep)}
.fam .fam-link::after{content:" →"}

@media(max-width:900px){
  .fam-grid{grid-template-columns:repeat(2,1fr);gap:22px}
  .fam{padding:30px 20px;text-align:center;align-items:center}
  .fam .ic{width:115px;height:115px;margin:0 auto 20px auto}
  .fam h3{font-size:1.25rem}
}
@media(max-width:520px){
  .fam-grid{grid-template-columns:1fr;gap:24px}
  .fam{padding:32px 22px;text-align:center;align-items:center}
  .fam .ic{width:120px;height:120px;margin:0 auto 22px auto}
  .fam h3{font-size:1.3rem}
}

/* specialty / SAT split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.split.rev .split-txt{order:2}
.split-figure{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.split-figure img{width:100%;object-fit:cover}
.split ul.checks{list-style:none;padding:0;margin:0 0 22px}
.split ul.checks li{position:relative;padding:9px 0 9px 34px;border-bottom:1px solid var(--line);font-weight:600}
.split ul.checks li::before{content:"";position:absolute;left:0;top:12px;width:20px;height:20px;border-radius:6px;
  background:var(--turq);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9.5 17.2 4.3 12l1.4-1.4 3.8 3.8 8.8-8.8L19.7 7z'/></svg>") center/70% no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9.5 17.2 4.3 12l1.4-1.4 3.8 3.8 8.8-8.8L19.7 7z'/></svg>") center/70% no-repeat}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:26px}.split.rev .split-txt{order:0}}

/* SAT pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.pillar:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.pillar .n{font-family:var(--mono);color:var(--turq);font-weight:700;font-size:1.3rem}
.pillar h3{font-size:1.2rem;margin:10px 0 8px}
.pillar p{margin:0;color:var(--ink-soft);font-size:.95rem}
.pillar .hex{width:44px;height:44px;margin-bottom:6px}
@media(max-width:960px){.pillars{grid-template-columns:1fr}}


/* featured products */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column}
.feat .ph{aspect-ratio:4/3;overflow:hidden;background:var(--panel)}
.feat .ph img{width:100%;height:100%;object-fit:cover}
.feat .bd{padding:20px 20px 24px}
.feat .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-deep)}
.feat h3{margin:8px 0 6px;font-size:1.15rem}
.feat p{color:var(--ink-soft);font-size:.95rem;margin:0}
@media(max-width:820px){.feat-grid{grid-template-columns:1fr}}

/* ---------- Catalogue ---------- */
.cat-head{background:linear-gradient(180deg,#fff,var(--panel));padding:56px 0 22px}
.filterbar{position:sticky;top:72px;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filterbar-in{display:flex;flex-wrap:wrap;gap:9px;max-width:var(--wrap);margin:0 auto;padding:14px 22px;align-items:center}
.filterbar .lbl{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-right:4px}
.chip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;
  font-size:.86rem;color:var(--ink-soft);cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--turq)}
.chip.active{background:var(--turq);border-color:var(--turq);color:#fff}
.chip .c{opacity:.7;font-family:var(--mono);font-weight:400;margin-left:5px}

.machine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:40px 0 20px}
.machine{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}
.machine:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.machine.hide,.cat-group.hide{display:none!important}
.chip{transition:all .2s ease}
.chip:hover{border-color:var(--turq)!important;color:var(--turq-deep)!important}
.chip.active{background:var(--turq)!important;color:#fff!important;border-color:var(--turq)!important}

.machine-img{aspect-ratio:4/3;background:var(--panel);overflow:hidden}
.machine-img img{width:100%;height:100%;object-fit:cover}
.machine-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.machine-body h3{font-size:1.1rem;margin-bottom:8px}
.machine-price{font-family:var(--mono);font-weight:700;color:var(--turq-deep);font-size:1.02rem;margin:0 0 12px}
.machine-price .iva{font-weight:400;font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}
.machine-spec{list-style:none;margin:0 0 18px;padding:0;font-size:.9rem;color:var(--ink-soft)}
.machine-spec li{position:relative;padding:4px 0 4px 16px}
.machine-spec li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;background:var(--coral);border-radius:2px;transform:rotate(45deg)}
.machine-cta{margin-top:auto;align-self:flex-start;background:var(--panel);color:var(--turq-deep);font-weight:700;
  font-size:.88rem;padding:10px 16px;border-radius:10px;border:1px solid var(--line)}
.machine-cta:hover{background:var(--turq);color:#fff;border-color:var(--turq)}
.cat-note{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);padding:0 0 40px}
@media(max-width:900px){.machine-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.machine-grid{grid-template-columns:1fr}.filterbar{top:64px}}

/* ---------- Repuestos table ---------- */
.parts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.part{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.part .nm{font-weight:600}
.part .pr{font-family:var(--mono);font-weight:700;color:var(--turq-deep);white-space:nowrap}
.part .pr small{color:var(--ink-soft);font-weight:400}
@media(max-width:700px){.parts{grid-template-columns:1fr}}

/* ---------- Compra/Alquiler cards ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.offer{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.offer.rent{background:linear-gradient(180deg,#fff,var(--panel))}
.offer h3{font-size:1.5rem;margin-bottom:6px}
.offer .tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--turq-deep);font-weight:700}
.offer ul{list-style:none;padding:0;margin:18px 0 24px}
.offer ul li{position:relative;padding:9px 0 9px 30px;border-bottom:1px solid var(--panel)}
.offer ul li::before{content:"";position:absolute;left:0;top:13px;width:16px;height:16px;border-radius:5px;background:var(--turq);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9.5 17.2 4.3 12l1.4-1.4 3.8 3.8 8.8-8.8L19.7 7z'/></svg>") center/72% no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9.5 17.2 4.3 12l1.4-1.4 3.8 3.8 8.8-8.8L19.7 7z'/></svg>") center/72% no-repeat}
.offer.rent ul li::before{background:var(--coral)}
@media(max-width:760px){.duo{grid-template-columns:1fr}}

/* generic prose page (legal, exonov) */
.prose{max-width:760px;margin:0 auto}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.3em;color:var(--turq-deep)}
.prose ul{padding-left:1.1em}
.prose li{margin:.3em 0}
.prose .meta{font-family:var(--mono);font-size:.82rem;color:var(--ink-soft);background:var(--panel);
  border-left:3px solid var(--turq);padding:12px 16px;border-radius:0 10px 10px 0}

/* exonov editorial */
.exo-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.exo-hero .fig{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.exo-hero .fig img{width:100%;object-fit:cover;aspect-ratio:1/1}
.exo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.exo-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.exo-card h3{color:var(--turq-deep)}
.ingr{list-style:none;padding:0;margin:0}
.ingr li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline}
.ingr li b{color:var(--ink)}
.ingr li::before{content:"";flex:0 0 auto;width:9px;height:9px;background:var(--turq);border-radius:2px;transform:rotate(45deg);margin-top:6px}
@media(max-width:820px){.exo-hero,.exo-grid{grid-template-columns:1fr}}

/* ---------- Contact ---------- */
.contact{background:var(--ink);color:#dceff1}
.contact h2{color:#fff}
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.contact a{color:#fff}
.contact .rows{list-style:none;padding:0;margin:0}
.contact .rows li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.contact .rows .k{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--turq-bright);min-width:92px;padding-top:3px}
.contact .rows .v{font-weight:600;font-size:1.05rem}
.contact .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media(max-width:760px){.contact-in{grid-template-columns:1fr;gap:26px}}

/* ---------- Footer ---------- */
.site-foot{background:#16262c;color:#9fb9bd;font-size:.92rem}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;padding:52px 22px 34px;max-width:var(--wrap);margin:0 auto}
.site-foot .brand img{width:150px;filter:brightness(0) invert(1);opacity:.95}
.site-foot h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--mono);font-weight:700;margin:6px 0 14px}
.site-foot a{color:#c6dbde}
.site-foot a:hover{color:#fff}
.foot-links{list-style:none;padding:0;margin:0}
.foot-links li{margin:8px 0}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1)}
.foot-bottom .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:space-between;padding:18px 22px;font-size:.82rem}
.foot-bottom .legal a{margin-right:16px}
@media(max-width:760px){.foot-in{grid-template-columns:1fr;gap:24px}}


/* reveal */
.reveal { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; }
@media (scripting: enabled) {
  .reveal:not(.visible):not(.in) { opacity: 1; }
}
.reveal.in, .reveal.visible { opacity: 1 !important; transform: none !important; }
@media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important;transition:none}}


/* Technical callout box (tips, consejos, avisos) */
.tech-callout-box {
  margin: 24px 0;
  background: #F4FBFB !important;
  border: 1px solid #D2EFF2 !important;
  border-left: 5px solid var(--turq) !important;
  border-radius: 14px;
  padding: 20px 24px;
  box-shadow: 0 4px 15px rgba(32,168,185,0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tech-callout-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(32,168,185,0.12);
}
.tech-callout-box h4, .tech-callout-box h3 {
  margin: 0 0 8px 0;
  color: var(--turq-deep) !important;
  font-weight: 700;
  font-size: 1.15rem;
  display: flex;
  align-items: center;
  gap: 10px;
}
.tech-callout-box p {
  margin: 0;
  color: var(--ink) !important;
  line-height: 1.7;
  font-size: 1.02rem;
}

/* ---------- Hero Mobile Gap Fix & Huge Category Icons ---------- */
.fam .ic { 
  width: 130px !important; 
  height: 130px !important; 
  aspect-ratio: 1 / 1; 
  object-fit: contain; 
  margin: 0 auto 16px auto !important; 
  display: block; 
  flex-shrink: 0; 
  filter: drop-shadow(0 6px 16px rgba(32,168,185,0.15)); 
  transition: transform .2s ease; 
}
.fam:hover .ic { transform: scale(1.08); }

@media(max-width:820px){
  .hero-in{ grid-template-columns:1fr; padding: 12px 18px 24px !important; }
  .hero{ padding-top: 0 !important; }
  .hero-figure{ margin-top: 0 !important; }
  .fam .ic{ width: 145px !important; height: 145px !important; margin: 0 auto 16px auto !important; }
}

@media(max-width:520px){
  .hero-in{ padding: 8px 16px 20px !important; }
  .fam-grid{ grid-template-columns:1fr; gap:20px }
  .fam{ padding:26px 18px; text-align:center; align-items:center }
  .fam .ic{ width: 155px !important; height: 155px !important; margin: 0 auto 18px auto !important; }
  .fam h3{ font-size: 1.35rem; }
}

/* Make entire .fam card 100% clickable while preserving hover animation */
.fam { position:relative; cursor:pointer; }
.fam .fam-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}

/* ==========================================================================
   Global Equipment Tabs Enhancement
   ========================================================================== */
.prod-tabs-nav {
  display: flex !important;
  gap: 12px !important;
  border-bottom: 2px solid var(--line) !important;
  padding-bottom: 14px !important;
  margin-bottom: 35px !important;
  flex-wrap: wrap !important;
}

.prod-tabs-nav button {
  background: var(--panel) !important;
  border: 1.5px solid var(--line) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  padding: 12px 24px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.04) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.prod-tabs-nav button:hover {
  background: #e6f4f6 !important;
  border-color: var(--turq) !important;
  color: var(--turq-deep) !important;
  transform: translateY(-1px) !important;
}

.prod-tabs-nav button.active {
  background: var(--turq-deep) !important;
  border-color: var(--turq-deep) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(23, 126, 140, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   Comparative & Technical Table Enhancement
   ========================================================================== */
.comp-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin-top: 15px !important;
  background: #fff !important;
}

.comp-table th {
  background: #0e4b54 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 14px 16px !important;
  border: 1px solid #1a6570 !important;
  text-align: left !important;
}

.comp-table th.highlight-col {
  background: #177E8C !important;
  border: 1px solid #20a8b9 !important;
}

.comp-table td {
  padding: 14px 16px !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
}

.comp-table td.dim-cell {
  background: var(--panel) !important;
  font-weight: 700 !important;
  color: var(--turq-deep) !important;
  white-space: nowrap !important;
}

.comp-table td.highlight-cell {
  background: rgba(32, 168, 185, 0.08) !important;
  font-weight: 600 !important;
  color: var(--turq-deep) !important;
}



/* ---- Lightbox Modal & Zoom ---- */
.main-image {
  position: relative;
  cursor: zoom-in;
}



.ob-lightbox-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.ob-lightbox-modal.active {
  opacity: 1;
  visibility: visible;
}
.ob-lightbox-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 20, 30, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ob-lightbox-container {
  position: relative;
  z-index: 2;
  max-width: 94vw;
  max-height: 94vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.ob-lightbox-close {
  position: absolute;
  top: -48px;
  right: 0;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  font-size: 2rem;
  line-height: 1;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.ob-lightbox-close:hover {
  background: var(--turq);
  color: #fff;
  transform: scale(1.1);
}

.ob-lightbox-img-wrapper {
  overflow: auto;
  max-width: 92vw;
  max-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
  padding: 10px;
}
.ob-lightbox-img {
  max-width: 100%;
  max-height: 78vh;
  object-fit: contain;
  cursor: zoom-in;
  transition: transform 0.2s cubic-bezier(0.2, 0, 0.2, 1);
  display: block;
  user-select: none;
}
.ob-lightbox-img.zoomed {
  cursor: zoom-out;
}
