/* OZETTA FUMIGACIONES · fumigacionesozetta.com · styles.css — base: propuesta 01 «Fuerza Ozetta» + sistema de tonos claro/oscuro (.sec--claro / .sec--oscuro / .isla). Raptor Marketer 2026-10 */
/* ======= 00 — TIPOGRAFÍAS AUTOALOJADAS (subconjunto latin) ======= */
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 600;font-display:swap;src:url('../fonts/figtree-latin.woff2') format('woff2')}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/saira-condensed-600-latin.woff2') format('woff2')}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/saira-condensed-700-latin.woff2') format('woff2')}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/saira-condensed-800-latin.woff2') format('woff2')}
/* ======= RAPTOR LIB 00 — TOKENS ======= */
:root{
--carbon:#0B0B0C;--grafito:#17171A;--hollin:#202024;
--ozetta:#FC542D;--brasa:#FF7A50;--fragua:#C9381A;
--hueso:#F4F1EC;--niebla:#B9B6B0;--acero:#8A8A90;
--blanco:#FFFFFF;--marfil:#F4F2EE;--gris:#4A4A50;--gris-2:#5C5C63;--borde-claro:#DCD8D1;--naranja-claro:#EE4A22;
--glow:rgba(252,84,45,.55);
--f-display:'Saira Condensed','Arial Narrow',sans-serif;
--f-body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
--ease:cubic-bezier(.22,1,.36,1);
--wrap:1296px;--pad:2rem;--hdr:76px;--cut:12px;
--bg:var(--carbon);--sf:#141416;--sf-2:var(--grafito);
--tx:var(--hueso);--tx2:var(--niebla);--tx3:var(--acero);
--line:rgba(244,241,236,.12);--line-2:rgba(244,241,236,.22);
--ac:var(--ozetta);--sombra:rgba(0,0,0,.6);
}
@media (max-width:900px){:root{--hdr:64px}}
@media (max-width:720px){:root{--pad:1.4rem}}
@media (max-width:480px){:root{--pad:1rem}}
/* ======= SISTEMA DE TONOS (claro / oscuro / isla) ======= */
/* .sec--oscuro carbón · .sec--claro blanco (texto #0B0B0C, texto 2 #4A4A50, acento de TEXTO #C9381A) · .sec--marfil #F4F2EE · .isla = bloque oscuro dentro de una clara. Los componentes solo usan --bg --sf --sf-2 --tx --tx2 --tx3 --line --line-2 --ac. Nunca dos secciones del mismo tono seguidas. */
.sec--oscuro,.isla{--bg:var(--carbon);--sf:#141416;--sf-2:var(--grafito);--tx:var(--hueso);--tx2:var(--niebla);--tx3:var(--acero);--line:rgba(244,241,236,.12);--line-2:rgba(244,241,236,.22);--ac:var(--ozetta);--sombra:rgba(0,0,0,.6)}
.sec--claro{--bg:var(--blanco);--sf:var(--marfil);--sf-2:var(--blanco);--tx:var(--carbon);--tx2:var(--gris);--tx3:var(--gris-2);--line:rgba(11,11,12,.12);--line-2:rgba(11,11,12,.24);--ac:var(--fragua);--sombra:rgba(11,11,12,.16)}
.sec--marfil{--bg:var(--marfil);--sf:var(--blanco)}
.sec--oscuro,.sec--claro{background-color:var(--bg);color:var(--tx)}
.isla{color:var(--tx)}
.sec--claro::before{content:"";position:absolute;top:0;left:max(var(--pad),calc((100% - var(--wrap)) / 2));width:96px;height:3px;background:var(--ozetta);pointer-events:none}
/* ======= BASE ======= */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-padding-top:calc(var(--hdr) + 1rem);-webkit-text-size-adjust:100%;background:var(--carbon)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;interpolate-size:allow-keywords}}
body{margin:0;overflow-x:clip;background:var(--carbon);color:var(--hueso);font-family:var(--f-body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:800}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
[hidden]{display:none!important}
::selection{background:var(--ozetta);color:var(--carbon)}
:focus-visible{outline:2px solid var(--ozetta);outline-offset:3px}
.sec--claro :focus-visible{outline-color:var(--fragua)}
main:focus{outline:0}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--pad) * 2);margin-inline:auto;padding-inline:var(--pad)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:-4rem;z-index:3000;background:var(--ozetta);color:var(--carbon);padding:.7rem 1rem;font-weight:600;text-decoration:none;transition:top .3s}
.skip:focus{top:1rem}
.i{width:1.1em;height:1.1em;flex:none}
.hide-m{display:inline}
@media (max-width:900px){.hide-m{display:none}}
/* ======= SECCIONES + TÍTULOS ======= */
.sec{position:relative;padding-block:clamp(5rem,9vw,8.5rem)}
.sec-head{max-width:1040px}
.sec-head--duo{max-width:none;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.4rem clamp(2rem,5vw,5rem);align-items:end}
.sec-head--duo .lead{margin-top:0}
@media (max-width:900px){.sec-head--duo{grid-template-columns:1fr}}
.eyebrow{display:flex;align-items:center;gap:.85rem;margin:0 0 14px;font:600 .78rem/1.2 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ac)}
.eyebrow::before{content:"";flex:none;width:44px;height:2px;background:var(--ozetta);box-shadow:0 0 14px var(--glow);transform-origin:left}
.sec--claro .eyebrow::before{box-shadow:none}
.eyebrow .n{color:var(--tx3)}
.h2{font:800 clamp(2.25rem,4.7vw,4.3rem)/.98 var(--f-display);text-transform:uppercase;letter-spacing:-.005em;max-width:16em;text-wrap:balance}
.h2 em,.h3 em{font-style:normal;color:var(--ozetta)}
.sec--claro .h2 em,.sec--claro .h3 em{color:var(--naranja-claro)}
.lead{margin-top:1.4rem;max-width:64ch;font-size:clamp(1.04rem,1.25vw,1.2rem);line-height:1.65;color:var(--tx2)}
.lead strong{color:var(--tx);font-weight:600}
.h3{font:800 clamp(1.8rem,3vw,2.7rem)/.98 var(--f-display);text-transform:uppercase;text-wrap:balance}
.txt p{color:var(--tx2);max-width:66ch}
.txt p + p{margin-top:1rem}
.txt strong{color:var(--tx);font-weight:600}
.txt a,.lead a{color:var(--tx);text-decoration:underline;text-decoration-color:var(--ozetta);text-decoration-thickness:2px;text-underline-offset:3px}
.txt a:hover,.lead a:hover{color:var(--ac)}
.cols-2{columns:2 22rem;column-gap:3rem}
.cols-2 p{break-inside:avoid}
/* ======= RAPTOR LIB 01 — REVEALS + PALABRAS QUE SUBEN ======= */
.w{display:inline-block;clip-path:inset(-.35em -.2em 0 -.2em);vertical-align:top}
.wi{display:inline-block}
@media (prefers-reduced-motion:no-preference){
.motion [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,0) * 1ms)}
.motion [data-reveal].is-in{opacity:1;transform:none}
.motion .split .wi{transform:translateY(108%);transition:transform 1.05s var(--ease);transition-delay:calc(var(--i,0) * 55ms)}
.motion .split.is-in .wi{transform:none}
.motion .eyebrow::before{transform:scaleX(0);transition:transform 1.1s var(--ease) .15s}
.motion .eyebrow.is-in::before{transform:scaleX(1)}
}
/* ======= RAPTOR LIB 04 — BOTONES (CORTE OZETTA + SHIMMER + MAGNÉTICO) ======= */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:56px;padding:0 1.65rem;font:600 1rem/1.1 var(--f-body);letter-spacing:.01em;text-decoration:none;text-align:center;border:1px solid transparent;overflow:hidden;isolation:isolate;cursor:pointer;transition:transform .55s var(--ease),background-color .3s,color .3s,border-color .3s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.42) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease);pointer-events:none}
.btn:hover::before{transform:translateX(120%)}
.btn .i{transition:transform .45s var(--ease)}
.btn:hover .i.go{transform:translateX(4px)}
.btn-primary,.btn-dark{clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.btn-primary{background:var(--ozetta);color:#fff}
.btn-primary:hover{background:#E4441C}
.btn-primary:active{background:var(--fragua);color:var(--hueso)}
.btn-ghost{background:rgba(11,11,12,.25);color:var(--tx);border-color:var(--line-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-ghost::before{background:linear-gradient(110deg,transparent 30%,rgba(252,84,45,.28) 50%,transparent 70%)}
.btn-ghost:hover{border-color:var(--ozetta);color:var(--ac)}
.sec--claro .btn-ghost{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.btn-dark{background:var(--carbon);color:var(--hueso)}
.btn-dark:hover{background:var(--grafito);color:var(--ozetta)}
.btn-sm{min-height:44px;padding:0 1.2rem;font-size:.92rem;--cut:9px}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
@media (max-width:640px){.btns .btn{width:100%}}
.link-go{display:inline-flex;align-items:center;gap:.5rem;font:600 .82rem/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ac);text-decoration:none}
.link-go .i{transition:transform .45s var(--ease)}
.link-go:hover .i,a:hover .link-go .i{transform:translateX(5px)}
a.link-go:hover{text-decoration:underline;text-underline-offset:4px}
/* ======= PROGRESO DE SCROLL ======= */
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:80;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--fragua),var(--ozetta) 60%,var(--brasa));box-shadow:0 0 12px var(--glow);transform-origin:left;transform:scaleX(0)}
/* ======= RAPTOR LIB 13 — HEADER (TRANSPARENTE → CRISTAL) + DESPLEGABLE ======= */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hdr);color:var(--hueso);border-bottom:1px solid transparent;transition:transform .55s var(--ease),background-color .4s,border-color .4s}
.hdr.is-solid{background:rgba(11,11,12,.86);border-color:rgba(244,241,236,.1);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr-in{height:100%;display:flex;align-items:center;gap:1.6rem}
.brand{display:block;flex:none}
.brand img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:1.9rem;margin-left:auto}
.nav > a,.dd-btn{position:relative;padding:.4rem 0;font:500 .96rem/1 var(--f-body);text-decoration:none;color:var(--hueso);background:none;border:0;cursor:pointer}
.nav > a::after,.dd-btn::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--ozetta);box-shadow:0 0 10px var(--glow);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav > a:hover::after,.nav > a[aria-current]::after,.dd-btn:hover::after,.dd.is-current .dd-btn::after{transform:scaleX(1);transform-origin:left}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:.4rem}
.dd-btn svg{width:11px;height:11px;transition:transform .45s var(--ease)}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-panel{position:absolute;top:calc(100% + 22px);left:-1.4rem;width:600px;padding:1rem;background:rgba(14,14,16,.97);border:1px solid rgba(244,241,236,.14);border-top:2px solid var(--ozetta);box-shadow:0 34px 70px -24px rgba(0,0,0,.8);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s,transform .45s var(--ease),visibility 0s .45s}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .45s var(--ease)}
.dd-list{display:grid;grid-template-columns:1fr 1fr;gap:.15rem}
.dd-list a{display:grid;grid-template-columns:38px 1fr;column-gap:.85rem;align-items:center;padding:.7rem .75rem;text-decoration:none;color:var(--hueso);transition:background-color .3s}
.dd-list a:hover,.dd-list a:focus-visible,.dd-list a[aria-current]{background:rgba(252,84,45,.09)}
.dd-list svg{grid-row:span 2;width:36px;height:36px;color:var(--ozetta)}
.dd-list b{font:800 1.12rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.01em}
.dd-list span{font-size:.8rem;line-height:1.35;color:var(--niebla)}
.dd-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.7rem;padding:.9rem .75rem 0;border-top:1px solid rgba(244,241,236,.12);font-size:.86rem;color:var(--niebla)}
.hdr-tel{display:inline-flex;align-items:center;gap:.5rem;padding:0;background:none;border:0;cursor:pointer;font:600 .95rem/1 var(--f-body);color:var(--hueso);white-space:nowrap}
.hdr-tel .i{color:var(--ozetta)}
.hdr-tel:hover{color:var(--ozetta)}
.hdr-call{display:none;align-items:center;gap:.45rem;height:42px;padding:0 1rem;margin-left:auto;background:var(--ozetta);color:#fff;border:0;cursor:pointer;font:600 .9rem/1 var(--f-body);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
.hdr-call .i{width:1rem;height:1rem}
.menu-btn{display:none;width:44px;height:44px;place-content:center;gap:7px;padding:0;background:none;border:1px solid rgba(244,241,236,.24);color:var(--hueso);cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;background:currentColor;transition:transform .45s var(--ease)}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
@media (max-width:1320px){.hdr-tel{display:none}.nav{gap:1.6rem}}
@media (max-width:1100px){
.nav,.hdr-cta{display:none}
.hdr-call{display:inline-flex}
.menu-btn{display:grid}
.hdr-in{gap:.7rem}
}
@media (max-width:480px){.brand img{height:32px}.hdr-call span{display:none}.hdr-call{padding:0 .85rem}}
.mnav{position:fixed;inset:0;z-index:49;background:var(--carbon);color:var(--hueso);visibility:hidden;clip-path:circle(0 at calc(100% - 44px) 32px);transition:clip-path .7s var(--ease),visibility 0s .7s;overflow-y:auto;overscroll-behavior:contain}
.mnav.open{visibility:visible;clip-path:circle(150% at calc(100% - 44px) 32px);transition:clip-path .85s var(--ease)}
.mnav-in{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding-top:calc(var(--hdr) + 1.6rem);padding-bottom:2rem}
.mnav-list > li{border-bottom:1px solid rgba(244,241,236,.12)}
.mnav-list > li > a,.mnav-sub-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 0;background:none;border:0;color:var(--hueso);cursor:pointer;font:800 clamp(1.9rem,8.4vw,2.8rem)/1 var(--f-display);text-transform:uppercase;text-decoration:none;text-align:left}
.mnav-list > li > a span,.mnav-sub-btn span{font:600 .75rem var(--f-body);letter-spacing:.2em;color:var(--acero)}
.mnav-sub-btn svg{width:16px;height:16px;color:var(--ozetta);transition:transform .45s var(--ease)}
.mnav-sub-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.mnav-sub{display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1rem;padding:0 0 1rem}
.mnav-sub a{display:block;padding:.55rem 0;font:700 1.15rem/1.1 var(--f-display);text-transform:uppercase;text-decoration:none;color:var(--niebla)}
.mnav-sub a:hover,.mnav-sub a[aria-current]{color:var(--ozetta)}
.mnav-foot{display:grid;gap:.8rem}
.mnav-foot p{font-size:.9rem;color:var(--niebla)}
@media (prefers-reduced-motion:no-preference){
.motion .mnav-list > li{opacity:0;transform:translateY(24px);transition:opacity .5s,transform .7s var(--ease)}
.motion .mnav.open .mnav-list > li{opacity:1;transform:none;transition-delay:calc(.15s + var(--i) * 60ms)}
}
html.menu-open{overflow:hidden}
html.menu-open .floating-wa-btn,html.menu-open .floating-call-btn{opacity:0;pointer-events:none}
/* ======= RAPTOR LIB 11 — GRANO ======= */
.grain::after{content:"";position:absolute;inset:-50%;z-index:1;pointer-events:none;opacity:.075;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='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
/* ======= HERO (INICIO) ======= */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--hdr) + 2rem);overflow:hidden;isolation:isolate;background:var(--carbon);color:var(--hueso)}
.hero-media{position:absolute;inset:0 0 auto 0;height:min(100%,calc(100svh - 1px));z-index:-4;overflow:hidden}
.hero-media picture{position:absolute;inset:0}
.hero-poster,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.hero-video{opacity:0;transition:opacity 1.6s var(--ease)}
.hero-video.is-on{opacity:1}
.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(11,11,12,.5) 0%,rgba(11,11,12,0) 17%,rgba(11,11,12,0) 70%,var(--carbon) 100%),linear-gradient(90deg,rgba(11,11,12,.74) 0%,rgba(11,11,12,.56) 34%,rgba(11,11,12,.2) 62%,rgba(11,11,12,0) 86%)}
.hero-glow{position:absolute;left:30%;top:83%;width:34vw;height:34vw;z-index:-2;border-radius:50%;background:radial-gradient(circle,rgba(252,84,45,.42) 0%,rgba(252,84,45,.1) 38%,transparent 66%);transform:translate(-50%,-50%);mix-blend-mode:screen;pointer-events:none}
.hero-mark{position:absolute;right:-7vw;top:4vh;height:118vh;width:auto;z-index:-1;pointer-events:none;will-change:transform}
.hero-mark img{height:100%;width:auto;opacity:.085}
.hero-hud{position:absolute;top:calc(var(--hdr) + 1.6rem);right:var(--pad);z-index:2;display:flex;align-items:center;gap:.9rem;font:600 .76rem/1 var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--niebla)}
.hero-hud b{display:inline-flex;align-items:center;gap:.5rem;color:var(--hueso);font-weight:700}
.hero-hud b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ozetta)}
.hero-inner{position:relative;z-index:2;display:flex;justify-content:flex-start;padding-bottom:clamp(2.4rem,6vh,4.4rem)}
.hero-copy{width:min(100%,800px)}
.hero-title{font-family:var(--f-display);text-transform:uppercase}
.h1-top{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem;font:700 clamp(1rem,1.5vw,1.3rem)/1 var(--f-display);letter-spacing:.2em;color:var(--ozetta)}
.h1-top::before{content:"";width:40px;height:2px;flex:none;background:var(--ozetta);box-shadow:0 0 14px var(--glow)}
.h1-main{display:block;font-size:clamp(2.55rem,6.5vw,6.7rem);font-weight:800;line-height:.9;letter-spacing:-.008em}
.h1-main .hot{color:var(--ozetta);text-shadow:0 0 40px rgba(252,84,45,.35)}
.hero-sub{margin-top:1.6rem;max-width:56ch;font-size:clamp(1.02rem,1.2vw,1.16rem);color:#D9D5CE}
.hero-sub strong{color:var(--hueso);font-weight:600}
/* con el velo ligero, una sombra corta (≤8px: sobre video no se repinta caro) asegura la lectura */
.hero-title,.hero-sub,.hero-creds,.phero-datos,.crumbs{text-shadow:0 1px 8px rgba(0,0,0,.55)}
@media (max-width:900px){.hero-title{text-shadow:0 2px 8px rgba(0,0,0,.75)}}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.hero-creds{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:5.2rem}
.hero-creds::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:linear-gradient(90deg,var(--ozetta),rgba(252,84,45,.35) 40%,rgba(244,241,236,.12) 70%);transform-origin:left}
.hero-creds li{padding:1.15rem 1.2rem 0;border-left:1px solid rgba(244,241,236,.12)}
.hero-creds li:first-child{border-left:0;padding-left:0}
.cr-k{display:block;font:600 .7rem/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--acero)}
.cr-v{display:block;margin-top:.35rem;font:700 1.3rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.cr-v .st{color:#FBBC04}
@media (prefers-reduced-motion:no-preference){
.motion .grain::after{animation:grain 1.1s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}}
.motion .hero-title .wi{animation:rise 1.15s var(--ease) both;animation-delay:calc(.2s + var(--i,0) * 75ms)}
.motion .h1-top::before{animation:drawX 1s var(--ease) .1s both}
.motion .hero-sub{animation:fadeUp 1s var(--ease) .95s both}
.motion .hero-ctas{animation:fadeUp 1s var(--ease) 1.1s both}
.motion .hero-creds::before{animation:drawX 1.6s var(--ease) 1.1s both}
.motion .hero-creds li{animation:fadeUp .9s var(--ease) both;animation-delay:calc(1.3s + var(--i,0) * 110ms)}
.motion .hero-mark img{animation:markIn 2.6s var(--ease) .2s both}
.motion .hero-hud{animation:fadeUp 1s var(--ease) 1.5s both}
.motion .hero-hud b::before{animation:ping 2s ease-out infinite}
.motion .hero-glow{animation:glowPulse 4.5s ease-in-out infinite}
@keyframes rise{from{transform:translateY(108%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}}
@keyframes drawX{from{transform:scaleX(0)}}
@keyframes markIn{from{opacity:0;transform:scale(1.12)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(252,84,45,.7)}100%{box-shadow:0 0 0 12px rgba(252,84,45,0)}}
@keyframes glowPulse{0%,100%{opacity:.75}50%{opacity:1}}
}
@media (max-width:1100px){
.hero-shade{background:linear-gradient(180deg,rgba(11,11,12,.7) 0%,rgba(11,11,12,.5) 24%,rgba(11,11,12,.56) 56%,rgba(11,11,12,.86) 82%,var(--carbon) 100%)}
.hero-copy{width:100%}
.hero-inner{justify-content:flex-start}
.hero-hud{display:none}
.hero-mark{right:-30vw;height:90vh;top:10vh}
.hero-creds{grid-template-columns:repeat(3,1fr);row-gap:1.1rem}
.hero-creds li:nth-child(4){border-left:0;padding-left:0}
}
@media (max-width:900px){.hero-poster,.hero-video{object-position:22% 50%}.hero-glow{display:none}}
@media (max-width:640px){
.hero-ctas .btn{width:100%}
.hero-creds{grid-template-columns:1fr 1fr;padding-bottom:4.4rem}
.hero-creds li:nth-child(n){border-left:0;padding-left:0;padding-right:.6rem}
.hero-creds li:first-child{grid-column:1/-1}
.cr-v{font-size:1.15rem}
}
@media (max-width:767px){.hero-poster,.hero-video{object-position:50% 40%}}
@media (max-width:480px){.h1-main{font-size:2.55rem}.h1-top{font-size:.95rem;letter-spacing:.16em}}
/* ======= HERO INTERIOR (.phero) — páginas de servicio ======= */
.phero{position:relative;min-height:78vh;min-height:78svh;display:flex;flex-direction:column;padding:calc(var(--hdr) + 1.3rem) 0 clamp(2.4rem,5vh,3.8rem);overflow:hidden;isolation:isolate;background:var(--carbon);color:var(--hueso)}
.phero-media{position:absolute;inset:0;z-index:-4}
.phero-media img{width:100%;height:100%;object-fit:cover;object-position:var(--foco,62% 40%)}
.phero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,rgba(11,11,12,.5) 0%,rgba(11,11,12,0) 17%,rgba(11,11,12,0) 70%,var(--carbon) 100%),linear-gradient(90deg,rgba(11,11,12,.74) 0%,rgba(11,11,12,.56) 34%,rgba(11,11,12,.2) 62%,rgba(11,11,12,0) 86%)}
.phero .hero-mark{right:-12vw;top:8vh;height:96vh}
.phero .hero-mark img{opacity:.07}
.phero-top{position:relative;z-index:2}
.phero-in{position:relative;z-index:2;margin-top:auto;padding-top:3rem}
.phero-copy{width:min(100%,820px)}

.phero--der .phero-copy{width:min(100%,720px)}

.phero .h1-main{font-size:clamp(2.3rem,5.2vw,5.3rem);max-width:15ch}
.phero .hero-sub{max-width:60ch}
.phero-datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.6rem;border-top:1px solid rgba(244,241,236,.18)}
.phero-datos div{padding:1.1rem 1.2rem 0}
.phero-datos div + div{border-left:1px solid rgba(244,241,236,.14)}
.phero-datos div:first-child{padding-left:0}
.phero-datos dt{font:600 .7rem/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--acero)}
.phero-datos dd{margin:.35rem 0 0;font:700 1.25rem/1.1 var(--f-display);text-transform:uppercase}
@media (prefers-reduced-motion:no-preference){
.motion .phero .h1-main{animation:riseClip 1.15s var(--ease) .15s both}
.motion .phero .hero-sub,.motion .phero .hero-ctas{animation:fadeUp 1s var(--ease) .7s both}
.motion .phero-datos{animation:fadeUp 1s var(--ease) .95s both}
@keyframes riseClip{from{clip-path:inset(0 0 100% 0);transform:translateY(28px)}to{clip-path:inset(-.2em -.2em -.2em -.2em);transform:none}}
}
@media (max-width:1100px){.phero--der .phero-in{justify-content:flex-start}.phero--der .phero-copy{width:100%}}
@media (max-width:900px){.phero-shade{background:linear-gradient(180deg,rgba(11,11,12,.7) 0%,rgba(11,11,12,.5) 24%,rgba(11,11,12,.56) 56%,rgba(11,11,12,.86) 82%,var(--carbon) 100%)}.phero .h1-top,.hero .h1-top{text-shadow:0 1px 14px rgba(0,0,0,.65)}}
@media (max-width:640px){.phero-datos{grid-template-columns:1fr}.phero-datos div{padding:.9rem 0 0}.phero-datos div + div{border-left:0;border-top:1px solid rgba(244,241,236,.12);margin-top:.9rem}}
@media (max-width:480px){.phero .h1-main{font-size:2.3rem}}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font:600 .72rem/1.3 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.crumbs li + li::before{content:"/";margin-right:.45rem;color:var(--ozetta)}
.crumbs a{color:var(--hueso);text-decoration:none}
.crumbs a:hover{color:var(--ozetta)}
/* ======= TRAZO NARANJA QUE RECORRE LAS SECCIONES (une lo claro y lo oscuro) ======= */
.zone{position:relative}
.spine{position:absolute;top:0;bottom:0;left:max(14px,calc((100% - var(--wrap)) / 2 - 44px));width:1px;z-index:5;pointer-events:none;background:rgba(138,138,144,.18);display:none}
.spine i{position:absolute;inset:0;background:linear-gradient(180deg,rgba(252,84,45,.2),var(--ozetta));transform-origin:top;transform:scaleY(0)}
.spine b{position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--ozetta);box-shadow:0 0 14px 4px rgba(252,84,45,.6)}
@media (min-width:1240px){.motion .spine{display:block}}
/* ======= RAPTOR LIB 02 — CIFRAS ======= */
.stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-areas:"h m m" "h a b";margin-top:3.4rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.stat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;min-height:260px;padding:4.4rem 1.9rem 1.7rem;background:var(--bg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.stat--h{grid-area:h;min-height:540px;background:var(--carbon)}
.stat--m{grid-area:m}.stat--a{grid-area:a}.stat--b{grid-area:b}
.stat-k{position:absolute;top:1.6rem;left:1.9rem;right:1.9rem;font:600 .72rem/1.3 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--tx3)}
.stat--h .stat-k{color:var(--hueso)}
.stat-v{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;font:800 clamp(3.2rem,5.6vw,5.8rem)/.88 var(--f-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.stat--h .stat-v{font-size:clamp(3.6rem,7.2vw,7.2rem)}
.stat-v small{margin-left:.24em;font-size:.38em;font-weight:700;letter-spacing:.06em;color:var(--ac)}
.stat-v .pre{margin-right:.04em;color:var(--ac)}
.stat-l{max-width:46ch;font-size:.98rem;line-height:1.55;color:var(--tx2)}
.stat--h .stat-l{color:#E1DDD6;font-size:1.04rem}
.stat-l strong{font-weight:600;color:var(--tx)}
.stat-bar{height:2px;background:var(--line)}
.stat-bar i{display:block;height:100%;background:var(--ozetta);transform-origin:left}
.stat--h .stat-bar i{box-shadow:0 0 14px var(--glow)}
.stat-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:40% 40%}
.stat--h::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,.25) 35%,rgba(11,11,12,.92) 72%,var(--carbon) 100%)}
.stat:not(.stat--h)::after{content:"";position:absolute;right:-30%;top:-40%;width:80%;height:120%;z-index:-1;background:radial-gradient(circle,rgba(252,84,45,.12),transparent 62%);opacity:0;transition:opacity .6s}
.stat:not(.stat--h):hover::after{opacity:1}
@media (prefers-reduced-motion:no-preference){.motion .stat-bar i{transform:scaleX(0)}}
@media (max-width:1024px){.stats{grid-template-columns:1fr 1fr;grid-template-areas:"h h" "m m" "a b"}.stat--h{min-height:440px}}
@media (max-width:900px){.stats{grid-template-columns:1fr;grid-template-areas:"h" "m" "a" "b"}.stat{min-height:210px;padding:3.6rem 1.4rem 1.4rem}.stat-k{left:1.4rem;top:1.3rem}.stat--h{min-height:420px}}
/* ======= CLIENTES (contenedor de la cinta) ======= */
.clientes{padding-block:clamp(4.5rem,8vw,7rem);background:linear-gradient(180deg,var(--carbon),#0E0E10 50%,var(--carbon));overflow:hidden}
.clientes .sec-head{margin-bottom:clamp(2.4rem,4vw,3.4rem)}
.clientes .h2{font-size:clamp(1.9rem,3.4vw,3.1rem);max-width:28ch}
/* ======= RAPTOR LIB 23 — CINTA DE CLIENTES (CINTA CON INERCIA) ======= */
:where(.cinta){--ci-texto:#F4F1EC;--ci-contorno:rgba(244,241,236,.5);--ci-hover:#FC542D;--ci-display:'Saira Condensed',sans-serif;--ci-peso:800;--ci-tamano:clamp(2.6rem,7vw,6.4rem);--ci-hueco:clamp(1.4rem,3vw,2.8rem);--ci-separador:url("../img/isotipo-ozetta-naranja.png");--ci-fade:8%;--ci-logo-alto:clamp(2.2rem,5vw,4.2rem);--ci-logo-filtro:brightness(0) invert(1);--ci-logo-opacidad:.72}
.cinta{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--ci-fade),#000 calc(100% - var(--ci-fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--ci-fade),#000 calc(100% - var(--ci-fade)),transparent)}
.cinta + .cinta{margin-top:.4rem}
.cinta__track{display:flex;width:max-content;will-change:transform}
.cinta__set{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.cinta__set > *{display:inline-flex;align-items:center;gap:var(--ci-hueco);padding-right:var(--ci-hueco);font:var(--ci-peso) var(--ci-tamano)/1.08 var(--ci-display);text-transform:uppercase;white-space:nowrap;letter-spacing:-.005em;color:var(--ci-texto);transition:color .35s,-webkit-text-stroke-color .35s}
.cinta__set > *::after{content:"";width:.34em;height:.4em;flex:none;opacity:.9;background:var(--ci-separador) center/contain no-repeat}
.cinta[data-sep="punto"] .cinta__set > *::after{width:.18em;height:.18em;border-radius:50%;background:var(--ci-hover)}
.cinta__set > .o{color:transparent;-webkit-text-stroke:1.5px var(--ci-contorno)}
@media (hover:hover){.cinta__set > *:hover{color:var(--ci-hover);-webkit-text-stroke-color:var(--ci-hover)}}
.cinta__set > .logo{line-height:0}
.cinta__set > .logo img{display:block;height:var(--ci-logo-alto);width:auto;max-width:14em;object-fit:contain;filter:var(--ci-logo-filtro);opacity:var(--ci-logo-opacidad);transition:filter .4s,opacity .4s}
.cinta__set > .logo.o img{opacity:calc(var(--ci-logo-opacidad) * .6)}
@media (hover:hover){.cinta__set > .logo:hover img{filter:none;opacity:1}}
.cinta:not(.cinta--viva) .cinta__set > .logo img{height:calc(var(--ci-logo-alto) * .75)}
.cinta-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cinta:not(.cinta--viva){-webkit-mask-image:none;mask-image:none}
.cinta:not(.cinta--viva) .cinta__track{width:auto}
.cinta:not(.cinta--viva) .cinta__set{flex-wrap:wrap;justify-content:center;padding-inline:1rem}
.cinta:not(.cinta--viva) .cinta__set > *{font-size:clamp(1.8rem,4vw,3.2rem)}
.cinta:not(.cinta--viva) + .cinta:not(.cinta--viva){display:none}
@media (max-width:640px){:where(.cinta){--ci-fade:5%}}
/* ======= PLAGAS (TARJETAS 3D + SPOTLIGHT) — funcionan en claro y oscuro ======= */
.pests{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3.4rem}
.pests > li{display:flex}
.pest{position:relative;flex:1;display:flex;flex-direction:column;min-height:340px;padding:1.6rem 1.6rem 1.5rem;background:var(--sf-2);border:1px solid var(--line);color:var(--tx);text-decoration:none;overflow:hidden;isolation:isolate;transform-style:preserve-3d;transition:transform .6s var(--ease),border-color .4s,box-shadow .6s var(--ease);will-change:transform}
.pest::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(460px circle at var(--mx,50%) var(--my,0%),rgba(252,84,45,.14),transparent 45%);opacity:0;transition:opacity .45s}
.pest::after{content:"";position:absolute;inset:-1px;z-index:2;pointer-events:none;border:1px solid var(--ozetta);opacity:0;transition:opacity .45s;-webkit-mask:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),#000 0%,transparent 72%);mask:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),#000 0%,transparent 72%)}
.pest:hover{border-color:rgba(252,84,45,.45);box-shadow:0 30px 60px -34px var(--sombra)}
.pest:hover::before,.pest:hover::after,.pest:focus-visible::before{opacity:1}
.pest-bar{position:absolute;inset:0 0 auto 0;height:3px;background:var(--ozetta);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.pest:hover .pest-bar,.pest:focus-visible .pest-bar{transform:scaleX(1)}
.pest-n{font:600 .74rem/1 var(--f-body);letter-spacing:.22em;color:var(--tx3)}
.pest-ic{width:78px;height:78px;margin:2rem 0 1.6rem;color:var(--tx);transition:color .4s,filter .4s}
.pest:hover .pest-ic{color:var(--ozetta);filter:drop-shadow(0 0 10px rgba(252,84,45,.4))}
.pest-t{font:800 2rem/1 var(--f-display);text-transform:uppercase;margin-bottom:.6rem}
.pest-t small{display:block;margin-top:.25rem;font:600 .78rem/1.2 var(--f-body);letter-spacing:.12em;color:var(--tx2)}
.pest-d{font-size:.95rem;line-height:1.55;color:var(--tx2);margin-bottom:1.3rem}
.pest .link-go{margin-top:auto}
.pest--cta{background:var(--ozetta);border-color:var(--ozetta);color:var(--carbon);justify-content:flex-end;cursor:pointer;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.pest--cta::before{background:radial-gradient(460px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.28),transparent 45%)}
.pest--cta::after,.pest--cta .pest-bar{display:none}
.pest--cta:hover{border-color:var(--brasa);background:var(--brasa);box-shadow:none}
.pest--cta .pest-n,.pest--cta .pest-d{color:#2A1610}
.pest--cta .pest-t{margin-top:.7rem;font-size:2.4rem;line-height:.95}
.pest--cta .link-go{color:var(--carbon);margin-top:0}
.pest--cta .big-arrow{position:absolute;top:1.4rem;right:1.4rem;width:56px;height:56px;transition:transform .6s var(--ease)}
.pest--cta:hover .big-arrow{transform:translate(4px,-4px) rotate(-45deg)}
@media (max-width:1024px){.pests{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
.pests{grid-template-columns:1fr;gap:.75rem}
.pest{display:grid;grid-template-columns:64px 1fr;column-gap:1.2rem;min-height:0;padding:1.4rem 1.3rem}
.pest-n{position:absolute;top:1.4rem;right:1.3rem}
.pest-ic{grid-row:1/span 3;width:60px;height:60px;margin:0}
.pest-t{font-size:1.7rem;padding-right:2.4rem}
.pest-d{margin-bottom:.9rem}
.pest--cta{display:flex;padding:1.6rem 1.4rem}
.pest--cta .pest-n{position:static}
.pest--cta .pest-t{margin-top:1.4rem}
}
.rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:2.8rem}
.rel a{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:1rem;min-height:92px;padding:1rem 1.2rem;background:var(--sf-2);border:1px solid var(--line);color:var(--tx);text-decoration:none;transition:border-color .4s,box-shadow .5s var(--ease),transform .5s var(--ease)}
.rel a:hover{border-color:var(--ozetta);box-shadow:0 24px 48px -30px var(--sombra);transform:translateY(-3px)}
.rel svg.pic{width:46px;height:46px;color:var(--tx);transition:color .4s}
.rel a:hover svg.pic{color:var(--ozetta)}
.rel b{display:block;font:800 1.35rem/1 var(--f-display);text-transform:uppercase}
.rel span{display:block;margin-top:.3rem;font-size:.85rem;line-height:1.35;color:var(--tx2)}
.rel .i{width:20px;height:20px;color:var(--ac);transition:transform .45s var(--ease)}
.rel a:hover .i{transform:translateX(4px)}
@media (max-width:1024px){.rel{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.rel{grid-template-columns:1fr}}
.pic{overflow:visible;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pic *{transform-box:view-box}
.ic-cuca .ant-l{transform-origin:29.5px 15px}.ic-cuca .ant-r{transform-origin:34.5px 15px}
.ic-term .md-l{transform-origin:29.5px 9.5px}.ic-term .md-r{transform-origin:34.5px 9.5px}
.ic-rata .tail{transform-origin:51px 43px}
.ic-alac .cola{transform-origin:32px 47px}.ic-alac .claw-l{transform-origin:27px 26px}.ic-alac .claw-r{transform-origin:37px 26px}
.ic-garr .jump{transform-origin:32px 56px}.ic-garr .shadow{transform-origin:32px 61px}
.ic-mosq .ala-l{transform-origin:33px 30px}.ic-mosq .ala-r{transform-origin:35px 28px}
@media (prefers-reduced-motion:no-preference){
.motion .play .ic-chin .crawl{animation:chinCrawl 4.4s var(--ease) infinite}
.motion .play .ic-chin .legs{animation:chinLegs .3s steps(2) infinite}
.motion .play .ic-cuca .ant-l{animation:antL 4.2s var(--ease) infinite}
.motion .play .ic-cuca .ant-r{animation:antR 4.2s var(--ease) infinite}
.motion .play .ic-term .md-l{animation:mdL 3.6s ease-in-out infinite}
.motion .play .ic-term .md-r{animation:mdR 3.6s ease-in-out infinite}
.motion .play .ic-rata .tail{animation:tail 3.8s ease-in-out infinite}
.motion .play .ic-rata .whisk{animation:whisk .5s ease-in-out infinite alternate}
.motion .play .ic-alac .cola{animation:sting 4.6s var(--ease) infinite}
.motion .play .ic-alac .claw-l{animation:pinchL 4.6s ease-in-out infinite}
.motion .play .ic-alac .claw-r{animation:pinchR 4.6s ease-in-out infinite}
.motion .play .ic-garr .jump{animation:jump 3.4s var(--ease) infinite}
.motion .play .ic-garr .shadow{animation:jumpShadow 3.4s var(--ease) infinite}
.motion .play .ic-mosq .ala-l{animation:flapL .14s linear infinite alternate}
.motion .play .ic-mosq .ala-r{animation:flapR .14s linear infinite alternate}
.motion .play .ic-mosq .hover{animation:hoverY 2.4s ease-in-out infinite}
@keyframes chinCrawl{0%,55%,100%{transform:translateY(0)}12%{transform:translateY(-2px) rotate(-2deg)}24%{transform:translateY(-4px) rotate(2deg)}36%{transform:translateY(-5px) rotate(-1deg)}48%{transform:translateY(-1px)}}
@keyframes chinLegs{to{transform:scaleY(.94)}}
@keyframes antL{0%,55%,100%{transform:rotate(0)}10%{transform:rotate(-16deg)}20%{transform:rotate(7deg)}30%{transform:rotate(-12deg)}42%{transform:rotate(0)}}
@keyframes antR{0%,55%,100%{transform:rotate(0)}12%{transform:rotate(16deg)}22%{transform:rotate(-7deg)}32%{transform:rotate(12deg)}44%{transform:rotate(0)}}
@keyframes mdL{0%,50%,100%{transform:rotate(0)}10%,30%{transform:rotate(26deg)}20%,40%{transform:rotate(0)}}
@keyframes mdR{0%,50%,100%{transform:rotate(0)}10%,30%{transform:rotate(-26deg)}20%,40%{transform:rotate(0)}}
@keyframes tail{0%,100%{transform:rotate(0)}25%{transform:rotate(-16deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-6deg)}}
@keyframes whisk{to{transform:translateX(-1px)}}
@keyframes sting{0%,60%,100%{transform:rotate(0)}14%{transform:rotate(-9deg)}22%{transform:rotate(14deg)}34%{transform:rotate(0)}}
@keyframes pinchL{0%,60%,100%{transform:rotate(0)}30%{transform:rotate(10deg)}40%{transform:rotate(0)}}
@keyframes pinchR{0%,60%,100%{transform:rotate(0)}30%{transform:rotate(-10deg)}40%{transform:rotate(0)}}
@keyframes jump{0%,45%,100%{transform:translateY(0) scale(1)}8%{transform:translateY(0) scale(1.06,.9)}20%{transform:translateY(-11px) scale(.96,1.05)}32%{transform:translateY(0) scale(1.05,.92)}38%{transform:translateY(0) scale(1)}}
@keyframes jumpShadow{0%,45%,100%{transform:scaleX(1);opacity:.4}20%{transform:scaleX(.55);opacity:.15}}
@keyframes flapL{from{transform:rotate(0) scaleY(1)}to{transform:rotate(-14deg) scaleY(.55)}}
@keyframes flapR{from{transform:rotate(0) scaleY(1)}to{transform:rotate(14deg) scaleY(.55)}}
@keyframes hoverY{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
}
/* ======= TERRITORIO — VIDEO DE DRON (sección II de la propuesta 03, en tipografía/colores de la 01) ======= */
.terr{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.terr-media{position:absolute;inset:0;z-index:-2;overflow:hidden;clip-path:inset(var(--ci,0%) var(--ci,0%) var(--ci,0%) var(--ci,0%))}
.terr-media img,.terr-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.terr-media video{opacity:0;transition:opacity 1.4s var(--ease)}
.terr-media video.is-on{opacity:1}
.terr::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,11,12,.72) 0%,rgba(11,11,12,.12) 28%,rgba(11,11,12,.38) 52%,rgba(11,11,12,.94) 86%),linear-gradient(90deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,0) 60%)}
.terr .wrap{padding-block:calc(var(--hdr) + 4rem) clamp(3rem,6vw,5rem)}
@media (max-width:900px){.terr::before{background:linear-gradient(180deg,rgba(11,11,12,.8) 0%,rgba(11,11,12,.55) 26%,rgba(11,11,12,.8) 50%,rgba(11,11,12,.96) 82%)}.terr .h2{text-shadow:0 1px 16px rgba(0,0,0,.6)}}
.terr-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.terr .lead{color:#DAD6CF}
.terr-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2.6rem;border-top:1px solid rgba(244,241,236,.22)}
.terr-data div{padding:1.2rem 1.4rem 0 0}
.terr-data div + div{padding-left:1.4rem;border-left:1px solid rgba(244,241,236,.16)}
.terr-data dt{font:600 .7rem/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ozetta)}
.terr-data dd{margin:.4rem 0 0;font:800 clamp(1.3rem,1.9vw,1.7rem)/1.05 var(--f-display);text-transform:uppercase}
.terr-data dd small{display:block;margin-top:.35rem;font:400 .86rem/1.4 var(--f-body);text-transform:none;color:#C9C5BE}
.resp{position:relative;padding:2rem;background:rgba(17,17,19,.8);border:1px solid rgba(244,241,236,.2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.resp::before{content:"";position:absolute;inset:-1px -1px auto -1px;height:2px;background:var(--ozetta);box-shadow:0 0 16px var(--glow)}
.resp-top{display:flex;align-items:center;gap:1rem}
.resp-top h3{font:800 1.6rem/1 var(--f-display);text-transform:uppercase}
.resp-top p{font-size:.85rem;color:var(--niebla)}
.resp-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.1rem 0;border-top:1px solid rgba(244,241,236,.12)}
.resp-row:first-of-type{margin-top:1.4rem}
.resp-row span{font-size:.95rem;color:var(--niebla)}
.resp-row b{font:800 1.7rem/1 var(--f-display);text-transform:uppercase}
.resp-row b.hot{color:var(--ozetta)}
.resp-note{margin-top:.6rem;font-size:.8rem;color:var(--acero)}
.cic{overflow:visible;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cic *{transform-box:view-box}
.ic-clock{width:52px;height:52px;flex:none;color:var(--ozetta)}
.ic-clock .hh,.ic-clock .mh{transform-origin:24px 24px}
@media (prefers-reduced-motion:no-preference){
.motion .play .ic-clock .hh{animation:spin 12s linear infinite}
.motion .play .ic-clock .mh{animation:spin 2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
}
@media (max-width:1024px){.terr-grid{grid-template-columns:1fr}.resp{max-width:520px}}
@media (max-width:768px){.terr-data{grid-template-columns:1fr}.terr-data div + div{padding-left:0;border-left:0;border-top:1px solid rgba(244,241,236,.14);margin-top:1rem}.resp{padding:1.5rem}}
/* ======= EMPRESAS — TARJETAS DE SERVICIO CON FOTO ======= */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3.4rem}
.svc{position:relative;display:flex;flex-direction:column;background:var(--sf-2);border:1px solid var(--line);text-decoration:none;color:var(--tx);transition:border-color .4s,box-shadow .6s var(--ease)}
.svc:hover{border-color:rgba(252,84,45,.5);box-shadow:0 30px 60px -36px var(--sombra)}
.svc-fig{position:relative;margin:0;aspect-ratio:16/11;overflow:hidden;background:var(--carbon)}
.svc-fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svc:hover .svc-fig img{transform:scale(1.06)}
.svc-fig::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--ozetta);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.svc:hover .svc-fig::after{transform:scaleX(1)}
.svc-body{display:flex;flex-direction:column;gap:.9rem;flex:1;padding:1.7rem 1.7rem 1.6rem}
.svc-body h3{font:800 1.95rem/1 var(--f-display);text-transform:uppercase}
.svc-body p{font-size:.98rem;color:var(--tx2)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tags li{padding:.35rem .6rem;border:1px solid var(--line-2);font:600 .7rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tx2)}
.svc .link-go{margin-top:auto;padding-top:.4rem}
@media (prefers-reduced-motion:no-preference){
.motion .svc .svc-fig{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--ease);transition-delay:calc(var(--d,0) * 1ms)}
.motion .svc .svc-fig img{transform:scale(1.18)}
.motion .svc.is-in .svc-fig{clip-path:inset(0 0 0 0)}
.motion .svc.is-in .svc-fig img{transform:scale(1);transition:transform 1.8s var(--ease)}
.motion .svc.is-in:hover .svc-fig img{transform:scale(1.06)}
}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr}}
.bloque{margin-top:clamp(4.5rem,8vw,7rem)}
/* ======= RAPTOR LIB 20 — LÍNEA DE ETAPAS (HILO CONDUCTOR) ======= */
:where(.etapas){--et-tarjeta:#FFFFFF;--et-borde:#DCD8D1;--et-acento:#FC542D;--et-acento-rgb:252,84,45;--et-acento-texto:#C9381A;--et-nodo-on:#0B0B0C;--et-ok:#1F9D6B;--et-texto:#0B0B0C;--et-texto-2:#4A4A50;--et-gris:#5C5C63;--et-display:'Saira Condensed',sans-serif;--et-body:'Figtree',sans-serif;--et-mono:'Figtree',sans-serif;--et-nodo:60px;--et-radio:4px;--et-cols:4}
.etapas{background:var(--et-tarjeta);border:1px solid var(--et-borde);border-radius:calc(var(--et-radio) + 2px);padding:clamp(1.4rem,3vw,2.5rem)}
.etapas__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:1px solid var(--et-borde)}
.etapas__head h3{margin:0;font:600 clamp(1.45rem,1rem + 1.4vw,2.2rem)/1.15 var(--et-display);letter-spacing:-.025em;color:var(--et-texto)}
.etapas__head p{margin:.4rem 0 0;max-width:62ch;color:var(--et-texto-2);font:400 .95rem/1.65 var(--et-body)}
.etapas__meter{min-width:210px;font:500 .66rem/1 var(--et-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--et-gris)}
.etapas__meter b{display:block;margin-top:.45rem;font:600 2rem/1 var(--et-display);letter-spacing:-.03em;color:var(--et-texto);font-variant-numeric:tabular-nums}
.etapas__meter small{font:500 .9rem var(--et-mono);color:var(--et-acento-texto)}
.etapas__flow{position:relative;display:grid;grid-template-columns:repeat(var(--et-cols),minmax(0,1fr))}
.etapas__svg{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.etapas__base{fill:none;stroke:var(--et-borde);stroke-width:2;stroke-dasharray:4 5}
.etapas__line{fill:none;stroke:var(--et-acento);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.etapas__dot{fill:var(--et-acento);opacity:0;transition:opacity .3s}
.etapa{position:relative;padding:0 1.6rem 0 0;font-family:var(--et-body)}
.etapa__mk{position:relative;z-index:1;display:grid;place-items:center;width:var(--et-nodo);height:var(--et-nodo);border:1px solid var(--et-borde);border-radius:var(--et-radio);background:var(--et-tarjeta);color:var(--et-texto-2);transition:background-color .5s,border-color .5s,color .5s,box-shadow .5s}
.etapa__mk svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.etapa__code{display:flex;align-items:center;gap:.5rem;margin-top:1.3rem;font:500 .64rem/1 var(--et-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--et-gris);transition:color .4s}
.etapa__code i{width:6px;height:6px;border-radius:50%;background:var(--et-borde);transition:background-color .4s}
.etapa h4{margin:.6rem 0 0;font:600 1.28rem/1.2 var(--et-display);color:var(--et-texto)}
.etapa p{margin:.55rem 0 0;font-size:.92rem;line-height:1.6;color:var(--et-texto-2)}
.etapa__dl{margin-top:.85rem!important;padding-top:.75rem;border-top:1px dashed var(--et-borde);font:500 .62rem/1.45 var(--et-mono)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--et-gris)!important}
.etapa__dl b{display:block;font-weight:500;color:var(--et-texto)}
.etapa.on .etapa__mk,.etapas:not(.etapas--vivo) .etapa__mk{background:var(--et-nodo-on);border-color:var(--et-nodo-on);color:var(--et-acento);box-shadow:0 0 0 6px rgba(var(--et-acento-rgb),.12)}
.etapa.on .etapa__code,.etapas:not(.etapas--vivo) .etapa__code{color:var(--et-acento-texto)}
.etapa.on .etapa__code i,.etapas:not(.etapas--vivo) .etapa__code i{background:var(--et-ok)}
@media (prefers-reduced-motion:no-preference){
.etapa.on .ga{animation:var(--an) var(--dur,2.4s) ease-in-out var(--del,0s) infinite}
@keyframes et-lupa{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(2px,-2px) scale(1.08)}50%{transform:translate(0,2px) scale(1)}75%{transform:translate(-2px,-1px) scale(1.08)}}
@keyframes et-trazo{0%{stroke-dashoffset:1}45%,100%{stroke-dashoffset:0}}
@keyframes et-pulso{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6);opacity:0}}
@keyframes et-giro{to{transform:rotate(360deg)}}
}
@media (max-width:900px){
.etapas__flow{grid-template-columns:1fr;gap:2rem}
.etapa{display:grid;grid-template-columns:var(--et-nodo) minmax(0,1fr);column-gap:1.3rem;padding:0}
.etapa__mk{grid-row:1/span 5}
.etapa__code{margin-top:.2rem}
}
@media (max-width:480px){.etapas__meter{min-width:0}}
.etapas{position:relative;overflow:hidden}
.etapas::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--ozetta),rgba(252,84,45,.15) 70%)}
.etapas__head h3{font-weight:800;text-transform:uppercase;letter-spacing:0;line-height:1}
.etapas__meter,.etapa__code,.etapa__dl{font-weight:600!important;letter-spacing:.14em!important}
.etapas__meter b{font-weight:800;letter-spacing:0}
.etapa h4{font-weight:800;font-size:1.5rem;line-height:1;text-transform:uppercase;letter-spacing:.005em}
/* ======= RAPTOR LIB 21 — CARPETA EN ABANICO (EXPEDIENTE ABIERTO) ======= */
:where(.carpeta){--cp-hoja:#FFFFFF;--cp-borde:#DCD8D1;--cp-carpeta:#17171A;--cp-carpeta-atras:#2A2A2F;--cp-carpeta-texto:#F4F1EC;--cp-carpeta-texto-2:#A9A6A0;--cp-acento:#FC542D;--cp-acento-texto:#C9381A;--cp-ok:#1F9D6B;--cp-texto:#0B0B0C;--cp-texto-2:#4A4A50;--cp-gris:#5C5C63;--cp-display:'Saira Condensed',sans-serif;--cp-body:'Figtree',sans-serif;--cp-mono:'Figtree',sans-serif;--cp-paso:7.5deg;--cp-centro:4}
.carpeta{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;font-family:var(--cp-body)}
.carpeta__intro{grid-column:1/-1}
.carpeta__intro h3{margin:0;font:600 clamp(1.6rem,1.1rem + 1.6vw,2.5rem)/1.1 var(--cp-display);letter-spacing:-.025em;color:var(--cp-texto)}
.carpeta__intro p{margin:.8rem 0 0;max-width:68ch;color:var(--cp-texto-2);line-height:1.65}
.carpeta__fan{position:relative;z-index:1;aspect-ratio:6/4.8;container-type:inline-size}
.carpeta__atras{position:absolute;left:14%;right:14%;bottom:6%;height:52%;border-radius:10px 10px 8px 8px;background:var(--cp-carpeta-atras)}
.carpeta__atras::before{content:"";position:absolute;left:0;top:-18px;width:36%;height:22px;border-radius:8px 8px 0 0;background:var(--cp-carpeta-atras)}
.carpeta__frente{position:absolute;z-index:40;left:12%;right:12%;bottom:4%;height:32%;border-radius:8px;background:var(--cp-carpeta);color:var(--cp-carpeta-texto);padding:5% 6%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 -10px 30px -10px rgba(15,23,32,.45)}
.carpeta__frente::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:8px 8px 0 0;background:var(--cp-acento)}
.carpeta__frente b{font:600 clamp(.85rem,3.2cqw,1.35rem)/1.1 var(--cp-display);letter-spacing:-.01em}
.carpeta__frente small{display:flex;justify-content:space-between;gap:1rem;font:500 clamp(.5rem,1.7cqw,.66rem)/1.2 var(--cp-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cp-carpeta-texto-2)}
.carpeta__frente img{position:absolute;right:6%;top:22%;width:7%;height:auto}
.hoja{position:absolute;left:35%;bottom:17%;width:30%;aspect-ratio:3/4;transform-origin:50% 150%;transform:rotate(calc((var(--i) - var(--cp-centro)) * 1deg));transition:transform 1.1s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s;z-index:calc(var(--i) + 1);background:var(--cp-hoja);border:1px solid var(--cp-borde);border-radius:6px;padding:6% 7%;box-shadow:0 8px 20px -12px rgba(15,23,32,.35);cursor:pointer}
.carpeta__fan.open .hoja{transform:rotate(calc((var(--i) - var(--cp-centro)) * var(--cp-paso)));transition-delay:calc(var(--i) * 45ms)}
.carpeta__fan .hoja.is-act{transform:rotate(calc((var(--i) - var(--cp-centro)) * var(--cp-paso))) translateY(-14%);z-index:30;border-color:var(--cp-acento);box-shadow:0 26px 40px -18px rgba(15,23,32,.5);transition-delay:0s}
.hoja__n{display:flex;justify-content:space-between;font:500 clamp(.5rem,1.9cqw,.72rem)/1 var(--cp-mono);letter-spacing:.08em;color:var(--cp-acento-texto)}
.hoja__n i{width:22%;height:4px;margin-top:2px;background:var(--cp-acento);border-radius:2px}
.hoja__t{margin-top:8%;font:600 clamp(.55rem,2.5cqw,.95rem)/1.15 var(--cp-display);color:var(--cp-texto);letter-spacing:-.01em}
.hoja__ln{display:block;height:3px;margin-top:7%;border-radius:2px;background:var(--cp-borde)}
.hoja__ln.s{width:62%}.hoja__ln.m{width:80%}
.hoja__sello{position:absolute;right:9%;bottom:7%;width:24%;aspect-ratio:1;border:1.5px solid var(--cp-acento);border-radius:50%;opacity:.8}
.hoja__sello::after{content:"";position:absolute;inset:22%;border:1px dashed var(--cp-acento);border-radius:50%}
.carpeta__lista{position:relative;z-index:2;margin:0;padding:0;list-style:none;border-top:1px solid var(--cp-borde)}
.carpeta__fila{display:grid;grid-template-columns:58px minmax(0,1fr) 26px;align-items:center;gap:.9rem;width:100%;padding:.8rem .6rem .8rem 0;border:0;border-bottom:1px solid var(--cp-borde);background:transparent;text-align:left;cursor:pointer;position:relative;font:inherit;color:var(--cp-texto);transition:background-color .3s,padding .45s cubic-bezier(.22,1,.36,1)}
.carpeta__fila::before{content:"";position:absolute;left:0;top:0;bottom:-1px;width:3px;background:var(--cp-acento);transform:scaleY(0);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.carpeta__fila.is-act{background:var(--cp-hoja);padding-left:.8rem}
.carpeta__fila.is-act::before{transform:scaleY(1)}
.carpeta__fila:focus-visible{outline:2px solid var(--cp-acento);outline-offset:-2px}
.carpeta__fila .n{white-space:nowrap;font:500 .7rem/1 var(--cp-mono);letter-spacing:.08em;color:var(--cp-gris)}
.carpeta__fila.is-act .n{color:var(--cp-acento-texto)}
.carpeta__fila strong{display:block;font:600 1.02rem/1.25 var(--cp-display);letter-spacing:-.01em}
.carpeta__fila small{display:block;margin-top:.15rem;font-size:.84rem;color:var(--cp-texto-2)}
.carpeta__fila svg{width:22px;height:22px;fill:none;stroke:var(--cp-ok);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.carpeta__fila svg circle{stroke:var(--cp-borde);stroke-width:1.5}
@media (prefers-reduced-motion:reduce){.hoja,.carpeta__fila,.carpeta__fila::before{transition:none!important}}
@media (max-width:900px){.carpeta{grid-template-columns:1fr}.carpeta__fan{max-width:520px;width:100%;margin-inline:auto}}
@media (max-width:480px){.carpeta__fila{grid-template-columns:48px minmax(0,1fr) 22px;gap:.7rem}}
.carpeta__intro h3,.carpeta__frente b{font-weight:800;text-transform:uppercase;letter-spacing:0}
.carpeta__intro h3{line-height:1}
.hoja__t{font-weight:700;text-transform:uppercase;letter-spacing:.01em}
.carpeta__fila strong{font-weight:700;font-size:1.18rem;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}
.carpeta__fila .n{font-weight:600}
/* ======= RAPTOR LIB 19 — APERTURA CIRCULAR (OJO DE HALCÓN) ======= */
:where(.circ){--circ-bg:#0B0B0C;--circ-bg-rgb:11,11,12;--circ-acento:#FC542D;--circ-acento-rgb:252,84,45;--circ-texto:#F4F1EC;--circ-texto-rgb:244,241,236;--circ-display:'Saira Condensed',sans-serif;--circ-cx:.65;--circ-cy:.32;--circ-largo:290vh;--circ-largo-movil:240vh;--circ-encabezado:76px}
.circ{position:relative;background:var(--circ-bg)}
.circ__pin{position:relative}
.circ__stage{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end}
.circ__word{position:absolute;left:0;top:50%;z-index:-4;white-space:nowrap;font:800 clamp(9rem,27vw,27rem)/.8 var(--circ-display);text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(var(--circ-acento-rgb),.28);transform:translate3d(4vw,-50%,0);pointer-events:none;user-select:none}
.circ__photo{position:absolute;inset:0;z-index:-3}
.circ__photo img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;transform-origin:calc(var(--circ-cx) * 100%) calc(var(--circ-cy) * 100%)}
.circ__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(var(--circ-bg-rgb),.95) 0%,rgba(var(--circ-bg-rgb),.6) 34%,rgba(var(--circ-bg-rgb),0) 62%),linear-gradient(90deg,rgba(var(--circ-bg-rgb),.86) 0%,rgba(var(--circ-bg-rgb),.45) 42%,rgba(var(--circ-bg-rgb),0) 70%)}
.circ__ring{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none;display:none}
.circ__ring circle{fill:none;stroke:var(--circ-acento);stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(var(--circ-acento-rgb),.8))}
.circ__ring .r2{stroke-width:1;stroke-dasharray:2 9;opacity:.55;filter:none}
.circ__copy{width:100%;position:relative;z-index:1;padding-top:calc(var(--circ-encabezado) + 3rem);padding-bottom:clamp(2.6rem,8vh,5rem)}
.circ__copy h2{max-width:15ch}
.circ__fill{margin-top:1.6rem;max-width:31ch;font:700 clamp(1.55rem,3.1vw,2.9rem)/1.08 var(--circ-display);text-transform:uppercase;color:var(--circ-texto)}
.circ__fill .fw{transition:color .45s cubic-bezier(.22,1,.36,1),text-shadow .45s}
.circ__fill .hl .fw{color:var(--circ-acento)}
@media (prefers-reduced-motion:no-preference){
.circ--vivo .circ__pin{height:var(--circ-largo)}
.circ--vivo .circ__stage{position:sticky;top:0;height:100vh;height:100svh}
.circ--vivo .circ__photo{clip-path:circle(16vmin at calc(var(--circ-cx) * 100%) calc(var(--circ-cy) * 100%))}
.circ--vivo .circ__photo img{transform:scale(1.22)}
.circ--vivo .circ__shade{opacity:0}
.circ--vivo .circ__ring{display:block}
.circ--vivo .circ__fill .fw{color:rgba(var(--circ-texto-rgb,244,241,236),.24)}
.circ--vivo .circ__fill .fw.lit{color:var(--circ-texto)}
.circ--vivo .circ__fill .hl .fw.lit{color:var(--circ-acento);text-shadow:0 0 30px rgba(var(--circ-acento-rgb),.45)}
}
@media (max-width:900px){
.circ{--circ-cx:.72;--circ-cy:.29}
.circ__shade{background:linear-gradient(0deg,rgba(var(--circ-bg-rgb),.97) 0%,rgba(var(--circ-bg-rgb),.78) 42%,rgba(var(--circ-bg-rgb),.1) 70%)}
.circ--vivo .circ__pin{height:var(--circ-largo-movil)}
}
.falco-after{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding-block:clamp(3.5rem,7vw,6rem) clamp(5rem,9vw,8rem)}
.falco-after .h3{max-width:19ch}
.falco-pts{display:grid;gap:1.6rem}
.falco-pts li{display:grid;grid-template-columns:52px 1fr;gap:1.2rem;align-items:start;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.falco-pts .cic{width:46px;height:46px;color:var(--ozetta)}
.falco-pts h3{font:800 1.45rem/1.05 var(--f-display);text-transform:uppercase}
.falco-pts p{margin-top:.35rem;font-size:.98rem;color:var(--tx2)}
.ic-wing .wl{transform-origin:22px 30px}.ic-wing .wr{transform-origin:26px 30px}
.ic-leaf .leaf{transform-origin:10px 38px}
.ic-shield .sh{transform-origin:24px 24px}
.ic-shield .ck2{stroke-dasharray:24}
@media (prefers-reduced-motion:no-preference){
.motion .play .ic-wing .wl{animation:wingL 2.4s ease-in-out infinite}
.motion .play .ic-wing .wr{animation:wingR 2.4s ease-in-out infinite}
.motion .play .ic-leaf .leaf{animation:grow 4s var(--ease) infinite}
.motion .play .ic-shield .ck2{animation:drawCk 4s var(--ease) infinite}
.motion .play .ic-shield .sh{animation:shieldPulse 4s var(--ease) infinite}
@keyframes wingL{0%,100%{transform:rotate(0)}50%{transform:rotate(18deg)}}
@keyframes wingR{0%,100%{transform:rotate(0)}50%{transform:rotate(-18deg)}}
@keyframes grow{0%{transform:scale(.35);opacity:.4}35%,100%{transform:scale(1);opacity:1}}
@keyframes drawCk{0%,10%{stroke-dashoffset:24}40%,100%{stroke-dashoffset:0}}
@keyframes shieldPulse{0%,40%,100%{transform:scale(1)}48%{transform:scale(1.08)}56%{transform:scale(1)}}
}
@media (max-width:900px){.falco-after{grid-template-columns:1fr}}
/* ======= POR QUÉ OZETTA — CREDENCIALES ======= */
.creds{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3.4rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cred{position:relative;display:flex;flex-direction:column;gap:.85rem;min-height:270px;padding:2rem 1.7rem 1.6rem;background:var(--bg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;transition:background-color .4s}
.cred::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(252,84,45,.1),transparent 50%);opacity:0;transition:opacity .45s}
.cred:hover{background:var(--sf)}
.cred:hover::before{opacity:1}
.cred .cb{position:absolute;width:16px;height:16px;border-color:var(--ozetta);border-style:solid;opacity:0;transform:scale(.4);transition:opacity .35s,transform .5s var(--ease)}
.cred .cb.c-tl{top:10px;left:10px;border-width:2px 0 0 2px;transform-origin:top left}
.cred .cb.c-br{right:10px;bottom:10px;border-width:0 2px 2px 0;transform-origin:bottom right}
.cred:hover .cb{opacity:1;transform:none}
.cred .cic{width:50px;height:50px;color:var(--ozetta);margin-bottom:.6rem}
.cred h3{font:800 1.5rem/1.02 var(--f-display);text-transform:uppercase}
.cred p{font-size:.94rem;line-height:1.55;color:var(--tx2)}
.cred .tag{margin-top:auto;padding-top:.6rem;font:600 .7rem/1.3 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--tx3)}
.ic-doc .ln{stroke-dasharray:16}
.ic-medal .sw{transform-origin:24px 4px}
.ic-medal .ck2,.ic-aib .ck2{stroke-dasharray:24}
.ic-lupa .lens{transform-origin:20px 20px}
.ic-aib .sh{transform-origin:24px 24px}
.ic-umb .can{transform-origin:24px 24px}
.ic-hat .hat{transform-origin:24px 36px}
.ic-globe .mer{transform-origin:24px 24px}
.ic-pin .drop{transform-origin:24px 42px}.ic-pin .shd{transform-origin:24px 45px}
@media (prefers-reduced-motion:no-preference){
.motion .play .ic-doc .ln{animation:docFill 3.6s var(--ease) infinite}
.motion .play .ic-doc .ln:nth-of-type(2){animation-delay:.25s}
.motion .play .ic-doc .ln:nth-of-type(3){animation-delay:.5s}
.motion .play .ic-medal .sw{animation:swing 4s ease-in-out infinite}
.motion .play .ic-medal .ck2,.motion .play .ic-aib .ck2{animation:drawCk 4s var(--ease) infinite}
.motion .play .ic-lupa .lens{animation:zoom 3.2s ease-in-out infinite}
.motion .play .ic-aib .sh{animation:shieldPulse 4s var(--ease) infinite}
.motion .play .ic-umb .can{animation:umbOpen 4.4s var(--ease) infinite}
.motion .play .ic-hat .hat{animation:hatDrop 3.8s var(--ease) infinite}
.motion .play .ic-globe .mer{animation:globe 3.2s linear infinite}
.motion .play .ic-pin .drop{animation:pinDrop 3.6s var(--ease) infinite}
.motion .play .ic-pin .shd{animation:pinShd 3.6s var(--ease) infinite}
@keyframes docFill{0%,8%{stroke-dashoffset:16}45%,100%{stroke-dashoffset:0}}
@keyframes swing{0%,100%{transform:rotate(0)}25%{transform:rotate(7deg)}75%{transform:rotate(-7deg)}}
@keyframes zoom{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
@keyframes umbOpen{0%{transform:scaleX(.25)}30%,85%{transform:scaleX(1)}100%{transform:scaleX(.25)}}
@keyframes hatDrop{0%{transform:translateY(-9px);opacity:0}25%{transform:translateY(1px);opacity:1}33%{transform:translateY(-1px)}40%,100%{transform:translateY(0);opacity:1}}
@keyframes globe{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}100%{transform:scaleX(1)}}
@keyframes pinDrop{0%{transform:translateY(-12px)}22%{transform:translateY(0)}30%{transform:translateY(-4px)}38%,100%{transform:translateY(0)}}
@keyframes pinShd{0%{transform:scaleX(.4)}22%,100%{transform:scaleX(1)}}
}
@media (max-width:1024px){.creds{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.creds{grid-template-columns:1fr}.cred{min-height:0;padding:1.6rem 1.4rem}}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.4rem,6vw,6rem);align-items:center;margin-top:clamp(5rem,9vw,8rem)}
.about-fig{position:relative;margin:0}
.about-fig::before{content:"";position:absolute;inset:8% -6% -6% 8%;z-index:0;background:radial-gradient(60% 60% at 70% 60%,rgba(252,84,45,.3),transparent 70%);filter:blur(10px)}
.about-fig img{position:relative;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;clip-path:polygon(28px 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%,0 28px)}
.about-fig figcaption{position:relative;margin-top:.9rem;font:600 .72rem/1.4 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--tx3)}
.about-txt p{margin-top:1.1rem;max-width:62ch;color:var(--tx2)}
.about-txt p strong{color:var(--tx);font-weight:600}
.sign{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.sign b{display:block;font:800 1.45rem/1 var(--f-display);text-transform:uppercase}
.sign span{font-size:.85rem;color:var(--tx3);letter-spacing:.08em}
.sign img{width:42px;height:auto}
@media (max-width:900px){.about{grid-template-columns:1fr}.about-fig{max-width:460px}}
/* ======= RESEÑAS (sección oscura; el componente vive en css/resenas.css — NO se edita) ======= */
.resenas{background:radial-gradient(60% 120% at 12% 40%,rgba(252,84,45,.09),transparent 60%),#0E0E10;
--gutter:var(--pad);
--rv-acento:#FC542D;--rv-borde:rgba(252,84,45,.75);
--rv-fondo:#19191C;--rv-texto:#F4F1EC;--rv-texto-2:rgba(244,241,236,.74);
--rv-oscuro:#0B0B0C;--rv-oscuro-texto:#F4F1EC;--rv-oscuro-texto-2:rgba(244,241,236,.74);
--rv-icono:#FC542D;--rv-radio:4px;
--rv-fuente:'Figtree',sans-serif;--rv-fuente-titulo:'Saira Condensed',sans-serif;--rv-fuente-ui:'Figtree',sans-serif;
--rv-panel-texto:#F4F1EC;--rv-panel-acento:#FC542D;--rv-panel-ancho:290px;--rv-alto-esqueleto:262px}
.resenas .rev-layout{margin-top:3rem}
.rev-car .rev .rev-g{width:26px;height:26px;display:grid;place-items:center;background:#fff;border-radius:50%;top:.9rem;right:.9rem}
.rev-car .rev .rev-g svg{width:16px;height:16px}
.rev-car .rev figcaption{padding-right:2.1rem}
.rev-car .rev.sk{background:linear-gradient(100deg,#19191C 30%,#232327 50%,#19191C 70%) 0 0/220% 100%}
.rev-car .rev .av,.rev-car .rev-btn{box-shadow:inset 0 0 0 1px rgba(252,84,45,.55)}
.rev-car .rev.hl .av{box-shadow:none}
.rev-car .rev{box-shadow:0 18px 40px -26px rgba(0,0,0,.8)}
.rev-car .rev-count,.rev-car .rev-empty{color:var(--niebla)}
.rev-panel .rev-etq{font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.rev-panel .rev-num{font-weight:800;font-size:4rem}
/* ======= RESIDENCIAL — LÍNEA DE TIEMPO + GARANTÍA ======= */
.tl{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3.6rem;--p:1}
.tl-line{position:absolute;left:0;right:0;top:23px;height:2px;background:var(--line)}
.tl-line i{position:absolute;inset:0;background:var(--ozetta);transform-origin:left;transform:scaleX(var(--p))}
.tl-step{position:relative}
.tl-dot{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;margin-bottom:1.6rem;font:800 1.15rem/1 var(--f-display);background:var(--ozetta);color:var(--carbon);border:1px solid var(--ozetta);box-shadow:0 0 24px rgba(252,84,45,.35);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background-color .5s,color .5s,border-color .5s,box-shadow .5s}
.tl-step h3{font:800 1.6rem/1.02 var(--f-display);text-transform:uppercase}
.tl-step p{margin-top:.7rem;font-size:.97rem;color:var(--tx2);max-width:34ch}
@media (prefers-reduced-motion:no-preference){
.motion .tl{--p:0}
.motion .tl-step:not(.on) .tl-dot{background:var(--bg);color:var(--tx3);border-color:var(--line-2);box-shadow:none}
.motion .tl-step h3,.motion .tl-step p{transition:opacity .6s}
.motion .tl-step:not(.on) h3,.motion .tl-step:not(.on) p{opacity:.45}
}
@media (max-width:900px){
.tl{grid-template-columns:1fr;gap:2.2rem}
.tl-line{left:23px;right:auto;top:0;bottom:0;width:2px;height:auto}
.tl-line i{transform-origin:top;transform:scaleY(var(--p))}
.tl-step{padding-left:72px;min-height:48px}
.tl-dot{position:absolute;left:0;top:0;margin:0}
}
.guar{position:relative;display:grid;grid-template-columns:1.05fr .95fr;margin-top:clamp(4rem,8vw,6.5rem);background:var(--grafito);border:1px solid rgba(244,241,236,.1);overflow:hidden;isolation:isolate}
.guar::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;z-index:3;background:linear-gradient(90deg,var(--ozetta),rgba(252,84,45,.2));box-shadow:0 0 16px var(--glow)}
.guar-copy{position:relative;z-index:2;padding:clamp(2rem,4.5vw,4rem)}
.guar-k{font:600 .78rem/1 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ozetta)}
.guar-t{margin-top:1rem;font:800 clamp(2.6rem,5.6vw,5.4rem)/.9 var(--f-display);text-transform:uppercase}
.guar-t span{display:block;color:var(--ozetta);text-shadow:0 0 40px rgba(252,84,45,.35)}
.guar-copy p{margin-top:1.3rem;max-width:46ch;color:var(--niebla)}
.guar-copy .btns{margin-top:2rem}
.guar-media{position:relative;margin:0;min-height:100%}
.guar-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.guar-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--grafito) 0%,rgba(23,23,26,.2) 40%,rgba(23,23,26,0) 100%)}
.guar-oz{position:absolute;right:1rem;bottom:-6px;z-index:3;width:clamp(96px,11vw,140px);height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5))}
@media (prefers-reduced-motion:no-preference){
.motion .guar-oz{transform:translateY(70%);transition:transform 1.1s var(--ease) .5s}
.motion .guar.is-in .guar-oz{transform:none}
}
@media (max-width:900px){
.guar{grid-template-columns:1fr}
.guar-media{order:-1;height:230px;min-height:0}
.guar-media::after{background:linear-gradient(0deg,var(--grafito) 0%,rgba(23,23,26,0) 55%)}
.guar-oz{top:150px;bottom:auto;right:.8rem;width:96px}
}
/* ======= FAQ (DOS COLUMNAS INDEPENDIENTES) ======= */
.faq-grid{display:grid;gap:0 3.4rem;margin-top:3rem;align-items:start}
@media (min-width:900px){.faq-grid{grid-template-columns:1fr 1fr}}
.faq-col{display:flex;flex-direction:column}
.qa{border-top:1px solid var(--line)}
.faq-col .qa:last-child{border-bottom:1px solid var(--line)}
@media (max-width:899px){.faq-col:first-child .qa:last-child{border-bottom:0}}
.qa summary{display:flex;justify-content:space-between;align-items:center;gap:1.4rem;padding:1.45rem 0;cursor:pointer;list-style:none;transition:color .3s}
.qa summary .q{font:800 1.4rem/1.1 var(--f-display);text-transform:uppercase}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--ac)}
.qa-ic{position:relative;flex:none;width:34px;height:34px;border:1px solid var(--line-2);transition:border-color .3s,background-color .3s}
.qa-ic::before,.qa-ic::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s var(--ease)}
.qa-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa[open] .qa-ic{background:var(--ozetta);border-color:var(--ozetta);color:var(--carbon)}
.qa[open] .qa-ic::after{transform:translate(-50%,-50%) rotate(0)}
.qa-a{padding:0 3rem 1.6rem 0;color:var(--tx2);max-width:62ch}
.qa-a p + p{margin-top:.8rem}
.qa-a a{color:var(--tx);text-decoration-color:var(--ozetta);text-underline-offset:3px}
@media (prefers-reduced-motion:no-preference){
@supports selector(::details-content){
.qa::details-content{block-size:0;overflow:hidden;transition:block-size .55s var(--ease),content-visibility .55s allow-discrete}
.qa[open]::details-content{block-size:auto}
}
}
@media (max-width:640px){.qa summary .q{font-size:1.25rem}.qa-a{padding-right:0}}
/* ======= UBICACIÓN ======= */
.loc{display:grid;grid-template-columns:1.4fr .9fr;gap:1.25rem;margin-top:3rem}
.map{position:relative;display:flex;border:1px solid var(--line);background:var(--sf)}
.map iframe{display:block;width:100%;height:auto;min-height:450px;border:0;filter:grayscale(1) contrast(1.05);transition:filter .8s var(--ease)}
.sec--oscuro .map iframe{filter:grayscale(1) invert(.9) contrast(.9) hue-rotate(180deg)}
.map:hover iframe,.map:focus-within iframe{filter:none!important}
.map .cb{position:absolute;width:22px;height:22px;border-color:var(--ozetta);border-style:solid;z-index:2;pointer-events:none}
.map .cb.c-tl{top:-6px;left:-6px;border-width:2px 0 0 2px}
.map .cb.c-br{right:-6px;bottom:-6px;border-width:0 2px 2px 0}
@media (hover:none){.map iframe{filter:none!important}}
.nap{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:var(--sf);border:1px solid var(--line)}
.nap-item{display:grid;grid-template-columns:22px 1fr;gap:.9rem}
.nap-item svg{width:22px;height:22px;color:var(--ozetta);margin-top:.15rem}
.nap-item b{display:block;font:600 .72rem/1.3 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--tx3);margin-bottom:.3rem}
.nap-item address{font-style:normal}
.nap-item .tel{padding:0;background:none;border:0;color:var(--tx);font:600 1.05rem var(--f-body);cursor:pointer;text-decoration:underline;text-decoration-color:var(--ozetta);text-underline-offset:3px}
.hours{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;font-size:.97rem;margin:0}
.hours dt{color:var(--tx2)}.hours dd{margin:0;font-weight:600}
.nap-ctas{display:grid;gap:.7rem;margin-top:auto}
@media (max-width:900px){.loc{grid-template-columns:1fr}}
@media (max-width:768px){.map iframe{min-height:380px}}
@media (max-width:640px){.map iframe{min-height:320px}.nap{padding:1.5rem}}
@media (max-width:480px){.map iframe{min-height:280px}}
/* ======= CTA FINAL ======= */
.cta{position:relative;padding-block:clamp(6rem,13vw,11rem);overflow:hidden;isolation:isolate;background:radial-gradient(55% 75% at var(--gx,72%) var(--gy,40%),rgba(252,84,45,.24),transparent 62%),var(--carbon);color:var(--hueso)}
.cta-mark{position:absolute;right:-6vw;bottom:-4vw;z-index:-1;width:min(78vw,1000px);height:auto;opacity:.05;pointer-events:none}
.cta .h2{font-size:clamp(2.8rem,7.6vw,7.6rem);line-height:.88;max-width:13ch}
.cta .lead{max-width:58ch}
/* ======= COMPONENTES DE PÁGINAS INTERIORES ======= */
.duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2.4rem,6vw,6rem);align-items:center}
.duo--inv .duo-fig{order:-1}
.duo-fig{position:relative;margin:0}
.duo-fig img{width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}
.duo-fig::before{content:"";position:absolute;inset:6% -4% -5% 6%;z-index:0;background:radial-gradient(60% 60% at 70% 60%,rgba(252,84,45,.28),transparent 70%);filter:blur(12px);pointer-events:none}
.duo-fig img{position:relative}
.duo-fig figcaption{position:relative;margin-top:.9rem;font:600 .72rem/1.4 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--tx3)}
.duo-txt .txt,.duo-txt .hechos{margin-top:1.4rem}
.duo-txt .chips{margin-top:1.6rem}
@media (max-width:900px){.duo{grid-template-columns:1fr}.duo--inv .duo-fig{order:0}.duo-fig{max-width:620px}}
.respuesta{margin-top:1.6rem;padding-left:1.4rem;border-left:3px solid var(--ozetta);font-size:clamp(1.1rem,1.35vw,1.28rem);line-height:1.6;color:var(--tx);max-width:62ch}
.respuesta strong{font-weight:600}
.hechos{display:grid;gap:.75rem;margin-top:1.8rem}
.hechos li{display:grid;grid-template-columns:24px 1fr;gap:.8rem;align-items:start;color:var(--tx2)}
.hechos li strong{color:var(--tx);font-weight:600}
.ck{width:22px;height:22px;margin-top:.2rem;fill:none;stroke:var(--ozetta);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sec--claro .ck{stroke:var(--fragua)}
.tarjetas{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));margin-top:3.2rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tarjeta{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:2rem 1.7rem 1.8rem;background:var(--bg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;transition:background-color .4s}
.tarjeta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(252,84,45,.12),transparent 50%);opacity:0;transition:opacity .45s}
.tarjeta:hover{background:var(--sf)}
.tarjeta:hover::before{opacity:1}
.tarjeta .cic{width:50px;height:50px;color:var(--ozetta);margin-bottom:.5rem}
.tarjeta .tn{font:600 .72rem/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--tx3)}
.tarjeta h3{font:800 1.55rem/1.02 var(--f-display);text-transform:uppercase}
.tarjeta p{font-size:.96rem;line-height:1.55;color:var(--tx2)}
@media (max-width:1024px){.tarjetas{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tarjetas{grid-template-columns:1fr}.tarjeta{padding:1.6rem 1.4rem}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.chips li{padding:.55rem .85rem;border:1px solid var(--line-2);font:600 .82rem/1.2 var(--f-body);letter-spacing:.04em;color:var(--tx)}
.chips li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:.55rem;vertical-align:middle;background:var(--ozetta);border-radius:50%}
.sub-t{font:800 1.6rem/1 var(--f-display);text-transform:uppercase}
.bloque-sm{margin-top:clamp(3rem,5vw,4.4rem)}
.duo.bloque-sm{align-items:start}
.duo .nota{margin-top:0}
button.link-go{padding:0;background:none;border:0;cursor:pointer;margin-top:.8rem}
.nota{display:flex;gap:1rem;align-items:flex-start;margin-top:2.4rem;padding:1.3rem 1.4rem;background:var(--sf);border:1px solid var(--line);border-left:3px solid var(--ozetta);color:var(--tx2);font-size:.98rem}
.nota strong{color:var(--tx);font-weight:600}
.nota .ck{flex:none}
.nota p{max-width:78ch}
.seguridad{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,4vw,3.4rem);margin-top:3.2rem;align-items:start}
.seguridad .guar{display:block;margin-top:0}
.seguridad .guar-t{font-size:clamp(2.4rem,4.4vw,4.2rem)}
.seg-col h3{font:800 1.5rem/1.05 var(--f-display);text-transform:uppercase}
.seg-col h3 + .hechos,.seg-intro + .hechos{margin-top:1rem}
.seg-intro{margin-top:.7rem;color:var(--tx2)}
.seg-col + .seg-col{margin-top:2.2rem}
@media (max-width:900px){.seguridad{grid-template-columns:1fr}}
/* ======= RAPTOR LIB 22 — MARCO QUE SE ABRE (TELÓN DE HALCÓN) ======= */
:where(.marco){--mc-bg:#0B0B0C;--mc-bg-rgb:11,11,12;--mc-texto:#F4F1EC;--mc-texto-2:#DAD6CF;--mc-acento:#FC542D;--mc-acento-2:#FC542D;--mc-palabra:rgba(244,241,236,.8);--mc-display:'Saira Condensed',sans-serif;--mc-body:'Figtree',sans-serif;--mc-encabezado:76px;--mc-foco:62% 30%;--mc-foco-movil:74% 30%;--mc-iy:17;--mc-ix:27}
@media (max-width:900px){:where(.marco){--mc-iy:21;--mc-ix:9;--mc-encabezado:64px}}
.marco{position:relative;background:var(--mc-bg);color:var(--mc-texto);font-family:var(--mc-body)}
.marco__stage{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.marco__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.marco__media img{width:100%;height:100%;object-fit:cover;object-position:var(--mc-foco);transform:scale(1.04)}
.marco__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--mc-bg-rgb),.45) 0%,rgba(var(--mc-bg-rgb),0) 20%,rgba(var(--mc-bg-rgb),0) 44%,rgba(var(--mc-bg-rgb),.8) 62%,var(--mc-bg) 92%)}
.marco__palabra{position:absolute;left:50%;top:50%;z-index:0;margin:0;transform:translate(-50%,-50%);pointer-events:none;font:italic 300 clamp(4rem,17vw,17rem)/.8 var(--mc-display);letter-spacing:-.04em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--mc-palabra);opacity:0}
.marco__copy{position:relative;z-index:1;width:100%;box-sizing:border-box;padding-block:calc(var(--mc-encabezado) + 3rem) clamp(2.6rem,5vw,4.4rem)}
.marco__copy .eyebrow{margin:0 0 14px}
.marco__h{margin:0;font:500 clamp(2.6rem,5.1vw,5.4rem)/.96 var(--mc-display);letter-spacing:-.03em;color:var(--mc-texto)}
.marco__h em{color:var(--mc-acento-2);font-weight:400}
.marco__cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3.4rem;align-items:end;margin-top:1.4rem}
.marco__cols p{margin:0;font-size:1.08rem;line-height:1.65;color:var(--mc-texto-2);max-width:56ch}
.marco__facts{margin:0;padding:0;list-style:none;display:grid;gap:.7rem}
.marco__facts li{display:flex;gap:.8rem;align-items:baseline;padding-bottom:.55rem;border-bottom:1px solid rgba(242,238,230,.18)}
.marco__facts b{font:italic 400 1rem var(--mc-display);color:var(--mc-acento);min-width:1.6rem}
.marco__cta{margin-top:1.6rem}
.marco--vivo .marco__stage{position:sticky;top:0;height:100vh;height:100svh}
.marco--vivo .marco__palabra{opacity:1;-webkit-text-stroke:1.4px var(--mc-palabra)}
.marco--vivo .marco__copy{opacity:0;will-change:transform,opacity}
@media (max-width:900px){
.marco__media img{object-position:var(--mc-foco-movil)}
.marco__h{font-size:clamp(2.2rem,9.4vw,3rem)}
.marco__cols{grid-template-columns:1fr;gap:1.6rem;margin-top:1.2rem}
.marco__cols p{font-size:1rem}
.marco__copy{padding-block:calc(var(--mc-encabezado) + 1.5rem) 2rem}
.marco--vivo .marco__shade{background:linear-gradient(180deg,rgba(var(--mc-bg-rgb),.35) 0%,rgba(var(--mc-bg-rgb),.2) 22%,rgba(var(--mc-bg-rgb),.72) 50%,rgba(var(--mc-bg-rgb),.92) 72%,var(--mc-bg) 100%)}
.marco:not(.marco--vivo) .marco__stage{display:block;min-height:0}
.marco:not(.marco--vivo) .marco__media{position:relative;height:64vh;height:64svh;z-index:0}
.marco:not(.marco--vivo) .marco__shade{bottom:auto;height:64vh;height:64svh;z-index:0;background:linear-gradient(180deg,rgba(var(--mc-bg-rgb),.35) 0%,rgba(var(--mc-bg-rgb),0) 28%,rgba(var(--mc-bg-rgb),0) 58%,var(--mc-bg) 100%)}
.marco:not(.marco--vivo) .marco__copy{margin-top:-5.5rem;padding-top:0}
}
.marco__palabra{font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.marco__h{font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.94}
.marco__h em{font-style:normal;font-weight:800}
.marco__facts b{font-style:normal;font-weight:800}
/* ======= FOOTER ======= */
.ft{position:relative;padding:clamp(3.4rem,5vw,4.4rem) 0 6rem;background:#070708;border-top:1px solid rgba(244,241,236,.1);color:var(--niebla);font-size:.95rem;overflow:hidden}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1.15fr .9fr 1.4fr;gap:2.6rem}
.ft-brand img{height:44px;width:auto}
.ft-brand p{margin-top:1.2rem;max-width:34ch}
.ft-brand small{display:block;margin-top:1rem;font-size:.8rem;color:var(--acero)}
.ft-t{margin-bottom:1.1rem;font:700 1.05rem/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ozetta)}
.ft ul{display:grid;gap:.55rem}
.ft a{text-decoration:none;transition:color .3s}
.ft a:hover{color:var(--ozetta)}
.ft address{font-style:normal;line-height:1.6}
.ft-contact p + p,.ft-contact address + p{margin-top:.7rem}
.ft-tel{padding:0;background:none;border:0;color:var(--hueso);font:600 1rem var(--f-body);cursor:pointer}
.ft-tel:hover{color:var(--ozetta)}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin-top:3.6rem;padding-top:1.6rem;border-top:1px solid rgba(244,241,236,.1);font-size:.85rem;color:var(--acero)}
.ft-bottom nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.ft-credit a{color:var(--niebla);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1024px){.ft-grid{grid-template-columns:1fr 1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:640px){.ft-grid{grid-template-columns:1fr 1fr}.ft-contact{grid-column:1/-1}}
@media (max-width:420px){.ft-grid{grid-template-columns:1fr}}
/* ======= BOTONES FLOTANTES + MODALES (skill botones-conversion, estética Ozetta) ======= */
.floating-wa-btn{position:fixed;bottom:28px;right:28px;width:64px;height:64px;padding:0;background:var(--carbon);border:2px solid var(--ozetta);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 22px rgba(252,84,45,.38),0 12px 28px rgba(0,0,0,.45);z-index:2000;cursor:pointer;animation:wa-float 4s ease-in-out infinite;transition:transform .3s ease,opacity .3s}
.floating-wa-btn:hover{transform:scale(1.1)}
.floating-wa-btn:focus-visible,.floating-call-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes wa-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
.wa-icon{width:34px;height:34px;object-fit:contain}
.floating-call-btn{display:none;position:fixed;bottom:28px;left:22px;width:58px;height:58px;padding:0;background:var(--ozetta);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;box-shadow:0 6px 18px rgba(0,0,0,.35);z-index:2000;cursor:pointer;transition:transform .3s ease,opacity .3s}
.floating-call-btn:hover{transform:scale(1.1)}
@media (max-width:768px){.floating-call-btn{display:flex}.floating-wa-btn{bottom:20px;right:16px}.floating-call-btn{bottom:20px;left:16px}}
@media (prefers-reduced-motion:reduce){.floating-wa-btn{animation:none}}
.wa-modal,.call-modal{display:none;position:fixed;inset:0;z-index:2100;justify-content:center;align-items:center;padding:1rem;background:rgba(5,5,6,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow-y:auto}
.wa-modal.active,.call-modal.active{display:flex}
.wa-modal-content,.call-modal-content{position:relative;width:100%;max-width:450px;margin:auto;background:var(--grafito);color:var(--hueso);border:1px solid rgba(244,241,236,.14);box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 60px rgba(252,84,45,.1);animation:modalIn .35s var(--ease);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
.wa-modal-content::before,.call-modal-content::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--ozetta)}
@keyframes modalIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.wa-modal-content{padding:1.9rem 1.7rem 1.7rem}
.wa-modal-close{position:absolute;top:.9rem;right:.9rem;width:40px;height:40px;border:1px solid rgba(244,241,236,.2);background:transparent;color:var(--hueso);font-size:1.5rem;line-height:1;cursor:pointer}
.wa-modal-close:hover{border-color:var(--ozetta);color:var(--ozetta)}
.wa-modal-content h2,.call-modal-content h2{font:800 1.7rem/1 var(--f-display);text-transform:uppercase;padding-right:2.6rem}
.wa-modal-content > p{margin:.6rem 0 1.3rem;font-size:.95rem;color:var(--niebla)}
.form-group{margin-bottom:1rem}
.form-group label{display:block;margin-bottom:.4rem;font:600 .72rem/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.form-group input,.form-group select,.form-group textarea{width:100%;font:400 1.02rem var(--f-body);padding:.8rem .9rem;border:1.5px solid rgba(244,241,236,.18);border-radius:0;background:#0F0F11;color:var(--hueso);transition:border-color .2s,box-shadow .2s}
.form-group textarea{min-height:76px;resize:vertical}
.form-group select option{background:#0F0F11;color:var(--hueso)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ozetta);outline:none;box-shadow:0 0 0 3px rgba(252,84,45,.22)}
.form-group.is-invalid label{color:#FF9A85}
.form-group.is-invalid input,.form-group.is-invalid select{border-color:#FF6B4F!important;box-shadow:0 0 0 3px rgba(255,107,79,.2);animation:fieldShake .35s cubic-bezier(.36,.07,.19,.97) both}
.form-error{display:none;font-size:.82rem;color:#FF9A85;margin-top:.35rem}
.form-group.is-invalid .form-error{display:block}
@keyframes fieldShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.btn-wa-submit{width:100%;margin-top:.4rem}
.m-legal{font-size:.82rem;color:var(--acero);margin:.9rem 0 0}
.m-legal a{color:var(--niebla)}
.call-modal-content{padding:2.3rem 1.8rem 1.8rem;text-align:center;max-width:400px}
.call-modal-content h2{padding-right:0}
.call-num{font:800 2.4rem/1 var(--f-display);color:var(--ozetta);margin:.8rem 0 0;letter-spacing:.02em}
.modal-subtitle{color:var(--niebla);font-size:.95rem;margin:.6rem 0 1.6rem}
.call-modal-buttons{display:flex;flex-direction:column;gap:.75rem}
.btn-call-cancel{appearance:none;background:transparent;color:var(--niebla);padding:.85rem;border:1.5px solid rgba(244,241,236,.2);cursor:pointer;font-size:.95rem;transition:all .2s}
.btn-call-cancel:hover{border-color:var(--hueso);color:var(--hueso)}
/* ======= VIDEOS REALES DEL HALCÓN (originales verticales de baja resolución) ======= */
/* Hero de cetrería: el video es el FONDO, con parallax (fondo fijo + clip-path, estándar multimedia-web).
   Celular: el video nítido llena el fondo. Escritorio: texto a la izquierda (como todos los heroes) y el
   video nítido a toda la altura a la derecha, con los bordes fundidos en el mismo video desenfocado
   (el original es vertical y de 464 px). */
.phero--vuelo{clip-path:inset(0)}
.phero--vuelo .phero-media{position:fixed}
.phero-nitido{display:none}
@media (min-width:901px){
.phero--vuelo{min-height:100vh;min-height:100svh}
.phero--vuelo .phero-media > .hero-poster{filter:blur(18px) saturate(1.1);transform:scale(1.12)}
.phero-nitido{display:block;position:absolute;top:-9vh;right:clamp(0px,6vw,140px);height:118vh;aspect-ratio:464/832;-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 13%,#000 70%,transparent 100%);mask-image:linear-gradient(270deg,transparent 0,#000 13%,#000 70%,transparent 100%)}
.phero-nitido .hero-poster,.phero-nitido .hero-video{object-position:50% 50%}
.phero--vuelo .phero-copy{width:min(100%,640px)}
.phero--vuelo .hero-hud{top:calc(var(--hdr) + 1.6rem);bottom:auto;left:auto;right:var(--pad)}
}
@media (max-width:900px){
.phero--vuelo .hero-hud{display:none}
/* el video sube 25svh: el techo y el aterrizaje (mitad del cuadro) quedan en la zona limpia, arriba del título */
.phero--vuelo .phero-media{inset:-25svh 0 auto;height:125svh}
.phero--vuelo .phero-shade{bottom:auto;height:100svh}
.phero--vuelo .phero-media .hero-poster,.phero--vuelo .phero-media .hero-video{object-position:50% 50%}
}
@media (prefers-reduced-motion:reduce){.phero--vuelo .phero-media{position:absolute}}
/* Sección «naves, andenes y techos»: figura vertical con video */
.duo-fig--video{width:100%;max-width:440px;justify-self:center}
.duo-fig__v{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--carbon);clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}
.duo-fig--video .duo-fig__v img,.duo-fig__v video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 40%;clip-path:none}
.duo-fig__v video{opacity:0;transition:opacity 1.2s var(--ease)}
.duo-fig__v video.is-on{opacity:1}
/* Cetrería, sección 02: foto vertical real de la cetrera + los 3 puntos en fila debajo */
.duo-fig--retrato{width:100%;max-width:460px;justify-self:center}
.duo-fig--retrato img{aspect-ratio:4/5;object-position:50% 40%}
.falco-pts--fila{margin-top:clamp(2.6rem,5vw,4rem);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.6rem)}
@media (max-width:900px){.falco-pts--fila{grid-template-columns:1fr}}
/* Cetrería, cierre: foto real del halcón a la derecha, fundida en el carbón; en celular, franja arriba */
.cta-foto{position:absolute;top:0;right:0;bottom:0;z-index:-1;width:min(50vw,780px)}
.cta-foto img{width:100%;height:100%;object-fit:cover;object-position:70% 22%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
.cta-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--carbon) 0,rgba(11,11,12,0) 16%,rgba(11,11,12,0) 74%,var(--carbon) 100%)}
@media (max-width:900px){
.cta--halcon{padding-top:calc(62vw + 1rem)}
.cta-foto{bottom:auto;left:0;width:auto;height:74vw}
.cta-foto img{object-position:72% 18%;-webkit-mask-image:linear-gradient(180deg,#000 52%,transparent 100%);mask-image:linear-gradient(180deg,#000 52%,transparent 100%)}
.cta-foto::after{display:none}
}
/* Tarjeta de servicio con video (cetrería en la home) */
.svc-fig video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease),transform 1.4s var(--ease)}
.svc-fig video.is-on{opacity:1}
.svc:hover .svc-fig video{transform:scale(1.06)}
/* ======= OZETTIN, la mascota — SVG por piezas (fuente-sitio/ozettin/poses.py) ======= */
.oz{display:block;width:100%;height:auto;overflow:visible}
.oz .oz-alas{transform-origin:1010px 1000px}
@media (prefers-reduced-motion:no-preference){
.oz .oz-alas{animation:oz-aleteo 4.6s ease-in-out infinite}
.oz .oz-base{animation:oz-respira 3.8s ease-in-out infinite}
.oz .oz-brillo-m{animation:oz-brillo 6.5s ease-in-out infinite}
/* aleteo rápido: cuando vuela (404, tarjeta de plagas) o se emociona (mouse encima o en los botones del cierre) */
.oz-404 .oz-alas,.oz-tarjeta .oz-alas,.oz-pie:hover .oz-alas,.guar:hover .guar-oz .oz-alas,main:has(.cta .btn:hover) + .oz-borde .oz-alas{animation:oz-aleteo-rapido .15s ease-in-out infinite alternate}
.oz-404 .oz-base,.oz-tarjeta .oz-base{animation:none}
.oz-tarjeta .oz{animation:oz-vuelo 3.2s ease-in-out infinite}
}
/* Plagas: en la tarjeta «¿Otra plaga?» Ozettin vuela buscando la plaga (hace de ícono) */
.pest--cta{padding-top:7.6rem}
.oz-tarjeta{position:absolute;top:1rem;left:1.4rem;width:86px;aspect-ratio:1752/2232;pointer-events:none}
/* Residencial: el Ozettin de la isla «Seguimiento técnico» ya es el animado */
.guar-oz{aspect-ratio:1752/2232}
/* Cotización: al pasar por los botones del cierre, el Ozettin del footer brinca y saca su globo */
main:has(.cta .btn:hover) + .oz-borde .oz-pie.is-in .oz-ventana .oz{transform:translateY(-6%)}
main:has(.cta .btn:hover) + .oz-borde .oz-pie.is-in .oz-globo{opacity:1;visibility:visible;transform:none}
@keyframes oz-aleteo{0%,36%,100%{transform:rotate(0)}4%,12%,20%,28%{transform:rotate(-6deg)}8%,16%,24%,32%{transform:rotate(3deg)}}
@keyframes oz-aleteo-rapido{from{transform:rotate(-6deg)}to{transform:rotate(4deg)}}
@keyframes oz-respira{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes oz-brillo{0%,62%{transform:translateX(0)}82%,100%{transform:translateX(760px)}}
/* Recargado en el borde del footer: sube desde atrás del borde cuando el footer aparece */
.oz-borde{position:relative;height:0;z-index:6}
.oz-pie{position:absolute;bottom:-1px;right:clamp(100px,11vw,220px);width:clamp(170px,16vw,250px);cursor:pointer;-webkit-tap-highlight-color:transparent}
.oz-ventana{overflow:hidden;aspect-ratio:1545/1387}
.oz-ventana .oz{transition:transform .95s cubic-bezier(.34,1.56,.64,1)}
.motion .oz-pie:not(.is-in) .oz-ventana .oz{transform:translateY(104%)}
.oz-globo{position:absolute;right:66%;bottom:74%;width:max-content;max-width:min(230px,58vw);padding:.7rem .95rem;border:2px solid #000;border-radius:16px 16px 4px 16px;background:var(--hueso);color:var(--carbon);font:600 .8rem/1.3 var(--f-body);text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.35);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px) scale(.9);transform-origin:100% 100%;transition:opacity .25s,transform .4s cubic-bezier(.34,1.56,.64,1),visibility .25s}
.oz-globo b{display:block;margin-top:.15rem;font:800 1.05rem/1.05 var(--f-display);text-transform:uppercase;color:var(--ozetta)}
.oz-globo::after{content:"";position:absolute;right:16px;bottom:-9px;width:14px;height:14px;background:var(--hueso);border-right:2px solid #000;border-bottom:2px solid #000;transform:rotate(45deg)}
.oz-pie.is-in .oz-globo.is-on,.oz-pie.is-in:hover .oz-globo,.oz-globo:focus-visible{opacity:1;visibility:visible;transform:none}
/* en celular el cierre deja espacio abajo para que Ozettin y su globo no tapen los botones */
@media (max-width:640px){.cta{padding-bottom:calc(clamp(6rem,13vw,11rem) + 3rem)}.oz-pie{right:12px;width:124px}.oz-globo{right:60%;bottom:72%;font-size:.76rem}}
/* 404: Ozettin volando, buscando la página */
.oz-404{position:relative;margin:0;justify-self:center;width:clamp(200px,30vw,400px)}
.oz-sombra{display:block;width:46%;height:18px;margin:-4px auto 0;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent)}
@media (prefers-reduced-motion:no-preference){
.oz-404 .oz{animation:oz-vuelo 3s ease-in-out infinite}
.oz-sombra{animation:oz-sombra 3s ease-in-out infinite}
}
@keyframes oz-vuelo{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}
@keyframes oz-sombra{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.76);opacity:.5}}
/* Ozettin articulado (cifras, tarjeta «+20 años»): cabeza y brazo propios */
.stat--a .stat-v{position:relative}
.oz-vivo{position:absolute;right:0;bottom:-.1em;width:clamp(90px,8.6vw,126px);aspect-ratio:2022/2232;cursor:pointer;-webkit-tap-highlight-color:transparent}
.oz-vivo-fig{display:block;width:100%;height:100%;transform-origin:50% 100%}
.oz-vivo .oz-cabeza{transform-origin:690px 1000px;transform:translate(var(--oz-hx,0px),var(--oz-hy,0px)) rotate(var(--oz-hr,0deg));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.oz-vivo .oz-brazo{transform-origin:410px 1050px}
.oz-vivo .oz--senala .oz-brazo{transform-origin:400px 1010px}
.oz-vivo-globo{position:absolute;right:80%;top:20%;padding:.38rem .6rem;border:2px solid #000;border-radius:12px 12px 2px 12px;background:var(--ozetta);color:#fff;font:800 .82rem/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateY(6px) scale(.85);transform-origin:100% 100%;transition:opacity .25s,transform .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.oz-vivo.oz-dice .oz-vivo-globo{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
/* llegada volando: entra en diagonal aleteando rápido, se balancea y aterriza (en el contenedor, para que
   el brinco del saludo —que va en el SVG— no la repita) */
.motion .oz-vivo:not(.is-in) .oz-vivo-fig{opacity:0}
.motion .oz-vivo.is-in .oz-vivo-fig{animation:oz-aterriza 1.6s cubic-bezier(.3,.6,.35,1) both}
.motion .oz-vivo.is-in .oz-alas{animation:oz-aleteo-rapido .12s ease-in-out 13 alternate,oz-aleteo 4.6s ease-in-out 1.7s infinite}
.oz-vivo:not(.oz-sigue) .oz-cabeza{animation:oz-mira 7s ease-in-out infinite}
.oz-vivo.oz-saluda .oz-brazo{animation:oz-agita .42s ease-in-out 3}
.oz-vivo .oz--senala .oz-brazo{animation:oz-apunta-solo 5.5s ease-in-out infinite}
.oz-vivo.oz-saluda .oz--senala .oz-brazo{animation:oz-apunta .36s ease-in-out 3}
.oz-vivo.oz-saluda .oz-alas{animation:oz-aleteo-rapido .15s ease-in-out infinite alternate}
.oz-vivo.oz-saluda .oz{animation:oz-brinco .55s cubic-bezier(.3,.7,.4,1) 1}
}
@keyframes oz-aterriza{0%{transform:translate(90%,-160%) rotate(16deg);opacity:0}10%{opacity:1}50%{transform:translate(-8%,6%) rotate(-6deg)}66%{transform:translate(3%,-8%) rotate(3deg)}82%{transform:translate(0,2%) scaleY(.94)}100%{transform:none;opacity:1}}
@keyframes oz-mira{0%,100%{transform:rotate(0)}18%,30%{transform:translate(-30px,6px) rotate(-5deg)}48%{transform:rotate(0)}66%,78%{transform:translate(30px,4px) rotate(3deg)}}
@keyframes oz-agita{0%,100%{transform:rotate(0)}50%{transform:rotate(11deg)}}
/* señalar: el brazo empuja hacia la cifra (abajo a la izquierda) y regresa */
@keyframes oz-apunta{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-34px,22px) rotate(-3deg)}}
@keyframes oz-apunta-solo{0%,16%,100%{transform:translate(0,0) rotate(0)}4%,12%{transform:translate(-28px,18px) rotate(-2deg)}8%{transform:translate(0,0)}}
@keyframes oz-brinco{0%,100%{transform:translateY(0)}35%{transform:translateY(-12%)}70%{transform:translateY(0) scaleY(.96)}}
@media (max-width:900px){.oz-vivo{width:88px}.oz-vivo-globo{display:none}}
/* ===== Ozettin en el resto del sitio: cada página con su gesto (fuente-sitio/ozettin/poses.py) ===== */
.oz-vivo .oz--lupa .oz-brazo{transform-origin:410px 1036px}
.oz-vivo .oz--pulgar .oz-antebrazo{transform-origin:247px 1238px}
.oz-vivo .oz--hola .oz-antebrazo{transform-origin:223px 909px}
@media (prefers-reduced-motion:no-preference){
/* lupa: escanea de lado a lado; al tocarlo, revisa rápido */
.oz-vivo .oz--lupa .oz-brazo{animation:oz-escanea 3.4s ease-in-out infinite}
.oz-vivo.oz-saluda .oz--lupa .oz-brazo{animation:oz-escanea .5s ease-in-out 3}
/* pulgar arriba: lo levanta con energía de vez en cuando */
.oz-vivo .oz--pulgar .oz-antebrazo{animation:oz-pulgar-solo 5.5s ease-in-out infinite}
.oz-vivo.oz-saluda .oz--pulgar .oz-antebrazo{animation:oz-pulgar .4s ease-in-out 3}
/* hola: agita la mano abierta */
.oz-vivo .oz--hola .oz-antebrazo{animation:oz-hola-solo 6s ease-in-out infinite}
.oz-vivo.oz-saluda .oz--hola .oz-antebrazo,.oz-vivo--linea.oz-vuela .oz--hola .oz-antebrazo{animation:oz-hola .26s ease-in-out infinite alternate}
.oz-vivo.oz-saluda .oz--pulgar .oz-brazo,.oz-vivo.oz-saluda .oz--hola .oz-brazo{animation:none}
/* al saludar o volar, aleteo rápido (gana a la regla del aterrizaje) */
.motion .oz-vivo.is-in.oz-saluda .oz-alas,.motion .oz-vivo.oz-vivo--linea.oz-vuela .oz-alas{animation:oz-aleteo-rapido .12s ease-in-out infinite alternate}
/* en vuelo aletea rápido y va inclinado hacia adelante */
.oz-vivo--linea.oz-vuela .oz-vivo-fig{transform:rotate(-8deg)}
}
@keyframes oz-escanea{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}
@keyframes oz-pulgar{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg) translateY(-18px)}}
@keyframes oz-pulgar-solo{0%,14%,100%{transform:rotate(0)}4%,10%{transform:rotate(-14deg) translateY(-18px)}7%{transform:rotate(0)}}
@keyframes oz-hola{from{transform:rotate(-12deg)}to{transform:rotate(14deg)}}
@keyframes oz-hola-solo{0%,22%,100%{transform:rotate(0)}3%,9%,15%{transform:rotate(-12deg)}6%,12%,18%{transform:rotate(14deg)}}
/* Cetrero (cetrería): Ozettin con el halcón en el guante. El halcón voltea la cabeza como ave y abre las
   alas de vez en cuando; al tocarlo, aletea. */
.oz--cetrero .oz-halcon-cabeza{transform-box:fill-box;transform-origin:62% 92%}
.oz--cetrero .oz-halcon-ala{transform-box:fill-box;transform-origin:28% 6%}
@media (prefers-reduced-motion:no-preference){
.oz-vivo .oz--cetrero .oz-halcon-cabeza{animation:hc-mira 5s steps(1,end) infinite}
.oz-vivo .oz--cetrero .oz-halcon-ala{animation:hc-ala 7s ease-in-out infinite}
.oz-vivo.oz-saluda .oz--cetrero .oz-halcon-ala{animation:hc-aletea .16s ease-in-out 8 alternate}
}
@keyframes hc-mira{0%{transform:rotate(0)}22%{transform:rotate(-9deg)}40%{transform:rotate(0)}58%{transform:rotate(7deg) translateY(-3px)}74%{transform:rotate(-3deg)}88%{transform:rotate(0)}}
@keyframes hc-ala{0%,72%,100%{transform:rotate(0)}78%,84%{transform:rotate(-32deg)}81%{transform:rotate(-18deg)}}
@keyframes hc-aletea{from{transform:rotate(-8deg)}to{transform:rotate(-38deg)}}
.oz-vivo--ancho.oz-vivo--nota{width:clamp(140px,11.5vw,172px)}
.nota--oz:has(.oz-vivo--ancho){padding-right:clamp(10.5rem,14vw,12.5rem);margin-top:5.6rem}
@media (max-width:640px){.oz-vivo--ancho.oz-vivo--nota{width:108px}.nota--oz:has(.oz-vivo--ancho){padding-right:1.4rem;margin-top:calc(2.4rem + 96px)}}
/* En las notas: de pie dentro de la nota, a la derecha; el globo sale a su izquierda */
.nota--oz{position:relative;padding-right:clamp(7rem,10vw,8.6rem)}
.oz-vivo--nota{top:auto;right:1rem;bottom:0;width:clamp(84px,7.2vw,104px);aspect-ratio:auto;height:auto}
.oz-vivo--nota .oz-vivo-fig{height:auto}
.oz-vivo--nota .oz-vivo-globo{top:auto;bottom:96%;right:-.4rem;width:max-content;max-width:8.4rem;white-space:normal;text-align:center;line-height:1.08;transform-origin:85% 100%}
@media (max-width:640px){
.nota--oz{padding-right:1.4rem;margin-top:calc(2.4rem + 64px)}
.oz-vivo--nota{bottom:calc(100% - 2px);right:.6rem;width:76px}
.oz-vivo--nota .oz-vivo-globo{display:none}
}
/* En el hilo conductor: va en la punta de la línea (posición que pone el motor de etapas) */
.oz-vivo--linea{position:absolute;left:0;top:0;right:auto;bottom:auto;z-index:3;width:clamp(58px,4.6vw,72px);aspect-ratio:auto;pointer-events:none;
  transform:translate(calc(var(--oz-x,0px) - 50%),calc(var(--oz-y,0px) - 100% - 30px));opacity:0;transition:opacity .3s}
.oz-vivo--linea .oz-vivo-fig{height:auto;transition:transform .3s}
.oz-vivo--linea.oz-listo.oz-vuela,.oz-vivo--linea.oz-listo.oz-llego{opacity:1}
.motion .oz-vivo--linea .oz-vivo-fig,.motion .oz-vivo--linea:not(.is-in) .oz-vivo-fig{animation:none;opacity:1}
.oz-vivo--linea .oz-vivo-globo{top:-6%;right:96%}
@media (max-width:900px){.oz-vivo--linea{width:50px;transform:translate(calc(var(--oz-x,0px) - 50%),calc(var(--oz-y,0px) - 100% - 30px))}.oz-vivo--linea .oz-vivo-globo{display:none}}
/* Celular: sin botón de llamada en el encabezado (ya está el flotante) y sin migas de pan arriba del título
   (las migas siguen en los datos estructurados para Google) */
@media (max-width:900px){.hdr-call{display:none!important}.menu-btn{margin-left:auto}.crumbs{display:none}.phero-in{padding-top:1.2rem}}
/* ======= RAPTOR LIB 18 — TAMBOR DE SERVICIOS (skill tambor-de-servicios, motor sin cambios) =======
   Escena fija: las caras giran sobre el eje X con el scroll. Sin JS o con movimiento reducido = lista.
   Tokens de Ozetta: Saira Condensed 800, Figtree para etiquetas; vive dentro de .wrap (--t-gut:0). */
.tambor{--t-gut:0px;--t-display:var(--f-display);--t-mono:var(--f-body);--t-dim:var(--tx3);--t-texto:var(--tx2);--t-perspectiva:900px;--t-eje:-80px;position:relative;margin-top:clamp(2rem,4vw,3rem);padding:4vh var(--t-gut)}
.tambor__eyebrow{display:flex;align-items:center;gap:.9rem;font:600 .74rem/1.2 var(--t-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ac,var(--ozetta));margin:0 0 3vh}
.tambor__eyebrow::before{content:"";width:46px;height:2px;background:var(--ozetta)}
.tambor__cara+.tambor__cara{margin-top:6vh}
.tambor__titulo{font-family:var(--t-display);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.005em;margin:0;font-size:clamp(52px,10vw,170px);color:var(--c,currentColor)}
.tambor__cara p{max-width:52ch;color:var(--t-texto);margin:2vh 0 0}
.tambor--vivo{padding:0;height:calc(var(--len,320) * 1vh)}
@supports (height:1svh){.tambor--vivo{height:calc(var(--len,320) * 1svh)}}
.tambor--vivo .tambor__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0 var(--t-gut)}
.tambor--vivo .tambor__escenario{position:relative;height:clamp(160px,32vh,340px);perspective:var(--t-perspectiva)}
.tambor--vivo .tambor__cara{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;justify-content:center;transform-origin:50% 50% var(--t-eje);backface-visibility:hidden;opacity:0}
.tambor--vivo .tambor__cara:first-child{opacity:1}
.tambor--largo .tambor__titulo{font-size:clamp(44px,8.4vw,150px)}
.tambor__etiqueta{display:flex;align-items:center;gap:.8rem;font:600 .74rem/1.2 var(--t-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--t-dim);margin:0 0 1.6vh}
.tambor__ic{width:44px;height:44px;flex:none;color:var(--ozetta)}
.tambor--largo .tambor__cara p:last-child{font-size:clamp(15px,1.3vw,19px);line-height:1.6;max-width:46ch}
.tambor--vivo.tambor--largo .tambor__escenario{height:clamp(340px,54vh,560px)}
@media (min-width:901px){
.tambor--largo .tambor__cara{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:5vw;align-content:center}
.tambor--largo .tambor__etiqueta{grid-column:1;align-self:end}
.tambor--largo .tambor__titulo{grid-column:1}
.tambor--largo .tambor__cara>p:last-child{grid-column:2;grid-row:1/span 2;align-self:center;margin:0;padding-left:1.4rem;border-left:3px solid var(--ozetta)}
}
@media (max-width:900px){
.tambor--vivo.tambor--largo .tambor__pin{justify-content:center;padding-top:var(--hdr)}
.tambor--vivo.tambor--largo .tambor__escenario{height:clamp(320px,46svh,420px)}
.tambor--largo .tambor__cara{justify-content:flex-start}
.tambor--largo .tambor__titulo{font-size:clamp(44px,15.5vw,96px)}
.tambor--largo .tambor__cara p:last-child{font-size:16px}
}
/* ======= MOVIMIENTO REDUCIDO: todo estático y completo ======= */
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
