
:root{
  --navy: #0F4C46;
  --navy-deep: #082E2A;
  --steel-1: #7C948F;
  --steel-2: #CBDAD6;
  --paper: #F3F8F6;
  --paper-2: #E9F2EE;
  --amber: #E8A33D;
  --line: rgba(15,76,70,0.14);
  --ink: #12211E;
  --radius: 18px;
  --shadow: 0 12px 32px rgba(8,46,42,0.08);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden; max-width:100%;}
body{background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; -webkit-font-smoothing:antialiased;}
img,svg,video{max-width:100%;}
h1,h2,h3,h4,p,li,dd,dt{overflow-wrap:break-word;}
.crumb a,.foot-col a,.foot-brand p,.contact-info dd{word-break:break-word;}
h1,h2,h3{font-family:'Sora', sans-serif; font-weight:600; letter-spacing:-0.02em; color:var(--navy-deep);}
.mono{font-family:'JetBrains Mono', monospace; letter-spacing:0.06em; text-transform:uppercase; font-size:0.72rem;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }
a:focus-visible, button:focus-visible{outline:2px solid var(--amber); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

/* ---------- HEADER ---------- */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav-row{display:flex; align-items:center; justify-content:space-between; min-height:152px; gap:24px; padding:14px 0;}
.brand{display:flex; align-items:center; flex-shrink:0;}
.brand img{height:128px; width:auto; display:block;}
nav ul{list-style:none; display:flex; gap:8px; align-items:center; background:#fff; padding:6px; border-radius:999px; box-shadow:var(--shadow);}
nav a{font-size:0.88rem; color:var(--navy-deep); position:relative; padding:9px 18px; white-space:nowrap; border-radius:999px; transition:background .2s ease, color .2s ease;}
nav a:hover{background:var(--paper-2);}
nav a.active{background:var(--navy-deep); color:#fff;}
.nav-cta{background:var(--amber); color:var(--navy-deep); padding:12px 24px; font-size:0.85rem; font-weight:600; border-radius:999px; flex-shrink:0; transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 8px 20px rgba(232,163,61,0.35);}
.nav-cta:hover{transform:translateY(-1px); box-shadow:0 10px 24px rgba(232,163,61,0.45);}
.nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:46px; height:46px; padding:11px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); cursor:pointer; flex-shrink:0;}
.nav-toggle span{display:block; width:100%; height:2px; background:var(--navy-deep); border-radius:2px; transition:transform .25s ease, opacity .2s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (max-width:900px){
  nav ul{gap:20px;}
  nav a{font-size:0.85rem;}
}
@media (max-width:760px){
  .nav-row{min-height:auto; padding:14px 0; gap:14px; position:relative;}
  .brand img{height:80px;}
  .nav-toggle{display:flex;}
  .nav-cta{margin-left:auto; order:0;}
  nav{position:absolute; left:0; right:0; top:100%; background:rgba(255,255,255,0.98); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); box-shadow:var(--shadow); max-height:0; overflow:hidden; opacity:0; visibility:hidden; transition:max-height .3s ease, opacity .25s ease, visibility .3s;}
  nav.open{max-height:75vh; overflow-y:auto; opacity:1; visibility:visible;}
  nav ul{flex-direction:column; align-items:stretch; gap:6px; width:100%; padding:14px 20px 20px; border-radius:0; background:transparent; box-shadow:none;}
  nav a{display:block; padding:13px 16px; font-size:0.95rem; text-align:left; border-radius:12px;}
  nav a:hover{background:var(--paper-2);}
  nav a.active{background:var(--navy-deep); color:#fff;}
}

/* breadcrumb */
.crumb{padding:22px 0 0; color:var(--steel-1); font-size:0.82rem;}
.crumb a{color:var(--steel-1);}
.crumb a:hover{color:var(--navy-deep);}
.crumb .sep{margin:0 8px;}
.crumb .current{color:var(--navy-deep);}

/* ---------- HERO (generic page header) ---------- */
.page-hero{padding:40px 0 70px;}
.phero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; margin-top:8px;}
@media (max-width:860px){ .phero-grid{grid-template-columns:1fr; gap:30px;} }
.product-media{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:26px; display:flex; align-items:center; justify-content:center;}
.product-media img{width:100%; height:auto; max-height:420px; object-fit:contain; border-radius:12px; display:block;}
.eyebrow{display:flex; align-items:center; gap:10px; color:var(--amber); margin-bottom:20px;}
.eyebrow .rule{width:34px; height:1px; background:var(--amber);}
.page-hero h1{font-size:clamp(2.1rem, 4vw, 3.2rem); line-height:1.1; max-width:16ch;}
.page-hero p.lead{margin-top:22px; font-size:1.05rem; line-height:1.7; color:#3C434B; max-width:60ch;}

/* home hero */
.hero{position:relative; overflow:hidden; padding:64px 0 110px;}
.hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
.hero h1{font-size:clamp(2.4rem, 4.4vw, 3.75rem); line-height:1.06;}
.hero h1 em{font-style:italic; color:var(--amber);}
.hero p.lead{margin-top:26px; font-size:1.08rem; line-height:1.7; color:#3C434B; max-width:46ch;}
.hero-actions{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap;}
.btn-primary{background:var(--navy-deep); color:#fff; padding:16px 30px; font-size:0.92rem; font-weight:600; border-radius:999px; display:inline-flex; align-items:center; gap:10px; transition:transform .2s ease, box-shadow .2s ease; border:none; cursor:pointer; box-shadow:0 14px 30px rgba(8,46,42,0.22);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 36px rgba(8,46,42,0.28);}
.btn-ghost{border:1.5px solid var(--navy-deep); border-radius:999px; padding:14.5px 28px; font-size:0.92rem; font-weight:600; color:var(--navy-deep); display:inline-block; transition:background .2s ease, color .2s ease;}
.btn-ghost:hover{background:var(--navy-deep); color:#fff;}
.hero-figure{position:relative; display:flex; justify-content:center;}
.hero-figure svg{width:100%; max-width:420px; height:auto;}
.hero-figure img{width:100%; max-width:520px; height:auto; border-radius:24px; box-shadow:var(--shadow); object-fit:cover;}
.hero{background:radial-gradient(circle at 82% 18%, rgba(232,163,61,0.16), transparent 55%), radial-gradient(circle at 12% 82%, rgba(15,76,70,0.10), transparent 50%);}

.stat-strip{padding:34px 0;}
.stat-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;}
.stat{flex:1; min-width:150px; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:26px 22px;}
.stat .num{font-family:'Sora', sans-serif; font-weight:700; font-size:1.9rem; color:var(--navy-deep);}
.stat .lbl{color:#5D726D; font-size:0.85rem; margin-top:6px;}

section{padding:96px 0;}
.sec-head{max-width:640px; margin-bottom:52px;}
.sec-head .eyebrow{margin-bottom:16px;}
.sec-head h2{font-size:clamp(1.9rem, 3vw, 2.5rem); line-height:1.15;}
.sec-head p{margin-top:18px; color:#4A525B; font-size:1rem; line-height:1.7;}

.about{background:var(--paper-2);}
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:start;}
@media (max-width:860px){ .about-grid{grid-template-columns:1fr;} }
.about-mark{font-family:'Sora', sans-serif; font-weight:600; font-size:1.35rem; color:var(--navy); background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:28px 26px; line-height:1.5;}
.about-body p{color:#3C434B; line-height:1.8; margin-bottom:18px; font-size:1rem;}
.pillars{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px;}
@media (max-width:520px){ .pillars{grid-template-columns:1fr;} }
.pillar{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:24px 22px;}
.pillar .mono{color:var(--amber); margin-bottom:8px; display:block;}
.pillar h4{font-family:'Sora', sans-serif; font-size:1.02rem; font-weight:600; margin-bottom:6px; color:var(--navy-deep);}
.pillar p{font-size:0.92rem; color:#5A616A; line-height:1.6;}

.products-list{display:grid; gap:16px;}
.product-row{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); display:grid; grid-template-columns:40px 120px 1.1fr 1.6fr auto; gap:22px; align-items:center; padding:22px 28px; transition:transform .2s ease, box-shadow .2s ease;}
.product-row:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(8,46,42,0.14);}
@media (max-width:760px){ .product-row{grid-template-columns:1fr; gap:10px; padding:20px 22px;} }
.p-index{font-family:'JetBrains Mono', monospace; color:var(--amber); font-size:0.85rem; font-weight:600;}
.p-thumb{width:120px; height:120px; border-radius:14px; object-fit:contain; background:var(--paper); padding:8px; box-shadow:0 4px 12px rgba(8,46,42,0.10);}
.p-name{font-family:'Sora', sans-serif; font-weight:600; font-size:1.25rem; color:var(--navy-deep);}
.p-desc{color:#4A525B; font-size:0.94rem; line-height:1.65;}
.p-tag{justify-self:end; font-family:'JetBrains Mono', monospace; font-size:0.68rem; color:var(--navy-deep); background:var(--paper-2); border-radius:999px; padding:7px 14px; white-space:nowrap;}
@media (max-width:760px){ .p-tag{justify-self:start;} }

.arc-divider{position:relative; padding:56px 0; overflow:hidden; text-align:center;}
.arc-divider svg{width:100%; max-width:900px; height:auto; opacity:0.9;}
.arc-divider .divider-text{margin-top:18px; color:var(--steel-1);}

.workflow{background:var(--navy-deep); color:#fff;}
.workflow .sec-head h2{color:#fff;}
.workflow .sec-head p{color:#AFC7C2;}
.flow-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;}
@media (max-width:820px){ .flow-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .flow-grid{grid-template-columns:1fr;} }
.flow-cell{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius); padding:30px 24px;}
.flow-cell .mono{color:var(--amber); display:block; margin-bottom:14px;}
.flow-cell h4{font-family:'Sora', sans-serif; font-weight:600; font-size:1.1rem; margin-bottom:10px;}
.flow-cell p{font-size:0.88rem; color:#AFC7C2; line-height:1.6;}

/* product detail page */
.spec-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px;}
@media (max-width:640px){ .spec-grid{grid-template-columns:1fr;} }
.spec-cell{background:#fff; border-radius:14px; box-shadow:var(--shadow); padding:22px 24px;}
.spec-cell dt{font-family:'JetBrains Mono'; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--amber); margin-bottom:8px;}
.spec-cell dd{font-family:'Sora', sans-serif; font-weight:600; font-size:1.05rem; color:var(--navy-deep); line-height:1.4;}
.feature-list{margin-top:12px; display:grid; gap:16px;}
.feature-item{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); display:grid; grid-template-columns:44px 1fr; gap:18px; align-items:start; padding:22px 24px;}
.feature-item .fnum{font-family:'JetBrains Mono'; color:var(--amber); font-size:0.85rem; padding-top:4px; font-weight:600;}
.feature-item h4{font-size:1.02rem; font-weight:600; color:var(--navy-deep); margin-bottom:6px;}
.feature-item p{color:#4A525B; font-size:0.94rem; line-height:1.65;}
.indication-box{background:var(--navy-deep); color:#fff; border-radius:var(--radius); padding:28px 30px; margin-top:32px;}
.indication-box .mono{color:var(--amber); margin-bottom:10px; display:block;}
.indication-box p{color:#DCE9E6; line-height:1.7; font-size:0.96rem;}
.related-strip{padding-top:40px; margin-top:24px;}
.related-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:24px;}
@media (max-width:760px){ .related-grid{grid-template-columns:1fr;} }
.related-card{background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:26px; transition:transform .2s ease;}
.related-card:hover{transform:translateY(-3px);}
.related-card .mono{color:var(--amber); margin-bottom:10px; display:block;}
.related-card h4{font-family:'Sora', sans-serif; font-weight:600; font-size:1.1rem; margin-bottom:8px; color:var(--navy-deep);}
.related-card p{font-size:0.88rem; color:#5A616A; line-height:1.6;}
.disclaimer{margin-top:56px; padding-top:24px; border-top:1px solid var(--line); color:#8A929B; font-size:0.8rem; line-height:1.7;}

/* contact */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
.contact-info dl{display:grid; gap:16px; margin-top:8px;}
.contact-info dt{font-family:'JetBrains Mono'; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--amber); margin-bottom:6px;}
.contact-info dd{font-family:'Sora', sans-serif; font-weight:600; font-size:1.2rem; color:var(--navy-deep);}
.contact-info dl > div{background:#fff; border-radius:14px; box-shadow:var(--shadow); padding:20px 22px;}
.form-field{margin-bottom:20px;}
.form-field label{display:block; font-size:0.82rem; color:#5A616A; margin-bottom:8px;}
.form-field input, .form-field textarea, .form-field select{width:100%; border:1px solid var(--line); border-radius:12px; background:#fff; padding:13px 16px; font-family:'Inter'; font-size:0.95rem; color:var(--ink);}
.form-field input:focus, .form-field textarea:focus{outline:none; border-color:var(--navy-deep);}
.form-field textarea{resize:vertical; min-height:110px;}

/* ---------- FOOTER ---------- */
footer{padding:56px 0 40px; background:var(--navy-deep); color:#fff; margin-top:40px; border-radius:32px 32px 0 0;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:40px;}
/* ---------- WHATSAPP FLOATING BUTTON ---------- */
.wa-float{position:fixed; right:22px; bottom:22px; z-index:200; display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:#25D366; box-shadow:0 10px 26px rgba(37,211,102,0.45); transition:transform .2s ease, box-shadow .2s ease;}
.wa-float:hover{transform:translateY(-2px) scale(1.05); box-shadow:0 14px 30px rgba(37,211,102,0.55);}
.wa-float svg{width:32px; height:32px; fill:#fff;}
@media (max-width:640px){ .wa-float{right:16px; bottom:16px; width:54px; height:54px;} .wa-float svg{width:29px; height:29px;} }
@media (max-width:760px){ .foot-grid{grid-template-columns:1fr; gap:32px;} }
.foot-brand img{height:44px; margin-bottom:16px; display:block; filter:brightness(0) invert(1);}
.foot-brand p{color:#AFC7C2; font-size:0.88rem; line-height:1.6; max-width:34ch;}
.foot-col .mono{color:var(--amber); margin-bottom:14px; display:block;}
.foot-col ul{list-style:none; display:grid; gap:10px;}
.foot-col a{font-size:0.88rem; color:#CFE0DC;}
.foot-col a:hover{color:#fff;}
.foot-bottom{margin-top:44px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.14); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:#8FAAA4; font-size:0.78rem;}

.reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- MOBILE OPTIMIZATION ---------- */
@media (max-width:760px){
  section{padding:60px 0;}
  .hero{padding:40px 0 60px;}
  .page-hero{padding:26px 0 40px;}
  .sec-head{margin-bottom:34px;}
  .about-grid{gap:36px;}
  .hero-grid{gap:36px;}
  .hero-figure img{max-width:100%;}
  footer{border-radius:24px 24px 0 0; padding:44px 0 32px; margin-top:32px;}
  .foot-bottom{flex-direction:column; gap:6px; margin-top:32px;}
  /* prevent iOS input zoom */
  .form-field input, .form-field textarea, .form-field select{font-size:16px;}
}
@media (max-width:640px){
  .wrap{padding:0 18px;}
  .brand img{height:72px;}
  .nav-cta{padding:11px 20px; font-size:0.82rem;}
  section{padding:52px 0;}
  .indication-box{padding:22px 20px;}
  .related-card{padding:22px 20px;}
  .spec-cell{padding:20px 20px;}
  .feature-item{grid-template-columns:34px 1fr; gap:14px; padding:20px 20px;}
  .stat{padding:22px 20px;}
  .stat .num{font-size:1.55rem;}
  .stat-row{gap:14px;}
  .hero-actions{gap:12px;}
  .hero-actions .btn-primary, .hero-actions .btn-ghost{width:100%; text-align:center; justify-content:center;}
  .page-hero h1, .hero h1{max-width:100%;}
}
@media (max-width:380px){
  .brand img{height:64px;}
  .nav-cta{padding:10px 16px;}
  nav ul{gap:10px;}
}


