:root{
  --navy:#0a315e;
  --navy-2:#08284d;
  --mint:#56b79e;
  --mint-dark:#217a67;
  --mint-action:#217a67;
  --mint-action-hover:#155f50;
  --mint-soft:#edf8f5;
  --ink:#172536;
  --muted:#64717d;
  --line:#dbe5e9;
  --soft:#f7fafb;
  --white:#fff;
  --focus:#005fcc;
  --shadow:0 18px 45px rgba(10,49,94,.10);
  --shadow-sm:0 8px 22px rgba(10,49,94,.08);
  --radius:18px;
  --radius-sm:13px;
  --max:1280px;
  --font-scale:1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:calc(16px * var(--font-scale))}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:var(--navy);text-underline-offset:.18em}
a:hover{color:var(--mint-dark)}
button,input,textarea,select{font:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px #fff}
h1,h2,h3,h4{color:var(--navy);line-height:1.06;margin:0 0 .7rem}
h1{font-size:clamp(2.55rem,5.3vw,5rem);letter-spacing:-.045em}
h2{font-size:clamp(1.9rem,3.4vw,3.1rem);letter-spacing:-.03em}
h3{font-size:1.15rem}
p{margin:0 0 1rem}
.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;z-index:99999;padding:.8rem 1rem;background:var(--focus);color:#fff;font-weight:900}
.skip-link:focus{left:1rem;top:1rem}
.eyebrow{display:inline-block;margin-bottom:.55rem;color:var(--mint-dark);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.lead{max-width:760px;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.22rem)}
.section{padding:4.8rem 0}
.section--soft{background:var(--soft)}
.section--mint{background:linear-gradient(135deg,#f7fbfa 0%,#eaf7f3 100%)}
.section-heading{max-width:850px;margin-bottom:2rem}
.note{margin:.8rem 0 0;color:var(--muted);font-size:.9rem}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(219,229,233,.92);backdrop-filter:blur(14px)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:1.35rem}
.brand{flex:0 0 auto;display:flex;align-items:center;text-decoration:none;overflow:visible}
.brand img{display:block;width:194px;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:.08rem}
.site-nav a{padding:.72rem .78rem;border-radius:8px;text-decoration:none;color:#172536;font-size:.93rem;font-weight:720}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--navy);background:#f6faf9}
.site-nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--mint)}
.header-phone{display:flex;align-items:center;gap:.35rem;white-space:nowrap;text-decoration:none;font-weight:850;color:var(--navy);font-size:.93rem}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:8px;background:var(--mint-action);color:#fff!important;text-decoration:none;font-weight:850;white-space:nowrap;box-shadow:0 8px 18px rgba(86,183,158,.18)}
.nav-cta:hover{background:var(--mint-action-hover);color:#fff!important}
.nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);padding:.7rem .85rem;font-weight:850}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(100deg,#fff 0%,#fbfdfd 53%,#f3f9f7 100%);border-bottom:1px solid var(--line);isolation:isolate}
.hero::before{content:"";position:absolute;left:-10%;top:-18%;width:42vw;height:42vw;max-width:560px;max-height:560px;border-radius:50%;background:radial-gradient(circle,rgba(86,183,158,.15) 0%,rgba(86,183,158,0) 66%);filter:blur(6px);animation:heroAura 14s ease-in-out infinite alternate;z-index:-1}
.hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;min-height:470px;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:3.25rem 2.8rem 3.25rem 0}
.hero-copy h1{max-width:660px}
.hero-copy .lead{max-width:590px}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.82rem 1.22rem;border:2px solid transparent;border-radius:10px;text-decoration:none;font-weight:850;cursor:pointer}
.btn--primary{background:var(--mint-action);color:#fff;box-shadow:0 10px 24px rgba(86,183,158,.2)}
.btn--primary:hover{background:var(--mint-action-hover);color:#fff}
.btn--secondary{background:#fff;border-color:#b7c6cc;color:var(--navy)}
.btn--secondary:hover{background:#f7fafb;color:var(--navy)}
.hero-visual{position:relative;min-height:390px;background:#eef4f3;overflow:hidden}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);animation:heroFloat 11s ease-in-out infinite alternate}
.hero-visual::after{content:"";position:absolute;left:-10%;right:-5%;bottom:5%;height:120px;background:radial-gradient(ellipse at center,rgba(86,183,158,.26) 0%,rgba(86,183,158,.13) 20%,rgba(86,183,158,0) 67%);filter:blur(10px);opacity:.95;animation:sweepGlow 9s ease-in-out infinite}

/* Highlights */
.feature-strip{background:#fff;border-bottom:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.feature-card{display:grid;grid-template-columns:52px 1fr;gap:.85rem;align-items:center;padding:1.35rem 1.15rem;border-right:1px solid var(--line)}
.feature-card:first-child{border-left:1px solid var(--line)}
.icon-disc{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff}
.icon-disc.mint{background:var(--mint-action)}
.icon-disc svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.feature-card h3{margin-bottom:.15rem;font-size:1rem}
.feature-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.35}

/* Cards */
.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm)}
.card-media{aspect-ratio:16/10;background:#eef4f3;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:1rem 1rem 1.1rem}
.card-body h3{font-size:1.03rem;margin-bottom:.28rem}
.card-body p{color:var(--muted);font-size:.91rem;margin-bottom:.7rem}
.card-link{font-weight:850;text-decoration:none;font-size:.9rem}
.card-link::after{content:"  →"}
.pill{display:inline-flex;align-items:center;padding:.24rem .48rem;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}

/* Home sectors */
.home-sectors{margin-top:3.5rem}
.sector-mini-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}
.sector-mini{min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:.9rem;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center}
.sector-mini .icon-disc{width:45px;height:45px;background:var(--mint-soft);color:var(--mint-dark)}
.sector-mini strong{font-size:.88rem;color:var(--navy)}

/* Sector page */
.page-hero{padding:4.7rem 0 3.6rem;background:linear-gradient(135deg,#fbfdfd,#edf8f5);border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:2rem;align-items:center}
.page-hero-image{height:300px;border-radius:0 0 18px 18px;overflow:hidden;box-shadow:var(--shadow-sm)}
.page-hero-image img{width:100%;height:100%;object-fit:cover}
.breadcrumbs{margin-bottom:.7rem;color:var(--muted);font-size:.9rem}
.sector-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch}
.sector-card{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.sector-card-media{aspect-ratio:7/5;overflow:hidden;background:#eef4f3}
.sector-card-media img{width:100%;height:100%;object-fit:cover}
.sector-card-icon{position:relative;z-index:2;display:grid;place-items:center;width:58px;height:58px;margin:-29px auto -29px;border:1px solid #d7e4e5;border-radius:50%;background:#fff;color:var(--mint-dark);box-shadow:0 8px 18px rgba(10,49,94,.08)}
.sector-card-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sector-card-body{display:flex;flex-direction:column;flex:1;padding:2.7rem 1rem 1.15rem;text-align:center}
.sector-card-body h3{min-height:2.55em;margin-bottom:.45rem;font-size:1rem;display:flex;align-items:center;justify-content:center}
.sector-card-body p{margin:0;color:var(--muted);font-size:.88rem}

/* Projects */
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.project-card .card-media{aspect-ratio:2/1}
.project-card .card-body{min-height:185px}
.project-card .card-body h3{font-size:1.12rem}
.project-card .meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.55rem}
.project-card .meta span{padding:.2rem .42rem;border-radius:999px;background:#f0f6f5;color:var(--navy);font-size:.72rem;font-weight:800}
.real-note{padding:1rem 1.1rem;border-left:4px solid var(--mint);border-radius:0 10px 10px 0;background:#f4f9f8;color:var(--navy)}

/* Trust / compliance */
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.trust-box{padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.compliance-list{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.9rem}
.compliance-list span{display:inline-flex;align-items:center;gap:.35rem;color:var(--mint-dark);font-size:.88rem;font-weight:800}
.compliance-list span::before{content:"✓";font-weight:900}

/* Content / forms */
.content-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:2.5rem;align-items:start}
.info-card{padding:1.35rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.info-card+.info-card{margin-top:1rem}
.check-list{list-style:none;padding:0;margin:1rem 0 0}
.check-list li{position:relative;padding-left:1.7rem;margin:.65rem 0}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--mint-dark);font-weight:900}
.contact-band{padding:1.45rem;border:1px solid #d5ebe5;border-radius:16px;background:linear-gradient(135deg,#f8fcfb,#e9f6f2)}
.contact-band-grid{display:grid;grid-template-columns:.8fr 2fr;gap:1.4rem;align-items:center}
.contact-inline{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr auto;gap:.65rem}
.contact-inline input,.contact-inline textarea{width:100%;height:47px;padding:.72rem .78rem;border:1px solid #b7c7cc;border-radius:8px;background:#fff;color:var(--ink)}
.contact-inline textarea{resize:none}
.form-status{grid-column:1/-1;margin:.25rem 0 0;color:var(--navy);font-weight:700;font-size:.9rem}
.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field--full{grid-column:1/-1}
.field label{font-weight:800;color:var(--navy)}
.field input,.field textarea,.field select{width:100%;padding:.78rem .85rem;border:1px solid #aebfc5;border-radius:9px;background:#fff;color:var(--ink)}
.field textarea{min-height:150px;resize:vertical}
.contact-details{padding:1.2rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.contact-details a{text-decoration:none}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#fff;color:var(--ink)}
.footer-main{display:grid;grid-template-columns:1.25fr .7fr 1fr 1fr;gap:2rem;padding:2.2rem 0 1.4rem;align-items:start}
.footer-logo{width:180px;height:auto}
.site-footer h3{font-size:.92rem;margin-bottom:.55rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:.35rem 0;color:var(--muted);font-size:.88rem}
.site-footer a{color:var(--ink);text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}



/* Microinteracciones y movimiento */
.btn,.nav-cta,.card,.feature-card,.sector-mini,.sector-card,.project-item,.trust-box,.info-card,.contact-band,.page-hero-image,.page-hero-copy,.contact-details{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease,color .28s ease}
.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,49,94,.12)}
.card:hover,.feature-card:hover,.sector-mini:hover,.sector-card:hover,.project-item:hover,.trust-box:hover,.info-card:hover,.contact-band:hover,.page-hero-image:hover,.contact-details:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(10,49,94,.12)}
.card-media img,.page-hero-image img,.hero-visual img,.sector-card-media img{transition:transform .75s ease}
.card:hover .card-media img,.page-hero-image:hover img,.sector-card:hover .sector-card-media img{transform:scale(1.04)}
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
@keyframes heroFloat{0%{transform:scale(1.02) translateY(0px)}100%{transform:scale(1.05) translateY(-10px)}}
@keyframes sweepGlow{0%{transform:translateX(-8%) scaleX(.92);opacity:.45}50%{transform:translateX(2%) scaleX(1);opacity:.8}100%{transform:translateX(9%) scaleX(1.05);opacity:.5}}
@keyframes heroAura{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(2%,4%,0) scale(1.08)}}

/* Accessibility */
.accessibility-toggle{position:fixed;right:1rem;top:112px;z-index:1100;width:48px;height:48px;border:3px solid #fff;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 2px var(--navy),var(--shadow-sm);cursor:pointer;font-size:1.4rem}
.accessibility-panel{position:fixed;right:1rem;top:171px;z-index:1100;width:min(295px,calc(100vw - 2rem));padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.accessibility-panel[hidden]{display:none}
.accessibility-panel h2{font-size:1.12rem}
.accessibility-panel p{color:var(--muted);font-size:.9rem}
.a11y-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.a11y-actions button{min-height:44px;border:1px solid #afbec4;border-radius:9px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}
.a11y-actions button[aria-pressed="true"]{background:var(--navy);color:#fff}
.a11y-actions .wide{grid-column:1/-1}

body.high-contrast{--navy:#000;--navy-2:#000;--mint:#ffd700;--mint-dark:#000;--ink:#000;--muted:#111;--line:#000;--soft:#fff;--mint-soft:#fff;background:#fff;color:#000}
body.high-contrast a{text-decoration:underline}
body.high-contrast .card,body.high-contrast .feature-card,body.high-contrast .sector-mini,body.high-contrast .sector-card,body.high-contrast .trust-box,body.high-contrast .info-card,body.high-contrast .contact-details{box-shadow:none;border:2px solid #000}
body.high-contrast .btn--primary,body.high-contrast .nav-cta{background:#000;color:#fff!important;border-color:#000}
body.high-contrast .site-header{background:#fff;border-bottom:2px solid #000}
body.underline-links a{text-decoration:underline!important;text-decoration-thickness:2px!important}

@media(max-width:1120px){
  .header-phone{display:none}
  .nav-toggle{display:inline-flex}
  .site-nav{position:absolute;left:0;right:0;top:82px;display:none;flex-direction:column;align-items:stretch;padding:.85rem 1rem 1rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}
  .site-nav.is-open{display:flex}.site-nav a{text-align:center}.site-nav .nav-cta{margin-top:.3rem}
  .hero-grid{grid-template-columns:1fr}.hero-copy{padding:3rem 0 2rem}.hero-visual{min-height:360px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card:nth-child(2){border-right:0}.feature-card:nth-child(3){border-left:1px solid var(--line)}
  .cards-4,.sector-card-grid{grid-template-columns:repeat(2,1fr)}
  .sector-mini-grid{grid-template-columns:repeat(3,1fr)}
  .project-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero-grid,.content-grid,.trust-grid{grid-template-columns:1fr}
  .contact-band-grid{grid-template-columns:1fr}.contact-inline{grid-template-columns:1fr 1fr}.contact-inline textarea,.contact-inline .btn{grid-column:1/-1}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .header-inner>.nav-cta{display:none}
  .section{padding:3.6rem 0}.header-inner{min-height:72px}.brand img{width:158px;max-height:54px}.site-nav{top:72px}
  .accessibility-toggle{top:auto;bottom:1rem;right:1rem}.accessibility-panel{top:auto;bottom:4.8rem;right:1rem}
  .hero-copy{padding-top:2.3rem}.hero-visual{min-height:270px}.hero-actions{flex-direction:column}.btn{width:100%}
  .feature-grid,.cards-4,.cards-3,.project-grid,.sector-card-grid,.contact-form,.footer-main{grid-template-columns:1fr}
  .feature-card{border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;border-bottom:0}.feature-card:last-child{border-bottom:1px solid var(--line)}
  .sector-mini-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero{padding:3.4rem 0 2.7rem}.page-hero-image{height:230px}
  .sector-card-body h3{min-height:auto}
  .contact-inline{grid-template-columns:1fr}.contact-inline textarea,.contact-inline .btn{grid-column:auto}
  .field--full{grid-column:auto}.footer-main{gap:1.2rem}.footer-logo{width:160px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1!important;transform:none!important}}

.info-media{margin:-1.35rem -1.35rem 1rem;border-radius:14px 14px 0 0;overflow:hidden;background:#eef4f3}.info-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.trust-box .info-media{margin:-1.25rem -1.25rem 1rem}.source-note{font-size:.78rem;color:var(--muted)}


/* Map & legal */
.map-card{display:grid;grid-template-columns:1.35fr .75fr;gap:1rem;align-items:stretch;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}
.map-embed{min-height:380px;background:#edf4f2}.map-embed iframe{display:block;width:100%;height:100%;min-height:380px;border:0}
.map-info{padding:1.35rem;display:flex;flex-direction:column;justify-content:center}.map-info h3{font-size:1.4rem}.map-info p{color:var(--muted)}
.legal-content{display:grid;gap:1rem}.legal-box{padding:1.2rem 1.2rem 1.25rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.legal-box h2{font-size:1.35rem;margin-bottom:.55rem}.legal-box ul{margin:.2rem 0 0 1.1rem;padding:0}.legal-box li{margin:.35rem 0}
.footer-meta{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1rem 0 1.35rem;border-top:1px solid var(--line)}
.footer-meta-copy p{margin:0 0 .45rem;font-size:.9rem;color:var(--ink)}
.footer-meta-copy p:last-child{margin-bottom:0;color:var(--muted)}
.footer-funding{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}
.footer-funding img{display:block;max-width:min(100%,500px);width:500px;height:auto;border-radius:6px;background:#fff}
@media(max-width:1120px){.map-card{grid-template-columns:1fr}.footer-meta{flex-direction:column;align-items:flex-start}.footer-funding{justify-content:flex-start;width:100%}.footer-funding img{width:min(100%,500px)}}
@media(max-width:700px){.map-embed,.map-embed iframe{min-height:300px}.footer-meta-copy p{font-size:.86rem}}


/* Standardized signage / pictograms */
.standardized-callout{display:grid;grid-template-columns:1.2fr auto;gap:1rem;align-items:center;margin:2rem 0 0;padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#ffffff 0%,#eef8f4 100%);box-shadow:var(--shadow-sm)}
.standardized-callout h3{font-size:1.35rem;margin-bottom:.3rem}
.standardized-callout p{margin:0;color:var(--muted)}
.pictogram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.pictogram-card{padding:1.1rem 1rem 1.15rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.pictogram-card h3{font-size:1.02rem;margin:.85rem 0 .35rem}
.pictogram-card p{margin:0;color:var(--muted);font-size:.9rem}
.pictogram-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:var(--mint-soft);color:var(--navy)}
.pictogram-icon svg{width:44px;height:44px;stroke:currentColor;fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.pictogram-detail{margin-top:1.3rem;align-items:start}
@media(max-width:1120px){.pictogram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.standardized-callout{grid-template-columns:1fr}}
@media(max-width:700px){.pictogram-grid{grid-template-columns:1fr}.pictogram-icon{width:64px;height:64px}.standardized-callout{padding:1rem}}


/* Pictogram catalog */
.stack-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.catalog-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:-.5rem 0 1.25rem}.chip{display:inline-flex;align-items:center;min-height:36px;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:700;font-size:.88rem}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.catalog-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.catalog-preview{padding:1rem;background:linear-gradient(180deg,#f9fcfb 0%,#eef7f4 100%);border-bottom:1px solid var(--line)}
.sign-specimen{display:grid;gap:.5rem}.sign-topline{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--mint-dark)}
.sign-face{position:relative;display:grid;grid-template-rows:1fr auto;align-items:center;min-height:175px;padding:1rem;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f4f7f8 100%);box-shadow:inset 0 0 0 1px rgba(10,49,94,.08), 0 10px 24px rgba(10,49,94,.08)}
.sign-face svg{width:100%;height:92px;color:var(--navy);stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.braille-row{display:flex;gap:.4rem;justify-content:flex-start;align-items:center;padding-top:.3rem}.braille-row span{display:block;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 1px 3px rgba(10,49,94,.15)}
.catalog-body{padding:1rem 1rem 1.1rem}.catalog-body h3{font-size:1.05rem;margin:.1rem 0 .35rem}.catalog-body p{color:var(--muted);font-size:.91rem;min-height:3.9em}
.mini-specs{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:.8rem 0}.mini-specs li{padding:.24rem .5rem;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:.76rem;font-weight:800}
.catalog-hero-art{background:linear-gradient(135deg,#f8fbfb,#eef7f4);display:grid;place-items:center}.catalog-hero-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:min(92%,560px)}
.hero-sign{min-height:92px;padding:1rem;border-radius:18px;display:grid;place-items:center;text-align:center;font-weight:900;letter-spacing:-.02em;box-shadow:0 14px 26px rgba(10,49,94,.1)}
.hero-sign span{position:relative;padding-bottom:1rem}.hero-sign span::after{content:"••••••";position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:1rem;letter-spacing:.18em}.hero-sign--mint{background:linear-gradient(135deg,#eaf7f3,#dff3ed);color:var(--navy)}
.hero-sign--navy{background:linear-gradient(135deg,#0d3c71,#0a315e);color:#fff}.hero-sign--white{background:#fff;color:var(--navy);border:1px solid var(--line)}
@media(max-width:1120px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.catalog-grid{grid-template-columns:1fr}.stack-actions{flex-direction:column;align-items:stretch}.catalog-hero-panel{grid-template-columns:1fr 1fr;gap:.7rem;width:92%}.hero-sign{min-height:78px;font-size:.92rem}.sign-face{min-height:160px}.catalog-body p{min-height:auto}}


/* Footer corporativo V9 */
.site-footer--corporate{background:#f8fafb;border-top:1px solid var(--line)}
.footer-main--corporate{grid-template-columns:1.2fr .75fr .85fr 1.05fr;padding:2.5rem 0 2rem;gap:2rem}
.footer-brand-block .note{max-width:340px;margin:.7rem 0 .8rem}.footer-map-link{font-size:.86rem;font-weight:750;color:var(--navy)}
.footer-text-button{appearance:none;border:0;background:transparent;padding:0;color:var(--ink);font:inherit;font-size:.88rem;cursor:pointer;text-decoration:none}.footer-text-button:hover{text-decoration:underline;color:var(--mint-dark)}
.footer-group{border-left:1px solid var(--line);padding-left:1.35rem}.footer-group-links{margin-top:.65rem}
.footer-program{background:#fff;border-top:1px solid var(--line)}.footer-program-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:.8rem 0}.footer-program-inner>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted)}.footer-program img{display:block;width:min(620px,65vw);height:auto;max-height:70px;object-fit:contain;object-position:right center}
.footer-bottom-bar{background:var(--navy);color:#fff}.footer-bottom-bar>.container{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.84rem}.footer-bottom-bar a{color:#fff}.footer-bottom-links{display:flex;gap:.55rem;align-items:center}

/* Consentimiento de cookies */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:5000;max-width:1280px;margin-inline:auto;border:1px solid #bfd0d5;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 20px 65px rgba(10,49,94,.22);backdrop-filter:blur(16px)}.cookie-banner[hidden]{display:none}.cookie-banner-inner{display:grid;grid-template-columns:1fr auto;gap:1.25rem;align-items:center;padding:1.05rem 1.15rem}.cookie-banner strong{display:block;color:var(--navy);font-size:1.05rem}.cookie-banner p{margin:.22rem 0 .25rem;color:var(--muted);font-size:.9rem}.cookie-banner a{font-weight:750;font-size:.84rem}.cookie-banner-actions,.cookie-modal-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.cookie-btn{min-height:42px;padding:.6rem .8rem;border-radius:9px;border:1px solid transparent;font-weight:850;cursor:pointer}.cookie-btn--primary{background:var(--navy);color:#fff}.cookie-btn--outline{background:#fff;color:var(--navy);border-color:#9eb3bb}.cookie-btn--ghost{background:var(--mint-soft);color:var(--navy)}
.cookie-modal-backdrop{position:fixed;inset:0;z-index:5100;background:rgba(7,25,45,.46);backdrop-filter:blur(3px)}.cookie-modal-backdrop[hidden],.cookie-modal[hidden]{display:none}.cookie-modal{position:fixed;z-index:5200;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25)}.cookie-modal-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.cookie-modal h2{font-size:1.75rem}.cookie-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:1.55rem;cursor:pointer}.cookie-pref-list{display:grid;gap:.65rem;margin:1rem 0}.cookie-pref{position:relative;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#fff}.cookie-pref p{margin:.15rem 0 0;color:var(--muted);font-size:.86rem}.cookie-pref input{position:absolute;opacity:0;pointer-events:none}.cookie-always{color:var(--mint-dark);font-weight:850;font-size:.82rem}.switch{width:48px;height:26px;border-radius:999px;background:#c8d4d8;position:relative;cursor:pointer;transition:.2s}.switch::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}.cookie-pref input:checked+.switch{background:var(--mint-action)}.cookie-pref input:checked+.switch::after{transform:translateX(22px)}.cookie-policy-link{margin:.85rem 0 0;text-align:center;font-size:.86rem}
.cookie-table-wrap{overflow:auto}.cookie-table{width:100%;border-collapse:collapse;font-size:.9rem}.cookie-table th,.cookie-table td{padding:.75rem;border:1px solid var(--line);text-align:left;vertical-align:top}.cookie-table th{background:var(--mint-soft);color:var(--navy)}
.map-embed--consent{position:relative;display:grid;place-items:center}.map-placeholder{padding:2rem;max-width:520px;text-align:center}.map-placeholder-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto .8rem;border-radius:50%;background:var(--mint-soft);color:var(--navy);font-size:2rem}.map-placeholder h3{font-size:1.25rem}.map-placeholder p{color:var(--muted)}.map-embed--consent iframe:not([hidden]){display:block;width:100%;height:100%;min-height:380px;border:0}
@media(max-width:1120px){.footer-main--corporate{grid-template-columns:1fr 1fr}.footer-group{border-left:0;padding-left:0}.cookie-banner-inner{grid-template-columns:1fr}.cookie-banner-actions{justify-content:flex-start}}
@media(max-width:700px){.footer-main--corporate{grid-template-columns:1fr}.footer-program-inner{align-items:flex-start;flex-direction:column}.footer-program img{width:100%;max-width:620px;object-position:left center}.footer-bottom-bar>.container{flex-direction:column;align-items:flex-start;justify-content:center;padding:.8rem 0}.cookie-banner{left:.5rem;right:.5rem;bottom:.5rem}.cookie-banner-actions,.cookie-modal-actions{display:grid;grid-template-columns:1fr;width:100%}.cookie-btn{width:100%}.cookie-pref{grid-template-columns:1fr auto}.cookie-modal{padding:1rem}.map-placeholder{padding:1.35rem}}


/* Footer clean independent */
.site-footer--clean{background:#0a315e;color:#fff}.footer-main--clean{display:grid;grid-template-columns:1.35fr .8fr .8fr .9fr;gap:1.2rem;padding:2.1rem 0 1.2rem}.site-footer--clean h3{color:#fff;font-size:1rem;margin-bottom:.55rem}.site-footer--clean .note,.site-footer--clean .footer-links a,.site-footer--clean .footer-text-button{color:rgba(255,255,255,.86)}.site-footer--clean .footer-links a:hover,.site-footer--clean .footer-text-button:hover{color:#fff}.site-footer--clean .footer-logo{max-width:210px;margin-bottom:.75rem}.footer-brand-block .note{font-size:.93rem}.footer-bottom-bar{border-top:1px solid rgba(255,255,255,.14)}.footer-bottom-bar>.container{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 0;color:rgba(255,255,255,.9)}.footer-bottom-links{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.footer-bottom-links a{color:rgba(255,255,255,.9)}

/* Pictogram catalog V10 */
.catalog-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.showcase-card{padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}.showcase-card h3{padding:1rem 1rem .1rem;font-size:1rem}.showcase-card p{padding:0 1rem 1rem;color:var(--muted);font-size:.9rem}.showcase-surface{padding:1rem;min-height:220px;display:grid;place-items:center}.showcase-surface--light{background:linear-gradient(160deg,#fafcfd,#f2f6f8)}.showcase-surface--mint{background:linear-gradient(160deg,#eef9f5,#dbf2ea)}.showcase-surface--navy{background:linear-gradient(160deg,#0b3b70,#072a4f)}.showcase-surface--stone{background:linear-gradient(160deg,#f7f4ee,#ebe5db)}.plate-mockup{width:100%;max-width:210px;border-radius:18px;background:#fff;padding:.8rem 1rem;box-shadow:0 16px 34px rgba(10,49,94,.12);border:1px solid rgba(10,49,94,.08)}.plate-mockup--navy{background:#0a315e;color:#fff}.plate-mockup--icon .plate-icon,.plate-mockup--navy .plate-icon{font-size:2rem}.plate-head{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--mint-dark);margin-bottom:.55rem}.plate-mockup--navy .plate-head{color:#b5f0df}.plate-body{display:grid;gap:.3rem}.plate-title{font-size:1.1rem;font-weight:850;color:var(--navy)}.plate-sub{font-size:.8rem;font-weight:700;color:var(--muted)}.plate-mockup--navy .plate-title,.plate-mockup--navy .plate-sub{color:#fff}.plate-icon{display:grid;place-items:center;min-height:52px;font-size:2.1rem;color:var(--navy)}.plate-braille{display:flex;gap:.32rem;flex-wrap:wrap;margin-top:.55rem}.plate-braille span{display:block;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 1px 3px rgba(10,49,94,.18)}.plate-braille--white span{background:#fff}.catalog-family{display:grid;gap:1rem}.catalog-family-head{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.1rem}.catalog-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sign-emoji{font-size:2.2rem;line-height:1;text-align:center;color:var(--navy)}.card-link{font-weight:800}.catalog-preview .plate-title{font-size:1rem}.catalog-preview .plate-braille{justify-content:flex-start}
@media(max-width:1120px){.footer-main--clean{grid-template-columns:1fr 1fr}.catalog-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.footer-main--clean{grid-template-columns:1fr}.catalog-showcase,.catalog-grid--4,.catalog-grid--3{grid-template-columns:1fr}.footer-bottom-bar>.container{flex-direction:column;align-items:flex-start}}

/* Catalogo premium V11 */
.catalog-hero-premium{padding:4.2rem 0 3.6rem;background:linear-gradient(120deg,#fff 0%,#f8fbfa 58%,#eef8f5 100%);border-bottom:1px solid var(--line);overflow:hidden}
.catalog-hero-premium-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.catalog-hero-premium h1{max-width:780px;font-size:clamp(2.6rem,5.1vw,4.6rem);line-height:.98;letter-spacing:-.045em;color:var(--navy);margin:.45rem 0 1.2rem}
.catalog-hero-premium-art{position:relative;min-height:470px;display:grid;place-items:center}
.catalog-hero-premium-art::before{content:"";position:absolute;inset:8% 3% 4% 7%;border-radius:34px;background:linear-gradient(135deg,rgba(86,183,158,.18),rgba(10,49,94,.05));transform:rotate(-4deg)}
.catalog-hero-premium-art img{position:relative;z-index:1;width:min(78%,520px);border-radius:22px;box-shadow:0 30px 70px rgba(10,49,94,.18);transform:rotate(4deg)}
.catalog-hero-floating{position:absolute;z-index:2;right:4%;bottom:12%;display:grid;gap:.15rem;padding:.75rem 1rem;border-radius:13px;background:#fff;box-shadow:0 16px 36px rgba(10,49,94,.15);color:var(--navy)}
.catalog-hero-floating strong{font-size:.92rem}.catalog-hero-floating span{font-size:.78rem;color:var(--muted)}
.catalog-tabs{position:sticky;top:82px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.catalog-tabs-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.catalog-tabs a{display:flex;justify-content:center;align-items:center;min-height:56px;padding:.8rem;text-align:center;text-decoration:none;color:var(--navy);font-weight:850;border-right:1px solid var(--line)}
.catalog-tabs a:last-child{border-right:0}.catalog-tabs a:hover{background:var(--mint-soft);color:var(--mint-dark)}
.premium-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:1.6rem;align-items:start}
.premium-product-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(10,49,94,.07);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.premium-product-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(10,49,94,.13);border-color:#c9ddd8}
.premium-product-media{position:relative;aspect-ratio:1/.88;background:linear-gradient(180deg,#fbfcfb,#f1f7f5);overflow:hidden}
.product-image-button{display:block;width:100%;height:100%;border:0;background:transparent;padding:0;cursor:zoom-in}
.product-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.premium-product-card:hover .product-image-button img{transform:scale(1.025)}
.media-badge{position:absolute;left:.85rem;top:.85rem;padding:.32rem .58rem;border-radius:999px;background:rgba(10,49,94,.92);color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.02em}
.product-inset{position:absolute;left:.8rem;bottom:.8rem;width:31%;aspect-ratio:1/1.08;padding:0;border:4px solid #fff;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 10px 24px rgba(10,49,94,.18);cursor:zoom-in}
.product-inset img{width:100%;height:100%;object-fit:cover}.product-inset span{position:absolute;left:0;right:0;bottom:0;padding:.2rem;background:rgba(10,49,94,.82);color:#fff;font-size:.66rem;font-weight:800;text-align:center}
.premium-product-body{padding:1.15rem 1.15rem 1.25rem}.premium-product-body h3{font-size:1.2rem;line-height:1.15;margin:.15rem 0 .45rem}.premium-product-body>p{color:var(--muted);min-height:3.5em}
.product-spec-line{margin:.8rem 0 .55rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.84rem;font-weight:850;color:var(--navy)}
.product-material-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.product-material-tags span{padding:.25rem .48rem;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:.71rem;font-weight:800}
.product-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:.55rem}.btn--compact{min-height:42px;padding:.62rem .72rem;font-size:.83rem;width:auto}
.materials-premium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.4rem}
.material-premium-card{position:relative;padding:1.35rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(10,49,94,.06);overflow:hidden}
.material-premium-card::after{content:"";position:absolute;right:-22px;top:-22px;width:80px;height:80px;border-radius:50%;background:var(--mint-soft)}
.material-code{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-size:.78rem;font-weight:900}.material-premium-card h3{font-size:1.12rem;margin:.8rem 0 .4rem}.material-premium-card p{color:var(--muted);font-size:.91rem}.material-premium-card ul{margin:.8rem 0 0;padding-left:1.05rem;color:var(--ink);font-size:.84rem}.material-premium-card li{margin:.28rem 0}
.catalog-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.35rem}.catalog-family-grid article{padding:1.2rem;border:1px solid var(--line);border-radius:15px;background:#fff}.catalog-family-grid h3{font-size:1.08rem;margin-bottom:.4rem}.catalog-family-grid p{color:var(--muted);font-size:.9rem;min-height:3.6em}.catalog-family-grid a{font-weight:850;text-decoration:none;color:var(--navy)}.catalog-family-grid a:hover{text-decoration:underline}
.product-modal-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(3,17,31,.58);backdrop-filter:blur(4px)}
.product-modal{position:fixed;z-index:1100;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1040px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;border-radius:18px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.3)}
.product-modal-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.product-modal-head h2{font-size:1.65rem}.product-modal-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:1.6rem;cursor:pointer}
.product-view-switch{display:inline-flex;margin:1rem 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.product-view-switch button{min-height:42px;padding:.55rem .9rem;border:0;border-right:1px solid var(--line);background:#fff;color:var(--navy);font-weight:850;cursor:pointer}.product-view-switch button:last-child{border-right:0}.product-view-switch button[aria-pressed="true"]{background:var(--navy);color:#fff}
.product-modal-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.3rem;align-items:start}.product-modal-image{min-height:540px;border-radius:14px;overflow:hidden;background:#f6f8f8}.product-modal-image img{display:block;width:100%;height:100%;max-height:650px;object-fit:contain}.product-detail-copy{padding:.2rem .2rem 0}.product-detail-copy>p{font-size:1.02rem;color:var(--muted)}.product-detail-copy h4{font-size:1rem;margin:1rem 0 .45rem}.product-detail-copy ul{padding-left:1.15rem;margin:.2rem 0}.product-detail-copy li{margin:.42rem 0;font-size:.91rem;color:var(--ink)}
.product-modal-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}body.product-modal-open{overflow:hidden}
@media(max-width:1120px){.catalog-hero-premium-grid{grid-template-columns:1fr}.catalog-hero-premium-art{min-height:390px}.catalog-tabs{top:82px}.premium-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.materials-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-modal-grid{grid-template-columns:1fr}.product-modal-image{min-height:360px}}
@media(max-width:700px){.catalog-hero-premium{padding:2.7rem 0 2.3rem}.catalog-hero-premium-art{min-height:300px}.catalog-hero-premium-art img{width:86%}.catalog-tabs{position:static}.catalog-tabs-grid{grid-template-columns:1fr}.catalog-tabs a{border-right:0;border-bottom:1px solid var(--line)}.premium-product-grid,.materials-premium-grid,.catalog-family-grid{grid-template-columns:1fr}.premium-product-body>p,.catalog-family-grid p{min-height:auto}.product-actions{grid-template-columns:1fr}.btn--compact{width:100%}.product-modal{padding:.85rem}.product-modal-image{min-height:260px}.product-modal-actions{flex-direction:column}.product-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}.product-view-switch button{padding:.45rem}.catalog-hero-floating{right:1%;bottom:7%}}


/* Home sectors enhancement */
.home-sectors-head{display:grid;grid-template-columns:.95fr 1.05fr;gap:1.2rem;align-items:center;margin-bottom:1.2rem}
.home-sectors-copy .lead{max-width:58ch;margin-top:.35rem}
.home-sectors-visual{display:flex;justify-content:flex-end}
.home-sectors-visual img{display:block;width:min(100%,560px);border-radius:22px;box-shadow:var(--shadow-sm);border:1px solid var(--line);background:linear-gradient(135deg,#fbfdfd,#edf8f5)}
@media(max-width:980px){.home-sectors-head{grid-template-columns:1fr}.home-sectors-visual{justify-content:flex-start}}


/* V13 — Botones de sectores inspirados en el catálogo */
.sector-sign-grid{
  gap:1rem;
}
.sector-sign-grid .sector-mini{
  position:relative;
  min-height:160px;
  padding:1rem .8rem .9rem;
  border:1px solid rgba(10,49,94,.08);
  border-radius:18px;
  background:linear-gradient(160deg,#0c3a6d 0%,#082d55 100%);
  box-shadow:0 14px 30px rgba(10,49,94,.12);
  color:#fff;
  overflow:hidden;
  text-decoration:none;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.sector-sign-grid .sector-mini::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  pointer-events:none;
}
.sector-sign-grid .sector-mini:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 38px rgba(10,49,94,.18);
  border-color:rgba(105,200,183,.75);
}
.sector-sign-grid .sector-mini:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:4px;
  box-shadow:0 0 0 2px #fff;
}
.sector-sign-grid .sector-sign-kicker{
  display:block;
  margin-bottom:.55rem;
  color:#9ee2d3;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.sector-sign-grid .sector-mini .icon-disc{
  width:58px;
  height:58px;
  margin:0 auto .65rem;
  background:transparent;
  color:#fff;
  border:0;
}
.sector-sign-grid .sector-mini .icon-disc svg{
  width:38px;
  height:38px;
  stroke-width:1.8;
}
.sector-sign-grid .sector-mini strong{
  min-height:2.4em;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:.9rem;
  line-height:1.2;
  text-decoration:none;
}
.sector-sign-grid .sector-braille{
  display:flex;
  justify-content:center;
  gap:.27rem;
  margin-top:.65rem;
  min-height:8px;
}
.sector-sign-grid .sector-braille i{
  display:block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#69c8b7;
  box-shadow:0 1px 2px rgba(0,0,0,.22);
}
.sector-sign-grid .sector-braille i:nth-child(2),
.sector-sign-grid .sector-braille i:nth-child(5),
.sector-sign-grid .sector-braille i:nth-child(8){
  transform:translateY(5px);
}
@media(max-width:1120px){
  .sector-sign-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .sector-sign-grid{grid-template-columns:repeat(2,1fr)}
  .sector-sign-grid .sector-mini{min-height:150px}
}


/* V14 — Catálogo alineado con la maqueta premium */
.section-heading--left{text-align:left;align-items:flex-start}
.catalog-hero-premium--singleart{background:linear-gradient(120deg,#ffffff 0%,#fbfcfc 46%,#eef5f3 100%)}
.catalog-hero-premium--singleart .catalog-hero-premium-grid{grid-template-columns:.96fr 1.04fr;gap:2.4rem}
.catalog-hero-premium-art--clean{min-height:440px}
.catalog-hero-premium-art--clean::before{display:none}
.catalog-hero-premium-art--clean img{width:min(100%,760px);max-width:760px;border-radius:28px;box-shadow:0 28px 72px rgba(10,49,94,.16);transform:none}
.catalog-tabs-grid--premium a{min-height:62px;font-size:1rem}
.catalog-tabs-grid--premium .is-active{background:linear-gradient(135deg,var(--navy),#123f76);color:#fff}
.catalog-tabs-grid--premium a:hover{background:var(--mint-action);color:#fff}
.premium-product-card--wide{grid-column:2/span 1}
.catalog-family-grid--premium article{box-shadow:0 10px 28px rgba(10,49,94,.06)}
@media(max-width:1120px){.catalog-hero-premium--singleart .catalog-hero-premium-grid{grid-template-columns:1fr}.premium-product-card--wide{grid-column:auto}}
@media(max-width:700px){.catalog-tabs-grid--premium a{min-height:54px}}


/* V15 — Afinado del catálogo */
.catalog-tabs-grid--5{grid-template-columns:repeat(5,1fr)}
.catalog-mini-points{display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-top:1.2rem;padding:0;list-style:none}
.catalog-mini-points li{position:relative;padding-left:1.1rem;color:var(--muted);font-weight:700}
.catalog-mini-points li::before{content:"";position:absolute;left:0;top:.48rem;width:7px;height:7px;border-radius:50%;background:var(--mint)}
.family-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:1.6rem}
.family-card{padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(10,49,94,.06);display:flex;flex-direction:column;gap:.95rem}
.family-card-head{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:flex-start}
.family-num{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:900}
.family-card h3{font-size:1.08rem;line-height:1.2;margin:.15rem 0 0}
.family-preview{padding:1rem;border-radius:16px;min-height:180px;display:grid;place-items:center;overflow:hidden}
.family-preview--navy{background:linear-gradient(160deg,#0c3b70,#092d55)}
.family-preview--white{background:linear-gradient(160deg,#f8fbfb,#f1f5f6)}
.family-preview--mint{background:linear-gradient(160deg,#effaf6,#ddf4eb)}
.family-preview--stone{background:linear-gradient(160deg,#f8f6f1,#efe8dc)}
.family-preview-plate{width:min(100%,240px);padding:1rem 1.1rem;border-radius:18px;background:#0a315e;color:#fff;box-shadow:0 16px 34px rgba(10,49,94,.16);display:grid;gap:.3rem;text-align:center}
.family-preview-plate strong{font-size:1.18rem}
.family-preview-plate small{font-size:.76rem;opacity:.86}
.family-preview-plate--white,.family-preview-plate--street{background:#fff;color:#111;border:1px solid rgba(10,49,94,.08)}
.family-preview-icon{font-size:1.4rem;font-weight:900;letter-spacing:.04em}
.family-braille{display:block;font-size:.82rem;letter-spacing:.22rem;color:#bdebdc;margin-top:.15rem}
.family-braille--dark{color:#0a315e}
.family-preview-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%}
.mini-plate{border-radius:16px;padding:1rem .4rem;box-shadow:0 10px 22px rgba(10,49,94,.10);display:grid;gap:.25rem;place-items:center;text-align:center}
.mini-plate strong{font-size:1.35rem}
.mini-plate span{font-size:.72rem;font-weight:700;opacity:.88}
.mini-plate--white{background:#fff;color:#111;border:1px solid rgba(10,49,94,.08)}
.mini-plate--navy{background:#0a315e;color:#fff}
.mini-plate--mint{background:#dff3ec;color:#0a315e}
.elevator-dots{display:grid;grid-template-columns:repeat(5,48px);gap:.55rem}
.elevator-dots span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:#0a315e;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.family-preview-note{margin:1rem 0 0;color:#fff;font-size:.84rem;text-align:center;max-width:23ch}
.catalog-chip-list{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0;list-style:none}
.catalog-chip-list li{padding:.35rem .62rem;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:.77rem;font-weight:800}
.family-link{margin-top:auto;font-weight:850;color:var(--navy);text-decoration:none}.family-link:hover{text-decoration:underline}
.finish-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.finish-card{padding:1.1rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(10,49,94,.06)}
.finish-preview{min-height:180px;padding:1rem;border-radius:16px;display:grid;place-items:center;margin-bottom:.9rem}
.finish-preview--navy{background:linear-gradient(160deg,#0c3a6d,#082d55)}
.finish-preview--white{background:linear-gradient(160deg,#fcfdfd,#f2f5f5)}
.finish-preview--sand{background:linear-gradient(160deg,#f6f0e7,#eadfce)}
.finish-preview--graphite{background:linear-gradient(160deg,#4b5665,#303845)}
.finish-preview--mint{background:linear-gradient(160deg,#eef9f5,#d8f0e7)}
.finish-sign{width:min(100%,220px);padding:1rem;border-radius:18px;background:#0a315e;color:#fff;display:grid;gap:.32rem;text-align:center;box-shadow:0 14px 30px rgba(10,49,94,.16)}
.finish-sign strong{font-size:1.1rem}
.finish-sign small{font-size:.76rem;opacity:.86}
.finish-sign span{font-size:.82rem;letter-spacing:.22rem;color:#c8f2e5}
.finish-sign--dark{background:#fff;color:#111;border:1px solid rgba(10,49,94,.09)}
.finish-sign--dark span{color:#0a315e}
.finish-card h3{font-size:1.02rem;margin:.2rem 0 .35rem}.finish-card p{color:var(--muted);font-size:.9rem}
.finish-showcase{margin:1.25rem 0 1.5rem;border:1px solid var(--line);border-radius:24px;background:#fff;padding:1rem;box-shadow:0 14px 40px rgba(10,49,94,.08)}
.finish-showcase img{display:block;width:100%;height:auto;border-radius:18px}
.finish-showcase figcaption{margin-top:.85rem;color:var(--muted);font-size:.95rem;line-height:1.55}
@media(max-width:1240px){.finish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.family-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tabs-grid--5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.family-category-grid,.finish-grid{grid-template-columns:1fr}.catalog-tabs-grid--5{grid-template-columns:1fr}.family-preview-stack{grid-template-columns:1fr}.elevator-dots{grid-template-columns:repeat(5,1fr);width:100%}.elevator-dots span{width:auto}}


/* V16 — Ajustes home y catálogo */
.feature-grid{gap:1rem}
.feature-card--rich{grid-template-columns:74px 1fr;align-items:flex-start;padding:1.25rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(10,49,94,.05)}
.feature-card--rich:first-child{border-left:1px solid var(--line)}
.feature-card .icon-disc{width:62px;height:62px;box-shadow:0 12px 26px rgba(10,49,94,.16)}
.feature-card .icon-disc svg{width:30px;height:30px}
.feature-card-copy{display:grid;gap:.45rem}
.feature-card h3{margin:.1rem 0;font-size:1.06rem;line-height:1.2}
.feature-card p{font-size:.92rem;line-height:1.48}
.feature-link{font-weight:850;color:var(--navy);text-decoration:none;font-size:.92rem}
.feature-link:hover{text-decoration:underline}
@media(max-width:1120px){.feature-card--rich{grid-template-columns:68px 1fr}}
@media(max-width:700px){.feature-card--rich{grid-template-columns:1fr;text-align:left}.feature-card--rich .icon-disc{margin-bottom:.35rem}}

.standardized-callout{grid-template-columns:1.15fr .8fr auto;gap:1.1rem;align-items:center}
.standardized-copy{display:grid;gap:.75rem}
.standardized-callout h3{margin:0;font-size:1.45rem}
.standardized-callout p{line-height:1.55}
.standardized-media{display:flex;justify-content:center}
.standardized-media img{width:min(100%,270px);border-radius:18px;box-shadow:0 18px 42px rgba(10,49,94,.15)}
.standardized-actions{display:grid;gap:.7rem;justify-items:start}
.callout-points{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}
.callout-points li{padding:.42rem .68rem;border-radius:999px;background:var(--mint-soft);color:var(--mint-dark);font-size:.78rem;font-weight:800}
@media(max-width:1120px){.standardized-callout{grid-template-columns:1fr 1fr}.standardized-actions{grid-column:1/-1;grid-template-columns:repeat(2,max-content);gap:.8rem}}
@media(max-width:700px){.standardized-callout{grid-template-columns:1fr}.standardized-actions{grid-template-columns:1fr}.standardized-actions .btn{width:100%}}

.family-category-grid .family-card:nth-child(5) .mini-plate{min-height:112px}
.family-category-grid .family-card:nth-child(5) .catalog-chip-list li{background:#f1f5f5;color:#31506f}

@media(max-width:1120px){.feature-card:nth-child(2),.feature-card:nth-child(3){border-right:1px solid var(--line);border-left:1px solid var(--line)}}
@media(max-width:700px){.feature-card{border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}}


/* V17 — refinado visual home, catálogo y normativa */
.hero-points{display:flex;flex-wrap:wrap;gap:.65rem .8rem;list-style:none;padding:0;margin:1rem 0 0}.hero-points li{padding:.5rem .82rem;border-radius:999px;background:#eef8f5;color:var(--mint-dark);font-size:.82rem;font-weight:800;border:1px solid #d6ebe3}
.trust-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1120px){.trust-grid--3{grid-template-columns:1fr}}
.legal-box--accent{background:linear-gradient(135deg,#ffffff 0%,#f0faf7 100%);border-color:#cfe6df}

.catalog-tabs-grid--6{grid-template-columns:repeat(6,1fr)}
@media(max-width:1120px){.catalog-tabs-grid--6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.catalog-tabs-grid--6{grid-template-columns:1fr}}

.premium-product-card{position:relative}
.premium-product-card::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;background:linear-gradient(180deg,rgba(86,183,158,.25),rgba(10,49,94,0));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.premium-product-media{background:linear-gradient(180deg,#f7fbfb 0%,#eef4f5 100%)}
.premium-product-body h3{font-size:1.28rem}
.product-spec-line{font-size:.86rem;color:#4f6274}
.media-badge{box-shadow:0 8px 22px rgba(10,49,94,.12)}
.product-inset{box-shadow:0 18px 32px rgba(10,49,94,.15)}

.family-card{position:relative;overflow:hidden}
.family-card:hover{border-color:#c8ddd6}
.family-card--budget{background:linear-gradient(180deg,#fff 0%,#f8fcfb 100%);border-color:#cfe6df;box-shadow:0 18px 40px rgba(24,81,93,.10)}
.family-card-ribbon{position:absolute;top:1rem;right:-2.3rem;transform:rotate(35deg);background:var(--mint-action);color:#fff;padding:.34rem 2.6rem;font-size:.72rem;font-weight:900;letter-spacing:.04em;box-shadow:0 8px 18px rgba(30,115,105,.18)}
.budget-family-copy{margin:.1rem 0;color:var(--muted);font-size:.9rem;line-height:1.5}
.budget-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.budget-card{padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(10,49,94,.06);display:grid;align-content:start;gap:.8rem}
.budget-card--intro{background:linear-gradient(145deg,#0b396b 0%,#0a315e 60%,#1d8e80 130%);color:#fff;border-color:#0a315e}
.budget-card--intro h3,.budget-card--intro p,.budget-card--intro li{color:#fff}
.budget-card--intro ul{margin:0;padding-left:1rem;display:grid;gap:.35rem}
.budget-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 .8rem;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;width:max-content}
.budget-sample{min-height:170px;border-radius:16px;background:linear-gradient(160deg,#f8fbfb,#eef3f4);display:grid;place-items:center}
.budget-sign{width:min(100%,220px);padding:1rem;border-radius:18px;display:grid;gap:.28rem;text-align:center;box-shadow:0 12px 28px rgba(10,49,94,.10)}
.budget-sign strong{font-size:1.45rem}.budget-sign small{font-size:.76rem;color:#445467}.budget-sign span{font-size:.8rem;letter-spacing:.2rem;color:#0a315e}.budget-sign--white{background:#fff;color:#111;border:1px solid rgba(10,49,94,.09)}
.budget-card h3{margin:0;font-size:1.08rem}.budget-card p{margin:0;color:var(--muted)}
@media(max-width:1240px){.budget-grid{grid-template-columns:1fr 1fr}.budget-card--intro{grid-column:1/-1}}
@media(max-width:700px){.budget-grid{grid-template-columns:1fr}}

.feature-card .icon-disc svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feature-card:nth-child(2) .icon-disc svg{stroke-width:1.7}
.feature-card:nth-child(4) .icon-disc svg{stroke-width:1.6}

.stack-actions{display:flex;flex-wrap:wrap;gap:.8rem}
@media(max-width:700px){.stack-actions{display:grid}.stack-actions .btn{width:100%}}


/* V18 — home premium, catálogo comercial, clientes y footer */
.hero--premium{padding:2.6rem 0 2.1rem;background:radial-gradient(circle at top right,rgba(86,183,158,.12),transparent 33%),linear-gradient(180deg,#f8fcfd 0%,#ffffff 58%)}
.hero--premium .hero-grid{align-items:center;gap:2rem}
.hero--premium h1{font-size:clamp(2.45rem,4.6vw,4.25rem);line-height:1.02;letter-spacing:-.04em;max-width:11ch;margin-bottom:1rem}
.hero--premium .lead{font-size:1.1rem;max-width:62ch;color:#44596c}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.2rem}
.hero-proof>div{padding:1rem 1rem;border:1px solid rgba(10,49,94,.08);border-radius:18px;background:#fff;box-shadow:0 12px 26px rgba(10,49,94,.05)}
.hero-proof strong{display:block;font-size:.88rem;color:var(--navy);margin-bottom:.28rem}.hero-proof span{display:block;color:#5d6f81;font-size:.85rem;line-height:1.45}
.hero--premium .hero-visual{position:relative}
.hero--premium .hero-visual img{border-radius:28px;box-shadow:0 26px 70px rgba(10,49,94,.18);border:1px solid rgba(10,49,94,.05)}
.hero-floating-card{position:absolute;right:-18px;bottom:22px;width:min(290px,82%);padding:1.1rem 1.15rem;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid rgba(10,49,94,.08);box-shadow:0 24px 60px rgba(10,49,94,.16);backdrop-filter:blur(8px)}
.hero-floating-card strong{display:block;font-size:1.04rem;margin:.2rem 0 .4rem;color:var(--navy)}
.hero-floating-card p{margin:0;color:#53677a;font-size:.92rem;line-height:1.55}
@media(max-width:980px){.hero-proof{grid-template-columns:1fr}.hero-floating-card{position:static;width:100%;margin-top:1rem}}

.section-heading h2{letter-spacing:-.03em}
.section-heading .lead{max-width:70ch}
.feature-card--rich{border-radius:20px;box-shadow:0 14px 34px rgba(10,49,94,.06)}
.feature-card--rich:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(10,49,94,.09)}
.feature-card-copy h3{letter-spacing:-.02em}
.icon-disc--universal svg,.icon-disc--install svg{width:34px;height:34px}
.universal-access-icon .ua-stroke{fill:none;stroke:#06101d;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.universal-access-icon .ua-fill{fill:#55c1e8;stroke:#06101d;stroke-width:2.6}
.install-icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.install-icon circle{fill:currentColor;stroke:none}

.standardized-callout--premium{position:relative;overflow:hidden;border:1px solid rgba(10,49,94,.07);box-shadow:0 18px 48px rgba(10,49,94,.08)}
.standardized-callout--premium::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(86,183,158,.06),transparent 40%);pointer-events:none}
.catalog-proof-strip{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.catalog-proof-strip span{display:inline-flex;min-height:34px;align-items:center;padding:0 .85rem;border-radius:999px;background:#eef7f5;color:var(--mint-dark);font-size:.77rem;font-weight:850;border:1px solid #d6ebe3}

.catalog-proof-band{padding:.5rem 0 0;background:#fff}
.catalog-proof-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
.catalog-proof-band-grid article{padding:1rem 1rem 1.05rem;border:1px solid rgba(10,49,94,.07);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);box-shadow:0 10px 26px rgba(10,49,94,.05)}
.catalog-proof-band-grid strong{display:block;font-size:.92rem;color:var(--navy);margin-bottom:.25rem}.catalog-proof-band-grid span{display:block;color:#5a6c7f;font-size:.86rem;line-height:1.5}
@media(max-width:1100px){.catalog-proof-band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catalog-proof-band-grid{grid-template-columns:1fr}}

.client-wall{margin-top:2rem;padding:1.35rem;border-radius:24px;border:1px solid rgba(10,49,94,.08);background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);box-shadow:0 16px 44px rgba(10,49,94,.07)}
.client-wall-head h3,.client-wall-head h2{margin:.2rem 0 .45rem;letter-spacing:-.03em}.client-wall-head p{max-width:72ch;color:#56697c}
.client-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-top:1.15rem}
.client-logo{min-height:76px;padding:1rem 1.15rem;border-radius:18px;border:1px solid rgba(10,49,94,.09);display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;color:#15314f;font-weight:850;font-size:1rem;letter-spacing:-.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px rgba(10,49,94,.05)}
.client-logo:hover{transform:translateY(-1px)}
@media(max-width:1100px){.client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-logo{min-height:68px;font-size:.94rem}}
@media(max-width:520px){.client-logo-grid{grid-template-columns:1fr}}

.footer-main--enhanced{padding-bottom:1.6rem}
.footer-logo-shell{display:inline-flex;padding:.75rem .95rem;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 2px rgba(255,255,255,.06)}
.site-footer--clean .footer-logo{filter:drop-shadow(0 0 2px rgba(255,255,255,.92)) drop-shadow(0 0 8px rgba(255,255,255,.22));margin-bottom:0}
.footer-social{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.9rem}.social-link{display:inline-flex;gap:.5rem;align-items:center;min-height:38px;padding:0 .82rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff !important;font-size:.85rem;font-weight:800}.social-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.social-link:hover{background:rgba(255,255,255,.11)}
.footer-bottom--enhanced{display:grid;grid-template-columns:1.25fr 1fr;gap:1.2rem;padding:1rem 0 1.65rem;border-top:1px solid rgba(255,255,255,.14);align-items:center}
.footer-funding img{display:block;width:100%;max-width:480px;background:#fff;border-radius:8px;padding:.15rem}.footer-copy{justify-self:end}.footer-copy p{margin:.2rem 0;color:rgba(255,255,255,.88);font-size:.86rem;text-align:right}
@media(max-width:980px){.footer-bottom--enhanced{grid-template-columns:1fr}.footer-copy{justify-self:start}.footer-copy p{text-align:left}}

/* typography and general polish */
.card,.trust-box,.budget-card,.family-card,.premium-product-card{border-radius:20px}
.page-hero h1,.catalog-hero-premium h1{letter-spacing:-.035em}
.lead{line-height:1.65}
@media(max-width:700px){.section{padding:3.5rem 0}.hero--premium h1{font-size:2.45rem}}


/* V19 — ajustes finos footer, hero, catálogo y logos */
.site-footer--clean .note a,
.site-footer--clean .footer-contact-note a{color:#fff !important;font-weight:800;text-decoration:none}
.site-footer--clean .note a:hover,
.site-footer--clean .footer-contact-note a:hover{text-decoration:underline;color:#d9fff4 !important}
.footer-bottom--enhanced{grid-template-columns:minmax(360px,1.15fr) minmax(320px,.9fr);gap:1.4rem;align-items:center}
.footer-funding{display:flex;align-items:center;justify-content:flex-start}
.footer-funding-box{display:flex;align-items:center;justify-content:center;min-height:86px;padding:.5rem .65rem;background:#fff;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.12);width:100%;max-width:520px}
.footer-funding img{max-width:100%;width:auto;max-height:56px;padding:0;background:transparent;border-radius:0;margin-inline:auto}
.footer-copy{display:flex;flex-direction:column;justify-content:center;align-self:center}
.footer-copy p{margin:.15rem 0;max-width:46ch}
@media(max-width:980px){.footer-funding-box{max-width:100%}.footer-funding img{max-height:52px}}

.hero--premium .hero-grid{gap:2.4rem}
.hero--premium h1{max-width:12ch}
.hero--premium .hero-visual img{border-radius:30px;box-shadow:0 24px 62px rgba(10,49,94,.16);object-position:center}
.hero-floating-card{display:none !important}
.hero-actions{display:flex;flex-wrap:nowrap;gap:1rem;margin-top:1.35rem}
.hero-actions .btn{min-height:54px;padding:0 1.55rem;border-radius:14px;font-size:.98rem;white-space:nowrap}
.hero-points{display:flex;flex-wrap:nowrap;gap:.85rem;list-style:none;padding:0;margin:1.15rem 0 0;overflow:auto}
.hero-points li{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.02rem;border-radius:999px;background:#eef8f5;color:var(--mint-dark);font-size:.9rem;font-weight:850;border:1px solid #d6ebe3;white-space:nowrap;flex:0 0 auto}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.2rem}
.hero-proof-card{display:flex;flex-direction:column;gap:.45rem;padding:1.1rem 1.05rem 1rem;border:1px solid rgba(10,49,94,.08);border-radius:20px;background:#fff;box-shadow:0 12px 26px rgba(10,49,94,.05);text-decoration:none}
.hero-proof-card strong{display:block;font-size:1rem;color:var(--navy);margin-bottom:0;letter-spacing:-.02em}
.hero-proof-card span{display:block;color:#56697c;font-size:.92rem;line-height:1.55}
.hero-proof-card small{display:block;margin-top:.05rem;color:var(--mint-dark);font-size:.8rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}
.hero-proof-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,49,94,.08)}
@media(max-width:1180px){.hero-actions{flex-wrap:wrap}.hero-points{flex-wrap:wrap;overflow:visible}}
@media(max-width:980px){.hero-proof{grid-template-columns:1fr}.hero-points{gap:.7rem}.hero-actions .btn{width:auto}}

.standardized-callout--premium{grid-template-columns:1.3fr minmax(260px,.72fr);gap:1.25rem;padding:1.5rem 1.5rem 1.4rem}
.standardized-callout--premium h3{font-size:1.6rem;line-height:1.15;letter-spacing:-.025em;max-width:18ch}
.standardized-callout--premium p{font-size:1rem;line-height:1.7;max-width:68ch}
.callout-points--large{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.callout-points--large li{padding:0;background:transparent;border-radius:0}
.callout-points--large li a{display:flex;align-items:center;justify-content:center;min-height:72px;padding:1rem 1rem;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#eef8f5 100%);border:1px solid #d6ebe3;color:var(--mint-dark);font-size:.97rem;font-weight:850;text-align:center;text-decoration:none;box-shadow:0 10px 22px rgba(10,49,94,.05)}
.callout-points--large li a:hover{background:linear-gradient(180deg,#ffffff 0%,#e7f6f0 100%);transform:translateY(-2px)}
.catalog-proof-strip{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.catalog-proof-strip span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 .95rem;border-radius:999px;font-size:.84rem}
.standardized-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:flex-start}
.standardized-actions .btn{min-height:52px;padding:0 1.4rem;border-radius:14px}
@media(max-width:1120px){.standardized-callout--premium{grid-template-columns:1fr}.callout-points--large{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.callout-points--large{grid-template-columns:1fr}.standardized-callout--premium h3{font-size:1.4rem}}

.catalog-proof-band-grid--inline{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.catalog-proof-band-grid--inline article{padding:1.15rem 1.1rem 1.2rem;border-radius:18px}
.catalog-proof-band-grid--inline strong{font-size:1rem}
.catalog-proof-band-grid--inline span{font-size:.92rem;line-height:1.55}
@media(max-width:1100px){.catalog-proof-band-grid--inline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.catalog-proof-band-grid--inline{grid-template-columns:1fr}}

.client-logo-grid--brands{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem}
.client-logo-grid--brands .client-logo{min-height:86px;padding:1.15rem 1rem;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%);font-weight:900;font-size:1.02rem}
.client-logo-grid--brands .client-logo--metro{letter-spacing:-.02em}
.client-logo-grid--brands .client-logo--cam{font-size:.94rem;line-height:1.2}
.client-logo-grid--brands .client-logo--ayto{font-size:.92rem;line-height:1.22}
.client-logo-grid--brands .client-logo--ilerna{letter-spacing:.08em;font-size:1.1rem}
.client-logo-grid--brands .client-logo--montessori{font-size:.94rem;line-height:1.2}
.client-logo-grid--brands .client-logo--ipp{letter-spacing:.12em;font-size:1.12rem}
@media(max-width:1180px){.client-logo-grid--brands{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.client-logo-grid--brands{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.client-logo-grid--brands{grid-template-columns:1fr}}


/* V20 — hero grande, filas completas, catálogo funcional y footer final */
.hero--showcase{padding:2.5rem 0 2.2rem;background:radial-gradient(circle at 80% 5%,rgba(86,183,158,.10),transparent 30%),linear-gradient(180deg,#f8fcfd 0%,#fff 58%)}
.hero-main-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:2.2rem;align-items:center}
.hero--showcase h1{font-size:clamp(2.7rem,5vw,4.65rem);line-height:1.01;letter-spacing:-.045em;max-width:10.5ch;margin-bottom:1rem}
.hero--showcase .lead{font-size:1.12rem;line-height:1.68;max-width:58ch}
.hero-actions--premium{display:flex;gap:1rem;flex-wrap:nowrap;margin-top:1.45rem}
.hero-actions--premium .btn{min-width:210px;min-height:58px;border-radius:14px;padding:0 1.55rem;font-size:1rem}
.hero-visual--large{min-height:610px;background:transparent;overflow:visible}
.hero-visual--large::after{display:none}
.hero-visual--large img{display:block;width:100%;height:610px;object-fit:cover;object-position:center;border-radius:18px;transform:none;animation:none;box-shadow:0 28px 70px rgba(10,49,94,.16)}
.hero-points--wide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1.4rem 0 0;padding:0;overflow:visible}
.hero-points--wide a{display:flex;flex-direction:column;justify-content:center;min-height:96px;padding:1rem 1.05rem;border-radius:18px;background:linear-gradient(180deg,#eef8f5 0%,#e6f4ef 100%);border:1px solid #cfe6df;text-decoration:none;box-shadow:0 10px 24px rgba(10,49,94,.045)}
.hero-points--wide strong{font-size:1rem;color:var(--navy);margin-bottom:.28rem;letter-spacing:-.02em}.hero-points--wide span{font-size:.85rem;color:#55706d;line-height:1.45}
.hero-points--wide a:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(10,49,94,.08)}
.hero-proof--wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.hero-proof--wide .hero-proof-card{min-height:270px;padding:1.25rem 1.2rem;border-radius:20px;background:#fff;border:1px solid rgba(10,49,94,.09);box-shadow:0 14px 34px rgba(10,49,94,.055)}
.hero-proof-label{display:inline-flex;align-items:center;width:max-content;min-height:30px;padding:0 .68rem;border-radius:999px;background:#eef8f5;color:var(--mint-dark);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.hero-proof--wide .hero-proof-card>strong{font-size:1.18rem;line-height:1.28;margin-top:.15rem}.hero-proof--wide .hero-proof-card p{margin:.15rem 0 .2rem;color:#56697c;line-height:1.55}.hero-proof--wide .hero-proof-card ul{margin:.1rem 0 .25rem;padding-left:1.05rem;color:#40566c;display:grid;gap:.22rem;font-size:.88rem}.hero-proof--wide .hero-proof-card small{margin-top:auto;color:var(--mint-dark);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1100px){.hero-main-grid{grid-template-columns:1fr}.hero-visual--large,.hero-visual--large img{min-height:520px;height:520px}.hero-points--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-proof--wide{grid-template-columns:1fr}.hero-actions--premium{flex-wrap:wrap}}
@media(max-width:650px){.hero-visual--large,.hero-visual--large img{min-height:390px;height:390px}.hero-points--wide{grid-template-columns:1fr}.hero-actions--premium .btn{width:100%;min-width:0}.hero--showcase h1{font-size:2.55rem}}

.standardized-callout--v20{display:block;padding:1.6rem;border-radius:24px;margin-top:2rem}
.standardized-top{display:grid;grid-template-columns:1.2fr .8fr;gap:1.3rem;align-items:center}
.standardized-callout--v20 h3{font-size:1.7rem;line-height:1.14;letter-spacing:-.03em;max-width:20ch;margin:.15rem 0 .55rem}.standardized-callout--v20 p{font-size:1rem;line-height:1.65;max-width:68ch}.standardized-callout--v20 .standardized-media img{width:min(100%,320px);border-radius:18px;box-shadow:0 18px 42px rgba(10,49,94,.14)}
.catalog-family-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.2rem}
.catalog-family-row a{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:1.05rem 1rem;border-radius:18px;background:#fff;border:1px solid #d3e5df;text-decoration:none;box-shadow:0 10px 24px rgba(10,49,94,.045)}
.catalog-family-row strong{font-size:1rem;color:var(--navy);margin-bottom:.35rem;line-height:1.2}.catalog-family-row span{font-size:.84rem;color:#5b6e80;line-height:1.45}.catalog-family-row a:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(10,49,94,.08);border-color:#99cfc1}
.catalog-tool-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:.85rem}
.catalog-tool-row a{display:flex;flex-direction:column;min-height:88px;padding:.85rem .95rem;border-radius:16px;background:linear-gradient(135deg,#0a315e,#124477);color:#fff;text-decoration:none;box-shadow:0 10px 24px rgba(10,49,94,.12)}
.catalog-tool-row strong{font-size:.9rem;margin-bottom:.2rem}.catalog-tool-row span{font-size:.78rem;line-height:1.4;color:rgba(255,255,255,.82)}.catalog-tool-row a:hover{background:linear-gradient(135deg,#0b3c70,#1a837a);transform:translateY(-2px)}
.standardized-callout--v20 .standardized-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.1rem}.standardized-callout--v20 .standardized-actions .btn{min-height:54px;border-radius:14px}
@media(max-width:1100px){.standardized-top{grid-template-columns:1fr}.catalog-family-row,.catalog-tool-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.catalog-family-row,.catalog-tool-row{grid-template-columns:1fr}.standardized-callout--v20{padding:1.15rem}}

.catalog-proof-band-grid--inline a{display:flex;flex-direction:column;gap:.25rem;padding:1.15rem 1.1rem 1.2rem;border:1px solid rgba(10,49,94,.07);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);box-shadow:0 10px 26px rgba(10,49,94,.05);text-decoration:none}.catalog-proof-band-grid--inline a:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(10,49,94,.08)}.catalog-proof-band-grid--inline a strong{color:var(--navy);font-size:1rem}.catalog-proof-band-grid--inline a span{color:#5a6c7f;font-size:.92rem;line-height:1.55}

.client-logo-grid--official{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;margin-top:1.15rem}
.client-logo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:145px;padding:1rem;border:1px solid rgba(10,49,94,.09);border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 10px 24px rgba(10,49,94,.05)}
.client-logo-card img{display:block;max-width:150px;max-height:78px;width:auto;height:auto;object-fit:contain;margin:auto}.client-logo-card span{display:block;margin-top:.65rem;text-align:center;color:#2d4863;font-size:.8rem;font-weight:850;line-height:1.25}.client-logo-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(10,49,94,.09)}
@media(max-width:1100px){.client-logo-grid--official{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.client-logo-grid--official{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.client-logo-grid--official{grid-template-columns:1fr}}

/* Footer V20: funding as an aligned strip, not a floating pill */
.site-footer--clean .footer-contact-note a,.site-footer--clean .footer-brand-block a{color:#fff !important}.site-footer--clean .footer-contact-note a:hover,.site-footer--clean .footer-brand-block a:hover{color:#d9fff4 !important;text-decoration:underline}.footer-funding-strip{background:#f7fafb;border-top:1px solid rgba(255,255,255,.12)}.footer-funding-inner{display:flex;align-items:center;justify-content:center;min-height:104px;padding:1rem 0}.footer-funding-inner img{display:block;width:min(100%,560px);max-height:72px;object-fit:contain}.footer-copy-bar{border-top:1px solid rgba(255,255,255,.14);background:#082b53}.footer-copy-inner{display:flex;justify-content:space-between;gap:1.4rem;align-items:center;min-height:62px;padding:.8rem 0}.footer-copy-inner p{margin:0;color:rgba(255,255,255,.9);font-size:.82rem;line-height:1.45}.footer-copy-inner p:last-child{text-align:right}.footer-main--enhanced{padding-bottom:1.5rem}.footer-logo-shell{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05)}
@media(max-width:850px){.footer-copy-inner{flex-direction:column;align-items:flex-start}.footer-copy-inner p:last-child{text-align:left}.footer-funding-inner{min-height:90px}.footer-funding-inner img{max-height:62px}}


/* V21 · Catálogo premium con familias más visuales */
.catalog-family-showcase{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.6rem}
.family-showcase-card{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:1.35rem;align-items:stretch;padding:1.2rem;border-radius:28px;background:#fff;border:1px solid rgba(10,49,94,.08);box-shadow:0 20px 50px rgba(10,49,94,.06)}
.family-showcase-card--budget{background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%)}
.family-showcase-media{position:relative;min-height:300px;border-radius:22px;overflow:hidden;background:#f0f5f7}
.family-showcase-media img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center}
.family-showcase-body{display:flex;flex-direction:column;gap:1rem}
.family-showcase-top{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.family-showcase-top h3{margin:.15rem 0 .35rem;font-size:1.55rem;line-height:1.18;letter-spacing:-.03em}
.family-showcase-top p{margin:0;color:#5a6c7f;line-height:1.65}
.family-subdivision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}
.family-subdivision-grid>div{padding:1rem 1rem 1.05rem;border-radius:18px;background:linear-gradient(180deg,#f8fbfc 0%,#f2f7f8 100%);border:1px solid #dce8ee}
.family-subdivision-grid strong{display:block;margin-bottom:.55rem;font-size:.92rem;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
.family-subdivision-grid ul{margin:0;padding-left:1.05rem;display:grid;gap:.38rem;color:#42586e;line-height:1.5;font-size:.93rem}
.family-showcase-footer{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.family-showcase-footer .catalog-chip-list{flex:1 1 360px}
.family-showcase-footer .family-link{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 1.1rem;border-radius:14px;background:linear-gradient(135deg,#0a315e,#0d4a7f);color:#fff;font-weight:850;text-decoration:none;box-shadow:0 14px 30px rgba(10,49,94,.14)}
.family-showcase-footer .family-link:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(10,49,94,.2)}
.budget-premium-layout{display:grid;gap:1.2rem}
.budget-premium-hero{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);gap:1.2rem;padding:1.2rem;border-radius:26px;background:#fff;border:1px solid rgba(10,49,94,.08);box-shadow:0 18px 42px rgba(10,49,94,.055)}
.budget-premium-image{border-radius:22px;overflow:hidden;background:#f2f6f7}.budget-premium-image img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.budget-premium-copy{display:flex;flex-direction:column;justify-content:center;gap:.9rem}.budget-premium-copy h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.03em;margin:0}.budget-premium-copy p{margin:0;color:#5a6c7f;line-height:1.65}.budget-premium-copy ul{margin:0;padding-left:1.05rem;display:grid;gap:.35rem;color:#42586e;line-height:1.55}
.budget-grid--premium{grid-template-columns:repeat(4,minmax(0,1fr))}
.group-source-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:1.2rem;align-items:center;padding:1.25rem;margin:1.15rem 0 1.4rem;border-radius:24px;background:linear-gradient(135deg,#0b325f 0%,#114a7d 58%,#147466 100%);color:#fff;box-shadow:0 18px 40px rgba(10,49,94,.18)}
.group-source-intro h2{margin:.15rem 0 .55rem;font-size:1.9rem;line-height:1.12;letter-spacing:-.03em}.group-source-intro p{margin:0;max-width:62ch;color:rgba(255,255,255,.88);line-height:1.65}.group-source-panel .eyebrow{background:rgba(255,255,255,.14);color:#fff}
.group-source-badges{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.group-source-badges span{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-weight:850;letter-spacing:.01em}
.project-grid--expanded{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-grid--expanded .project-card .card-media img{height:260px;object-fit:cover}
@media(max-width:1180px){.family-showcase-card,.budget-premium-hero,.group-source-panel{grid-template-columns:1fr}.budget-grid--premium,.project-grid--expanded{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.family-subdivision-grid{grid-template-columns:1fr}.family-showcase-card{padding:1rem;border-radius:22px}.family-showcase-media,.family-showcase-media img,.budget-premium-image img{min-height:240px}.family-showcase-top{grid-template-columns:1fr}.family-showcase-footer{align-items:flex-start}.family-showcase-footer .family-link{width:100%}.budget-grid--premium,.project-grid--expanded{grid-template-columns:1fr}.group-source-panel{padding:1rem;border-radius:22px}.group-source-intro h2{font-size:1.6rem}}

.cookie-pref input:focus-visible+.switch{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px #fff}


/* PREPRODUCCION V2 · Home mas visual e identidad independiente */
.hero-points--compact{gap:.75rem;margin-top:1.15rem}
.hero-points--compact a{min-height:82px;padding:.9rem 1rem;display:grid;grid-template-columns:38px 1fr;gap:.7rem;align-items:center;background:linear-gradient(180deg,#f1faf7 0%,#e9f6f2 100%)}
.hero-points--compact .hero-point-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff;color:var(--navy);box-shadow:0 8px 18px rgba(10,49,94,.07);font-size:1.05rem;font-weight:900}
.hero-points--compact strong{display:block;margin:0 0 .15rem;font-size:.93rem;line-height:1.18}
.hero-points--compact small{display:block;color:#5b716f;font-size:.78rem;line-height:1.35;font-weight:650}

.home-visual-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.home-visual-card{position:relative;min-height:265px;border-radius:24px;overflow:hidden;text-decoration:none;box-shadow:0 16px 40px rgba(10,49,94,.10);isolation:isolate}
.home-visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.home-visual-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,28,54,.02) 15%,rgba(5,28,54,.82) 100%);z-index:0}
.home-visual-card:hover img{transform:scale(1.035)}
.home-visual-overlay{position:absolute;z-index:1;left:1rem;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.3rem;color:#fff}
.home-visual-overlay small{font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#d7fff3}
.home-visual-overlay strong{font-size:1.18rem;line-height:1.22;max-width:24ch}
.home-visual-overlay>span{font-size:.82rem;font-weight:850;color:#fff}

.home-benefits-section{padding:3.3rem 0 4.4rem;background:#fff;border-bottom:1px solid var(--line)}
.home-visual-break{display:grid;grid-template-columns:1.05fr .95fr;min-height:330px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#092f59 0%,#0d436f 55%,#15796e 100%);box-shadow:0 22px 55px rgba(10,49,94,.12);margin-bottom:3rem}
.home-visual-break img{width:100%;height:100%;min-height:330px;object-fit:cover}
.home-visual-break-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem 2.1rem;color:#fff}
.home-visual-break-copy .eyebrow{background:rgba(255,255,255,.12);color:#e4fff7}
.home-visual-break-copy h2{margin:.45rem 0 .7rem;max-width:15ch;font-size:2rem;line-height:1.12;letter-spacing:-.035em;color:#fff}
.home-visual-break-copy p{margin:0 0 1.15rem;max-width:44ch;color:rgba(255,255,255,.86);font-size:1rem;line-height:1.58}
.home-visual-break-copy .btn--secondary{background:#fff;border-color:#fff;color:var(--navy)}
.section-heading--compact{margin-bottom:1.4rem}.section-heading--compact h2{margin-bottom:0}
.home-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.home-benefit{display:grid;grid-template-columns:52px 1fr;gap:.85rem;align-items:center;min-height:128px;padding:1rem;border:1px solid #dce7eb;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(10,49,94,.045)}
.home-benefit h3{margin:0 0 .28rem;font-size:1rem;line-height:1.18;color:var(--navy)}
.home-benefit p{margin:0;color:#5b6e80;font-size:.86rem;line-height:1.45}
.home-benefit .icon-disc{width:48px;height:48px}
.home-benefits-cta{display:flex;justify-content:center;margin-top:1.35rem}

/* Footer independiente: sin perfiles sociales de otras marcas */
.footer-brand-block{align-content:start}

@media(max-width:1050px){
  .home-visual-links{grid-template-columns:1fr 1fr}.home-visual-card:last-child{grid-column:1/-1;min-height:240px}
  .home-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-visual-break{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .hero-points--compact{grid-template-columns:1fr 1fr}
  .home-visual-links{grid-template-columns:1fr}.home-visual-card,.home-visual-card:last-child{grid-column:auto;min-height:235px}
  .home-visual-break{grid-template-columns:1fr}.home-visual-break img{min-height:250px;max-height:310px}.home-visual-break-copy{padding:1.5rem}
  .home-benefits-grid{grid-template-columns:1fr}
}
@media(max-width:480px){.hero-points--compact{grid-template-columns:1fr}.hero-points--compact a{min-height:72px}}


/* PREPRODUCCION V3 — clientes, financiación blanca y marca discreta en catálogo */
/* Financiación: franja institucional completamente blanca */
.footer-funding-strip,
.footer-copy-bar{
  background:#fff !important;
  border-top:1px solid #e2e8ee !important;
}
.footer-funding-inner{
  min-height:104px;
  padding:1.05rem 0;
  background:#fff !important;
}
.footer-funding-inner img{
  display:block;
  width:min(100%,620px);
  max-height:78px;
  object-fit:contain;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.footer-copy-inner{
  background:#fff !important;
}
.footer-copy-inner p,
.footer-copy-inner p:last-child{
  color:#53677a !important;
}
.footer-copy-inner strong{color:#0a315e !important}

/* Han confiado en nosotros: muro de logos limpio, inspirado en una presentación editorial */
.trusted-wall{
  margin-top:2rem;
  padding:2rem 0 .3rem;
  border-top:1px solid #e4ebef;
  background:#fff;
}
.trusted-wall-head{
  max-width:760px;
  margin:0 auto 1.55rem;
  text-align:center;
}
.trusted-wall-head h2,
.trusted-wall-head h3{
  margin:.25rem 0 .45rem;
  color:var(--navy);
  font-size:clamp(1.75rem,2.5vw,2.4rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.trusted-wall-head p{
  margin:0 auto;
  max-width:64ch;
  color:#647689;
  line-height:1.6;
  font-size:.95rem;
}
.trusted-logo-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  border-top:1px solid #e8eef1;
  border-left:1px solid #e8eef1;
  background:#fff;
}
.trusted-logo{
  min-width:0;
  min-height:106px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem .85rem;
  background:#fff;
  border-right:1px solid #e8eef1;
  border-bottom:1px solid #e8eef1;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.trusted-logo img{
  display:block;
  width:100%;
  max-width:145px;
  max-height:62px;
  height:auto;
  object-fit:contain;
  filter:saturate(.9);
  transition:transform .22s ease, filter .22s ease;
}
.trusted-logo:hover{
  position:relative;
  z-index:1;
  background:#fbfdfd;
  box-shadow:0 12px 28px rgba(10,49,94,.08);
}
.trusted-logo:hover img{transform:scale(1.06);filter:saturate(1)}
@media(max-width:1180px){.trusted-logo-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:900px){.trusted-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trusted-logo{min-height:96px}}
@media(max-width:600px){.trusted-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trusted-wall{padding-top:1.4rem}.trusted-logo{min-height:92px}.trusted-logo img{max-width:135px;max-height:58px}}

.catalog-photo-brand{position:relative;isolation:isolate}
.catalog-photo-brand::after{display:none;content:none}


/* PREPRODUCCION V4 — financiación completamente blanca y acabado de copy público */
.footer-funding-strip,
.footer-funding-inner,
.footer-copy-bar,
.footer-copy-inner{
  background:#fff !important;
}
.footer-funding-strip{
  border-top:1px solid #e4ebef !important;
}
.footer-funding-inner{
  min-height:96px !important;
  padding:1rem 0 !important;
}
.footer-funding-inner img{
  display:block !important;
  width:min(100%,620px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  background:#fff !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.footer-copy-bar{
  border-top:1px solid #e4ebef !important;
}
.footer-copy-inner p,
.footer-copy-inner p:last-child{
  color:#53677a !important;
}
.footer-copy-inner strong{color:#0a315e !important;}


/* Preproducción V5 · proyectos reales y capacidad de fabricación */
.project-feature-heading{max-width:900px;margin-bottom:1.4rem}
.project-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
.project-feature-card{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(0,1.08fr);min-height:330px;border:1px solid rgba(10,49,94,.09);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 18px 44px rgba(10,49,94,.065)}
.project-feature-card--hero{grid-column:1/-1;grid-template-columns:minmax(360px,1.08fr) minmax(0,.92fr);min-height:390px}
.project-feature-media{position:relative;min-height:100%;background:#eef3f5;overflow:hidden}
.project-feature-media img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .6s ease}
.project-feature-card--hero .project-feature-media img{min-height:390px}
.project-feature-card:hover .project-feature-media img{transform:scale(1.025)}
.project-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:1.35rem 1.35rem 1.4rem}
.project-feature-copy h3{font-size:1.42rem;line-height:1.2;letter-spacing:-.025em;margin:.55rem 0 .65rem;color:var(--navy)}
.project-feature-copy p{margin:0;color:#566b7e;line-height:1.65}
.project-kicker{display:flex;gap:.5rem;flex-wrap:wrap}
.project-kicker span,.project-mini-facts span{display:inline-flex;align-items:center;min-height:30px;padding:0 .7rem;border-radius:999px;background:#eef8f5;color:var(--mint-dark);font-size:.74rem;font-weight:850}
.project-spec-list{display:grid;gap:.38rem;margin:.85rem 0 0;padding-left:1.1rem;color:#40576d;line-height:1.5;font-size:.92rem}
.project-mini-facts{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.9rem}
.project-feature-card--education{grid-template-columns:minmax(240px,.92fr) minmax(0,1.08fr)}
.project-feature-education-visual{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem;min-height:330px;padding:2rem;background:linear-gradient(145deg,#eef8f5 0%,#f8fbfc 48%,#edf3f8 100%);border-right:1px solid rgba(10,49,94,.06)}
.project-feature-education-visual img{display:block;width:min(210px,70%);max-height:92px;object-fit:contain;object-position:left center}
.project-feature-education-visual span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--mint-dark)}
.project-feature-education-visual strong{max-width:18ch;font-size:1.45rem;line-height:1.18;color:var(--navy)}
.trusted-wall--after-projects{margin-top:3.5rem}
.more-projects-heading{margin-top:4rem;margin-bottom:1.25rem}
.project-grid--secondary{margin-top:0!important}
.project-grid--secondary .project-card{height:100%}

.manufacturing-section{overflow:hidden}
.manufacturing-showcase{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:1.7rem;align-items:stretch}
.manufacturing-visual{position:relative;min-height:520px;border-radius:28px;overflow:hidden;background:#dfe9ed;box-shadow:0 24px 58px rgba(10,49,94,.12)}
.manufacturing-main-image{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center}
.manufacturing-detail-card{position:absolute;right:1.1rem;bottom:1.1rem;width:min(260px,43%);padding:.55rem;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(10,49,94,.2)}
.manufacturing-detail-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px}
.manufacturing-detail-card span{display:block;padding:.5rem .25rem .2rem;color:var(--navy);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.manufacturing-copy{display:flex;flex-direction:column;justify-content:center;padding:.4rem 0}
.manufacturing-copy h2{font-size:2.45rem;line-height:1.06;letter-spacing:-.04em;margin:.35rem 0 .75rem;max-width:13ch}
.manufacturing-copy .lead{font-size:1.02rem;line-height:1.68;max-width:62ch}
.manufacturing-capabilities{display:grid;grid-template-columns:1fr;gap:.65rem;margin:1.05rem 0}
.manufacturing-capabilities article{padding:.85rem .9rem;border-radius:16px;background:#fff;border:1px solid rgba(10,49,94,.08);box-shadow:0 8px 20px rgba(10,49,94,.04)}
.manufacturing-capabilities strong{display:block;color:var(--navy);font-size:.95rem;margin-bottom:.22rem}
.manufacturing-capabilities p{margin:0;color:#596d80;line-height:1.5;font-size:.89rem}
.manufacturing-materials{display:flex;flex-wrap:wrap;gap:.5rem;margin:.1rem 0 1rem}
.manufacturing-materials span{display:inline-flex;align-items:center;min-height:34px;padding:0 .72rem;border-radius:999px;background:#eaf6f2;color:#176b5a;font-size:.78rem;font-weight:850;border:1px solid #d1e8e0}
.installation-proof-card{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin-top:1.25rem;padding:1.15rem 1.25rem;border-radius:20px;background:#fff;border:1px solid rgba(10,49,94,.08);box-shadow:0 12px 30px rgba(10,49,94,.045)}
.installation-proof-card h3{font-size:1.25rem;margin:.25rem 0 .35rem;color:var(--navy)}
.installation-proof-card p{margin:0;color:#5a6d80}
.compact-check-list{gap:.3rem!important;margin:.7rem 0 1rem!important}

@media(max-width:1100px){
  .project-feature-grid{grid-template-columns:1fr}
  .project-feature-card,.project-feature-card--hero,.project-feature-card--education{grid-column:auto;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)}
  .manufacturing-showcase{grid-template-columns:1fr}
  .manufacturing-copy h2{max-width:none}
}
@media(max-width:720px){
  .project-feature-card,.project-feature-card--hero,.project-feature-card--education{grid-template-columns:1fr}
  .project-feature-media img,.project-feature-card--hero .project-feature-media img,.project-feature-education-visual{min-height:250px}
  .project-feature-education-visual{border-right:0;border-bottom:1px solid rgba(10,49,94,.06)}
  .manufacturing-visual,.manufacturing-main-image{min-height:390px}
  .manufacturing-detail-card{width:48%;right:.75rem;bottom:.75rem}
  .manufacturing-copy h2{font-size:2rem}
  .installation-proof-card{align-items:flex-start;flex-direction:column}
}

/* PREPRODUCCION V8 — integración de visuales aprobados, fotos reales y logos de cliente */
.section--editorial-visual{padding-top:1.25rem;padding-bottom:1.25rem;background:#fff}
.section--catalog-editorial{padding:1.25rem 0 .5rem;background:#fff}
.editorial-showcase{margin:0;border:1px solid rgba(10,49,94,.09);border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 16px 44px rgba(10,49,94,.08)}
.editorial-showcase img{display:block;width:100%;height:auto}
.editorial-showcase figcaption{padding:.85rem 1.1rem;color:var(--muted);font-size:.92rem;line-height:1.5;background:#fff}
.editorial-showcase--link{display:block;transition:transform .2s ease,box-shadow .2s ease}.editorial-showcase--link:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(10,49,94,.11)}
.editorial-showcase--manufacturing{margin-bottom:1.4rem}
.materials-premium-grid--visual{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.materials-premium-grid--visual .material-premium-card{overflow:hidden;padding-top:0}
.material-photo{display:block;width:calc(100% + 2rem);max-width:none;height:190px;object-fit:cover;margin:0 -1rem 1rem;border-bottom:1px solid rgba(10,49,94,.08)}
.real-production-gallery,.real-solution-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.35rem 0}
.real-production-gallery figure,.real-solution-grid figure{margin:0;background:#fff;border:1px solid rgba(10,49,94,.09);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(10,49,94,.06)}
.real-production-gallery img,.real-solution-grid img{display:block;width:100%;height:210px;object-fit:cover}
.real-production-gallery figcaption,.real-solution-grid figcaption{padding:.75rem .9rem;color:#15314f;font-weight:800;font-size:.9rem}
.manufacturing-visual--real .manufacturing-main-image{object-fit:cover}
@media(max-width:1050px){.materials-premium-grid--visual{grid-template-columns:repeat(2,minmax(0,1fr))}.real-production-gallery,.real-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.materials-premium-grid--visual,.real-production-gallery,.real-solution-grid{grid-template-columns:1fr}.material-photo,.real-production-gallery img,.real-solution-grid img{height:auto}.editorial-showcase{border-radius:18px}}

/* PREPRODUCCION V9 — depuracion auditada */
body.cookie-modal-open{overflow:hidden}
.form-privacy-note{margin:0 0 .8rem;color:var(--muted);font-size:.9rem;line-height:1.55}.form-privacy-note a{font-weight:750}
.contact-inline .form-privacy-note--inline{grid-column:1/-1;margin:.15rem 0 0;font-size:.82rem;line-height:1.45}
.contact-inline .form-help--inline{grid-column:1/-1;margin:.15rem 0 0;font-size:.88rem;line-height:1.45;color:var(--muted)}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

@supports (content-visibility:auto){
  .project-feature-card--featured{content-visibility:auto;contain-intrinsic-size:auto 760px}
  .premium-product-card,.material-premium-card{content-visibility:auto;contain-intrinsic-size:auto 520px}
  .client-wall,.real-production-gallery,.real-solution-grid{content-visibility:auto;contain-intrinsic-size:auto 480px}
}
.cookie-banner-actions .cookie-btn--primary,.cookie-banner-actions .cookie-btn--outline{min-width:170px}

.project-feature-education-visual img{width:min(360px,100%);max-height:180px;aspect-ratio:2/1;object-fit:cover;object-position:center;border-radius:14px;border:1px solid rgba(10,49,94,.08)}
.cookie-banner-actions .cookie-btn--outline{background:var(--mint-soft);border-color:#9bcfc5}

/* V11 - proyectos ferroviarios y validacion braille */
.project-feature-media--gallery{min-height:390px}
.project-feature-gallery{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:1fr 1fr;gap:5px;width:100%;height:100%;min-height:390px;background:#dfe7ea}
.project-feature-gallery img{width:100%;height:100%!important;min-height:0!important;object-fit:cover;object-position:center;transition:transform .6s ease}
.project-feature-gallery img:first-child{grid-row:1/3;object-position:center 46%}
.project-feature-gallery img:nth-child(2){object-position:center 48%}
.project-feature-gallery img:nth-child(3){object-position:center 44%}
.project-feature-card:hover .project-feature-gallery img{transform:scale(1.018)}
.project-tech-note{display:grid;gap:.2rem;margin-top:1rem;padding:.8rem .9rem;border-left:3px solid var(--mint);border-radius:0 10px 10px 0;background:#f3f8f7;color:#526879;font-size:.86rem;line-height:1.5}
.project-tech-note strong{color:var(--navy);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}
.project-source-link{display:inline-flex;align-items:center;margin-top:.9rem;font-size:.88rem;font-weight:850;text-decoration:none}
.rail-project-list{display:grid;gap:.42rem;margin-top:.9rem}
.rail-project-list span{padding:.48rem .62rem;border:1px solid #dce7ea;border-radius:9px;background:#f8fbfb;color:#536879;font-size:.86rem}
.rail-project-list strong{color:var(--navy)}
.project-small-note{margin-top:.8rem!important;font-size:.84rem!important;color:#697b89!important}
.project-cert-panel{margin:1.4rem 0 2rem;padding:1.45rem;border:1px solid #d6e9e4;border-radius:22px;background:linear-gradient(135deg,#fbfdfd 0%,#eef8f5 100%);box-shadow:0 14px 35px rgba(10,49,94,.05)}
.project-cert-intro{max-width:900px}
.project-cert-intro h2{font-size:clamp(1.65rem,2.6vw,2.35rem)}
.project-cert-intro p{color:#566b7e;max-width:900px}
.project-cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:1.05rem 0 1rem}
.project-cert-grid>div{display:grid;gap:.2rem;padding:.95rem 1rem;border:1px solid rgba(10,49,94,.09);border-radius:13px;background:#fff}
.project-cert-grid strong{color:var(--navy)}
.project-cert-grid span{color:#607384;font-size:.86rem;line-height:1.45}
.reference-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.reference-links a{display:inline-flex;align-items:center;padding:.55rem .72rem;border:1px solid #c9d9de;border-radius:9px;background:#fff;text-decoration:none;font-size:.86rem;font-weight:800}
.legal-box--braille-validation{background:linear-gradient(135deg,#fbfdfd,#eef8f5);border-color:#d7eae5}

@media(max-width:900px){
  .project-feature-gallery{min-height:340px}
  .project-cert-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .project-feature-gallery{grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr;min-height:360px}
  .project-feature-gallery img:first-child{grid-column:1/3;grid-row:auto;object-position:center 48%}
  .project-feature-gallery img:nth-child(2),.project-feature-gallery img:nth-child(3){min-height:150px!important}
  .reference-links{flex-direction:column;align-items:stretch}
  .reference-links a{justify-content:center}
}


/* PREPRODUCCION V17 — proyectos destacados con composición visual más limpia */
.projects-page-section{background:linear-gradient(180deg,#fff 0%,#f7fafb 46%,#fff 100%)}
.project-feature-heading{max-width:820px;margin-bottom:2rem}
.project-feature-heading .lead{max-width:760px}
.project-feature-grid{gap:1.5rem}
.project-feature-card--featured{grid-column:1/-1;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);min-height:0;border-radius:30px;border-color:rgba(10,49,94,.08);box-shadow:0 22px 56px rgba(10,49,94,.075)}
.project-feature-card--featured .project-feature-copy{padding:2rem 2.15rem}
.project-feature-card--featured .project-feature-copy h3{font-size:clamp(1.55rem,2.1vw,2rem);margin:.65rem 0 .8rem}
.project-feature-card--featured .project-feature-copy p{font-size:.98rem;line-height:1.7}
.project-feature-card--featured .project-feature-media{padding:14px;background:#f4f7f8}
.project-feature-card--featured .project-feature-media:not(.project-feature-media--gallery) img{width:100%;height:100%;min-height:430px;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.project-feature-card--featured .project-feature-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:12px;width:100%;height:auto;min-height:0;padding:0;background:transparent}
.project-feature-card--featured .project-feature-gallery img{display:block;width:100%;height:auto!important;min-height:0!important;border-radius:18px;background:#e8eef1;box-shadow:0 8px 24px rgba(10,49,94,.06)}
.project-feature-card--featured .project-feature-gallery img:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.project-feature-card--featured .project-feature-gallery img:nth-child(2){aspect-ratio:4/3;object-fit:cover;object-position:center 42%}
.project-feature-card--featured .project-feature-gallery img:nth-child(3){aspect-ratio:4/3;object-fit:contain;object-position:center;background:#fff;padding:10px}
#villaverde.project-feature-card--featured .project-feature-gallery img:nth-child(3),
#parroquia-tres-cantos.project-feature-card--featured .project-feature-gallery img:nth-child(3),
#montessori.project-feature-card--featured .project-feature-gallery img:nth-child(3){object-fit:cover;padding:0;background:#e8eef1}
#renfe-adif.project-feature-card--featured .project-feature-gallery img:first-child{object-position:center 48%}
#renfe-adif.project-feature-card--featured .project-feature-gallery img:nth-child(2){object-fit:contain;object-position:center;background:#f7f9fa}
#parroquia-tres-cantos.project-feature-card--featured .project-feature-gallery img:first-child{object-position:center 56%}
#regla-lectura-cmice.project-feature-card--featured .project-feature-gallery img:first-child{object-fit:contain;background:#f4f7f8}
#regla-lectura-cmice.project-feature-card--featured .project-feature-gallery img:nth-child(3){object-fit:cover;padding:0;background:#e8eef1}
.project-feature-card--featured:nth-child(even) .project-feature-media{order:2}
.project-feature-card--featured:nth-child(even) .project-feature-copy{order:1}
.project-source-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.project-source-actions .project-source-link{margin-top:0;padding:.55rem .75rem;border-radius:10px;background:#eef8f5;border:1px solid #d3e8e2;color:var(--navy)}
.project-source-actions .project-source-link--secondary{background:#f7f9fb;border-color:#dce4e8}
.project-feature-grid>.project-feature-card:not(.project-feature-card--featured){border-radius:22px;box-shadow:0 14px 36px rgba(10,49,94,.055)}

@media(max-width:1100px){
  .project-feature-card--featured{grid-template-columns:1fr}
  .project-feature-card--featured .project-feature-media,.project-feature-card--featured:nth-child(even) .project-feature-media{order:1}
  .project-feature-card--featured .project-feature-copy,.project-feature-card--featured:nth-child(even) .project-feature-copy{order:2}
  .project-feature-card--featured .project-feature-gallery img:first-child{aspect-ratio:16/8.8}
}
@media(max-width:720px){
  .project-feature-heading{margin-bottom:1.3rem}
  .project-feature-card--featured{border-radius:22px}
  .project-feature-card--featured .project-feature-media{padding:9px}
  .project-feature-card--featured .project-feature-copy{padding:1.35rem 1.2rem 1.5rem}
  .project-feature-card--featured .project-feature-gallery{gap:8px}
  .project-feature-card--featured .project-feature-gallery img{border-radius:13px}
  .project-feature-card--featured .project-feature-gallery img:first-child{aspect-ratio:4/3}
  .project-feature-card--featured .project-feature-gallery img:nth-child(2),
  .project-feature-card--featured .project-feature-gallery img:nth-child(3){aspect-ratio:1/1}
  .project-source-actions{flex-direction:column;align-items:stretch}
  .project-source-actions .project-source-link{justify-content:center;text-align:center}
}


/* PREPRODUCCION V18 — selección fotográfica real de Villaverde y Montessori */
#villaverde.project-feature-card--featured .project-feature-gallery img:nth-child(2){object-position:center 48%}
#villaverde.project-feature-card--featured .project-feature-gallery img:nth-child(3){object-position:center 42%}
#montessori.project-feature-card--featured .project-feature-gallery img:first-child{object-position:center 48%}
#montessori.project-feature-card--featured .project-feature-gallery img:nth-child(2){object-position:center 52%}
#montessori.project-feature-card--featured .project-feature-gallery img:nth-child(3){object-position:center 52%}

/* V19 · familias visuales de señalética */
.pictogram-grid--visual{gap:1.15rem;margin-top:1.8rem}
.pictogram-card--visual{padding:0;overflow:hidden;border-radius:18px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pictogram-card--visual:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(11,55,100,.12);border-color:rgba(11,55,100,.16)}
.pictogram-card__link{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:218px;color:inherit;text-decoration:none}
.pictogram-card__media{position:relative;min-height:218px;overflow:hidden;background:#eef6f5}
.pictogram-card__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .35s ease}
.pictogram-card--visual:hover .pictogram-card__media img{transform:scale(1.035)}
.pictogram-card__media--wide img{object-position:center}
.pictogram-card__body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:1.1rem 1.15rem 1.05rem}
.pictogram-card__body h3{margin:0 0 .5rem;font-size:1.08rem;line-height:1.2;color:var(--navy)}
.pictogram-card__body p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.pictogram-card__cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;font-size:.78rem;font-weight:800;color:var(--navy);letter-spacing:.01em}
.pictogram-card__cta::after{content:"→";font-size:1rem;line-height:1}
.pictogram-card__link:focus-visible{outline:3px solid var(--mint);outline-offset:-3px;border-radius:18px}
@media(max-width:1120px){.pictogram-card__link{grid-template-columns:42% 58%;min-height:205px}.pictogram-card__media{min-height:205px}}
@media(max-width:700px){.pictogram-card__link{grid-template-columns:42% 58%;min-height:190px}.pictogram-card__media{min-height:190px}.pictogram-card__body{padding:.95rem}.pictogram-card__body h3{font-size:1rem}.pictogram-card__body p{font-size:.86rem}.pictogram-card__cta{margin-top:.65rem}}
@media(max-width:480px){.pictogram-card__link{grid-template-columns:1fr}.pictogram-card__media{min-height:210px;max-height:230px}.pictogram-card__body{padding:1rem 1rem 1.1rem}.pictogram-card__body p{font-size:.9rem}}

/* PREPRODUCCION V20 — accesibilidad y capacidad de producción */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.accessibility-toggle{width:52px;height:52px;font-size:0;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.accessibility-toggle:hover,.accessibility-toggle:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 2px var(--navy),0 14px 30px rgba(10,49,94,.22)}
.accessibility-toggle svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.accessibility-toggle svg circle{fill:currentColor;stroke:none}
.accessibility-toggle::after{content:"Accesibilidad";position:absolute;right:58px;top:50%;transform:translateY(-50%) translateX(6px);padding:.42rem .62rem;border-radius:8px;background:var(--navy);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;box-shadow:var(--shadow-sm)}
.accessibility-toggle:hover::after,.accessibility-toggle:focus-visible::after{opacity:1;transform:translateY(-50%) translateX(0)}
.accessibility-panel{width:min(330px,calc(100vw - 2rem));padding:1.1rem;border-radius:18px}
.accessibility-panel h2{margin:0 0 .3rem;font-size:1.2rem;color:var(--navy)}
.accessibility-panel p{margin:0 0 .85rem;line-height:1.5}
.a11y-actions{grid-template-columns:1fr 1fr;gap:.55rem}
.a11y-actions button{padding:.6rem .65rem;line-height:1.25}
.a11y-actions .a11y-close{background:#f5f8fa;color:#4b6174}
.a11y-text-size{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.a11y-text-size button{font-size:1rem;padding:.4rem}
body.reading-friendly p,body.reading-friendly li,body.reading-friendly .lead,body.reading-friendly .note{line-height:1.82;word-spacing:.06em;letter-spacing:.012em}
body.reading-friendly .site-nav a,body.reading-friendly .btn,body.reading-friendly button{letter-spacing:.015em}
body.large-cursor,body.large-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M5 3l24 22-11 1 6 10-5 3-6-11-8 8z' fill='white' stroke='%230a315e' stroke-width='2'/%3E%3C/svg%3E") 5 3,auto!important}
body.large-cursor a,body.large-cursor button,body.large-cursor input,body.large-cursor select,body.large-cursor textarea,body.large-cursor label{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M13 4c2 0 3 1 3 3v10-6c0-2 1-3 3-3s3 1 3 3v7-5c0-2 1-3 3-3s3 1 3 3v7-4c0-2 1-3 3-3s3 1 3 3v9c0 8-5 12-12 12h-2c-4 0-7-2-9-5L5 24c-1-2 0-4 2-5 2-1 4 0 5 2l1 2V7c0-2 0-3 0-3z' fill='white' stroke='%230a315e' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 13 4,pointer!important}

.manufacturing-showcase{align-items:center;gap:2.15rem}
.manufacturing-visual--machine{min-height:0;aspect-ratio:4/3;background:#e8eef1}
.manufacturing-visual--machine .manufacturing-main-image{height:100%;min-height:0;object-fit:cover;object-position:center}
.manufacturing-detail-card--tool{width:min(225px,38%);padding:.55rem .55rem .45rem;border:1px solid rgba(10,49,94,.08)}
.manufacturing-detail-card--tool img{aspect-ratio:1/1;object-fit:contain;background:#fff}
.manufacturing-machine-badge{position:absolute;left:1rem;top:1rem;display:flex;flex-direction:column;gap:.08rem;padding:.62rem .78rem;border-radius:12px;background:rgba(10,49,94,.92);color:#fff;box-shadow:0 12px 28px rgba(10,49,94,.2);backdrop-filter:blur(4px)}
.manufacturing-machine-badge strong{font-size:.82rem;letter-spacing:.02em}
.manufacturing-machine-badge span{font-size:.69rem;opacity:.88}
.manufacturing-copy .lead{max-width:64ch}
@media(max-width:1100px){
  .manufacturing-visual--machine{max-width:820px;width:100%;margin-inline:auto}
}
@media(max-width:720px){
  .accessibility-toggle::after{display:none}
  .accessibility-panel{width:min(340px,calc(100vw - 2rem))}
  .manufacturing-visual--machine{aspect-ratio:4/3;min-height:0}
  .manufacturing-visual--machine .manufacturing-main-image{min-height:0}
  .manufacturing-detail-card--tool{width:42%;right:.65rem;bottom:.65rem}
  .manufacturing-machine-badge{left:.65rem;top:.65rem;padding:.5rem .6rem}
}

/* Adhesive tactile paving */
.podo-hero{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.podo-hero h1{font-size:clamp(2.4rem,4.5vw,4.2rem)}
.podo-figure{margin:0;min-width:0}
.podo-figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
.podo-figure figcaption{font-size:.875rem;color:var(--muted);margin-top:.7rem;line-height:1.5}
.podo-product-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.podo-product-list article{padding:1.25rem 0;border-bottom:1px solid var(--line)}
.podo-page h3{font-size:1.25rem;line-height:1.25}
.podo-page .card-body p{font-size:1rem}
.podo-faq details{border-bottom:1px solid var(--line);padding:1.2rem 0}
.podo-faq summary{cursor:pointer;font-weight:750;color:var(--navy);font-size:1.0625rem}
.podo-faq details p{margin:1rem 0 0;max-width:850px}
@media(max-width:850px){.podo-hero,.podo-product-grid{grid-template-columns:1fr;gap:1.5rem}}

/* Keep the printed signature visible within catalog previews. */
.catalog-printed-brand .product-image-button img{object-fit:contain}

.product-view-switch[hidden]{display:none}
.premium-product-card[id]{scroll-margin-top:160px}

/* Professional project workflow */
#proceso-profesionales{scroll-margin-top:110px}
.professional-process{padding-left:1.4rem;margin:1.5rem 0 2rem}
.professional-process li{padding-left:.45rem;margin-bottom:1.25rem}
.professional-process li::marker{color:var(--navy);font-weight:800}
.professional-process h3{font-size:1.1rem;margin:0 0 .35rem}
.professional-process p{margin:0}

.form-help{font-size:.95rem;line-height:1.55;margin:.4rem 0;color:var(--muted)}

.sector-brief{margin:1rem 0;border-block:1px solid var(--line);padding:.85rem 0}.sector-brief summary{cursor:pointer;font-weight:750;line-height:1.5;color:var(--navy)}.sector-brief summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}.sector-brief h4{font-size:1rem;margin:1rem 0 .4rem}.sector-brief p{margin:.8rem 0 .25rem}.sector-card[id]{scroll-margin-top:110px}

/* Modular signage and documented projects */
#senalizacion-modular,#trabajos-reales{scroll-margin-top:110px}.modular-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin:2rem 0}.modular-grid article{padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:14px}.modular-grid h3{font-size:1.25rem}.modular-brief{max-width:900px;border-top:1px solid var(--line);padding-top:1.5rem}.project-photo-card figure{margin:0}.project-photo-card figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#edf3fa}.project-photo-card figcaption{padding:.75rem 1.5rem;font-size:.9rem;color:var(--muted)}@media(max-width:800px){.modular-grid{grid-template-columns:1fr}}

.project-photo-card figure{order:0}.project-photo-card .project-feature-copy{order:1}#parroquia-tres-cantos.project-feature-card--featured .project-feature-gallery img:first-child{object-fit:contain;aspect-ratio:4/3;background:#edf3fa}.modular-brief .stack-actions .stack-actions,.project-photo-card .stack-actions,#parroquia-tres-cantos .stack-actions{margin-top:1.25rem}

.modular-mockup{margin:1.75rem 0 2rem}.modular-mockup img{display:block;width:100%;height:auto;border-radius:20px;background:#edf3fa}.modular-mockup figcaption{margin-top:.6rem;font-size:.9rem;color:var(--muted)}

/* Product specification and installation sheet */
.model-product-sheet h3{font-size:1.15rem;margin:1.5rem 0 .75rem}.product-facts{margin:0}.product-facts>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.product-facts dt{font-weight:750;color:var(--navy)}.product-facts dd{margin:0;line-height:1.6}.product-sheet-detail{margin:1.25rem 0;border-top:1px solid var(--line);padding-top:1rem}.product-sheet-detail summary{cursor:pointer;font-weight:750;font-size:1.1rem;line-height:1.5;color:var(--navy)}.product-sheet-detail summary:focus-visible{outline:3px solid #225bcb;outline-offset:4px}.placement-product-figure{margin:1rem 0}.placement-product-figure svg{display:block;width:100%;height:auto}.placement-product-figure figcaption,.product-sheet-source{font-size:.9rem;line-height:1.5;margin-top:.6rem}@media(max-width:480px){.product-facts>div{grid-template-columns:1fr;gap:.25rem}}

.project-consult-actions{margin-top:1.25rem;gap:.65rem}.project-card[id],#familia-botoneras{scroll-margin-top:160px}.project-consult-actions .btn{white-space:normal;text-align:center}

/* Mobile resilience: dynamic viewport, long labels and accessible controls. */
.header-inner,.content-grid>*,.product-modal-grid>*,.field,.project-feature-copy{min-width:0}
.product-modal{max-height:calc(100dvh - 2rem)}
.product-modal-head{position:sticky;top:-1.25rem;z-index:2;background:#fff;padding-top:.65rem}
.product-modal-close{flex:0 0 44px}
.product-modal-head h2,.project-feature-copy h3,.contact-details a{overflow-wrap:anywhere}
@media(max-width:1120px){.site-nav{top:100%;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.site-nav a{min-height:44px}}
@media(max-width:700px){.header-inner{flex-wrap:wrap;gap:.5rem;padding-block:.5rem}.brand{min-width:0;max-width:65%}.brand img{max-width:100%}.site-nav{top:100%}.product-modal{max-height:calc(100dvh - 1rem);width:calc(100% - 1rem)}.product-modal-head{top:-.85rem}.product-modal-head h2{font-size:1.35rem}.product-modal-image{min-height:0}.product-modal-image img{max-height:50dvh;width:100%;height:auto;object-fit:contain}.product-view-switch button{min-height:44px}.product-detail-copy li,.pictogram-card__body p{font-size:1rem}.project-consult-actions,.stack-actions{flex-wrap:wrap}.btn{white-space:normal;overflow-wrap:anywhere}}

/* Solutions: plan and coordinated products */
.solutions-plan-hero{padding-block:2.8rem}.solutions-plan-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:2.5rem}.solutions-plan-layout h1{font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.1}.solutions-plan{margin:0;min-width:0;background:#fff;padding:.85rem;border:1px solid var(--line);border-radius:20px}.solutions-plan>svg{display:block;width:100%;height:auto}.solutions-plan-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.75rem}.solutions-plan-details a{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff}.solutions-plan-details img{width:100%;height:100px;object-fit:contain;background:#edf3fa}.solutions-plan-details span{padding:.6rem;font-size:.875rem;line-height:1.4}.solutions-plan-details b{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;border-radius:50%;width:1.35rem;height:1.35rem;margin-right:.2rem}.solutions-plan figcaption{font-size:.875rem;line-height:1.5;margin-top:.7rem;color:var(--muted)}@media(max-width:850px){.solutions-plan-layout{grid-template-columns:1fr;gap:1.3rem}.solutions-plan-hero{padding-block:2rem}}@media(max-width:420px){.solutions-plan-details{gap:.35rem}.solutions-plan-details img{height:80px}.solutions-plan-details span{padding:.4rem}}

.project-hero-photos{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:.9rem;align-items:center}.project-hero-photos figure{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.project-hero-photos img{width:100%;height:230px;object-fit:contain;background:#edf3fa}.project-hero-photos figure:first-child img{height:300px}.project-hero-photos figcaption{padding:.85rem;font-weight:700;line-height:1.5}.project-hero-photos figcaption span{display:block;color:var(--muted);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.project-hero-photos figcaption a{display:block;font-size:.875rem;margin-top:.6rem}@media(max-width:500px){.project-hero-photos{gap:.5rem}.project-hero-photos img{height:150px}.project-hero-photos figure:first-child img{height:220px}.project-hero-photos figcaption{padding:.65rem;font-size:.95rem}}

.project-design-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-design-pair figure img,.project-design-pair figure:first-child img{height:300px;object-fit:contain}.project-pair-caption{grid-column:1/-1;margin:0;font-size:.875rem;color:var(--muted);line-height:1.5}@media(max-width:500px){.project-design-pair figure img,.project-design-pair figure:first-child img{height:215px}}

/* Real technical sketch and approval workflow */
.technical-review{background:#f3f7fa;scroll-margin-top:110px}.technical-review-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.technical-review-layout>*{min-width:0}.technical-review-figure{margin:0;background:#fff;border:1px solid #dbe4ec;border-radius:18px;overflow:hidden}.technical-review-label{display:block;padding:18px 22px;background:#0a315e;color:#fff;font-size:.875rem}.technical-review-figure img{display:block;width:100%;height:auto;padding:20px;box-sizing:border-box}.technical-review-figure figcaption{padding:0 22px 22px;display:grid;gap:8px;font-size:.9375rem;line-height:1.6}.technical-review-figure figcaption strong{color:#0a315e;font-size:1.125rem}.technical-review-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:40px 0 0}.technical-review-steps li{border-top:2px solid #b7d9d3;padding-top:18px}.technical-review-steps li>span{font-weight:700;color:#0a315e;font-size:1rem}.technical-review-steps h3{font-size:1.125rem;margin:10px 0}.technical-review-steps p{font-size:1rem;line-height:1.65}.technical-review-note{font-size:.9375rem;margin-top:24px;color:#43586b}.technical-project-link{display:grid;grid-template-columns:minmax(220px,.65fr) 1.35fr;gap:32px;align-items:center;border:1px solid #dbe4ec;border-radius:18px;padding:28px;margin:36px 0;background:#f3f7fa;scroll-margin-top:110px}.technical-project-link img{display:block;width:100%;height:auto;border-radius:10px}.technical-project-link h2{font-size:1.6rem}.technical-project-link>div{min-width:0}@media(max-width:850px){.technical-review-layout,.technical-project-link{grid-template-columns:1fr}.technical-review-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-project-link{padding:22px}}@media(max-width:480px){.technical-review-steps{grid-template-columns:1fr;gap:12px}}

.solution-specs>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #dbe4ec}.solution-specs dt{font-weight:700;color:#0a315e}.solution-specs dd{margin:0}.dossier-download{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:16px;background:#edf5f4;margin-top:28px}.dossier-download .btn{flex-shrink:0}#fichas-profesionales details{scroll-margin-top:110px}@media(max-width:700px){.solution-specs>div{grid-template-columns:1fr;gap:6px}.dossier-download{flex-direction:column;align-items:flex-start;padding:22px}}

/* PREPRODUCCION V40 — asistente guiado de señalización */
.signage-assistant-toggle{position:fixed;right:1rem;bottom:1rem;z-index:1150;display:flex;align-items:center;gap:.65rem;min-height:52px;padding:.72rem 1rem;border:2px solid #fff;border-radius:999px;background:var(--navy);color:#fff;box-shadow:0 0 0 2px var(--navy),0 14px 34px rgba(10,49,94,.22);font:inherit;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.signage-assistant-toggle:hover,.signage-assistant-toggle:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 3px var(--mint),0 18px 38px rgba(10,49,94,.28)}
.signage-assistant-toggle svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.signage-assistant-toggle svg circle{fill:currentColor;stroke:none}
.signage-assistant-panel{position:fixed;right:1rem;bottom:5.7rem;z-index:1160;width:min(430px,calc(100vw - 2rem));max-height:calc(100dvh - 7rem);overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 24px 64px rgba(10,49,94,.24)}
.signage-assistant-panel[hidden]{display:none}
.signage-assistant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.signage-assistant-kicker{display:block;margin-bottom:.15rem;color:var(--mint-dark);font-size:.76rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
.signage-assistant-head h2{margin:0;color:var(--navy);font-size:1.28rem;line-height:1.2}
.signage-assistant-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:-.4rem -.35rem 0 0;border:0;border-radius:50%;background:#edf5f4;color:var(--navy);font-size:1.75rem;line-height:1;cursor:pointer}
.signage-assistant-close:hover,.signage-assistant-close:focus-visible{background:var(--navy);color:#fff}
.signage-assistant-progress{margin:.9rem 0 .35rem;color:var(--mint-dark);font-size:.82rem;font-weight:800}
.signage-assistant-content h3{margin:.25rem 0 .4rem;color:var(--navy);font-size:1.18rem;line-height:1.3;outline:none}
.signage-assistant-help{margin:0 0 1rem;color:var(--muted);font-size:.92rem;line-height:1.55}
.signage-assistant-options{display:grid;gap:.55rem}
.signage-assistant-option{width:100%;min-height:48px;padding:.72rem .85rem;border:1px solid #cbd9e2;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:700;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.signage-assistant-option:hover,.signage-assistant-option:focus-visible{border-color:var(--navy);background:var(--mint-soft);transform:translateX(2px)}
.signage-assistant-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}
.signage-assistant-nav button{min-height:44px;padding:.5rem .25rem;border:0;background:transparent;color:var(--navy);font:inherit;font-size:.86rem;font-weight:800;text-decoration:underline;cursor:pointer}
.signage-assistant-nav button[hidden]{display:none}
.signage-assistant-summary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);margin:.9rem 0 1rem;border-top:1px solid var(--line)}
.signage-assistant-summary dt,.signage-assistant-summary dd{margin:0;padding:.62rem 0;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.4}
.signage-assistant-summary dt{padding-right:.7rem;color:var(--muted);font-weight:700}
.signage-assistant-summary dd{color:var(--navy);font-weight:800}
.signage-assistant-note{margin:.9rem 0;color:var(--muted);font-size:.84rem;line-height:1.5}
.signage-assistant-cta{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;text-align:center}
body.high-contrast .signage-assistant-panel,body.high-contrast .signage-assistant-option{border:2px solid #000;box-shadow:none}
body.high-contrast .signage-assistant-toggle,body.high-contrast .signage-assistant-close:hover,body.high-contrast .signage-assistant-close:focus-visible{background:#000;color:#fff}
body.high-contrast .signage-assistant-close{border:2px solid #000;background:#fff;color:#000}
@media(max-width:700px){
  .signage-assistant-toggle{right:5rem;width:52px;padding:.65rem;justify-content:center}
  .signage-assistant-toggle span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .signage-assistant-panel{right:.5rem;bottom:5rem;width:calc(100vw - 1rem);max-height:calc(100dvh - 6rem)}
}
@media(max-width:480px){
  .signage-assistant-panel{padding:1rem;border-radius:16px}
  .signage-assistant-head h2{font-size:1.15rem}
  .signage-assistant-summary{grid-template-columns:1fr}
  .signage-assistant-summary dt{padding-bottom:.15rem;border-bottom:0}
  .signage-assistant-summary dd{padding-top:.15rem}
}
@media print{.signage-assistant{display:none!important}}

/* Ajustes previos a publicación: cabecera estable y consentimiento compacto. */
@media(max-width:1280px){
  .header-phone{display:none}
}

.cookie-banner{left:.75rem;right:.75rem;bottom:.75rem;max-width:980px;border-radius:13px}
.cookie-banner-inner{grid-template-columns:minmax(0,1fr) auto;gap:.85rem;padding:.75rem .9rem}
.cookie-banner strong{font-size:.95rem}
.cookie-banner p{margin:.08rem 0 .16rem;font-size:.82rem;line-height:1.4}
.cookie-banner a{font-size:.8rem}
.cookie-banner-actions{display:grid;grid-template-columns:repeat(3,max-content);gap:.4rem;align-items:center;justify-content:end}
.cookie-banner-actions .cookie-btn{min-width:0;min-height:44px;padding:.48rem .68rem;font-size:.82rem}

@media(max-width:900px){
  .cookie-banner-inner{grid-template-columns:1fr;gap:.55rem}
  .cookie-banner-actions{justify-content:start}
}

@media(max-width:700px){
  .cookie-banner{left:.4rem;right:.4rem;bottom:.4rem}
  .cookie-banner-inner{padding:.65rem .7rem}
  .cookie-banner-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .cookie-banner-actions .cookie-btn{width:100%;padding:.45rem .3rem;font-size:.78rem}
}

/* Consent choices: readable descriptions and a visible keyboard focus. */
.cookie-modal{width:min(760px,calc(100vw - 2rem))}
.cookie-modal .cookie-pref p{font-size:16px;line-height:1.45}
.cookie-modal .cookie-pref strong{font-size:17px}
.cookie-pref input:disabled+.switch{opacity:.45;cursor:not-allowed}
