*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --teal:#1D9E75;--teal-d:#0F6E56;--teal-l:#E1F5EE;--teal-xl:#F0FAF6;
  --bg:#FAF8F4;--bg2:#FFFFFF;--bg3:#F4F1EA;
  --sf:#FFFFFF;--sf2:#F7F5F0;
  --bd:#EAE7E0;--bd2:rgba(29,158,117,.3);--bd3:rgba(29,158,117,.5);
  --tx:#1A1F18;--tx2:#6B7064;--tx3:#A3A099;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 2px 24px rgba(26,31,24,.04);
  --shadow-lg:0 12px 48px rgba(26,31,24,.08);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--sans);background:var(--bg);color:var(--tx);overflow-x:hidden;line-height:1.6}

/* === GLOBAL ELEMENTS === */
.page{display:none}.page.active{display:block}
section{padding:7rem 3rem}
.inner{max-width:1120px;margin:0 auto}
.label{font-size:.7rem;letter-spacing:.14em;color:var(--teal-d);text-transform:uppercase;font-weight:600;margin-bottom:.9rem}
.title{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.02em;color:var(--tx);margin-bottom:1.2rem}
.title em{font-style:italic;color:var(--teal)}
.subtitle{font-size:1.05rem;color:var(--tx2);font-weight:400;max-width:520px;line-height:1.75}

/* === NAV === */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 3rem;transition:all .4s;background:rgba(250,248,244,0)}
nav.scrolled{background:rgba(250,248,244,.92);border-bottom:1px solid var(--bd);backdrop-filter:blur(20px)}
.nav-logo{font-family:var(--serif);font-size:1.35rem;color:var(--tx);cursor:pointer}
.nav-logo span{color:var(--teal)}
.nav-links{display:flex;gap:1.75rem;align-items:center}
.nav-links a,.nav-links button{font-size:.85rem;color:var(--tx2);text-decoration:none;transition:color .2s;font-weight:500;background:none;border:none;cursor:pointer;font-family:var(--sans)}
.nav-links a:hover,.nav-links button:hover{color:var(--tx)}
.nav-res{border:1px solid var(--bd) !important;border-radius:99px;padding:.4rem 1.1rem !important;transition:border-color .2s,color .2s,background .2s !important;background:var(--sf2) !important}
.nav-res:hover{border-color:var(--bd2) !important;color:var(--teal-d) !important}
.nav-cta{background:var(--teal) !important;color:#fff !important;padding:.45rem 1.2rem;border-radius:99px;font-weight:600 !important;transition:background .2s !important}
.nav-cta:hover{background:var(--teal-d) !important}

/* === BUTTONS === */
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:99px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s var(--ease);cursor:pointer;font-family:var(--sans);border:none}
.btn-p{background:var(--teal);color:#fff;padding:.85rem 2rem;box-shadow:0 4px 20px rgba(29,158,117,.18)}
.btn-p:hover{background:var(--teal-d);transform:translateY(-2px);box-shadow:0 12px 32px rgba(29,158,117,.25)}
.btn-g{color:var(--tx2);background:none;padding:.85rem 0;gap:.4rem;font-weight:500}
.btn-g:hover{color:var(--tx);gap:.65rem}
.btn-g svg{width:15px;height:15px;transition:transform .2s}
.btn-o{border:1.5px solid var(--bd);color:var(--tx);font-weight:600;padding:.8rem 1.6rem;background:var(--sf2)}
.btn-o:hover{border-color:var(--bd2);color:var(--teal-d);background:var(--teal-xl)}
.btn-s{background:var(--teal);color:#fff;padding:.8rem 1.6rem;box-shadow:0 4px 16px rgba(29,158,117,.15)}
.btn-s:hover{background:var(--teal-d)}

/* === HERO === */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:8rem 3rem 5rem;position:relative;overflow:hidden}
.hero-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(var(--bd) 1px,transparent 1px),linear-gradient(90deg,var(--bd) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 70%)}
.hero-glow{position:absolute;top:-25%;right:-15%;width:75vw;height:75vw;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,.08) 0%,transparent 60%);pointer-events:none}
.hero-glow2{position:absolute;bottom:-35%;left:-20%;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,.05) 0%,transparent 60%);pointer-events:none}
.hero-inner{max-width:880px;position:relative;z-index:1}
.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--teal-l);border:1px solid rgba(29,158,117,.18);border-radius:99px;padding:.3rem .9rem;font-size:.75rem;color:var(--teal-d);font-weight:600;letter-spacing:.05em;margin-bottom:2.5rem;opacity:0;transform:translateY(14px);animation:fu .6s .1s forwards}
.hero-pill::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--teal);animation:pulse2 2s infinite}
@keyframes pulse2{0%,100%{opacity:1}50%{opacity:.3}}
.hero-h{font-family:var(--serif);font-size:clamp(3.2rem,7.5vw,5.8rem);line-height:1.06;letter-spacing:-.025em;color:var(--tx);margin-bottom:1.8rem;opacity:0;transform:translateY(18px);animation:fu .7s .2s forwards}
.hero-h em{font-style:italic;color:var(--teal)}
.hero-sub{font-size:clamp(1rem,2vw,1.15rem);color:var(--tx2);font-weight:400;max-width:520px;line-height:1.75;margin-bottom:2.8rem;opacity:0;transform:translateY(18px);animation:fu .7s .35s forwards}
.hero-btns{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;opacity:0;transform:translateY(18px);animation:fu .7s .5s forwards}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:14px;overflow:hidden;max-width:620px;margin-top:4.5rem;position:relative;z-index:1;opacity:0;transform:translateY(18px);animation:fu .7s .65s forwards;box-shadow:var(--shadow)}
.stat{background:var(--sf);padding:1.4rem 1.6rem}
.stat-n{font-family:var(--serif);font-size:2.1rem;color:var(--teal-d);line-height:1;margin-bottom:.25rem}
.stat-l{font-size:.78rem;color:var(--tx2);font-weight:400;line-height:1.4}

/* === HOW IT WORKS === */
.how{background:var(--bg3)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:14px;overflow:hidden;margin-top:3.5rem;box-shadow:var(--shadow)}
.step{background:var(--sf);padding:2rem 1.6rem;transition:background .25s}
.step:hover{background:var(--teal-xl)}
.step-n{font-family:var(--serif);font-size:2.8rem;color:var(--teal-l);line-height:1;margin-bottom:1.2rem}
.step-ico{width:38px;height:38px;border-radius:10px;background:var(--teal-l);border:1px solid rgba(29,158,117,.15);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
.step-ico svg{width:17px;height:17px;color:var(--teal-d)}
.step h3{font-size:.95rem;font-weight:600;color:var(--tx);margin-bottom:.5rem}
.step p{font-size:.83rem;color:var(--tx2);font-weight:400;line-height:1.65}

/* === DEMO WHATSAPP === */
.demo-section{background:var(--bg);position:relative;overflow:hidden}
.demo-section .inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.demo-text{max-width:440px}
.phone{width:320px;height:580px;background:var(--sf);border-radius:32px;border:1px solid var(--bd);position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:24px;background:var(--bg);border-radius:0 0 14px 14px;z-index:2}
.phone-header{background:var(--sf2);padding:34px 16px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--bd)}
.phone-header .av{width:32px;height:32px;border-radius:50%;background:var(--teal-l);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--teal-d)}
.phone-header .info h4{font-size:.82rem;font-weight:600;color:var(--tx);margin:0}
.phone-header .info p{font-size:.65rem;color:var(--teal-d);margin:0}
.phone-chat{padding:14px;height:440px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;background:var(--bg3)}
.phone-chat::-webkit-scrollbar{width:0}
.phone-input{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:var(--sf2);border-top:1px solid var(--bd);display:flex;align-items:center;gap:8px}
.phone-input input{flex:1;background:var(--sf);border:1px solid var(--bd);border-radius:20px;padding:7px 14px;color:var(--tx);font-size:.78rem;font-family:var(--sans);outline:none}
.phone-input input::placeholder{color:var(--tx3)}
.phone-input button{width:30px;height:30px;border-radius:50%;background:var(--teal);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.phone-input button svg{width:14px;height:14px;color:#fff}
.bbl{max-width:82%;padding:.55rem .85rem;border-radius:12px;font-size:.78rem;line-height:1.55;animation:msgIn .3s var(--ease)}
.bbl-bot{background:var(--sf);color:var(--tx);border:1px solid var(--bd);align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.bbl-usr{background:var(--teal);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.bbl-time{font-size:.6rem;color:var(--tx3);margin-top:2px}
.typing{display:flex;gap:3px;padding:.6rem .85rem;align-self:flex-start;background:var(--sf);border-radius:12px;border:1px solid var(--bd)}
.typing span{width:6px;height:6px;border-radius:50%;background:var(--teal);animation:typeDot 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes typeDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* DEMO PLAY BUTTON */
.demo-play{display:inline-flex;align-items:center;gap:.6rem;background:var(--teal-l);border:1px solid rgba(29,158,117,.2);border-radius:99px;padding:.5rem 1.2rem;font-size:.82rem;color:var(--teal-d);font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--sans);margin-top:1.5rem}
.demo-play:hover{background:#d4f0e6;border-color:rgba(29,158,117,.35)}
.demo-play svg{width:16px;height:16px}

/* === FEATURES === */
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3.5rem}
.feat{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:1.8rem;transition:border-color .2s,transform .2s,box-shadow .2s;box-shadow:var(--shadow)}
.feat:hover{border-color:var(--bd2);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.feat.wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.feat-ico{width:42px;height:42px;border-radius:11px;background:var(--teal-l);border:1px solid rgba(29,158,117,.12);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.feat-ico svg{width:19px;height:19px;color:var(--teal-d)}
.feat h3{font-size:1rem;font-weight:600;color:var(--tx);margin-bottom:.5rem}
.feat p{font-size:.85rem;color:var(--tx2);font-weight:400;line-height:1.7}

/* FEAT VISUAL - chat preview */
.feat-vis{background:var(--bg3);border-radius:11px;padding:1.3rem;border:1px solid var(--bd)}
.fmsg{display:flex;gap:.6rem;margin-bottom:.6rem;align-items:flex-start}
.fmsg-av{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}
.fmsg-av.bot{background:var(--teal-l);color:var(--teal-d)}
.fmsg-av.usr{background:var(--bd);color:var(--tx2)}
.fmsg-b{border-radius:11px;padding:.5rem .8rem;font-size:.77rem;line-height:1.55;max-width:84%}
.fmsg-b.bot{background:var(--sf);color:var(--tx);border:1px solid var(--bd)}
.fmsg-b.usr{background:var(--teal);color:#fff;margin-left:auto}
.fmsg.right{flex-direction:row-reverse}

/* === PRICING === */
.pricing{background:var(--bg3)}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3.5rem;max-width:820px}
.pricing-grid.three{grid-template-columns:repeat(3,1fr);max-width:1120px}
.pc{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:2rem;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;box-shadow:var(--shadow)}
.pc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.pc.pop{border-color:var(--teal);background:var(--sf)}
.pc.pop::before{content:'Más popular';position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:.7rem;font-weight:600;padding:2px 13px;border-radius:99px;white-space:nowrap}
.pc-name{font-size:.78rem;font-weight:600;color:var(--tx2);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.7rem}
.pc-price{font-family:var(--serif);font-size:2.8rem;color:var(--tx);line-height:1;margin-bottom:.2rem}
.pc-price span{font-size:.95rem;color:var(--tx2);font-family:var(--sans)}
.pc-seg{font-size:.78rem;color:var(--tx3);margin-bottom:1.6rem;font-weight:400}
.pc-div{height:1px;background:var(--bd);margin-bottom:1.6rem}
.pf{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.6rem}
.pf svg{width:13px;height:13px;flex-shrink:0;margin-top:3px}
.pf.y svg{color:var(--teal)}
.pf.n svg{color:var(--tx3)}
.pf span{font-size:.83rem;color:var(--tx2);font-weight:400;line-height:1.45}
.pf.n span{color:var(--tx3)}
.pc-btn{display:block;width:100%;text-align:center;padding:.75rem;border-radius:10px;font-size:.88rem;font-weight:600;text-decoration:none;margin-top:1.6rem;transition:all .2s;cursor:pointer;border:none;font-family:var(--sans)}

/* === BANNER RESIDENCIAS === */
.res-banner{background:var(--bg2);border-top:1px solid var(--bd);padding:3.5rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.res-banner-l{max-width:540px}
.res-banner-l p{font-size:.78rem;color:var(--teal-d);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.res-banner-l h3{font-family:var(--serif);font-size:1.5rem;color:var(--tx);line-height:1.3}
.res-banner-l h3 em{color:var(--teal);font-style:italic}

/* === TESTIMONIALS === */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3.5rem}
.testi{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:1.6rem;box-shadow:var(--shadow)}
.testi-q{font-family:var(--serif);font-size:1rem;color:var(--tx);line-height:1.6;margin-bottom:1.1rem;font-style:italic}
.testi-q::before{content:'\201C';color:var(--teal);font-size:1.4rem;line-height:0;vertical-align:-.3em;margin-right:2px}
.testi-a{font-size:.78rem;color:var(--tx3);font-weight:400}
.testi-a strong{display:block;color:var(--tx2);font-weight:600;margin-bottom:1px}

/* === CTA FINAL === */
.cta{background:var(--bg3);text-align:center;padding:8rem 3rem;position:relative;overflow:hidden}
.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,.08) 0%,transparent 60%)}
.cta .title,.cta .subtitle{margin-left:auto;margin-right:auto;text-align:center}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;margin-top:2.5rem}
.cta-note{font-size:.78rem;color:var(--tx3);margin-top:1.2rem;position:relative;z-index:1}

/* === RES PAGE THEME (warmer accent shift) === */
.page-residencias{--accent-bg:#F2F7F5}
.page-residencias .how,.page-residencias .pricing,.page-residencias .cta{background:var(--accent-bg)}

/* === RES HERO === */
.res-hero{background:var(--bg);padding:9rem 3rem 6rem;position:relative;overflow:hidden}
.res-hero-glow{position:absolute;top:-20%;right:-10%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,.08) 0%,transparent 60%);pointer-events:none}
.back-btn{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--tx3);text-decoration:none;margin-bottom:2.2rem;transition:color .2s;cursor:pointer;background:none;border:none;font-family:var(--sans);font-weight:500}
.back-btn:hover{color:var(--teal-d)}
.back-btn svg{width:13px;height:13px}

/* === ROI STRIP === */
.roi-strip{background:var(--bg3);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:2.5rem 3rem}
.roi-strip-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.roi-item{background:var(--sf);padding:1.5rem;text-align:center}
.roi-n{font-family:var(--serif);font-size:2.3rem;color:var(--teal-d);line-height:1;margin-bottom:.35rem}
.roi-l{font-size:.78rem;color:var(--tx3);font-weight:400;line-height:1.4}

/* === DASHBOARD DEMO === */
.dash-demo{background:var(--bg);padding:7rem 3rem}
.dash-frame{background:var(--sf);border:1px solid var(--bd);border-radius:14px;overflow:hidden;margin-top:3rem;box-shadow:var(--shadow-lg)}
.dash-top{padding:1rem 1.5rem;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;background:var(--sf2)}
.dash-top h4{font-size:.9rem;font-weight:600;color:var(--tx)}
.dash-top .badge{font-size:.7rem;padding:2px 9px;border-radius:99px;background:var(--teal-l);color:var(--teal-d);font-weight:600}
.dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd)}
.dash-card{background:var(--sf);padding:1.3rem;cursor:pointer;transition:background .2s}
.dash-card:hover{background:var(--teal-xl)}
.dash-card.alert{border-left:3px solid #E67E22}
.dash-card.critical{border-left:3px solid #E74C3C}
.dash-card .dc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.dash-card .dc-name{font-size:.85rem;font-weight:600;color:var(--tx)}
.dash-card .dc-score{font-family:var(--serif);font-size:1.3rem;line-height:1}
.dc-score.good{color:var(--teal-d)}
.dc-score.warn{color:#E67E22}
.dc-score.bad{color:#E74C3C}
.dash-card .dc-tag{font-size:.65rem;padding:2px 7px;border-radius:99px;font-weight:600;display:inline-block;margin-bottom:.5rem}
.dc-tag.ok{background:var(--teal-l);color:var(--teal-d)}
.dc-tag.watch{background:#FCEEDF;color:#E67E22}
.dc-tag.alert-tag{background:#FBE4E2;color:#E74C3C}
.dash-card .dc-meta{font-size:.72rem;color:var(--tx3);line-height:1.5}
.dash-bottom{padding:1rem 1.5rem;border-top:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;background:var(--sf2)}
.dash-bottom .pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);animation:pulse2 2s infinite;display:inline-block;margin-right:6px}
.dash-bottom span{font-size:.75rem;color:var(--tx3)}

/* === RES FEATURES === */
.res-feats{background:var(--bg)}
.res-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3.5rem}
.rf{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:1.6rem;box-shadow:var(--shadow)}
.rf-ico{width:38px;height:38px;border-radius:10px;background:var(--teal-l);border:1px solid rgba(29,158,117,.12);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.rf-ico svg{width:17px;height:17px;color:var(--teal-d)}
.rf h3{font-size:.92rem;font-weight:600;color:var(--tx);margin-bottom:.45rem}
.rf p{font-size:.82rem;color:var(--tx2);font-weight:400;line-height:1.65}

/* === DEMO CTA === */
.demo-cta{padding:7rem 3rem;text-align:center;position:relative;overflow:hidden;background:var(--bg)}
.demo-cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,rgba(29,158,117,.08) 0%,transparent 60%)}

/* === MODAL === */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(26,31,24,.5);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.modal-ov.open{display:flex}
.modal{background:var(--sf);border:1px solid var(--bd);border-radius:18px;padding:2.5rem;max-width:420px;width:90%;position:relative;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}
.modal-x{position:absolute;top:1.2rem;right:1.2rem;background:none;border:none;color:var(--tx3);cursor:pointer;font-size:1.1rem;font-family:var(--sans);transition:color .2s;padding:.25rem}
.modal-x:hover{color:var(--tx)}
.modal h3{font-family:var(--serif);font-size:1.65rem;color:var(--tx);margin-bottom:.4rem}
.modal>p{font-size:.85rem;color:var(--tx2);margin-bottom:1.6rem;font-weight:400;line-height:1.6}
.fg{margin-bottom:.9rem}
.fg label{display:block;font-size:.78rem;color:var(--tx2);margin-bottom:.35rem;font-weight:500}
.fg input,.fg select{width:100%;background:var(--sf2);border:1px solid var(--bd);border-radius:8px;padding:.65rem .9rem;color:var(--tx);font-size:.88rem;font-family:var(--sans);outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus{border-color:var(--bd2)}
.fg select option{background:var(--sf)}
.form-btn{width:100%;background:var(--teal);color:#fff;border:none;border-radius:10px;padding:.85rem;font-size:.92rem;font-weight:600;cursor:pointer;margin-top:.5rem;font-family:var(--sans);transition:background .2s}
.form-btn:hover{background:var(--teal-d)}
.form-btn:disabled{opacity:.6;cursor:not-allowed}
.form-note{font-size:.72rem;color:var(--tx3);text-align:center;margin-top:.9rem}
.form-error{font-size:.78rem;color:#E74C3C;margin-top:.5rem;display:none}
.form-error.show{display:block}
.form-success{text-align:center;padding:1rem 0}
.form-success .ico{width:52px;height:52px;border-radius:50%;background:var(--teal-l);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.form-success .ico svg{width:24px;height:24px;color:var(--teal-d)}
.form-success h3{margin-bottom:.6rem}
.form-success p{font-size:.85rem;color:var(--tx2);line-height:1.6}
.plan-toggle{display:flex;background:var(--sf2);border:1px solid var(--bd);border-radius:10px;padding:3px;margin-bottom:1.2rem}
.plan-toggle button{flex:1;padding:.55rem;border:none;background:none;border-radius:8px;font-size:.83rem;font-weight:600;color:var(--tx2);cursor:pointer;font-family:var(--sans);transition:all .2s}
.plan-toggle button.active{background:var(--sf);color:var(--teal-d);box-shadow:var(--shadow)}

/* === FOOTER === */
footer{border-top:1px solid var(--bd);padding:2.2rem 3rem;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--tx3);background:var(--bg2)}
.footer-logo{font-family:var(--serif);font-size:1.05rem;color:var(--tx2)}
.footer-logo span{color:var(--teal)}
footer a{color:var(--tx3);text-decoration:none;transition:color .2s;cursor:pointer;background:none;border:none;font-family:var(--sans);font-size:.78rem}
footer a:hover{color:var(--teal-d)}

/* === LEGAL PAGES === */
.legal-page{background:var(--bg);min-height:100vh;padding:9rem 3rem 5rem}
.legal-inner{max-width:720px;margin:0 auto}
.legal-inner h1{font-family:var(--serif);font-size:2.4rem;color:var(--tx);margin-bottom:.5rem;letter-spacing:-.02em}
.legal-inner .legal-date{font-size:.82rem;color:var(--tx3);margin-bottom:2.5rem}
.legal-inner h2{font-family:var(--serif);font-size:1.4rem;color:var(--tx);margin:2.2rem 0 .8rem;letter-spacing:-.01em}
.legal-inner p,.legal-inner li{font-size:.95rem;color:var(--tx2);line-height:1.8;margin-bottom:.9rem}
.legal-inner ul{padding-left:1.4rem;margin-bottom:.9rem}
.legal-inner a{color:var(--teal-d);text-decoration:underline}
.legal-inner strong{color:var(--tx);font-weight:600}

/* === CONTACT PAGE === */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem}
.contact-info{display:flex;flex-direction:column;gap:1.5rem}
.contact-item{display:flex;gap:1rem;align-items:flex-start}
.contact-item .ci-ico{width:40px;height:40px;border-radius:10px;background:var(--teal-l);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-item .ci-ico svg{width:18px;height:18px;color:var(--teal-d)}
.contact-item h4{font-size:.95rem;font-weight:600;color:var(--tx);margin-bottom:.2rem}
.contact-item p{font-size:.88rem;color:var(--tx2);margin:0}
.contact-item a{color:var(--teal-d);text-decoration:none;font-weight:500}
.contact-form{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:2rem;box-shadow:var(--shadow)}

/* === ANIMATIONS === */
@keyframes fu{to{opacity:1;transform:translateY(0)}}
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.v{opacity:1;transform:translateY(0)}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}

/* === PAGE TRANSITION === */
.page-fade-out{opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}
.page-fade-in{animation:pageIn .45s var(--ease)}
@keyframes pageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* SVG icons */
.ck{display:inline-block}

/* === RESPONSIVE === */
@media(max-width:900px){
  nav{padding:.9rem 1.4rem}
  .nav-links a:not(.nav-cta):not(.nav-res){display:none}
  section,.hero,.res-hero,.roi-strip,.dash-demo,.demo-cta,.legal-page{padding-left:1.4rem;padding-right:1.4rem}
  .res-banner{padding:3rem 1.4rem}
  .hero{padding:6rem 1.4rem 4rem}
  .demo-section .inner{grid-template-columns:1fr;text-align:center}
  .demo-text{margin:0 auto}
  .phone{margin:0 auto}
  .steps{grid-template-columns:1fr 1fr}
  .feat-grid,.pricing-grid{grid-template-columns:1fr}
  .feat.wide{grid-column:span 1;grid-template-columns:1fr}
  .pricing-grid.three,.res-feat-grid,.testi-grid,.dash-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .roi-strip-inner{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  footer{flex-direction:column;gap:.8rem;text-align:center}
}
