/* ==========================================================
   Adrián Doñoro · Webs sin líos para negocios de aquí
   ========================================================== */
:root{
  --pimenton:#C9431F;
  --pimenton-d:#A8361A;
  --mostaza:#F2B33D;
  --crema:#FBF6EE;
  --crema-2:#F3E9DA;
  --crema-3:#EADBC6;
  --tinta:#231A14;
  --tinta-2:#4A3B30;
  --tinta-3:#6B5A4C;
  --wa:#1E7A4C;
  --wa-d:#17613C;
  --line:rgba(35,26,20,.12);
  --f-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --f-body:"Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-hand:"Caveat", "Segoe Script", cursive;
  --r:22px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --gut:clamp(16px,4.5vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--f-body);font-size:clamp(16px,1.05vw + 12px,18px);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);line-height:1.02;letter-spacing:-.025em;margin:0;font-weight:800}
p{margin:0}
:focus-visible{outline:3px solid var(--mostaza);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,100% - 2*var(--gut));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--tinta);color:var(--crema);padding:10px 16px;border-radius:999px;z-index:200}
.skip:focus{left:8px}
.br-d{display:none}
@media (min-width:760px){.br-d{display:inline}}

/* subrayado mostaza */
.hl{position:relative;white-space:nowrap;display:inline-block}
.hl span{position:relative;z-index:1}
.hl::before{content:"";position:absolute;left:-.12em;right:-.12em;bottom:.04em;height:.5em;background:var(--mostaza);border-radius:.18em;z-index:0;transform-origin:left;transform:scaleX(1) rotate(-1.2deg)}
.js .hl::before{transform:scaleX(0) rotate(-1.2deg);transition:transform .9s var(--ease) .35s}
.js .is-in .hl::before,.js .hl.is-in::before{transform:scaleX(1) rotate(-1.2deg)}

/* ---------- botones ---------- */
.btn{--bg:var(--tinta);--fg:var(--crema);display:inline-flex;align-items:center;justify-content:center;gap:.55em;background:var(--bg);color:var(--fg);font:600 1rem/1 var(--f-body);text-decoration:none;padding:.95em 1.35em;border-radius:999px;border:2px solid transparent;transition:transform .35s var(--spring),background .25s,box-shadow .3s;will-change:transform;min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px) scale(.98)}
.btn .ico{width:1.25em;height:1.25em;flex:none}
.btn--lg{font-size:1.05rem;padding:1.05em 1.6em}
.btn--sm{padding:.65em 1em;font-size:.92rem;min-height:42px}
.btn--wa{--bg:var(--wa);--fg:#fff;box-shadow:0 10px 24px -10px rgba(30,122,76,.7)}
.btn--wa:hover{--bg:var(--wa-d);box-shadow:0 16px 30px -12px rgba(30,122,76,.8)}
.btn--ghost{--bg:transparent;--fg:var(--tinta);border-color:var(--tinta)}
.btn--ghost:hover{--bg:var(--tinta);--fg:var(--crema)}
.btn--dark{--bg:var(--tinta);--fg:var(--crema)}
.btn--dark:hover{--bg:var(--pimenton)}
.btn--cream{--bg:var(--crema);--fg:var(--tinta)}
.btn--outline-light{--bg:transparent;--fg:var(--crema);border-color:rgba(251,246,238,.55)}
.btn--outline-light:hover{border-color:var(--crema)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,246,238,.82);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.is-stuck{border-color:var(--line);box-shadow:0 8px 24px -18px rgba(35,26,20,.35)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand__logo{width:40px;height:40px;transition:transform .5s var(--spring)}
.brand:hover .brand__logo{transform:rotate(-8deg) scale(1.06)}
.brand__tilde{transform-origin:39px 9px;animation:tilde 4s ease-in-out infinite}
@keyframes tilde{0%,80%,100%{transform:none}86%{transform:translateY(-1.5px) rotate(-6deg)}92%{transform:translateY(0) rotate(4deg)}}
.brand__name{font:800 1.18rem/1 var(--f-display);letter-spacing:-.02em}
.nav__links{display:none;gap:28px}
.nav__links a{text-decoration:none;font-weight:500;color:var(--tinta-2);position:relative;padding:6px 0}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--pimenton);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav__links a:hover{color:var(--tinta)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
@media (min-width:900px){.nav__links{display:flex}}
@media (max-width:420px){.nav .btn--sm span{display:none}.nav .btn--sm{padding:.65em}}

/* ---------- hero ---------- */
.hero{padding:clamp(28px,6vw,72px) 0 0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:62vw;max-width:780px;aspect-ratio:1;right:-18vw;top:-14vw;background:radial-gradient(circle at 50% 50%,rgba(242,179,61,.35),rgba(242,179,61,0) 62%);pointer-events:none}
.hero__grid{display:grid;gap:44px;align-items:center;position:relative}
@media (min-width:960px){.hero__grid{grid-template-columns:1.15fr .85fr;gap:56px}}
.note{font:700 1.6rem/1 var(--f-hand);color:var(--pimenton);display:inline-flex;align-items:flex-end;gap:6px;transform:rotate(-3deg);margin-bottom:14px}
.note svg{width:48px;height:24px;color:var(--pimenton);transform:translateY(8px)}
.hero__title{font-size:clamp(2.75rem,8.4vw,5.9rem);max-width:12ch}
.hero__sub{margin-top:22px;font-size:clamp(1.1rem,1.3vw + .8rem,1.4rem);color:var(--tinta-2);max-width:34ch;line-height:1.5}
.hero__cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:520px){.hero__cta .btn{width:100%}}
.hero__trust{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--tinta-3);font-size:.95rem}
.hero__trust li{display:flex;align-items:center;gap:6px}
.hero__trust svg{width:18px;height:18px;color:var(--wa)}

/* teléfono con chat */
.hero__phone{position:relative;justify-self:center;width:min(360px,100%);padding:10px 0 40px}
.phone{background:#fff;border-radius:38px;padding:10px;box-shadow:0 0 0 1px var(--line),0 40px 80px -40px rgba(35,26,20,.55),0 18px 30px -20px rgba(201,67,31,.35);transform:rotate(2.5deg);transition:transform .8s var(--ease)}
.hero__phone:hover .phone{transform:rotate(0deg) translateY(-4px)}
.phone__bar{display:flex;align-items:center;gap:10px;background:#F0EADF;border-radius:28px 28px 8px 8px;padding:12px 14px}
.phone__avatar{width:36px;height:36px;border-radius:50%;background:var(--pimenton);color:var(--crema);display:grid;place-items:center;font:800 .85rem/1 var(--f-display)}
.phone__who{display:flex;flex-direction:column;line-height:1.15;font-size:.95rem}
.phone__who small{color:var(--wa);font-size:.78rem}
.chat{display:flex;flex-direction:column;gap:8px;padding:14px 8px 10px;min-height:420px;background:#EFE7DA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='4' cy='4' r='1.2' fill='%23231A14' opacity='.06'/%3E%3C/svg%3E");border-radius:8px 8px 28px 28px;margin-top:4px}
.msg{max-width:84%;padding:9px 12px;border-radius:14px;font-size:.92rem;line-height:1.35;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.msg--in{background:#fff;align-self:flex-start;border-top-left-radius:4px}
.msg--out{background:#DCF3D9;align-self:flex-end;border-top-right-radius:4px}
.js .chat .msg{opacity:0;transform:translateY(10px) scale(.96)}
.js .chat .msg.is-shown{opacity:1;transform:none;transition:opacity .4s var(--ease),transform .5s var(--spring)}
.typing{align-self:flex-start;background:#fff;border-radius:14px;padding:10px 14px;display:flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--tinta-3);animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.typing--out{align-self:flex-end;background:#DCF3D9}
@keyframes dot{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.sticker{position:absolute;font:700 1.25rem/1 var(--f-hand);background:var(--mostaza);color:var(--tinta);padding:12px 14px;border-radius:50%;width:96px;height:96px;display:grid;place-items:center;text-align:center;box-shadow:0 10px 20px -10px rgba(35,26,20,.4);animation:float 6s ease-in-out infinite}
.sticker--a{left:-30px;top:-18px;transform:rotate(-12deg)}
.sticker--b{right:-18px;bottom:-14px;background:var(--pimenton);color:var(--crema);animation-delay:-3s}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (max-width:480px){.sticker--a{left:-6px}.sticker--b{right:-4px}.sticker{width:84px;height:84px;font-size:1.1rem}}

/* marquee */
.marquee{margin-top:clamp(36px,6vw,70px);background:var(--tinta);color:var(--crema);overflow:hidden;transform:rotate(-1.4deg);width:104%;margin-left:-2%;border-block:3px solid var(--tinta)}
.marquee__track{display:flex;gap:28px;width:max-content;padding:16px 0;animation:marquee 38s linear infinite;font:700 clamp(1.2rem,2.4vw,1.8rem)/1 var(--f-display);letter-spacing:-.01em}
.marquee i{color:var(--mostaza);font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- secciones ---------- */
.sec{padding:clamp(72px,11vw,140px) 0}
.kicker{display:inline-flex;align-items:center;gap:10px;font:700 .82rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.14em;color:var(--pimenton);margin-bottom:16px}
.kicker::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.kicker--light{color:var(--mostaza)}
.sec__title{font-size:clamp(2.1rem,5.4vw,3.9rem);max-width:18ch}
.sec__title--light{color:var(--crema)}

/* reveal */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* te suena */
.suena{padding-top:clamp(84px,12vw,150px)}
.pains{display:grid;gap:18px;margin-top:44px}
@media (min-width:820px){.pains{grid-template-columns:repeat(3,1fr);gap:24px}}
.pain{position:relative;background:#fff;border-radius:var(--r);padding:30px 26px 34px;box-shadow:0 0 0 1px var(--line),0 24px 40px -32px rgba(35,26,20,.45);transition:transform .5s var(--spring)}
.pain:nth-child(1){rotate:-1.2deg}.pain:nth-child(2){rotate:1deg}.pain:nth-child(3){rotate:-.6deg}
.pain:hover{transform:translateY(-6px) rotate(0)}
.pain__n{font:800 .9rem/1 var(--f-display);color:var(--tinta-3);background:var(--crema-2);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}
.pain__q{font:800 clamp(1.45rem,2.2vw,1.75rem)/1.12 var(--f-display);letter-spacing:-.02em;margin-top:18px}
.pain__a{margin-top:12px;color:var(--tinta-3)}
.pain__stamp{position:absolute;right:18px;top:18px;font-size:1.6rem;filter:grayscale(.2)}
.nomore{margin-top:clamp(48px,7vw,84px);font:800 clamp(2.6rem,8vw,5.4rem)/1 var(--f-display);letter-spacing:-.035em;text-align:center}
.scribble{position:relative;display:inline-block;color:var(--pimenton)}
.scribble svg{position:absolute;left:-2%;width:104%;height:.36em;bottom:-.16em;overflow:visible}
.scribble path{stroke-dasharray:640;stroke-dashoffset:0}
.js .scribble path{stroke-dashoffset:640;transition:stroke-dashoffset 1.4s var(--ease) .4s}
.js .is-in .scribble path{stroke-dashoffset:0}

/* promesas */
.promesas{background:var(--pimenton);color:var(--crema);border-radius:clamp(28px,5vw,56px);margin-inline:clamp(8px,1.5vw,20px);position:relative;overflow:hidden}
.promesas::after{content:"AD";position:absolute;right:-.06em;bottom:-.26em;font:800 clamp(14rem,34vw,30rem)/1 var(--f-display);color:rgba(0,0,0,.07);letter-spacing:-.06em;pointer-events:none}
.promises{display:grid;gap:16px;margin-top:44px;position:relative;z-index:1}
@media (min-width:700px){.promises{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.promises{grid-template-columns:repeat(4,1fr)}}
.promise{background:rgba(251,246,238,.08);border:1px solid rgba(251,246,238,.22);border-radius:var(--r);padding:28px 24px;transition:background .3s,transform .5s var(--spring)}
.promise:hover{background:rgba(251,246,238,.14);transform:translateY(-6px)}
.promise__ico{width:52px;height:52px;color:var(--crema);margin-bottom:22px}
.promise h3{font-size:1.45rem;line-height:1.1;letter-spacing:-.02em}
.promise p{margin-top:10px;color:rgba(251,246,238,.88);font-size:.98rem}

/* qué puedo hacer */
.results{display:grid;gap:20px;margin-top:48px}
@media (min-width:880px){.results{grid-template-columns:repeat(3,1fr);gap:26px}}
.result{border-top:2px solid var(--tinta);padding-top:26px}
.result__art{width:112px;height:112px;margin-bottom:20px;transition:transform .6s var(--spring)}
.result:hover .result__art{transform:rotate(-6deg) scale(1.06)}
.result h3{font-size:clamp(1.6rem,2.6vw,2rem)}
.result p{margin-top:12px;color:var(--tinta-2)}
.tags{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--crema-2);color:var(--tinta-2)}

/* ejemplos */
.ejemplos{background:var(--crema-2);border-radius:clamp(28px,5vw,56px);margin-inline:clamp(8px,1.5vw,20px)}
.ejemplos__head{display:grid;gap:18px;align-items:end}
@media (min-width:900px){.ejemplos__head{grid-template-columns:1fr 1fr;gap:40px}}
.ejemplos__intro{color:var(--tinta-2);font-size:1.08rem;max-width:44ch}
.demos{display:grid;gap:22px;margin-top:44px}
@media (min-width:680px){.demos{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.demos{grid-template-columns:repeat(3,1fr);gap:26px}}
.demo{position:relative;display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px var(--line),0 30px 50px -40px rgba(35,26,20,.6);transition:transform .55s var(--spring),box-shadow .4s}
.demo:hover{transform:translateY(-8px);box-shadow:0 0 0 1px var(--line),0 40px 60px -36px rgba(35,26,20,.65)}
.demo__shot{position:relative;aspect-ratio:10/7;background:var(--demo);overflow:hidden}
.demo__shot::before{content:"";position:absolute;inset:0 0 auto;height:22px;background:rgba(255,255,255,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22'%3E%3Ccircle cx='12' cy='11' r='3.5' fill='%23E06A55'/%3E%3Ccircle cx='23' cy='11' r='3.5' fill='%23F2B33D'/%3E%3Ccircle cx='34' cy='11' r='3.5' fill='%2363B26A'/%3E%3C/svg%3E") no-repeat 4px 0;z-index:2}
.demo__shot img{position:absolute;inset:22px 0 0;width:100%;height:calc(100% - 22px);object-fit:cover;object-position:top;transition:transform 1.2s var(--ease)}
.demo:hover .demo__shot img{transform:scale(1.05)}
.demo__meta{padding:22px 22px 24px;display:flex;flex-direction:column;gap:6px;flex:1;border-top:5px solid var(--demo-2)}
.demo__sector{font:700 .75rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.12em;color:var(--tinta-3)}
.demo h3{font-size:1.6rem;margin-top:4px}
.demo p{color:var(--tinta-2);font-size:.98rem}
.demo__go{margin-top:auto;padding-top:14px;font-weight:700;color:var(--pimenton);display:inline-flex;gap:6px}
.demo__go span{transition:transform .35s var(--spring)}
.demo:hover .demo__go span{transform:translateX(6px)}
.demo__badge{position:absolute;top:34px;right:12px;z-index:3;background:var(--mostaza);color:var(--tinta);font:700 .8rem/1 var(--f-body);padding:8px 12px;border-radius:999px;box-shadow:0 6px 14px -6px rgba(0,0,0,.4);rotate:4deg}
.ejemplos__more{margin-top:36px;text-align:center;color:var(--tinta-2)}
.ejemplos__more a{color:var(--pimenton);font-weight:700;text-underline-offset:3px}

/* cómo */
.steps{list-style:none;padding:0;margin:48px 0 0;display:grid;gap:18px;counter-reset:s;position:relative}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:28px}
  .steps::before{content:"";position:absolute;top:64px;left:12%;right:12%;border-top:3px dashed var(--crema-3);z-index:0}}
.step{position:relative;z-index:1;background:#fff;border-radius:var(--r);padding:28px 26px;box-shadow:0 0 0 1px var(--line)}
.step__n{position:absolute;right:22px;top:20px;font:800 2.6rem/1 var(--f-display);color:var(--crema-3);letter-spacing:-.04em}
.step__ico{width:76px;height:76px;margin-bottom:16px}
.step h3{font-size:1.5rem;line-height:1.1;max-width:16ch}
.step p{margin-top:10px;color:var(--tinta-2)}
.steam{animation:steam 2.6s ease-in-out infinite}
@keyframes steam{0%,100%{opacity:.35;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}
.flame{transform-origin:32px 48px;animation:flame .5s ease-in-out infinite alternate}
@keyframes flame{to{transform:scaleY(1.3)}}

/* sobre mí */
.sobre__grid{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.sobre__grid{grid-template-columns:.8fr 1.2fr;gap:72px}}
.sobre__card{background:var(--tinta);color:var(--crema);border-radius:var(--r);padding:34px 30px;rotate:-2deg;box-shadow:0 30px 50px -30px rgba(35,26,20,.6);transition:rotate .6s var(--spring)}
.sobre__card:hover{rotate:0deg}
.sobre__logo{width:76px;height:76px;margin-bottom:26px}
.ficha{margin:0;display:grid;gap:14px}
.ficha div{display:grid;grid-template-columns:110px 1fr;gap:12px;border-top:1px dashed rgba(251,246,238,.25);padding-top:12px}
.ficha dt{font:700 .78rem/1.5 var(--f-body);text-transform:uppercase;letter-spacing:.12em;color:var(--mostaza)}
.ficha dd{margin:0}
.prose{display:grid;gap:16px;margin-top:24px;color:var(--tinta-2);font-size:1.08rem;max-width:58ch}
.firma{margin-top:24px;font:700 2.4rem/1 var(--f-hand);color:var(--pimenton);display:flex;align-items:center;gap:8px}
.firma svg{width:80px;height:20px}

/* precios */
.precios{padding-top:0}
.ticket{display:grid;grid-template-columns:minmax(0,1fr);background:#fff;border-radius:var(--r);box-shadow:0 0 0 1px var(--line),0 40px 60px -46px rgba(35,26,20,.6);overflow:hidden}
@media (min-width:900px){.ticket{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.ticket__l{padding:clamp(28px,5vw,56px)}
.ticket__t{font-size:clamp(1.9rem,4vw,3rem);max-width:18ch}
.ticket__p{margin:18px 0 28px;color:var(--tinta-2);max-width:48ch}
.ticket__r{position:relative;background:var(--crema-2);padding:clamp(28px,4vw,44px) clamp(24px,4vw,40px);font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:.88rem;display:flex;flex-direction:column;gap:12px;justify-content:center}
.ticket__r::before{content:"";position:absolute;left:0;right:0;top:-8px;height:16px;background:radial-gradient(circle at 8px 8px,#fff 7px,transparent 8px) 0 0/16px 16px repeat-x}
@media (min-width:900px){.ticket__r::before{left:-8px;top:0;bottom:0;right:auto;width:16px;height:auto;background:radial-gradient(circle at 8px 8px,#fff 7px,transparent 8px) 0 0/16px 16px repeat-y}}
.ticket__row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(35,26,20,.25);padding-bottom:10px}
.ticket__row b{white-space:nowrap}
.ticket__row--total{font-size:1.05rem;border-bottom:3px double var(--tinta);color:var(--pimenton)}
.ticket__fine{font-size:.74rem;color:var(--tinta-3);line-height:1.4}

/* faq */
.faq{padding-top:clamp(40px,6vw,80px)}
.faq__grid{display:grid;gap:30px}
@media (min-width:900px){.faq__grid{grid-template-columns:.8fr 1.2fr;gap:72px}}
.faq__list{display:grid;gap:10px}
.faq details{background:#fff;border-radius:16px;box-shadow:0 0 0 1px var(--line);overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 22px;font:700 1.1rem/1.3 var(--f-display);letter-spacing:-.01em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;translate:0 -50%;width:28px;height:28px;border-radius:50%;background:var(--crema-2);display:grid;place-items:center;font:700 1.2rem/1 var(--f-body);transition:rotate .35s var(--spring),background .25s}
.faq details[open] summary::after{rotate:45deg;background:var(--mostaza)}
.faq details p{padding:0 22px 22px;color:var(--tinta-2)}

/* contacto */
.contacto{background:var(--tinta);color:var(--crema);border-radius:clamp(28px,5vw,56px) clamp(28px,5vw,56px) 0 0;margin-inline:clamp(8px,1.5vw,20px);text-align:center;position:relative;overflow:hidden}
.contacto::before{content:"";position:absolute;width:700px;height:700px;left:50%;top:-360px;translate:-50% 0;background:radial-gradient(circle,rgba(201,67,31,.45),transparent 65%);pointer-events:none}
.contacto__in{position:relative;display:flex;flex-direction:column;align-items:center}
.note--light{color:var(--mostaza)}
.contacto__t{font-size:clamp(3.6rem,13vw,9rem);letter-spacing:-.05em}
.contacto__p{margin-top:16px;font-size:1.15rem;color:rgba(251,246,238,.85)}
.contacto__btns{margin-top:34px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media (max-width:560px){.contacto__btns{flex-direction:column;width:100%}.contacto__btns .btn{width:100%}}
.contacto__zona{margin-top:34px;display:flex;align-items:flex-start;gap:8px;color:rgba(251,246,238,.75);font-size:.95rem;max-width:56ch;text-align:left}
.contacto__zona svg{width:20px;height:20px;flex:none;color:var(--mostaza);margin-top:2px}

/* footer */
.foot{background:var(--tinta);color:rgba(251,246,238,.7);margin-inline:clamp(8px,1.5vw,20px);padding:0 0 110px}
.foot__in{border-top:1px solid rgba(251,246,238,.15);padding-top:32px;display:grid;gap:16px;justify-items:center;text-align:center}
.brand--foot{color:var(--crema)}
.foot__slogan{font-family:var(--f-hand);font-size:1.5rem;color:var(--mostaza)}
.foot__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:.9rem}
.foot__legal a{color:rgba(251,246,238,.8);text-underline-offset:3px}
.foot__copy{font-size:.85rem}

/* fab whatsapp */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:90;width:62px;height:62px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 14px 28px -10px rgba(30,122,76,.8);transition:transform .4s var(--spring);text-decoration:none}
.fab svg{width:32px;height:32px}
.fab::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:ping 2.6s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.8}80%,100%{transform:scale(1.6);opacity:0}}
.fab:hover{transform:scale(1.08) rotate(-6deg)}
.fab__tip{position:absolute;right:74px;white-space:nowrap;background:var(--tinta);color:var(--crema);font:700 .9rem/1 var(--f-body);padding:10px 14px;border-radius:999px;opacity:0;translate:8px 0;transition:.3s var(--ease);pointer-events:none}
.fab:hover .fab__tip,.fab.is-nudge .fab__tip{opacity:1;translate:0 0}

/* páginas legales */
.legal{padding:clamp(40px,7vw,90px) 0 120px}
.legal h1{font-size:clamp(2.4rem,6vw,4rem)}
.legal .lead{margin-top:14px;color:var(--tinta-3)}
.legal h2{font-size:1.5rem;margin-top:40px}
.legal p,.legal li{color:var(--tinta-2);max-width:72ch}
.legal p{margin-top:12px}
.legal ul{padding-left:1.2em}
.legal .fill{background:#FFE7A8;color:var(--tinta);padding:1px 6px;border-radius:6px;font-weight:700}
.legal table{border-collapse:collapse;margin-top:16px;width:100%;font-size:.92rem}
.legal th,.legal td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;vertical-align:top}
.legal .back{display:inline-flex;margin-top:40px}
.credits{list-style:none;padding:0;display:grid;gap:10px;margin-top:20px}
.credits li{background:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 0 0 1px var(--line);font-size:.9rem}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee__track,.sticker,.fab::before,.brand__tilde{animation:none}
}

/* entrada de portada (solo CSS, no depende del scroll) */
[data-in]{animation:heroIn .9s var(--ease) both}
.hero__title[data-in]{animation-delay:.08s}
.hero__sub[data-in]{animation-delay:.16s}
.hero__cta[data-in]{animation-delay:.24s}
.hero__trust[data-in]{animation-delay:.32s}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}}
.js .hl-go .hl::before{transform:scaleX(1) rotate(-1.2deg);animation:hlIn 1s var(--ease) .5s both}
@keyframes hlIn{from{transform:scaleX(0) rotate(-1.2deg)}}

/* precios: bloque limpio (sin ticket) */
.ticket__r{font-family:var(--f-body);font-size:1rem;gap:16px}
.ticket__r::before{display:none}
.ticket__h{font:800 1.3rem/1.1 var(--f-display);letter-spacing:-.01em}
.ticket__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ticket__list li{display:flex;gap:12px;align-items:flex-start;font-weight:500;color:var(--tinta-2)}
.ticket__list li::before{content:"";flex:none;width:24px;height:24px;margin-top:1px;border-radius:50%;background:var(--wa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.ejemplos__intro b{color:var(--tinta)}
