:root{
  --cyan:#00A0DD;
  --blue:#00548D;
  --blue-2:#0b6f9d;
  --ink:#071b2b;
  --ink-2:#102f43;
  --text:#17222d;
  --muted:#647482;
  --paper:#f6f8f8;
  --soft:#eaf7fb;
  --line:#dce8ed;
  --white:#fff;
  --radius:26px;
  --radius-lg:38px;
  --shadow:0 24px 70px rgba(7,27,43,.12);
  --shadow-soft:0 12px 36px rgba(7,27,43,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Open Sans',Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
.container{width:min(1220px,calc(100% - 40px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
h1,h2,h3{font-family:'Montserrat',sans-serif;margin:0;color:var(--ink);line-height:1.02;letter-spacing:-.045em}
h1{font-size:clamp(3rem,7.1vw,6.8rem);font-weight:800}
h2{font-size:clamp(2.15rem,4.4vw,4.35rem);font-weight:800}
h3{font-size:1.15rem;font-weight:700}
p{margin:0;color:var(--muted)}
.micro-label{display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.micro-label:before{content:'';width:28px;height:2px;background:var(--cyan);border-radius:2px}
.micro-label-light{color:#d7f4ff}.micro-label-light:before{background:#fff}
.section-section{padding:104px 0}

/* Header */
.utility-bar{background:var(--ink);color:#dceaf0;font-size:.74rem}
.utility-inner{height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.utility-label{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;color:#9fc1d0}
.utility-links{display:flex;align-items:center;gap:12px}.utility-links a:hover{color:#fff}.utility-dot{width:3px;height:3px;border-radius:50%;background:var(--cyan)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(7,27,43,.08);transition:box-shadow .25s ease}
.site-header.scrolled{box-shadow:0 12px 32px rgba(7,27,43,.08)}
.header-inner{height:78px;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;width:max-content}.brand img{width:195px;height:auto}
.main-nav{grid-column:2/4;justify-self:end;display:flex;align-items:center;gap:31px}
.main-nav>a{font-family:'Montserrat',sans-serif;font-size:.79rem;font-weight:700;color:#4d5c66;position:relative;padding:30px 0}
.main-nav>a:hover,.main-nav>a.active{color:var(--ink)}
.main-nav>a:after{content:'';position:absolute;left:50%;right:50%;bottom:20px;height:2px;background:var(--cyan);transition:.22s ease}
.main-nav>a:hover:after,.main-nav>a.active:after{left:0;right:0}
.quote-nav{display:flex!important;align-items:center;gap:8px}.quote-count{min-width:21px;height:21px;padding:0 6px;border-radius:99px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.66rem}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;justify-self:end}.menu-toggle span:not(.sr-only){display:block;width:28px;height:2px;background:var(--ink);margin:6px 0;border-radius:3px}.mobile-contact-links{display:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:14px 22px;border:1px solid transparent;border-radius:999px;font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease,border .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 14px 30px rgba(7,27,43,.18)}.btn-primary:hover{background:var(--blue)}
.btn-ghost{border-color:#cfdce2;background:transparent;color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}
.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:#dff5ff}
.btn-full{width:100%}
.text-link{display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:.8rem;font-weight:700;color:var(--ink);margin-top:26px}.text-link span{color:var(--cyan);font-size:1rem}

/* Home hero */
.home-hero{padding:52px 0 74px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f7fafb 100%)}
.home-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:68px}
.home-hero-copy h1{font-size:clamp(3.4rem,6.2vw,6.4rem);max-width:720px}
.home-hero-copy>p{font-size:1.08rem;line-height:1.75;max-width:650px;margin:28px 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-sectors{display:flex;gap:18px;flex-wrap:wrap;margin-top:42px;padding-top:22px;border-top:1px solid var(--line);font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:700;color:#536674;text-transform:uppercase;letter-spacing:.05em}.hero-sectors span{display:flex;align-items:center;gap:8px}.hero-sectors span:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--cyan)}
.home-hero-media{position:relative;min-width:0;padding:0 28px 36px 0}
.hero-photo-frame{margin:0;position:relative;overflow:hidden;border-radius:46px 46px 120px 46px;box-shadow:var(--shadow);background:var(--ink);aspect-ratio:1.05/1}
.hero-photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(7,27,43,.6) 100%)}
.hero-photo-frame img{width:100%;height:100%;object-fit:cover}
.hero-photo-frame figcaption{position:absolute;z-index:2;left:30px;bottom:27px;color:#fff}.hero-photo-frame figcaption span{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.hero-photo-frame figcaption strong{display:block;font-family:'Montserrat',sans-serif;font-size:1rem;margin-top:3px}
.hero-orbit-card{position:absolute;z-index:4;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid rgba(7,27,43,.08);box-shadow:0 14px 36px rgba(7,27,43,.12);border-radius:16px;padding:12px 15px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;color:var(--ink)}.hero-orbit-card span{color:var(--cyan);margin-right:7px}.hero-orbit-card-a{left:-18px;top:14%}.hero-orbit-card-b{right:0;top:38%}.hero-orbit-card-c{left:8%;bottom:4%}

/* Section heading */
.section-title-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:48px;margin-bottom:46px}.section-title-grid h2{max-width:760px;text-wrap:balance}.section-title-grid>p{font-size:1rem;line-height:1.75;max-width:500px;justify-self:end}

/* Line bento */
.line-bento{display:grid;grid-template-columns:1.18fr .82fr .82fr;grid-template-rows:280px 260px;gap:16px}
.line-bento-card{position:relative;overflow:hidden;border-radius:32px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .26s ease,box-shadow .26s ease;isolation:isolate}.line-bento-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}
.line-bento-featured{grid-row:1/3;background:var(--ink);color:#fff}.line-bento-featured h3{color:#fff;font-size:clamp(2.25rem,4vw,4.3rem);max-width:500px}.line-bento-food{grid-column:2/4;background:linear-gradient(120deg,#00548D,#0084bd);color:#fff}.line-bento-food h3{color:#fff;font-size:2.1rem}.line-bento-cosmetic{background:#dff5ff;color:var(--ink)}.line-bento-barriers{background:#edf2f4;color:var(--ink)}
.line-card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.line-index{font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.12em;opacity:.7}.line-arrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;opacity:.65;transition:.22s ease}.line-bento-card:hover .line-arrow{transform:rotate(45deg);opacity:1}
.line-card-copy{position:relative;z-index:2}.line-kicker{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;opacity:.65;margin-bottom:8px}.line-card-copy h3{margin-bottom:14px;font-size:1.65rem;max-width:410px}.line-link{font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:700}.line-pattern{position:absolute;right:-100px;top:52%;width:380px;height:380px;border:1px solid rgba(255,255,255,.14);border-radius:50%;z-index:0}.line-pattern:before,.line-pattern:after{content:'';position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}.line-pattern:before{inset:56px}.line-pattern:after{inset:116px}

/* Operations strip */
.operations-strip{background:var(--ink);padding:26px 0}
.operations-grid{display:grid;grid-template-columns:1.1fr .9fr .55fr;gap:18px;min-height:510px}
.operations-photo{position:relative;overflow:hidden;border-radius:28px;min-height:0}.operations-photo img{width:100%;height:100%;object-fit:cover}.operations-photo-wide{min-height:510px}.operations-photo-portrait{min-height:510px}.photo-label{position:absolute;left:20px;bottom:18px;color:#fff;background:rgba(7,27,43,.78);padding:8px 12px;border-radius:99px;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.operations-copy{padding:44px 34px;color:#fff;display:flex;flex-direction:column;justify-content:center}.operations-copy h2{color:#fff;font-size:clamp(2rem,3.6vw,4rem)}.operations-points{display:grid;margin-top:34px;border-top:1px solid rgba(255,255,255,.16)}.operations-points span{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:600;color:#d6e8f0}

/* Featured products */
.featured-section{background:#fff}
.featured-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:84px;align-items:start}.featured-intro{position:sticky;top:145px}.featured-intro p{font-size:1rem;line-height:1.75;max-width:430px;margin-top:20px}
.featured-family{border-top:1px solid var(--line)}.featured-family:last-child{border-bottom:1px solid var(--line)}.featured-family summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:54px 1fr 34px;align-items:center;gap:14px;padding:22px 0}.featured-family summary::-webkit-details-marker{display:none}.family-index{font-family:'Montserrat',sans-serif;font-size:.69rem;font-weight:800;color:var(--cyan)}.family-name{font-family:'Montserrat',sans-serif;font-size:1.28rem;font-weight:700;color:var(--ink)}.family-toggle{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;position:relative}.family-toggle:before,.family-toggle:after{content:'';position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}.family-toggle:after{transform:translate(-50%,-50%) rotate(90deg);transition:.2s}.featured-family[open] .family-toggle:after{transform:translate(-50%,-50%) rotate(0)}
.featured-products{padding:0 0 18px 68px}.featured-product-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px dashed #e5edef;font-size:.88rem}.featured-product-row:first-child{border-top:0}.add-circle{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;border:1px solid #c5d8e0;background:#fff;color:var(--ink);cursor:pointer;font-size:1.2rem;transition:.2s}.add-circle:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Why */
.why-section{background:var(--paper)}.why-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:44px}.why-heading .micro-label{align-self:start}.why-list{border-top:1px solid #cbd8de}.why-item{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:26px;padding:28px 0;border-bottom:1px solid #cbd8de}.why-item>span{font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;color:var(--cyan)}.why-item h3{font-size:clamp(1.35rem,2.3vw,2.4rem);font-weight:700;letter-spacing:-.03em}

/* Final CTA */
.final-cta{background:linear-gradient(120deg,var(--blue),var(--cyan));padding:92px 0}.final-cta-inner{display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px}.final-cta-inner .micro-label{grid-column:1/-1}.final-cta h2{color:#fff;max-width:900px}

/* About */
.about-hero{padding:64px 0 38px;background:#fff}.about-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:end}.about-hero-copy{padding-bottom:28px}.about-hero-copy h1{font-size:clamp(3.1rem,4.9vw,5.2rem);text-wrap:balance}.about-hero-copy p{font-size:1.05rem;line-height:1.8;max-width:620px;margin-top:26px}.about-hero-photo{margin:0;position:relative;overflow:hidden;border-radius:32px 32px 90px 32px;aspect-ratio:1.25/1;background:var(--ink)}.about-hero-photo img{width:100%;height:100%;object-fit:cover}.about-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(7,27,43,.58))}.about-hero-photo figcaption,.about-process-photo figcaption{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.about-editorial{background:var(--paper)}.about-editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(130px,auto);gap:16px}.about-block{border-radius:28px;padding:34px;position:relative;overflow:hidden}.about-block p{font-size:1rem;line-height:1.8}.about-block-main{grid-column:span 8;background:#fff;border:1px solid var(--line);min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}.about-block-main h2{font-size:clamp(2.4rem,4.5vw,4.6rem);max-width:800px}.about-block-main p{max-width:720px;margin-top:24px}.about-block-history{grid-column:span 4;background:#dff5ff;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}.about-process-photo{grid-column:span 4;grid-row:span 2;margin:0;border-radius:28px;overflow:hidden;position:relative;min-height:600px}.about-process-photo img{width:100%;height:100%;object-fit:cover}.about-process-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 72%,rgba(7,27,43,.55))}.about-block-mission{grid-column:span 4;background:var(--ink);color:#fff;min-height:292px;display:flex;flex-direction:column;justify-content:flex-end}.about-block-mission p{color:#d7e8ef}.about-block-vision{grid-column:span 4;background:#fff;border:1px solid var(--line);min-height:292px;display:flex;flex-direction:column;justify-content:flex-end}.about-number{position:absolute;right:25px;top:20px;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:800;opacity:.45}
.values-section{background:#fff}.values-title{display:grid;grid-template-columns:.4fr 1fr;gap:50px;align-items:end;margin-bottom:40px}.values-marquee{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.values-marquee span{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(1.35rem,2.4vw,2.6rem);padding:22px 28px 22px 0;margin-right:28px;position:relative}.values-marquee span:not(:last-child):after{content:'•';position:absolute;right:-2px;color:var(--cyan)}
.sectors-section{background:#f6f8f8;padding-top:90px}.sector-panels{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbd7dc;border-bottom:1px solid #cbd7dc}.sector-panel{min-height:190px;padding:28px;border-right:1px solid #cbd7dc;display:flex;flex-direction:column;justify-content:space-between}.sector-panel:last-child{border-right:0}.sector-panel span{font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:800;color:var(--cyan)}.sector-panel strong{font-family:'Montserrat',sans-serif;font-size:clamp(1.5rem,2.4vw,2.5rem);color:var(--ink)}

/* Catalog */
.catalog-hero{background:var(--ink);color:#fff;padding:66px 0 58px}.catalog-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.catalog-hero h1{color:#fff;font-size:clamp(3.2rem,5.8vw,6rem);max-width:850px}.catalog-hero-note{padding-bottom:10px}.catalog-hero-note p{color:#c4d5dd;font-size:1rem;line-height:1.75;max-width:480px}.catalog-quote-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:#fff}.catalog-quote-link span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:99px;background:var(--cyan);font-size:.68rem}
.catalog-main{padding:54px 0 100px}.catalog-control-shell{position:sticky;top:110px;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);padding:18px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft);margin-bottom:30px}.catalog-search{display:grid;grid-template-columns:1fr auto;gap:10px}.search-field{min-height:54px;border:1px solid #cbd9df;border-radius:999px;display:flex;align-items:center;gap:12px;padding:0 18px;background:#fff}.search-field input{border:0;outline:0;width:100%;font-size:.95rem;background:transparent}.search-symbol{font-size:1.25rem;color:var(--blue)}.line-filter{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.line-filter a{padding:9px 13px;border-radius:999px;background:#f0f4f5;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:700;color:#52636d}.line-filter a:hover,.line-filter a.active{background:var(--ink);color:#fff}.catalog-meta{display:flex;justify-content:space-between;align-items:center;margin:0 4px 16px;font-size:.83rem;color:var(--muted)}.catalog-meta strong{color:var(--ink)}.catalog-meta a{font-weight:700;color:var(--blue)}
.catalog-list{border-top:1px solid #cbd8de}.catalog-list-head,.catalog-product{display:grid;grid-template-columns:1fr 260px 160px;align-items:center;gap:20px}.catalog-list-head{padding:0 14px 12px;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#81909a}.catalog-product{padding:19px 14px;border-bottom:1px solid #dbe5e9;transition:background .18s ease}.catalog-product:hover{background:#f7fafb}.catalog-product-name{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:8px}.catalog-row-number{font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:800;color:#9aabb5}.catalog-product h2{font-size:1.02rem;letter-spacing:-.015em;line-height:1.35;font-weight:700}.catalog-line-tag{justify-self:start;font-size:.66rem;font-weight:700;color:var(--blue);background:#eaf7fb;border-radius:999px;padding:6px 9px}.catalog-add{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;border:0;background:none;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:700;cursor:pointer;color:var(--ink)}.catalog-add b{width:32px;height:32px;border:1px solid #bfd0d8;border-radius:50%;display:grid;place-items:center;font-size:1rem;font-weight:400;transition:.18s}.catalog-add:hover b{background:var(--ink);border-color:var(--ink);color:#fff}.quote-toast{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:#e5f8ff;border:1px solid #bfe9f7;border-radius:18px;margin-bottom:18px;font-size:.82rem}.quote-toast>div:first-child{display:flex;align-items:center;gap:10px}.quote-toast-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:#fff}.quote-toast-actions{display:flex;align-items:center;gap:16px;font-weight:700}.quote-toast-primary{color:var(--blue)}
.pagination{display:flex;gap:7px;justify-content:center;align-items:center;margin-top:32px}.pagination a{min-width:40px;height:40px;padding:0 10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;color:var(--ink)}.pagination a.active{background:var(--ink);border-color:var(--ink);color:#fff}.pagination-wide{width:auto!important;padding:0 14px!important}
.services-section{background:var(--ink);color:#fff;padding:92px 0}.services-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.services-intro{position:sticky;top:142px;align-self:start}.services-intro h2{color:#fff}.services-intro p{color:#c5d9e2;margin-top:20px;max-width:440px}.services-list{border-top:1px solid rgba(255,255,255,.18)}.service-row{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.18)}.service-index{font-family:'Montserrat',sans-serif;font-size:.67rem;font-weight:800;color:var(--cyan)}.service-row h3{color:#fff;font-size:1.2rem;line-height:1.4}.service-add{border:0;background:none;color:#fff;display:flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:700;cursor:pointer}.service-add span{width:32px;height:32px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;font-size:1rem}

/* Quote */
.quote-hero{background:linear-gradient(125deg,var(--ink),#0b5275);color:#fff;padding:62px 0 0}.quote-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.quote-hero h1{color:#fff;font-size:clamp(3rem,5.4vw,5.8rem);max-width:820px}.quote-hero-copy{color:#c5d9e2;font-size:1rem;line-height:1.75;padding-bottom:8px}.quote-steps{display:grid;grid-template-columns:repeat(6,1fr);margin-top:46px;border-top:1px solid rgba(255,255,255,.18)}.quote-steps span{padding:13px 12px 15px 0;border-right:1px solid rgba(255,255,255,.13);font-family:'Montserrat',sans-serif;font-size:.59rem;font-weight:700;color:#92afbd;white-space:nowrap}.quote-steps span:last-child{border-right:0}.quote-steps .active{color:#fff}.quote-steps .active:before{content:'•';color:var(--cyan);margin-right:7px}
.quote-page{background:#f5f7f8}.quote-form-layout{display:grid;grid-template-columns:1.28fr .72fr;gap:28px;align-items:start}.quote-column-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:18px}.quote-column-head h2{font-size:2rem}.quote-items{display:grid;gap:14px}.quote-item{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:0 8px 24px rgba(7,27,43,.04)}.quote-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.quote-item-title{display:flex;align-items:flex-start;gap:18px}.quote-item-index{width:38px;height:38px;border-radius:12px;background:#e7f6fb;color:var(--blue);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:800;flex:0 0 auto}.product-line{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--blue)}.quote-item h3{font-size:1.2rem;line-height:1.35;letter-spacing:-.02em;margin-top:4px}.link-danger{border:0;background:none;color:#9a3c32;font-weight:700;cursor:pointer;font-size:.76rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label>span{display:block;margin-bottom:7px;font-size:.72rem;font-weight:700;color:#44535d}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cfdce2;border-radius:13px;background:#fff;padding:12px 13px;outline:0;transition:.18s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,160,221,.11)}.span-2{grid-column:1/-1}.quote-client-column{position:sticky;top:132px}.client-card{background:var(--ink);color:#fff;border-radius:30px;padding:28px}.client-card h2{color:#fff;font-size:2rem;margin-bottom:22px}.client-card .micro-label{color:#d7f4ff}.client-card .client-fields{grid-template-columns:1fr}.client-card .form-grid label>span{color:#bfd3dc}.client-card .form-grid input,.client-card .form-grid textarea{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}.client-card .form-grid input::placeholder,.client-card .form-grid textarea::placeholder{color:#8aa5b3}.client-card .btn-primary{background:var(--cyan);margin-top:20px}.client-card .btn-primary:hover{background:#fff;color:var(--ink)}.quote-back-link{display:block;text-align:center;color:#bdd2dc;font-size:.75rem;font-weight:700;margin-top:16px}.success-panel{max-width:820px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:34px;padding:60px 38px}.success-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:var(--cyan);color:#fff;font-size:1.6rem;margin:0 auto 22px}.success-panel p{max-width:650px;margin:20px auto 26px;line-height:1.8}.notice.error{background:#fff1ee;border:1px solid #f3c8c0;color:#743128;border-radius:18px;padding:16px 18px;margin-bottom:22px}.notice.error ul{margin:8px 0 0;padding-left:18px}.hidden{display:none!important}
.empty-state{text-align:center;padding:70px 24px;border:1px dashed #b6cad3;border-radius:28px;background:#fff}.empty-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e8f7fc;color:var(--blue);font-size:1.5rem}.empty-state p{margin:14px auto 22px;max-width:500px}

/* Contact */
.contact-hero{background:var(--ink);color:#fff;padding:92px 0}.contact-hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:end}.contact-title h1{color:#fff}.contact-title p{color:#bcd1db;font-size:1rem;margin-top:22px}.contact-primary{border-top:1px solid rgba(255,255,255,.2);padding-top:22px}.contact-caption{display:block;font-family:'Montserrat',sans-serif;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#88a9b9;margin-bottom:12px}.contact-primary a{font-family:'Montserrat',sans-serif;font-size:clamp(1.8rem,4vw,4.7rem);font-weight:700;letter-spacing:-.04em;color:#fff;line-height:1.05;word-break:break-word}.contact-primary a:hover{color:#75d6f4}
.contact-details{background:#fff}.contact-detail-grid{display:grid;grid-template-columns:1.2fr .7fr .9fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-detail{padding:28px;border-right:1px solid var(--line);min-height:220px;display:flex;flex-direction:column}.contact-detail:last-child{border-right:0}.contact-index{font-family:'Montserrat',sans-serif;font-size:.66rem;font-weight:800;color:var(--cyan);margin-bottom:auto}.contact-detail h2{font-size:clamp(1.25rem,2.2vw,2.35rem);line-height:1.25;letter-spacing:-.03em}.contact-detail h2 a:hover{color:var(--blue)}.contact-photo{margin-top:40px;position:relative;overflow:hidden;border-radius:34px;max-height:540px}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(7,27,43,.5))}.contact-photo span{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}

/* Floating email */
.floating-mail{position:fixed;right:20px;bottom:20px;z-index:70;height:52px;padding:0 17px 0 7px;border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 16px 34px rgba(7,27,43,.22);display:flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;transition:.2s}.floating-mail:hover{transform:translateY(-2px);background:var(--blue)}.floating-mail-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);font-size:1rem}

/* Footer */
.site-footer{background:#061722;color:#fff;padding:72px 0 22px}.footer-top{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.14)}.footer-brand-block img{width:215px;filter:brightness(0) invert(1);opacity:.95}.footer-brand-block p{color:#9fbbc8;max-width:420px;margin-top:20px;font-size:.88rem}.footer-kicker{display:block;font-family:'Montserrat',sans-serif;font-size:.64rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#7fa5b7;margin-bottom:10px}.footer-big-link{font-family:'Montserrat',sans-serif;font-size:clamp(1.7rem,4vw,4.4rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;color:#fff;word-break:break-word}.footer-big-link:hover{color:#75d6f4}.footer-phone{display:block;margin-top:14px;color:#b8d0da;font-weight:600}.footer-middle{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:60px;padding:38px 0}.footer-middle p{color:#b8ccd5;font-size:.84rem;max-width:390px}.footer-nav{display:flex;gap:10px 20px;flex-wrap:wrap}.footer-nav a{color:#d6e4ea;font-size:.82rem}.footer-nav a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#7897a6;font-size:.7rem}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}

/* Responsive */
@media (max-width:1050px){
  .header-inner{grid-template-columns:190px 1fr}.main-nav{grid-column:auto;gap:20px}.main-nav>a{font-size:.72rem}.brand img{width:175px}
  .home-hero-grid,.about-hero-grid{grid-template-columns:1fr}.home-hero-media{max-width:760px}.home-hero-copy h1{max-width:900px}.hero-photo-frame{aspect-ratio:1.35/1}
  .featured-layout,.services-layout{grid-template-columns:1fr;gap:44px}.featured-intro,.services-intro{position:static}.featured-intro{max-width:720px}
  .operations-grid{grid-template-columns:1.15fr .85fr}.operations-photo-portrait{display:none}
  .about-block-main{grid-column:span 7}.about-block-history{grid-column:span 5}.about-process-photo{grid-column:span 5}.about-block-mission,.about-block-vision{grid-column:span 7}
  .catalog-list-head,.catalog-product{grid-template-columns:1fr 210px 135px}
  .quote-form-layout{grid-template-columns:1fr}.quote-client-column{position:static}.client-card .client-fields{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .utility-bar{display:none}.site-header{top:0}.header-inner{height:76px;display:flex;justify-content:space-between}.brand img{width:170px}.menu-toggle{display:block}.main-nav{position:fixed;left:12px;right:12px;top:88px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav>a{padding:13px 12px;border-bottom:1px solid #edf1f3}.main-nav>a:last-of-type{border-bottom:0}.main-nav>a:after{display:none}.quote-count{margin-left:auto}.mobile-contact-links{display:grid;gap:8px;padding:14px 12px 4px}.mobile-contact-links a{font-size:.76rem;color:var(--blue);font-weight:700}
  .container{width:min(100% - 28px,1220px)}.section-section{padding:78px 0}
  .home-hero{padding-top:38px}.home-hero-grid{gap:38px}.home-hero-copy h1{font-size:clamp(3rem,12vw,5rem)}.home-hero-copy>p{font-size:1rem}.hero-orbit-card-b{right:-8px}.hero-orbit-card-a{left:-6px}.hero-photo-frame{border-radius:32px 32px 72px 32px}
  .section-title-grid,.why-heading,.values-title,.catalog-hero-grid,.quote-hero-grid,.contact-hero-grid,.footer-top{grid-template-columns:1fr;gap:24px}.section-title-grid>p{justify-self:start}.why-heading{margin-bottom:28px}.values-title{margin-bottom:28px}
  .line-bento{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}.line-bento-featured{grid-column:1/3;grid-row:auto}.line-bento-food{grid-column:1/3}.line-bento-cosmetic,.line-bento-barriers{grid-column:auto}.line-bento-featured h3{font-size:3rem}
  .operations-grid{grid-template-columns:1fr}.operations-photo-wide{min-height:380px}.operations-copy{padding:32px 6px}.operations-photo-portrait{display:block;min-height:420px;max-height:560px}
  .featured-products{padding-left:0}.featured-family summary{grid-template-columns:45px 1fr 34px}.why-item{grid-template-columns:60px 1fr}
  .final-cta-inner{grid-template-columns:1fr;align-items:start;gap:28px}
  .about-editorial-grid{grid-template-columns:1fr}.about-block-main,.about-block-history,.about-process-photo,.about-block-mission,.about-block-vision{grid-column:auto}.about-process-photo{min-height:520px}.sector-panels{grid-template-columns:1fr}.sector-panel{border-right:0;border-bottom:1px solid #cbd7dc;min-height:150px}.sector-panel:last-child{border-bottom:0}
  .catalog-control-shell{top:88px}.catalog-list-head{display:none}.catalog-product{grid-template-columns:1fr auto;gap:12px 18px}.catalog-product-name{grid-column:1/2}.catalog-line-tag{grid-column:1/2;margin-left:60px}.catalog-product form{grid-column:2/3;grid-row:1/3}.catalog-add span{display:none}.catalog-add b{width:42px;height:42px}.services-layout{gap:34px}
  .quote-steps{overflow-x:auto;grid-template-columns:repeat(6,150px)}.quote-steps span{padding-left:2px}.quote-column-head{align-items:flex-start}.client-card .client-fields{grid-template-columns:1fr}
  .contact-detail-grid{grid-template-columns:1fr}.contact-detail{border-right:0;border-bottom:1px solid var(--line);min-height:170px}.contact-detail:last-child{border-bottom:0}.contact-primary a{font-size:clamp(1.6rem,7.5vw,3.5rem)}
  .footer-middle{grid-template-columns:1fr 1fr;gap:36px}.footer-middle>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}
}
@media (max-width:560px){
  .container{width:min(100% - 22px,1220px)}.section-section{padding:64px 0}
  h1{font-size:clamp(2.8rem,13vw,4.4rem)}h2{font-size:clamp(2rem,10vw,3.4rem)}
  .home-hero{padding-bottom:54px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-sectors{gap:10px 14px}.hero-sectors span{font-size:.64rem}.home-hero-media{padding:0 0 26px}.hero-photo-frame{aspect-ratio:.92/1;border-radius:28px 28px 64px 28px}.hero-photo-frame img{object-position:48% center}.hero-orbit-card{font-size:.61rem;padding:10px 12px}.hero-orbit-card-a{top:9%}.hero-orbit-card-b{top:auto;bottom:16%;right:-4px}.hero-orbit-card-c{left:6%;bottom:0}
  .line-bento{display:grid;grid-template-columns:1fr;grid-template-rows:none}.line-bento-featured,.line-bento-food,.line-bento-cosmetic,.line-bento-barriers{grid-column:auto;min-height:220px}.line-bento-featured{min-height:300px}.line-bento-featured h3{font-size:2.55rem}.line-bento-food h3,.line-card-copy h3{font-size:1.55rem}
  .operations-photo-wide{min-height:300px}.operations-photo-portrait{min-height:420px}.operations-copy h2{font-size:2.6rem}
  .family-name{font-size:1rem}.featured-product-row{font-size:.82rem}.why-item{grid-template-columns:42px 1fr;padding:22px 0}.why-item h3{font-size:1.3rem}
  .about-hero{padding-top:38px}.about-hero-photo{aspect-ratio:.92/1;border-radius:26px 26px 65px 26px}.about-block{padding:26px}.about-block-main{min-height:340px}.about-block-main h2{font-size:2.5rem}.about-process-photo{min-height:480px}.values-marquee span{font-size:1.28rem;padding:18px 24px 18px 0;margin-right:24px}
  .catalog-hero{padding:46px 0 44px}.catalog-control-shell{top:84px;padding:12px;border-radius:18px}.catalog-search{grid-template-columns:1fr}.catalog-search .btn{width:100%}.line-filter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.line-filter a{white-space:nowrap}.catalog-product{padding:17px 6px}.catalog-product-name{grid-template-columns:37px 1fr}.catalog-line-tag{margin-left:45px}.catalog-row-number{font-size:.58rem}.catalog-product h2{font-size:.93rem}.quote-toast{align-items:flex-start;flex-direction:column}.quote-toast-actions{width:100%;justify-content:space-between}.pagination-wide{display:none!important}
  .service-row{grid-template-columns:40px 1fr;gap:12px}.service-row form{grid-column:2/3}.service-add{justify-content:flex-start}
  .quote-page{padding-top:54px}.quote-column-head{display:grid}.quote-item{padding:20px}.quote-item-title{gap:12px}.quote-item-index{width:34px;height:34px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.client-card{padding:22px}.quote-hero{padding-top:46px}.quote-hero-copy{padding-bottom:0}
  .contact-hero{padding:64px 0}.contact-detail{padding:22px}.contact-photo{border-radius:24px;margin-top:26px;aspect-ratio:.95/1}.contact-photo img{height:100%;object-position:50% center}
  .floating-mail{width:50px;padding:0;height:50px;border-radius:50%;right:14px;bottom:14px}.floating-mail-label{display:none}.floating-mail-icon{width:50px;height:50px;background:transparent}
  .site-footer{padding-top:58px}.footer-top{gap:36px}.footer-middle{grid-template-columns:1fr}.footer-middle>div:last-child{grid-column:auto}.footer-big-link{font-size:1.55rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}.btn,.line-bento-card,.catalog-add b,.line-arrow{transition:none!important}}

/* DIFARME · Catálogo / cotización / correo · 2026-09-22 */
.catalog-control-shell { scroll-margin-top:110px; }
.catalog-view-nav {
  display:inline-flex; align-items:center; gap:5px; padding:5px;
  border-radius:999px; background:#edf3f6; margin-bottom:18px; max-width:100%;
}
.catalog-view-link {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:44px; padding:10px 18px; border-radius:999px;
  font-family:'Montserrat',sans-serif; font-size:.79rem; font-weight:700;
  color:#475e6c; transition:background .18s ease,color .18s ease;
}
.catalog-view-link:hover { background:#dfeaf0; color:var(--ink); }
.catalog-view-link.active { background:var(--ink); color:#fff; box-shadow:0 4px 12px rgba(7,27,43,.12); }
.catalog-view-link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linejoin:round; }
.catalog-view-count { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:50px; background:rgba(0,160,221,.12); color:var(--blue); font-size:.65rem; }
.catalog-view-link.active .catalog-view-count { background:#24475d; color:#c1ebff; }
.catalog-view-link:focus-visible, .quote-item-toggle:focus-visible, .floating-mail:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.catalog-main-services { padding-bottom:26px; }
.catalog-main-services .catalog-control-shell { position:relative; top:auto; margin-bottom:0; }
.catalog-services-hint { font-size:.85rem; padding:0 6px 5px; }
.services-section { scroll-margin-top:110px; }
.service-add { min-height:44px; }
.service-add:hover span { background:var(--cyan); border-color:var(--cyan); }

/* Independent quote cards; completion is based ONLY on required fields. */
.quote-progress { margin:-2px 0 16px; color:var(--muted); font-size:.77rem; font-weight:600; }
.quote-progress.all-complete { color:var(--blue); }
.quote-accordion .quote-item-head { align-items:flex-start; margin-bottom:0; gap:18px; }
.quote-accordion .quote-item-title { min-width:0; flex:1; }
.quote-item-title-copy { min-width:0; }
.quote-accordion h3 { overflow-wrap:anywhere; }
.quote-item-status { display:block; margin-top:8px; color:#687b87; font-size:.72rem; line-height:1.45; }
.quote-accordion.is-complete { border-color:#b7e1f1; }
.quote-accordion.is-complete .quote-item-status { color:var(--blue); }
.quote-item-actions { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.quote-item-actions .link-danger { min-height:40px; }
.quote-item-toggle {
  flex:0 0 44px; width:44px; height:44px; padding:0; display:grid; place-items:center;
  border:1px solid #c5d9e3; border-radius:50%; background:#f0f7fa; color:var(--blue);
  cursor:pointer; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.quote-item-toggle:hover { background:#e0f1f8; border-color:var(--cyan); box-shadow:0 3px 12px rgba(0,84,141,.09); }
.quote-item-toggle svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2.25; stroke-linecap:round; stroke-linejoin:round; }
.quote-chevron { transition:transform .2s ease; }
.quote-accordion.is-open .quote-chevron { transform:rotate(180deg); }
.quote-check { display:none; }
.quote-accordion.is-complete .quote-item-toggle { background:var(--cyan); border-color:var(--cyan); color:#fff; }
.quote-accordion.is-complete .quote-item-toggle:hover { background:var(--blue); border-color:var(--blue); }
.quote-accordion.is-complete .quote-chevron { display:none; }
.quote-accordion.is-complete .quote-check { display:block; }
.quote-item-toggle[hidden], .quote-item-panel[hidden], .quote-progress[hidden] { display:none!important; }
.quote-item-panel { border-top:1px solid #e7eff3; margin-top:20px; padding-top:22px; }
.quote-fields-note, .quote-service-note { font-size:.76rem; line-height:1.7; }
.quote-fields-note { margin-top:16px; color:#657987; }
.quote-service-note { color:#516a79; }

/* Local inline SVG logos, no external icon request. */
.floating-mail-icon { position:relative; overflow:hidden; background:#fff; flex:0 0 38px; }
.mail-brand { position:absolute; width:28px; height:28px; top:50%; left:50%; opacity:0; transform:translate(-50%,-50%) scale(.7); transition:opacity .22s ease,transform .28s ease; }
.floating-mail[data-mail-provider="outlook"] .mail-brand-outlook,
.floating-mail[data-mail-provider="gmail"] .mail-brand-gmail { opacity:1; transform:translate(-50%,-50%) scale(1); }
.floating-mail.mail-attention { animation:difarme-mail-attention .9s ease-in-out; transform-origin:80% 100%; }
@keyframes difarme-mail-attention {
  0%,100% { transform:translateY(0) rotate(0); }
  18% { transform:translateY(-5px) rotate(-7deg); }
  36% { transform:translateY(-5px) rotate(6deg); }
  54% { transform:translateY(-3px) rotate(-4deg); }
  72% { transform:translateY(-1px) rotate(2deg); }
}
@media (max-width:560px) {
  .catalog-control-shell { scroll-margin-top:88px; }
  .catalog-view-nav { display:flex; width:100%; gap:4px; margin-bottom:14px; }
  .catalog-view-link { flex:1; padding:9px 10px; font-size:.73rem; gap:7px; }
  .catalog-main-services { padding-bottom:20px; }
  .quote-accordion .quote-item-head { gap:12px; }
  .quote-item-actions { flex-direction:column-reverse; gap:2px; }
  .quote-item-actions .link-danger { font-size:.67rem; min-height:30px; padding:0 2px; }
  .quote-item-toggle { width:42px; height:42px; flex-basis:42px; }
  .quote-item-status { font-size:.68rem; margin-top:8px; }
  .quote-accordion .quote-item-title { gap:9px; }
  .quote-accordion .quote-item-index { width:28px; height:28px; border-radius:9px; font-size:.57rem; }
  .quote-accordion h3 { font-size:1.03rem; }
  .floating-mail { justify-content:center; }
  .floating-mail-icon { width:38px; height:38px; background:#fff; }
  .services-section { padding:58px 0; scroll-margin-top:90px; }
}
@media (prefers-reduced-motion:reduce) {
  .floating-mail.mail-attention { animation:none; }
  .floating-mail, .mail-brand, .quote-item-toggle, .quote-chevron, .catalog-view-link { transition:none!important; }
}

#catalogo-aviso { scroll-margin-top:105px; }

/* DIFARME · integración fotográfica y experiencia móvil · 2026-09-22d */
body{overflow-x:hidden}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-150%);background:#fff;color:var(--ink);padding:11px 16px;border-radius:10px;box-shadow:var(--shadow-soft);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.quote-nav{padding:10px 14px!important;margin:18px 0;border-radius:999px;background:#eef8fc;color:var(--blue)!important}
.quote-nav:after{display:none}

/* Home: fewer abstract elements and more context from approved photography. */
.home-hero-human{padding:68px 0 82px;background:linear-gradient(155deg,#fff 0%,#f1f8fb 100%)}
.home-hero-human .home-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);gap:clamp(42px,4.5vw,68px)}
.home-hero-human .home-hero-copy h1{font-size:clamp(3.15rem,4.25vw,4.55rem);line-height:1.03;max-width:720px;text-wrap:balance}
.home-hero-human .home-hero-copy>p{max-width:610px}
.home-hero-human .home-hero-media{padding:0 0 50px 0}
.home-hero-human .hero-photo-frame{aspect-ratio:1.12/1;border-radius:38px;box-shadow:0 28px 74px rgba(7,27,43,.16)}
.home-hero-human .hero-photo-frame img{object-position:center}
.hero-proof-card{position:absolute;z-index:5;left:-34px;right:34px;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid rgba(7,27,43,.08);border-radius:20px;box-shadow:0 18px 44px rgba(7,27,43,.14);overflow:hidden}
.hero-proof-card span{padding:16px 18px;font-size:.76rem;color:#60717e;line-height:1.45}
.hero-proof-card span+span{border-left:1px solid var(--line)}
.hero-proof-card strong{display:block;font-family:'Montserrat',sans-serif;font-size:.82rem;color:var(--ink);margin-bottom:2px}

.line-bento{grid-template-columns:1.14fr .86fr .86fr;grid-template-rows:276px 276px;gap:18px}
.line-bento-card{background:var(--ink)!important;color:#fff!important;padding:28px;min-height:0}
.line-bento-card h3{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.22)}
.line-bento-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.line-bento-card:hover .line-bento-image{transform:scale(1.045)}
.line-card-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(7,27,43,.14) 18%,rgba(7,27,43,.86) 100%)}
.line-bento-featured{grid-column:1;grid-row:1/3}
.line-bento-food{grid-column:2/4;grid-row:1}
.line-bento-cosmetic{grid-column:2;grid-row:2}
.line-bento-barriers{grid-column:3;grid-row:2;background:#e9f6fb!important}
.line-bento-barriers .line-card-shade{background:linear-gradient(180deg,rgba(0,84,141,.02),rgba(7,27,43,.82))}
.line-bento-image-contain{object-fit:contain;object-position:70% center;padding:24px 20px 60px}
.line-card-top,.line-card-copy{z-index:2}
.line-card-top{color:#fff}
.line-link{display:inline-flex;align-items:center;min-height:40px}
.mobile-swipe-hint{display:none;margin-top:10px;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:700;color:var(--blue)}

.operations-strip{padding:34px 0}
.operations-photo img{transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.operations-photo:hover img{transform:scale(1.025)}

.clients-section{background:#f4f8fa}
.clients-heading{grid-template-columns:minmax(0,1fr) minmax(280px,390px);align-items:end;gap:clamp(32px,5vw,76px);margin-bottom:34px}
.clients-heading h2{max-width:780px;font-size:clamp(2.55rem,3.8vw,3.9rem);line-height:1.04;text-wrap:balance}
.clients-heading>p{max-width:390px;padding-bottom:5px}
.client-logo-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #d6e2e7;border-left:1px solid #d6e2e7;background:#fff}
.client-logo{margin:0;min-height:122px;padding:20px;border-right:1px solid #d6e2e7;border-bottom:1px solid #d6e2e7;display:grid;place-items:center;overflow:hidden}
.client-logo img{width:100%;height:68px;object-fit:contain;filter:saturate(.86);transition:filter .2s ease,transform .2s ease}
.client-logo:hover img{filter:saturate(1);transform:scale(1.04)}

/* About: clearer story, facts, purpose and visual sector navigation. */
.about-hero-grid{grid-template-columns:.92fr 1.08fr;align-items:center}
.about-hero-photo{aspect-ratio:1.12/1;border-radius:34px;max-height:650px}
.about-hero-photo img{object-position:center 42%}
.about-story{background:var(--paper)}
.about-story-grid{display:grid;grid-template-columns:1fr .9fr;gap:64px;align-items:center}
.about-story-copy h2{font-size:clamp(2.45rem,4.4vw,4.6rem);max-width:760px}
.about-story-copy>p{font-size:1rem;line-height:1.82;max-width:690px;margin-top:24px}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-top:1px solid #cbd8de;border-bottom:1px solid #cbd8de}
.about-facts div{padding:22px 16px 22px 0}
.about-facts div+div{padding-left:20px;border-left:1px solid #cbd8de}
.about-facts strong{display:block;font-family:'Montserrat',sans-serif;font-size:clamp(1.55rem,3vw,2.8rem);line-height:1;color:var(--blue)}
.about-facts span{display:block;margin-top:8px;font-size:.72rem;color:#687b87}
.about-story-photo{margin:0;position:relative;overflow:hidden;border-radius:32px;aspect-ratio:1.05/1;box-shadow:var(--shadow-soft)}
.about-story-photo img{width:100%;height:100%;object-fit:cover}
.about-story-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(7,27,43,.58))}
.about-story-photo figcaption{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font-size:.67rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.purpose-section{background:#eaf6fb}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.purpose-card{position:relative;overflow:hidden;border-radius:32px;background:#fff;border:1px solid rgba(7,27,43,.07);box-shadow:0 14px 42px rgba(7,27,43,.06)}
.purpose-card-alt{background:#f9fcfd}
.purpose-illustration{height:280px;background:linear-gradient(140deg,#fff,#e8f8ff);display:grid;place-items:center;overflow:hidden}
.purpose-illustration img{width:100%;height:100%;object-fit:contain;padding:12px}
.purpose-copy{position:relative;padding:34px 36px 38px}
.purpose-copy h2{font-size:clamp(1.75rem,2.7vw,2.75rem);line-height:1.08;max-width:530px}
.purpose-copy p{font-size:.94rem;line-height:1.8;margin-top:20px}
.purpose-number{position:absolute;right:30px;top:31px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;color:#9eb3bf}
.sector-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sector-visual-card{position:relative;isolation:isolate;min-height:380px;padding:25px;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.sector-visual-card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(7,27,43,.04) 30%,rgba(7,27,43,.85) 100%)}
.sector-visual-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.sector-visual-card:hover img{transform:scale(1.045)}
.sector-visual-card>span{position:absolute;top:22px;left:24px;font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:800}
.sector-visual-card strong{font-family:'Montserrat',sans-serif;font-size:clamp(1.75rem,2.6vw,2.7rem);line-height:1.05}
.sector-visual-card small{margin-top:10px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700}

/* Catalog: visual choice first, precise search controls second. */
.catalog-line-gallery{margin-bottom:34px}
.catalog-line-gallery-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:48px;margin-bottom:24px}
.catalog-line-gallery-head h2{font-size:clamp(2rem,3.4vw,3.5rem)}
.catalog-line-gallery-head>p{justify-self:end;max-width:440px;line-height:1.75}
.catalog-line-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.catalog-line-card{position:relative;isolation:isolate;height:190px;padding:18px;border-radius:22px;overflow:hidden;display:flex;align-items:flex-end;gap:10px;color:#fff;border:2px solid transparent;box-shadow:0 8px 24px rgba(7,27,43,.08)}
.catalog-line-card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(7,27,43,.06),rgba(7,27,43,.84))}
.catalog-line-card img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.catalog-line-card-barriers img{object-fit:cover;background:#eef8fb;padding:0}
.catalog-line-card:hover img{transform:scale(1.045)}
.catalog-line-card.active{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,160,221,.13)}
.catalog-line-card span{font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:700;line-height:1.25}
.catalog-line-card b{margin-left:auto;font-size:1rem}
.catalog-control-shell{top:118px}

.contact-next-step{margin-top:40px;padding:32px 34px;border-radius:28px;background:#eaf7fb;display:grid;grid-template-columns:1fr auto;gap:38px;align-items:center}
.contact-next-step h2{font-size:clamp(1.65rem,3.1vw,3.2rem);max-width:760px}
.contact-next-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.contact-photo{max-height:500px;aspect-ratio:2.1/1}
.contact-photo img{object-position:center}

@media (max-width:1050px){
  .client-logo-grid{grid-template-columns:repeat(4,1fr)}
  .home-hero-human .home-hero-grid{grid-template-columns:1fr;gap:44px}.home-hero-human .home-hero-media{max-width:none}.home-hero-human .hero-photo-frame{aspect-ratio:1.55/1}
  .hero-proof-card{left:28px;right:28px}
  .about-story-grid{grid-template-columns:1fr;gap:38px}.about-story-photo{aspect-ratio:1.65/1}
}

@media (max-width:820px){
  .quote-nav{margin:0;padding:13px 12px!important;border-radius:0;background:transparent;color:var(--blue)!important}
  .home-hero-human{padding:42px 0 64px}.home-hero-human .home-hero-grid{gap:36px}.home-hero-human .home-hero-copy h1{font-size:clamp(2.75rem,10.5vw,4.8rem)}
  .home-hero-human .home-hero-media{padding-bottom:62px}.home-hero-human .hero-photo-frame{aspect-ratio:1.2/1;border-radius:28px}
  .hero-proof-card{left:18px;right:18px;bottom:5px}
  .line-bento{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,76vw);grid-template-columns:none;grid-template-rows:350px;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;margin-inline:-14px;padding:0 14px 12px;scrollbar-width:thin}
  .line-bento-featured,.line-bento-food,.line-bento-cosmetic,.line-bento-barriers{grid-column:auto;grid-row:auto;min-height:350px;scroll-snap-align:start}
  .line-bento-featured h3,.line-bento-food h3,.line-card-copy h3{font-size:2rem}
  .mobile-swipe-hint{display:block}
  .client-logo-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(2,112px);grid-auto-columns:180px;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:-14px;padding-inline:14px;border-left:0;background:transparent;scrollbar-width:thin}
  .client-logo{min-height:112px;background:#fff;border-left:1px solid #d6e2e7;scroll-snap-align:start}
  .client-logo img{height:62px}
  .about-hero-photo{aspect-ratio:1.35/1;max-height:none}.about-hero-photo img{object-position:center 44%}
  .purpose-grid{grid-template-columns:1fr}.purpose-card{display:grid;grid-template-columns:.82fr 1.18fr}.purpose-illustration{height:auto;min-height:270px}.purpose-copy{padding:30px}
  .sector-visual-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(270px,76vw);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-14px;padding:0 14px 12px;scrollbar-width:thin}.sector-visual-card{min-height:350px;scroll-snap-align:start}
  .catalog-line-gallery-head{grid-template-columns:1fr;gap:12px}.catalog-line-gallery-head>p{justify-self:start}.catalog-line-cards{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(225px,62vw);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-14px;padding:0 14px 12px;scrollbar-width:thin}.catalog-line-card{scroll-snap-align:start}
  .catalog-control-shell{position:static;top:auto}
  .contact-next-step{grid-template-columns:1fr}.contact-next-actions{justify-content:flex-start}
}

@media (max-width:560px){
  h1{font-size:clamp(2.65rem,12.2vw,4rem)}h2{font-size:clamp(1.95rem,8.8vw,3rem)}
  .home-hero-human .home-hero-copy h1{font-size:clamp(2.72rem,12vw,4.05rem)}
  .home-hero-human .home-hero-media{padding-bottom:90px}.home-hero-human .hero-photo-frame{aspect-ratio:.96/1}.home-hero-human .hero-photo-frame img{object-position:52% center}
  .hero-proof-card{left:10px;right:10px;bottom:8px;grid-template-columns:1fr}.hero-proof-card span{padding:11px 14px}.hero-proof-card span+span{border-left:0;border-top:1px solid var(--line)}
  .line-bento{grid-auto-columns:84vw;grid-template-rows:330px}.line-bento-featured,.line-bento-food,.line-bento-cosmetic,.line-bento-barriers{min-height:330px}.line-bento-card{padding:22px}
  .operations-photo-wide{min-height:280px}.operations-photo-portrait{display:none}.operations-copy{padding:34px 8px}.operations-copy h2{font-size:2.35rem}
  .clients-heading{margin-bottom:24px}.client-logo-grid{grid-auto-columns:160px;grid-template-rows:repeat(2,102px)}.client-logo{min-height:102px;padding:16px}.client-logo img{height:56px}
  .about-hero-photo{aspect-ratio:.88/1;border-radius:26px}.about-hero-photo img{object-position:center}
  .about-facts{grid-template-columns:repeat(3,1fr)}.about-facts div{padding:18px 7px}.about-facts div+div{padding-left:10px}.about-facts strong{font-size:1.45rem}.about-facts span{font-size:.62rem;line-height:1.35}
  .about-story-photo{aspect-ratio:1.08/1;border-radius:24px}
  .purpose-card{display:block;border-radius:26px}.purpose-illustration{height:210px;min-height:0}.purpose-copy{padding:26px 24px 30px}.purpose-copy h2{font-size:1.82rem}.purpose-number{right:23px;top:25px}
  .sector-visual-grid{grid-auto-columns:84vw}.sector-visual-card{min-height:330px}
  .catalog-line-gallery{margin-bottom:24px}.catalog-line-cards{grid-auto-columns:76vw}.catalog-line-card{height:180px}.catalog-main{padding-top:38px}
  .contact-next-step{margin-top:28px;padding:25px 22px}.contact-next-actions{display:grid}.contact-next-actions .btn{width:100%}.contact-photo{aspect-ratio:.9/1}.contact-photo img{object-position:center}
}

@media (prefers-reduced-motion:reduce){
  .line-bento-image,.client-logo img,.sector-visual-card img,.catalog-line-card img,.operations-photo img,.skip-link{transition:none!important}
}

/* DIFARME · catálogo paginado e interfaz bilingüe · 2026-09-22e */
.language-switch{
  display:inline-grid;grid-template-columns:auto 76px auto;align-items:center;gap:8px;
  flex:0 0 auto;
}
.language-switch-label{display:none}
.language-code{
  min-width:24px;padding:7px 0;text-align:center;color:#a9b3ba;
  font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.04em;
  transition:color .18s ease,transform .18s ease;
}
.language-code:hover{color:var(--blue);transform:translateY(-1px)}
.language-code.active{color:var(--ink)}
.language-toggle{
  position:relative;display:block;width:76px;height:42px;overflow:hidden;
  border:2px solid #c8d3d9;border-radius:999px;background:#fff;
  box-shadow:0 7px 18px rgba(7,27,43,.16),inset 0 0 0 1px rgba(255,255,255,.5);
  transition:transform .18s ease,box-shadow .18s ease;
}
.language-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 23px rgba(7,27,43,.2),inset 0 0 0 1px rgba(255,255,255,.55)}
.language-toggle-flag{position:absolute;inset:0;display:block;width:100%;height:100%;filter:saturate(1.03)}
.language-toggle-knob{
  position:absolute;z-index:2;left:1px;top:1px;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(7,27,43,.1);background:linear-gradient(145deg,#fff,#edf1f3);
  box-shadow:0 3px 9px rgba(7,27,43,.34),inset 0 1px 1px rgba(255,255,255,.95);
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
}
.language-toggle.is-es .language-toggle-knob{transform:translateX(34px)}
.language-code:focus-visible,.language-toggle:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}

.catalog-meta{gap:20px;min-height:48px}
.catalog-results-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.catalog-results-summary>span:first-child{font-weight:700;color:var(--ink)}
.catalog-range{padding-left:12px;border-left:1px solid var(--line);color:#70818c}
.catalog-meta-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.catalog-page-size{display:flex;align-items:center;gap:8px}
.catalog-page-size label{
  display:flex;align-items:center;gap:8px;padding:5px 6px 5px 13px;
  border:1px solid #cfdce2;border-radius:999px;background:#fff;color:#536674;
  font-size:.72rem;font-weight:600;white-space:nowrap;
}
.catalog-page-size select{
  min-height:35px;max-width:138px;padding:5px 28px 5px 10px;border:0;border-radius:999px;
  background:#eef7fa;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;
  cursor:pointer;outline:0;
}
.catalog-page-size select:focus-visible{outline:3px solid var(--cyan);outline-offset:1px}
.page-size-submit{
  min-height:38px;padding:8px 13px;border:0;border-radius:999px;background:var(--ink);color:#fff;
  font-family:'Montserrat',sans-serif;font-size:.68rem;font-weight:700;cursor:pointer;
}
.page-size-submit[hidden]{display:none!important}

@media (max-width:1050px){
  .main-nav{gap:16px}
}

@media (max-width:820px){
  .main-nav{max-height:calc(100dvh - 102px);overflow-y:auto}
  .language-switch{
    width:max-content;grid-template-columns:auto 82px auto;gap:10px;align-self:center;
    margin:16px auto 7px;padding:10px 16px;background:linear-gradient(145deg,#f8fafb,#eef4f6);
    border:1px solid #d7e2e7;border-radius:999px;box-shadow:0 10px 24px rgba(7,27,43,.09);
  }
  .language-code{font-size:.76rem}
  .language-toggle{width:82px;height:44px}
  .language-toggle-knob{width:38px;height:38px}
  .language-toggle.is-es .language-toggle-knob{transform:translateX(38px)}
  .catalog-meta{align-items:flex-start}
  .catalog-meta-actions{justify-content:flex-start}
}

@media (max-width:560px){
  .catalog-meta{display:grid;gap:13px;margin-bottom:19px}
  .catalog-results-summary{gap:8px;font-size:.76rem}
  .catalog-range{padding-left:8px}
  .catalog-meta-actions{display:grid;gap:10px;width:100%}
  .catalog-page-size,.catalog-page-size label{width:100%}
  .catalog-page-size label{justify-content:space-between;padding-left:12px}
  .catalog-page-size select{max-width:none;flex:1}
  .page-size-submit{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .language-code,.language-toggle,.language-toggle-knob{transition:none!important}
}

/* DIFARME · composición editorial y footer · 2026-09-22g */

/* Mantiene títulos y textos de apoyo dentro de una sola columna visual. */
.section-title-grid,
.catalog-line-gallery-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
}
.section-title-grid>div{width:min(100%,900px)}
.section-title-grid h2{max-width:900px}
.section-title-grid>p,
.catalog-line-gallery-head>p{
  justify-self:auto;
  max-width:680px;
  margin:0;
}
.clients-heading{display:flex;align-items:flex-start;gap:16px}
.clients-heading h2{max-width:900px}
.clients-heading>p{max-width:680px;padding-bottom:0}
.catalog-line-gallery-head{margin-bottom:28px}
.catalog-hero-grid,
.quote-hero-grid{
  grid-template-columns:1fr;
  align-items:start;
  gap:22px;
}
.catalog-hero-note,
.quote-hero-copy{max-width:680px;padding-bottom:0}
.why-heading,
.values-title{
  grid-template-columns:1fr;
  align-items:start;
  gap:0;
}

/* Dos imágenes equivalentes mantienen el mensaje exactamente en el centro. */
.operations-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.operations-photo-wide,
.operations-photo-portrait{min-height:540px}
.operations-photo-wide img{object-position:55% center}
.operations-photo-portrait img{object-position:center}
.operations-copy{
  min-width:0;
  padding:44px clamp(22px,2vw,34px);
}
.operations-copy h2{
  font-size:clamp(2.15rem,2.85vw,3.35rem);
  text-wrap:balance;
}

/* Footer proporcionado: logo horizontal intacto y contenido mejor distribuido. */
.site-footer{padding:64px 0 22px}
.footer-top{
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  align-items:start;
  gap:clamp(48px,7vw,92px);
  padding-bottom:42px;
}
.footer-brand-block,
.footer-contact-block{min-width:0}
.footer-brand-block{max-width:390px}
.footer-brand-block img{
  display:block;
  width:min(100%,280px);
  height:auto!important;
  aspect-ratio:1032/248;
  object-fit:contain;
  object-position:left center;
}
.footer-brand-block p{max-width:370px;margin-top:18px;line-height:1.75}
.footer-contact-block{
  padding-left:clamp(30px,4vw,58px);
  border-left:1px solid rgba(255,255,255,.14);
}
.footer-big-link{
  display:inline-block;
  max-width:100%;
  font-size:clamp(1.55rem,2.7vw,2.85rem);
  line-height:1.12;
  overflow-wrap:anywhere;
  word-break:normal;
}
.footer-phone{display:inline-flex;margin-top:16px}
.footer-middle{
  grid-template-columns:minmax(0,1.25fr) minmax(170px,.65fr) minmax(240px,1fr);
  align-items:start;
  gap:clamp(34px,5vw,64px);
  padding:34px 0;
}
.footer-middle>div{min-width:0}
.footer-nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 22px;
}
.footer-nav a{display:flex;align-items:center;min-height:30px}

@media (max-width:1050px){
  .operations-grid{grid-template-columns:1.15fr .85fr}
  .operations-photo-portrait{display:none}
  .footer-top{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:44px}
}

@media (max-width:820px){
  .operations-grid{grid-template-columns:1fr}
  .operations-photo-wide{min-height:380px}
  .operations-photo-portrait{display:block;min-height:420px}
  .operations-copy{padding:34px 8px}
  .section-title-grid,
  .catalog-line-gallery-head{gap:14px}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .footer-brand-block{max-width:520px}
  .footer-contact-block{
    padding:28px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .footer-middle{grid-template-columns:1fr 1fr;gap:30px 40px}
  .footer-middle>div:last-child{grid-column:1/-1}
}

@media (max-width:560px){
  .operations-photo-wide{min-height:280px}
  .operations-photo-portrait{display:none}
  .operations-copy h2{font-size:2.35rem}
  .site-footer{padding-top:50px}
  .footer-top{gap:28px;padding-bottom:34px}
  .footer-brand-block img{width:min(100%,250px)}
  .footer-contact-block{padding-top:25px}
  .footer-big-link{font-size:clamp(1.35rem,7vw,1.75rem)}
  .footer-middle{grid-template-columns:1fr;gap:26px;padding:30px 0}
  .footer-middle>div:last-child{grid-column:auto}
}

/* DIFARME · observaciones del cliente 01 · 2026-09-23a */

/* Acceso directo para consultar productos que no aparecen en el catálogo. */
.availability-callout{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:0 0 38px;
  padding:20px 22px;
  border:1px solid #c9e5f0;
  border-left:4px solid var(--cyan);
  border-radius:20px;
  background:linear-gradient(120deg,#fff 0%,#edf9fd 100%);
  box-shadow:0 10px 28px rgba(7,27,43,.06);
}
.availability-callout-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--blue);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:1.15rem;
  font-weight:800;
}
.availability-callout-copy{min-width:0}
.availability-callout-copy strong{
  display:block;
  margin-bottom:3px;
  color:var(--ink);
  font-family:'Montserrat',sans-serif;
  font-size:.9rem;
}
.availability-callout-copy p{font-size:.86rem;line-height:1.65;max-width:720px}
.availability-callout-link{
  min-height:46px;
  padding:11px 17px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:var(--ink);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
  transition:background .18s ease,transform .18s ease;
}
.availability-callout-link:hover{background:var(--blue);transform:translateY(-2px)}
.availability-callout-quote{margin:42px 0 0}

/* La función del símbolo + queda explicada antes de la lista. */
.featured-add-guide{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:14px;
  padding:13px 16px;
  border:1px solid #cce4ee;
  border-radius:16px;
  background:#edf8fc;
  color:var(--ink);
}
.featured-add-guide-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ink);
  color:#fff;
  font-size:1.2rem;
  line-height:1;
}
.featured-add-guide>span:last-child{display:grid;gap:1px;min-width:0}
.featured-add-guide strong{font-family:'Montserrat',sans-serif;font-size:.78rem}
.featured-add-guide small{color:#627582;font-size:.7rem;line-height:1.45}

/* Footer equilibrado y logotipo oficial a color, sin deformaciones. */
.site-footer{padding:62px 0 22px}
.footer-top{
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  align-items:stretch;
  gap:clamp(38px,5vw,68px);
  padding-bottom:38px;
}
.footer-brand-block{
  max-width:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.footer-logo{
  display:inline-flex;
  width:min(100%,300px);
  padding:13px 18px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.footer-brand-block .footer-logo img{
  width:100%;
  height:auto!important;
  aspect-ratio:1032/248;
  object-fit:contain;
  object-position:center;
  filter:none;
  opacity:1;
}
.footer-brand-block p{max-width:390px;margin-top:20px;line-height:1.75}
.footer-contact-block{
  padding:0;
  border-left:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.footer-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);
  gap:14px;
}
.footer-contact-card{
  min-width:0;
  min-height:116px;
  padding:20px 21px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.footer-contact-card:hover{
  background:rgba(0,160,221,.13);
  border-color:rgba(117,214,244,.42);
  transform:translateY(-2px);
}
.footer-contact-card>span{
  color:#7fa5b7;
  font-family:'Montserrat',sans-serif;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-contact-card strong{
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.02rem,1.55vw,1.3rem);
  line-height:1.3;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}
.footer-middle{
  grid-template-columns:minmax(0,1.15fr) minmax(190px,.75fr) minmax(260px,1fr);
  gap:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.footer-info-block{
  min-width:0;
  min-height:166px;
  padding:32px clamp(22px,3vw,40px);
  border-right:1px solid rgba(255,255,255,.13);
}
.footer-info-block:first-child{padding-left:0}
.footer-info-block:last-child{padding-right:0;border-right:0}
.footer-middle p{max-width:410px;line-height:1.75}
.footer-sitemap-block .footer-nav{gap:6px 24px}
.footer-bottom{border-top:0;padding-top:20px}

@media (max-width:1050px){
  .footer-top{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:34px}
  .footer-contact-grid{grid-template-columns:1fr}
  .footer-contact-card{min-height:96px}
}

@media (max-width:820px){
  .availability-callout{grid-template-columns:auto 1fr}
  .availability-callout-link{grid-column:2;justify-self:start}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .footer-contact-block{padding:28px 0 0;border-top:1px solid rgba(255,255,255,.14)}
  .footer-contact-grid{grid-template-columns:1fr 1fr}
  .footer-middle{grid-template-columns:1fr 1fr}
  .footer-info-block{padding:28px 26px;min-height:150px}
  .footer-info-block:first-child{padding-left:0}
  .footer-info-block:nth-child(2){padding-right:0;border-right:0}
  .footer-info-block:last-child{grid-column:1/-1;padding-left:0;border-top:1px solid rgba(255,255,255,.13)}
}

@media (max-width:620px){
  .availability-callout{display:flex;align-items:flex-start;flex-wrap:wrap;padding:18px}
  .availability-callout-copy{flex:1 1 calc(100% - 62px)}
  .availability-callout-link{width:100%;margin-left:62px;white-space:normal}
  .footer-contact-grid{grid-template-columns:1fr}
}

@media (max-width:560px){
  .availability-callout{gap:12px;margin-bottom:28px}
  .availability-callout-icon{width:40px;height:40px}
  .availability-callout-link{margin-left:52px}
  .featured-add-guide{align-items:flex-start}
  .footer-logo{width:min(100%,270px);padding:11px 15px}
  .footer-middle{grid-template-columns:1fr}
  .footer-info-block,
  .footer-info-block:first-child,
  .footer-info-block:nth-child(2),
  .footer-info-block:last-child{
    grid-column:auto;
    min-height:0;
    padding:26px 0;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.13);
  }
  .footer-info-block:first-child{border-top:0}
}

@media (prefers-reduced-motion:reduce){
  .availability-callout-link,.footer-contact-card{transition:none!important}
}

/* DIFARME · observaciones del cliente 02 · 2026-09-23b */

/* Encabezados editoriales azules con mayor presencia y centrado real. */
.section-section .micro-label{
  width:100%;
  justify-content:center;
  gap:14px;
  margin-bottom:22px;
  text-align:center;
  font-size:clamp(.82rem,1vw,.94rem);
  line-height:1.4;
  letter-spacing:.17em;
}
.section-section .micro-label:before,
.section-section .micro-label:after{
  content:'';
  flex:0 0 38px;
  width:38px;
  height:2px;
  border-radius:2px;
  background:var(--cyan);
}
.section-section .micro-label-light:before,
.section-section .micro-label-light:after{background:#fff}
.why-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:44px;
}
.why-heading h2{max-width:860px;text-wrap:balance}

/* Valores en celdas equivalentes para conservar orden y separación uniforme. */
.values-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin-bottom:42px;
  text-align:center;
}
.values-title h2{max-width:820px;text-wrap:balance}
.values-marquee{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--line);
}
.values-marquee span{
  min-width:0;
  min-height:108px;
  margin:0;
  padding:24px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  font-size:clamp(1.3rem,2vw,2.05rem);
  line-height:1.15;
}
.values-marquee span:not(:last-child):after{display:none}

/* Fotografía de barreras de protección: encuadre uniforme en Inicio y Catálogo. */
.line-bento-barriers .line-bento-image{
  object-fit:cover;
  object-position:center;
  padding:0;
}

@media (max-width:820px){
  .section-section .micro-label{font-size:.8rem;gap:11px}
  .section-section .micro-label:before,
  .section-section .micro-label:after{flex-basis:30px;width:30px}
  .values-marquee{grid-template-columns:repeat(2,minmax(0,1fr))}
  .values-marquee span{min-height:94px;font-size:1.25rem;padding:20px 14px}
}

@media (max-width:560px){
  .section-section .micro-label{font-size:.76rem;letter-spacing:.13em}
  .section-section .micro-label:before,
  .section-section .micro-label:after{flex-basis:24px;width:24px}
  .values-title{margin-bottom:30px}
  .values-marquee{border-radius:18px}
  .values-marquee span{min-height:82px;font-size:1.05rem;padding:17px 10px}
}

/* DIFARME · observaciones del cliente 03 · 2026-09-23c */

/* El catálogo presenta siempre español como nombre principal e inglés como apoyo. */
.catalog-product-copy{min-width:0}
.catalog-product-copy h2{overflow-wrap:anywhere}
.catalog-product-copy p{
  margin-top:4px;
  color:#70818c;
  font-size:.76rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}

/* Descripciones completas de los servicios sin perder el acceso a cotización. */
.service-row{align-items:start;padding:30px 0}
.service-row-copy{min-width:0}
.service-row-copy h3{margin-bottom:9px}
.service-row-copy p{
  max-width:720px;
  color:#b7ced9;
  font-size:.82rem;
  line-height:1.72;
}
.service-row form{align-self:center}

/* Confirmación discreta del autoguardado de cada producto. */
.quote-autosave{
  display:flex;
  align-items:center;
  gap:9px;
  margin:-2px 0 16px;
  color:#607581;
  font-size:.72rem;
  font-weight:600;
}
.quote-autosave-dot{
  flex:0 0 9px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 4px rgba(0,160,221,.12);
}

/* El mapa ocupa el espacio principal; la fachada funciona como apoyo visual. */
.contact-location{margin-top:54px}
.contact-location-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
  text-align:center;
}
.contact-location-head>div{width:min(100%,900px)}
.contact-location-head h2{max-width:900px;margin-inline:auto;text-wrap:balance}
.contact-location-head>p{max-width:680px;margin:0 auto}
.contact-location-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  gap:18px;
  min-height:490px;
}
.contact-map,
.contact-facade{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:30px;
  background:#edf3f6;
  box-shadow:0 16px 42px rgba(7,27,43,.08);
}
.contact-map iframe{display:block;width:100%;height:100%;min-height:490px;border:0}
.contact-map-link{
  position:absolute;
  left:18px;
  bottom:18px;
  min-height:46px;
  padding:11px 17px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:var(--ink);
  color:#fff;
  box-shadow:0 8px 24px rgba(7,27,43,.22);
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:700;
}
.contact-map-link:hover{background:var(--blue)}
.contact-facade{margin:0}
.contact-facade img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-facade:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 66%,rgba(7,27,43,.72))}
.contact-facade figcaption{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media (max-width:820px){
  .service-row{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .service-row form{grid-column:2;justify-self:start;margin-top:4px}
  .contact-location{margin-top:42px}
  .contact-location-grid{grid-template-columns:1fr;min-height:0}
  .contact-map iframe{min-height:430px}
  .contact-facade{aspect-ratio:1.8/1}
}

@media (max-width:560px){
  .catalog-product-copy p{font-size:.69rem;line-height:1.4}
  .service-row{grid-template-columns:34px minmax(0,1fr);padding:25px 0}
  .service-row-copy p{font-size:.76rem;line-height:1.65}
  .service-row form{grid-column:2}
  .quote-autosave{align-items:flex-start;line-height:1.5}
  .quote-autosave-dot{margin-top:3px}
  .contact-location{margin-top:34px}
  .contact-location-head{margin-bottom:22px}
  .contact-location-grid{gap:13px}
  .contact-map,.contact-facade{border-radius:22px}
  .contact-map iframe{min-height:380px}
  .contact-map-link{left:12px;right:12px;bottom:12px;width:auto}
  .contact-facade{aspect-ratio:1.2/1}
}

@media (prefers-reduced-motion:reduce){
  .contact-map-link{transition:none!important}
}

/* DIFARME · observaciones del cliente 04 · 2026-09-23d */

/* Logotipo oficial sin fondo propio, proporcionado dentro del encabezado. */
.brand{max-width:220px}
.brand img{
  width:220px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

/* Una sola sección de beneficios, reforzada por una imagen operativa discreta. */
.why-content{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(280px,.62fr);
  gap:clamp(34px,5vw,72px);
  align-items:stretch;
}
.why-photo{
  position:relative;
  min-width:0;
  min-height:420px;
  margin:0;
  overflow:hidden;
  border-radius:30px;
  background:var(--ink);
  box-shadow:0 18px 48px rgba(7,27,43,.11);
}
.why-photo:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(7,27,43,.66));
}
.why-photo img{width:100%;height:100%;object-fit:cover;object-position:54% center}
.why-photo figcaption{
  position:absolute;
  z-index:2;
  left:22px;
  bottom:19px;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media (max-width:1050px){
  .brand{max-width:185px}
  .brand img{width:185px}
  .why-content{grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);gap:30px}
}

@media (max-width:820px){
  .brand{max-width:176px}
  .brand img{width:176px}
  .why-content{grid-template-columns:1fr}
  .why-photo{min-height:0;aspect-ratio:16/9}
}

@media (max-width:560px){
  .brand{max-width:166px}
  .brand img{width:166px}
  .why-content{gap:26px}
  .why-photo{aspect-ratio:4/3;border-radius:22px}
}

/* DIFARME · footer editorial compacto · 2026-09-23g */
.site-footer.footer-editorial-compact{padding:0;background:var(--ink);color:#fff}
.footer-intro-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(130deg,#fff 0%,#f1f7f9 100%);
}
.footer-intro-panel:after{
  content:'';
  position:absolute;
  right:-170px;
  top:-240px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(0,160,221,.08);
  pointer-events:none;
}
.footer-editorial-compact .footer-intro{
  position:relative;
  z-index:1;
  padding:clamp(58px,6vw,82px) 0;
}
.footer-intro-kicker,
.footer-label{
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.footer-intro-kicker{margin-bottom:22px;color:var(--blue)}
.footer-intro-kicker:before{content:'';display:inline-block;width:30px;height:2px;margin:0 11px 3px 0;background:var(--cyan)}
.footer-editorial-compact .footer-intro h2{
  max-width:980px;
  color:var(--ink);
  font-size:clamp(3rem,5.4vw,5.8rem);
  line-height:.98;
  text-wrap:balance;
}
.footer-info-panel{
  padding:42px 0 22px;
  background:linear-gradient(125deg,#071b2b 0%,#0a2d42 100%);
}
.footer-editorial-compact .footer-directory{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);
  border-top:1px solid rgba(255,255,255,.21);
  border-bottom:1px solid rgba(255,255,255,.21);
}
.footer-editorial-compact .footer-directory-block{
  min-width:0;
  min-height:196px;
  padding:29px clamp(24px,3vw,42px) 30px;
  border-left:1px solid rgba(255,255,255,.18);
}
.footer-editorial-compact .footer-directory-block:first-child{padding-left:0;border-left:0}
.footer-editorial-compact .footer-directory-block:last-child{padding-right:0}
.footer-editorial-compact .footer-label{margin-bottom:19px;color:#8edff8}
.footer-editorial-compact .footer-location>strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.96rem;
}
.footer-editorial-compact .footer-location>p,
.footer-editorial-compact .footer-schedule p{
  max-width:360px;
  color:#c7dce5;
  font-size:.8rem;
  line-height:1.65;
}
.footer-editorial-compact .footer-schedule{margin-top:22px}
.footer-editorial-compact .footer-schedule .footer-label{margin-bottom:6px;font-size:.61rem}
.footer-editorial-compact .footer-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px}
.footer-editorial-compact .footer-link-grid a{
  min-height:30px;
  display:flex;
  align-items:center;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  font-weight:600;
  transition:color .18s ease,transform .18s ease;
}
.footer-editorial-compact .footer-link-grid a:before{content:'·';margin-right:8px;color:var(--cyan);font-size:1.15rem;line-height:0}
.footer-editorial-compact .footer-link-grid a:hover{color:#aeeaff;transform:translateX(3px)}
.footer-editorial-compact .footer-contact-links{display:grid;gap:19px}
.footer-editorial-compact .footer-contact-links a{display:grid;gap:4px;min-width:0}
.footer-editorial-compact .footer-contact-links span{
  color:#8edff8;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.footer-editorial-compact .footer-contact-links strong{
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(.95rem,1.35vw,1.2rem);
  line-height:1.35;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
  transition:color .18s ease;
}
.footer-editorial-compact .footer-contact-links a:hover strong{color:#aeeaff}
.footer-editorial-compact .footer-legal{
  min-height:58px;
  margin-top:20px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  color:#d8e5eb;
  font-size:.68rem;
}
.footer-editorial-compact .footer-sectors{display:flex;align-items:center;justify-content:flex-end;gap:8px 16px;flex-wrap:wrap}
.footer-editorial-compact .footer-sectors span{display:flex;align-items:center;gap:16px}
.footer-editorial-compact .footer-sectors span:not(:last-child):after{content:'·';color:var(--cyan)}

@media (max-width:960px){
  .footer-editorial-compact .footer-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-editorial-compact .footer-directory-block:nth-child(2){border-left:0}
  .footer-editorial-compact .footer-navigation{
    grid-column:1/-1;
    grid-row:2;
    min-height:0;
    padding-left:0;
    border-top:1px solid rgba(255,255,255,.18);
  }
  .footer-editorial-compact .footer-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:620px){
  .footer-intro-panel:after{width:300px;height:300px;right:-190px;top:-125px}
  .footer-editorial-compact .footer-intro{padding:45px 0 48px}
  .footer-intro-kicker{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:#e6f5fa;font-size:.61rem;line-height:1.35}
  .footer-intro-kicker:before{width:18px;margin-bottom:0}
  .footer-editorial-compact .footer-intro h2{margin-top:4px;font-size:clamp(2.45rem,11vw,3.8rem);line-height:1.01}
  .footer-info-panel{padding:14px 0 72px}
  .footer-editorial-compact .footer-navigation{display:none}
  .footer-editorial-compact .footer-directory{grid-template-columns:1fr;gap:10px;border:0}
  .footer-editorial-compact .footer-directory-block,
  .footer-editorial-compact .footer-directory-block:first-child,
  .footer-editorial-compact .footer-directory-block:nth-child(2),
  .footer-editorial-compact .footer-directory-block:last-child{
    grid-column:auto;
    grid-row:auto;
    min-height:0;
    padding:22px 20px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:19px;
    background:rgba(255,255,255,.055);
  }
  .footer-editorial-compact .footer-directory-block:nth-child(2){background:rgba(0,160,221,.1)}
  .footer-editorial-compact .footer-label{margin-bottom:14px}
  .footer-editorial-compact .footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .footer-editorial-compact .footer-link-grid a{
    min-height:38px;
    padding:8px 10px;
    border-radius:999px;
    justify-content:center;
    background:rgba(255,255,255,.075);
    font-size:.7rem;
  }
  .footer-editorial-compact .footer-link-grid a:before{display:none}
  .footer-editorial-compact .footer-contact-links{gap:9px}
  .footer-editorial-compact .footer-contact-links a{padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.065)}
  .footer-editorial-compact .footer-legal{margin-top:12px;padding:15px;align-items:flex-start;flex-direction:column;gap:10px}
  .footer-editorial-compact .footer-sectors{justify-content:flex-start;gap:7px 12px}
  .footer-editorial-compact .footer-sectors span{gap:12px;font-size:.64rem}
}

@media (prefers-reduced-motion:reduce){
  .footer-editorial-compact .footer-link-grid a,
  .footer-editorial-compact .footer-contact-links strong{transition:none!important}
}

/* DIFARME · Barreras, contacto compacto y guía de cotización · 2026-09-24a */
.barriers-catalog-note{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  align-items:center;
  gap:16px;
  margin:-8px 0 24px;
  padding:17px 19px;
  border:1px solid #cbe4ed;
  border-radius:18px;
  background:linear-gradient(120deg,#f7fcfe,#eaf7fb);
}
.barriers-catalog-note-logo{
  width:108px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(0,84,141,.13);
  background:linear-gradient(145deg,#fff,#e7f7fc);
  box-shadow:0 8px 18px rgba(7,27,43,.09),inset 0 1px 0 rgba(255,255,255,.85);
}
.barriers-catalog-note-logo img{width:92px;height:auto;max-height:38px;object-fit:contain}
.barriers-catalog-note strong{display:block;margin-bottom:4px;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:.84rem}
.barriers-catalog-note p{max-width:850px;color:#607581;font-size:.78rem;line-height:1.55}
.catalog-product-details{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.catalog-product-details span{
  padding:4px 7px;
  border-radius:999px;
  background:#eef3f5;
  color:#526976;
  font-size:.57rem;
  font-weight:700;
  line-height:1.2;
}
.catalog-product-details .catalog-product-code{background:var(--ink);color:#fff;letter-spacing:.04em}
.catalog-product-details .catalog-product-availability.is-inventory{background:#e0f5ec;color:#176746}
.catalog-product-details .catalog-product-availability.is-order{background:#fff1dc;color:#815216}

.quote-completion-guide{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:16px 17px;
  border:1px solid #bee2ef;
  border-radius:18px;
  background:linear-gradient(120deg,#fff,#e9f8fd);
}
.quote-completion-guide-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--blue);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.82rem;
  font-weight:800;
  box-shadow:0 0 0 5px rgba(0,160,221,.1);
}
.quote-completion-guide strong{display:block;margin-bottom:3px;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:.8rem}
.quote-completion-guide p{color:#5e7480;font-size:.76rem;line-height:1.55}
.quote-item{scroll-margin-top:118px}
.form-grid input::placeholder{color:#94a5ae}

.contact-compact.section-section{
  padding:clamp(48px,6vw,82px) 0;
  background:linear-gradient(145deg,#f7fafb 0%,#edf6f9 100%);
}
.contact-compact-shell{display:grid;gap:18px}
.contact-compact-hero{
  min-height:500px;
  padding:14px;
  border-radius:36px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:14px;
  overflow:hidden;
  background:linear-gradient(135deg,#071b2b 0%,#0a3d58 100%);
  box-shadow:0 24px 64px rgba(7,27,43,.14);
}
.contact-compact-copy{
  min-width:0;
  padding:clamp(34px,4.5vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}
.contact-compact-copy .micro-label{color:#9be4fa}
.contact-compact-copy h1{max-width:650px;color:#fff;font-size:clamp(3rem,4.7vw,5rem);line-height:.98;text-wrap:balance}
.contact-compact-copy>p{max-width:560px;margin-top:22px;color:#c7dce5;font-size:.96rem;line-height:1.72}
.contact-direct-actions{display:grid;gap:10px;margin-top:32px}
.contact-direct{
  min-width:0;
  min-height:72px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:17px;
  display:grid;
  align-content:center;
  gap:3px;
  background:rgba(255,255,255,.06);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.contact-direct:hover{background:rgba(255,255,255,.12);border-color:rgba(142,223,248,.55);transform:translateY(-2px)}
.contact-direct span{color:#8edff8;font-size:.59rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.contact-direct strong{color:#fff;font-family:'Montserrat',sans-serif;font-size:clamp(.9rem,1.3vw,1.06rem);overflow-wrap:anywhere}
.contact-direct-primary{background:var(--cyan);border-color:var(--cyan)}
.contact-direct-primary span{color:#dff8ff}
.contact-direct-primary:hover{background:#008ac1;border-color:#5ed8ff}
.contact-compact-facade{
  position:relative;
  min-width:0;
  min-height:472px;
  margin:0;
  overflow:hidden;
  border-radius:27px;
  background:#dce9ee;
}
.contact-compact-facade img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-compact-facade:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(7,27,43,.75))}
.contact-compact-facade figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:grid;gap:4px;color:#fff}
.contact-compact-facade figcaption span{font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9be4fa}
.contact-compact-facade figcaption strong{font-family:'Montserrat',sans-serif;font-size:1rem;line-height:1.35}
.contact-compact-info{display:grid;grid-template-columns:1.15fr .8fr 1.35fr;gap:12px}
.contact-info-card{
  min-width:0;
  min-height:174px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
  background:#fff;
}
.contact-info-number{font-family:'Montserrat',sans-serif;font-size:.62rem;font-weight:800;color:var(--cyan)}
.contact-info-card .contact-caption{margin-bottom:7px;color:var(--blue)}
.contact-info-card p{color:#536a77;font-size:.86rem;line-height:1.65}
.contact-info-action{background:#e8f7fc;border-color:#cce7f1}
.contact-info-links{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.contact-info-links a{color:var(--blue);font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:800}
.contact-info-links a:first-child{padding:10px 14px;border-radius:999px;background:var(--ink);color:#fff}

@media (max-width:960px){
  .contact-compact-hero{grid-template-columns:1fr;min-height:0}
  .contact-compact-copy{padding:42px 34px 34px}
  .contact-compact-facade{min-height:420px}
  .contact-compact-info{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-info-action{grid-column:1/-1;min-height:150px}
}

@media (max-width:620px){
  .barriers-catalog-note{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:14px;margin-top:-4px}
  .barriers-catalog-note-logo{width:82px;height:42px;border-radius:13px}
  .barriers-catalog-note-logo img{width:70px;height:auto;max-height:30px}
  .catalog-product-details{margin-top:7px}
  .catalog-product-details span{font-size:.54rem}
  .quote-completion-guide{grid-template-columns:34px minmax(0,1fr);align-items:start;padding:14px;gap:12px}
  .quote-completion-guide-icon{width:34px;height:34px;box-shadow:0 0 0 4px rgba(0,160,221,.1)}
  .contact-compact.section-section{padding:28px 0 48px}
  .contact-compact-hero{padding:8px;border-radius:27px;gap:8px}
  .contact-compact-copy{padding:32px 20px 28px}
  .contact-compact-copy h1{font-size:clamp(2.55rem,12vw,3.65rem);line-height:1}
  .contact-compact-copy>p{margin-top:17px;font-size:.88rem}
  .contact-direct-actions{margin-top:24px}
  .contact-direct{min-height:66px;padding:12px 14px}
  .contact-compact-facade{min-height:0;aspect-ratio:1.18/1;border-radius:21px}
  .contact-compact-facade img{object-position:56% center}
  .contact-compact-facade figcaption{left:17px;right:17px;bottom:16px}
  .contact-compact-info{grid-template-columns:1fr;gap:9px}
  .contact-info-card,.contact-info-action{grid-column:auto;min-height:0;padding:20px;border-radius:19px;gap:14px}
  .contact-info-links{display:grid;grid-template-columns:1fr 1fr}
  .contact-info-links a{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  .contact-direct{transition:none!important}
}

/* DIFARME · catálogo dinámico y solicitud flotante · 2026-09-24b */
.catalog-page-dynamic{
  position:relative;
  transition:opacity .18s ease,filter .18s ease;
}
.catalog-page-dynamic.is-loading{
  opacity:.56;
  filter:saturate(.72);
  pointer-events:none;
  cursor:progress;
}
.catalog-page-dynamic.is-loading:after{
  content:'';
  position:fixed;
  z-index:145;
  top:110px;
  left:0;
  width:34%;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  animation:catalog-loading 1s ease-in-out infinite;
}
@keyframes catalog-loading{
  from{transform:translateX(-110%)}
  to{transform:translateX(395%)}
}

.catalog-product.is-selected{background:#f0f9fc}
.catalog-add.is-added{color:var(--blue)}
.catalog-add.is-added b{border-color:var(--cyan);background:var(--cyan);color:#fff;font-size:.78rem;font-weight:800}
.catalog-add:disabled,.service-add:disabled{opacity:.55;cursor:wait}
.service-row.is-selected{background:rgba(0,160,221,.07)}
.service-add.is-added{color:#8ce5ff}
.service-add [data-add-button-label]{font-weight:inherit}
.service-add.is-added span[data-add-button-icon]{border-color:var(--cyan);background:var(--cyan);color:#fff}

.catalog-ajax-notice{
  position:fixed;
  z-index:230;
  left:50%;
  bottom:24px;
  max-width:min(520px,calc(100% - 32px));
  padding:13px 18px;
  border:1px solid #bde4f1;
  border-radius:999px;
  background:#effaff;
  color:var(--ink);
  box-shadow:0 16px 42px rgba(7,27,43,.18);
  font-family:'Montserrat',sans-serif;
  font-size:.74rem;
  font-weight:700;
  text-align:center;
  opacity:0;
  transform:translate(-50%,18px);
  visibility:hidden;
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
}
.catalog-ajax-notice.is-visible{opacity:1;transform:translate(-50%,0);visibility:visible;transition-delay:0s}
.catalog-ajax-notice.is-error{border-color:#f0c5bd;background:#fff2ef;color:#7a3028}

/* Custom catalog autocomplete: no browser-native suggestion UI. */
.catalog-search{align-items:start}
.catalog-search-combobox{position:relative;min-width:0}
.search-field{transition:border-color .18s ease,box-shadow .18s ease}
.search-field:focus-within,.catalog-search-combobox.is-open .search-field{
  border-color:var(--cyan);
  box-shadow:0 0 0 4px rgba(0,160,221,.1);
}
.catalog-search-help{
  margin:7px 18px 0;
  color:#70838e;
  font-size:.63rem;
  line-height:1.45;
}
.catalog-search-popover{
  position:absolute;
  z-index:95;
  top:calc(100% + 10px);
  left:0;
  right:0;
  overflow:hidden;
  border:1px solid #cbdde5;
  border-radius:24px;
  background:rgba(255,255,255,.985);
  box-shadow:0 24px 62px rgba(7,27,43,.2),0 4px 15px rgba(7,27,43,.07);
  backdrop-filter:blur(18px);
  transform-origin:top center;
  animation:catalog-search-open .18s cubic-bezier(.2,.8,.2,1);
}
.catalog-search-popover[hidden]{display:none!important}
.catalog-search-popover:before{
  content:'';
  position:absolute;
  top:0;
  right:24px;
  left:24px;
  height:3px;
  border-radius:0 0 99px 99px;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
}
@keyframes catalog-search-open{
  from{opacity:0;transform:translateY(-7px) scale(.985)}
  to{opacity:1;transform:none}
}
.catalog-search-popover-head{
  min-height:63px;
  padding:17px 18px 12px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid #e2eaee;
  background:linear-gradient(135deg,#f5fbfd,#fff 72%);
}
.catalog-search-popover-head>div{display:grid;gap:3px}
.catalog-search-popover-head span{
  color:var(--blue);
  font-family:'Montserrat',sans-serif;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.catalog-search-popover-head strong{color:var(--ink);font-size:.73rem}
.catalog-search-popover-head small{color:#748792;font-size:.61rem;white-space:nowrap}
.catalog-search-results{
  max-height:min(410px,54vh);
  padding:7px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#bad3de transparent;
}
.catalog-search-option{
  width:100%;
  min-height:64px;
  padding:10px 11px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.catalog-search-option:hover{background:#eaf7fb;transform:translateX(2px)}
.catalog-search-option.is-active{background:var(--ink);color:#fff;outline:0}
.catalog-search-option:focus-visible{outline:3px solid var(--cyan);outline-offset:-2px}
.catalog-search-option-mark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#e4f5fb;
  color:var(--blue);
  font-size:1.08rem;
  font-weight:700;
}
.catalog-search-option.is-active .catalog-search-option-mark{background:var(--cyan);color:#fff}
.catalog-search-option-copy{display:grid;min-width:0;gap:3px}
.catalog-search-option-copy strong{
  overflow:hidden;
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.catalog-search-option-copy small{
  overflow:hidden;
  color:#6e818c;
  font-size:.65rem;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.catalog-search-option.is-active .catalog-search-option-copy small{color:#bcd1db}
.catalog-search-option>em{
  max-width:190px;
  padding:6px 9px;
  border-radius:999px;
  background:#edf7fa;
  color:var(--blue);
  font-size:.58rem;
  font-style:normal;
  font-weight:700;
  line-height:1.25;
  text-align:center;
}
.catalog-search-option.is-active>em{background:#17394e;color:#aeeaff}
.catalog-search-empty{
  min-height:112px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:left;
}
.catalog-search-empty[hidden]{display:none!important}
.catalog-search-empty>span{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8f6fb;
  color:var(--blue);
  font-family:'Montserrat',sans-serif;
  font-weight:800;
}
.catalog-search-empty div{display:grid;gap:4px}
.catalog-search-empty strong{font-size:.76rem}
.catalog-search-empty small{color:#6a7f8b;font-size:.65rem;line-height:1.45}
.catalog-search-all{
  width:100%;
  min-height:49px;
  padding:10px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:0;
  border-top:1px solid #dfebef;
  background:#f3f8fa;
  color:var(--ink);
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;
  font-weight:700;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.catalog-search-all:hover,.catalog-search-all:focus-visible{background:var(--blue);color:#fff;outline:0}
.catalog-search-all b{font-size:1rem;font-weight:500}

body.catalog-cart-open{overflow:hidden}
.catalog-cart{
  position:fixed;
  z-index:210;
  inset:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility 0s linear .24s;
}
.catalog-cart.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.catalog-cart-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:rgba(4,20,31,.32);
  backdrop-filter:blur(1.5px);
  cursor:default;
}
.catalog-cart-panel{
  position:absolute;
  top:12px;
  right:12px;
  bottom:12px;
  width:min(590px,calc(100% - 24px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.55);
  border-radius:30px;
  background:#f5f8f9;
  box-shadow:-20px 20px 70px rgba(4,20,31,.28);
  outline:0;
  transform:translateX(calc(100% + 28px));
  transition:transform .3s cubic-bezier(.22,.72,.18,1);
}
.catalog-cart.is-open .catalog-cart-panel{transform:translateX(0)}
.catalog-cart-header{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding:25px 27px 22px;
  background:linear-gradient(128deg,var(--ink),#0b4a68);
  color:#fff;
}
.catalog-cart-kicker{
  display:block;
  margin-bottom:7px;
  color:#83def8;
  font-family:'Montserrat',sans-serif;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.catalog-cart-header h2{color:#fff;font-size:clamp(1.4rem,2.1vw,1.85rem);line-height:1.15;letter-spacing:-.03em}
.catalog-cart-header p{margin-top:7px;color:#bdd4de;font-size:.75rem;line-height:1.5}
.catalog-cart-close{
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.catalog-cart-close:hover{background:rgba(255,255,255,.17);transform:rotate(4deg)}
.catalog-cart-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.catalog-cart-feedback{
  flex:0 0 auto;
  margin:13px 18px 0;
  padding:11px 14px;
  border:1px solid #b9e7d4;
  border-radius:13px;
  background:#e9f8f2;
  color:#176746;
  font-size:.74rem;
  font-weight:700;
}
.catalog-cart-feedback[hidden]{display:none}
.catalog-cart-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px;
  scrollbar-color:#b8d2dc transparent;
}
.catalog-cart.is-busy .catalog-cart-body{opacity:.54;pointer-events:none}
.catalog-cart-guide{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  padding:13px 14px;
  border:1px solid #c7e5ef;
  border-radius:16px;
  background:#ebf8fc;
}
.catalog-cart-guide>span{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.7rem;
  font-weight:800;
}
.catalog-cart-guide strong{display:block;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:.73rem}
.catalog-cart-guide p{margin-top:2px;color:#5b717e;font-size:.69rem;line-height:1.5}
.catalog-cart-autosave{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 2px 12px;
  color:#647985;
  font-size:.66rem;
  font-weight:600;
}
.catalog-cart-autosave i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(0,160,221,.12)}
.catalog-cart-items{display:grid;gap:11px}
.catalog-cart-item{
  padding:17px;
  border:1px solid #d5e1e6;
  border-radius:20px;
  background:#fff;
  box-shadow:0 6px 18px rgba(7,27,43,.035);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.catalog-cart-item.is-complete{border-color:#a9d9e9;box-shadow:0 6px 20px rgba(0,84,141,.06)}
.catalog-cart-item-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:11px}
.catalog-cart-index{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#e7f6fb;
  color:var(--blue);
  font-family:'Montserrat',sans-serif;
  font-size:.57rem;
  font-weight:800;
}
.catalog-cart-item-title{min-width:0}
.catalog-cart-item-title>span{display:block;color:var(--blue);font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.catalog-cart-item-title h3{margin-top:4px;font-size:.98rem;line-height:1.3;letter-spacing:-.018em;overflow-wrap:anywhere}
.catalog-cart-item-title small{display:block;margin-top:5px;color:#71828c;font-size:.64rem}
.catalog-cart-item.is-complete .catalog-cart-item-title small{color:#0874a6}
.catalog-cart-remove{
  min-height:34px;
  padding:6px 3px 6px 10px;
  border:0;
  background:transparent;
  color:#9a3c32;
  font-size:.65rem;
  font-weight:700;
  cursor:pointer;
}
.catalog-cart-fields{margin-top:15px;padding-top:15px;border-top:1px solid #e4ecef;gap:10px}
.catalog-cart-fields label>span{margin-bottom:5px;font-size:.65rem}
.catalog-cart-fields input,.catalog-cart-fields select{min-height:43px;padding:10px 11px;border-radius:11px;font-size:.78rem}
.catalog-cart-service-note{margin:13px 0 0;padding-top:13px;border-top:1px solid #e4ecef;color:#58707d;font-size:.71rem;line-height:1.6}
.catalog-cart-empty{
  min-height:410px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.catalog-cart-empty>span{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#e5f6fc;color:var(--blue);font-size:1.5rem}
.catalog-cart-empty h3{margin-top:17px;font-size:1.35rem}
.catalog-cart-empty p{max-width:330px;margin:8px 0 20px;color:#637782;font-size:.8rem;line-height:1.6}
.catalog-cart-footer{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid #d8e3e7;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
}
.catalog-cart-footer .btn{width:100%;min-height:48px;background:var(--blue);box-shadow:0 10px 24px rgba(0,84,141,.18)}
.catalog-cart-footer.is-empty{grid-template-columns:1fr}
.catalog-cart-footer.is-empty .catalog-cart-continue{border-radius:999px;background:var(--ink);color:#fff}
.catalog-cart-continue{
  min-height:46px;
  padding:10px 13px;
  border:0;
  background:transparent;
  color:#526875;
  font-family:'Montserrat',sans-serif;
  font-size:.69rem;
  font-weight:700;
  cursor:pointer;
}

@media (max-width:820px){
  .catalog-page-dynamic.is-loading:after{top:76px}
  .catalog-cart-panel{
    top:auto;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:min(92vh,860px);
    height:min(92dvh,860px);
    border-width:1px 0 0;
    border-radius:27px 27px 0 0;
    transform:translateY(calc(100% + 24px));
  }
  .catalog-cart.is-open .catalog-cart-panel{transform:translateY(0)}
  .catalog-cart-header{padding:20px 20px 17px;border-radius:26px 26px 0 0}
  .catalog-cart-header h2{font-size:1.35rem}
  .catalog-cart-body{padding:14px}
  .catalog-cart-feedback{margin:10px 14px 0}
}

@media (max-width:560px){
  .catalog-ajax-notice{bottom:76px;border-radius:17px;font-size:.69rem}
  .catalog-search-help{margin:6px 13px 0;font-size:.59rem}
  .catalog-search-popover{left:-2px;right:-2px;top:calc(100% + 8px);border-radius:20px}
  .catalog-search-popover-head{min-height:57px;padding:15px 14px 11px}
  .catalog-search-popover-head small{display:none}
  .catalog-search-results{max-height:44vh;max-height:44dvh;padding:6px}
  .catalog-search-option{grid-template-columns:35px minmax(0,1fr);min-height:66px;padding:9px;gap:10px;border-radius:14px}
  .catalog-search-option-mark{width:35px;height:35px;border-radius:11px}
  .catalog-search-option-copy strong{font-size:.73rem}
  .catalog-search-option-copy small{font-size:.61rem}
  .catalog-search-option>em{grid-column:2;justify-self:start;max-width:100%;margin-top:-2px;padding:4px 7px;font-size:.54rem}
  .catalog-search-all{padding:10px 14px;font-size:.63rem}
  .catalog-product.is-selected{box-shadow:inset 3px 0 var(--cyan)}
  .catalog-cart-panel{height:94vh;height:94dvh;border-radius:24px 24px 0 0}
  .catalog-cart-header{padding:18px 16px 15px;gap:12px}
  .catalog-cart-header p{font-size:.69rem}
  .catalog-cart-close{width:39px;height:39px;flex-basis:39px}
  .catalog-cart-body{padding:11px}
  .catalog-cart-guide{grid-template-columns:32px minmax(0,1fr);padding:11px;gap:9px}
  .catalog-cart-guide>span{width:32px;height:32px}
  .catalog-cart-item{padding:14px;border-radius:17px}
  .catalog-cart-item-head{grid-template-columns:31px minmax(0,1fr) auto;gap:9px}
  .catalog-cart-index{width:31px;height:31px;border-radius:10px}
  .catalog-cart-item-title h3{font-size:.9rem}
  .catalog-cart-remove{padding-left:4px;font-size:.61rem}
  .catalog-cart-fields{grid-template-columns:1fr;gap:9px}
  .catalog-cart-fields .span-2{grid-column:auto}
  .catalog-cart-footer{grid-template-columns:.78fr 1.22fr;padding:10px 11px calc(10px + env(safe-area-inset-bottom));gap:7px}
  .catalog-cart-footer .btn{min-height:46px;padding:11px 12px;font-size:.7rem}
  .catalog-cart-continue{padding:8px 6px;font-size:.64rem}
  .catalog-cart-empty{min-height:330px}
}

@media (prefers-reduced-motion:reduce){
  .catalog-page-dynamic,.catalog-cart,.catalog-cart-panel,.catalog-ajax-notice,.catalog-cart-close,.catalog-search-option,.catalog-search-all,.search-field{transition:none!important}
  .catalog-page-dynamic.is-loading:after{animation:none;width:100%}
  .catalog-search-popover{animation:none!important}
}

/* DIFARME · aviso de privacidad · 2026-09-25a */
.footer-legal-primary{display:flex;align-items:center;gap:11px 20px;flex-wrap:wrap}
.footer-legal-primary a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(142,223,248,.58);text-underline-offset:4px;transition:color .18s ease,text-decoration-color .18s ease}
.footer-legal-primary a:hover{color:#aeeaff;text-decoration-color:#aeeaff}

.privacy-hero{position:relative;overflow:hidden;padding:76px 0 82px;background:linear-gradient(125deg,#eef8fb 0%,#fff 66%)}
.privacy-hero:after{content:'';position:absolute;right:-170px;top:-235px;width:560px;height:560px;border:1px solid rgba(0,160,221,.15);border-radius:50%;box-shadow:0 0 0 80px rgba(0,160,221,.045),0 0 0 160px rgba(0,84,141,.025)}
.privacy-hero-inner{position:relative;z-index:1}
.privacy-hero h1{max-width:890px;font-size:clamp(3rem,6vw,6rem);text-wrap:balance}
.privacy-hero p{margin-top:22px;color:#5b7180;font-size:.88rem}
.privacy-page{padding-top:70px;background:#f5f8f9}
.privacy-layout{display:grid;grid-template-columns:255px minmax(0,1fr);align-items:start;gap:34px}
.privacy-index{position:sticky;top:132px;padding:24px 22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}
.privacy-index-label{display:block;margin-bottom:14px;color:var(--blue);font-family:'Montserrat',sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.privacy-index ol{display:grid;gap:3px;margin:0;padding:0;list-style:none;counter-reset:privacy-index}
.privacy-index li{counter-increment:privacy-index}
.privacy-index a{display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;padding:7px 4px;color:#526b79;font-size:.69rem;line-height:1.35;transition:color .18s ease,transform .18s ease}
.privacy-index a:before{content:counter(privacy-index,decimal-leading-zero);color:var(--cyan);font-family:'Montserrat',sans-serif;font-size:.56rem;font-weight:800;line-height:1.7}
.privacy-index a:hover{color:var(--ink);transform:translateX(3px)}
.privacy-document{padding:clamp(32px,5vw,72px);border:1px solid #dce8ed;border-radius:32px;background:#fff;box-shadow:0 20px 60px rgba(7,27,43,.07)}
.privacy-document>p:first-child{margin-top:0;padding:0 0 30px;border-bottom:1px solid var(--line);color:#334d5b;font-size:1rem}
.privacy-document section{scroll-margin-top:126px;padding-top:38px}
.privacy-document h2{margin-bottom:18px;color:var(--ink);font-size:clamp(1.05rem,1.8vw,1.42rem);line-height:1.32;letter-spacing:-.025em}
.privacy-document p,.privacy-document li{color:#425a68;font-size:.91rem;line-height:1.85}
.privacy-document p+p{margin-top:16px}
.privacy-document ul{display:grid;gap:10px;margin:16px 0 0;padding-left:22px}
.privacy-document li::marker{color:var(--cyan)}
.privacy-document strong{color:var(--ink)}
.privacy-signature{padding-top:18px;color:var(--ink)!important;font-family:'Montserrat',sans-serif;font-size:1.05rem!important;text-align:center}

@media (max-width:920px){
  .privacy-layout{grid-template-columns:1fr}
  .privacy-index{display:none}
}

@media (max-width:620px){
  .privacy-hero{padding:52px 0 58px}
  .privacy-hero:after{right:-230px;top:-285px}
  .privacy-hero h1{font-size:clamp(2.65rem,13vw,4rem);line-height:.98}
  .privacy-page{padding:28px 0 58px}
  .privacy-document{padding:26px 21px;border-radius:24px}
  .privacy-document>p:first-child{padding-bottom:24px;font-size:.9rem}
  .privacy-document section{padding-top:32px;scroll-margin-top:92px}
  .privacy-document h2{font-size:1rem}
  .privacy-document p,.privacy-document li{font-size:.84rem;line-height:1.78}
  .footer-legal-primary{display:grid;gap:7px}
}

@media (prefers-reduced-motion:reduce){
  .privacy-index a,.footer-legal-primary a{transition:none!important}
}
