:root{
  --cream:#F3EFE7; --green:#1A6B5E; --deep:#0D2218; --soft:#B0CAC0;
  --amber:#C8820A; --amber2:#E5A22E; --sage:#5E684E; --cream2:#FBF8F1;
  --txt:#22301F; --line:rgba(13,34,24,.10);
  --fw:'Poppins',system-ui,sans-serif;
  --sh:0 22px 46px rgba(13,34,24,.13); --sh-s:0 10px 26px rgba(13,34,24,.09);
  --r:22px; --rL:30px; --wrap:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--txt);font-family:var(--fw);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* logo */
.logo{display:inline-flex;align-items:center;gap:9px;font-weight:700}
.logo .iso{width:20px;height:25px;flex-shrink:0}
.logo .wm{font-size:23px;letter-spacing:-.5px}
.logo .wm b{font-weight:700}
.logo.dark .wm{color:var(--deep)} .logo.dark .wm i{font-style:normal;color:var(--amber)}
.logo.light .wm{color:var(--cream)} .logo.light .wm i{font-style:normal;color:var(--amber2)}

/* kicker */
.kicker{display:inline-block;font-weight:700;font-size:12.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--amber)}
.kicker.on-dark{color:var(--amber2)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--amber);color:#fff;font-weight:600;font-size:14.5px;letter-spacing:.04em;padding:15px 26px;border-radius:14px;border:none;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{background:#b5750a;transform:translateY(-2px);box-shadow:0 12px 24px rgba(200,130,10,.28)}
.btn.big{padding:17px 30px;font-size:15px}
.btn .arw{transition:transform .2s} .btn:hover .arw{transform:translateX(4px)}
.btn-ghost{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14.5px;color:var(--green);padding:11px 18px;border-radius:12px;border:1.5px solid var(--line);transition:.15s}
.btn-ghost:hover{border-color:var(--green);background:rgba(26,107,94,.05)}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(243,239,231,.82);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
header.scrolled{border-color:var(--line);background:rgba(243,239,231,.94)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-links{display:flex;align-items:center;gap:10px}
.nav-links a.txt{font-weight:500;font-size:14.5px;color:var(--sage);padding:8px 6px;transition:.15s}
.nav-links a.txt:hover{color:var(--deep)}

/* section rhythm */
section{padding:92px 0}
.eyebrow-row{margin-bottom:16px}
h1{font-weight:700;font-size:clamp(38px,7.4vw,62px);line-height:1.04;letter-spacing:-1.5px;color:var(--deep)}
h2{font-weight:700;font-size:clamp(30px,5.6vw,50px);line-height:1.06;letter-spacing:-1px;color:var(--deep)}
.lead{font-size:clamp(16px,2.4vw,18.5px);color:var(--sage);line-height:1.65;max-width:46ch}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
.amber-n{color:var(--amber)}

/* 01 HERO */
.hero{padding-top:44px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{margin:14px 0 20px}
.hero .lead{margin-bottom:30px}
.hero-photo{position:relative}
.hero-photo .card-ph{border-radius:var(--rL);overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/5;transition:transform .5s ease}
.hero-photo:hover .card-ph{transform:translateY(-6px)}
.hero-photo .card-ph img{width:100%;height:100%;object-fit:cover}
.hero-iso{position:absolute;left:-22px;bottom:-22px;width:74px;height:74px;background:var(--cream);border-radius:20px;box-shadow:var(--sh-s);display:flex;align-items:center;justify-content:center}
.hero-iso svg{width:30px;height:38px}
.hero-mini{position:absolute;top:22px;right:-14px;background:var(--cream);border-radius:14px;box-shadow:var(--sh-s);padding:11px 15px;font-size:12.5px;font-weight:600;color:var(--deep);display:flex;align-items:center;gap:9px}
.hero-mini .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}

/* 02 MANIFIESTO */
.manif h2{max-width:14ch}
.manif .sub{font-size:clamp(20px,3.4vw,30px);font-weight:500;color:var(--green);margin-top:10px}
.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px}
.concept{padding-top:22px;border-top:2px solid var(--line)}
.concept .c-ic{width:34px;height:42px;margin-bottom:16px}
.concept h3{font-weight:700;font-size:15px;letter-spacing:.12em;color:var(--deep);margin-bottom:8px}
.concept p{color:var(--sage);font-size:15.5px;max-width:26ch}

/* 03 DIFERENCIACIÓN */
.diff{background:var(--deep);color:var(--cream);border-radius:0}
.diff .wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.diff h2{color:#fff;max-width:16ch}
.diff p{color:rgba(243,239,231,.82);font-size:17.5px;line-height:1.75;max-width:40ch}
.diff p b{color:var(--amber2);font-weight:600}
.diff-list{list-style:none;display:flex;flex-direction:column;gap:16px}
.diff-list li{display:flex;gap:13px;align-items:flex-start;font-size:16.5px;color:rgba(243,239,231,.9)}
.diff-list .chk{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1.6px solid var(--amber2);display:flex;align-items:center;justify-content:center;margin-top:2px}
.diff-list .chk svg{width:12px;height:12px}

/* 04 PRODUCTO */
.prod{text-align:center}
.prod h2{margin:14px auto 14px}
.prod .lead{margin:0 auto 46px;text-align:center}
.phone-stage{position:relative;display:flex;justify-content:center;padding:20px 0}
.phone{width:300px;border-radius:44px;background:#0b0b0d;padding:11px;box-shadow:var(--sh);position:relative;z-index:2}
.phone .scr{border-radius:34px;overflow:hidden;background:#000;aspect-ratio:300/640}
.phone .scr img{width:100%;height:100%;object-fit:cover;object-position:top}
.phone .notch{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:96px;height:26px;background:#0b0b0d;border-radius:16px;z-index:3}
.tags-float{position:absolute;inset:0;z-index:1;pointer-events:none}
.tagp{position:absolute;background:var(--cream);border:1px solid var(--line);border-radius:100px;padding:9px 16px;font-weight:600;font-size:13px;color:var(--green);box-shadow:var(--sh-s)}
.tagp.t1{top:8%;left:8%} .tagp.t2{top:26%;right:6%} .tagp.t3{top:52%;left:3%}
.tagp.t4{top:70%;right:5%} .tagp.t5{bottom:8%;left:14%}

/* 05 ASISTENTE */
.asis .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.chatbox{background:var(--cream2);border:1px solid var(--line);border-radius:var(--rL);padding:24px;box-shadow:var(--sh-s)}
.ch-h{display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.ch-h .av{width:36px;height:36px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center}
.ch-h .av svg{width:20px;height:20px}
.ch-h .nm{font-weight:600;font-size:14px;color:var(--deep)} .ch-h .st{font-size:11.5px;color:var(--sage)}
.bub{max-width:88%;padding:13px 16px;border-radius:16px;font-size:14.5px;line-height:1.5;margin-bottom:12px}
.bub.u{margin-left:auto;background:var(--deep);color:var(--cream);border-bottom-right-radius:5px}
.bub.a{background:#fff;border:1px solid var(--line);color:var(--txt);border-bottom-left-radius:5px}
.plan{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.plan-it{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 13px}
.plan-it .pic{width:34px;height:34px;border-radius:9px;background:rgba(26,107,94,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.plan-it .pic svg{width:18px;height:18px;stroke:var(--green)}
.plan-it .pt{font-weight:600;font-size:13.5px;color:var(--deep)} .plan-it .ps{font-size:11.5px;color:var(--sage)}

/* 06 ASTURIAS */
.astur h2{margin-top:14px;max-width:16ch}
.cards6{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:48px}
.pcard{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-s);aspect-ratio:3/4;transition:transform .35s ease,box-shadow .35s ease}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.pcard.big{grid-column:span 3;aspect-ratio:16/11}
.pcard.med{grid-column:span 3;aspect-ratio:16/11}
.pcard.sm{grid-column:span 2;aspect-ratio:3/4}
.pcard img{width:100%;height:100%;object-fit:cover}
.pcard .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,34,24,.72),rgba(13,34,24,.05) 55%,transparent)}
.pcard .cap{position:absolute;left:18px;right:18px;bottom:16px;color:#fff}
.pcard .cap .k{font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--amber2);display:block;margin-bottom:4px}
.pcard .cap .t{font-weight:600;font-size:15px;line-height:1.3}

/* 07 CONFIANZA */
.trust .wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:50px;align-items:center}
.trust h2{max-width:15ch;margin-top:14px}
.trust .lead{margin-top:18px}
.chips-card{background:var(--cream2);border:1px solid var(--line);border-radius:var(--rL);padding:26px;box-shadow:var(--sh-s)}
.chips-card .cc-t{font-weight:600;font-size:13px;color:var(--sage);margin-bottom:16px;display:flex;align-items:center;gap:9px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:11px 16px;font-size:13.5px;font-weight:500;color:var(--deep)}
.chip .cd{width:7px;height:7px;border-radius:50%}

/* 08 PREACCESO */
.pre{background:var(--deep);color:var(--cream);text-align:center}
.pre h2{color:#fff;font-style:italic;font-weight:600;font-size:clamp(38px,7vw,64px);margin:14px 0 18px}
.pre .lead{color:rgba(243,239,231,.82);margin:0 auto 34px;text-align:center;max-width:48ch}
.form{display:flex;gap:10px;max-width:520px;margin:0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:8px}
.form input{flex:1;background:none;border:none;outline:none;color:#fff;font-family:inherit;font-size:15px;padding:12px 16px}
.form input::placeholder{color:rgba(243,239,231,.55)}
.form .btn{white-space:nowrap}
.pre-err{display:none;color:var(--amber2);font-size:13px;margin-top:12px;font-weight:500}
.pre-note{font-size:12.5px;color:rgba(243,239,231,.5);margin-top:16px}
.pre-ok{display:none;max-width:520px;margin:0 auto;background:rgba(255,255,255,.07);border:1px solid rgba(229,162,46,.4);border-radius:16px;padding:20px;font-size:15.5px;color:var(--cream)}
.pre-ok b{color:var(--amber2)}

/* 09 FOOTER */
footer{background:var(--deep);color:var(--cream);padding:40px 0 44px;border-top:1px solid rgba(255,255,255,.08)}
.foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.foot .fnorte{font-style:italic;font-weight:500;color:rgba(243,239,231,.7);font-size:15px}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(243,239,231,.6)}
.foot-links a:hover{color:var(--amber2)}
.foot-sub{border-top:1px solid rgba(255,255,255,.08);margin-top:26px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:rgba(243,239,231,.45)}

@media(max-width:860px){
  section{padding:66px 0}
  .hero{padding-top:24px}
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-photo{max-width:420px;margin:0 auto}
  .concepts{grid-template-columns:1fr;gap:22px}
  .diff .wrap{grid-template-columns:1fr;gap:30px}
  .asis .wrap{grid-template-columns:1fr;gap:34px}
  .trust .wrap{grid-template-columns:1fr;gap:30px}
  .cards6{grid-template-columns:repeat(2,1fr);gap:14px}
  .pcard.big,.pcard.med{grid-column:span 2;aspect-ratio:16/10}
  .pcard.sm{grid-column:span 1;aspect-ratio:3/4}
  .nav-links a.txt{display:none}
  .form{flex-direction:column;background:none;border:none;padding:0}
  .form input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:14px}
  .form .btn{justify-content:center}
  .hero-mini{display:none}
}

/* ==== Legal (modales) + aviso de cookies ==== */
.lgl-ov{position:fixed;inset:0;z-index:200;background:rgba(13,34,24,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:none;align-items:flex-end;justify-content:center;padding:0}
.lgl-ov.on{display:flex}
.lgl{background:var(--cream);width:100%;max-width:680px;max-height:88vh;overflow-y:auto;border-radius:24px 24px 0 0;padding:30px 26px calc(30px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(13,34,24,.3)}
@media(min-width:720px){.lgl-ov{align-items:center;padding:24px}.lgl{border-radius:24px}}
.lgl-x{float:right;width:38px;height:38px;border-radius:50%;background:var(--cream2);border:1px solid var(--line);color:var(--sage);font-size:18px;cursor:pointer;line-height:1}
.lgl .k{display:block;font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.lgl h3{font-weight:700;font-size:24px;letter-spacing:-.5px;color:var(--deep);margin-bottom:6px}
.lgl .upd{font-size:12px;color:var(--sage);margin-bottom:20px}
.lgl h4{font-weight:600;font-size:15px;color:var(--deep);margin:20px 0 6px}
.lgl p{font-size:14.5px;line-height:1.65;color:var(--txt);margin-bottom:10px}
.lgl p b{color:var(--deep)}
.lgl a.inl{color:var(--green);text-decoration:underline}
.lgl .ph{background:rgba(200,130,10,.09);border-radius:4px;padding:1px 6px;color:var(--amber);font-size:13px}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:180;background:var(--deep);color:var(--cream);border-radius:18px;padding:18px 20px;box-shadow:0 16px 40px rgba(13,34,24,.35);display:none;gap:16px;align-items:center;flex-wrap:wrap;max-width:640px;margin:0 auto}
.cookie.on{display:flex}
.cookie p{font-size:13px;line-height:1.55;color:rgba(243,239,231,.85);flex:1;min-width:220px;margin:0}
.cookie p a{color:var(--amber2);text-decoration:underline}
.cookie button{background:var(--amber);color:#fff;border:none;border-radius:11px;padding:11px 20px;font-family:inherit;font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap}
.cookie button:hover{background:#b5750a}
