/* ===========================================================
   Kelvin Films — hoja de estilos
   Control solar y peliculas de seguridad · Cd. Victoria, Tam.
   =========================================================== */

:root{
  color-scheme: dark;
  --ink:#0B0C0D;
  --surface:#111417;
  --surface-2:#171A1E;
  --line:#2B3034;
  --line-soft:#21262A;
  --ice:#4FC8DE;
  --ice-dim:#2E7D8C;
  --paper:#F2F5F6;
  --text:#C6CFD2;
  --muted:#9AA4A8;
  --wa:#25D366;
  --sans:Archivo,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1100px;
  --pad:20px;
  --safe-b:env(safe-area-inset-bottom,0px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  padding-bottom:calc(84px + var(--safe-b));
}
@media (min-width:860px){ body{padding-bottom:0} }

img{max-width:100%;height:auto;display:block}
a{color:var(--ice);text-decoration:none}
a:hover{color:#8FE0EE}
:focus-visible{outline:3px solid var(--ice);outline-offset:3px;border-radius:4px}

h1,h2,h3{color:var(--paper);margin:0;line-height:1.08;letter-spacing:-0.03em;font-weight:900}
h1{font-size:clamp(34px,8.5vw,62px)}
h2{font-size:clamp(27px,5.5vw,40px)}
h3{font-size:clamp(19px,3.4vw,23px);letter-spacing:-0.02em;font-weight:800}
p{margin:0 0 16px}
p:last-child{margin-bottom:0}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
section{padding:clamp(52px,9vw,88px) 0;border-top:1px solid var(--line-soft)}
.eyebrow{
  font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ice);margin:0 0 14px
}
.lead{font-size:clamp(17px,2.3vw,20px);color:var(--text);max-width:62ch}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,12,13,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line-soft);
  padding-top:env(safe-area-inset-top,0px)
}
.site-header .bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  height:64px
}
.brand{display:flex;align-items:center;gap:10px;color:var(--paper);font-weight:900;letter-spacing:-0.03em;font-size:19px}
.brand .mark{
  width:34px;height:34px;flex:0 0 34px;background:var(--ink);border:1px solid var(--line);
  display:grid;place-items:center;font-size:21px;font-weight:900;color:var(--paper);line-height:1;
  position:relative
}
.brand .mark::after{content:"";position:absolute;bottom:6px;left:9px;right:9px;height:2px;background:var(--ice)}
.nav{display:none;gap:26px;align-items:center}
.nav a{color:var(--text);font-weight:600;font-size:15px}
.nav a:hover{color:var(--paper)}
@media (min-width:860px){ .nav{display:flex} }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:800;font-size:16px;letter-spacing:-0.01em;
  padding:15px 24px;border:2px solid transparent;cursor:pointer;
  transition:transform .12s ease, background .12s ease, border-color .12s ease
}
.btn:active{transform:translateY(1px)}
.btn-wa{background:var(--wa);color:#04210F}
.btn-wa:hover{background:#4ade80;color:#04210F}
.btn-ghost{border-color:var(--line);color:var(--paper);background:transparent}
.btn-ghost:hover{border-color:var(--ice);color:var(--paper)}
.btn-sm{padding:11px 18px;font-size:15px}
.btn-block{width:100%}

/* ---------- hero ---------- */
.hero{border-top:0;padding-top:clamp(40px,7vw,70px)}
.hero h1{margin-bottom:18px}
.hero .lead{margin-bottom:28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.badges li{
  font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text);border:1px solid var(--line);padding:8px 12px
}
.hero-media{margin-top:34px;border:1px solid var(--line);background:var(--surface);aspect-ratio:16/10;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover}

/* ---------- measure block ---------- */
.split{display:grid;gap:30px}
@media (min-width:860px){ .split{grid-template-columns:1.05fr .95fr;gap:52px;align-items:center} }
.readout{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:24px
}
.readout div{background:var(--surface);padding:16px 12px;text-align:center}
.readout b{display:block;font-family:var(--mono);font-size:clamp(22px,5vw,28px);font-weight:600;color:var(--ice);letter-spacing:-0.02em}
.readout span{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--muted);margin-top:6px}
.figure{border:1px solid var(--line);background:var(--surface);overflow:hidden}
.figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.figure figcaption{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding:12px 14px;border-top:1px solid var(--line)}

/* ---------- promo ---------- */
.promo{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  border:2px solid var(--ice);padding:14px 18px;margin-bottom:28px;background:var(--surface)
}
.promo .tag{
  font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.16em;
  background:var(--ice);color:var(--ink);padding:6px 10px
}
.promo p{font-family:var(--mono);font-size:14px;color:var(--text);margin:0}

/* ---------- price cards ---------- */
.tiers{display:grid;gap:16px}
@media (min-width:900px){ .tiers{grid-template-columns:repeat(3,1fr);align-items:start} }
.tier{border:1px solid var(--line);background:var(--surface);padding:24px 22px 26px;display:flex;flex-direction:column;height:100%}
.tier.featured{border:2px solid var(--ice);background:var(--surface-2)}
.tier h3{margin-bottom:4px}
.tier .kicker{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.12em;color:var(--ice);margin-bottom:16px}
.tier .kicker.plain{color:var(--muted)}
.price-rows{display:flex;flex-direction:column;gap:10px;margin:0 0 20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.price-row span{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.price-row b{font-size:clamp(26px,5vw,32px);font-weight:800;color:var(--paper);letter-spacing:-0.03em}
.tier.featured .price-row b{color:var(--ice)}
.was{font-family:var(--mono);font-size:12.5px;color:var(--muted);text-decoration:line-through;margin-top:-4px}
.feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;flex:1}
.feats li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.5}
.feats li::before{
  content:"";position:absolute;left:0;top:9px;width:12px;height:2px;background:var(--ice)
}
.tier .btn{margin-top:22px}

.notes{
  display:grid;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line-soft);
  font-family:var(--mono);font-size:13.5px;color:var(--muted)
}
@media (min-width:760px){ .notes{grid-template-columns:1fr 1fr;gap:10px 28px} }
.notes b{color:var(--text);font-weight:600}

/* ---------- perks ---------- */
.perks{display:grid;gap:14px}
@media (min-width:760px){ .perks{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1000px){ .perks{grid-template-columns:repeat(4,1fr)} }
.perk{border:1px solid var(--line);background:var(--surface);padding:22px 20px}
.perk h3{font-size:18px;margin-bottom:8px}
.perk p{font-size:15px;color:var(--muted);margin:0}

/* ---------- gallery ---------- */
.gallery{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (min-width:860px){ .gallery{grid-template-columns:repeat(3,1fr)} }
.gallery figure{margin:0;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gallery figcaption{font-family:var(--mono);font-size:12px;color:var(--muted);padding:10px 12px;border-top:1px solid var(--line-soft)}

/* ---------- faq ---------- */
.faq{max-width:80ch}
.faq details{border-bottom:1px solid var(--line-soft);padding:4px 0}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;
  font-weight:700;color:var(--paper);font-size:17.5px;line-height:1.4
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--mono);font-size:24px;color:var(--ice);font-weight:400;line-height:1
}
.faq details[open] summary::after{content:"–"}
.faq .answer{padding:0 0 20px;color:var(--text);font-size:16px}
.faq .answer p{margin-bottom:12px}

/* ---------- contact ---------- */
.contact-grid{display:grid;gap:26px}
@media (min-width:860px){ .contact-grid{grid-template-columns:1.1fr .9fr;gap:52px} }
.dl{display:grid;gap:16px;margin:0}
.dl div{border-top:1px solid var(--line-soft);padding-top:14px}
.dl dt{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dl dd{margin:6px 0 0;color:var(--paper);font-weight:600;font-size:17px}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line-soft);padding:34px 0 40px;color:var(--muted);font-size:14px}
.site-footer .row{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.social{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.social a{color:var(--text);font-weight:600}
.legal{font-family:var(--mono);font-size:12.5px;margin-top:18px;color:#6E787C;max-width:70ch}

/* ---------- sticky whatsapp (mobile) ---------- */
.wa-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(11,12,13,.94);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  padding:12px var(--pad) calc(12px + var(--safe-b))
}
@media (min-width:860px){ .wa-bar{display:none} }
