/* EMC Local Sites landing (IG bio link). Brand matches the closing page (emc-sitios). Mobile-first. */
:root{
  --navy:#1B2B4B; --navy-deep:#0F1E35; --gold:#C9A241; --gold-deep:#8A6A1F;
  --cream:#F9F6F0; --paper:#FFFFFF; --ink:#16213A; --mute:#5B6478; --rule:rgba(27,43,75,.14);
  --serif:"Playfair Display",Georgia,serif; --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --shell:min(1120px,calc(100vw - 32px)); --r:20px;
  --shadow:0 1px 2px rgba(15,30,53,.06),0 18px 40px -22px rgba(15,30,53,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.96rem + .2vw,1.08rem);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button{font:inherit;cursor:pointer}
.shell{width:var(--shell);margin-inline:auto}
.narrow{max-width:760px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.top{background:var(--navy-deep);color:var(--cream)}
.top .shell{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:var(--serif);font-size:1.2rem;letter-spacing:.01em}
.brand b{color:var(--gold);font-weight:700}
.lang{display:inline-flex;border:1.5px solid rgba(249,246,240,.25);border-radius:999px;padding:3px}
.lang button{border:0;background:none;color:rgba(249,246,240,.75);min-height:38px;min-width:44px;border-radius:999px;font-weight:700;font-size:.8rem}
.lang button[aria-pressed="true"]{background:var(--gold);color:var(--navy-deep)}

.eyebrow{margin:0;font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.3rem,1.5rem + 3.6vw,4rem);line-height:1.05;margin:.6rem 0 1rem;color:var(--navy)}
h1 em{font-style:italic;color:var(--gold-deep);font-weight:600}
h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem);line-height:1.12;margin:.5rem 0 1rem;color:var(--navy)}
.lede{margin:0 0 1rem;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);color:var(--mute);max-width:640px}
.fine{font-size:.88rem;color:var(--mute);margin:.9rem 0 0}
.muted{color:var(--mute)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.4rem;border-radius:999px;font-weight:800;text-decoration:none;border:2px solid transparent}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:#D6B157}
.btn-line{border-color:var(--navy);color:var(--navy)}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

.hero{padding:clamp(2rem,5vw,4rem) 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.phones{position:relative;height:520px}
.phone{position:absolute;width:230px;aspect-ratio:390/844;border-radius:34px;padding:9px;background:#0F1E35;box-shadow:var(--shadow);overflow:hidden;top:0;left:8%}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:26px}
.phone-2{left:auto;right:4%;top:60px}
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr} .phones{height:420px;order:-1} .phone{width:180px} .phone-2{top:50px} }

.sec{padding:clamp(3rem,6vw,5rem) 0}
.sec-white{background:var(--paper);border-block:1px solid var(--rule)}
.sec-navy{background:var(--navy-deep);color:var(--cream)}
.sec-navy h2{color:#fff}
.sec-navy .eyebrow{color:var(--gold)}
.sec-navy .lede,.sec-navy .fine{color:rgba(249,246,240,.75)}

.steps{list-style:none;counter-reset:s;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.steps li{counter-increment:s;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:1.4rem}
.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--gold);font-weight:800;margin-bottom:.8rem}
.steps b{display:block;font-size:1.1rem;color:var(--navy);margin-bottom:.3rem}
.steps span{color:var(--mute)}
@media (max-width:760px){ .steps{grid-template-columns:1fr} }

.demos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}
.demo{display:flex;flex-direction:column;text-decoration:none;background:var(--cream);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.demo:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.demo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.demo .tag{margin:1rem 1.2rem 0;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.demo b{margin:.3rem 1.2rem 1.2rem;color:var(--navy);font-size:1.05rem}
@media (max-width:860px){ .demos{grid-template-columns:1fr 1fr} }
@media (max-width:540px){ .demos{grid-template-columns:1fr} }

.two{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:start}
@media (max-width:860px){ .two{grid-template-columns:1fr} }
.checks{list-style:none;margin:0;padding:0}
.checks li{position:relative;padding:.6rem 0 .6rem 2rem;border-top:1px solid var(--rule)}
.checks li::before{content:"";position:absolute;left:0;top:.95rem;width:18px;height:18px;border-radius:50%;background:var(--gold)}
.price-card{background:var(--paper);border-radius:var(--r);padding:1.6rem;box-shadow:var(--shadow);border:1px solid var(--rule)}
.price{font-family:var(--serif);font-size:3rem;font-weight:700;color:var(--navy);margin:.2rem 0 .5rem;line-height:1}
.price span{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--mute);margin-right:.3rem}
.price-card .btn{width:100%;margin-top:.6rem}

.form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.5rem;align-items:start}
@media (max-width:860px){ .form-wrap{grid-template-columns:1fr} }
#vp{background:var(--paper);color:var(--ink);border-radius:var(--r);padding:1.6rem}
.fld{display:block;font-weight:700;font-size:.95rem;color:var(--navy);margin-bottom:.9rem}
.fld input,.fld select{display:block;width:100%;margin-top:.35rem;min-height:50px;border:1.5px solid #CFC9BC;border-radius:12px;padding:.7rem .9rem;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff}
.fld input:focus,.fld select:focus{outline:3px solid rgba(201,162,65,.45);border-color:var(--gold)}
.hp{position:absolute;left:-9999px}
#vp .btn{width:100%;margin-top:.4rem}
#vp .fine{color:var(--mute)}
.err{color:#B3261E;font-weight:700;margin:.2rem 0 .6rem;min-height:0}
.err:empty{display:none}
.ok{background:var(--paper);color:var(--ink);border-radius:var(--r);padding:2rem}
.ok[hidden]{display:none}
.ok h3{font-family:var(--serif);font-size:1.8rem;margin:0 0 .5rem;color:var(--navy)}

details{border-top:1px solid var(--rule);padding:1rem 0}
details:last-child{border-bottom:1px solid var(--rule)}
summary{font-weight:800;color:var(--navy);cursor:pointer;min-height:44px;display:flex;align-items:center}
details p{margin:.4rem 0 0;color:var(--mute)}

.foot{background:var(--navy-deep);color:rgba(249,246,240,.75);padding:2rem 0;font-size:.92rem}
.foot .shell{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem}
.foot a{color:#fff}
@media (prefers-reduced-motion:reduce){ *{transition:none!important;scroll-behavior:auto!important} }
/* tap targets ≥44px (harness 10-05) */
.lang button{min-height:44px}
.foot a{display:inline-flex;align-items:center;min-height:44px}
