/*
Theme Name: Óptica Comunal Vitacura
Description: Tema propio de Óptica Comunal Vitacura (OCV). Mismo lenguaje visual que Óptica Comunal Las Condes, con la identidad OCV y la marca municipal Vitacura · Mi Vita.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: optica-comunal-vitacura
*/

@font-face{font-family:Montserrat;src:url('assets/montserrat.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{
	--ink:#172627;--graph:#2f3b3c;--muted:#566668;--line:#dce7e5;--pale:#f1f7f6;--white:#fff;
	--teal:#0e6f6a;--teal-d:#0a5652;--teal-l:#1db4b6;--lime:#b8cd00;--violet:#7b47d1;--magenta:#c2349e;
	--deep:#0d2223;
	--grad:linear-gradient(90deg,#92d34a 0%,#3fc59c 24%,#1db4b6 46%,#4f86d6 66%,#8b4fd4 82%,#c83cb4 100%);
	--grad-text:linear-gradient(90deg,#128a73 0%,#0f8d93 28%,#3f73cc 58%,#7744c9 80%,#ad2b92 100%);
	--radius:18px;--ease:cubic-bezier(.2,.7,.2,1);
	--shadow:0 24px 60px -30px rgba(13,34,35,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:hover{color:var(--teal)}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a,button,summary,input{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a35f00;outline-offset:3px;border-radius:6px}
.topbar :focus-visible,.promo :focus-visible,.final-cta :focus-visible,.site-footer :focus-visible,.mobile-cta :focus-visible{outline-color:#e99d18}
h1,h2,h3{color:var(--ink);line-height:1.12;letter-spacing:-.035em;margin:0 0 22px}
h1{font-size:clamp(36px,4.4vw,64px);font-weight:600}
h2{font-size:clamp(28px,3.1vw,44px);font-weight:650}
h3{font-size:21px;font-weight:700;letter-spacing:-.02em}
p{margin:0 0 22px}
ul,ol{padding-left:22px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1320px,calc(100% - 64px));margin-inline:auto}
.section{padding-block:96px}
.soft{background:var(--pale)}
.skip{position:absolute;left:16px;top:-100px;z-index:99;background:#fff;padding:12px 16px;border-radius:8px}
.skip:focus{top:12px}
.preview-note{background:#eef4f3;color:#4a5d5f;text-align:center;font-size:12px;padding:5px 16px}
.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Eyebrow, botones, enlaces ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:750;letter-spacing:.16em;color:var(--teal);text-transform:uppercase;margin-bottom:20px}
.eyebrow:before{content:"";width:28px;height:2px;border-radius:2px;background:var(--grad);flex:0 0 auto}
.eyebrow.light{color:#bdf3ea}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 24px;border:1px solid var(--teal);border-radius:999px;background:var(--teal);color:#fff;font-size:14.5px;font-weight:700;line-height:1.3;transition:background .2s,transform .2s var(--ease),box-shadow .2s;box-shadow:0 10px 24px -14px rgba(14,111,106,.8)}
.btn:hover{background:var(--teal-d);color:#fff;transform:translateY(-1px)}
.btn .arrow{font-size:18px;line-height:1;transition:transform .2s var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}
.btn-lg{min-height:56px;padding:15px 28px;font-size:15px}
.btn.outline{background:#fff;color:var(--ink);border-color:#b9cdca;box-shadow:none}
.btn.outline:hover{border-color:var(--teal);color:var(--teal)}
.btn.light{background:#fff;color:var(--deep);border-color:#fff;box-shadow:0 14px 30px -16px rgba(0,0,0,.6)}
.btn.light:hover{background:#eafaf7;color:var(--deep)}
.btn.ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);box-shadow:none}
.btn.ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.text-link{font-size:14px;font-weight:700;color:var(--teal);display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid transparent;transition:border-color .2s}
.text-link:hover{border-color:currentColor}
.salvedad{font-size:12.5px;opacity:.8;margin:18px 0 0}

/* ---------- Logo OCV ---------- */
.ocv-logo{display:inline-flex;align-items:center;gap:16px;color:var(--graph)}
.ocv-mark{height:54px;width:auto;flex:0 0 auto;overflow:visible}
.ocv-word{display:flex;flex-direction:column;justify-content:center;border-left:2px solid #c9d3d2;padding-left:14px;line-height:1}
.ocv-word b{font-size:15px;font-weight:800;letter-spacing:.06em;line-height:1.08}
.ocv-word i{font-style:normal;font-size:16px;font-weight:600;letter-spacing:.01em;margin-top:3px}
.ocv-logo.blanco{color:#fff}
.ocv-logo.blanco .ocv-word{border-color:rgba(255,255,255,.35)}
.custom-logo{max-height:70px;width:auto}

/* ---------- Cabecera ---------- */
.topbar{background:var(--deep);color:#d7ebe8;font-size:13px;padding:9px 0}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.topbar strong{color:#fff;font-weight:650}
.topbar a{color:#fff;font-weight:600}
.topbar a:hover{text-decoration:underline;color:#fff}
.topbar .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--grad);margin-right:10px;vertical-align:1px}
.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.brand-row{display:flex;align-items:center;gap:28px;min-height:104px;padding-block:16px}
.brand{display:inline-flex}
.brand-claim{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.5;border-left:1px solid var(--line);padding-left:22px}
.header-seal{margin-left:auto;display:flex;align-items:center}
.sello-header{height:54px;width:auto}
.menu-toggle{display:none}
.nav-row{border-top:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:64px}
.main-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:650}
.main-nav a{position:relative;padding-block:20px}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.main-nav a:hover:after,.main-nav a[aria-current="page"]:after{transform:scaleX(1)}
.main-nav a[aria-current="page"]{color:var(--teal)}
.nav-mobile-only{display:none}
.nav-actions{display:flex;align-items:center;gap:22px}
.nav-phone{display:flex;flex-direction:column;font-size:15px;font-weight:700;line-height:1.2;text-align:right}
.nav-phone span{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.nav-reserve{min-height:46px}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;background:linear-gradient(180deg,#f3f9f8,#eef6f5);min-height:640px;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:0 0 0 44%;z-index:-1}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eef6f5 0%,rgba(238,246,245,.75) 12%,rgba(238,246,245,0) 34%);z-index:1}
.hero-grid{position:relative}
.hero-copy{max-width:640px;padding-block:80px}
.hero-copy h1{font-size:clamp(38px,4.3vw,62px);line-height:1.1;letter-spacing:-.045em;font-weight:550}
.hero-copy h1 strong{font-weight:700}
.hero-copy>p{max-width:520px;font-size:18px;line-height:1.75;color:#3d5153}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-detail{font-size:13px;color:#536466;margin:22px 0 0}
.sello-mobile{display:none}
.hero-badge{position:absolute;z-index:2;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:16px;box-shadow:var(--shadow);padding:14px 18px;display:flex;gap:12px;align-items:center}
.hero-badge span{font-size:12px;color:var(--muted);font-weight:600}
.hero-badge b{display:block;font-size:20px;letter-spacing:-.02em;color:var(--ink)}
.hb-top{top:56px;right:48px;flex-direction:column;align-items:flex-start;gap:0}
.hb-top b{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:26px}
.hb-bottom{bottom:48px;left:26%}
.hb-bottom b{font-size:17px}
.hb-bottom small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.hb-ring{width:38px;height:38px;border-radius:50%;background:conic-gradient(from 210deg,#92d34a,#1db4b6,#8b4fd4,#c83cb4,#92d34a);-webkit-mask:radial-gradient(circle,transparent 10px,#000 11px);mask:radial-gradient(circle,transparent 10px,#000 11px);flex:0 0 auto}

/* ---------- Cifras ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:0 0 20px 20px;margin-top:-1px;box-shadow:0 30px 50px -45px rgba(13,34,35,.5)}
.stat{display:flex;gap:16px;align-items:center;padding:26px 28px}
.stat+.stat{border-left:1px solid var(--line)}
.stat b{font-size:32px;font-weight:750;letter-spacing:-.045em;white-space:nowrap;color:var(--teal);line-height:1;display:flex;flex-direction:column}
.stat b small{font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.stat span{font-size:13px;line-height:1.5;color:var(--muted)}
.stat strong{display:block;font-size:15px;color:var(--ink)}

/* ---------- Promo segundo par ---------- */
.promo{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,#14403f 0%,var(--deep) 55%,#1a1430 100%);color:#e2f1ef;padding-block:96px}
.promo-bg .ring{position:absolute;border-radius:50%;z-index:-1;opacity:.55;filter:blur(1px)}
.promo-bg .r1{width:520px;height:520px;left:-300px;top:-300px;background:conic-gradient(from 120deg,#92d34a,#1db4b6,transparent 60%);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);mask:radial-gradient(circle,transparent 62%,#000 63%)}
.promo-bg .r2{width:720px;height:720px;right:-260px;bottom:-380px;background:conic-gradient(from 300deg,#8b4fd4,#c83cb4,transparent 55%);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67%);mask:radial-gradient(circle,transparent 66%,#000 67%)}
.promo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.promo-price{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.promo-price small{font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#a9dcd5}
.promo-price b{font-size:clamp(80px,11vw,168px);font-weight:800;letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin:10px 0 14px;padding-right:.04em}
.promo-price span{font-size:16px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 16px}
.promo h2{color:#fff;font-size:clamp(30px,3.2vw,46px)}
.promo p{color:#cfe3e0;font-size:17px;line-height:1.75;max-width:600px}
.promo-tags{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-wrap:wrap;gap:10px}
.promo-tags li{font-size:13px;font-weight:650;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff}
.promo .salvedad{color:#b6cfcb}

/* ---------- Escultura óptica (misma secuencia que Las Condes, en colores OCV) ---------- */
.vision-note{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:400px;margin-top:72px;border-radius:24px;overflow:hidden;background:#f6faf9;border:1px solid var(--line);box-shadow:0 18px 48px rgba(13,34,35,.06)}
.optical-sculpture{position:relative;isolation:isolate;min-height:400px;overflow:hidden;background:radial-gradient(ellipse at 75% 12%,#1f5d5c 0%,transparent 52%),radial-gradient(ellipse at 10% 90%,#40306b 0%,transparent 55%),var(--deep)}
.iris-natural{position:absolute;inset:0;z-index:0;overflow:hidden;background:#123a3b}
.iris-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.94) brightness(.95)}
.iris-natural:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(29,180,182,.72),rgba(79,134,214,.32) 48%,rgba(139,79,212,.72));mix-blend-mode:color;pointer-events:none}
.iris-light{position:absolute;inset:0;z-index:3;mix-blend-mode:screen;pointer-events:none;background:linear-gradient(180deg,transparent 38%,rgba(95,224,208,.02) 43%,rgba(95,224,208,.16) 48%,rgba(230,255,250,.72) 49.8%,rgba(240,255,252,.82) 50%,rgba(182,147,255,.3) 50.3%,rgba(182,147,255,.04) 56%,transparent 62%)}
.optical-grain{position:absolute;inset:0;z-index:1;opacity:.08;background-image:radial-gradient(#e6f6f3 .6px,transparent .7px);background-size:16px 16px}
.optical-orbit{position:absolute;z-index:1;border-radius:50%;width:420px;height:240px;left:calc(50% - 210px);top:calc(50% - 120px);transform:rotate(-32deg);border:1px solid rgba(190,240,232,.28)}
.optical-orbit.orbit-two{width:330px;height:360px;left:calc(50% - 165px);top:calc(50% - 180px);transform:rotate(42deg);border-color:rgba(214,190,255,.2)}
.optical-lens-sequence{position:absolute;inset:0;z-index:2;pointer-events:none}
.optical-glass{position:absolute;border-radius:50%;width:210px;height:245px;left:calc(50% - 105px);top:calc(50% - 122px);transform:rotate(-29deg);border:1px solid rgba(214,255,248,.6);background:linear-gradient(140deg,rgba(214,255,248,.16),transparent 44%,rgba(139,79,212,.14));box-shadow:inset 2px 1px 3px rgba(230,255,250,.6),inset -3px -2px 6px rgba(29,180,182,.4),8px 12px 25px rgba(6,30,32,.18)}
.glass-back{left:calc(50% - 127px);top:calc(50% - 117px);transform:rotate(29deg) scale(.93);opacity:.65;border-color:rgba(214,190,255,.55);transition:transform 1.2s var(--ease)}
.glass-front{overflow:hidden}
.glass-edge{position:absolute;inset:7px;border:1px solid rgba(214,255,248,.33);border-radius:inherit;box-shadow:inset -2px -1px 2px rgba(146,211,74,.35)}
.glass-light{position:absolute;inset:-60%;opacity:.55;background:linear-gradient(115deg,transparent 43%,rgba(255,255,255,0) 46%,rgba(239,255,252,.47) 49%,rgba(255,255,255,.04) 53%,transparent 57%);transform:translateX(-55%)}
.optical-beam{position:absolute;width:125%;height:100px;left:-12%;top:52%;transform:rotate(-26deg);background:linear-gradient(0deg,transparent,rgba(29,180,182,.16) 25%,rgba(182,236,224,.36) 50%,rgba(182,147,255,.2) 62%,transparent 78%);filter:blur(8px);opacity:.7}
.optical-sculpture:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,rgba(8,30,32,.7),transparent 26%,transparent 83%,rgba(8,30,32,.3))}
.optical-signature{position:absolute;z-index:4;left:28px;bottom:24px;display:flex;flex-direction:column;gap:5px;color:#effaf8;opacity:.9;text-shadow:0 1px 12px rgba(5,30,32,.5)}
.optical-signature>span:first-child{font-size:23px;font-weight:500;line-height:1.15;letter-spacing:-.035em}
.optical-signature>span:last-child{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(90deg,#b7ec7a,#5fe0d0,#b693ff,#f08ad8);-webkit-background-clip:text;background-clip:text;color:transparent}
.optical-mark{position:absolute;z-index:4;right:26px;bottom:22px;color:#cfeee9;display:flex;align-items:center;gap:9px;font:14px Arial}
.optical-mark span{display:block;width:48px;height:1px;background:rgba(207,238,233,.45)}
.vision-note.is-visible .glass-front{animation:ocv-lens-front 7s ease-in-out infinite}
.vision-note.is-visible .glass-back{animation:ocv-lens-back 9s ease-in-out infinite}
.vision-note.is-visible .glass-light{animation:ocv-shine 5s ease-in-out infinite alternate}
.vision-note.is-visible .optical-beam{animation:ocv-beam 8s ease-in-out infinite alternate}
.vision-note.is-visible .iris-light{animation:ocv-scan 6s ease-in-out infinite alternate}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.optical-sculpture:hover .glass-back{transform:translate(-8px,-4px) rotate(23deg) scale(.93)}}
@keyframes ocv-lens-front{0%,100%{transform:translate(0,0) rotate(-29deg)}50%{transform:translate(24px,-18px) rotate(-9deg)}}
@keyframes ocv-lens-back{0%,100%{transform:translate(0,0) rotate(29deg) scale(.93)}50%{transform:translate(-21px,17px) rotate(8deg) scale(.96)}}
@keyframes ocv-shine{0%,10%{transform:translateX(-55%)}100%{transform:translateX(55%)}}
@keyframes ocv-beam{from{transform:translateY(-22px) rotate(-34deg);opacity:.45}to{transform:translateY(22px) rotate(-17deg);opacity:.95}}
@keyframes ocv-scan{from{transform:translateY(-34%)}to{transform:translateY(34%)}}
.vision-copy{position:relative;padding:46px 48px;display:flex;flex-direction:column;justify-content:center}
.vision-copy h2{font-size:clamp(28px,2.65vw,40px);font-weight:600;letter-spacing:-.045em}
.vision-copy p{color:var(--muted);font-size:15.5px}
.motion-toggle{display:block;margin:0 0 20px auto;align-self:flex-end;border:1px solid #b9cdca;background:#fff;color:#2f5b58;border-radius:30px;padding:7px 13px;font-size:11px;min-height:34px}
.vision-note.motion-paused .optical-sculpture *{animation-play-state:paused!important}

/* ---------- Servicios ---------- */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{position:relative;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.service-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--c)}
.service-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -36px rgba(13,34,35,.55)}
.s-teal{--c:#1db4b6}.s-violet{--c:#7b47d1}.s-magenta{--c:#c2349e}
.service-card .num{display:block;font-size:12.5px;letter-spacing:.1em;color:var(--teal);margin-bottom:28px;font-weight:600}
.service-card p{font-size:15px;color:var(--muted)}

/* ---------- Encabezados de sección ---------- */
.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:40px}
.section-head h2{margin-bottom:0}
.section-head>p{max-width:420px;color:var(--muted);margin:0}

/* ---------- Beneficios ---------- */
.ben-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ben{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px 26px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.ben:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c)}
.ben:hover{transform:translateY(-4px);box-shadow:0 26px 50px -36px rgba(13,34,35,.55)}
.c-teal{--c:#1db4b6}.c-lime{--c:#a9c400}.c-violet{--c:#7b47d1}.c-magenta{--c:#c2349e}
.ben-k{display:block;font-size:12px;letter-spacing:.14em;color:var(--muted);margin-bottom:18px}
.ben-n{display:flex;flex-direction:column;font-size:44px;font-weight:750;letter-spacing:-.05em;line-height:1;margin-bottom:18px;color:var(--ink)}
.ben-n small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:650;color:var(--muted);margin-bottom:6px}
.ben h3{font-size:18px;margin-bottom:10px}
.ben p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.7}
.requirements{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;background:var(--pale);border:1px solid #dfeae8;padding:30px 34px;border-radius:16px;margin-top:22px}
.requirements .eyebrow{margin-bottom:8px}
.requirements h3{margin:0;font-size:22px}
.requirements ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14.5px;font-weight:600;color:#33494b}
.requirements li{display:flex;align-items:center;gap:10px}
.requirements li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #cfe0dd;font-size:12px;color:var(--teal)}
.credit{font-size:12.5px;color:#617274;margin:22px 0 0;max-width:900px;line-height:1.8}

/* ---------- Marcas ---------- */
.brands{padding-block:10px 96px}
.brands-head{text-align:center;margin-bottom:34px}
.brands-head .eyebrow{justify-content:center}
.brands-head h2{font-size:clamp(24px,2.4vw,34px);font-weight:600;margin:0}
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;gap:64px;width:max-content;animation:ocv-marquee 55s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.brand-logo{height:42px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:opacity .2s,filter .2s}
.brand-logo:hover{opacity:1;filter:none}
@keyframes ocv-marquee{to{transform:translateX(-50%)}}

/* ---------- Categorías ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cat{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:box-shadow .3s,transform .3s var(--ease)}
.cat:hover{transform:translateY(-3px);box-shadow:0 26px 50px -36px rgba(13,34,35,.55);color:inherit}
.cat-img{display:block;aspect-ratio:4/3.4;overflow:hidden;background:#f4f7f7}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.cat.product .cat-img img{object-fit:contain;padding:22px;mix-blend-mode:multiply}
.cat:hover .cat-img img{transform:scale(1.04)}
.cat-copy{padding:20px 22px;display:flex;flex-direction:column;gap:2px;position:relative}
.cat-copy:after{content:"↗";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--teal);font-weight:700}
.cat-copy b{font-size:17px}
.cat-copy span{font-size:13.5px;color:var(--muted)}

/* ---------- Split, listas ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.split .picture{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.split .picture img{width:100%;aspect-ratio:1.2;object-fit:cover}
.split p{color:var(--muted)}
.check-list{list-style:none;padding:0;margin:26px 0 30px}
.check-list li{padding:12px 0 12px 32px;border-bottom:1px solid var(--line);position:relative}
.check-list li:before{content:"";position:absolute;left:2px;top:18px;width:14px;height:8px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}

/* ---------- Mosaico ---------- */
.mosaic{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:240px 240px;gap:16px}
.mosaic figure{margin:0;border-radius:18px;overflow:hidden;background:#eef3f2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic .m1{grid-row:span 2}
.mosaic .m2{grid-column:span 2}

/* ---------- FAQ ---------- */
.faq{max-width:920px;margin:auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;transition:box-shadow .2s}
.faq details[open]{box-shadow:0 18px 40px -32px rgba(13,34,35,.5)}
.faq summary{list-style:none;cursor:pointer;padding:20px 56px 20px 24px;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--teal);font-size:18px;transition:transform .2s}
.faq details[open] summary:after{content:"–"}
.faq details p{padding:0 24px 22px;margin:0;color:var(--muted)}

/* ---------- Visítanos ---------- */
.visit{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.visit .address{font-size:19px;line-height:1.6;color:var(--ink)}
.horario{border-collapse:collapse;margin:6px 0 30px;font-size:15px;min-width:min(380px,100%)}
.horario th{text-align:left;font-weight:600;color:var(--muted);padding:10px 30px 10px 0;border-bottom:1px solid var(--line)}
.horario td{font-weight:700;padding:10px 0;border-bottom:1px solid var(--line)}
.map-card{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);aspect-ratio:1.25;background:#e8efee}
.map-card iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Pasos ---------- */
.visit-guide{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-block:90px;border-top:1px solid var(--line)}
.vg-intro p{color:var(--muted);max-width:330px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:34px}
.steps li{display:grid;grid-template-columns:52px 1fr;gap:22px;align-items:start}
.step-n{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid #cfe0dd;font-size:13px;font-weight:700;color:var(--teal);background:#fff;position:relative}
.step-n:after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--grad);z-index:-1;opacity:.35}
.steps li{position:relative;z-index:0}
.steps h3{margin:4px 0 8px}
.steps p{color:var(--muted);margin-bottom:10px}

/* ---------- CTA final ---------- */
.final-cta{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding-block:80px;isolation:isolate}
.final-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 120% at 100% 50%,rgba(139,79,212,.45),transparent 60%),radial-gradient(50% 120% at 0% 50%,rgba(29,180,182,.35),transparent 60%)}
.final-in{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.final-cta h2{color:#fff;margin:0;font-weight:600}
.final-cta h2 span{background:linear-gradient(90deg,#b7ec7a,#5fe0d0,#b693ff,#f08ad8);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Pie ---------- */
.site-footer{position:relative;overflow:hidden;background:#0a1a1b;color:#c4d6d3;padding:72px 0 30px;font-size:14.5px}
.footer-glow{position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px}
.footer-brand .ocv-mark{height:46px}
.footer-motto{font-weight:700;color:#fff;margin:22px 0 10px}
.footer-title{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:10px}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-hours{color:#9fb7b3}
.footer-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:22px;font-size:13px}
.footer-legal{display:flex;gap:22px}
.footer-fine{font-size:12px;color:#86a09c;margin:14px 0 0}

/* ---------- Barra móvil ---------- */
.mobile-cta{display:none}

/* ---------- Páginas internas ---------- */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#f3f9f8,#edf5f4);padding:76px 0 64px;isolation:isolate}
.page-hero:after{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;z-index:-1;background:conic-gradient(from 200deg,#92d34a,#1db4b6,#8b4fd4,#c83cb4,#92d34a);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67%);mask:radial-gradient(circle,transparent 66%,#000 67%);opacity:.22}
.page-hero h1{font-size:clamp(34px,4vw,56px);max-width:860px}
.page-hero p{max-width:640px;font-size:18px;color:#3d5153}
.crumbs{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.crumbs a:hover{text-decoration:underline}
.prose{max-width:780px;padding-block:70px}
.prose h2{font-size:26px;margin-top:40px}
.prose li{margin-bottom:8px}
.prose p,.prose li{color:#334648}
.split-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.card .num{display:block;font-size:12px;letter-spacing:.14em;color:var(--teal);margin-bottom:22px;font-weight:700}
.card p{color:var(--muted);font-size:15px;margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-list{list-style:none;padding:0;margin:0 0 30px}
.contact-list li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.contact-list li>span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.contact-list a{font-weight:700;color:var(--teal)}
.wa-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow)}
.wa-form h2{font-size:26px}
.wa-form label{display:block;font-size:13px;font-weight:700;margin-bottom:16px}
.wa-form input,.wa-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #c9d8d5;border-radius:12px;padding:13px 15px;font-size:15px;background:#fbfdfd}
.wa-form input:focus-visible,.wa-form textarea:focus-visible{outline:3px solid #a35f00;outline-offset:2px;border-color:var(--teal);box-shadow:none}
.wa-form .btn{width:100%}
.fine{font-size:12.5px;color:var(--muted);margin:14px 0 0}
.gallery-grid{columns:3 300px;column-gap:16px;padding-block:70px}
.gallery-grid figure{break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;background:#eef3f2}
.gallery-grid figcaption{font-size:13px;color:var(--muted);padding:10px 14px;background:#fff}
.store-soon{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.step-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;position:relative}
.step-card b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--pale);color:var(--teal);margin-bottom:18px}
.step-card p{color:var(--muted);margin:0;font-size:15px}
.reserve-band{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:var(--shadow)}
.reserve-band h2{margin-bottom:8px}
.reserve-band p{margin:0;color:var(--muted)}
.cond-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
.cond-list li{padding:14px 0 14px 32px;border-bottom:1px solid var(--line);position:relative;color:#33484a}
.cond-list li:before{content:"";position:absolute;left:4px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--grad)}
.e404{padding-block:120px;text-align:center}

/* ---------- Animación de entrada ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
	.motion-toggle{display:none}
	*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
	.reveal{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
	.brand-claim{display:none}
	.main-nav{gap:22px}
	.nav-phone{display:none}
	.ben-cards,.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.stats{grid-template-columns:repeat(2,1fr)}
	.stat:nth-child(3){border-left:0}
	.stat:nth-child(n+3){border-top:1px solid var(--line)}
	.requirements{grid-template-columns:1fr;gap:18px}
	.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
	.wrap{width:calc(100% - 40px)}
	.section{padding-block:68px}
	.topbar .topbar-claim{display:none}
	.topbar .wrap{justify-content:center}
	.brand-row{min-height:76px;padding-block:12px;gap:14px}
	.ocv-mark{height:40px}
	.ocv-word{padding-left:10px}
	.ocv-word b{font-size:12px}
	.ocv-word i{font-size:13px}
	.header-seal{display:none}
	.menu-toggle{display:inline-flex;align-items:center;gap:10px;margin-left:auto;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:700;font-size:14px}
	.burger,.burger:before,.burger:after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .2s}
	.burger:before,.burger:after{content:"";position:absolute;left:0}
	.burger:before{top:-6px}.burger:after{top:6px}
	.menu-toggle[aria-expanded="true"] .burger{background:transparent}
	.menu-toggle[aria-expanded="true"] .burger:before{transform:translateY(6px) rotate(45deg)}
	.menu-toggle[aria-expanded="true"] .burger:after{transform:translateY(-6px) rotate(-45deg)}
	.nav-row{border-top:0}
	.nav-in{min-height:0}
	.nav-actions{display:none}
	.main-nav{display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:6px 0 18px;font-size:17px}
	.main-nav.open{display:flex}
	.main-nav a{padding:15px 2px;border-bottom:1px solid var(--line)}
	.main-nav a:after{display:none}
	.nav-mobile-only{display:block;color:var(--teal)}
	.hero{flex-direction:column;align-items:stretch;min-height:0}
	.hero-media{position:relative;inset:auto;order:2;height:340px}
	.hero-media:before{background:linear-gradient(180deg,#eef6f5 0%,rgba(238,246,245,0) 30%)}
	.hero-photo{object-position:center 22%}
	.hb-top{top:auto;bottom:20px;right:20px;padding:10px 14px}
	.hb-top b{font-size:20px}
	.hb-bottom{display:none}
	.hero-copy{padding:44px 0 30px;max-width:none}
	.hero-copy h1{font-size:clamp(34px,8.6vw,48px)}
	.hero-copy>p{font-size:16.5px}
	.sello-mobile{display:block;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
	.sello-mobile .sello{height:44px;width:auto}
	.hero-actions .btn{flex:1 1 auto}
	.stats{border-radius:0 0 18px 18px;width:calc(100% - 40px)}
	.stat{padding:20px 18px;flex-direction:column;align-items:flex-start;gap:8px}
	.stat b{font-size:28px}
	.promo{padding-block:64px}
	.promo-grid{grid-template-columns:1fr;gap:28px}
	.vision-note{grid-template-columns:1fr;margin-top:48px;border-radius:20px}
	.optical-sculpture{min-height:310px}
	.optical-glass{width:175px;height:205px;left:calc(50% - 87px);top:calc(50% - 102px)}
	.glass-back{left:calc(50% - 106px);top:calc(50% - 97px)}
	.vision-copy{padding:30px 26px 34px}
	.vision-copy h2{font-size:29px}
	.service-grid{grid-template-columns:1fr}
	.section-head{flex-direction:column;align-items:flex-start;gap:16px}
	.split,.visit,.visit-guide,.contact-grid,.store-soon{grid-template-columns:1fr;gap:40px}
	.split .picture{order:-1}
	.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px 160px}
	.mosaic .m1{grid-row:span 1;grid-column:span 2}
	.mosaic .m2{grid-column:span 2}
	.split-cards,.steps-row{grid-template-columns:1fr}
	.reserve-band{grid-template-columns:1fr;padding:28px}
	.final-in{flex-direction:column;align-items:flex-start}
	.site-footer{padding-bottom:110px}
	.mobile-cta{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 16px 40px -18px rgba(13,34,35,.6)}
	.mobile-cta a{display:grid;place-items:center;min-height:46px;border-radius:12px;font-size:14px;font-weight:700;background:var(--pale);color:var(--ink)}
	.mobile-cta .mcta-main{background:var(--teal);color:#fff}
	.contact-list li{grid-template-columns:1fr;gap:4px}
}
@media (max-width:560px){
	.ben-cards,.cat-grid{grid-template-columns:1fr}
	.cat{flex-direction:row;align-items:center}
	.cat-img{width:120px;flex:0 0 120px;aspect-ratio:1}
	.footer-grid{grid-template-columns:1fr}
	.brand-logo{height:34px}
	.marquee-track{gap:44px}
	.hero-actions .btn{width:100%}
}
.cond-dark li{color:#dbeeea;border-color:rgba(255,255,255,.12)}
.horario.compact{margin:0;min-width:0;font-size:14.5px}
.horario.compact th{padding:4px 20px 4px 0;border:0}
.horario.compact td{padding:4px 0;border:0}
.map-card.wide{aspect-ratio:2.6}
@media (max-width:900px){.map-card.wide{aspect-ratio:1.1}}
.cat-copy{padding-right:44px}
.split .picture img.pos-left{object-position:12% center}
@media (max-width:900px){.topbar-contact .t-lugar{display:none}}
.steps-cta{margin-top:28px}
.faq-cta{margin-top:28px;justify-content:center}
@media (max-width:900px){
	.mobile-cta{transform:translateY(140%);visibility:hidden;transition:transform .25s var(--ease),visibility .25s}
	.mobile-cta.is-on{transform:none;visibility:visible}
	body{padding-bottom:84px}
}

/* Marca: un solo degradado repartido, cabecera OCV + sello en un bloque (panel de marca) */
.header-seal{margin-left:0;padding-left:28px;border-left:1px solid var(--line);display:flex;align-items:center}
.sello-header{height:50px;width:auto}
.ocv-word{border-left-width:1.5px}
.ocv-word b{font-size:18px;letter-spacing:.02em;line-height:1.02}
.ocv-word i{font-size:18px;font-weight:500;letter-spacing:0;margin-top:2px}
.nav-actions{margin-left:auto}
.ben:before,.service-card:before{background:var(--grad)}
.ben-cards .ben:before{background-size:400% 100%}
.ben-cards .ben:nth-child(2):before{background-position:33.333% 0}
.ben-cards .ben:nth-child(3):before{background-position:66.666% 0}
.ben-cards .ben:nth-child(4):before{background-position:100% 0}
.service-grid .service-card:before{background-size:300% 100%}
.service-grid .service-card:nth-child(2):before{background-position:50% 0}
.service-grid .service-card:nth-child(3):before{background-position:100% 0}
.hb-top b{background:none;color:var(--ink)}
.promo-bg .ring{position:absolute;border-radius:50%;z-index:-1;opacity:.45;filter:none;background:var(--grad);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px))}
.promo-bg .r1{width:560px;height:560px;left:-300px;top:-320px}
.promo-bg .r2{width:760px;height:760px;right:-320px;bottom:-460px}
.cat.sky .cat-img img{object-position:28% center}
.hero{margin-bottom:0}
@media (max-width:900px){
	.promo-bg .r1{display:none}
	.brand-row{flex-wrap:wrap;row-gap:10px}
	.header-seal{display:flex;order:3;flex:1 0 100%;margin:0;padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}
	.sello-header{height:32px}
	.ocv-word b,.ocv-word i{font-size:13px}
}

/* Accesibilidad y lectura (panel móvil/accesibilidad) */
.wa-form input,.wa-form textarea{border-color:#7a9590}
.wa-form input::placeholder,.wa-form textarea::placeholder{color:#5f6f71}
.marquee-ctrl{display:flex;justify-content:center;margin-bottom:14px}
.marquee-toggle{min-height:44px;padding:10px 18px;border:1px solid #7a9590;border-radius:999px;background:#fff;color:#2f5b58;font-size:14px;font-weight:650}
.marquee.is-paused .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.promo-price b{background:linear-gradient(90deg,#b7ec7a,#5fe0d0,#b693ff,#f08ad8);-webkit-background-clip:text;background-clip:text}
.promo-price span{background:rgba(13,34,35,.6)}
.faq summary:after{content:"+";content:"+" / ""}
.faq details[open] summary:after{content:"–";content:"–" / ""}
.cat-copy:after{content:"↗";content:"↗" / ""}
.motion-toggle{min-height:44px;padding:10px 16px;font-size:13px}
.eyebrow{font-size:13px;letter-spacing:.12em}
.stat b small,.ben-n small{font-size:12.5px}
.ben-k,.service-card .num,.card .num,.footer-title,.preview-note,.hero-badge span{font-size:13px}
.footer-fine,.fine,.credit,.salvedad,.topbar,.promo-tags li{font-size:14px}
.wa-form label{font-size:15px}
.gallery-grid figcaption{font-size:14.5px}
.page-hero .crumbs{font-size:14px;color:var(--muted)}
.optical-signature{text-shadow:0 1px 3px rgba(5,30,32,.9),0 0 18px rgba(5,30,32,.7)}
@media (prefers-reduced-motion:reduce){
	.marquee-ctrl{display:none}
	.marquee{-webkit-mask:none;mask:none}
	.marquee-track{width:auto;flex-wrap:wrap;justify-content:center;gap:24px 40px;padding-inline:20px}
	.marquee-track>[aria-hidden="true"]{display:none}
}
@media (max-width:900px){
	html{scroll-padding-bottom:100px}
	.mobile-cta{bottom:calc(10px + env(safe-area-inset-bottom))}
	.site-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
	.promo-bg .r1{opacity:.18}
	.topbar{padding:0}
	.topbar a,.crumbs a,.contact-list a,.site-footer li a,.site-footer p a,.footer-legal a{display:inline-flex;align-items:center;min-height:44px}
	.site-footer li{margin-bottom:0}
	.text-link{min-height:44px}
	.brand{min-height:44px;align-items:center}
}
@media (max-width:359px){
	.brand-row{gap:10px}.ocv-logo{gap:10px}.ocv-mark{height:34px}
	.ocv-word{padding-left:8px}.ocv-word b{font-size:11px}.ocv-word i{font-size:12px}
	.menu-toggle{padding:10px 14px;gap:8px;flex:0 0 auto}
}

/* Un solo botón y más presencia municipal (decisión 5-nov-2026) */
.sello-header{height:64px}
@media (max-width:900px){
	.mobile-cta{grid-template-columns:1fr}
	.mobile-cta .mcta-main{min-height:50px;font-size:15px}
	.sello-header{height:40px}
	.nav-in .nav-actions{display:none}
}

.topbar .wrap{justify-content:flex-end}
@media (max-width:900px){.topbar .wrap{justify-content:center}}

/* Botón flotante de WhatsApp de la sucursal */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 20px 0 16px;border-radius:999px;background:#128c7e;color:#fff;font-weight:700;font-size:15px;box-shadow:0 14px 34px -14px rgba(0,0,0,.55);transition:transform .2s var(--ease),background .2s}
.wa-float svg{width:28px;height:28px;flex:0 0 auto}
.wa-float:hover{background:#0e7268;color:#fff;transform:translateY(-2px)}
.wa-float:focus-visible{outline:3px solid #a35f00;outline-offset:3px}
@media (max-width:900px){
	.wa-float{right:14px;bottom:calc(84px + env(safe-area-inset-bottom));width:56px;height:56px;padding:0;justify-content:center}
	.wa-float .wa-label{display:none}
}
@media print{.wa-float,.mobile-cta{display:none}}

/* Franja "Un beneficio municipal" (9-nov-2026) */
.civic{max-width:860px;margin:88px auto 0;text-align:center}
.civic-kicker{justify-content:center;margin-bottom:18px}
.civic-kicker:after{content:"";width:28px;height:2px;border-radius:2px;background:var(--grad);flex:0 0 auto}
.civic-lead{font-size:clamp(19px,1.9vw,26px);line-height:1.55;font-weight:450;letter-spacing:-.015em;color:var(--graph);margin:0}
.civic-lead strong{font-weight:650;color:var(--ink)}
.civic+.vision-note{margin-top:64px}
@media (max-width:900px){.civic{margin-top:56px}.civic+.vision-note{margin-top:44px}}

/* Zona de categorías sin tienda online (9-nov-2026) */
.cat-note{display:flex;align-items:center;justify-content:center;gap:10px;margin:26px 0 0;font-size:14px;color:var(--muted);text-align:center}
.cat-note-dot{width:8px;height:8px;border-radius:50%;background:var(--grad);flex:0 0 auto}
@media (max-width:560px){.cat-note{justify-content:flex-start;text-align:left;align-items:flex-start}.cat-note-dot{margin-top:7px}}
