/* JF Agency AI — estilos del sitio */

@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url('../fonts/sora-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url('../fonts/sora-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#02060F;
  --bg-deep:#03060C;
  --muted:#A2A9B8;
  --soft:#E2EBF5;
  --gold:#FFE2B2;
  --error:#FFB4A8;
  --line:rgba(196,214,232,.22);
  --line-strong:rgba(196,214,232,.28);
  --line-faint:rgba(196,214,232,.18);
  --panel:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.045) 100%),linear-gradient(90deg,rgba(255,226,178,.06) 0%,rgba(150,196,244,.06) 100%);
  --glow:0 -2px 20px rgba(255,224,176,.20),0 0 34px rgba(168,204,252,.16);
  --pad:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.25,.8,.35,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* Base */
body{margin:0;background:var(--bg);color:#FFFFFF;font-family:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;font-weight:400;overflow-x:hidden;overflow-x:clip}
a{color:#FFFFFF}
a:hover{color:#BAE0F7}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9FE0FF;outline-offset:3px;border-radius:4px}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
[hidden]{display:none!important}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:#FFFFFF;color:var(--bg);padding:12px 18px;border-radius:8px;font-weight:581;text-decoration:none}
.skip:focus{top:16px;color:var(--bg)}

.glass{position:relative}
.glass::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:linear-gradient(180deg,rgba(255,252,246,.95) 0%,rgba(255,252,246,.20) 45%,rgba(255,252,246,0) 78%),linear-gradient(90deg,rgba(255,228,182,.95) 0%,rgba(250,236,210,.70) 12%,rgba(226,230,234,.03) 32%,rgba(214,226,240,.02) 62%,rgba(200,228,250,.70) 90%,rgba(186,224,247,.95) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:22px}

@keyframes jfLift{from{opacity:0;translate:0 9px}}
@keyframes jfPulse{0%,100%{opacity:.78;scale:1}50%{opacity:1;scale:1.06}}
@keyframes jfGlow{0%,100%{opacity:.55}50%{opacity:1}}
.lift{animation:jfLift .5s var(--ease) backwards}
.dl-1{animation-delay:.1s}.dl-3{animation-delay:.3s}.dl-7{animation-delay:.7s}.dl-8{animation-delay:.8s}.dl-11{animation-delay:1.1s}.dl-15{animation-delay:1.5s}.dl-19{animation-delay:1.9s}.dl-22{animation-delay:2.2s}.dl-25{animation-delay:2.5s}
@supports (animation-timeline:view()){.reveal{animation:jfLift linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}

/* Barra superior */
.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#FFFFFF;min-height:44px}
.brand:hover{color:#FFFFFF}
.brand-name{font-size:19px;font-weight:531;letter-spacing:.2em}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:14px;font-weight:506}
.nav a{color:#FBFDFF;text-decoration:none;padding:12px 0}
.topbar-actions{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:506}
.lang{display:flex;gap:8px;align-items:center}
.lang-current,.lang a{padding:12px 0}
.lang a{color:var(--muted);text-decoration:none}
.lang-sep{color:var(--muted)}
.btn-outline{color:#E8ECF0;text-decoration:none;font-weight:581;border:1.5px solid rgba(196,214,232,.72);border-radius:999px;padding:11px 22px}
.nav-cta,.menu-toggle{display:none}
.menu-toggle{width:44px;height:44px;padding:0;border:1.5px solid rgba(196,214,232,.5);border-radius:999px;background:rgba(255,255,255,.05);color:#FFFFFF;cursor:pointer;align-items:center;justify-content:center}
.menu-toggle[aria-expanded="false"] .menu-icon-close,.menu-toggle[aria-expanded="true"] .menu-icon-open{display:none}

/* Hero */
.hero{position:relative;min-height:880px;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-deep)}
.hero-art{position:absolute;inset:0;width:100%;height:100%}
.hero-strand{animation:jfGlow 7s ease-in-out infinite}
.hero-flare{position:absolute;inset:0;background:radial-gradient(46% 36% at 50% 45.5%,rgba(255,244,226,.42) 0%,rgba(255,226,178,.14) 22%,rgba(120,160,220,.12) 44%,rgba(2,6,15,0) 72%);animation:jfPulse 6s ease-in-out infinite}
.hero-veil{position:absolute;inset:0;background:radial-gradient(140% 60% at 50% 40%,rgba(6,10,18,.16) 0%,rgba(6,10,18,.057) 50%,rgba(6,10,18,0) 100%),linear-gradient(180deg,rgba(6,10,18,0) 45%,rgba(6,10,18,.10) 100%)}
.hero .topbar{position:relative;z-index:3;padding:28px var(--pad);animation:jfLift .6s var(--ease) .12s backwards}
.hero-body{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:26px;padding:40px var(--pad) 24px}
/* Titular: cada frase ocupa una línea en escritorio (el tamaño sigue al ancho para que quepa)
   y dos líneas parejas en pantallas angostas. La segunda frase lleva el degradado de la marca. */
.hero h1{margin:0;font-weight:424;font-size:clamp(34px,3.6vw,56px);line-height:1.14;letter-spacing:.005em;animation:jfLift .95s var(--ease-out) .34s backwards}
.h1-main,.h1-accent{display:block;text-wrap:balance}
.h1-accent{background:linear-gradient(90deg,#FFE2B2 0%,#F8F2E8 48%,#BAE0F7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{margin:0;font-weight:446;font-size:clamp(16px,1.5vw,21px);line-height:1.34;color:var(--muted);max-width:600px;animation:jfLift .7s var(--ease) .74s backwards}
.cta{display:inline-flex;align-items:center;gap:14px;padding:16px 34px;border-radius:999px;color:#FFFFFF;text-decoration:none;font-weight:497;font-size:20px;background:linear-gradient(180deg,rgba(6,12,22,0) 45%,rgba(6,12,22,.12) 78%,rgba(6,12,22,.28) 100%),linear-gradient(90deg,rgba(255,226,178,.17) 0%,rgba(255,236,208,.07) 22%,rgba(176,206,238,.03) 55%,rgba(150,196,244,.09) 100%),linear-gradient(90deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.17) 12%,rgba(255,255,255,.11) 26%,rgba(255,255,255,.07) 42%,rgba(255,255,255,.05) 60%,rgba(255,255,255,.04) 100%);-webkit-backdrop-filter:blur(26px) saturate(.45);backdrop-filter:blur(26px) saturate(.45);box-shadow:var(--glow),inset 0 1.5px 0 0 rgba(255,251,242,.45);animation:jfLift .8s var(--ease-out) .94s backwards}
.cta:hover{color:#FFFFFF}
.feats{margin:60px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 48px;font-size:15px;font-weight:534;color:var(--soft);animation:jfLift .6s var(--ease) 1.08s backwards}
.feats li{display:flex;align-items:center;gap:12px}
.hero-line{width:1px;height:52px;margin-top:10px;background:linear-gradient(180deg,rgba(186,200,214,.70) 0%,rgba(206,220,232,.92) 52%,rgba(182,198,212,.68) 100%)}
.hero-foot{position:relative;z-index:1;margin:0;text-align:center;padding:0 20px 44px;font-size:15px;font-weight:521;color:#F4F8FD;line-height:1.55;animation:jfLift .6s var(--ease) 1.42s backwards}

/* Secciones */
.section{max-width:1200px;margin:0 auto;padding:0 var(--pad) 96px}
.section--first{padding-top:112px}
.section--narrow{max-width:860px;padding-bottom:112px}
.title{margin:0;font-weight:424;font-size:clamp(26px,3.4vw,44px);line-height:1.15}
.title--center{margin:0 auto 48px;text-align:center}
.title--wide{max-width:760px}
.title--faq{margin:0 0 36px;text-align:center}
.section-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:40px}
.section-head p{margin:0;color:var(--muted);max-width:540px}

/* Servicios */
.services{padding:20px;display:flex;flex-direction:column;gap:20px}
.tabs{display:flex;flex-wrap:wrap;gap:10px}
.tab{flex:1 1 220px;text-align:left;min-height:72px;padding:14px 20px;border-radius:14px;border:1px solid var(--line);background:transparent;color:#FFFFFF;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .25s ease,border-color .25s ease}
.tab[aria-selected="true"]{border-color:rgba(255,228,182,.75);background:rgba(255,255,255,.10)}
.tab:hover{background:rgba(255,255,255,.07)}
.tab-num{font-size:13px;font-weight:506;color:var(--gold)}
.tab-name{font-size:20px;font-weight:497}
.tabpanel{display:flex;flex-wrap:wrap;gap:20px}
.svc-copy{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:14px;padding:8px 4px}
.svc-copy p{margin:0;font-size:17px;color:var(--soft)}
.svc-copy ul{margin:0;padding-left:20px;color:var(--muted)}
.svc-link{align-self:flex-start;margin-top:6px;padding:10px 0;font-weight:506;text-underline-offset:4px}
.demo{flex:2 1 420px;min-width:0;box-sizing:border-box;border-radius:16px;background:rgba(2,6,15,.55);border:1px solid var(--line-faint);padding:24px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.45}
.demo-note{font-size:12px;color:var(--muted)}
.demo-note--chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chip{border:1px solid rgba(196,214,232,.35);border-radius:999px;padding:4px 10px;color:var(--soft)}
.demo-result{color:var(--gold);font-weight:506;font-size:14px}
.demo-pill{align-self:center;font-size:13px;color:var(--gold);border:1px solid rgba(255,228,182,.4);border-radius:999px;padding:6px 14px;text-align:center}

/* Ejemplo: conversación */
.dm{border:1px solid #D9DEE7;border-radius:14px;overflow:hidden;background:#FFFFFF;color:#111827}
.dm-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #E5E8EE}
.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:581}
.avatar--gold{background:#F3D9A4}
.avatar--blue{background:#BFD8F6}
.dm-who{display:flex;flex-direction:column;line-height:1.3}
.dm-name{font-weight:506;font-size:14px}
.dm-src{font-size:12px;color:#6B7280}
.dm-body{padding:14px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.msg{max-width:82%;padding:8px 12px}
.msg--in{align-self:flex-start;background:#EEF0F3;border-radius:14px 14px 14px 4px}
.msg--out{align-self:flex-end;background:#2457D6;color:#FFFFFF;border-radius:14px 14px 4px 14px}
.msg-time{display:block;font-size:11px;color:#596270;margin-top:2px}
.msg--out .msg-time{color:#E3ECFF}
.cards{display:flex;flex-wrap:wrap;gap:12px}
.card{flex:1 1 210px;min-width:0;border:1px solid #D9DEE7;background:#FFFFFF;color:#111827;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.card-tag{font-size:12px;font-weight:581}
.card-tag--cal{color:#B45309}
.card-tag--crm{color:#1D4ED8}
.card-main{font-weight:506}
.card-line{font-size:13px;color:#4B5563}

/* Ejemplo: pedido */
.order{border:1px solid #D9DEE7;background:#FFFFFF;color:#111827;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.order-row{display:flex;justify-content:space-between;gap:12px}
.order-row--meta{font-size:12px;color:#6B7280}
.order-row--sub{color:#6B7280}
.order-row--total{font-weight:506;border-top:1px solid #E5E8EE;padding-top:6px;margin-top:2px}
.order-paid{color:#15803D;font-weight:581}

/* Ejemplo: sitio de restaurante */
.browser{border:1px solid #D9DEE7;background:#FFFFFF;color:#111827;border-radius:12px;overflow:hidden}
.browser-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#E9ECF1;border-bottom:1px solid #D9DEE7}
.dot{width:10px;height:10px;border-radius:50%}
.dot--r{background:#FF5F57}.dot--y{background:#FEBC2E}.dot--g{background:#28C840}
.browser-url{flex:1;margin-left:10px;background:#FFFFFF;border-radius:6px;padding:3px 10px;font-size:12px;color:#4B5563}
.rest-strip{background:#2B1A12;color:#F6E7D6;font-size:12px;padding:6px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px}
.rest{padding:20px 24px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.rest-nav{align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;font-size:12px;color:#4B5563;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid #E5E8EE}
.rest-brand{color:#14213D;font-weight:581;font-size:14px}
.rest-links{display:flex;gap:14px}
.rest-hero{align-self:stretch;position:relative;overflow:hidden;border-radius:12px;min-height:260px;display:flex;align-items:flex-end;background:#2B1A12}
.rest-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rest-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,5,.9) 0%,rgba(20,10,5,.7) 55%,rgba(20,10,5,.28) 100%)}
.rest-hero-copy{position:relative;max-width:380px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.rest-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#F0C9A0}
.rest-title{font-size:30px;font-weight:581;line-height:1.1;color:#FFFFFF}
.rest-sub{font-size:14px;color:#F3E7D8}
.rest-btn{background:#B4441F;color:#FFFFFF;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:581;margin-top:4px}
.booking{align-self:stretch;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;border:1px solid #E5E8EE;border-radius:12px;padding:12px 14px}
.booking-field{flex:1 1 90px;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:11px;color:#6B7280}
.booking-val{border:1px solid #D9DEE7;border-radius:8px;padding:7px 10px;font-size:13px;color:#111827}
.booking-btn{flex:0 0 auto;background:#2B1A12;color:#FFFFFF;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:581}
.rest-heading{font-size:16px;font-weight:581;color:#2B1A12;margin-top:4px}
.dishes{align-self:stretch;display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.dish{flex:1 1 150px;min-width:0;border-radius:10px;overflow:hidden;border:1px solid #E5E8EE}
.dish img{display:block;width:100%;height:124px;object-fit:cover}
.dish-info{display:block;padding:8px 10px;font-size:12px;line-height:1.4}
.dish-name{display:block;font-weight:581}
.dish-desc{display:block;color:#4B5563}
.dish-price{display:block;font-weight:581;color:#B4441F;margin-top:2px}
.rest-foot{align-self:stretch;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;border-top:1px solid #E5E8EE;padding-top:12px;margin-top:6px;font-size:11px;color:#6B7280}

/* Para quién */
.audience{display:flex;flex-wrap:wrap;gap:40px 64px}
.audience-card{flex:1 1 360px;min-width:0;padding:28px;display:flex;flex-direction:column;gap:14px}
.audience-card h3,.steps h3{margin:0;font-weight:497;font-size:22px}
.audience-card p,.steps p{margin:0;color:var(--muted)}

/* Calculadora */
.calc{padding:clamp(24px,4vw,44px);display:flex;flex-wrap:wrap;gap:32px 56px}
.calc-in{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:22px}
.calc-title{margin:0;font-weight:424;font-size:clamp(24px,3vw,38px);line-height:1.18}
.range{display:flex;flex-direction:column;gap:4px}
.range-head{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--soft)}
.range-head output{font-weight:581;color:#FFFFFF;white-space:nowrap}
input[type=range]{accent-color:var(--gold);width:100%;height:44px;margin:0;cursor:pointer}
.calc-out{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:18px;border-left:1px solid var(--line);padding-left:clamp(0px,3vw,40px)}
.stat{display:flex;flex-direction:column;gap:4px}
.stat-label{font-size:14px;color:var(--muted)}
.stat-num{font-weight:424;font-size:clamp(40px,5vw,64px);line-height:1;color:var(--gold)}
.stat-num--white{color:#FFFFFF}
.calc-note{margin:0;font-size:13px;color:var(--muted)}

/* Proceso */
.steps{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:40px 48px}
.steps li{flex:1 1 280px;min-width:0;border-top:1px solid rgba(196,214,232,.35);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.step-num{font-size:36px;font-weight:424;line-height:1;color:var(--gold)}

/* Preguntas */
.faq{display:flex;flex-direction:column}
.faq details{border-top:1px solid var(--line-strong)}
.faq details:last-child{border-bottom:1px solid var(--line-strong)}
.faq summary{font-weight:506;font-size:17px;padding:20px 0}
.faq p{margin:0 0 22px;color:var(--muted)}

/* Agendar */
.book{position:relative;overflow:hidden;background:var(--bg-deep);border-top:1px solid var(--line-faint)}
.book-glow{position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 0%,rgba(255,236,208,.16) 0%,rgba(120,160,220,.10) 40%,rgba(2,6,15,0) 75%)}
.book-inner{position:relative;max-width:1200px;margin:0 auto;padding:96px var(--pad);display:flex;flex-wrap:wrap;gap:40px 64px;align-items:center}
.book-copy{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:18px}
.book-copy h2{margin:0;font-weight:424;font-size:clamp(28px,4vw,52px);line-height:1.12}
.book-copy p{margin:0;color:var(--muted);max-width:480px}
.form{flex:1 1 400px;min-width:0;margin:0;padding:28px;display:flex;flex-direction:column;gap:16px}
.form-fields{display:contents}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:14px;font-weight:506;color:var(--soft)}
.field-row{display:flex;flex-wrap:wrap;gap:16px}
.field-row .field{flex:1 1 200px;min-width:0}
.input{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid rgba(196,214,232,.4);background:rgba(255,255,255,.06);color:#FFFFFF;font-family:inherit;font-size:16px}
.input::placeholder{color:var(--muted)}
.input:focus{outline:2px solid #9FE0FF;outline-offset:2px}
.input[aria-invalid="true"]{border-color:var(--error)}
textarea.input{resize:vertical}
.field-error{margin:0;font-size:13px;color:var(--error)}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn-submit{min-height:54px;border:none;border-radius:999px;color:#FFFFFF;font-family:inherit;font-size:17px;font-weight:497;cursor:pointer;background:linear-gradient(90deg,rgba(255,226,178,.17) 0%,rgba(255,236,208,.07) 22%,rgba(176,206,238,.03) 55%,rgba(150,196,244,.09) 100%),linear-gradient(90deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.11) 26%,rgba(255,255,255,.04) 100%);box-shadow:var(--glow)}
.btn-submit:disabled{opacity:.6;cursor:progress}
.form-status{margin:0;font-size:14px;color:var(--gold);animation:jfLift .5s var(--ease) backwards}
.form-status--error{color:var(--error)}
.form-legal{margin:0;font-size:13px;color:var(--muted)}
.form-done{display:flex;flex-direction:column;align-items:flex-start;gap:16px;animation:jfLift .5s var(--ease) backwards}
.form-done h3{margin:0;font-weight:497;font-size:22px}
.form-done p{margin:0;color:var(--soft)}
.btn-book{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:999px;color:#FFFFFF;text-decoration:none;font-size:17px;font-weight:497;background:linear-gradient(90deg,rgba(255,226,178,.17) 0%,rgba(255,236,208,.07) 22%,rgba(176,206,238,.03) 55%,rgba(150,196,244,.09) 100%),linear-gradient(90deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.11) 26%,rgba(255,255,255,.04) 100%);box-shadow:var(--glow)}
.btn-book:hover{color:#FFFFFF}

/* Pie */
.footer{position:relative;background:var(--bg-deep);border-top:1px solid var(--line-faint)}
.footer--chat{padding-bottom:80px} /* deja libre la esquina que ocupa el botón del chat */
.footer-inner{max-width:1200px;margin:0 auto;padding:24px var(--pad);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:14px;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:24px}
.footer a{text-underline-offset:4px}

/* Chat de demostración */
.chat{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:12px;max-width:calc(100% - 40px)}
.chat-window{width:340px;max-width:100%;color:#FFFFFF;background:var(--panel),linear-gradient(180deg,#0B111D 0%,#080D17 100%);border:1px solid rgba(196,214,232,.3);border-radius:22px;box-shadow:0 14px 38px rgba(2,6,14,.6);overflow:hidden;display:flex;flex-direction:column}
.chat-head{padding:12px 12px 12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(196,214,232,.2)}
.chat-id{display:flex;flex-direction:column}
.chat-name{margin:0;font-weight:506;font-size:15px}
.chat-sub{font-size:12px;color:var(--muted)}
.chat-close{width:44px;height:44px;border:none;background:transparent;color:#FFFFFF;cursor:pointer;display:flex;align-items:center;justify-content:center}
.chat-window{max-height:min(620px,calc(100vh - 40px));max-height:min(620px,calc(100dvh - 40px))}
.chat-log{flex:1 1 auto;min-height:120px;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.45}
.bubble{margin:0;max-width:88%;padding:10px 14px;overflow-wrap:anywhere}
.bubble--bot{align-self:flex-start;background:rgba(255,255,255,.09);border-radius:14px 14px 14px 4px}
.bubble--user{align-self:flex-end;background:#FFFFFF;color:var(--bg);border-radius:14px 14px 4px 14px}
.bubble--typing{display:flex;gap:4px;padding:14px}
.bubble--typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:jfGlow 1s ease-in-out infinite}
.bubble--typing span:nth-child(2){animation-delay:.15s}
.bubble--typing span:nth-child(3){animation-delay:.3s}
.bubble-link{display:block;margin-top:10px;padding:10px 14px;border-radius:999px;background:#FFFFFF;color:var(--bg);font-weight:581;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.bubble-link:hover{color:var(--bg)}
.bubble-note{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.chat-opts{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;max-height:150px;overflow-y:auto}
.chat-opts:empty{display:none}
.chat-form{flex:0 0 auto;display:flex;gap:8px;padding:12px;border-top:1px solid rgba(196,214,232,.2)}
.chat-input{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:0 14px;border-radius:999px;border:1px solid rgba(196,214,232,.4);background:rgba(255,255,255,.06);color:#FFFFFF;font-family:inherit;font-size:16px}
.chat-input::placeholder{color:var(--muted)}
.chat-input:focus{outline:2px solid #9FE0FF;outline-offset:2px}
.chat-send{flex:0 0 44px;height:44px;border:none;border-radius:50%;background:#FFFFFF;color:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center}
.chat-opt{min-height:40px;border:1px solid rgba(196,214,232,.72);background:transparent;color:#FFFFFF;border-radius:999px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:506;cursor:pointer}
.chat-opt--primary{border-color:#FFFFFF;background:#FFFFFF;color:var(--bg);font-weight:581}
.chat-toggle{min-height:56px;border:none;border-radius:999px;color:#FFFFFF;padding:0 22px;font-family:inherit;font-size:15px;font-weight:506;cursor:pointer;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(255,226,178,.17) 0%,rgba(176,206,238,.03) 55%,rgba(150,196,244,.09) 100%),linear-gradient(180deg,rgba(6,12,22,.90) 0%,rgba(6,12,22,.94) 100%);box-shadow:var(--glow)}

/* Páginas de texto (privacidad, 404) */
.legal-page{line-height:1.7}
.legal-head{position:relative;overflow:hidden;background:var(--bg-deep);border-bottom:1px solid var(--line-faint)}
.legal-glow{position:absolute;inset:0;background:radial-gradient(50% 90% at 50% 0%,rgba(255,236,208,.16) 0%,rgba(120,160,220,.10) 40%,rgba(2,6,15,0) 75%)}
.legal-head-inner{position:relative;max-width:1200px;margin:0 auto;padding:28px var(--pad) 72px;display:flex;flex-direction:column;gap:64px}
.legal-intro{max-width:760px;display:flex;flex-direction:column;gap:14px}
.legal-intro h1{margin:0;font-weight:424;font-size:clamp(32px,4.4vw,56px);line-height:1.1}
.legal-intro p{margin:0;color:var(--muted)}
.legal-intro .legal-date{font-size:14px;color:var(--soft)}
.legal{max-width:1200px;margin:0 auto;padding:64px var(--pad) 96px;display:flex;flex-wrap:wrap;gap:40px 64px;align-items:flex-start}
.legal-summary{flex:1 1 280px;min-width:0;padding:28px;display:flex;flex-direction:column;gap:14px}
.legal-summary h2{margin:0;font-weight:497;font-size:20px}
.legal-summary ul{margin:0;padding-left:20px;color:var(--soft);display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}
.legal-summary a{font-size:15px;font-weight:506;text-underline-offset:4px;padding:8px 0}
.legal-body{flex:3 1 520px;min-width:0;max-width:760px;display:flex;flex-direction:column}
.legal-body section{border-top:1px solid var(--line-strong);padding:28px 0;display:flex;flex-direction:column;gap:10px}
.legal-body section:last-child{border-bottom:1px solid var(--line-strong)}
.legal-body h2{margin:0;font-weight:497;font-size:22px}
.legal-body p{margin:0;color:var(--muted)}
.legal-body ul{margin:0;padding-left:20px;color:var(--muted);display:flex;flex-direction:column;gap:8px}
.legal-body strong,.legal-body .strong{color:var(--soft);font-weight:400}
.notfound{min-height:100vh;display:flex;flex-direction:column}
.notfound .legal-head{flex:1;border-bottom:none}
.notfound .legal-intro a{align-self:flex-start;margin-top:10px}

.title,.calc-title,.book-copy h2,.legal-intro h1{text-wrap:balance}
.section-head p,.hero-lead,.hero-foot{text-wrap:pretty}

/* Tableta y celular: la navegación pasa a un menú desplegable */
@media (max-width:960px){
  .hero h1{font-size:clamp(22px,6.3vw,44px)}
  .menu-toggle{display:inline-flex}
  .hero .topbar{flex-wrap:nowrap}
  .nav{display:none}
  .nav.is-open{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:2px;position:absolute;top:calc(100% - 12px);left:var(--pad);right:var(--pad);z-index:5;padding:10px;border-radius:20px;border:1px solid rgba(196,214,232,.3);background:var(--panel),linear-gradient(180deg,#0B111D 0%,#080D17 100%);box-shadow:0 14px 38px rgba(2,6,14,.6);font-size:16px;animation:jfLift .25s var(--ease) backwards}
  .nav.is-open a{padding:13px 14px;border-radius:12px}
  .nav.is-open a:active{background:rgba(255,255,255,.07)}
}
@media (max-width:860px){
  .calc-out{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:24px}
}
@media (max-width:760px){
  .chat-label{display:none}
  .chat-toggle{width:56px;padding:0;justify-content:center}
  .feats{display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:16px 24px;margin-top:36px}

  /* El hero ocupa justo la primera pantalla; el pie deja libre la esquina del chat */
  .hero{min-height:min(880px,100vh);min-height:min(880px,100svh)}
  .hero .topbar{padding-top:18px;padding-bottom:18px}
  .hero-body{gap:22px;padding-top:24px;padding-bottom:16px}
  .cta{font-size:18px;padding:15px 30px}
  .hero-line{height:36px;margin-top:4px}
  .hero-foot{padding:0 20px 92px}

  .section{padding-bottom:72px}
  .section--first{padding-top:72px}
  .section--narrow{padding-bottom:80px}
  .section-head{margin-bottom:28px}
  .title--center{margin-bottom:32px}
  .book-inner{padding-top:72px;padding-bottom:72px}

  /* Pestañas en filas compactas para que el ejemplo aparezca antes */
  .services{padding:12px;gap:14px}
  .tabs{gap:8px}
  .tab{flex:1 1 100%;flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:10px 16px}
  .tab-name{font-size:17px}
  .svc-copy{padding:8px 6px}
  .demo{padding:16px}
  .rest-strip{padding:6px 16px}
  .rest{padding:16px}
  .rest-hero-copy{padding:20px}
  .rest-title{font-size:24px}
  .audience{gap:16px}
  .audience-card,.form{padding:22px}
  .steps{gap:28px}
}
@media (max-width:560px){
  .brand{gap:8px}
  .brand-name{font-size:16px;letter-spacing:.16em}
  .topbar-actions{gap:12px}
  .topbar .btn-outline{display:none}
  .nav-cta{display:block;margin-top:6px;text-align:center;font-weight:581;border:1.5px solid rgba(196,214,232,.72)}
  .nav.is-open .nav-cta{border-radius:999px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
