/* Firessa · landings Industrial y Comercial
   Réplica del diseño de Dinametra (Figma «Proposal FIressa OB 2025», página «LP Industrial y Uso comercial»).
   Medidas de escritorio = las del Figma a 1280 px. Debajo de 1100 px y de 760 px, adaptación propia (el Figma solo trae escritorio). */

@font-face{font-family:'Kenyan Coffee';src:url('../fonts/kenyan-coffee-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Work Sans';src:url('../fonts/work-sans-400-700-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plus-jakarta-sans-500-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
  --navy:#1f2a44;--navy-2:#1f2945;--navy-deep:#192236;--cyan:#00a9ce;--yellow:#ffd100;--aqua:#64ccc9;
  --paper:#f8f8f8;--line:#ededed;--field:#f7f8f8;--field-line:#edeef1;--muted:#404040;--white:#fff;
  --display:'Kenyan Coffee',Impact,'Arial Narrow',sans-serif;
  --font:'Work Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --form-font:'Plus Jakarta Sans','Work Sans',system-ui,sans-serif;
  --wrap:1280px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font);color:var(--navy);background:var(--white);line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,blockquote,figure{margin:0}
button{font:inherit}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:8px;z-index:10001;background:var(--white);color:var(--navy);padding:10px 16px;border-radius:4px;font-weight:600}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
section[id],main[id]{scroll-margin-top:102px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;position:relative}
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0}
.hl-y{color:var(--yellow)}
.hl-c{color:var(--cyan);font-weight:700}

/* botón (instancia «Boton» del Figma: 16.2px 600, padding 11/13, radio 2.6px) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:40px;padding:10.5px 13px;border:0;border-radius:2.63px;background:var(--cyan);color:var(--white);font:600 16.2px/19px var(--font);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}
.btn:hover{background:#0096b8;transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(0,169,206,.7)}
.btn--navy{background:var(--navy)}
.btn--navy:hover{background:#16203a;box-shadow:0 8px 18px -8px rgba(31,42,68,.7)}

/* ───────── barra de navegación ───────── */
.nav{position:sticky;top:0;z-index:900;background:var(--navy);height:102px}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;padding:25px 50px}
.nav-logo{flex:0 0 auto;width:249px;height:52px}
.nav-logo img{width:249px;height:52px}
.nav-menu{display:flex;align-items:center;justify-content:space-between;flex:1;margin-left:47px}
.nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--white);text-decoration:none;font:400 16px/22px var(--font);letter-spacing:-.32px;white-space:nowrap}
.nav-links a[aria-current="page"],.nav-links a.is-active{font-weight:700}
.nav-links a:hover{text-decoration:underline;text-underline-offset:4px}
.nav-cta{width:200px}
.nav-toggle{display:none;background:none;border:0;color:var(--white);width:44px;height:44px;padding:10px;cursor:pointer;margin-left:auto}
.nav-toggle span{display:block;height:2px;background:currentColor;margin:5px 0;transition:transform .25s,opacity .25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ───────── hero (578 px) ───────── */
.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--white)}
.hero .wrap{height:578px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.pipe{position:absolute;pointer-events:none;max-width:none}
.pipe-tl{left:-593px;top:-140px;width:999px;height:210px}
.pipe-big{width:1587px;height:326px}
.hero--ind .pipe-big{left:-115px;top:185px}
.hero--com .pipe-big{left:-153px;top:204px}
/* en pantallas de más de 1280 px la tubería sigue hasta el borde, como en el diseño */
.hero::before,.hero::after{content:"";position:absolute;z-index:1;background:var(--yellow);width:calc(50% - 640px + 2px);height:8.5px;pointer-events:none}
.hero::before{left:0}
.hero::after{right:0}
.hero--ind::before{top:502px}.hero--ind::after{top:185px}
.hero--com::before{top:521px}.hero--com::after{top:204px}
.hero-copy{position:absolute;left:73px;display:flex;flex-direction:column;gap:21px;z-index:2}
.hero--ind .hero-copy{top:135px;width:427px}
.hero--com .hero-copy{top:77px;width:499px;color:var(--navy)}
.hero h1{font:400 72px/76px var(--display);text-transform:uppercase}
.hero--com h1{width:489px}
.hero-sub{font:400 20px/30px var(--font)}
.hero--com .hero-sub{font-weight:500;width:487px}
.hero-copy .btn{align-self:flex-start;width:203px}
.hero-form{position:absolute;left:678px;width:384px;z-index:3}
.hero--ind .hero-form{top:94px}
.hero--com .hero-form{top:111px}

/* ───────── formulario (Frame 277) ───────── */
.lp-form{background:var(--white);border-radius:8px;box-shadow:0 0 10.1px rgba(0,0,0,.08);padding:24px;display:flex;flex-direction:column;gap:24px;color:var(--muted)}
.lp-fields{display:flex;flex-direction:column;gap:16px}
.field{position:relative}
.field input{display:block;width:100%;height:40px;padding:8px 16px;border:1px solid var(--field-line);border-radius:8px;background:var(--field);font:500 14px/24px var(--form-font);color:#1d2433;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,169,206,.18);background:var(--white)}
.field label{position:absolute;left:16px;top:8px;font:500 14px/24px var(--form-font);color:var(--muted);pointer-events:none;transition:opacity .15s}
.field label .req{color:#f00}
.field input:not(:placeholder-shown)+label{opacity:0}
.field input.is-bad{border-color:#d93c3c;background:#fff6f6}
.lp-form .btn{align-self:flex-start;width:203px}
.lp-form .btn[disabled]{opacity:.7;cursor:progress}
.form-err{margin:-12px 0 0;min-height:0;font:500 13px/18px var(--form-font);color:#c62828}
.form-err:empty{display:none}
.form-suggest{border:0;background:none;padding:4px 0 0;font:500 12px/16px var(--form-font);color:var(--cyan);cursor:pointer;text-decoration:underline}
.form-legal{margin:-12px 0 0;font:400 11px/15px var(--form-font);color:#6b7280}
.form-legal a{color:inherit}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ───────── logos de clientes ───────── */
.clients{background:var(--white)}
.clients .wrap{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 123px 0 114px}
.clients--com .wrap{padding:0 101px 0 129px}
.clients img{height:auto;object-fit:contain}
.clients ul{list-style:none;margin:0;padding:0;display:contents}

/* ───────── testimonios (industrial) ───────── */
.testi{background:var(--white)}
.testi .wrap{height:632px}
.testi-quote{position:absolute;left:56px;top:139px;width:551px;font:400 24px/34px var(--font);text-align:center;color:var(--navy)}
.testi-quote p+p{margin-top:34px}
.testi-quote b{color:var(--cyan);font-weight:700}
.testi-cta{position:absolute;left:230px;top:429px}
.testi-cards{position:absolute;left:640px;top:56px;display:flex;flex-direction:column;gap:21px;width:546px}
.card-t{background:var(--white);border-radius:8px;box-shadow:0 4px 4px rgba(0,0,0,.25);padding:32px 32px 32px 57px;min-height:252px}
.card-t-head{display:flex;align-items:center;gap:16px}
.card-t-head img.av{width:48px;height:48px;border-radius:99px;object-fit:cover;flex:0 0 48px}
.card-t-who{flex:1;display:flex;flex-direction:column}
.card-t-who strong{font:600 16px/24px var(--font);letter-spacing:-.32px}
.card-t-who span{font:400 15px/21px var(--font)}
.card-t-ico{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex:0 0 48px}
.card-t-ico img{width:48px;height:48px}
.card-t blockquote{margin-top:24px;font:400 15px/21px var(--font);width:432px;max-width:100%}
.card-t blockquote b{color:var(--cyan);font-weight:700}

/* ───────── «nosotros»: tarjetas con ícono (industrial) ───────── */
.feat{background:var(--navy);overflow:hidden}
.feat .wrap{height:550px}
.deco{position:absolute;pointer-events:none;max-width:none}
.feat .deco-a{left:-12px;top:75.8px;width:544px;height:480px}
.feat .deco-b{left:736.2px;top:0;width:544px;height:480px}
.feat-cards{position:absolute;left:50px;top:120px;width:1180px;display:flex;justify-content:space-between;gap:30px;list-style:none;margin:0;padding:0}
.feat-card{position:relative;width:365px;min-height:289px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:80px 32px 32px;text-align:center}
.feat-card .ico{position:absolute;left:50%;top:-88px;transform:translateX(-50%);width:176px;height:176px;max-width:none}
.feat-card h3{font:600 20px/28px var(--font);letter-spacing:-.4px;margin:0 auto 16px;max-width:300px}
.feat-card h3.w-191{max-width:191px}.feat-card h3.w-203{max-width:203px}
.feat-card p{font:400 15px/21px var(--font)}
.feat-cta{position:absolute;left:541px;top:457px}

/* ───────── problemas + testimonios (comercial, bloque azul de 878 px) ───────── */
.pains{background:var(--navy);color:var(--white);overflow:hidden}
.pains .wrap{height:878px}
.pains .deco-a{left:736.2px;top:1px;width:544px;height:480px}
.pains .deco-b{left:0;top:401.8px;width:544px;height:480px}
.pains h2{position:absolute;left:0;right:0;top:57px;display:flex;flex-direction:column;align-items:center;gap:3px;font:400 40.37px/57px var(--display);letter-spacing:1.21px;text-transform:uppercase;text-align:center;z-index:1}
.pains-cols{position:absolute;left:110px;top:281px;width:1062px;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0;z-index:1}
.pains-cols li{position:relative;width:304px;font:400 23px/32px var(--font);text-align:center}
.pains-cols li b{color:var(--yellow);font-weight:600}
.pains-cols li+li::before{content:"";position:absolute;left:-46px;top:-2px;height:132px;border-left:1px solid #c2c2c2}
.pains-cards{position:absolute;left:75px;top:478px;display:flex;gap:31px;align-items:flex-start;z-index:1}
.pains .card-t{width:548px;padding:32px 21px 32px 32px;color:var(--navy)}
.pains .card-t+.card-t{width:546px;padding:32px 57px}
.pains .card-t blockquote{width:495px}
.pains .card-t+.card-t blockquote{width:432px}
.pains-cta{position:absolute;left:541px;top:790px;z-index:1}

/* ───────── soluciones ───────── */
.sol{background:var(--paper)}
.sol .wrap{padding:70px 50px;display:flex;flex-direction:column;align-items:center;gap:40px}
.sol h2{font:400 50px/53px var(--display);text-transform:uppercase;text-align:center}
.sol-grid{width:100%;display:grid;align-items:center;list-style:none;margin:0;padding:5px 0}
.sol--ind .sol-grid{grid-template-columns:1fr 1fr 1fr;width:1180px}
.sol-item{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0}
.sol--ind .sol-item+.sol-item::before,.sol--com .sol-item+.sol-item::before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1px solid #dfdfdf}
.sol--ind .sol-item{min-height:290px;justify-content:center;gap:0}
.sol--ind .sol-item h3{font:600 20px/28px var(--font);letter-spacing:-.2px}
.sol--ind .sol-item p{font:400 15px/21px var(--font);margin:16px 0 25px}
.sol--ind .sol-item:first-child p{font-size:16px;line-height:24px;letter-spacing:-.18px;max-width:345px}
.sol--ind .sol-item:nth-child(2) p{max-width:294px}
.sol--ind .sol-item:nth-child(3) p{max-width:354px}
.sol--ind .sol-item:nth-child(1){padding:0 5px 0 0}
.sol--ind .sol-item:nth-child(2){padding:0 30px}
.sol--ind .sol-item:nth-child(3){padding:0 0 0 30px}
.sol-item img{width:297px;height:133px;border-radius:8px;object-fit:cover}
.sol--com .wrap{padding:70px 0 38px;gap:17px}
.sol--com .sol-grid{grid-template-columns:341fr 311fr 299fr 329fr;align-items:stretch}
.sol--com .sol-item{min-height:325px;justify-content:flex-start;padding:22px 16px 15px}
.sol--com .sol-item:first-child{padding-left:56px;padding-right:27px}
.sol--com .sol-item:last-child{padding-right:56px;padding-left:15px}
.sol--com .sol-item h3{font:600 17.4px/24px var(--font);letter-spacing:-.17px;min-height:48px;display:flex;align-items:center;justify-content:center}
.sol--com .sol-item p{font:400 13.05px/18px var(--font);margin:12px 0 18px;flex:1;max-width:259px}
.sol--com .sol-item:nth-child(2) h3{max-width:206px;margin:0 auto}
.sol--com .sol-item:nth-child(3) h3{max-width:176px;margin:0 auto}
.sol--com .sol-item:first-child p{font-size:13.92px;line-height:22px;letter-spacing:-.16px}
.sol--com .sol-item img{width:258px;height:116px;border-radius:7px;margin-top:auto}
.sol-cta{margin-top:0}

/* ───────── prioridad / entendemos tu negocio ───────── */
.about{background:var(--navy);color:var(--white);overflow:hidden}
.about .wrap{height:499px}
.about .deco-c1{left:802.5px;top:-568.5px;width:971px;height:971px}
.about .deco-c2{left:-515.5px;top:51.5px;width:971px;height:971px}
.about-copy{position:absolute;left:293px;top:70px;width:695px;display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center;z-index:2}
.about--com .about-copy{left:281px;width:719px;gap:24px}
.about h2{font:400 50px/53px var(--display);text-transform:uppercase}
.about-copy p{font:400 18px/24px var(--font);letter-spacing:-.18px}
.about-copy p b{font-weight:700}
.about-photo{position:absolute;left:132px;top:251px;width:1015px;height:400px;object-fit:cover;z-index:1}

/* ───────── beneficios ───────── */
.perks{position:relative;overflow:hidden}
.perks .wrap{height:539px}
.perks--ind{background:var(--white)}
.perks--com{background:var(--navy-deep)}
.perks .deco-p{left:0;top:23.8px;width:449px;height:971px}
.perks--com .deco-p{top:55.8px;width:544px;height:480px}
.perks h2{position:absolute;font:600 45px/44px var(--font);letter-spacing:-.9px;text-transform:uppercase;text-align:center}
.perks--ind h2{left:128px;top:199px;width:323px;color:var(--navy)}
.perks--com h2{left:120px;top:198px;width:340px;font-size:47.64px;line-height:46px;letter-spacing:-.95px;color:var(--white)}
.perks ul,.feat ul{list-style:none;margin:0;padding:0}
.perks ul{display:contents}
.perk{position:absolute;width:297px;height:184px;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 16px;color:var(--navy)}
.perks--ind .perk{box-shadow:0 4px 4px rgba(0,0,0,.25)}
.perk h3{font:600 21px/26px var(--font)}
.perk p{font:400 21px/29px var(--font)}
.perks--com .perk p{font-size:16.61px;line-height:23px}
.perk .ico{position:absolute;width:120.1px;height:120.1px;max-width:none}
.perks--com .perk .ico{width:126.8px;height:126.8px}
/* posiciones del Figma (relativas a la sección) */
.perks--ind .p1{left:542px;top:69px}.perks--ind .p2{left:898px;top:69px}.perks--ind .p3{left:542px;top:314px}.perks--ind .p4{left:898px;top:314px}
.perks--ind .p1 .ico{left:226.6px;top:-56.8px}.perks--ind .p2 .ico{left:227.6px;top:-56.8px}.perks--ind .p3 .ico{left:226.6px;top:-57.8px}.perks--ind .p4 .ico{left:227.6px;top:-54.8px}
.perks--ind .p1 h3{font-size:24px;line-height:30px}
.perks--ind .p2 h3{font-size:21.34px;line-height:27px;max-width:265px}
.perks--ind .p3 h3{max-width:241px}
.perks--ind .p4 h3{font-size:21.34px}
.perks--ind .p1 p,.perks--ind .p3 p{max-width:193px}
/* sin la tarjeta de 6 MSI (Angel, 8-oct): dos arriba y la tercera centrada abajo */
.perks--com .p2{left:557px;top:55px}.perks--com .p3{left:913px;top:55px}.perks--com .p4{left:735px;top:300px}
.perks--com .p1 .ico{left:204.6px;top:-59.4px}.perks--com .p2 .ico{left:215.6px;top:-59.4px}.perks--com .p3 .ico{left:212.6px;top:-63.4px}.perks--com .p4 .ico{left:215.6px;top:-60.4px}
.perks--com .p1 h3{font-size:24px;line-height:30px;max-width:241px}
.perks--com .p2 h3{font-size:21.34px;line-height:27px}
.perks--com .p2 p+p{margin-top:9px}
.perks--com .p3 h3,.perks--com .p4 h3{max-width:241px}
.perks--com .perk h3+p{margin-top:8px}
.perks--ind .perk h3+p{margin-top:4px}

/* ───────── ISO + preguntas frecuentes ───────── */
.faq{background:var(--white)}
.faq .wrap{padding:34px 50px 0;display:flex;flex-direction:column;align-items:center;gap:40px}
.faq--com .wrap{padding:48px 50px 28px}
.iso{position:relative;width:510px;height:75px;background:var(--white);border-radius:13px;box-shadow:2px 1px 4px rgba(0,0,0,.25);display:flex;align-items:center}
.iso .seals{position:absolute;left:30px;top:0;width:138px;height:75px}
.iso p{position:absolute;left:185px;top:8px;width:297px;font:400 24px/26px var(--font);color:var(--navy)}
.iso p b{font-weight:700}
.iso .acc{position:absolute;left:181px;top:62px;width:99px;height:12px}
.faq h2{font:400 50px/53px var(--display);text-transform:uppercase}
.faq-cols{width:1180px;display:flex;gap:32px;align-items:flex-start}
.faq-col{flex:1;display:flex;flex-direction:column;gap:16px;padding-left:2px}
.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:8px}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:0;padding:23px 31px;font:600 18px/24px var(--font);letter-spacing:-.18px;color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .q{flex:1}
.faq-item summary .pm{flex:0 0 24px;width:24px;height:24px;position:relative}
.faq-item summary .pm::before,.faq-item summary .pm::after{content:"";position:absolute;left:5px;right:5px;top:11px;height:1.6px;background:var(--navy);border-radius:2px;transition:transform .25s,background .2s}
.faq-item summary .pm::after{transform:rotate(90deg)}
.faq-item[open] summary{color:var(--cyan);padding-bottom:0}
.faq-item[open] summary .pm::before{background:var(--cyan)}
.faq-item[open] summary .pm::after{transform:rotate(0);background:var(--cyan);opacity:0}
.faq-item .a{padding:8px 31px 23px;font:400 16px/24px var(--font);letter-spacing:-.064px;color:var(--navy-2)}
.faq-item summary:hover .q{text-decoration:underline;text-underline-offset:4px}

/* ───────── contacto ───────── */
.contact{background:var(--paper)}
.contact .wrap{padding:70px 50px;display:flex;justify-content:center;align-items:center;gap:48px}
.contact-copy{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;width:297px}
.contact--com .wrap{padding:48px 50px 49px}
.contact--com .contact-copy{width:498px}
.contact-copy img{width:119px;height:150px}
.contact-copy h2{font:400 50px/53px var(--display);text-transform:uppercase}
.contact-copy p{font:400 16px/24px var(--font);letter-spacing:-.064px;color:var(--navy-2)}
.contact .lp-form{width:384px}

/* ───────── pie ───────── */
.foot{background:var(--navy);color:var(--white)}
.foot .wrap{padding:70px 50px;display:flex;flex-direction:column;align-items:center;gap:48px}
.foot-top{width:1180px;display:flex;justify-content:space-between;align-items:center}
.foot-brand{width:262px;display:flex;flex-direction:column;gap:16px}
.foot-brand img{width:249px;height:52px}
.foot-brand address{font:400 16px/24px var(--font);letter-spacing:-.5px;font-style:normal}
.foot-brand address a{text-decoration:none}
.foot-brand address a:hover{text-decoration:underline}
.foot-cols{display:flex;gap:80px;width:748px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.foot-cols li a,.foot-cols li span{font:400 18px/31px var(--font);letter-spacing:-.5px;text-decoration:none;color:var(--white);white-space:nowrap}
.foot-cols li a:hover{text-decoration:underline}
.foot-cols .c1{width:194px}.foot-cols .c2{width:197px}.foot-cols .c3{width:197px}
.foot-cols .c3{display:flex;flex-direction:column;gap:17px}
.foot-social{display:flex;gap:16px;align-items:center}
.foot-social a{display:flex;align-items:center;height:25px;opacity:1;transition:opacity .2s}
.foot-social a:hover{opacity:.75}
.foot-copy{font:400 18px/31px var(--font);letter-spacing:-.5px;text-align:center}

/* ───────── página de gracias ───────── */
.thanks{position:relative;overflow:hidden;background:var(--navy);color:var(--white)}
.thanks .wrap{height:578px}
.thanks .pipe-big{left:-30px;top:219px;width:1345px;height:276px}
.thanks::before,.thanks::after{content:"";position:absolute;z-index:1;background:var(--yellow);width:calc(50% - 640px + 2px);height:7px;pointer-events:none}
.thanks::before{left:0;top:487.5px}.thanks::after{right:0;top:219px}
.thanks-copy{position:absolute;left:375px;top:170px;width:529px;display:flex;flex-direction:column;align-items:center;gap:21px;text-align:center;z-index:2}
.thanks h1{font:400 92px/97px var(--display);text-transform:uppercase}
.thanks p{font:400 20px/30px var(--font)}
.thanks .btn{width:386px;max-width:100%}

/* ───────── aviso de privacidad ───────── */
.legal{background:var(--paper)}
.legal .wrap{max-width:860px;padding:60px 24px 80px}
.legal h1{font:400 56px/60px var(--display);text-transform:uppercase;margin-bottom:8px}
.legal .legal-sub{color:#4a5568;margin-bottom:28px}
.legal main h3{font:600 20px/28px var(--font);margin:28px 0 8px}
.legal main p,.legal main li{font:400 16px/26px var(--font);color:var(--navy-2)}
.legal main ul{padding-left:22px}
.legal .back{display:inline-block;margin-bottom:24px;color:var(--cyan);font-weight:600;text-decoration:none}

/* ───────── widget de WhatsApp (chassis Firessa, brochure v2) ───────── */
.wa-btn{position:fixed;bottom:24px;right:24px;z-index:9000;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s,transform .35s}
.wa-btn.is-ready{opacity:1;transform:none;pointer-events:auto}
.wa-trigger{width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 28px rgba(37,211,102,.55);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;border:0;position:relative;z-index:2;padding:0}
.wa-trigger:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(37,211,102,.65)}
.wa-trigger:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.wa-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid #25D366;animation:waPulse 2.6s ease-out infinite;pointer-events:none}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.35);opacity:0}100%{opacity:0}}
.wa-form{position:absolute;bottom:74px;right:0;width:340px;background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.22);overflow:hidden;transform:scale(.8) translateY(20px);transform-origin:bottom right;opacity:0;visibility:hidden;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s ease,visibility 0s .35s;font-family:var(--font);color:var(--navy);text-align:left}
.wa-form.open{transform:scale(1) translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s ease,visibility 0s}
.wa-form-header{background:linear-gradient(135deg,var(--navy),#0b7fa0);padding:18px 46px 14px 18px;display:flex;align-items:center;gap:12px;position:relative;color:#fff}
.wa-avatar{width:46px;height:46px;min-width:46px;background:rgba(100,204,201,.22);border:1.5px solid rgba(100,204,201,.5);border-radius:50%;display:flex;align-items:center;justify-content:center}
.wa-agent-name{color:#fff;font-weight:700;font-size:16px;letter-spacing:.2px}
.wa-agent-tagline{color:rgba(255,255,255,.8);font-size:13px;margin-top:2px}
.wa-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.18);border:0;border-radius:50%;width:30px;height:30px;color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .25s}
.wa-close:hover{background:rgba(255,255,255,.32);transform:rotate(90deg)}
.wa-form-body{padding:16px 18px 16px}
.wa-bubble{background:rgba(0,169,206,.07);border:1px solid rgba(0,169,206,.16);border-radius:12px 12px 12px 4px;padding:11px 14px;font-size:15px;line-height:1.5;margin-bottom:14px}
.wa-bubble strong{font-weight:700}
.wa-form-body label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px;text-transform:uppercase;letter-spacing:1px}
.wa-form-body label:first-of-type{margin-top:0}
.wa-form-body .req{color:#0b7fa0;margin-left:2px}
.wa-form-body .opt{text-transform:none;letter-spacing:0;font-weight:500;color:#5b6577}
.wa-form-body input{width:100%;padding:12px 13px;border:1.5px solid rgba(31,42,68,.18);border-radius:8px;font:16px var(--font);color:var(--navy);background:#fafafa;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.wa-form-body input:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(100,204,201,.25);background:#fff}
.wa-form-body input.field-warn{border-color:#d93c3c;background:#fff6f6}
.wa-suggest{border:0;background:none;padding:6px 0 0;font:500 13px var(--font);color:#0b7fa0;cursor:pointer;text-decoration:underline}
.wa-err{margin:10px 0 0;font-size:13px;color:#c62828;min-height:0}
.wa-err:empty{display:none}
.wa-send-btn{margin-top:16px;width:100%;padding:13px;background:linear-gradient(135deg,var(--navy),#0b7fa0);color:#fff;border:0;border-radius:10px;font:700 16px var(--font);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s,box-shadow .25s}
.wa-send-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(0,169,206,.5)}
.wa-legal{margin:10px 0 0;font-size:13px;line-height:1.45;color:#5b6577}
.wa-legal a{color:#0b7fa0}
@media(prefers-reduced-motion:reduce){.wa-pulse{animation:none;opacity:0}}

/* ════════════════ ADAPTACIÓN (no viene en el Figma) ════════════════ */

/* 1101–1279 (laptops chicas, ventanas no maximizadas): la composición de escritorio mide 1280 px y se
   recortaría; se escala entera con zoom por rangos (1280 × zoom ≤ el ancho mínimo de cada rango). Sin JS, sin CLS. */
@media (min-width:1101px) and (max-width:1150px){.wrap{zoom:.86}}
@media (min-width:1151px) and (max-width:1200px){.wrap{zoom:.9}}
@media (min-width:1201px) and (max-width:1240px){.wrap{zoom:.94}}
@media (min-width:1241px) and (max-width:1279px){.wrap{zoom:.97}}
@media (min-width:1101px) and (max-width:1279px){.nav{height:auto}}

/* tableta y celular */
@media (max-width:1100px){
  .nav{height:76px}
  .nav .wrap{padding:12px 20px}
  .nav-logo,.nav-logo img{width:191px;height:40px}
  .nav-toggle{display:block}
  .nav-menu{margin:0;position:fixed;left:0;right:0;top:76px;background:var(--navy);padding:8px 20px 24px;display:flex;flex-direction:column;gap:16px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s .2s;box-shadow:0 18px 30px -18px rgba(0,0,0,.6)}
  .nav-menu.open{transform:none;opacity:1;visibility:visible;transition:opacity .2s,transform .2s}
  .nav-links{flex-direction:column;align-items:flex-start;gap:0;margin:0}
  .nav-links li{width:100%;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav-links a{display:block;padding:14px 0;font-size:17px}
  .nav-cta{width:100%}
  section[id],main[id]{scroll-margin-top:76px}

  .hero .wrap,.thanks .wrap{height:auto;padding:96px 24px 56px;display:flex;flex-direction:column;gap:32px}
  .hero::before,.hero::after,.thanks::before,.thanks::after{display:none}
  .hero .pipe-big{display:none}
  .pipe-tl{left:-700px;top:-150px}
  .pains .deco-a{left:auto;right:0}
  .hero-copy,.hero-form,.thanks-copy{position:relative;left:auto;top:auto!important;width:100%!important}
  .hero h1,.hero--com h1{width:auto;font-size:clamp(46px,8.4vw,72px);line-height:1.05}
  .hero-sub,.hero--com .hero-sub{width:auto;font-size:18px;line-height:27px}
  .hero-form{max-width:520px}
  .hero--com .hero-bg{object-position:30% center}

  .clients .wrap,.clients--com .wrap{height:auto;padding:22px 20px;flex-wrap:wrap;justify-content:center;gap:18px 34px}
  .clients img{max-height:46px;width:auto}

  .testi .wrap,.feat .wrap,.about .wrap,.perks .wrap{height:auto}
  .testi .wrap{padding:48px 24px 56px;display:flex;flex-direction:column;align-items:center;gap:28px}
  .testi-quote,.testi-cards{position:static;width:100%;max-width:640px}
  .testi-cta{position:static}
  .testi-cta{order:2}
  .testi-cards{order:3}
  .card-t{padding:28px 24px;min-height:0}

  .feat .wrap{padding:96px 24px 56px;display:flex;flex-direction:column;align-items:center;gap:40px}
  .feat-cards{position:static;width:100%;flex-direction:column;align-items:center;gap:74px}
  .feat .deco-b{left:auto;right:0}
  .feat-card{width:100%;max-width:520px;min-height:0}
  .feat-cta{position:static}

  .pains .wrap{height:auto;padding:48px 24px 56px;display:flex;flex-direction:column;align-items:center;gap:32px}
  .pains h2{position:static;font-size:clamp(26px,4.6vw,40px);line-height:1.3;letter-spacing:.5px}
  .pains-cols{position:static;width:100%;max-width:640px;flex-direction:column;gap:28px}
  .pains-cols li{width:100%;font-size:20px;line-height:28px}
  .pains-cols li+li::before{left:20%;right:20%;top:-14px;height:0;border-left:0;border-top:1px solid rgba(194,194,194,.5)}
  .pains-cards{position:static;flex-direction:column;gap:20px;width:100%;max-width:640px}
  .pains .card-t,.pains .card-t+.card-t{width:100%;padding:28px 24px}
  .pains .card-t blockquote,.pains .card-t+.card-t blockquote{width:auto}
  .pains-cta{position:static}
  .sol .wrap{padding:56px 20px}
  .sol--ind .sol-grid,.sol--com .sol-grid{grid-template-columns:1fr;width:100%;max-width:560px;gap:36px}
  .sol-item+.sol-item::before{display:none}
  .sol--ind .sol-item,.sol--com .sol-item,.sol--ind .sol-item:nth-child(n),.sol--com .sol-item:first-child,.sol--com .sol-item:last-child{min-height:0;padding:0}
  .sol--ind .sol-item+.sol-item,.sol--com .sol-item+.sol-item{padding-top:36px!important;border-top:1px solid #dfdfdf}
  .sol-item img,.sol--com .sol-item img{width:100%;max-width:420px;height:auto;aspect-ratio:297/133}
  .sol--com .sol-item h3{min-height:0}
  .sol--com .sol-item p,.sol--com .sol-item:first-child p{font-size:15px;line-height:22px}

  .about .wrap{padding:56px 24px 0;display:flex;flex-direction:column;align-items:center}
  .about-copy,.about--com .about-copy{position:static;width:100%;max-width:720px}
  .about h2{font-size:clamp(38px,7vw,50px);line-height:1.06}
  .about-photo{position:relative;left:auto;top:auto;width:100%;max-width:1015px;height:auto;aspect-ratio:1015/400;margin-top:28px;object-position:top}

  .perks .wrap{padding:48px 24px 64px;display:grid;grid-template-columns:1fr 1fr;gap:64px 24px;justify-items:center}
  .perks h2,.perks--ind h2,.perks--com h2{position:static;grid-column:1/-1;width:auto;max-width:560px;font-size:clamp(32px,6vw,45px);line-height:1.02}
  .perk{position:relative;left:auto!important;top:auto!important;width:100%;max-width:340px;height:auto;min-height:184px;padding:36px 18px 24px}
  .perk .ico{left:auto!important;right:-30px;top:-56px!important}
  .perks .deco-p{opacity:.45}

  .faq .wrap,.faq--com .wrap{padding:48px 20px}
  .iso{width:100%;max-width:510px}
  .faq h2,.sol h2,.contact-copy h2{font-size:clamp(38px,7vw,50px);line-height:1.06;text-align:center}
  .faq-cols{width:100%;max-width:640px;flex-direction:column;gap:16px}
  .faq-col{width:100%;padding:0}

  .contact .wrap{padding:56px 20px;flex-direction:column}
  .contact-copy,.contact--com .contact-copy{width:100%;max-width:520px}
  .contact .lp-form{width:100%;max-width:520px}

  .foot .wrap{padding:56px 24px 40px;gap:36px}
  .foot-top{width:100%;flex-direction:column;align-items:flex-start;gap:32px}
  .foot-cols{width:100%;flex-wrap:wrap;gap:24px 48px}
  .foot-cols .c1,.foot-cols .c2,.foot-cols .c3{width:auto}
  .foot-copy{font-size:15px;line-height:24px}

  .thanks .wrap{min-height:480px;justify-content:center}
  .thanks h1{font-size:clamp(54px,12vw,92px);line-height:1.04}
  .thanks p{font-size:18px;line-height:27px}
}

@media (max-width:760px){
  .perks .wrap{grid-template-columns:1fr}
  .perk{max-width:420px}
  .iso{height:auto;min-height:75px;padding:10px 12px 18px 150px}
  .iso .seals{left:10px;width:120px;height:auto;top:50%;transform:translateY(-50%)}
  .iso p{position:static;width:auto;font-size:18px;line-height:22px}
  .iso .acc{left:150px;top:auto;bottom:6px}
  .card-t-head{flex-wrap:nowrap}
  .faq-item summary{padding:18px 20px;font-size:17px;gap:12px}
  .faq-item .a{padding:8px 20px 18px}
  .hero-copy .btn{width:auto}
  .lp-form .btn{width:100%}
  .thanks .btn{white-space:normal}
  .wa-btn{bottom:18px;right:16px}
  .wa-btn.has-review-bar{right:70px}
  .wa-form{position:fixed;left:16px;right:16px;bottom:92px;width:auto;transform-origin:bottom center}
}
/* celular: áreas táctiles cómodas (≥44 px) en el pie y en las páginas legales */
@media (max-width:760px){
  .foot-cols ul{gap:2px}
  .foot-cols li a,.foot-cols li span{display:inline-block;padding:7px 0}
  .foot-brand address a{display:inline-block;padding:10px 0}
  .foot-social{gap:6px}
  .foot-social a{width:44px;height:44px;justify-content:center}
  .legal .back{display:inline-block;padding:11px 0}
}
@media (max-width:420px){
  .clients img{max-height:36px}
}
