/* Protec Madera · Anillos — generado a partir de la propuesta; todo scopeado bajo .an */
body.an-skin{background:#0B1510;color:#F2EDE2}
:root{
  --ink:#0B1510; --ink2:#10201A; --ink3:#183024;
  --paper:#F2EDE2; --paper2:#E8E1D0; --line:rgba(11,21,16,.16);
  --lima:#87BA14; --lima2:#A9D82B; --hoja:#5E8A12; --oak:#BE8A52;
  --mist:rgba(242,237,226,.68); --mist2:rgba(242,237,226,.42); --dline:rgba(242,237,226,.16);
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',monospace;
  --pad:clamp(20px,4.2vw,72px); --max:1480px; --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}
.an,.an *{box-sizing:border-box}


.an img{max-width:100%;display:block;height:auto}
.an a{color:inherit;text-decoration:none}
.an button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.an :focus-visible{outline:2px solid var(--lima2);outline-offset:3px;border-radius:4px}
.an .skip{position:absolute;left:-999px;top:8px;background:var(--lima);color:var(--ink);padding:10px 16px;border-radius:99px;z-index:200}
.an .skip:focus{left:8px}
.an .wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.an .mono{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.an .dk{background:var(--ink);color:var(--paper)}
.an .dk2{background:var(--ink2);color:var(--paper)}
.an .lt{background:var(--paper);color:var(--ink)}
.an .lm{background:var(--lima);color:var(--ink)}
.an .serif{font-family:var(--serif);font-weight:400}
.an em{font-family:var(--serif);font-style:italic}
.an .rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.an .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.an .rv{opacity:1;transform:none;transition:none}
.an,.an *{animation-duration:.01ms!important;animation-iteration-count:1!important}
html{scroll-behavior:auto}
}
.an .btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 26px;border-radius:99px;font-weight:600;font-size:15px;letter-spacing:-.005em;transition:transform .35s var(--ease),background .25s,color .25s,box-shadow .35s;white-space:nowrap}
.an .btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.an .btn:hover svg{transform:translateX(4px)}
.an .btn-lima{background:var(--lima);color:var(--ink)}
.an .btn-lima:hover{background:var(--lima2);transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(135,186,20,.7)}
.an .btn-ghost{border:1.5px solid var(--mist2);color:var(--paper)}
.an .btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.an .btn-ink{background:var(--ink);color:var(--paper)}
.an .btn-ink:hover{background:var(--ink3);transform:translateY(-2px)}
.an .btn-line{border:1.5px solid var(--ink);color:var(--ink)}
.an .btn-line:hover{background:var(--ink);color:var(--paper)}
.an .arrow{width:16px;height:16px}
.an .hdr{position:fixed;inset:0 0 auto 0;z-index:90;height:88px;transition:background .4s,backdrop-filter .4s,border-color .4s,transform .5s var(--ease);border-bottom:1px solid transparent}
.an .hdr.solid{background:rgba(11,21,16,.8);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-color:var(--dline)}
.an .hdr .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.an .hdr .logo img{height:28px;width:auto}
.an .nav{display:flex;gap:6px;align-items:center}
.an .nav a{position:relative;padding:10px 14px;font-size:14px;font-weight:500;color:var(--mist);transition:color .2s;border-radius:99px}
.an .nav a:hover,.an .nav a.act{color:var(--paper)}
.an .nav a.act::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;background:var(--lima)}
.an .hdr .right{display:flex;align-items:center;gap:14px}
.an .lang{display:flex;gap:2px;font-family:var(--mono);font-size:12px}
.an .lang button{padding:6px 9px;border-radius:99px;color:var(--mist2)}
.an .lang button.on{color:var(--ink);background:var(--paper)}
.an .burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--dline);align-items:center;justify-content:center;flex-direction:column;gap:6px}
.an .burger i{display:block;width:18px;height:1.5px;background:var(--paper);transition:transform .4s var(--ease)}
.an .menu-open .burger i:first-child{transform:translateY(3.7px) rotate(45deg)}
.an .menu-open .burger i:last-child{transform:translateY(-3.7px) rotate(-45deg)}
.an .mnav{position:fixed;inset:0;z-index:80;background:var(--ink);padding:110px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.an .menu-open .mnav{opacity:1;visibility:visible}
.an .mnav a.big{display:block;font-family:var(--serif);font-size:clamp(40px,11vw,64px);line-height:1.12;padding:6px 0;border-bottom:1px solid var(--dline)}
.an .mnav .foot{display:flex;flex-direction:column;gap:6px;color:var(--mist)}
@media (max-width:1060px){.an .nav,.an .hdr .right .btn,.an .hdr .lang{display:none}
.an .burger{display:flex}
}
.an .hero{position:relative;height:clamp(700px,100svh,1020px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.an .hero .bg{position:absolute;inset:0}
.an .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease}
.an .sl.on{opacity:1}
.an .sl img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 10s linear}
.an .sl.on img{transform:scale(1)}
.an .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,21,16,.62) 0%,rgba(11,21,16,.08) 28%,rgba(11,21,16,.42) 62%,rgba(11,21,16,.94) 100%),linear-gradient(90deg,rgba(11,21,16,.55),transparent 62%)}
.an .grain::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.an .hero .rings{position:absolute;z-index:1;right:-16vw;bottom:-26vw;width:min(98vw,1180px);aspect-ratio:1;pointer-events:none}
.an .rg path{fill:none;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3.2s var(--ease) forwards;animation-delay:calc(var(--i) * 75ms + .7s)}
.an .rg text{font-family:var(--mono);font-size:11px;fill:#fff;opacity:0;animation:fade 1s 3.4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:.7}}
.an .hero .in{position:relative;z-index:3;width:100%;padding-bottom:clamp(140px,19vh,200px)}
.an .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px;color:var(--mist)}
.an .eyebrow::before{content:"";width:34px;height:1.5px;background:var(--lima)}
.an h1.hero-h{font-family:var(--serif);font-weight:400;font-size:clamp(50px,min(11.2vw,20vh),176px);line-height:.88;letter-spacing:-.03em;margin:0;max-width:11ch}
.an .mask{display:block;overflow:hidden;padding-bottom:.08em}
.an .mask>span{display:block;transform:translateY(108%);animation:up 1.3s var(--ease) forwards;animation-delay:var(--d,.2s)}
@keyframes up{to{transform:none}}
.an h1.hero-h em{color:var(--lima2)}
.an .hero .sub{max-width:520px;margin:30px 0 34px;font-size:clamp(16px,1.35vw,19px);color:var(--mist);opacity:0;animation:fade2 1.2s 1.1s forwards}
.an .hero .ctas{display:flex;gap:12px;flex-wrap:wrap;opacity:0;animation:fade2 1.2s 1.3s forwards}
@keyframes fade2{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.an .hero .cap{position:absolute;z-index:3;right:var(--pad);top:104px;text-align:right;color:var(--mist2);max-width:260px}
.an .strip{position:absolute;z-index:4;left:0;right:0;bottom:0;border-top:1px solid var(--dline);background:linear-gradient(0deg,rgba(11,21,16,.55),transparent)}
.an .strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.an .strip .it{padding:18px 20px 20px 0;border-right:1px solid var(--dline);margin-right:20px}
.an .strip .it:last-child{border:0}
.an .strip b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,50px);line-height:1;letter-spacing:-.02em}
.an .strip span{color:var(--mist2)}
@media (max-width:760px){.an .strip .wrap{grid-template-columns:repeat(2,1fr)}

.an .hero .cap{display:none}
.an .strip .it{padding:14px 12px 16px 0}
}
.an .mq{background:var(--lima);color:var(--ink);overflow:hidden;white-space:nowrap;padding:17px 0}
.an .mq .tr{display:inline-flex;gap:46px;animation:mq 46s linear infinite;padding-left:46px}
.an .mq:hover .tr{animation-play-state:paused}
.an .mq span{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:46px}
.an .mq span::after{content:"";width:9px;height:9px;border:1.5px solid var(--ink);border-radius:50%}
@keyframes mq{to{transform:translateX(-50%)}}
.an .sec{padding-block:clamp(84px,11vw,180px)}
.an .stmt{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:40px}
.an .stmt .lab{color:var(--hoja);padding-top:14px}
.an .big{font-family:var(--serif);font-weight:400;font-size:clamp(32px,5.1vw,84px);line-height:1.06;letter-spacing:-.02em;margin:0}
.an .big .w{opacity:.17;transition:opacity .5s}
.an .big .w.lit{opacity:1}
.an .big .w.em{font-style:italic;color:var(--hoja)}
.an .stmt-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:clamp(50px,7vw,100px);padding-top:30px;border-top:1px solid var(--line)}
.an .stmt-foot p{margin:8px 0 0;color:rgba(11,21,16,.68);max-width:30ch}
@media (max-width:860px){.an .stmt{grid-template-columns:1fr;gap:18px}
.an .stmt-foot{grid-template-columns:1fr}
}
.an .proc{position:relative}
.an .proc .head{max-width:760px;margin-bottom:clamp(40px,6vw,90px)}
.an .h2{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.2vw,104px);line-height:.95;letter-spacing:-.025em;margin:0}
.an .h2 em{color:var(--lima2)}
.an .lt .h2 em{color:var(--hoja)}
.an .proc .grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(30px,6vw,110px);align-items:start}
.an .diag{position:sticky;top:104px;border:1px solid var(--dline);border-radius:6px;background:linear-gradient(180deg,var(--ink2),var(--ink));padding:22px 22px 16px;overflow:hidden}
.an .diag .cps{position:relative;height:30px;margin-bottom:6px}
.an .diag .cps span{position:absolute;left:0;top:0;opacity:0;transition:opacity .5s;color:var(--lima2)}
.an .proc[data-step="1"] .c1,.an .proc[data-step="2"] .c2,.an .proc[data-step="3"] .c3,.an .proc[data-step="4"] .c4,.an .proc[data-step="5"] .c5{opacity:1}
.an .diag svg{width:100%;height:auto;display:block}
.an .pc-base{fill:none;stroke:rgba(242,237,226,.22);stroke-width:2}
.an .pc-seg{fill:none;stroke:rgba(242,237,226,.22);stroke-width:2;transition:stroke .5s,stroke-width .5s;stroke-linecap:round}
.an .proc[data-step="2"] .s1,.an .proc[data-step="3"] .s2,.an .proc[data-step="4"] .s3{stroke:var(--lima2);stroke-width:4}
.an .proc[data-step="5"] .pc-seg,.an .proc[data-step="1"] .pc-seg{stroke:rgba(242,237,226,.5)}
.an .proc[data-step="5"] .pc-seg{stroke:var(--lima2)}
.an .dg-t{font-family:var(--mono);font-size:11px;letter-spacing:.1em;fill:rgba(242,237,226,.5);text-transform:uppercase}
.an .dg-ax{stroke:rgba(242,237,226,.18);stroke-width:1}
.an .dg-atm{stroke:rgba(242,237,226,.28);stroke-dasharray:4 6}
.an .st{min-height:64vh;display:flex;flex-direction:column;justify-content:center;padding:32px 0;border-top:1px solid var(--dline);opacity:.32;transition:opacity .6s}
.an .st.act{opacity:1}
.an .st .num{font-family:var(--serif);font-size:clamp(70px,9vw,140px);line-height:.8;color:var(--lima);margin-bottom:18px;letter-spacing:-.04em}
.an .st h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,44px);line-height:1.04;margin:0 0 14px;letter-spacing:-.015em}
.an .st p{margin:0;color:var(--mist);max-width:44ch}
@media (max-width:900px){.an .proc .grid{grid-template-columns:1fr}
.an .diag{position:static;margin-bottom:24px}
.an .st{min-height:auto;opacity:1;padding:34px 0}
}
.an .ex-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,56px)}
.an .ex-head p{margin:0;max-width:42ch;color:var(--mist)}
.an .ex-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(18px,2.4vw,36px);align-items:stretch}
.an .map{position:relative;border:1px solid var(--dline);border-radius:6px;background:radial-gradient(120% 90% at 20% 0%,var(--ink3),var(--ink2) 60%,var(--ink));overflow:hidden}
.an .map svg{display:block;width:100%;height:auto}
.an .map .legend{position:absolute;left:18px;bottom:14px;color:var(--mist2);display:flex;gap:18px;pointer-events:none}
.an .mp-land{fill:rgba(242,237,226,.06);stroke:rgba(242,237,226,.32);stroke-width:.8}
.an .mp-eus{fill:rgba(242,237,226,.1);stroke:rgba(242,237,226,.5);stroke-width:1.1}
.an .mp-grat{stroke:rgba(242,237,226,.07);stroke-width:1}
.an .mp-lbl{font-family:var(--mono);font-size:12px;letter-spacing:.34em;fill:rgba(242,237,226,.3);text-transform:uppercase}
.an .mp-sea{font-family:var(--serif);font-style:italic;font-size:26px;fill:rgba(242,237,226,.16)}
.an .pin{cursor:pointer;outline:none}
.an .pin .pr{fill:none;stroke:var(--lima2);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:pulse 3s ease-out infinite;animation-delay:var(--pd,0s)}
.an .pin .pd{fill:var(--lima);stroke:var(--ink);stroke-width:2;transform-box:fill-box;transform-origin:center;transition:transform .35s var(--ease),fill .25s}
.an .pin:hover .pd,.an .pin:focus-visible .pd{transform:scale(1.5)}
.an .pin.sel .pd{transform:scale(1.9);fill:#fff;stroke:var(--lima);stroke-width:3}
.an .pin.dim{opacity:.18;pointer-events:none}
.an .pin .tag{font-family:var(--mono);font-size:12px;fill:#fff;opacity:0;paint-order:stroke;stroke:var(--ink);stroke-width:4px;transition:opacity .3s}
.an .pin.sel .tag{opacity:1}
@keyframes pulse{0%{transform:scale(.3);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.an .vw{position:relative;aspect-ratio:5/4;border-radius:6px;overflow:hidden;background:var(--ink3)}
.an .vw img.vi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.4s var(--ease)}
.an .vw img.vi.on{opacity:1;transform:scale(1)}
.an .vw .num{position:absolute;left:18px;top:16px;z-index:2;background:rgba(11,21,16,.55);backdrop-filter:blur(8px);padding:6px 12px;border-radius:99px;color:var(--paper)}
.an .exi{padding:22px 4px 0}
.an .exi .cat{color:var(--lima2);margin-bottom:10px}
.an .exi h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.2vw,48px);line-height:1;margin:0 0 8px;letter-spacing:-.02em}
.an .exi p{margin:0;color:var(--mist);max-width:38ch}
.an .exi .row{display:flex;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.an .circ{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--mist2);display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s}
.an .circ:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.an .circ svg{width:18px;height:18px}
.an .rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 2px 14px;margin-top:clamp(24px,3vw,40px);scrollbar-width:thin;scrollbar-color:var(--mist2) transparent}
.an .th{flex:0 0 132px;height:88px;border-radius:6px;overflow:hidden;opacity:.5;outline:2px solid transparent;outline-offset:2px;transition:opacity .3s,outline-color .3s;scroll-snap-align:center}
.an .th img{width:100%;height:100%;object-fit:cover}
.an .th:hover{opacity:.85}
.an .th.on{opacity:1;outline-color:var(--lima)}
@media (max-width:900px){.an .ex-grid{grid-template-columns:1fr}
}
.an .amb{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(30px,6vw,110px);align-items:start}
.an .cr{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:20px 0;border-top:1px solid var(--line);cursor:pointer;transition:padding .45s var(--ease),color .3s}
.an .cr:last-child{border-bottom:1px solid var(--line)}
.an .cr .n{font-family:var(--mono);font-size:12px;color:var(--hoja)}
.an .cr .nm{font-family:var(--serif);font-size:clamp(28px,3.5vw,54px);line-height:1;letter-spacing:-.02em}
.an .cr .ct{font-family:var(--mono);font-size:12px;color:rgba(11,21,16,.55);white-space:nowrap}
.an .cr:hover,.an .cr.on{padding-left:18px}
.an .cr.on .nm,.an .cr:hover .nm{color:var(--hoja)}
.an .cprev{position:sticky;top:110px;border-radius:6px;overflow:hidden;aspect-ratio:4/5;background:var(--ink);color:var(--paper)}
.an .cprev .im{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.an .cprev .im.on{opacity:1}
.an .cprev img{width:100%;height:100%;object-fit:cover}
.an .cprev .noimg{display:grid;place-items:center;height:100%;background:radial-gradient(circle at 50% 45%,var(--ink3),var(--ink))}
.an .cprev .noimg svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.an .cprev .tx{position:absolute;left:0;right:0;bottom:0;padding:28px 24px 24px;background:linear-gradient(0deg,rgba(11,21,16,.92),transparent);z-index:2}
.an .cprev .tx p{margin:8px 0 0;color:var(--mist);font-size:14.5px;line-height:1.5}
.an .cprev .tx b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.05;display:block}
@media (max-width:900px){.an .amb{grid-template-columns:1fr}
.an .cprev{display:none}
.an .cr:hover{padding-left:0}
}
.an .pt{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,6vw,100px);align-items:center}
.an .bignum{font-family:var(--serif);font-size:clamp(120px,19vw,300px);line-height:.8;letter-spacing:-.05em;color:var(--lima)}
.an .fams{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 34px}
.an .fam{border:1px solid var(--dline);padding:8px 16px;border-radius:99px;color:var(--mist);font-size:14px}
.an .coll{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(60px,7.4vw,118px);gap:14px}
.an .coll figure{margin:0;position:relative;border-radius:6px;overflow:hidden}
.an .coll img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.an .coll figure:hover img{transform:scale(1.06)}
.an .coll figcaption{position:absolute;left:12px;bottom:12px;background:var(--paper);color:var(--ink);border-radius:99px;padding:4px 11px;font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.an .coll .a{grid-column:1/4;grid-row:1/4}
.an .coll .b{grid-column:4/7;grid-row:1/3}
.an .coll .c{grid-column:4/6;grid-row:3/6}
.an .coll .d{grid-column:1/4;grid-row:4/6}
.an .coll .e{grid-column:6/7;grid-row:3/6;background:var(--lima);display:grid;place-items:center;color:var(--ink);border-radius:6px}
@media (max-width:900px){.an .pt{grid-template-columns:1fr}
}
.an .cert{display:grid;grid-template-columns:90px minmax(0,4fr) minmax(0,6fr);gap:20px;padding:30px 0;border-top:1px solid var(--line);align-items:baseline}
.an .cert:last-child{border-bottom:1px solid var(--line)}
.an .cert .k{font-family:var(--mono);font-size:12px;color:var(--hoja)}
.an .cert h4{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.2vw,46px);line-height:1;margin:0;letter-spacing:-.02em}
.an .cert p{margin:0;color:rgba(11,21,16,.7);max-width:56ch}
@media (max-width:760px){.an .cert{grid-template-columns:1fr;gap:8px}
}
.an .nw{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(18px,2.4vw,36px)}
.an .nc{display:block;position:relative}
.an .nc .im{border-radius:6px;overflow:hidden;aspect-ratio:16/10;background:var(--ink3)}
.an .nc img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.an .nc:hover img{transform:scale(1.05)}
.an .nc .dt{color:var(--lima2);margin:18px 0 8px}
.an .nc h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.8vw,42px);line-height:1.02;margin:0 0 10px;letter-spacing:-.015em}
.an .nc p{margin:0;color:var(--mist);max-width:52ch}
.an .nw .side{display:flex;flex-direction:column;gap:clamp(18px,2vw,30px)}
.an .nw .side .nc .im{aspect-ratio:16/8}
.an .nw .side h3{font-size:clamp(22px,2.2vw,32px)}
@media (max-width:900px){.an .nw{grid-template-columns:1fr}
}
.an .cta{position:relative;overflow:hidden}
.an .cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,10vw,164px);line-height:.88;letter-spacing:-.035em;margin:0 0 40px}
.an .cta .row{display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.an .cta .big-mail{font-family:var(--serif);font-size:clamp(26px,3.6vw,56px);border-bottom:2px solid var(--ink);line-height:1.1}
.an .cta .rings{position:absolute;right:-12vw;top:-14vw;width:56vw;opacity:.28;pointer-events:none}
.an .cta .rings path{fill:none;stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.an .ftr{padding:clamp(64px,8vw,120px) 0 28px;position:relative;overflow:hidden}
.an .ftr .top{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:36px;padding-bottom:clamp(50px,7vw,100px)}
.an .ftr .logo img{height:66px;margin-bottom:24px}
.an .ftr p{margin:0;color:var(--mist);max-width:34ch}
.an .ftr h5{margin:0 0 16px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mist2)}
.an .ftr li{list-style:none;margin:0 0 9px}
.an .ftr ul{margin:0;padding:0}
.an .ftr a:hover{color:var(--lima2)}
.an .ftr .word{font-family:var(--serif);font-size:clamp(90px,22vw,360px);line-height:.78;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(242,237,226,.22);text-align:center;margin:0 0 20px;user-select:none}
.an .ftr .bot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--dline);padding-top:22px;color:var(--mist2)}
@media (max-width:860px){.an .ftr .top{grid-template-columns:1fr 1fr}
.an .ftr .top>div:first-child{grid-column:1/-1}
}
.an .ph{padding:clamp(150px,18vw,240px) 0 clamp(50px,6vw,90px);position:relative;overflow:hidden;background:radial-gradient(90% 120% at 100% 0%,var(--ink3),var(--ink) 65%)}
.an .ph .crumb{color:var(--mist2);margin-bottom:22px;display:flex;gap:10px;flex-wrap:wrap}
.an .ph .crumb a:hover{color:var(--lima2)}
.an .ph h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,9.4vw,150px);line-height:.9;letter-spacing:-.035em;margin:0;max-width:14ch}
.an .ph h1 em{color:var(--lima2)}
.an .ph .lead{margin:28px 0 0;max-width:60ch;color:var(--mist);font-size:clamp(17px,1.5vw,21px)}
.an .ph .rings{position:absolute;right:-8vw;top:50%;transform:translateY(-50%);width:min(56vw,760px);opacity:.55;pointer-events:none}
.an .ph .rings path{fill:none;stroke:#fff;stroke-opacity:.2;stroke-width:1;vector-effect:non-scaling-stroke}
.an .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;align-items:center}
.an .chip{border:1px solid var(--dline);padding:9px 16px;border-radius:99px;font-size:14px;color:var(--mist);transition:all .25s;display:inline-flex;gap:8px;align-items:center}
.an .chip small{font-family:var(--mono);font-size:11px;opacity:.6}
.an .chip:hover{border-color:var(--paper);color:var(--paper)}
.an .chip.on{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .chip.on small{opacity:.7}
.an .search{display:flex;align-items:center;gap:10px;border:1px solid var(--dline);border-radius:99px;padding:0 18px;height:44px;margin-left:auto;min-width:240px}
.an .search input{background:none;border:0;outline:0;color:var(--paper);font:inherit;font-size:14px;flex:1;min-width:0}
.an .search input::placeholder{color:var(--mist2)}
.an .search svg{width:16px;height:16px;color:var(--mist2)}
.an .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.4vw,40px) clamp(14px,1.8vw,28px)}
@media (max-width:1000px){.an .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){.an .grid3{grid-template-columns:1fr}
}
.an .empty{padding:70px 0;color:var(--mist);text-align:center;grid-column:1/-1}
.an .fh{position:relative;height:clamp(520px,82svh,860px);display:flex;align-items:flex-end;overflow:hidden}
.an .fh img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:zoomout 2.4s var(--ease) forwards}
@keyframes zoomout{to{transform:none}}
.an .fh::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,21,16,.55),transparent 30%,rgba(11,21,16,.9))}
.an .fh .in{position:relative;z-index:2;width:100%;padding-bottom:clamp(36px,5vw,70px)}
.an .fh h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,8vw,128px);line-height:.92;letter-spacing:-.03em;margin:14px 0 12px;max-width:15ch}
.an .fh .sub{color:var(--mist);font-size:clamp(16px,1.4vw,20px);max-width:56ch;margin:0}
.an .fb{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,90px)}
.an .kv{border-top:1px solid var(--dline)}
.an .kv div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--dline)}
.an .kv dt,.an .kv .k{color:var(--mist2)}
.an .kv dd,.an .kv .v{margin:0}
.an .lt .kv,.an .lt .kv div{border-color:var(--line)}
.an .lt .kv .k{color:rgba(11,21,16,.55)}
.an .fb h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,60px);line-height:1;margin:0 0 22px;letter-spacing:-.02em}
.an .fb p{color:var(--mist);max-width:56ch}
.an .nav2{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--dline)}
.an .nav2 a{padding:34px 0;display:block;transition:background .3s}
.an .nav2 a:last-child{text-align:right}
.an .nav2 .t{font-family:var(--serif);font-size:clamp(26px,3.4vw,52px);line-height:1;margin-top:8px;letter-spacing:-.02em}
.an .nav2 a:hover .t{color:var(--lima2)}
@media (max-width:860px){.an .fb{grid-template-columns:1fr}
}
.an .two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,110px);align-items:start}
.an .two .lab{position:sticky;top:110px}
.an .prose p{font-size:clamp(17px,1.35vw,20px);line-height:1.65;margin:0 0 1.2em;max-width:62ch}
.an .lt .prose p{color:rgba(11,21,16,.78)}
.an .dk .prose p,.an .dk2 .prose p{color:var(--mist)}
.an .callout{border-left:3px solid var(--lima);padding:6px 0 6px 26px;margin:30px 0}
.an .callout .q{font-family:var(--serif);font-size:clamp(30px,3.6vw,56px);line-height:1.04;letter-spacing:-.02em}
.an .steps7{counter-reset:s;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.an .steps7 li{counter-increment:s;display:grid;grid-template-columns:70px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid var(--line);font-size:clamp(17px,1.4vw,21px);align-items:baseline}
.an .steps7 li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--hoja)}
.an .cls{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);margin:38px 0}
.an .cls div{border:1px solid var(--line);border-radius:6px;padding:28px}
.an .cls b{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6vw,90px);line-height:.9;display:block;color:var(--hoja)}
.an .cls p{margin:10px 0 0;font-size:15.5px;color:rgba(11,21,16,.7)}
@media (max-width:860px){.an .two{grid-template-columns:1fr}
.an .two .lab{position:static}
.an .cls{grid-template-columns:1fr}
}
.an .tl{position:relative;margin:0;padding:0;list-style:none}
.an .tl::before{content:"";position:absolute;left:14px;top:8px;bottom:8px;width:1px;background:var(--dline)}
.an .tl li{position:relative;padding:0 0 46px 62px}
.an .tl li::before{content:"";position:absolute;left:5px;top:6px;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--lima);background:var(--ink)}
.an .tl li::after{content:"";position:absolute;left:11px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--lima)}
.an .tl .y{font-family:var(--serif);font-size:clamp(40px,4.4vw,64px);line-height:1;color:var(--lima2)}
.an .tl h4{font-family:var(--sans);font-weight:600;font-size:18px;margin:8px 0 6px}
.an .tl p{margin:0;color:var(--mist);max-width:50ch}
.an .prow{display:grid;grid-template-columns:70px 96px minmax(0,1fr) auto;gap:20px;align-items:center;padding:14px 0;border-top:1px solid var(--dline);cursor:pointer;transition:padding .45s var(--ease),background .3s}
.an .prow:last-child{border-bottom:1px solid var(--dline)}
.an .prow .n{font-family:var(--mono);font-size:12px;color:var(--lima2)}
.an .prow .th2{width:96px;height:64px;border-radius:6px;overflow:hidden;background:var(--ink3);display:grid;place-items:center}
.an .prow .th2 img{width:100%;height:100%;object-fit:cover}
.an .prow .th2 svg{width:70%;height:70%;opacity:.35}
.an .prow .nm{font-family:var(--serif);font-size:clamp(24px,2.6vw,38px);line-height:1;letter-spacing:-.015em}
.an .prow .f{font-family:var(--mono);font-size:12px;color:var(--mist2)}
.an .prow:hover{padding-left:16px;background:linear-gradient(90deg,rgba(135,186,20,.09),transparent)}
@media (max-width:720px){.an .prow{grid-template-columns:44px 64px 1fr}
.an .prow .f{display:none}
.an .prow .th2{width:64px;height:48px}
}
.an .modal{position:fixed;inset:0;z-index:150;background:rgba(5,10,7,.86);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}
.an .modal.open{display:flex}
.an .modal .box{background:var(--ink2);border:1px solid var(--dline);border-radius:6px;max-width:980px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.an .modal .box img{width:100%;height:100%;object-fit:cover;min-height:280px}
.an .modal .tx{padding:34px}
.an .modal .tx h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1;margin:10px 0 14px}
.an .modal .tx p{color:var(--mist)}
.an .modal .x{position:absolute;right:22px;top:22px}
@media (max-width:760px){.an .modal .box{grid-template-columns:1fr}
}
.an .toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--paper);color:var(--ink);padding:12px 20px;border-radius:99px;font-weight:500;font-size:14px;opacity:0;pointer-events:none;transition:all .4s var(--ease);z-index:200}
.an .toast.on{opacity:1;transform:translate(-50%,0)}
.an .sw{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.an .sw div{border-radius:6px;padding:18px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;font-family:var(--mono);font-size:12px;border:1px solid var(--line)}
.an .sw b{font-family:var(--sans);font-size:16px;display:block;margin-bottom:2px}
@media (max-width:760px){.an .sw{grid-template-columns:repeat(2,1fr)}
}
.an .tscale>div{padding:20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:baseline}
.an .tscale .m{font-family:var(--mono);font-size:12px;color:rgba(11,21,16,.55)}
@media (max-width:760px){.an .tscale>div{grid-template-columns:1fr;gap:6px}
}
.an .contact-big a{display:block}
body.shot .an .st{min-height:380px}
body.shot .an .diag{position:static}
body.shot .an .cprev{position:relative}


/* ---- base del contenedor (en WP no hay <body> propio) ---- */
.an{font-family:var(--sans);font-size:16px;line-height:1.6;color:var(--paper);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip;width:100%}
.an h1,.an h2,.an h3,.an h4,.an h5,.an p,.an ul,.an ol,.an figure,.an dl,.an dd{margin-top:0}
.an h1,.an h2,.an h3,.an h4{font-family:var(--serif);font-weight:400}
.an .sl img,.an .fh>img,.an .vw img.vi,.an .cprev img,.an .coll img,.an .nc img,.an .th img,.an .prow .th2 img{height:100%}
.an .hdr{top:var(--wp-admin--admin-bar--height,0px)}
.an em{font-family:var(--serif);font-style:italic}
.an .logo img{max-width:none}
.an .lang a{padding:6px 9px;border-radius:99px;color:var(--mist2);font-family:var(--mono);font-size:12px}
.an .lang a[aria-pressed="true"]{color:var(--ink);background:var(--paper)}
.an .hero .rings.rg path{fill:none;stroke:#fff;stroke-width:1}
.an .ex-grid{align-items:start}

/* ---- páginas de documento (empresa, tratamiento, certificados…) ---- */
.an .subnav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.an .subnav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:500;color:rgba(11,21,16,.7);transition:padding .35s var(--ease),color .2s}
.an .subnav a:hover,.an .subnav a.on{color:var(--hoja);padding-left:12px}
.an .prose .lede{font-family:var(--serif);font-size:clamp(28px,3.2vw,48px);line-height:1.1;letter-spacing:-.015em;max-width:24ch;color:var(--ink)}
.an .prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-.015em;margin:1.4em 0 .5em;color:var(--ink)}
.an .prose strong{color:var(--ink)}
.an .prose ul{margin:0 0 1.4em;padding:0;list-style:none;border-top:1px solid var(--line)}
.an .prose ul li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative;color:rgba(11,21,16,.78);font-size:clamp(16px,1.25vw,19px)}
.an .prose ul li::before{content:"";position:absolute;left:4px;top:23px;width:12px;height:12px;border:1.5px solid var(--hoja);border-radius:50%}
.an .doc-certs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
@media (max-width:640px){.an .doc-certs{grid-template-columns:1fr}}
.an .bq-cert{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:16px;background:rgba(255,255,255,.35)}
.an .bq-cert-mark{flex:none;width:44px;height:44px;border-radius:50%;background:var(--lima);display:grid;place-items:center}
.an .bq-cert-mark svg{width:22px;height:22px;fill:var(--ink)}
.an .bq-cert-mark .bq-cert-vein{fill:none;stroke:var(--lima);stroke-width:1.6}
.an .bq-cert b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.1;color:var(--ink)}
.an .bq-cert span span{display:block;font-size:13.5px;line-height:1.45;color:rgba(11,21,16,.66)}
.an [data-an-contactmap] svg{display:block;width:100%;height:auto}

/* ---- plugin de catálogo (buscador, tarjetas, fichas) re-tonado a Anillos ---- */
.an .pc{
  --pc-surface:#10201A; --pc-surface-mist:#183024; --pc-surface-cream:rgba(242,237,226,.05);
  --pc-sand:rgba(242,237,226,.16); --pc-ink:#F2EDE2; --pc-ink-muted:rgba(242,237,226,.68);
  --pc-forest:#87BA14; --pc-fern:#A9D82B; --pc-leaf:#87BA14; --pc-sun:#A9D82B; --pc-on-dark:#0B1510;
  --pc-radius-md:99px; --pc-radius-lg:6px; --pc-radius-xl:6px; --pc-shadow:0 20px 50px -24px rgba(0,0,0,.7);
  --pc-font-display:var(--serif); --pc-font-sans:var(--sans);
  color:var(--paper);
}
.an .pc a,.an .pc a:hover{text-decoration:none}
.an .pc h1,.an .pc h2,.an .pc h3{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;color:var(--paper)}
.an .pc-toolbar{margin-bottom:22px}
.an .pc-search input{border-radius:99px;border:1px solid var(--dline);background:rgba(242,237,226,.05);color:var(--paper);height:48px;padding:0 20px 0 46px;font:400 15px var(--sans)}
.an .pc-search input::placeholder{color:var(--mist2)}
.an .pc-search input:focus{border-color:var(--lima2);background:rgba(242,237,226,.08)}
.an .pc-search svg{stroke:var(--lima2)}
.an .pc-seg{background:transparent;border:1px solid var(--dline);border-radius:99px;padding:3px}
.an .pc-seg button{border-radius:99px;padding:10px 18px;color:var(--mist);font:500 14px var(--sans)}
.an .pc-seg button[aria-pressed="true"]{background:var(--lima);color:var(--ink)}
.an button.pc-chip{border:1px solid var(--dline);background:transparent;color:var(--mist);border-radius:99px;padding:8px 15px;font:500 14px var(--sans)}
.an button.pc-chip:hover{border-color:var(--paper);color:var(--paper)}
.an button.pc-chip[aria-pressed="true"]{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .pc-count{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist2)}
.an .pc-count b{color:var(--lima2)}
.an .pc-card{background:transparent;border:0;border-radius:0;overflow:visible}
.an .pc-card:hover{transform:none;box-shadow:none}
.an .pc-card .pc-art{border-radius:6px;aspect-ratio:4/3;transition:transform 1s var(--ease)}
.an .pc-card .pc-art{background-size:cover;overflow:hidden}
.an .pc-card .pc-tone,.an .pc-hero .pc-tone{background:rgba(11,21,16,.6);backdrop-filter:blur(8px);color:var(--paper);border-radius:99px;font:500 11px var(--mono);letter-spacing:.04em}
.an .pc-card .pc-body{padding:16px 0 0}
.an .pc-card h3{font-size:clamp(24px,2.1vw,32px);line-height:1.02;color:var(--paper)}
.an .pc-card:hover h3{color:var(--lima2)}
.an .pc-card .pc-loc{color:var(--lima2);font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.an .pc-card .pc-meta{border-top:1px solid var(--dline);color:var(--mist2);font-family:var(--mono);font-size:11.5px;letter-spacing:.04em}
.an .pc-maprow{background:rgba(242,237,226,.04);border-radius:6px}
.an .pc-maprow.is-active{border-color:var(--lima2);background:rgba(135,186,20,.12)}
.an .pc-map{border:1px solid var(--dline);border-radius:6px}
.an .pc-empty{color:var(--mist)}
/* fichas */
.an .pc-ficha{max-width:var(--max);padding:0 var(--pad) 90px}
.an .pc-crumb{color:var(--mist2);font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.an .pc-crumb a{color:var(--lima2)}
.an .pc-hero{border-radius:6px}
.an .pc-hero .pc-cap{background:linear-gradient(0deg,rgba(11,21,16,.9),transparent)}
.an .pc-hero .pc-cap h1{font-size:clamp(36px,5vw,72px);line-height:.98;color:var(--paper)}
.an .pc-panel{border:1px solid var(--dline);border-radius:6px;padding:26px;background:rgba(242,237,226,.04)}
.an .pc-panel h2{font-size:clamp(26px,2.4vw,36px)}
.an .pc-panel p,.an .pc-panel li{color:var(--mist)}
.an.an-bleed{width:100vw;position:relative;left:50%;margin-left:-50vw}
.an .pc-pagination .page-numbers{border:1px solid var(--dline);background:transparent;color:var(--mist);border-radius:99px;font:500 13px var(--mono);padding:10px 16px}
.an .pc-pagination .page-numbers.current{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .pc-pagination .page-numbers:hover:not(.current){border-color:var(--paper);color:var(--paper)}
.an .pc-relcard{border-color:var(--dline);border-radius:6px}
.an .pc-relcard:hover{border-color:var(--lima2)}
.an .pc-relcard b{color:var(--paper);font-weight:500}
.an .pc-gallery img{border-radius:6px}
.an .pc-dl dd{font-weight:500;color:var(--paper)}
.an .pc-panel{margin-bottom:18px}
.an .pc-detail-grid{gap:clamp(18px,3vw,40px)}
.an .pc-ficha .pc-gallery{grid-template-columns:repeat(2,1fr)}

/* ---- hero Anillos: texto + collage fijo, sin slider ---- */
.an .hero{height:auto;min-height:clamp(720px,100svh,1000px);align-items:stretch;padding:clamp(120px,15vh,160px) 0 0}
.an .hero::after{display:none}
.an .hero .rings{right:-22vw;bottom:auto;top:50%;transform:translateY(-50%);width:min(90vw,1100px);opacity:.55}
.an .hero .in.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,70px);align-items:center;padding-bottom:clamp(130px,16vh,170px)}
.an .hero h1.hero-h{font-size:clamp(48px,min(8.6vw,17vh),140px);max-width:none}
.an .hero .sub{margin:26px 0 30px}
.an .hmos{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto;gap:14px;align-items:start}
.an .hf{position:relative;display:block;border-radius:6px;overflow:hidden;background:var(--ink3);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);opacity:0;transform:translateY(24px);animation:fade2 1s var(--ease) forwards}
.an .hf img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.an .hf:hover img{transform:scale(1.05)}
.an .hf span{position:absolute;left:10px;bottom:10px;background:rgba(11,21,16,.7);backdrop-filter:blur(8px);padding:5px 11px;border-radius:99px;color:var(--paper);font-size:11px}
.an .hf1{grid-row:1/3;aspect-ratio:4/5.4;animation-delay:.7s}
.an .hf2{aspect-ratio:1/1;animation-delay:.9s;margin-top:40px}
.an .hf3{aspect-ratio:5/4;animation-delay:1.1s}
@media (max-width:900px){.an .hero .in.hero-grid{grid-template-columns:1fr}.an .hmos{grid-template-columns:1fr 1fr}.an .hf1{grid-row:auto;grid-column:1/3;aspect-ratio:16/10}.an .hf2{margin-top:0}.an .hero .rings{opacity:.35}}
body.shot .an .mask>span{transform:none;animation:none}
body.shot .an .hf,body.shot .an .hero .sub,body.shot .an .hero .ctas{animation:none;opacity:1;transform:none}
body.shot .an .rg path{animation:none;stroke-dashoffset:0}

/* collage del hero: capas de imagen que cambian + pie técnico */
.an .hf img.hi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease),transform 1.2s var(--ease)}
.an .hf img.hi.on{clip-path:inset(0 0 0 0)}
.an .hf{background:var(--ink3)}
.an .hf .hc{position:absolute;z-index:3;width:18px;height:18px;border:1.5px solid var(--lima2);pointer-events:none;opacity:.9}
.an .hf .hc.tl{left:10px;top:10px;border-right:0;border-bottom:0}
.an .hf .hc.br{right:10px;bottom:10px;border-left:0;border-top:0}
.an .hf::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(11,21,16,.88),transparent 48%);pointer-events:none}
.an .hf .hcap{position:absolute;z-index:3;left:14px;right:14px;bottom:12px;display:flex;flex-direction:column;gap:2px;background:none;backdrop-filter:none;padding:0;border-radius:0;font-size:11px;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;min-height:3.9em}
.an .hf .hcap b{font-weight:500;color:var(--paper)} .an .hf .hcap em{font-style:normal;color:var(--lima2)} .an .hf .hcap u{text-decoration:none;color:var(--mist2)}
.an .hf span.hcap{background:none}
@media (max-width:900px){.an .hf .hcap{font-size:10px}.an .hf .hcap u{display:none}.an .hf .hcap{min-height:2.7em}}

/* ---- mapa del catálogo (Leaflet) ---- */
.an .pc-maplayout{grid-template-columns:340px 1fr;gap:18px;align-items:stretch}
.an .pc-map{height:min(74vh,720px);min-height:480px;border-radius:6px;background:#0B1510;border:1px solid var(--dline)}
.an .pc-maplist{max-height:min(74vh,720px);min-height:480px;gap:6px;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--mist2) transparent}
.an .pc-maphead{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:2;background:var(--ink);padding:2px 0 8px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mist2)}
.an .pc-fitall{border:1px solid var(--dline);border-radius:99px;padding:7px 14px;color:var(--paper);font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;transition:all .2s}
.an .pc-fitall:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .pc-maprow{border-radius:6px;border:1px solid var(--dline);background:transparent;width:100%}
.an .pc-maprow:hover{border-color:var(--paper)}
.an .pc-maprow b{color:var(--paper);font-weight:500;font-family:var(--sans)}
.an .pc-maprow span span{color:var(--lima2);font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.an .pc-maprow img{border-radius:4px}
.an .pc-marker{background:none;border:0}
.an .pc-dot{position:relative;display:block;width:26px;height:26px}
.an .pc-dot i{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--lima2);animation:pulse 3s ease-out infinite}
.an .pc-dot b{position:absolute;left:8px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--lima);box-shadow:0 0 0 2px #0B1510;transition:transform .25s}
.an .pc-marker:hover .pc-dot b{transform:scale(1.5)}
.an .leaflet-popup-content-wrapper{background:var(--ink2);color:var(--paper);border-radius:6px;border:1px solid var(--dline);padding:0;overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,.8)}
.an .leaflet-popup-content{margin:0;width:auto!important}
.an .leaflet-popup-tip{background:var(--ink2)}
.an .pc-pop img{display:block;width:100%;height:120px;object-fit:cover}
.an .pc-pop-t{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}
.an .pc-pop-t b{font:400 20px/1.05 var(--serif);color:var(--paper)}
.an .pc-pop-t span{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--lima2)}
.an .pc-pop-t a{margin-top:6px;color:var(--lima2);font-weight:600;font-size:13px}
.an a.leaflet-popup-close-button{color:var(--paper);top:6px;right:8px;text-shadow:0 1px 3px #000}
.an .leaflet-bar a{background:var(--ink2);color:var(--paper);border-color:var(--dline)}
.an .leaflet-bar a:hover{background:var(--lima);color:var(--ink)}
.an .leaflet-control-attribution{background:rgba(11,21,16,.7)!important;color:var(--mist2)!important}
.an .leaflet-control-attribution a{color:var(--mist)!important}
@media (max-width:860px){.an .pc-maplayout{grid-template-columns:1fr}.an .pc-maplist{max-height:300px;min-height:0}.an .pc-map{min-height:380px}}
body.shot .an .hero{min-height:780px}
.an .pc-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) saturate(.55)}
.an .pc-maprow{text-align:left;overflow:hidden;align-items:center}
.an .pc-maprow>span{min-width:0;flex:1}
.an .pc-maprow b{white-space:normal;overflow-wrap:anywhere;font-size:13.5px;line-height:1.2}
.an .pc-map .leaflet-tile-pane{filter:grayscale(1) invert(1) contrast(.8) brightness(.72)}
.an .pc-map{background:#0f1a15}
.an .pc-maprow{flex:none}
@media (max-width:640px){.an .hdr{height:76px}.an .hdr .logo img{height:40px!important}.an .ftr .logo img{height:53px}}
/* pushpins del mapa del catálogo: mismo lenguaje que los de la home */
.an .pc-dot{width:30px;height:30px}
.an .pc-dot i{inset:0;border-width:1.5px}
.an .pc-dot b{left:9px;top:9px;width:12px;height:12px;background:var(--lima);box-shadow:0 0 0 2px #0B1510;transition:transform .35s var(--ease),background .25s,box-shadow .25s}
.an .pc-dot em{position:absolute;left:34px;top:50%;transform:translateY(-50%);white-space:nowrap;font:500 12px var(--mono);letter-spacing:.04em;color:#fff;text-shadow:0 0 4px #0B1510,0 0 4px #0B1510,0 0 8px #0B1510;opacity:0;pointer-events:none;transition:opacity .3s}
.an .pc-marker.is-hot .pc-dot b,.an .pc-marker:hover .pc-dot b{transform:scale(1.55)}
.an .pc-marker.is-sel .pc-dot b{transform:scale(1.9);background:#fff;box-shadow:0 0 0 3px var(--lima)}
.an .pc-marker.is-hot .pc-dot em,.an .pc-marker:hover .pc-dot em,.an .pc-marker.is-sel .pc-dot em{opacity:1}
.an .pc-marker.is-sel .pc-dot i{animation-duration:2s;border-color:#fff}
.an .pc-maprow.is-hot{border-color:var(--lima2);background:rgba(135,186,20,.1)}

/* ---- fichas de proyecto y producto ---- */
.an .ficha-head{padding-bottom:clamp(40px,5vw,70px)}
.an .ficha-head h1{font-size:clamp(40px,6.6vw,104px);max-width:18ch}
.an .facts{display:flex;flex-wrap:wrap;gap:0;margin-top:34px;border-top:1px solid var(--dline)}
.an .fact{display:flex;flex-direction:column;gap:2px;padding:16px 36px 4px 0;margin-right:36px;min-width:150px}
.an .fact .mono{color:var(--mist2)}
.an .fact b{font-weight:500;color:var(--paper);font-size:16px;line-height:1.35;max-width:30ch}
.an a.fact:hover b{color:var(--lima2)}
.an .ficha-foto{padding-bottom:0}
.an .pc-ficha-img .pc-hero{border-radius:6px}
.an .pc-ficha-img .pc-hero img{width:100%;height:auto;display:block}
.an .ficha-aside{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:18px}
.an .ficha-aside .map{aspect-ratio:380/250}
.an .ficha-aside .map svg{display:block;width:100%;height:100%}
.an .aside-box,.an .aside-cta{border:1px solid var(--dline);border-radius:6px;padding:22px;background:rgba(242,237,226,.04)}
.an .aside-cta{background:var(--lima);color:var(--ink);border-color:var(--lima);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.an .aside-cta b{font:400 28px/1.05 var(--serif);letter-spacing:-.01em}
.an .aside-cta p{margin:0;color:rgba(11,21,16,.75);font-size:15px}
.an .aside-cta .btn{background:var(--ink);color:var(--paper);margin-top:6px}
.an .aside-cta .btn:hover{background:var(--ink3)}
.an .aside-cta .mono{color:var(--ink)}
.an .rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.4vw,40px) clamp(14px,1.8vw,28px)}
.an .rgrid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.an .rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.an .rgrid,.an .rgrid-2{grid-template-columns:1fr}}
.an .rcard{display:flex;flex-direction:column;gap:0;color:var(--paper)}
.an .rcard .im{display:block;border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:var(--ink3);margin-bottom:14px}
.an .rcard .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.an .rcard:hover .im img{transform:scale(1.06)}
.an .rcard .k{color:var(--lima2);margin-bottom:6px}
.an .rcard .t{font:400 clamp(24px,2.1vw,32px)/1.02 var(--serif);letter-spacing:-.015em}
.an .rcard:hover .t{color:var(--lima2)}
.an .rcard .s{margin-top:6px;color:var(--mist);font-size:14px}
.an .rgrid-light .rcard{color:var(--ink)}
.an .rgrid-light .rcard .k{color:var(--hoja)}
.an .rgrid-light .rcard:hover .t{color:var(--hoja)}
.an .rgrid-light .rcard .s{color:rgba(11,21,16,.65)}
.an .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.an .gal a{display:block;border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:var(--ink3)}
.an .gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.an .gal a:hover img{transform:scale(1.05)}
.an .gal-prod{grid-template-columns:1fr 1fr}
.an .gal-prod a:first-child{grid-column:1/-1;aspect-ratio:16/10}
@media (max-width:560px){.an .gal{grid-template-columns:1fr 1fr}}
.an .fb .prose p{color:var(--mist)}
.an .fb h2.h2{max-width:none}
@media (max-width:860px){.an .ficha-aside{position:static}}
/* en las fichas el mapa de ubicación usa la miniatura SVG */
.an .map[data-an-miniloc]{border-radius:6px}
/* tarjetas del catálogo: sin pie vacío */
.an .pc-card .pc-meta:empty{display:none}

/* ---- menú: "Catálogo" destacado con panel desplegable ---- */
.an .nav-cat{position:relative}
.an .nav a.nav-main{display:inline-flex;align-items:center;gap:7px;background:var(--lima);color:var(--ink);font-weight:600;padding:10px 18px;border-radius:99px;transition:background .25s,transform .35s var(--ease)}
.an .nav a.nav-main:hover,.an .nav-cat:focus-within a.nav-main,.an .nav-cat.open a.nav-main{background:var(--lima2);color:var(--ink)}
.an .nav a.nav-main svg{transition:transform .3s var(--ease)}
.an .nav-cat:hover a.nav-main svg,.an .nav-cat.open a.nav-main svg{transform:rotate(180deg)}
.an .nav a.nav-main.act::after{display:none}
.an .nav a.nav-main.act{box-shadow:0 0 0 3px rgba(169,216,43,.35)}
.an .mega{position:absolute;left:50%;top:100%;width:min(760px,92vw);margin-left:-130px;padding-top:18px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .3s var(--ease),visibility .25s;display:grid;grid-template-columns:1.1fr 1fr;gap:0;z-index:95}
.an .mega::before{content:"";position:absolute;inset:18px 0 0 0;background:var(--ink2);border:1px solid var(--dline);border-radius:6px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);z-index:-1}
.an .nav-cat:hover .mega,.an .nav-cat:focus-within .mega,.an .nav-cat.open .mega{opacity:1;visibility:visible;transform:none}
.an .mega-col{padding:26px 26px 22px;display:flex;flex-direction:column;gap:2px}
.an .mega-col+.mega-col{border-left:1px solid var(--dline)}
.an .mega h6{margin:0 0 12px;color:var(--mist2);font-weight:500}
.an .nav .mega a{padding:10px 12px;margin:0 -12px;border-radius:4px;color:var(--mist);font-size:14.5px;font-weight:400;display:block}
.an .nav .mega a:hover{background:rgba(135,186,20,.12);color:var(--paper)}
.an .nav .mega a.mb{display:flex;flex-direction:column;gap:2px;padding:12px}
.an .nav .mega a.mb b{font:400 26px/1.05 var(--serif);color:var(--paper);letter-spacing:-.01em}
.an .nav .mega a.mb span{font-size:13px;color:var(--mist2)}
.an .nav .mega a.mb:hover b{color:var(--lima2)}
.an .nav .mega a::after{display:none}
.an .mnav a.big-cat{color:var(--lima2)}
.an .mnav .msub{display:flex;gap:10px;flex-wrap:wrap;padding:6px 0 14px;border-bottom:1px solid var(--dline)}
.an .mnav .msub a{border:1px solid var(--dline);border-radius:99px;padding:8px 16px;font-size:14px;color:var(--mist)}
body.an-skin .page-header,body.an-skin header.entry-header{display:none}
body.shot .an .mega{transition:none}
/* sin foto: anillos de crecimiento generados por código (uno distinto por elemento) */
.an .rcard .im,.an .pc-card .pc-art{position:relative}
.an .rg-ph{position:absolute;inset:0;width:100%;height:100%;display:block}
.an .rcard .im:has(.rg-ph),.an .pc-card .pc-art:has(.rg-ph){background:radial-gradient(circle at 40% 45%,#1d382a,#10201A 72%)}
/* chapitas de categoría: cada aplicación con su color */
.an [data-cat]{--cc:#A9D82B}
.an [data-cat="observacion-e-interpretacion-de-la-naturaleza"]{--cc:#A9D82B}
.an [data-cat="parques-y-jardines"]{--cc:#5FD08A}
.an [data-cat="proyectos-urbanos"]{--cc:#8FA3E8}
.an [data-cat="senderos-adaptados-accesibilidad"]{--cc:#3FC4B0}
.an [data-cat="residuos"]{--cc:#D4B24E}
.an [data-cat="golf-deportes"]{--cc:#F0A93A}
.an [data-cat="carreteras"]{--cc:#D49A62}
.an [data-cat="zonas-de-ocio-y-juego-escuelas"]{--cc:#F2806F}
.an [data-cat="playas"]{--cc:#55C1EA}
.an [data-cat="hosteleria-camping"]{--cc:#D98BC4}
.an .pc-tone{display:inline-flex;align-items:center;gap:8px;padding:4px 13px 4px 4px;line-height:1;white-space:nowrap}
.an .pc-tone .pc-icon,.an .chapa .pc-icon{box-sizing:content-box;width:14px;height:14px;padding:5px;border-radius:50%;background:var(--cc);color:var(--ink);flex:none;display:block}
.an .rcard .im .pc-tone{position:absolute;left:10px;top:10px;z-index:2;background:rgba(11,21,16,.72);backdrop-filter:blur(8px);color:var(--paper);border-radius:99px;font:500 11px var(--mono);letter-spacing:.04em}
.an .pc-card .pc-art .pc-tone{z-index:2}
.an .pc-chip .pc-icon{box-sizing:content-box;width:13px;height:13px;padding:4px;border-radius:50%;background:var(--cc);color:var(--ink)}
.an button.pc-chip{padding:5px 15px 5px 6px}
.an button.pc-chip[aria-pressed="true"] .pc-icon{background:var(--ink);color:var(--cc)}
.an .chapa{display:inline-flex;vertical-align:middle;margin-right:9px}

/* pushpins con el color de su aplicación + popup más ancho */
.an .pc-dot i{border-color:var(--cc,var(--lima2))}
.an .pc-dot b{background:var(--cc,var(--lima))}
.an .pc-marker.is-sel .pc-dot b{background:#fff;box-shadow:0 0 0 3px var(--cc,var(--lima))}
.an .pc-marker.is-sel .pc-dot i{border-color:var(--cc,#fff)}
.an .pc-pop{width:340px;max-width:calc(100vw - 90px)}
.an .pc-pop img{height:170px}
.an .pc-pop-t{padding:16px 18px 18px;gap:6px}
.an .pc-pop-t b{font:400 26px/1.08 var(--serif);letter-spacing:-.01em}
.an .pc-pop-t span{font-size:12px}
.an .pc-pop-t a{margin-top:8px;font-size:14px}
.an .pc-pop-cat{display:inline-flex;align-items:center;gap:8px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:var(--cc,var(--lima2))}
.an .pc-pop-cat i{width:10px;height:10px;border-radius:50%;background:var(--cc,var(--lima));display:inline-block}
.an .leaflet-popup-content-wrapper{max-width:none}

/* vista satélite del mapa: barrido */
.an .pc-map .leaflet-sat-pane{filter:saturate(.92) contrast(1.05) brightness(.92)}
.an .pc-scan{position:absolute;top:0;bottom:0;width:2px;z-index:650;pointer-events:none;opacity:0;background:var(--lima2);box-shadow:0 0 18px 3px rgba(169,216,43,.65),0 0 60px 12px rgba(169,216,43,.25);transform:translateX(-1px)}
.an .pc-map.is-sat .leaflet-control-attribution{background:rgba(11,21,16,.8)!important}

/* globo del mapa: más grande, con la chapita de la aplicación */
.an .pc-pop{width:460px;max-width:calc(100vw - 80px)}
.an .pc-pop img{height:250px}
.an .pc-pop-t{padding:20px 22px 22px;gap:8px}
.an .pc-pop-t b{font:400 32px/1.06 var(--serif)}
.an .pc-pop-t span{font-size:13px}
.an .pc-pop-t a{font-size:15px;margin-top:10px}
.an .pc-pop-cat{gap:10px;font-size:12px;margin-bottom:2px}
.an .pc-pop-cat .chapa{margin:0}
.an .pc-pop-cat .chapa .pc-icon{width:18px;height:18px;padding:7px}
@media (max-width:640px){.an .pc-pop{width:min(320px,calc(100vw - 70px))}.an .pc-pop img{height:150px}.an .pc-pop-t b{font-size:24px}}

/* lista del mapa plegable + barra de color por aplicación + globo con pase de fotos */
.an .pc-maplayout{position:relative;transition:grid-template-columns .35s var(--ease),gap .35s var(--ease)}
.an .pc-maplayout.is-collapsed{grid-template-columns:0 1fr;gap:0}
.an .pc-maplayout.is-collapsed .pc-maplist{opacity:0;visibility:hidden;overflow:hidden;padding:0;min-width:0}
.an .pc-maplist{transition:opacity .25s}
.an .pc-listtoggle{position:absolute;top:12px;right:12px;z-index:1200;display:inline-flex;gap:8px;align-items:center;background:rgba(11,21,16,.86);backdrop-filter:blur(8px);border:1px solid var(--dline);border-radius:99px;padding:9px 16px;color:var(--paper);font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;transition:all .2s}
.an .pc-listtoggle:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .pc-listtoggle .pc-lt-show{display:none}
.an .pc-maplayout.is-collapsed .pc-listtoggle .pc-lt-show{display:inline}
.an .pc-maplayout.is-collapsed .pc-listtoggle .pc-lt-hide{display:none}
@media (max-width:860px){.an .pc-listtoggle{display:none}}
.an .pc-maprow{position:relative;padding-left:20px}
.an .pc-maprow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--cc,var(--lima))}
.an .pc-maprow img{margin-left:2px}
/* globo clicable */
.an a.pc-pop{display:block;color:inherit;text-decoration:none;cursor:pointer}
.an .pc-pop-slides{display:block;position:relative;height:250px;overflow:hidden;background:var(--ink3)}
.an .pc-pop-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;display:block}
.an .pc-pop-slides img.on{opacity:1}
.an .pc-pop-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;z-index:2}
.an .pc-pop-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);transition:all .3s}
.an .pc-pop-dots i.on{background:#fff;width:20px;border-radius:4px}
.an .pc-pop-t .pc-pop-loc{font:500 13px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--lima2)}
.an .pc-pop-t .pc-pop-go{font:600 15px var(--sans);letter-spacing:0;text-transform:none;color:var(--lima2);margin-top:10px}
.an a.pc-pop:hover .pc-pop-go{text-decoration:underline}
.an a.pc-pop:hover .pc-pop-t b{color:var(--lima2)}
.an .pc-pop-t .chapa{font:inherit;color:inherit}
@media (max-width:640px){.an .pc-pop-slides{height:150px}}

/* ondas tipo gota: irregulares, una sola vez por disparo (las lanza el JS) */
.an .pc-dot i{animation:none;opacity:0}
.an .pc-dot i.rip{animation:pcdrop var(--rs,3s) cubic-bezier(.15,.6,.3,1) 1 forwards}
@keyframes pcdrop{0%{transform:scale(.35);opacity:.9}70%{opacity:.25}100%{transform:scale(var(--rz,2.6));opacity:0}}
.an .pin .pr{animation:none;opacity:0}
.an .pin .pr.rip{animation:pcdrop 3.2s cubic-bezier(.15,.6,.3,1) 1 forwards;--rz:2.8}
.an .pin.sel .pr{opacity:0}

/* onda sutil: nace pequeña, crece poco y se difumina mientras se expande */
@keyframes pcdrop{0%{transform:scale(.55);opacity:.5;filter:blur(0)}100%{transform:scale(var(--rz,1.7));opacity:0;filter:blur(3px)}}
.an .pc-dot i,.an .pin .pr{border-width:1px;stroke-width:.9}
.an .pin .pr.rip{animation:pcdrop 3.6s cubic-bezier(.2,.5,.3,1) 1 forwards;--rz:1.9}

/* aro de las ondas un poco más marcado */
@keyframes pcdrop{0%{transform:scale(.55);opacity:.95;filter:blur(0)}100%{transform:scale(var(--rz,1.8));opacity:0;filter:blur(2.5px)}}
.an .pc-dot i,.an .pin .pr{border-width:1.5px;stroke-width:1.4}
/* cerrar el globo: círculo grande y claro */
.an .leaflet-container a.leaflet-popup-close-button{top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:rgba(11,21,16,.82);backdrop-filter:blur(6px);border:1.5px solid rgba(242,237,226,.55);color:var(--paper);font:300 26px/34px var(--sans);text-align:center;padding:0;text-shadow:none;z-index:5;transition:background .2s,color .2s,border-color .2s}
.an .leaflet-container a.leaflet-popup-close-button:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}

/* buscador: texto grande y legible */
.an .pc-search input{height:60px;padding:0 24px 0 58px;font:400 22px/1.2 var(--sans);letter-spacing:-.005em;color:var(--paper)}
.an .pc-search input::placeholder{font-size:20px;color:var(--mist2)}
.an .pc-search svg{left:22px;width:22px;height:22px}
@media (max-width:640px){.an .pc-search input{height:54px;font-size:18px;padding-left:52px}.an .pc-search input::placeholder{font-size:17px}}

/* filtros multiselección: estado marcado claro */
.an button.pc-chip{cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.an button.pc-chip[aria-pressed="true"]{background:var(--lima);border-color:var(--lima);color:var(--ink);font-weight:600}
.an button.pc-chip[data-cat][aria-pressed="true"]::after{content:"✓";font-weight:700;margin-left:2px}

/* noticias: rejilla, buscador y paginación AJAX */
.an .ngrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,3vw,48px) clamp(14px,1.8vw,28px)}
@media (max-width:1000px){.an .ngrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.an .ngrid{grid-template-columns:1fr}}
.an .ncard{display:flex;flex-direction:column;color:var(--paper)}
.an .ncard .im{display:block;position:relative;border-radius:6px;overflow:hidden;aspect-ratio:16/10;background:radial-gradient(circle at 40% 45%,#1d382a,#10201A 72%);margin-bottom:16px}
.an .ncard .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.an .ncard:hover .im img{transform:scale(1.05)}
.an .ncard .k{color:var(--lima2);margin-bottom:8px}
.an .ncard .t{font:400 clamp(24px,2.1vw,32px)/1.04 var(--serif);letter-spacing:-.015em}
.an .ncard:hover .t{color:var(--lima2)}
.an .ncard .s{margin-top:8px;color:var(--mist);font-size:15px;line-height:1.5}
.an .nws.is-loading .ngrid{opacity:.45;transition:opacity .2s}
.an .nws .pc-empty{grid-column:1/-1}
.an .npag{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:clamp(40px,5vw,70px)}
.an .npag .pn{min-width:44px;height:44px;padding:0 14px;border:1px solid var(--dline);border-radius:99px;color:var(--mist);font:500 14px var(--mono);transition:all .2s}
.an .npag .pn:hover:not(:disabled){border-color:var(--paper);color:var(--paper)}
.an .npag .pn.on{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .npag .pn:disabled{opacity:.3;cursor:default}
.an .npag .pd{align-self:center;color:var(--mist2)}

/* pastillas de cabecera: menos aire sobre las migas */
.an .ph{padding:clamp(108px,9.5vw,136px) 0 clamp(44px,5vw,76px)}
.an .ficha-head{padding-bottom:clamp(40px,5vw,70px)}
/* anillos del árbol: se dibujan despacio al entrar */
.an .ph .rings path,.an .cta .rings path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 8s cubic-bezier(.3,.1,.2,1) forwards;animation-delay:calc(var(--i,0) * 170ms + .3s)}
body.shot .an .ph .rings path,body.shot .an .cta .rings path{animation:none;stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.an .ph .rings path,.an .cta .rings path{animation:none;stroke-dashoffset:0}}

/* franja de cifras del hero */
.an .strip{background:linear-gradient(0deg,rgba(11,21,16,.9),rgba(11,21,16,.55))}
.an .strip .wrap{grid-template-columns:repeat(4,1fr)}
.an .strip .it{padding:22px 24px 24px 0;margin-right:24px;border-right:1px solid var(--dline)}
.an .strip .it:last-child{border:0;margin-right:0}
.an .strip b{display:flex;align-items:baseline;gap:10px;font:400 clamp(40px,4vw,62px)/1 var(--serif);letter-spacing:-.02em;color:var(--lima2)}
.an .strip b i{font:italic 400 clamp(20px,1.7vw,26px)/1 var(--serif);color:var(--paper);letter-spacing:0}
.an .strip .it p{margin:10px 0 0;font:400 15px/1.4 var(--sans);color:var(--mist);max-width:26ch}
@media (max-width:900px){.an .strip .wrap{grid-template-columns:repeat(2,1fr)}.an .strip .it:nth-child(n+3){display:block;border-top:1px solid var(--dline)}.an .strip .it:nth-child(2){border-right:0}.an .strip .it{padding:16px 12px 16px 0;margin-right:0}.an .strip b{font-size:38px}.an .strip .it p{font-size:13.5px}}
/* collage del hero: más grande y con distribución distinta en cada carga */
.an .hero .in.hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,6.4fr)}
.an .hmos{height:clamp(500px,68vh,700px);grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;align-items:stretch}
.an .hf{aspect-ratio:auto!important;margin-top:0!important;height:100%;min-height:0}
.an .hmos.lay-a .hf1{grid-column:1;grid-row:1/3}.an .hmos.lay-a .hf2{grid-column:2;grid-row:1}.an .hmos.lay-a .hf3{grid-column:2;grid-row:2}
.an .hmos.lay-b .hf1{grid-column:2;grid-row:1/3}.an .hmos.lay-b .hf2{grid-column:1;grid-row:1}.an .hmos.lay-b .hf3{grid-column:1;grid-row:2}
.an .hmos.lay-c{grid-template-rows:1.3fr .9fr}.an .hmos.lay-c .hf1{grid-column:1/3;grid-row:1}.an .hmos.lay-c .hf2{grid-column:1;grid-row:2}.an .hmos.lay-c .hf3{grid-column:2;grid-row:2}
.an .hmos.lay-d{grid-template-rows:.9fr 1.3fr}.an .hmos.lay-d .hf1{grid-column:1;grid-row:1}.an .hmos.lay-d .hf2{grid-column:2;grid-row:1}.an .hmos.lay-d .hf3{grid-column:1/3;grid-row:2}
.an .hmos.lay-e{grid-template-columns:1.3fr .8fr}.an .hmos.lay-e .hf1{grid-column:1;grid-row:1/3}.an .hmos.lay-e .hf2{grid-column:2;grid-row:1}.an .hmos.lay-e .hf3{grid-column:2;grid-row:2}
@media (max-width:900px){
  .an .hero .in.hero-grid{grid-template-columns:1fr}
  .an .hmos{height:clamp(420px,120vw,560px)}
  .an .hmos.lay-e{grid-template-columns:1fr 1fr}
  .an .hero .strip{position:relative;left:auto;right:auto;bottom:auto}
}
.an .hf span,.an .hf span.hcap{backdrop-filter:none;-webkit-backdrop-filter:none}
.an .hf img.hi{clip-path:none;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 1.3s var(--ease)}
.an .hf img.hi.on{opacity:1;transform:none}
/* ondas SVG (mapa de la home): sin filter (provoca emborronados del render); se difuminan con opacidad y grosor */
@keyframes pcdropsvg{0%{transform:scale(.55);opacity:.95;stroke-width:1.5}100%{transform:scale(var(--rz,1.9));opacity:0;stroke-width:.4}}
.an .pin .pr.rip{animation:pcdropsvg 3.6s cubic-bezier(.2,.5,.3,1) 1 forwards}
/* collage del hero: composición original (una alta a la izquierda, dos apiladas), algo mayor que la primera versión */
.an .hero .in.hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,5.4fr)}
.an .hmos{height:clamp(440px,58vh,590px);grid-template-columns:1.15fr 1fr}
@media (max-width:900px){.an .hero .in.hero-grid{grid-template-columns:1fr}.an .hmos{height:clamp(420px,120vw,560px);grid-template-columns:1fr 1fr}}
.an .hero .in.hero-grid{padding-bottom:clamp(190px,22vh,230px)}@media (max-width:900px){.an .hero .in.hero-grid{padding-bottom:40px}}
/* barrido lento dentro de cada foto del hero, para apreciarla entera */
@keyframes hpan{from{object-position:var(--pan-from,0% 45%)}to{object-position:var(--pan-to,100% 55%)}}
.an .hf img.hi{object-position:var(--pan-from,0% 45%)}
.an .hf img.hi.on{animation:hpan var(--pan-d,16s) ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.an .hf img.hi.on{animation:none}}
body.shot .an .hf img.hi.on{animation:none}

/* Autoclave: pasos que se activan solos al avanzar el punto por la curva */
.an .proc .grid{align-items:center}
.an .proc .diag{position:static}
.an .proc .st{min-height:0;display:block;position:relative;padding:20px 0 20px 76px;opacity:.38;transition:opacity .5s;cursor:pointer;border-top:1px solid var(--dline)}
.an .proc .st:last-child{border-bottom:1px solid var(--dline)}
.an .proc .st.act{opacity:1}
.an .proc .st.done{opacity:.6}
.an .proc .st .num{position:absolute;left:0;top:14px;font:400 clamp(40px,4vw,58px)/1 var(--serif);margin:0;color:var(--lima)}
.an .proc .st h3{margin:0;font-size:clamp(24px,2.3vw,34px)}
.an .proc .st p{max-height:0;opacity:0;overflow:hidden;margin:0;transition:max-height .6s var(--ease),opacity .5s,margin .4s;color:var(--mist);max-width:46ch}
.an .proc .st.act p{max-height:140px;opacity:1;margin-top:10px}
.an .proc .st .bar{position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--lima2);transform-origin:left;transform:scaleX(0)}
@media (max-width:900px){.an .proc .st{padding-left:58px}.an .proc .st .num{font-size:40px}}
body.shot .an .proc .st{opacity:1}body.shot .an .proc .st p{max-height:140px;opacity:1;margin-top:10px}
.an .ex-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:clamp(26px,3vw,40px)}.an .ex-ctas+.rail{margin-top:clamp(18px,2vw,28px)}
/* mapa de la home: territorio uniforme, sin fronteras internas (Treviño, Villaverde de Trucíos, provincias…) */
.an .mp-land,.an .mp-eus{fill:#223a2e;stroke:#223a2e;stroke-width:1.2;stroke-linejoin:round}
.an .ex-left{display:flex;flex-direction:column;min-width:0}
.an .ex-left .ex-ctas{justify-content:flex-start;margin-top:16px}
.an .ex-left .ex-ctas .btn{flex:1 1 auto;justify-content:center}
.an .ex-left .ex-ctas+.rail{margin-top:0}
/* mapa de la home: provincias con su línea; Treviño y Villaverde de Trucíos integrados en Araba y Bizkaia, sin referencia propia */
.an .mp-land,.an .mp-eus{fill:#1f362b;stroke:rgba(242,237,226,.34);stroke-width:1;stroke-linejoin:round}

/* pie: legales y firma */
.an .ftr .bot{align-items:center;gap:14px 28px}
.an .ftr .legal-links{display:flex;flex-wrap:wrap;gap:6px 22px;font:400 13.5px/1.4 var(--sans);color:var(--mist)}
.an .ftr .legal-links a:hover,.an .ftr .made a:hover{color:var(--lima2)}
.an .ftr .made{display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.03em}
.an .ftr .made .heart{width:15px;height:15px;fill:var(--lima2);animation:hb 2.6s ease-in-out infinite}
.an .ftr .made a{color:var(--paper);border-bottom:1px solid var(--dline)}
@keyframes hb{0%,100%{transform:scale(1)}12%{transform:scale(1.22)}24%{transform:scale(1)}36%{transform:scale(1.14)}48%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.an .ftr .made .heart{animation:none}}
@media (max-width:860px){.an .ftr .bot{flex-direction:column;align-items:flex-start}}
/* textos legales */
.an .prose.legal h2{font-size:clamp(24px,2.3vw,34px);margin:1.6em 0 .45em}
.an .prose.legal h2:first-child{margin-top:0}
.an .prose.legal p,.an .prose.legal li{font-size:16.5px;line-height:1.65}
.an .prose.legal a{color:var(--hoja);text-decoration:underline;text-underline-offset:3px}
.an .prose.legal mark{background:rgba(190,138,82,.28);color:var(--ink);padding:1px 6px;border-radius:4px}
.an .prose.legal .legal-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px}
.an .prose.legal .legal-table th,.an .prose.legal .legal-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.an .prose.legal .legal-table th{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(11,21,16,.6)}
@media (max-width:700px){.an .prose.legal .legal-table{display:block;overflow-x:auto}}

/* Tratamiento */
.an .cls2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);margin-top:clamp(36px,5vw,64px)}
.an .cls2 .cl{display:flex;gap:22px;align-items:flex-start;padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.35)}
.an .cls2 .cl b{font:400 clamp(70px,7vw,110px)/.8 var(--serif);color:var(--hoja);flex:none}
.an .cls2 h3{font:400 clamp(24px,2.2vw,32px)/1.08 var(--serif);margin:0 0 8px;color:var(--ink)}
.an .cls2 p{margin:0;color:rgba(11,21,16,.7);font-size:15.5px}
@media (max-width:760px){.an .cls2{grid-template-columns:1fr}}
.an .fab{list-style:none;margin:0;padding:0;border-top:1px solid var(--dline)}
.an .fab li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--dline);align-items:baseline}
.an .fab .n{font:500 12px var(--mono);color:var(--lima2)}
.an .fab .t{font-size:clamp(17px,1.4vw,21px);color:var(--paper)}
.an .gars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.an .gar{border-top:2px solid var(--hoja);padding:18px 0 0}
.an .gar .mono{color:rgba(11,21,16,.55);margin-bottom:10px}
.an .gar b{display:block;font:400 clamp(26px,2.4vw,36px)/1.05 var(--serif);color:var(--ink);margin-bottom:10px}
.an .gar p{margin:0;color:rgba(11,21,16,.7);font-size:15px}
@media (max-width:900px){.an .gars{grid-template-columns:1fr 1fr}}@media (max-width:520px){.an .gars{grid-template-columns:1fr}}
.an .proc .grid>div:last-child{align-self:center}

/* menú Empresa (segundo desplegable): más discreto que Catálogo */
.an .nav a.nav-main.nav-soft{background:transparent;color:var(--mist);font-weight:500;padding:10px 14px}
.an .nav a.nav-main.nav-soft:hover,.an .nav-emp:focus-within a.nav-main,.an .nav-emp.open a.nav-main{background:transparent;color:var(--paper)}
.an .nav a.nav-main.nav-soft.act{color:var(--paper);box-shadow:none}
.an .nav a.nav-main.nav-soft.act::after{display:block;content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;background:var(--lima)}
.an .nav-emp{position:relative}
.an .mega-emp{margin-left:-120px;width:min(700px,92vw)}
/* página Empresa */
.an .chips-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.an .chips-nav a{border:1px solid var(--dline);border-radius:99px;padding:9px 18px;color:var(--mist);font-size:14px;transition:all .2s}
.an .chips-nav a:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .facts4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,5vw,70px);border-top:1px solid var(--line)}
.an .f4{padding:22px 24px 4px 0;margin-right:24px;border-right:1px solid var(--line)}
.an .f4:last-child{border:0}
.an .f4 b{display:block;font:400 clamp(40px,4.4vw,68px)/1 var(--serif);color:var(--hoja);letter-spacing:-.02em}
.an .f4 span{display:block;margin-top:8px;color:rgba(11,21,16,.68);font-size:15px}
@media (max-width:760px){.an .facts4{grid-template-columns:1fr 1fr}.an .f4:nth-child(2){border-right:0}.an .f4{margin-right:0;padding-bottom:16px}}
.an .hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
@media (max-width:1000px){.an .hub{grid-template-columns:1fr 1fr}}@media (max-width:620px){.an .hub{grid-template-columns:1fr}}
.an .hubc{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 26px 24px;min-height:240px;border:1px solid var(--dline);border-radius:6px;background:rgba(242,237,226,.03);color:var(--paper);transition:background .3s,border-color .3s,transform .4s var(--ease)}
.an .hubc:hover{background:rgba(135,186,20,.1);border-color:var(--lima2);transform:translateY(-4px)}
.an .hubc .mono{color:var(--lima2)}
.an .hubc b{font:400 clamp(28px,2.6vw,40px)/1.05 var(--serif);letter-spacing:-.015em}
.an .hubc .d{color:var(--mist);font-size:15px;line-height:1.5;max-width:34ch}
.an .hubc .go{margin-top:auto;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--mist2);display:grid;place-items:center;transition:all .3s}
.an .hubc:hover .go{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .hubc .go svg{width:18px;height:18px}
.an .hub{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:620px){.an .hub{grid-template-columns:1fr}}
.an .cls2 .cn{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:none}
.an .cls2 .cn .mono{color:var(--hoja);font-weight:500;white-space:nowrap}
.an .cls2 .cn b{display:block}
/* pasos de Bethell: el texto aparece con un fundido suave */
.an .proc .st h3,.an .proc .st p{transition:opacity .6s ease,max-height .7s var(--ease),margin .4s}
.an .proc .st.act p{transition-delay:.15s}

/* logos de certificaciones (PNG transparentes) */
.an .clogo{height:64px;display:flex;align-items:center;margin-bottom:16px}
.an .clogo img{max-height:100%;max-width:170px;width:auto;height:auto;object-fit:contain}
.an .cert .clogo{margin:0;height:56px;grid-column:2;grid-row:1}
.an .cert{grid-template-columns:90px minmax(0,3fr) minmax(0,3fr) minmax(0,6fr)}
.an .cert .clogo{grid-column:2}
.an .cert .clogo+h4{grid-column:3}
.an .ccards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
@media (max-width:1000px){.an .ccards{grid-template-columns:1fr 1fr}}@media (max-width:620px){.an .ccards{grid-template-columns:1fr}}
.an .ccard{border:1px solid var(--line);border-radius:6px;padding:26px;background:rgba(255,255,255,.4);display:flex;flex-direction:column}
.an .ccard .clogo{height:84px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.an .ccard .clogo img{max-width:210px}
.an .ccard .mono{color:var(--hoja);margin-bottom:8px}
.an .ccard h3{font:400 clamp(26px,2.3vw,34px)/1.05 var(--serif);margin:0 0 10px;color:var(--ink)}
.an .ccard p{margin:0;color:rgba(11,21,16,.7);font-size:15px}
.an .gar .clogo{height:52px}
.an .gar .clogo img{max-width:140px}
@media (max-width:760px){.an .cert{grid-template-columns:1fr}.an .cert .clogo,.an .cert .clogo+h4{grid-column:auto}}

/* Contacto */
.an .cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
@media (max-width:1000px){.an .cgrid{grid-template-columns:1fr}}
.an .ccon{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px;min-height:330px;border:1px solid var(--dline);border-radius:6px;background:rgba(242,237,226,.03);color:var(--paper);transition:background .3s,border-color .3s,transform .4s var(--ease)}
.an .ccon:hover{background:rgba(135,186,20,.1);border-color:var(--lima2);transform:translateY(-4px)}
.an .ccon .ci{width:52px;height:52px;border-radius:50%;background:var(--lima);color:var(--ink);display:grid;place-items:center;margin-bottom:10px}
.an .ccon .ci svg{width:24px;height:24px}
.an .ccon .mono{color:var(--lima2)}
.an .ccon b{font:400 clamp(28px,2.6vw,38px)/1.1 var(--serif);letter-spacing:-.01em;overflow-wrap:anywhere}
.an .ccon .d{color:var(--mist);font-size:15px;line-height:1.5;max-width:34ch}
.an .ccon .go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--lima2)}
.an .ccon .go svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.an .ccon:hover .go svg{transform:translateX(5px)}
.an .cstep{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.an .cstep li{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:26px 0;border-bottom:1px solid var(--line)}
.an .cstep .n{font:500 12px var(--mono);color:var(--hoja);padding-top:8px}
.an .cstep h3{font:400 clamp(26px,2.4vw,36px)/1.05 var(--serif);margin:0 0 8px;color:var(--ink)}
.an .cstep p{margin:0;color:rgba(11,21,16,.7);max-width:56ch}
.an .cnote{margin-top:clamp(36px,5vw,64px);padding:clamp(22px,3vw,34px);border-radius:6px;background:var(--ink);color:var(--paper)}
.an .cnote b{display:block;font:400 clamp(24px,2.2vw,32px)/1.1 var(--serif);margin-bottom:14px}
.an .cnote ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.an .cnote li{position:relative;padding-left:24px;color:var(--mist)}
.an .cnote li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--lima)}
@media (max-width:700px){.an .cnote ul{grid-template-columns:1fr}}
.an .cmap{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.an .cmap iframe{width:100%;height:clamp(320px,38vw,480px);border:1px solid var(--dline);border-radius:6px;filter:grayscale(.55) invert(.92) hue-rotate(180deg) contrast(.9);background:var(--ink2)}

/* aplicaciones reales: las dos columnas miden siempre lo mismo */
.an .ex-grid{--exh:clamp(560px,46vw,660px);height:var(--exh);align-items:stretch}
.an .ex-left{height:100%;min-height:0}
.an .ex-left .map{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;height:auto}
.an .ex-left .map svg{width:100%;height:100%;max-height:100%}
.an .ex-left .ex-ctas{flex:none}
.an .ex-grid>.rv:not(.ex-left){display:flex;flex-direction:column;height:100%;min-height:0}
.an .ex-grid .vw{flex:1 1 auto;aspect-ratio:auto;min-height:0}
.an .exi{flex:none;height:clamp(188px,15vw,210px);padding-top:18px;overflow:hidden}
.an .exi h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.05em}
.an .exi h3 a{color:inherit;transition:color .2s}
.an .exi h3 a:hover{color:var(--lima2)}
.an .exi p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){.an .ex-grid{height:auto}.an .ex-left{height:auto}.an .ex-left .map{aspect-ratio:1000/662;flex:none}.an .ex-grid>.rv:not(.ex-left){height:auto}.an .ex-grid .vw{aspect-ratio:5/4;flex:none}.an .exi{height:auto;min-height:190px}}
.an .exi{height:clamp(230px,17.5vw,250px);padding-top:16px}
.an .exi h3{font-size:clamp(26px,2.5vw,36px);margin:0 0 6px;min-height:0;height:2.1em}
.an .exi .cat{margin-bottom:8px}
.an .exi .row{margin-top:14px}
@media (max-width:900px){.an .exi h3{height:auto}}

/* flecha del catálogo: anillos de árbol que brotan al pasar el ratón */
.an .coll a.coll-go{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--lima);color:var(--ink);border-radius:6px;transition:background .3s}
.an .coll a.coll-go:hover{background:var(--lima2)}
.an .coll-go .cg-rings{position:absolute;inset:-10%;width:120%;height:120%;pointer-events:none}
.an .coll-go .cg-rings circle{transform-origin:50px 50px;transform:scale(.15);opacity:0;transition:transform .9s var(--ease),opacity .6s}
.an .coll-go:hover .cg-rings circle,.an .coll-go:focus-visible .cg-rings circle{transform:scale(1);opacity:calc(.9 - var(--i)*.09);transition-delay:calc(var(--i)*60ms)}
.an .coll-go:hover .cg-rings{animation:cgspin 14s linear infinite}
@keyframes cgspin{to{transform:rotate(360deg)}}
.an .coll-go .cg-arrow{position:relative;width:46%;transition:transform .5s var(--ease)}
.an .coll-go:hover .cg-arrow{transform:translateX(8px) scale(1.08)}
@media (prefers-reduced-motion:reduce){.an .coll-go:hover .cg-rings{animation:none}}

/* carga: pájaro de Protec parpadeando mientras llegan los resultados */
.an .pc-grid-view,.an .nws .ngrid,.an .pc-maplist{position:relative}
.an .pc.is-loading .pc-grid-view,.an .nws.is-loading .ngrid{min-height:340px}
.an .pc.is-loading .pc-grid-view::after,.an .nws.is-loading .ngrid::after,.an .pc.is-loading .pc-maplist:empty::after{content:"";position:absolute;left:50%;top:clamp(120px,14vw,170px);width:76px;height:76px;margin:-38px 0 0 -38px;background:url("../img/bird.png") center/contain no-repeat;animation:birdblink 1.5s ease-in-out infinite;pointer-events:none;z-index:3}
.an .pc.is-loading .pc-grid:empty{min-height:340px}
@keyframes birdblink{0%,100%{opacity:.25;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}
.an .pc.is-loading .pc-grid>*{opacity:.35;transition:opacity .2s}
@media (prefers-reduced-motion:reduce){.an .pc.is-loading .pc-grid-view::after,.an .nws.is-loading .ngrid::after{animation:none;opacity:.8}}
.an .nsent{height:1px}.an .npag{display:none}
.an .nws.is-more .nsent{height:90px;position:relative}
.an .nws.is-more .nsent::after{content:"";position:absolute;left:50%;top:20px;width:48px;height:48px;margin-left:-24px;background:url("../img/bird.png") center/contain no-repeat;animation:birdblink 1.5s ease-in-out infinite}
.an .nws.is-more .ngrid{opacity:1}
.an .ccon{min-height:280px}

/* mapa de Contacto */
.an .cmap-box{width:100%;height:clamp(360px,42vw,540px);border-radius:6px;border:1px solid var(--dline);overflow:hidden;background:#dfe9df;z-index:0}
.an .cmap-box .leaflet-tile-pane{filter:saturate(1.25) hue-rotate(-8deg) contrast(1.02)}
.an .pc-bird-marker{background:none;border:0}
.an .pbm{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;border:3px solid var(--lima);box-shadow:0 10px 26px -6px rgba(11,21,16,.55)}
.an .pbm img{width:40px;height:40px;object-fit:contain}
.an .pbm i{position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--lima);animation:pbmpulse 3.4s ease-out infinite;pointer-events:none}
@keyframes pbmpulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.an .pbm i{animation:none;opacity:0}}
.an .cmap-box .leaflet-popup-content-wrapper{border-radius:6px}
.an .cmap-box .leaflet-popup-content{color:var(--ink);font-family:var(--sans)}
.an .pc-bird-marker{cursor:pointer}
.an .pc-bird-marker:hover .pbm{transform:scale(1.08);transition:transform .25s var(--ease)}

/* sin resultados: centrado y con el pájaro de Protec en blanco encima */
.an .pc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:clamp(60px,8vw,110px) 20px;color:var(--mist);font-size:clamp(16px,1.4vw,19px);grid-column:1/-1;width:100%}
.an .pc-empty::before{content:"";width:72px;height:72px;background:url("../img/bird-white.png") center/contain no-repeat;opacity:.9}
.an .pc-maplist .pc-empty{padding:40px 10px}

/* logo de cabecera: al pasar el ratón aparece a color con fundido cruzado */
.an .logo-fx{position:relative;display:inline-block;line-height:0}
.an .logo-fx img{display:block;transition:opacity .45s ease}
.an .logo-fx .l-c{position:absolute;left:0;top:0;opacity:0}
.an .logo-fx:hover .l-c,.an .logo-fx:focus-visible .l-c{opacity:1}
.an .logo-fx:hover .l-w,.an .logo-fx:focus-visible .l-w{opacity:0}
@media (max-width:640px){.an .hdr .logo-fx img{height:40px!important}}

/* ficha de producto: menos aire entre cabecera, foto y ficha; "instalado en" integrado bajo la foto */
.an .ficha-head{padding-bottom:clamp(22px,2.6vw,36px)}
.an .ficha-head .ctas{margin-top:22px!important}
.an .prod-main{padding:clamp(18px,2.4vw,34px) 0 clamp(50px,6vw,90px)}
.an .prod-main .ficha-aside{top:96px}
.an .inst{margin-top:clamp(28px,3.4vw,44px);padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--dline)}
.an .inst .rcard .t{font-size:clamp(22px,1.8vw,28px)}
.an .rcard .im .pc-tone{max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis}.an .rcard .im .pc-tone{display:inline-flex}

/* fichas: menos aire entre bloques */
.an .ficha-head~section.sec:not(.cta){padding-block:clamp(30px,3.6vw,52px)}
.an .ficha-head~section.sec:not(.cta)+section.sec:not(.cta){padding-top:clamp(20px,2.4vw,36px)}
.an .ficha-head~.ficha-foto+section.sec{padding-top:clamp(28px,3.2vw,44px)}
.an .ficha-head~section.sec:not(.cta):last-of-type{padding-bottom:clamp(40px,5vw,70px)}
.an .ficha-head~.nav2{margin-top:0}
.an .ficha-head~section.dk .nav2 a{padding:26px 0}

/* 404 */
.an .e404{position:relative;overflow:hidden;min-height:calc(100svh - 88px);display:flex;align-items:center;padding:clamp(120px,14vw,170px) 0 clamp(60px,8vw,110px);background:radial-gradient(90% 120% at 100% 0%,var(--ink3),var(--ink) 65%)}
.an .e404 .rings{position:absolute;right:-14vw;top:50%;transform:translateY(-50%);width:min(88vw,1000px);opacity:.55;pointer-events:none}
.an .e404 .rings path{fill:none;stroke:#fff;stroke-opacity:.2;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 9s cubic-bezier(.3,.1,.2,1) forwards;animation-delay:calc(var(--i,0) * 170ms + .3s)}
.an .e404-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}
.an .e404-logo{width:clamp(165px,17.6vw,242px);height:auto;margin-bottom:clamp(30px,4vw,56px)}
.an .e404-k{color:var(--lima2);margin-bottom:16px}
.an .e404 h1{font:400 clamp(52px,9vw,148px)/.92 var(--serif);letter-spacing:-.035em;margin:0;max-width:12ch}
.an .e404 h1 em{color:var(--lima2)}
.an .e404 .lead{margin:28px 0 34px;max-width:56ch;color:var(--mist);font-size:clamp(17px,1.5vw,21px)}
.an .e404-ctas{display:flex;flex-wrap:wrap;gap:12px}
.an .e404-links{display:flex;flex-wrap:wrap;gap:6px 26px;list-style:none;margin:34px 0 0;padding:26px 0 0;border-top:1px solid var(--dline);width:min(560px,100%)}
.an .e404-links a{color:var(--mist);font-size:15px}
.an .e404-links a:hover{color:var(--lima2)}
@media (prefers-reduced-motion:reduce){.an .e404 .rings path{animation:none;stroke-dashoffset:0}}
.an .e404-in{width:100%}

/* barra del catálogo: buscador, selector y botón de mapa con la misma altura */
.an .pc-toolbar{align-items:stretch}
.an .pc-toolbar .pc-search input{height:60px}
.an .pc-seg{height:60px;box-sizing:border-box;align-items:stretch}
.an .pc-seg button{height:100%;padding:0 26px;font-size:15px}
.an .pc-toolbar button[data-pc-view]{height:60px;box-sizing:border-box;padding:0 28px;border:1px solid var(--dline);border-radius:99px;font:500 15px var(--sans);color:var(--paper);background:transparent;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.an .pc-toolbar button[data-pc-view]:hover{background:var(--lima);border-color:var(--lima);color:var(--ink)}
@media (max-width:640px){.an .pc-toolbar .pc-search input,.an .pc-seg,.an .pc-toolbar button[data-pc-view]{height:54px}.an .pc-seg button{padding:0 18px}}

/* menú móvil: la clase menu-open vive en <body>, fuera de .an */
body.menu-open .an .mnav{opacity:1;visibility:visible}
body.menu-open .an .burger i:first-child{transform:translateY(3.7px) rotate(45deg)}
body.menu-open .an .burger i:last-child{transform:translateY(-3.7px) rotate(-45deg)}
body.menu-open{overflow:hidden}
.an .mnav{overflow-y:auto;-webkit-overflow-scrolling:touch}
.an .mnav>div:first-child{display:flex;flex-direction:column}

/* portada en móvil/tableta: texto → botones → collage → cifras, en una sola columna */
@media (max-width:900px){
  .an .hero{display:block;height:auto;min-height:0;padding:104px 0 0}
  .an .hero .in.hero-grid{display:block;padding-bottom:28px}
  .an .hero .hero-txt{margin-bottom:30px}
  .an .hero .hmos,.an .hero .hmos.lay-a{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:10px}
  .an .hero .hmos .hf{height:auto}
  .an .hero .hmos.lay-a .hf1{grid-column:1/3;grid-row:1;aspect-ratio:16/10!important}
  .an .hero .hmos.lay-a .hf2{grid-column:1;grid-row:2;aspect-ratio:1/1!important}
  .an .hero .hmos.lay-a .hf3{grid-column:2;grid-row:2;aspect-ratio:1/1!important}
  .an .hero .hmos .hf .hcap{left:10px;right:10px;bottom:9px;font-size:9.5px}
  .an .hero .hmos .hf .hcap u{display:none}
  .an .hero .strip{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin-top:8px}
  .an .hero .strip .wrap{display:grid;grid-template-columns:1fr 1fr}
  .an .hero .strip .it{display:block;padding:18px 14px 18px 0;margin:0;border-right:0;border-top:1px solid var(--dline)}
  .an .hero .strip .it:nth-child(odd){border-right:1px solid var(--dline)}
  .an .hero .strip .it:nth-child(even){padding-left:16px}
  .an .hero .strip b{font-size:clamp(34px,9vw,46px)}
  .an .hero .strip b i{font-size:18px}
  .an .hero .strip .it p{font-size:13px;max-width:none}
}
/* "Todas": sin icono, centrado en su pastilla */
.an button.pc-chip:not([data-cat]){padding:5px 20px;justify-content:center;min-height:34px}
.an button.pc-chip[data-cat]{min-height:34px}

/* X de borrar del buscador: grande y blanca (en lugar de la azul del navegador) */
.an .pc-search input[type="search"]{-webkit-appearance:none;appearance:none}
.an .pc-search input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
.an .pc-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:26px;width:26px;margin-left:10px;cursor:pointer;border-radius:50%;background:rgba(255,255,255,.16) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'><path d='M6.5 6.5l11 11M17.5 6.5l-11 11'/></svg>") center/14px no-repeat;opacity:.9}
.an .pc-search input[type="search"]::-webkit-search-cancel-button:hover{background-color:rgba(255,255,255,.3);opacity:1}
.an .pc-search input[type="search"]::-ms-clear{display:none}
/* móvil: buscador a todo el ancho y, debajo y centrados, selector y botón de mapa */
@media (max-width:640px){
  .an .pc-toolbar{flex-direction:column;align-items:stretch;gap:12px}
  .an .pc-toolbar .pc-search{flex:none;width:100%;min-width:0}
  .an .pc-toolbar .pc-seg,.an .pc-toolbar button[data-pc-view]{align-self:center}
  .an .pc-toolbar .pc-seg{width:auto}
}

/* ===== PRUEBA: esquinas casi cuadradas en botones, buscador, filtros y etiquetas =====
   Para volver a las pastillas redondeadas, borrar este bloque entero (hasta FIN PRUEBA). */
.an{--r-ui:4px}
.an .btn,.an .nav a,.an .nav a.nav-main,.an .lang a,.an .lang button,.an .search,.an .chip,.an .fam,.an .skip,.an .toast,
.an .pc-search input,.an .pc-seg,.an .pc-seg button,.an button.pc-chip,.an .pc-toolbar button[data-pc-view],.an .pc-fitall,.an .pc-listtoggle,
.an .pc-card .pc-tone,.an .pc-hero .pc-tone,.an .rcard .im .pc-tone,.an .vw .num,.an .hf span,.an .coll figcaption,
.an .pc-pagination .page-numbers,.an .npag .pn,.an .chips-nav a,.an .mnav .msub a,.an .pop-t,.an .fact,
.an .hdr .btn,.an .e404-ctas .btn{border-radius:var(--r-ui)}
.an .pc-seg{padding:3px}
.an .pc-seg button{border-radius:2px}
.an .circ,.an .burger,.an .hubc .go,.an .leaflet-container a.leaflet-popup-close-button,.an .pc-search input[type="search"]::-webkit-search-cancel-button{border-radius:var(--r-ui)}
.an .lang a[aria-pressed="true"]{border-radius:var(--r-ui)}
/* ===== FIN PRUEBA ===== */

/* radio de las esquinas: un poco redondeado */
.an{--r-ui:8px}
.an .pc-seg button{border-radius:5px}
/* distribución de la cuadrícula: 3 o 4 por fila */
.an .pc-countrow{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.an .pc-countrow .pc-count{margin:0}
.an .pc-cols{display:inline-flex;align-items:center;gap:6px}
.an .pc-cols .mono{color:var(--mist2);margin-right:6px}
.an .pc-cols button{width:42px;height:36px;display:grid;place-items:center;border:1px solid var(--dline);border-radius:var(--r-ui);color:var(--mist);transition:all .2s}
.an .pc-cols button svg{width:22px;height:22px;fill:currentColor}
.an .pc-cols button:hover{border-color:var(--paper);color:var(--paper)}
.an .pc-cols button[aria-pressed="true"]{background:var(--lima);border-color:var(--lima);color:var(--ink)}
.an .pc.is-mapview .pc-cols{display:none}
.an .pc .pc-grid{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:1000px){.an .pc .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.an .pc-cols{display:none}}
@media (max-width:640px){.an .pc .pc-grid{grid-template-columns:1fr}}
.an .pc[style*="--cols: 4"] .pc-card h3{font-size:clamp(22px,1.7vw,26px)}

/* iconos-escena de las aplicaciones: glifo oscuro dentro de la chapita de color */
.an .pc-scene{--a:#0B1510;color:#0B1510}
.an .pc-scene .fa{fill:var(--a)}
.an .pc-scene .fs{fill:var(--a);fill-opacity:.3}
.an .pc-scene .fp{fill:currentColor}
.an .pc-tone .pc-icon.pc-scene,.an .chapa .pc-icon.pc-scene{width:19px;height:19px;padding:2.5px}
.an .pc-chip .pc-icon.pc-scene{width:19px;height:19px;padding:2.5px}
.an .pc-pop-cat .chapa .pc-icon.pc-scene{width:26px;height:26px;padding:3px}
.an .pc-card .pc-tone .pc-icon.pc-scene,.an .pc-hero .pc-tone .pc-icon.pc-scene{width:19px;height:19px}
.an button.pc-chip[aria-pressed="true"] .pc-icon.pc-scene{background:var(--ink);color:var(--cc);--a:var(--cc)}
.an .pc-tone .pc-icon.pc-scene,.an .chapa .pc-icon.pc-scene,.an .pc-chip .pc-icon.pc-scene,.an .pc-card .pc-tone .pc-icon.pc-scene,.an .pc-hero .pc-tone .pc-icon.pc-scene{width:22px;height:22px;padding:3px}
.an .pc-pop-cat .chapa .pc-icon.pc-scene{width:30px;height:30px;padding:3px}
.an button.pc-chip{padding:4px 16px 4px 4px}

/* menú Catálogo: lista por aplicación con su icono */
.an .nav .mega a.cat-link{display:flex;align-items:center;gap:12px;padding:8px 12px}
.an .nav .mega a.cat-link .chapa{margin:0;flex:none}
.an .nav .mega a.cat-link .pc-icon.pc-scene{width:22px;height:22px;padding:3px}
.an .nws button.pc-chip,.an .nws button.pc-chip[data-cat]{padding:5px 20px;justify-content:center;text-align:center;min-height:34px}

/* aplicaciones reales: fila de acciones alineada con los botones de la otra columna */
.an .exi{display:flex;flex-direction:column;height:clamp(236px,17.5vw,256px)}
.an .exi .row{margin-top:auto;gap:12px}
.an .exi .row .btn{height:52px;flex:none}
.an .exi .circ{width:52px;height:52px;border-radius:var(--r-ui,8px)}
/* carrusel inferior: miniaturas cuadradas */
.an .rail{gap:12px;padding:8px 2px 16px;margin-top:clamp(22px,2.4vw,34px);scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
.an .rail::-webkit-scrollbar{display:none}
.an .th{position:relative;flex:0 0 clamp(96px,9.4vw,128px);width:clamp(96px,9.4vw,128px);height:auto;aspect-ratio:1/1;border-radius:var(--r-ui,8px);overflow:hidden;opacity:.5;outline:0;transition:opacity .3s,transform .4s var(--ease),box-shadow .3s;scroll-snap-align:center}
.an .th img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.an .th::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,21,16,.7),transparent 55%);pointer-events:none}
.an .th .tn{position:absolute;left:8px;bottom:7px;z-index:2;font-size:10.5px;color:var(--paper);letter-spacing:.06em}
.an .th .tb{position:absolute;left:0;bottom:0;height:3px;width:100%;z-index:3;background:var(--lima2);transform-origin:left;transform:scaleX(0)}
.an .th:hover{opacity:.9}.an .th:hover img{transform:scale(1.08)}
.an .th.on{opacity:1;transform:translateY(-4px);box-shadow:0 0 0 2px var(--lima),0 14px 28px -12px rgba(0,0,0,.7)}
.an .th.on .tn{color:var(--lima2)}
@keyframes thbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.an .th .tb{display:none}}

/* pushpins de producto sobre la foto de la aplicación */
.an .pc-hotspot{z-index:3}
.an .pc-hotspot .pc-hotspot-pin{width:38px;height:38px;border-radius:50%;background:var(--lima);border:3px solid #fff;box-shadow:0 6px 18px -4px rgba(0,0,0,.6);animation:none;display:grid;place-items:center;position:relative;cursor:pointer;transition:transform .3s var(--ease)}
.an .pc-hotspot .pc-hotspot-pin::before{content:"";width:10px;height:10px;border-radius:50%;background:#0B1510}
.an .pc-hotspot .pc-hotspot-pin::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--lima2);animation:hsdrop 3.6s ease-out infinite;pointer-events:none}
@keyframes hsdrop{0%{transform:scale(1);opacity:.85}70%{opacity:0}100%{transform:scale(2);opacity:0}}
.an .pc-hotspot:hover .pc-hotspot-pin,.an .pc-hotspot.is-open .pc-hotspot-pin{transform:scale(1.15)}
.an .pc-hotspot-card{background:var(--ink2);color:var(--paper);border:1px solid var(--dline);border-radius:8px;padding:10px 12px;gap:12px;min-width:240px;box-shadow:0 22px 50px -18px rgba(0,0,0,.85);text-decoration:none}
.an .pc-hotspot-card img{width:72px;height:56px;border-radius:5px;object-fit:cover}
.an .pc-hotspot-card b{font:400 22px/1.05 var(--serif);color:var(--paper);display:block}
.an .pc-hotspot-card span span{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--lima2);display:block;margin-top:4px}
.an .pc-hotspot-card>span::after{content:"Ver producto →";display:block;font:600 13px var(--sans);color:var(--lima2);margin-top:6px}
@media (prefers-reduced-motion:reduce){.an .pc-hotspot .pc-hotspot-pin::after{animation:none;opacity:0}}

.an .pc-ficha-img .pc-hotspot-card img{width:72px;height:56px;max-width:none;flex:none;border-radius:5px;object-fit:cover}
.an .pc-hotspot-card{align-items:center;flex-direction:row;white-space:nowrap}
.an .pc-hotspot-card>span{display:block}

/* tarjeta del pushpin de producto: más grande */
.an .pc-hotspot-card{min-width:380px;padding:16px 20px;gap:20px;bottom:calc(100% + 18px);border-radius:10px}
.an .pc-ficha-img .pc-hotspot-card img{width:150px;height:112px;border-radius:7px}
.an .pc-hotspot-card b{font-size:34px;line-height:1.04}
.an .pc-hotspot-card span span{font-size:13px;margin-top:6px}
.an .pc-hotspot-card>span::after{font-size:16px;margin-top:10px}
@media (max-width:640px){.an .pc-hotspot-card{min-width:290px;padding:12px 14px;gap:14px}.an .pc-ficha-img .pc-hotspot-card img{width:96px;height:76px}.an .pc-hotspot-card b{font-size:26px}}

/* buscador enfocado: borde fino y sutil */
.an .pc-search input:focus,.an .pc-search input:focus-visible{outline:none;border-color:rgba(169,216,43,.55);box-shadow:0 0 0 3px rgba(169,216,43,.08);background:rgba(242,237,226,.07)}
.an .pc-search:focus-within svg{stroke:var(--lima2)}

/* Contacto: fondo de plano que se dibuja y se desvanece */
.an .cmap-sec{position:relative;overflow:hidden}
.an .cmap-sec>.wrap{position:relative;z-index:1;padding-block:clamp(120px,14vw,200px)!important}
.an .cmap-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.an .cmap-bg svg.bp{width:min(1180px,96%);height:auto;max-height:100%}
.an .bp .o,.an .bp .f,.an .bp .s,.an .bp .g{fill:none;stroke:#F2EDE2;stroke-width:.5;stroke-linecap:round;stroke-linejoin:round;}
.an .bp .s{stroke-width:.25;opacity:.6}
.an .bp .g{opacity:.55}
.an .bp.filled .f{fill:rgba(169,216,43,.1)}
.an .bp .c,.an .bp .d{fill:none;stroke:#A9D82B;stroke-width:.3;opacity:0;transition:opacity .9s ease}
.an .bp .c{stroke-dasharray:9 2 2 2}
.an .bp text{font-family:var(--mono);font-size:5px;fill:#A9D82B;letter-spacing:.05em;opacity:0;transition:opacity .9s ease}
.an .bp.dims .c{opacity:.85}.an .bp.dims .d{opacity:1}.an .bp.dims text{opacity:1}
.an .bp text.bp-ref{font-size:5.4px;fill:rgba(242,237,226,.7)}
/* el plano se dibuja en la esquina superior derecha, asomando por detrás del mapa */
.an .cmap-sec>.wrap{padding-block:clamp(110px,10vw,150px) clamp(50px,6vw,80px)!important}
.an .cmap-bg{inset:auto;top:clamp(20px,3vw,40px);right:clamp(10px,3vw,58px);width:min(720px,58%);height:clamp(280px,30vw,430px);justify-content:flex-end;align-items:flex-start}
.an .cmap-bg svg.bp{width:100%;height:100%;max-height:none}
@media (max-width:760px){.an .cmap-bg{width:92%;height:240px;opacity:.7}}
body.shot .an .bp *{transition:none!important}
.an .cmap-sec>.wrap{padding-top:clamp(210px,19vw,290px)!important}
.an .cmap-bg{height:clamp(300px,28vw,400px)}
@media (max-width:760px){.an .cmap-sec>.wrap{padding-top:260px!important}.an .cmap-bg{height:230px}}
.an .bp .o,.an .bp .f{stroke-width:.7;stroke:rgba(242,237,226,.9)}
.an .bp .s{stroke-width:.35;opacity:.7}
.an .bp .c,.an .bp .d{stroke-width:.4}
.an .bp text{font-size:5.6px}
/* plano de fondo: solo contornos finos, sin relleno, como en CAD */
.an .bp .f,.an .bp.filled .f{fill:none}
.an .bp .o,.an .bp .f{stroke-width:.32;stroke:rgba(242,237,226,.85)}
.an .bp .s{stroke-width:.2;opacity:.55}
.an .bp .g{stroke-width:.25;opacity:.45}
.an .bp .c,.an .bp .d{stroke-width:.22}
.an .bp text{font-size:5px;letter-spacing:.06em}
/* plano de fondo casi transparente, en un punto distinto cada vez */
.an .cmap-bg{inset:auto;left:auto;right:auto;top:0;width:55%;height:auto;display:block;opacity:0;transition:opacity 1.6s ease}
.an .cmap-bg svg.bp{display:block;width:100%;height:auto;max-height:none;opacity:.34}
.an .bp .o,.an .bp .f{stroke:rgba(242,237,226,.7)}
.an .bp .c,.an .bp .d{stroke:rgba(169,216,43,.8)}
.an .bp text{fill:rgba(169,216,43,.8)}
.an .bp text.bp-ref{fill:rgba(242,237,226,.6)}
.an .bp text,.an .bp .c,.an .bp .d{opacity:1;transition:none}
body.shot .an .bp text{opacity:1}
@media (max-width:760px){.an .cmap-bg{width:92%!important;left:4%!important}}
/* APARCADO: fondo animado de plano en Contacto (oculto; quitar estas dos reglas para reactivar) */
.an .cmap-bg{display:none!important}
.an .cmap-sec>.wrap{padding-top:clamp(50px,6vw,90px)!important;padding-bottom:clamp(50px,6vw,90px)!important}
