/* Fuentes alojadas en el sitio (subset latin, incluye acentos y ñ). Licencia: SIL Open Font License, ver fonts/ */
@font-face{font-family:'Lexend';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/lexend-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Lexend';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lexend-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Lexend';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/lexend-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Lexend';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/lexend-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Lexend';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/lexend-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dm-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/dm-mono-latin-500-normal.woff2') format('woff2')}

*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{margin:0;font-size:16px;overflow-x:hidden}img{max-width:100%}[hidden]{display:none!important}

/* Layout: dot grid as the page's skeleton. Every section sits on the grid; lines and pills from the brand connect ideas. */
:root{
  --teal:#163743; --coral:#EC6B4D; --lime:#C1D556; --peri:#B7C3F3; --crema:#F9F7F3;
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#F9F7F3; --fg:#163743; --muted:#4D6670;
  --line:#D8DCD6; --dot:#163743; --ghost:#A9B6BA; --inv-bg:#163743; --inv-fg:#F9F7F3; --inv-muted:#B9C8CC;
  --grad-a:linear-gradient(90deg,var(--lime),var(--peri));
  --grad-b:linear-gradient(90deg,var(--teal),var(--peri));
  --grad-c:linear-gradient(90deg,var(--coral),var(--peri));
  --f-display:"Lexend","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-body:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --f-mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --grid-line:#E7ECEB; --grid-dot:#C3CDCF;
  --r-pill:999px; --r-box:28px;
  --wrap:1180px;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
a{color:inherit}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{margin:0}
.eyebrow{font-family:var(--f-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
section{padding-block:clamp(64px,9vw,120px)}

/* wordmark */
.wordmark{font-family:var(--f-display);font-weight:600;font-size:1.6rem;letter-spacing:-.04em;line-height:1;text-decoration:none;display:inline-flex;align-items:flex-end;gap:2px}
.wordmark .dot{width:.28em;height:.28em;border-radius:50%;background:var(--grad-a);margin-bottom:.06em}
.wm-sub{display:block;font-family:var(--f-body);font-size:.68rem;font-weight:500;letter-spacing:.02em;color:var(--muted);margin-top:4px;padding-left:2.4em}

/* nav */
.announce{display:block;text-align:center;background:var(--teal);color:#F9F7F3;font:500 .78rem/1.3 var(--f-mono);letter-spacing:.04em;text-decoration:none;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.announce:hover span:first-child{text-decoration:underline;text-underline-offset:3px}
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;padding-block:12px;background:transparent;pointer-events:none}
header.nav .wrap{pointer-events:auto}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 22px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid var(--fg);border-radius:20px}
.nav-links a{font-family:var(--f-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--muted)}
.nav-links a:hover{color:var(--fg)}
.nav-right{display:flex;align-items:center;gap:12px}
.lang{display:inline-flex;border:1.5px solid var(--fg);border-radius:var(--r-pill);padding:3px;gap:2px}
.lang button{font:600 .78rem/1 var(--f-body);letter-spacing:.06em;border:0;background:transparent;color:var(--fg);padding:7px 12px;border-radius:var(--r-pill);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 .92rem/1 var(--f-body);text-decoration:none;border-radius:var(--r-pill);padding:15px 24px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--coral);color:#fff}
.btn-ghost{border-color:var(--fg);color:var(--fg);background:transparent}
.btn-sm{padding:11px 18px;font-size:.84rem}
.btn .arr{width:18px;height:18px}
@media (max-width:900px){.nav-links{display:none}}
@media (max-width:520px){.nav .btn-sm{display:none}.wordmark{font-size:1.35rem}}

/* hero */
.hero{padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,104px)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center}
.hero-grid>*{min-width:0}
.hero h1{font-size:clamp(2.7rem,6.8vw,5.6rem);line-height:1;font-weight:600;margin-top:18px}
.hero h1 .hl{background:var(--grad-c);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--muted);max-width:52ch;margin-top:22px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-tag{margin-top:36px;display:flex;align-items:center;gap:12px;font-family:var(--f-display);font-weight:500;color:var(--muted)}
.hero-tag .pill{width:56px;height:14px;border-radius:var(--r-pill);background:var(--grad-a)}
.board-reset:hover{background:var(--line)}
.board-label{position:absolute;left:18px;bottom:16px;right:110px;pointer-events:none;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.board{aspect-ratio:4/3}}

/* stats */
.stats{background:var(--inv-bg);color:var(--inv-fg)}
.stats .eyebrow{color:var(--inv-muted)}
.stats-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.stats h2{font-size:clamp(2rem,4vw,3rem)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:48px}
.stat{border-top:1.5px solid color-mix(in srgb,var(--inv-fg) 30%,transparent);padding-top:22px}
.stat .num{font-family:var(--f-display);font-weight:600;font-size:clamp(2.8rem,5.5vw,4.4rem);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stat:nth-child(1) .num{color:var(--coral)} .stat:nth-child(2) .num{color:var(--lime)} .stat:nth-child(3) .num{color:var(--peri)}
.stat p{margin-top:14px;color:var(--inv-muted);max-width:30ch}
.stats-close{margin-top:56px;font-family:var(--f-display);font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:500}
.stats-close .wm{font-weight:600;letter-spacing:-.03em}
.stats-close .wm i{display:inline-block;width:.26em;height:.26em;border-radius:50%;background:var(--grad-a);margin-left:1px}
@media (max-width:760px){.stat-row{grid-template-columns:1fr}}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:start}
.about-grid>*{min-width:0}
.about h2{font-size:clamp(2rem,4vw,3.1rem);margin-top:14px}
.about .body{font-size:1.08rem;color:var(--muted);max-width:56ch}
.concept{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.concept-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-box);padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.concept-item svg{width:56px;height:40px}
.concept-item h3{font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.concept-item p{font-size:.92rem;color:var(--muted)}
.concept-intro{font-family:var(--f-display);font-size:clamp(1.2rem,2vw,1.45rem);font-weight:500;line-height:1.35;margin-top:32px}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}
@media (max-width:640px){.concept{grid-template-columns:1fr}}

/* services */
.services{background:var(--surface-2)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin-top:12px}
.sec-head p{color:var(--muted);max-width:40ch}
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-box);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:20px;min-width:0}
.svc-top{display:flex;justify-content:space-between;align-items:start;gap:16px}
.svc-name{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.svc-bar{display:block;width:44px;height:10px;border-radius:var(--r-pill);margin-top:10px}
.svc h3{font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.1}
.svc .desc{color:var(--muted)}
.svc .for{font-size:.9rem;background:var(--surface-2);border-radius:16px;padding:14px 16px}
.svc .for b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.svc ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.svc li{display:flex;gap:10px;font-size:.92rem;align-items:baseline}
.svc li::before{content:"";flex:0 0 7px;height:7px;border-radius:50%;background:var(--fg);transform:translateY(-1px)}
.svc-foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.price{font-family:var(--f-display);font-weight:600;font-size:1.35rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.price small{font-family:var(--f-body);font-weight:500;font-size:.8rem;color:var(--muted);letter-spacing:0}
.terms{font-size:.8rem;color:var(--muted);max-width:30ch}
.svc.opex{background:var(--inv-bg);color:var(--inv-fg);border-color:transparent}
.svc.opex .desc,.svc.opex .terms,.svc.opex .price small{color:var(--inv-muted)}
.svc.opex .for{background:color-mix(in srgb,var(--inv-fg) 10%,transparent)}
.svc.opex li::before{background:var(--lime)}
.svc.opex .svc-foot{border-color:color-mix(in srgb,var(--inv-fg) 22%,transparent)}
.badge{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:var(--r-pill);background:var(--lime);color:#163743;white-space:nowrap}
.svc-note{margin-top:28px;font-size:.85rem;color:var(--muted)}
@media (max-width:860px){.svc-grid{grid-template-columns:1fr}}

/* process */
.steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.steps::before{content:"";position:absolute;top:13px;left:14px;right:14px;height:2px;background:var(--line)}
.step{position:relative;padding-right:24px}
.step .node{width:28px;height:28px;border-radius:50%;background:var(--bg);border:2px solid var(--fg);position:relative;z-index:1;display:grid;place-items:center}
.step .node::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--fg)}
.step:first-child .node{border-color:var(--coral)} .step:first-child .node::after{background:var(--coral)}
.step:last-child .node{border-color:var(--lime)} .step:last-child .node::after{background:var(--lime)}
.step .k{font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--muted);margin-top:22px;font-variant-numeric:tabular-nums}
.step h3{font-size:1.25rem;margin-top:6px}
.step p{color:var(--muted);font-size:.94rem;margin-top:8px;max-width:28ch}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:28px}
  .steps::before{top:14px;bottom:14px;left:13px;right:auto;width:2px;height:auto}
  .step{display:grid;grid-template-columns:28px 1fr;column-gap:20px;padding-right:0}
  .step .node{grid-row:1/4}
  .step .k{margin-top:4px}
}

/* audience */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.aud-card{border-radius:var(--r-box);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.aud-card:nth-child(1){background:color-mix(in srgb,var(--lime) 30%,var(--surface))}
.aud-card:nth-child(2){background:color-mix(in srgb,var(--peri) 40%,var(--surface))}
.aud-card:nth-child(3){background:color-mix(in srgb,var(--coral) 22%,var(--surface))}
.aud-card h3{font-size:1.4rem}
.aud-card p{color:var(--fg);opacity:.85}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.chip{border:1.5px solid var(--line);border-radius:var(--r-pill);padding:9px 16px;font-size:.88rem;font-weight:500}
@media (max-width:860px){.aud{grid-template-columns:1fr}}

/* founder */
.founder{background:var(--surface-2)}
.founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:center}
.founder-grid>*{min-width:0}
.mark{aspect-ratio:1/1;max-width:100%;border-radius:var(--r-box);background:var(--inv-bg);display:grid;place-items:center;position:relative;overflow:hidden}
.mark svg.iso{width:58%;height:auto}
.mark .dots{position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--inv-fg) 22%,transparent) 2px,transparent 2.5px);background-size:32px 32px;background-position:16px 16px}
.founder h2{font-size:clamp(2rem,4vw,3rem);margin-top:12px}
.founder .role{font-weight:600;margin-top:8px}
.founder .bio{color:var(--muted);margin-top:20px;max-width:58ch;font-size:1.04rem}
.creds{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
@media (max-width:860px){.founder-grid{grid-template-columns:1fr}.mark{max-width:360px}}

/* contact */
.contact{background:var(--inv-bg);color:var(--inv-fg);position:relative;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center;position:relative}
.contact-grid>*{min-width:0}
.contact h2{font-size:clamp(3rem,8vw,6rem);line-height:.95}
.contact .sub{font-family:var(--f-display);font-size:clamp(1.15rem,2vw,1.5rem);margin-top:18px;color:var(--inv-muted)}
.contact .btn-primary{margin-top:32px}
.c-list{display:grid;gap:12px}
.c-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1.5px solid color-mix(in srgb,var(--inv-fg) 22%,transparent);border-radius:20px;padding:16px 18px;min-width:0}
.c-item .lbl{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--inv-muted);font-weight:600}
.c-item .val{font-weight:600;word-break:break-word;user-select:all}
.c-item a.val{text-decoration:none}
.c-link{text-decoration:none;color:inherit;transition:background .2s,border-color .2s}
.c-link:hover{background:color-mix(in srgb,var(--inv-fg) 8%,transparent);border-color:var(--lime)}
.c-go{display:inline-flex;align-items:center;gap:6px;font:600 .82rem/1 var(--f-body);border-radius:var(--r-pill);padding:10px 14px;background:var(--lime);color:#163743;white-space:nowrap}
.c-link .val{user-select:auto}
.copy{font:600 .82rem/1 var(--f-body);border:0;border-radius:var(--r-pill);padding:10px 14px;background:var(--lime);color:#163743;cursor:pointer;white-space:nowrap;transition:transform .2s}
.copy:hover{transform:translateY(-1px)}
.contact-pills{position:absolute;right:-60px;top:-40px;display:grid;gap:14px;transform:rotate(-14deg);opacity:.35;pointer-events:none}
.contact-pills span{display:block;height:34px;border-radius:var(--r-pill)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.contact-pills{display:none}}


/* newsletter */
.news-box{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;border:1.5px solid var(--line);border-radius:var(--r-box);padding:clamp(28px,4vw,52px);background:var(--surface);position:relative;overflow:hidden}
.news-box>*{min-width:0}
.news-box h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-top:12px}
.news-box p.sub{color:var(--muted);margin-top:14px;max-width:44ch}
.news-form{display:grid;gap:14px}
.field{display:grid;gap:6px}
.field label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tel-row{display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:8px}
.cc{width:auto;min-width:0;max-width:112px;font:600 .92rem var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:14px 12px;cursor:pointer}
.cc:focus{outline:none;border-color:var(--fg)}
.news-form input{width:100%;min-width:0;font:500 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:15px 20px;transition:border-color .15s}
.news-form input:focus{outline:none;border-color:var(--fg)}
.news-form input.bad{border-color:var(--coral)}
.news-form input.good{border-color:color-mix(in srgb,var(--lime) 80%,var(--fg))}
.f-err{font-size:.8rem;font-weight:600;color:var(--coral);min-height:0;padding-left:20px}
.f-err:empty{display:none}
#nw-submit{justify-self:start;margin-top:4px}
#nw-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}
.news-form .fine{font-size:.78rem;color:var(--muted)}
.news-msg{font-size:.9rem;font-weight:600;min-height:1.4em}
.news-msg.ok{color:var(--fg)} .news-msg.err{color:var(--coral)}
@media (max-width:860px){.news-box{grid-template-columns:1fr}}
/* ---- v5: Huge-inspired type ---- */
.mega{font-size:clamp(3rem,9.6vw,9rem);line-height:.94;letter-spacing:-.045em;font-weight:600;margin-top:22px;max-width:14ch}
.hero-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:end;margin-top:clamp(28px,4vw,56px)}
.hero-row>*{min-width:0}
.hero-row .board{aspect-ratio:16/11}
.hero-copy .lead{margin-top:0}
@media (max-width:860px){.hero-row{grid-template-columns:1fr}.hero-row .board{aspect-ratio:4/3}}
h2.big{font-size:clamp(2.4rem,6vw,5rem);line-height:.98;letter-spacing:-.04em;margin-top:12px;max-width:16ch}
.statement{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,4.4vw,3.6rem);line-height:1.12;letter-spacing:-.025em;margin-top:18px;max-width:22ch}
.statement .w{color:var(--ghost);transition:color .35s ease}
.statement .w.on{color:var(--fg)}
.statement .w.on.hot{background:var(--grad-c);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-reduced-motion:reduce){.statement .w{color:var(--fg);transition:none}}
.about .concept{margin-top:clamp(40px,6vw,72px)}

/* ---- folders ---- */
.folders{display:grid;gap:30px;margin-top:56px}
.folder{position:relative;border-radius:0 var(--r-box) var(--r-box) var(--r-box);background:var(--fc);color:var(--fink);transition:transform .25s ease,box-shadow .25s ease}
.folder::before{content:attr(data-tab);position:absolute;left:0;top:-26px;height:27px;padding:7px 18px 0;border-radius:14px 14px 0 0;background:var(--fc);font:600 .7rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--fink);white-space:nowrap;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis}
.folder:not(.open):hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px rgba(22,55,67,.45)}
.f-head{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:clamp(22px,3vw,34px)}
.f-head:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:var(--r-box)}
.f-name{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:-.03em;line-height:1.05}
.f-hook{margin-top:6px;opacity:.82;font-size:1rem;max-width:52ch}
.f-price{font-family:var(--f-display);font-weight:600;font-size:1.05rem;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.f-price small{display:block;font-family:var(--f-body);font-weight:500;font-size:.75rem;opacity:.75}
.f-plus{width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .3s ease}
.folder.open .f-plus{transform:rotate(45deg)}
.f-body{padding:0 clamp(22px,3vw,34px) clamp(26px,3vw,38px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,56px)}
.f-body>*{min-width:0}
.f-body h4{font:600 .72rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;margin:26px 0 12px;opacity:.75}
.f-body h4:first-child{margin-top:0}
.f-body p.intro{font-size:1.08rem;line-height:1.55}
.f-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:st}
.f-steps li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:baseline;counter-increment:st}
.f-steps li::before{content:counter(st);width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font:600 .78rem/1 var(--f-body);transform:translateY(-1px)}
.f-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.f-list li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:baseline}
.f-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;transform:translateY(-1px)}
.f-yes li::before{content:"✓";width:auto;height:auto;background:none;font-weight:700}
.f-no li::before{content:"×";width:auto;height:auto;background:none;font-weight:700;opacity:.7}
.f-side{background:var(--fside);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:6px;align-self:start}
.f-invest{margin-top:18px;border-radius:18px;background:var(--fink);color:var(--fc);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.f-invest{text-decoration:none;transition:transform .2s}
.f-invest:hover{transform:translateY(-2px)}
.f-invest b{font-family:var(--f-display);font-size:1.25rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.f-terms{font-size:.82rem;opacity:.8;margin-top:10px}
.f-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.f-ctas .btn-ghost{border-color:currentColor;color:inherit}
.f-ex{margin-top:14px;font-size:.92rem;font-style:italic;opacity:.85}
@media (max-width:760px){.f-body{grid-template-columns:1fr}}

/* ---- diagnosis ---- */
.diag{background:var(--bg)}
.dg-card{scroll-margin-top:104px;margin-top:48px;border:1.5px solid var(--line);border-radius:var(--r-box);background:var(--surface);overflow:hidden}
.dg-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(22px,3vw,36px);border-bottom:1px solid var(--line);flex-wrap:wrap}
.dg-prog{display:flex;gap:8px;align-items:center}
.dg-prog i{width:28px;height:8px;border-radius:var(--r-pill);background:var(--line)}
.dg-prog i.on{background:var(--grad-a)}
.dg-count{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.06em}
.dg-body{padding:clamp(24px,4vw,48px) clamp(22px,3vw,36px)}
.dg-q{font-family:var(--f-display);font-weight:600;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.025em;line-height:1.1;max-width:28ch}
.dg-help{color:var(--muted);margin-top:8px}
.dg-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}
.dg-opt{all:unset;box-sizing:border-box;cursor:pointer;border:1.5px solid var(--line);border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;transition:border-color .15s,background .15s}
.dg-opt:hover{border-color:var(--fg)}
.dg-opt:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
.dg-opt .ck{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--fg);margin-top:2px;display:grid;place-items:center}
.dg-opt.multi .ck{border-radius:6px}
.dg-opt[aria-pressed="true"]{border-color:var(--fg);background:color-mix(in srgb,var(--lime) 22%,var(--surface))}
.dg-opt[aria-pressed="true"] .ck{background:var(--fg)}
.dg-opt[aria-pressed="true"] .ck::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--surface)}
.dg-opt.multi[aria-pressed="true"] .ck::after{border-radius:2px}
.dg-opt b{display:block;font-weight:600}
.dg-opt span.sm{display:block;font-size:.86rem;color:var(--muted);margin-top:2px}
.dg-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}
.dg-nav .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.dg-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.dg-fields .tel-row{display:grid;grid-template-columns:auto 1fr;gap:8px}
.dg-fields .field input{width:100%;min-width:0;font:500 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:14px 18px}
.dg-fields .field input:focus{outline:none;border-color:var(--fg)}
.dg-fields .field input.bad{border-color:var(--coral)}
.dg-fields .field input.good{border-color:color-mix(in srgb,var(--lime) 80%,var(--fg))}
@media (max-width:700px){.dg-opts,.dg-fields{grid-template-columns:1fr}}
/* quote */
.qt{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,48px)}
.qt>*{min-width:0}
.qt-doc{border:1.5px solid var(--line);border-radius:22px;overflow:hidden}
.qt-bar{height:10px;background:var(--grad-a)}
.qt-in{padding:clamp(20px,3vw,32px)}
.qt-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.qt-meta b{color:var(--fg)}
.qt-for{margin-top:20px;font-size:.9rem;color:var(--muted)}
.qt-for b{color:var(--fg);font-size:1.05rem;display:block}
.qt-svc{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.qt-svc .tag{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qt-svc h3{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:6px}
.qt-svc p{color:var(--muted);margin-top:6px}
.qt-focus{margin-top:18px}
.qt-focus h4,.qt-why h4{font:600 .72rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.qt-lines{margin-top:22px;border-top:1px solid var(--line)}
.qt-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.qt-line span:last-child{font-weight:600;white-space:nowrap}
.qt-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;flex-wrap:wrap}
.qt-total b .qt-range{font-size:.78em;white-space:nowrap}
.qt-total b{font-family:var(--f-display);font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.qt-fine{font-size:.8rem;color:var(--muted);margin-top:14px}
.qt-side{display:flex;flex-direction:column;gap:16px}
.qt-why{background:var(--surface-2);border-radius:22px;padding:22px}
.qt-why p{font-size:.95rem}
.qt-alt{border:1.5px dashed var(--line);border-radius:22px;padding:20px}
.qt-alt p{font-size:.9rem;color:var(--muted)}
.qt-alt b{color:var(--fg)}
.qt-side .btn{width:100%}
.qt-sent{font-size:.85rem;color:var(--muted)}
@media (max-width:860px){.qt{grid-template-columns:1fr}}

/* ===== v8: PLM-inspired structure ===== */
.hero{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,64px);background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;background-position:center -1px}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-c{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}
.hero-c a,.hero-c button{pointer-events:auto}
.hero .mega{margin-inline:auto;max-width:13ch;font-size:clamp(2.9rem,8.6vw,7.6rem)}
.hl-mark{background:linear-gradient(90deg,color-mix(in srgb,var(--lime) 70%,transparent),color-mix(in srgb,var(--peri) 80%,transparent));color:inherit;padding:0 .12em;border-radius:.18em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .lead{margin:24px auto 0;max-width:54ch;color:var(--muted);background:color-mix(in srgb,var(--bg) 80%,transparent)}
.hero-ctas{justify-content:center}
.bdot{width:9px;height:9px;border-radius:50%;background:var(--lime);display:inline-block}
.hero-foot{margin-top:48px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.board-hint{font:500 .74rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg);padding:6px 10px;border-radius:8px}
.board-reset{position:static;font:500 .72rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);background:var(--bg);border:1.5px solid var(--fg);border-radius:var(--r-pill);padding:8px 14px;cursor:pointer}
@media (hover:none){.board-hint,.board-reset{display:none}}
.sticker{position:absolute;font:500 .72rem/1.25 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:8px;border:1.5px solid var(--fg);background:var(--bg);color:var(--fg);z-index:2;white-space:nowrap;pointer-events:none}
.st-1{left:max(16px,4%);bottom:22%;transform:rotate(-6deg);background:color-mix(in srgb,var(--peri) 55%,var(--bg))}
.st-2{right:max(16px,4%);top:9%;transform:rotate(5deg);display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-pill);background:var(--teal);color:#F9F7F3;border-color:var(--teal);text-transform:none;font-size:.8rem}
.st-2 .sw{width:26px;height:12px;border-radius:var(--r-pill);background:var(--grad-a)}
@media (max-width:1180px){.st-1,.st-2{display:none}}

.ticker{background:var(--lime);color:var(--teal);border-block:1.5px solid var(--teal);overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 80s linear infinite;padding-block:11px}
.ticker-track span{font:500 .82rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding-right:0}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

.welcome{padding-block:clamp(64px,8vw,104px)}
.wl-head{text-align:center;display:flex;flex-direction:column;align-items:center}
.wl-h{font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.08;margin-top:14px;max-width:24ch}
.wl-sub{color:var(--muted);margin-top:16px;max-width:58ch}
.rail-wrap{position:relative;margin-top:48px}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 48px)/4));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rcard{scroll-snap-align:start;border-radius:22px;border:1.5px solid var(--fg);background:var(--rc);color:#163743;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.rcard .art{height:150px;position:relative;border-bottom:1.5px solid var(--fg);background-color:color-mix(in srgb,var(--rc) 60%,#fff);background-image:radial-gradient(#163743 1.6px,transparent 2px);background-size:26px 26px;background-position:13px 13px}
.rcard .art i{position:absolute;border-radius:var(--r-pill)}
.rcard .rb{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;text-align:center;align-items:center}
.rcard h3{font-size:1.2rem}
.rcard p{font-size:.9rem;opacity:.85;flex:1}
.rcard .btn{font-size:.82rem;padding:10px 16px;background:#fff;color:#163743;border:1.5px solid #163743;margin-top:6px}
.rail-btn{position:absolute;top:75px;z-index:3;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--fg);background:var(--bg);color:var(--fg);display:grid;place-items:center;cursor:pointer}
.rail-btn.prev{left:-10px}.rail-btn.next{right:-10px}
.rail-btn:disabled{opacity:.35;cursor:default}
.st-3{top:-18px;right:18%;transform:rotate(-4deg);background:color-mix(in srgb,var(--coral) 30%,var(--bg))}
@media (max-width:640px){.rail{grid-auto-columns:82%}.rail-btn{display:none}.st-3{right:8px}}

/* diagnosis as a two-column feature */
.dg-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,4vw,56px);align-items:start;margin-top:0}
.dg-wrap>*{min-width:0}
.dg-wrap .dg-card{margin-top:0}
.dg-intro{position:sticky;top:120px}
.dg-intro h2.big{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.dg-intro p{color:var(--muted);margin-top:16px}
.dg-intro ul{margin-top:22px}
.dg-intro .sticker{position:static;display:inline-block;transform:rotate(-3deg);margin-top:26px;background:color-mix(in srgb,var(--lime) 45%,var(--bg))}
@media (max-width:900px){.dg-wrap{grid-template-columns:1fr}.dg-intro{position:static}}
.eyebrow{font-family:var(--f-mono);font-weight:500}

/* ===== servicios en círculos ===== */
.orbs{display:flex;justify-content:center;align-items:center;margin-top:48px;padding-inline:3%}
.orb{all:unset;box-sizing:border-box;cursor:pointer;position:relative;flex:0 0 calc(25% + 4%);max-width:330px;aspect-ratio:1/1;border-radius:50%;background:var(--fc);color:var(--fink);margin-left:-4%;display:grid;place-items:center;text-align:center;border:1.5px solid #163743;transition:transform .3s ease,box-shadow .3s ease}
.orb:first-child{margin-left:0}
.orb:hover{transform:translateY(-6px)}
.orb:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.orb.on{transform:translateY(-10px) scale(1.04);box-shadow:0 0 0 5px var(--bg),0 0 0 9px #163743}
.orb-in{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16%}
.orb-tab{font:500 .66rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.orb-name{font-family:var(--f-display);font-weight:600;font-size:clamp(1.05rem,2.1vw,1.7rem);line-height:1.05;letter-spacing:-.025em}
.orb-hook{font-size:clamp(.74rem,1vw,.9rem);line-height:1.35;opacity:.85}
.orb-plus{margin-top:6px;width:34px;height:34px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .3s ease}
.orb.on .orb-plus{transform:rotate(45deg)}
.orb-hint{text-align:center;margin-top:34px;font:500 .78rem/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.orb-panel{position:relative;margin-top:46px;border-radius:var(--r-box);background:var(--fc);color:var(--fink);border:1.5px solid #163743;padding-top:clamp(22px,3vw,34px)}
.orb-panel::before{content:"";position:absolute;left:var(--x);top:-46px;width:2px;height:40px;background:#163743;transform:translateX(-1px)}
.orb-panel::after{content:"";position:absolute;left:var(--x);top:-12px;width:12px;height:12px;border-radius:50%;background:#163743;transform:translateX(-6px)}
.orb-ph{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:0 clamp(22px,3vw,34px) 22px}
.orb-ph .f-name{margin-top:6px}
.orb-close{all:unset;cursor:pointer;width:42px;height:42px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;flex:0 0 auto}
.orb-close:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.orb,.orb-plus{transition:none}}
@media (max-width:760px){
  .orbs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-inline:0}
  .orb{margin-left:0;max-width:none;width:100%}
  .orb-hook{display:none}
  .orb-in{padding:12%}
  .orb-panel::before,.orb-panel::after{display:none}
  .orb-panel{margin-top:28px}
}

/* ===== proceso: scroll lento con revelado paso a paso ===== */
.proc.pinned{height:240vh;padding-block:0}
.proc.pinned .proc-pin{position:sticky;top:0;min-height:100vh;display:flex;align-items:center;padding-top:96px;padding-bottom:40px}
.proc .proc-pin>.wrap{width:100%}
.steps::after{content:"";position:absolute;top:13px;left:14px;height:2px;width:calc((100% - 28px) * var(--p,1));background:linear-gradient(90deg,var(--coral),var(--peri),var(--lime));transition:width .15s linear}
.proc.fx .step .node{transition:transform .4s ease,background .4s ease}
.proc.fx .step p,.proc.fx .step h3,.proc.fx .step .k{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.proc.fx .step:not(.lit) h3,.proc.fx .step:not(.lit) .k{opacity:.35}
.proc.fx .step:not(.lit) p{opacity:0;transform:translateY(16px)}
.proc.fx .step:not(.lit) .node{border-color:var(--line)}
.proc.fx .step:not(.lit) .node::after{background:var(--line)}
.proc.fx .step.lit .node{transform:scale(1.12)}
@media (max-width:860px){.steps::after{top:14px;left:13px;width:2px;height:calc((100% - 28px) * var(--p,1))}}

.logo{display:inline-flex;align-items:center;line-height:0}
.logo img{height:30px;width:auto;max-width:100%}
.logo-foot img{height:32px}
@media (max-width:520px){.logo img{height:26px}}
.core-line{margin-top:clamp(40px,6vw,72px);text-align:center;font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,4.6vw,3.6rem);letter-spacing:-.03em;line-height:1.1;text-wrap:balance}
.core-img{display:inline-block;height:.82em;width:auto;vertical-align:-.08em;margin-inline:.06em}
/* ===== ajustes móvil ===== */
@media (max-width:600px){
  .hero .mega{font-size:clamp(2.5rem,11.5vw,3.4rem);line-height:1.04}
  .hl-mark{padding:0 .08em;border-radius:.14em}
  .orb-tab{display:none}
  .orb-name{font-size:1.05rem}
  .mark{aspect-ratio:16/9;max-width:100%}
  .mark svg.iso{width:38%}
}

.allies{margin-top:20px;display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,48px);align-items:center;border-radius:var(--r-box);background:var(--teal);color:#F9F7F3;padding:clamp(26px,4vw,44px)}
.allies>*{min-width:0}
.allies-num{font-family:var(--f-display);font-weight:700;font-size:clamp(4.5rem,11vw,8rem);line-height:.85;letter-spacing:-.05em;background:var(--grad-a);-webkit-background-clip:text;background-clip:text;color:transparent}
.allies .eyebrow{color:#B9C8CC}
.allies h3{font-size:clamp(1.4rem,2.6vw,2rem);margin-top:8px}
.allies p{margin-top:10px;color:#D5DFE1;max-width:62ch}
@media (max-width:600px){.allies{grid-template-columns:1fr;gap:10px}}

/* diagnóstico: carta de tamaño fijo, el contenido se desplaza adentro */
@media (min-width:901px){
  .dg-card{display:flex;flex-direction:column;height:clamp(540px,calc(100vh - 130px),660px)}
  .dg-card .dg-top{flex:0 0 auto}
  .dg-card .dg-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .dg-card .qt-side{position:sticky;top:0;align-self:start}
}

/* cotización compacta en filas */
.qt2{display:grid;gap:18px;align-content:start}
.qt-head{display:flex;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;font-size:.84rem;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}
.qt-head b{color:var(--fg)}
.qt-r1 .tag{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qt-r1 h3{font-size:clamp(1.7rem,3vw,2.3rem);margin-top:4px}
.qt-hook{font-weight:600;margin-top:4px}
.qt-whyp{color:var(--muted);margin-top:8px;max-width:70ch}
.qt-r2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;background:var(--surface-2);border-radius:20px;padding:18px 20px}
.qt-r2>*{min-width:0}
.qt-r2 h4{font:600 .7rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.qt-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.qt-chips li{font-size:.84rem;line-height:1.3;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:7px 10px}
.qt-meta2{display:grid;gap:12px;align-content:start}
.qt-meta2 p{font-size:.92rem}
.qt-r3{display:flex;flex-wrap:wrap;gap:10px}
.wa-ic{width:18px;height:18px;flex:0 0 auto}
@media (max-width:700px){
  .qt2{gap:12px}
  .qt-head{font-size:.76rem;padding-bottom:10px;gap:2px 12px}
  .qt-r1 h3{font-size:1.45rem;line-height:1.1}
  .qt-hook{font-size:.92rem}
  .qt-whyp{font-size:.86rem;line-height:1.45;margin-top:6px}
  .qt-r2{grid-template-columns:1fr;gap:12px;padding:14px;border-radius:16px}
  .qt-chips{gap:6px}
  .qt-chips li{font-size:.78rem;padding:6px 9px;border-radius:10px}
  .qt-meta2{grid-template-columns:1fr 1fr;gap:10px}
  .qt-meta2 p{font-size:.84rem}
  .qt-r3{gap:8px}
  .qt-r3 .btn{width:100%;padding:13px 18px;font-size:.88rem}
  .dg-card .dg-body{padding:18px}
}

.dg-opts{margin-top:20px}
.dg-opt{padding:14px 18px}
.dg-nav{margin-top:20px}
.dg-body{padding-block:clamp(20px,3vw,32px)}
/* panel de servicio: "lo que vas a tener" en tarjetas */
.f-get{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.f-get li{display:flex;gap:10px;align-items:flex-start;background:var(--fside);border-radius:14px;padding:12px 14px;font-size:.92rem;line-height:1.35}
.f-get .gk{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--fink);color:var(--fc);display:grid;place-items:center;margin-top:-1px}
.f-cta{flex-wrap:nowrap!important;justify-content:space-between}
.f-cta b{white-space:nowrap;font-size:1.15rem}
.f-cta span{font-size:1.3rem;line-height:1;flex:0 0 auto}
@media (max-width:520px){.f-get{grid-template-columns:1fr}}

/* pantallas de laptop más bajas: el diagnóstico y la cotización caben sin scroll */
@media (min-width:901px) and (max-height:860px){
  .dg-card{height:clamp(520px,calc(100vh - 124px),660px)}
  .dg-top{padding-block:14px}
  .dg-card .dg-body{padding:20px 28px}
  .dg-q{font-size:1.45rem}
  .dg-opts{margin-top:14px;gap:8px}
  .dg-opt{padding:11px 16px}
  .dg-nav{margin-top:14px}
  .dg-fields{margin-top:16px;gap:10px}
  .qt2{gap:12px}
  .qt-head{padding-bottom:10px}
  .qt-r1 h3{font-size:1.75rem}
  .qt-whyp{font-size:.92rem;margin-top:6px}
  .qt-r2{padding:14px 16px}
  .qt-chips li{padding:6px 9px;font-size:.8rem}
  .qt-r3 .btn{padding:12px 20px}
}

footer{padding-block:40px;border-top:1px solid var(--line)}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.foot .tag{font-family:var(--f-display);font-weight:500;color:var(--fg)}
