@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#050a12;--bg2:#08111e;--panel:#0d1929;--panel2:#101f33;--text:#f7fbff;--muted:#9db0c8;--blue:#2468ff;--cyan:#26c9ff;--line:rgba(255,255,255,.09);--shadow:0 25px 80px rgba(0,0,0,.45)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:linear-gradient(180deg,#040911,#08111d 55%,#050a12);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}.site-header{height:76px;position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:32px;padding:0 max(5vw,28px);background:rgba(3,8,15,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:10px;min-width:205px}.brand-mark{position:relative;width:34px;height:34px}.brand-mark i{position:absolute;width:13px;height:22px;border-radius:12px 12px 4px 12px;transform:rotate(-42deg);background:linear-gradient(135deg,var(--blue),var(--cyan))}.brand-mark i:nth-child(1){left:1px;top:1px}.brand-mark i:nth-child(2){left:14px;top:9px;background:#8594a7}.brand-mark i:nth-child(3){left:4px;top:18px;width:10px;height:13px;background:#1a65ff}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:1.2rem;letter-spacing:-.03em}.brand-copy em{font-style:normal;color:#2671ff}.brand-copy small{font-size:.43rem;letter-spacing:.12em;color:#a7b5c6;margin-top:4px}.site-header nav{margin:auto;display:flex;gap:30px;font-size:.88rem;font-weight:600;color:#d9e2ec}.site-header nav a{height:76px;display:flex;align-items:center;position:relative}.site-header nav a:hover,.site-header nav a.active{color:white}.site-header nav a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.ai-top{padding:11px 18px;border-radius:24px;background:linear-gradient(90deg,#195cff,#287dff);font-weight:800;white-space:nowrap;box-shadow:0 10px 35px rgba(36,104,255,.28)}.ai-top b{font-size:1.3rem;margin-left:6px}.menu{display:none;background:none;border:0;color:white;font-size:1.5rem}.hero{min-height:620px;position:relative;overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;padding:70px max(7vw,44px);background:radial-gradient(circle at 65% 45%,rgba(21,102,255,.27),transparent 30%),linear-gradient(90deg,#030711 0%,#07121f 46%,#06111f 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,8,17,.98) 0%,rgba(4,10,18,.72) 45%,rgba(3,8,16,.18) 72%,rgba(2,6,12,.6) 100%)}.hero-grid{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(72,150,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(72,150,255,.5) 1px,transparent 1px);background-size:58px 58px;transform:perspective(500px) rotateX(68deg) translateY(55%)}.hero-copy{position:relative;z-index:3;max-width:600px}.eyebrow{margin:0 0 14px;font-size:.73rem;letter-spacing:.19em;font-weight:900;color:#55ddff}.hero h1{font-size:clamp(2.6rem,4.7vw,5rem);line-height:1.02;letter-spacing:-.055em;margin:0}.hero h1 span,.section-heading span,.about h2 span,.guides-panel h2 span,.ai-banner h2 span{color:#2f76ff}.lead{max-width:570px;color:#c4d1df;font-size:1rem;margin:24px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:11px;border:1px solid var(--line);font-weight:800}.btn.primary{background:linear-gradient(90deg,#175dff,#2d83ff);border:0;box-shadow:0 12px 35px rgba(31,105,255,.28)}.btn.secondary{background:rgba(6,15,28,.62)}.hero-dots{position:absolute;left:46%;bottom:-52px;display:flex;gap:10px}.hero-dots i{width:10px;height:10px;border-radius:50%;background:#718095}.hero-dots i.on{background:#176aff}.hero-stage{position:relative;height:500px;z-index:2}.pc-tower{position:absolute;right:4%;top:20px;width:280px;height:410px;border-radius:12px;background:linear-gradient(145deg,#172438,#04080f 70%);border:1px solid #2c415c;box-shadow:var(--shadow)}.pc-tower .glass{position:absolute;inset:18px 18px 18px 55px;border:1px solid rgba(70,155,255,.38);background:linear-gradient(145deg,rgba(22,74,137,.35),rgba(1,8,18,.8));box-shadow:inset 0 0 60px rgba(38,120,255,.12)}.fan{position:absolute;z-index:2;width:86px;height:86px;border-radius:50%;border:8px solid #1b2b3d;box-shadow:0 0 20px #278dff,inset 0 0 18px #278dff}.fan:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#1f6fb8}.fan.one{left:76px;top:50px}.fan.two{left:76px;top:160px}.laptop{position:absolute;left:4%;top:100px;width:370px;filter:drop-shadow(0 35px 25px rgba(0,0,0,.5));transform:rotate(-2deg)}.laptop-screen{height:235px;border:12px solid #111a27;border-radius:14px 14px 5px 5px;background:radial-gradient(circle at 50% 45%,rgba(21,128,255,.65),transparent 18%),linear-gradient(135deg,#021024,#062a61 55%,#071526);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 35px rgba(15,112,255,.5)}.laptop-screen span{font-size:2rem;font-weight:900;letter-spacing:.04em}.laptop-screen small{font-size:.58rem;color:#8bc8ff;letter-spacing:.18em}.laptop-base{height:20px;background:linear-gradient(#7d8995,#1c2530);clip-path:polygon(3% 0,97% 0,100% 100%,0 100%)}.phone{position:absolute;left:49%;top:300px;width:62px;height:128px;border:6px solid #111b27;border-radius:14px;background:linear-gradient(145deg,#1c7cff,#041b45);transform:rotate(-9deg);box-shadow:0 18px 30px rgba(0,0,0,.5)}.controller{position:absolute;right:2%;bottom:12px;width:190px;height:105px;border-radius:65px 65px 45px 45px;background:linear-gradient(145deg,#1855b9,#06152e 60%);box-shadow:inset 0 0 18px #2b7bff,0 20px 35px rgba(0,0,0,.55)}.controller i{position:absolute;width:22px;height:22px;border-radius:50%;background:#15233a;border:2px solid #4778c7;top:35px}.controller i:first-child{right:45px}.controller i:nth-child(2){right:76px;top:58px}.controller b{position:absolute;left:45px;top:31px;font-size:2rem}.section{max-width:1320px;margin:auto;padding:72px 40px}.service-section{padding-top:55px}.section-heading h2{font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.05em;margin:0}.section-heading p{color:var(--muted);margin:.5rem 0 0}.section-heading.center{text-align:center;margin-bottom:32px}.section-heading.split{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.section-heading.split a,.panel-title a{color:#4d87ff;font-weight:700;font-size:.84rem}.service-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-tile{position:relative;min-height:310px;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#172c49,#08111e);border:1px solid var(--line);box-shadow:0 20px 45px rgba(0,0,0,.28)}.service-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(3,8,15,.2) 45%,#050a12 100%)}.service-2{background:linear-gradient(160deg,#09554b,#07131a 58%)}.service-3{background:linear-gradient(160deg,#51208a,#0c0917 60%)}.service-4{background:linear-gradient(160deg,#7a3b0c,#100b08 60%)}.service-art{height:165px;display:grid;place-items:center;position:relative}.service-art span{font-size:4rem;filter:drop-shadow(0 12px 22px rgba(0,0,0,.5));transform:scale(1.15)}.service-info{position:absolute;inset:auto 18px 16px;z-index:2}.service-info h3{font-size:1.2rem;margin:0 0 5px}.service-info p{font-size:.83rem;color:#c3d1de;margin:0;padding-right:30px}.service-info a{position:absolute;right:0;bottom:2px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid white;font-size:1.2rem}.work-section{padding-top:35px}.featured-works{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.featured-card{position:relative;min-height:250px;border-radius:16px;overflow:hidden;background:#0b1625;border:1px solid var(--line)}.before-after{position:absolute;z-index:3;top:10px;left:10px;right:10px;display:flex;justify-content:space-between}.before-after span{font-size:.68rem;padding:4px 8px;border-radius:12px;background:#eef3f8;color:#111;font-weight:800}.work-visual{height:150px;position:relative;background:linear-gradient(135deg,#1e3349,#060a10);overflow:hidden}.work-visual:before{content:"";position:absolute;inset:20px 25px;background:repeating-linear-gradient(90deg,#253e57 0 8px,#111b29 8px 16px);transform:skew(-8deg);box-shadow:0 15px 25px rgba(0,0,0,.4)}.visual-2{background:linear-gradient(135deg,#3b2f2f,#09111a)}.visual-3{background:linear-gradient(135deg,#1d4356,#07101a)}.visual-4{background:linear-gradient(135deg,#322d44,#080b12)}.work-caption{padding:14px}.work-caption small{color:#55a2ff}.work-caption h3{margin:2px 0 4px;font-size:1rem}.work-caption p{margin:0;color:var(--muted);font-size:.78rem}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;padding-top:35px}.social-panel,.guides-panel{background:#0b1727;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 20px 45px rgba(0,0,0,.2)}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h2{margin:0;font-size:1.45rem}.pink{color:#ff3c9b!important}.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.reel{height:210px;border-radius:12px;position:relative;background:linear-gradient(145deg,#514032,#0a1119);overflow:hidden}.r2{background:linear-gradient(145deg,#163e62,#07111b)}.r3{background:linear-gradient(145deg,#464057,#100d16)}.r4{background:linear-gradient(145deg,#0e4f77,#05101c)}.reel:before{content:"";position:absolute;inset:20px;background:radial-gradient(circle,#5e85a5 0 22%,transparent 23%),linear-gradient(145deg,transparent 30%,rgba(255,255,255,.08))}.reel span{position:absolute;bottom:8px;left:8px;font-size:.7rem;font-weight:800}.guide-list{margin-top:10px}.guide-list a{display:grid;grid-template-columns:1fr auto;gap:3px;padding:13px 8px;border-top:1px solid var(--line)}.guide-list b{font-size:.9rem}.guide-list small{color:#4f90ff}.guide-list span{grid-row:1/3;grid-column:2;align-self:center;font-size:1.5rem}.about{padding-top:30px}.about-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;padding:42px;border-radius:22px;background:linear-gradient(145deg,#0e1e32,#091421);border:1px solid var(--line)}.about h2{font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.05em;margin:0 0 16px}.about p:not(.eyebrow){color:var(--muted)}.stats{display:grid;gap:12px}.stats div{padding:18px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:flex;flex-direction:column}.stats strong{font-size:1.15rem}.stats span{color:#8fb6d8;font-size:.8rem}.ai-banner{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:28px;background:radial-gradient(circle at 15% 50%,rgba(43,137,255,.25),transparent 20%),linear-gradient(90deg,#092650,#081832 60%,#071226);border:1px solid rgba(64,139,255,.32);border-radius:18px;margin-top:30px;margin-bottom:70px;padding:26px 34px}.bot-art span{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;font-size:4rem;background:radial-gradient(circle,#d6f2ff,#2879ff 45%,#0a2250 70%);box-shadow:0 0 45px rgba(40,126,255,.4)}.ai-banner p,.ai-banner h2{margin:0}.ai-banner h2{font-size:2rem}.ai-banner small{color:#a9bfd3}.ai-action{text-align:center}.ai-action small{display:block;max-width:300px;margin-top:8px}.whatsapp{position:fixed;right:24px;bottom:24px;z-index:20;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#24d366;color:white;font-size:2rem;font-weight:900;box-shadow:0 14px 35px rgba(0,0,0,.35)}footer{position:relative;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px;padding:45px max(6vw,34px) 70px;border-top:1px solid var(--line);background:#03070d;color:#b6c3d1;font-size:.82rem}footer>div{display:flex;flex-direction:column;gap:8px}footer strong{color:white}.footer-brand p{max-width:280px}.socials{display:flex;gap:10px}.socials i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#101827;color:white;font-style:normal}.copyright{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#6f7d8c}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
/* shared admin/auth */.auth-page,.admin-page{min-height:100vh;background:linear-gradient(145deg,#050a12,#0d1b2d)}.auth-card,.admin-card{background:#0d1a2b;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-card{width:min(440px,calc(100% - 32px));margin:8vh auto;padding:34px}.auth-card h1{font-size:2.4rem;margin:.2rem 0}.auth-card p{color:var(--muted)}form{display:grid;gap:14px}label{display:grid;gap:6px;font-size:.85rem;color:#c7d5e2}input,textarea{width:100%;padding:12px 13px;border-radius:10px;border:1px solid var(--line);background:#08111d;color:white;font:inherit}textarea{min-height:110px;resize:vertical}.flash{padding:12px 14px;border-radius:10px;margin:14px 0}.flash.error{background:#4d1722}.flash.ok{background:#123e30}.back{display:inline-block;margin-top:18px;color:#74baff}.admin-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#050b14}.admin-header>div{display:flex;align-items:center;gap:16px}.admin-header form{display:block}.admin-header button,.admin-list button{background:none;color:#cfe0eb;border:1px solid var(--line);padding:8px 11px;border-radius:8px;cursor:pointer}.admin-main{max-width:1250px;margin:auto;padding:60px 24px}.admin-title{margin-bottom:35px}.admin-title h1{font-size:3rem;margin:0}.admin-title p:last-child{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;margin-bottom:20px}.admin-card{padding:25px}.admin-card h2{margin-top:0}.admin-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-list span{display:flex;flex-direction:column}.admin-list small{color:var(--muted)}
@media(max-width:1100px){.site-header nav{gap:18px}.ai-top{display:none}.hero{grid-template-columns:1fr 1fr}.service-showcase,.featured-works{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.ai-banner{grid-template-columns:120px 1fr}.ai-action{grid-column:1/3}.about-panel{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.site-header{height:68px;padding:0 18px}.site-header nav{position:absolute;top:68px;left:0;right:0;display:none;flex-direction:column;gap:0;background:#050b14;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a{height:48px;padding:0 22px}.site-header nav a.active:after{display:none}.menu{display:block;margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto;padding:70px 24px}.hero-stage{height:350px;transform:scale(.78);transform-origin:top center;margin-bottom:-70px}.hero-dots{display:none}.section{padding:55px 20px}.service-showcase,.featured-works,.reels{grid-template-columns:1fr 1fr}.section-heading.split{align-items:flex-start;gap:10px}.about-panel{padding:28px}.ai-banner{grid-template-columns:1fr;text-align:center}.bot-art{display:grid;place-items:center}.ai-action{grid-column:auto}footer{grid-template-columns:1fr 1fr}.copyright{position:static;grid-column:1/3}.brand{min-width:0}}
@media(max-width:500px){.hero h1{font-size:2.7rem}.hero-stage{transform:scale(.63);margin-left:-45px}.service-showcase,.featured-works,.reels{grid-template-columns:1fr}.service-tile{min-height:265px}.content-grid{padding-left:14px;padding-right:14px}.section-heading.split{display:block}.section-heading.split a{display:inline-block;margin-top:8px}footer{grid-template-columns:1fr}.copyright{grid-column:auto}.admin-title h1{font-size:2.3rem}}

/* 0.2.1 — Hero limpio e identidad real */
.hero{grid-template-columns:1.05fr .95fr;min-height:590px}
.hero-copy{max-width:650px}
.hero-identity{position:relative;z-index:2;min-height:470px;display:grid;place-items:center;isolation:isolate}
.hero-identity:before{content:"";position:absolute;width:min(34vw,470px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(35,120,255,.28),rgba(13,58,126,.12) 45%,transparent 72%);filter:blur(6px);z-index:-2}
.hero-identity:after{content:"";position:absolute;width:min(31vw,420px);aspect-ratio:1;border:1px solid rgba(67,151,255,.17);border-radius:50%;box-shadow:0 0 70px rgba(21,105,255,.12),inset 0 0 50px rgba(41,139,255,.08);z-index:-1}
.hero-identity img{display:block;width:min(28vw,390px);height:auto;object-fit:contain;filter:drop-shadow(0 24px 50px rgba(0,36,100,.65));animation:identityFloat 5.5s ease-in-out infinite}
.identity-glow{position:absolute;width:52%;height:12%;bottom:12%;border-radius:50%;background:rgba(26,104,255,.28);filter:blur(24px);z-index:-1}
.identity-lines{position:absolute;inset:7%;pointer-events:none}
.identity-lines i{position:absolute;width:7px;height:7px;border-radius:50%;background:#38bfff;box-shadow:0 0 16px #247cff}
.identity-lines i:before{content:"";position:absolute;top:3px;width:72px;height:1px;background:linear-gradient(90deg,rgba(41,144,255,.75),transparent)}
.identity-lines i:nth-child(1){left:8%;top:24%}.identity-lines i:nth-child(2){right:10%;top:35%}.identity-lines i:nth-child(2):before,.identity-lines i:nth-child(4):before{right:3px;transform:rotate(180deg)}.identity-lines i:nth-child(3){left:16%;bottom:22%}.identity-lines i:nth-child(4){right:16%;bottom:18%}
@keyframes identityFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Logos sociales vectoriales: sin depender de fuentes externas */
.socials{align-items:center}
.social{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#101827;border:1px solid rgba(255,255,255,.08);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.social:hover{transform:translateY(-3px)}
.social svg{width:20px;height:20px;overflow:visible}
.social svg rect,.social svg circle,.social svg path{fill:none;stroke:#fff;stroke-width:1.8}
.social svg .fill{fill:#fff;stroke:none}.social svg .play{fill:#e62117;stroke:none}
.social.instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);box-shadow:0 8px 24px rgba(225,48,108,.3)}
.social.facebook:hover{background:#1877f2;box-shadow:0 8px 24px rgba(24,119,242,.3)}
.social.youtube:hover{background:#ff0000;box-shadow:0 8px 24px rgba(255,0,0,.25)}
.social.youtube:hover .play{fill:#fff}
.social.tiktok:hover{background:#111;box-shadow:-3px 0 0 #25f4ee,3px 0 0 #fe2c55}

@media(max-width:1100px){.hero{grid-template-columns:1fr 1fr}.hero-identity img{width:min(34vw,340px)}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-bottom:40px}.hero-identity{min-height:290px}.hero-identity img{width:min(68vw,330px)}.hero-identity:before{width:min(78vw,380px)}.hero-identity:after{width:min(70vw,340px)}}

/* 0.3.0 — Hero compacto + imágenes originales de servicios */
.hero{
  display:block;
  min-height:520px;
  padding:88px max(7vw,40px) 72px;
  overflow:hidden;
}
.hero-copy{
  width:min(760px,100%);
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.hero-copy .lead{max-width:680px;margin-left:auto;margin-right:auto}
.hero-copy .actions{justify-content:center}
.hero-copy .hero-dots{justify-content:center}
.hero:before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  left:50%;
  top:40%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(26,99,255,.18),rgba(13,42,90,.08) 42%,transparent 70%);
  filter:blur(10px);
  pointer-events:none;
}
.hero h1{max-width:820px;margin-left:auto;margin-right:auto}

.service-showcase{align-items:stretch}
.service-tile{
  min-height:360px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#0a1422;
}
.service-art{
  position:relative;
  height:190px;
  min-height:190px;
  overflow:hidden;
  background:#07101d;
}
.service-art:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(5,10,18,.88) 100%);
  pointer-events:none;
}
.service-art img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s ease,filter .55s ease;
}
.service-tile:hover .service-art img{transform:scale(1.06);filter:saturate(1.08) contrast(1.04)}
.service-info{position:relative;display:flex;flex:1;flex-direction:column;padding:20px 20px 18px}
.service-info h3{margin:0 0 8px}
.service-info p{margin:0;padding-right:34px}
.service-info>a{position:absolute;right:18px;bottom:18px}

@media(max-width:760px){
  .hero{padding:64px 22px 54px;min-height:auto}
  .hero-copy{text-align:left;margin:0}
  .hero-copy .lead{margin-left:0}
  .hero-copy .actions,.hero-copy .hero-dots{justify-content:flex-start}
  .service-tile{min-height:330px}
  .service-art{height:175px;min-height:175px}
}


/* 0.4.0 — Carrusel principal con banners visuales propios */
.hero-carousel{
  position:relative;
  display:flex;
  align-items:center;
  min-height:560px;
  padding:82px max(8vw,64px) 72px;
  isolation:isolate;
  background:#030812;
}
.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}
.hero-slides{z-index:-4;overflow:hidden}
.hero-slide{
  opacity:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.035);
  transition:opacity .85s ease,transform 5.5s ease;
}
.hero-slide.active{opacity:1;transform:scale(1)}
.hero-shade{
  z-index:-3;
  background:linear-gradient(90deg,rgba(2,7,15,.97) 0%,rgba(3,9,18,.91) 31%,rgba(3,9,18,.55) 58%,rgba(2,7,14,.26) 78%,rgba(2,7,14,.58) 100%),linear-gradient(0deg,rgba(3,8,16,.58),transparent 50%);
}
.hero-carousel:before{display:none}
.hero-carousel .hero-grid{z-index:-2;opacity:.045}
.hero-carousel .hero-copy{
  width:min(690px,70%);
  max-width:690px;
  margin:0;
  text-align:left;
  padding:28px 30px 30px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(4,11,22,.74),rgba(4,12,23,.34));
  border:1px solid rgba(105,168,255,.14);
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(5px);
}
.hero-carousel .hero-copy .lead{margin-left:0;margin-right:0;max-width:590px}
.hero-carousel .hero-copy .actions{justify-content:flex-start}
.hero-carousel h1{margin-left:0;margin-right:0;font-size:clamp(2.8rem,5vw,5.25rem)}
.hero-carousel .hero-dots{
  position:static;
  display:flex;
  justify-content:flex-start;
  gap:9px;
  margin-top:28px;
}
.hero-carousel .hero-dots button{
  width:10px;height:10px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:#718095;transition:width .25s ease,background .25s ease;
}
.hero-carousel .hero-dots button.on{width:28px;border-radius:8px;background:linear-gradient(90deg,#1d68ff,#34c8ff)}
.hero-arrow{
  position:absolute;z-index:6;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  background:rgba(4,12,24,.66);color:white;font-size:2rem;line-height:1;cursor:pointer;
  backdrop-filter:blur(8px);transition:background .2s ease,transform .2s ease;
}
.hero-arrow:hover{background:rgba(28,105,255,.8);transform:translateY(-50%) scale(1.06)}
.hero-arrow.prev{left:22px}.hero-arrow.next{right:22px}
@media(max-width:900px){
  .hero-carousel{min-height:540px;padding:68px 54px}
  .hero-carousel .hero-copy{width:min(720px,100%)}
  .hero-shade{background:linear-gradient(90deg,rgba(2,7,15,.95),rgba(3,9,18,.72) 72%,rgba(2,7,14,.5))}
}
@media(max-width:620px){
  .hero-carousel{min-height:520px;padding:56px 22px 44px}
  .hero-carousel .hero-copy{padding:22px 20px;width:100%}
  .hero-carousel h1{font-size:clamp(2.45rem,13vw,3.45rem)}
  .hero-arrow{width:38px;height:38px;font-size:1.6rem;top:auto;bottom:24px}
  .hero-arrow.prev{left:auto;right:70px}.hero-arrow.next{right:22px}
  .hero-carousel .hero-dots{margin-top:22px}
  .hero-slide{background-position:62% center}
}

/* 0.4.1 — ajuste visual aprobado: hero abierto, servicios en línea e imágenes */
.hero-carousel{min-height:600px;padding:86px max(7vw,72px) 74px}
.hero-carousel .hero-copy{width:min(620px,48%);max-width:620px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.hero-carousel .hero-copy:before{content:"";position:absolute;inset:-80px -140px -80px -90px;z-index:-1;background:radial-gradient(circle at 32% 50%,rgba(2,8,17,.96),rgba(2,8,17,.68) 48%,transparent 74%);pointer-events:none}
.hero-carousel h1{font-size:clamp(3.1rem,5.1vw,5.4rem)}
.hero-shade{background:linear-gradient(90deg,rgba(2,7,15,.98) 0%,rgba(2,7,15,.82) 32%,rgba(2,7,15,.3) 58%,rgba(2,7,15,.16) 78%,rgba(2,7,15,.48) 100%),linear-gradient(0deg,rgba(2,7,15,.65),transparent 46%)}

.service-section{max-width:1480px;padding-top:34px;padding-bottom:34px}
.services-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:stretch}
.service-intro{display:flex;flex-direction:column;justify-content:center}
.service-intro h2,.work-intro h2{font-size:clamp(2rem,3vw,3.1rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 15px}
.service-intro h2 span,.work-intro h2 span{color:#2f76ff}
.service-intro>p:not(.eyebrow),.work-intro>p:not(.eyebrow){color:var(--muted);font-size:.92rem}
.text-link{display:inline-flex;width:max-content;margin-top:10px;color:#41a0ff;font-weight:800;font-size:.84rem;border:1px solid rgba(65,160,255,.28);padding:9px 12px;border-radius:9px}
.service-showcase{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.service-tile{min-height:255px;border-radius:14px;background:#09131f}
.service-art{height:124px;min-height:124px}
.service-info{padding:15px 15px 42px}
.service-info h3{font-size:1rem;line-height:1.22;padding-left:32px}
.service-info p{font-size:.75rem;line-height:1.45;padding-right:0}
.service-icon{position:absolute;left:15px;top:15px;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(40,118,255,.16);color:#54c7ff;font-weight:900}
.service-info>a{right:14px;bottom:12px}

.work-section{max-width:1480px;padding-top:26px;padding-bottom:36px}
.work-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:center}
.work-intro .btn{margin-top:15px;font-size:.82rem;padding:11px 14px}
.featured-works{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.featured-card{min-height:0;border-radius:14px;transition:transform .25s ease,border-color .25s ease}
.featured-card:hover{transform:translateY(-5px);border-color:rgba(64,145,255,.42)}
.work-photo{height:170px;position:relative;overflow:hidden;background:#07101a}
.work-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.featured-card:hover .work-photo img{transform:scale(1.05)}
.work-badge{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:999px;background:rgba(6,17,31,.82);border:1px solid rgba(255,255,255,.12);font-size:.64rem;font-weight:800;backdrop-filter:blur(8px)}
.work-caption{padding:14px 15px 13px}.work-caption h3{font-size:1.02rem}.work-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#57a8ff;font-size:.7rem;font-weight:800}
.trust-strip{max-width:1480px;margin:0 auto 26px;padding:20px 40px;display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(90deg,rgba(10,37,73,.7),rgba(5,15,27,.92));border-top:1px solid rgba(45,129,255,.28);border-bottom:1px solid rgba(45,129,255,.28)}
.trust-strip>div{display:grid;grid-template-columns:32px auto;grid-template-rows:auto auto;column-gap:10px;padding:0 22px;border-right:1px solid var(--line)}.trust-strip>div:last-child{border-right:0}.trust-strip b{grid-row:1/3;font-size:1.7rem;color:#2982ff;align-self:center}.trust-strip strong{font-size:.94rem}.trust-strip span{color:var(--muted);font-size:.72rem}

@media(max-width:1180px){.services-row,.work-layout{grid-template-columns:1fr}.service-intro,.work-intro{max-width:700px}.service-showcase{grid-template-columns:repeat(2,1fr)}.trust-strip{grid-template-columns:repeat(2,1fr);gap:18px}.trust-strip>div{border-right:0}}
@media(max-width:760px){.hero-carousel .hero-copy{width:100%;max-width:100%}.hero-carousel .hero-copy:before{inset:-40px -20px}.services-row,.work-layout{display:block}.service-intro,.work-intro{margin-bottom:24px}.service-showcase,.featured-works{grid-template-columns:1fr}.service-tile{min-height:300px}.service-art{height:170px;min-height:170px}.trust-strip{grid-template-columns:1fr;padding:20px 22px}.trust-strip>div{padding:10px 0}}

/* 0.4.2 — refinamiento premium */
.hero-slide{background-size:cover;background-position:center;image-rendering:auto}
.hero-carousel .hero-copy{width:min(570px,45%);max-width:570px}
.hero-carousel h1{font-size:clamp(2.85rem,4.6vw,4.85rem)}
.service-intro h2{font-size:clamp(1.8rem,2.45vw,2.7rem)}
.services-row{grid-template-columns:215px minmax(0,1fr);gap:24px}
.service-icon{width:30px;height:30px;border:1px solid currentColor;background:rgba(255,255,255,.05);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.service-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-icon-1{color:#40a4ff;background:rgba(33,126,255,.14)}
.service-icon-2{color:#39dfb0;background:rgba(35,206,157,.13)}
.service-icon-3{color:#c378ff;background:rgba(166,78,255,.14)}
.service-icon-4{color:#ffad55;background:rgba(255,143,42,.14)}
.service-info h3{padding-left:38px}
.featured-card{display:block;cursor:pointer}
.featured-card:after{content:'Ver caso completo  →';display:block;padding:0 15px 15px;color:#66adff;font-size:.72rem;font-weight:800;letter-spacing:.02em}
.featured-card:hover{box-shadow:0 24px 55px rgba(0,0,0,.32)}

.about-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;padding:34px;border:1px solid rgba(100,158,230,.18);border-radius:24px;background:radial-gradient(circle at 85% 20%,rgba(44,111,255,.15),transparent 36%),linear-gradient(145deg,#0d1b2d,#07111d);box-shadow:0 30px 80px rgba(0,0,0,.24)}
.about-story{padding:12px}
.about-story h2{max-width:700px;font-size:clamp(2.35rem,4vw,4rem)}
.about-lead{max-width:760px;font-size:1rem;line-height:1.8}
.about-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}
.about-promises>div{min-height:130px;padding:15px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:5px}
.about-promises span{color:#4e9cff;font-size:.7rem;font-weight:900;letter-spacing:.16em}
.about-promises strong{font-size:.92rem}
.about-promises small{color:var(--muted);font-size:.74rem}
.about-trust{padding:26px;border-radius:19px;background:linear-gradient(160deg,rgba(29,74,139,.34),rgba(5,14,25,.84));border:1px solid rgba(77,142,235,.2);display:flex;flex-direction:column;justify-content:center}
.about-signal{position:relative;padding-left:20px;display:flex;flex-direction:column}
.about-signal>span{position:absolute;left:0;top:7px;width:9px;height:9px;border-radius:50%;background:#3ee091;box-shadow:0 0 0 6px rgba(62,224,145,.1)}
.about-signal small{color:var(--muted)}
.about-trust blockquote{margin:30px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1.17rem;line-height:1.65;color:#e8f2ff}
.about-skills{display:flex;flex-wrap:wrap;gap:8px}.about-skills span{padding:7px 10px;border-radius:999px;background:rgba(42,113,221,.13);border:1px solid rgba(74,143,242,.22);color:#a8ccff;font-size:.72rem;font-weight:700}

.whatsapp{width:auto;min-width:58px;padding:0 15px;gap:8px;border:1px solid rgba(255,255,255,.35);font-size:.82rem;font-weight:800}
.whatsapp svg{width:28px;height:28px;fill:white}.whatsapp span{display:block}

.work-detail-page{background:linear-gradient(180deg,#040a13,#081321 60%,#040911)}
.detail-back{margin-left:auto;color:#a9bed5;font-size:.82rem;font-weight:700}.detail-back:hover{color:white}
.detail-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;padding:80px max(7vw,40px)}
.detail-cover{position:absolute;inset:0}.detail-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,14,.98),rgba(3,10,20,.68) 55%,rgba(2,7,14,.35)),linear-gradient(0deg,rgba(3,9,17,.9),transparent 60%)}.detail-cover img{width:100%;height:100%;object-fit:cover}
.detail-heading{position:relative;z-index:2;max-width:780px}.detail-heading h1{font-size:clamp(2.8rem,6vw,5.8rem);line-height:1;letter-spacing:-.055em;margin:0 0 18px}.detail-heading>p:not(.eyebrow){max-width:650px;color:#c4d3e2;font-size:1.04rem}.detail-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.detail-pills span{padding:8px 11px;border-radius:999px;background:rgba(5,16,30,.68);border:1px solid rgba(255,255,255,.13);font-size:.75rem;font-weight:750;backdrop-filter:blur(8px)}
.detail-content{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.detail-main{display:grid;gap:16px}.detail-block{padding:28px;border-radius:18px;background:#0b1727;border:1px solid var(--line)}.detail-block>small,.detail-card>span{color:#5ab8ff;font-size:.68rem;font-weight:900;letter-spacing:.15em}.detail-block h2{margin:7px 0 10px;font-size:1.8rem}.detail-block p{color:var(--muted)}.detail-block ol{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}.detail-block li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid var(--line)}.detail-block li span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(40,111,255,.15);color:#69b6ff;font-size:.72rem;font-weight:900}.detail-block.result{background:linear-gradient(145deg,rgba(12,76,65,.42),#091924);border-color:rgba(49,213,165,.22)}.detail-side{display:grid;gap:12px;position:sticky;top:96px}.detail-card{display:flex;flex-direction:column;gap:7px;padding:19px;border-radius:15px;background:#0b1727;border:1px solid var(--line)}.detail-card strong{font-size:.9rem}.guide-card a{margin-top:7px;color:#59a8ff;font-weight:800;font-size:.78rem}.btn.full{width:100%;text-align:center}.detail-footer{display:flex;justify-content:space-between;padding:24px max(6vw,28px);border-top:1px solid var(--line);background:#03070d}

@media(max-width:1000px){.about-shell,.detail-content{grid-template-columns:1fr}.detail-side{position:static}.about-promises{grid-template-columns:1fr}.hero-carousel .hero-copy{width:min(620px,65%)}.services-row{grid-template-columns:1fr}.service-intro{max-width:560px}}
@media(max-width:700px){.hero-carousel .hero-copy{width:100%}.hero-carousel h1{font-size:clamp(2.5rem,12vw,3.45rem)}.about-shell{padding:20px}.about-story{padding:0}.about-trust{padding:20px}.whatsapp{min-width:56px;width:56px;padding:0}.whatsapp span{display:none}.detail-hero{min-height:480px;padding:60px 22px 42px}.detail-content{padding:38px 18px}.detail-heading h1{font-size:2.8rem}.detail-back{font-size:0}.detail-back:after{content:'← Volver';font-size:.82rem}.detail-footer{flex-direction:column;gap:8px}}

/* 0.4.3 — pulido visual premium */
:root{
  --green:#25d366;
  --violet:#a66cff;
  --orange:#ffad55;
  --teal:#39dfb0;
}

/* Hero: menos recorte agresivo y texto con mejor respiración */
.hero-carousel{min-height:590px;padding-left:max(7vw,56px)}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  transform:scale(1.001);
  filter:saturate(1.04) contrast(1.03);
}
.hero-slide.active{animation:heroBreath 10s ease-out both}
@keyframes heroBreath{from{transform:scale(1.001)}to{transform:scale(1.025)}}
.hero-shade{background:linear-gradient(90deg,rgba(2,7,14,.98) 0%,rgba(3,9,17,.92) 25%,rgba(3,10,19,.62) 47%,rgba(2,7,14,.14) 72%,rgba(2,7,14,.35) 100%)}
.hero-carousel .hero-copy{width:min(540px,42%);max-width:540px}
.hero-carousel h1{font-size:clamp(2.75rem,4.2vw,4.45rem);max-width:530px}
.hero-carousel .lead{max-width:500px;line-height:1.65}

/* Servicios: bloque izquierdo más compacto y tarjetas con aire */
.service-section{max-width:1500px;padding-top:42px;padding-bottom:38px}
.services-row{grid-template-columns:188px minmax(0,1fr);gap:34px;align-items:start}
.service-intro{padding-top:4px}
.service-intro h2{font-size:clamp(1.65rem,2.15vw,2.35rem);line-height:1.05;margin-bottom:18px}
.service-intro>p:not(.eyebrow){font-size:.86rem;line-height:1.7;max-width:180px}
.service-showcase{gap:16px}
.service-tile{min-height:285px;border-radius:17px;background:linear-gradient(180deg,#0d1c2d,#08121e);box-shadow:0 20px 48px rgba(0,0,0,.22);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.service-tile:hover{transform:translateY(-6px);border-color:rgba(80,156,255,.38);box-shadow:0 28px 60px rgba(0,0,0,.32)}
.service-art{height:138px;min-height:138px;overflow:hidden}
.service-art:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(4,10,18,.7))}
.service-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.service-tile:hover .service-art img{transform:scale(1.045);filter:saturate(1.12)}
.service-info{padding:18px 17px 46px}
.service-info h3{font-size:.98rem;line-height:1.25;padding-left:40px;margin-bottom:9px}
.service-info p{font-size:.76rem;line-height:1.52;color:#b8c8d9}
.service-icon{top:17px;left:17px}
.service-info>a{width:30px;height:30px;right:15px;bottom:13px;transition:background .2s ease,transform .2s ease}
.service-info>a:hover{background:#2078ff;transform:translateX(2px)}

/* Acentos de color reutilizables */
.trust-strip>div:nth-child(1) b{color:#40a4ff}
.trust-strip>div:nth-child(2) b{color:var(--teal)}
.trust-strip>div:nth-child(3) b{color:var(--violet)}
.trust-strip>div:nth-child(4) b{color:var(--orange)}
.about-promises>div:nth-child(1) span{color:#40a4ff}
.about-promises>div:nth-child(2) span{color:var(--teal)}
.about-promises>div:nth-child(3) span{color:var(--violet)}
.about-promises>div:nth-child(1){border-top:2px solid rgba(64,164,255,.55)}
.about-promises>div:nth-child(2){border-top:2px solid rgba(57,223,176,.55)}
.about-promises>div:nth-child(3){border-top:2px solid rgba(166,108,255,.55)}

/* WhatsApp oficial: círculo perfecto */
.whatsapp{
  width:60px!important;
  min-width:60px!important;
  height:60px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  right:24px!important;
  bottom:24px!important;
  background:#25d366!important;
  border:2px solid rgba(255,255,255,.9)!important;
  box-shadow:0 14px 38px rgba(37,211,102,.35),0 0 0 0 rgba(37,211,102,.28)!important;
  animation:whatsappPulse 3s ease-out infinite;
}
.whatsapp svg{width:34px!important;height:34px!important;display:block}
.whatsapp span{display:none!important}
.whatsapp:hover{transform:translateY(-4px) scale(1.04)}
@keyframes whatsappPulse{0%,55%{box-shadow:0 14px 38px rgba(37,211,102,.35),0 0 0 0 rgba(37,211,102,.25)}80%{box-shadow:0 14px 38px rgba(37,211,102,.35),0 0 0 13px rgba(37,211,102,0)}100%{box-shadow:0 14px 38px rgba(37,211,102,.35),0 0 0 0 rgba(37,211,102,0)}}

/* Casos: imagen más presente y lectura más clara */
.detail-hero{min-height:560px}
.detail-cover img{filter:saturate(1.08) contrast(1.04)}
.detail-heading{padding-bottom:12px}
.detail-block{box-shadow:0 18px 45px rgba(0,0,0,.16)}
.detail-block:nth-child(1){border-left:3px solid #40a4ff}
.detail-block:nth-child(2){border-left:3px solid var(--violet)}
.detail-block.result{border-left:3px solid var(--teal)}
.detail-card:nth-child(1){border-top:2px solid #40a4ff}
.detail-card:nth-child(2){border-top:2px solid var(--orange)}
.detail-card:nth-child(3){border-top:2px solid var(--violet)}

/* Responsive */
@media(max-width:1180px){
  .services-row{grid-template-columns:1fr;gap:22px}
  .service-intro{max-width:650px;display:grid;grid-template-columns:1fr 1.2fr;column-gap:28px;align-items:end}
  .service-intro .eyebrow,.service-intro h2{grid-column:1}
  .service-intro>p:not(.eyebrow),.service-intro .text-link{grid-column:2}
  .service-intro>p:not(.eyebrow){max-width:none}
}
@media(max-width:760px){
  .hero-carousel{padding-left:24px;min-height:620px}
  .hero-carousel .hero-copy{width:100%;max-width:100%}
  .hero-slide{background-position:62% center}
  .services-row{display:block}
  .service-intro{display:block;margin-bottom:24px}
  .service-intro>p:not(.eyebrow){max-width:100%}
  .service-tile{min-height:305px}
  .service-art{height:165px;min-height:165px}
  .whatsapp{right:16px!important;bottom:16px!important;width:56px!important;min-width:56px!important;height:56px!important}
}
@media(prefers-reduced-motion:reduce){.hero-slide.active,.whatsapp{animation:none!important}}

/* 0.4.4 — refinamiento de experiencia */
/* El carrusel queda listo para recibir imágenes maestras nuevas. Se elimina
   el zoom automático para no acentuar los artefactos de las fuentes actuales. */
.hero-slide,
.hero-slide.active{
  transform:none;
  animation:none;
  filter:saturate(1.02) contrast(1.02);
  background-size:cover;
  background-position:center center;
}

/* Servicios: título completo, separación real y tarjetas proporcionadas. */
.service-section{
  max-width:1540px;
  padding-inline:clamp(28px,4vw,68px);
}
.services-row{
  grid-template-columns:minmax(238px,258px) minmax(0,1fr);
  gap:clamp(42px,4vw,68px);
  align-items:start;
}
.service-intro{
  min-width:0;
  padding-top:8px;
}
.service-intro .eyebrow{
  white-space:nowrap;
  margin-bottom:13px;
}
.service-intro h2{
  max-width:250px;
  font-size:clamp(1.8rem,2.2vw,2.45rem);
  line-height:1.08;
  letter-spacing:-.042em;
  overflow-wrap:normal;
  word-break:normal;
}
.service-intro>p:not(.eyebrow){
  max-width:238px;
  margin-top:18px;
  font-size:.88rem;
  line-height:1.72;
}
.service-intro .text-link{margin-top:18px}
.service-showcase{
  gap:18px;
  align-items:stretch;
}
.service-tile{
  min-width:0;
  min-height:302px;
  display:flex;
  flex-direction:column;
}
.service-art{
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:2 / 1;
  flex:0 0 auto;
  background:#07111d;
}
.service-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.service-info{
  position:relative;
  flex:1;
  padding:21px 18px 52px;
}
.service-info h3{
  min-height:2.5em;
  margin:0 0 12px;
  padding-left:42px;
}
.service-info p{
  margin:0;
  line-height:1.62;
}
.service-icon{top:20px;left:18px}

@media(max-width:1320px) and (min-width:1001px){
  .services-row{grid-template-columns:220px minmax(0,1fr);gap:36px}
  .service-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-intro .eyebrow{white-space:normal}
}
@media(max-width:1000px){
  .services-row{grid-template-columns:1fr;gap:30px}
  .service-intro{
    max-width:none;
    display:grid;
    grid-template-columns:minmax(230px,.75fr) minmax(280px,1fr);
    column-gap:42px;
    align-items:end;
  }
  .service-intro h2{max-width:280px}
  .service-intro>p:not(.eyebrow){max-width:520px;margin-top:0}
  .service-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .service-section{padding-inline:18px}
  .service-intro{display:block}
  .service-intro .eyebrow{white-space:normal}
  .service-intro h2{max-width:360px;font-size:clamp(2rem,10vw,2.75rem)}
  .service-intro>p:not(.eyebrow){max-width:100%;margin-top:16px}
  .service-showcase{grid-template-columns:1fr;gap:18px}
  .service-tile{min-height:0}
  .service-art{height:auto;min-height:0;aspect-ratio:2 / 1}
}
\n\n/* 0.4.5 — navegación visible, tarjetas por categoría y casos principales */\n.hero-arrow{\n  width:54px;\n  height:54px;\n  border:1px solid rgba(66,185,255,.68);\n  background:rgba(4,15,30,.72);\n  color:#71d7ff;\n  font-size:2.35rem;\n  box-shadow:0 0 0 1px rgba(36,104,255,.12),0 14px 38px rgba(0,0,0,.32);\n}\n.hero-arrow:hover{\n  color:white;\n  border-color:#66dcff;\n  background:linear-gradient(145deg,rgba(31,104,255,.9),rgba(22,174,223,.82));\n  box-shadow:0 0 24px rgba(45,166,255,.36),0 16px 38px rgba(0,0,0,.38);\n}\n\n/* El archivo maestro se muestra sin filtros ni zoom adicionales. */\n.hero-slide,.hero-slide.active{\n  filter:none;\n  transform:none;\n  animation:none;\n  background-repeat:no-repeat;\n  background-size:cover;\n  background-position:center center;\n}\n\n/* Las fotos quedan separadas del contenido y con encuadre controlado. */\n.service-art{\n  aspect-ratio:16 / 8.6;\n  border-bottom:1px solid rgba(255,255,255,.08);\n}\n.service-art:after{height:24%;background:linear-gradient(transparent,rgba(4,10,18,.35))}\n.service-art img{transform:none!important;filter:none!important}\n.service-1 .service-art img{object-position:center 48%}\n.service-2 .service-art img{object-position:center 50%}\n.service-3 .service-art img{object-position:center 46%}\n.service-4 .service-art img{object-position:center 48%}\n\n/* Flechas de cada categoría: más visibles, sin competir con el hero. */\n.service-info>a{\n  width:34px;\n  height:34px;\n  font-size:1.35rem;\n  background:rgba(255,255,255,.035);\n  border-color:currentColor;\n  box-shadow:0 8px 22px rgba(0,0,0,.25);\n}\n.service-1 .service-info>a{color:#40a4ff;background:rgba(33,126,255,.11)}\n.service-2 .service-info>a{color:#39dfb0;background:rgba(35,206,157,.10)}\n.service-3 .service-info>a{color:#c378ff;background:rgba(166,78,255,.11)}\n.service-4 .service-info>a{color:#ffad55;background:rgba(255,143,42,.10)}\n.service-info>a:hover{color:white;transform:translateX(3px) scale(1.04)}\n.service-1 .service-info>a:hover{background:#217eff}\n.service-2 .service-info>a:hover{background:#15a982}\n.service-3 .service-info>a:hover{background:#8643df}\n.service-4 .service-info>a:hover{background:#d9781e}\n\n/* Lo que más hacemos */\n.work-layout{grid-template-columns:250px minmax(0,1fr);align-items:start}\n.work-intro h2{font-size:clamp(2rem,3vw,3.05rem)}\n.featured-card{display:flex;flex-direction:column;min-height:340px}\n.work-photo{height:178px;flex:0 0 178px}\n.work-photo img{object-position:center center;transform:none!important}\n.featured-card-1{border-top:2px solid #3bd7a6}\n.featured-card-2{border-top:2px solid #40a4ff}\n.featured-card-3{border-top:2px solid #a96cff}\n.featured-card-1 .work-caption small,.featured-card-1:after{color:#3bd7a6}\n.featured-card-2 .work-caption small,.featured-card-2:after{color:#40a4ff}\n.featured-card-3 .work-caption small,.featured-card-3:after{color:#b67aff}\n.featured-card:after{content:'Ver caso completo  →'}\n\n@media(max-width:760px){\n  .hero-arrow{width:46px;height:46px;font-size:2rem}\n  .service-art{aspect-ratio:16 / 9}\n}\n
/* 0.4.6 — hero limpio y encuadre completo de servicios */
.hero-slide,
.hero-slide.active{
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 48%;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
.hero-arrow{
  width:58px;
  height:58px;
  font-size:2.55rem;
  color:#8fe5ff;
  border-color:rgba(78,192,255,.82);
  background:rgba(3,14,28,.78);
}
.hero-arrow:hover{
  color:#fff;
  border-color:#7ce7ff;
  background:linear-gradient(145deg,rgba(34,111,255,.95),rgba(24,186,224,.86));
}

/* Las fuentes de servicio son 900x450 (2:1): respetar esa proporción evita cortar la foto. */
.service-art{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2 / 1!important;
  background:#07111d;
  overflow:hidden;
}
.service-art img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  display:block;
}
.service-tile:hover .service-art img{
  transform:scale(1.015)!important;
}
.service-art:after{
  height:18%!important;
  background:linear-gradient(transparent,rgba(4,10,18,.2))!important;
}

@media(max-width:620px){
  .hero-arrow{width:48px;height:48px;font-size:2.05rem}
}

/* 0.4.7 — hero por categorías, sin estiramiento y tarjetas sin recortes */
:root{--hero-accent:#40a4ff}
.hero-carousel{
  min-height:clamp(540px,62vw,660px);
  overflow:hidden;
  padding:clamp(58px,7vw,92px) max(7vw,72px) clamp(58px,6vw,78px);
  isolation:isolate;
}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  image-rendering:auto;
  transform:none!important;
  filter:none!important;
  animation:none!important;
}
.hero-slide-computers{background-position:56% center!important}
.hero-slide-phones{background-position:58% center!important}
.hero-slide-web{background-position:60% center!important}
.hero-shade{
  background:linear-gradient(90deg,rgba(2,7,15,.99) 0%,rgba(2,8,16,.93) 26%,rgba(2,8,16,.68) 45%,rgba(2,8,16,.18) 68%,rgba(2,8,16,.14) 100%)!important;
}
.hero-carousel .hero-copy{width:min(590px,47%);max-width:590px}
.hero-carousel h1 span{color:var(--hero-accent);transition:color .25s ease}
.hero-carousel .eyebrow{color:var(--hero-accent);transition:color .25s ease}
.hero-carousel .btn.primary{background:linear-gradient(90deg,var(--hero-accent),#287dff)}
.hero-arrow{
  top:50%;
  width:58px!important;
  height:58px!important;
  border-radius:50%;
  overflow:visible;
  z-index:8;
  font-size:2.35rem!important;
  line-height:1;
  padding:0 0 4px;
  color:#8fe5ff;
  border:1px solid rgba(91,202,255,.82);
  background:rgba(3,14,28,.82);
  box-shadow:0 14px 38px rgba(0,0,0,.34),0 0 22px rgba(41,147,255,.16);
}
.hero-arrow.prev{left:18px!important}
.hero-arrow.next{right:18px!important}
.hero-arrow:hover{color:#fff;border-color:#8cecff;background:linear-gradient(145deg,rgba(35,111,255,.96),rgba(22,184,222,.88))}
.hero-carousel .hero-dots button.on{background:var(--hero-accent)!important}

/* Las tarjetas mantienen la foto completa, y los controles quedan dentro del borde. */
.service-tile{overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:310px!important}
.service-art{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2 / 1!important;
  overflow:hidden!important;
  border-radius:16px 16px 0 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#07111d;
}
.service-art img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
}
.service-1 .service-art img{object-position:center 46%!important}
.service-2 .service-art img{object-position:center 48%!important}
.service-3 .service-art img{object-position:center 49%!important}
.service-4 .service-art img{object-position:center 46%!important}
.service-art:after{display:none!important}
.service-info{
  position:relative!important;
  inset:auto!important;
  flex:1 1 auto!important;
  min-height:142px;
  padding:18px 54px 50px 18px!important;
  overflow:visible!important;
}
.service-icon{top:18px!important;left:18px!important}
.service-info h3{padding-left:40px!important;min-height:0!important;margin:0 0 12px!important}
.service-info p{padding-right:0!important;margin:0!important}
.service-info>a{
  right:14px!important;
  bottom:14px!important;
  width:34px!important;
  height:34px!important;
  box-sizing:border-box;
  overflow:visible!important;
  z-index:4;
}

/* Los trabajos también conservan el encuadre dentro de sus tarjetas. */
.featured-card{overflow:hidden}
.work-photo{overflow:hidden;border-radius:14px 14px 0 0}
.work-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}

html{scroll-padding-top:86px}
#servicio-computadores,#servicio-celulares,#servicio-web{scroll-margin-top:96px}

@media(max-width:1000px){
  .hero-carousel .hero-copy{width:min(650px,68%)}
  .hero-slide-computers,.hero-slide-phones,.hero-slide-web{background-position:64% center!important}
}
@media(max-width:760px){
  .hero-carousel{min-height:620px;padding:54px 22px 82px}
  .hero-carousel .hero-copy{width:100%;max-width:100%}
  .hero-shade{background:linear-gradient(90deg,rgba(2,7,15,.98),rgba(2,8,16,.79) 78%,rgba(2,8,16,.48))!important}
  .hero-slide-computers,.hero-slide-phones,.hero-slide-web{background-position:69% center!important}
  .hero-arrow{top:auto!important;bottom:20px;width:46px!important;height:46px!important;font-size:1.95rem!important}
  .hero-arrow.prev{left:auto!important;right:76px!important}
  .hero-arrow.next{right:20px!important}
  .service-tile{min-height:0!important}
  .service-art{aspect-ratio:2 / 1!important}
  .service-info{min-height:150px}
}

/* 0.5.0 — pulido visual final: imágenes limpias y controles completos */
.service-showcase,
.featured-works{
  overflow:visible!important;
}
.service-tile,
.featured-card{
  contain:paint;
}
.service-art{
  aspect-ratio:2.18 / 1!important;
  overflow:hidden!important;
  border-radius:16px 16px 0 0!important;
}
.service-art img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.service-info{
  padding:18px 58px 54px 18px!important;
}
.service-info>a{
  right:16px!important;
  bottom:16px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-width:1.5px!important;
  transform:none!important;
}
.service-info>a:hover{
  transform:translateX(2px) scale(1.04)!important;
}
.work-photo{
  aspect-ratio:16 / 8.2!important;
  height:auto!important;
  flex:0 0 auto!important;
}
.work-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}
.featured-card{
  min-height:0!important;
}
.hero-arrow{
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  padding:0 0 3px!important;
}
@media(max-width:760px){
  .service-art{aspect-ratio:16 / 7.7!important}
  .service-info{padding-right:58px!important}
  .work-photo{aspect-ratio:16 / 9!important}
}

/* 0.5.1 · Servicio de celulares */
.phone-hero{max-width:1440px;margin:auto;min-height:650px;padding:72px max(6vw,38px);display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}.phone-hero-copy h1{font-size:clamp(3rem,5vw,5.7rem);line-height:.98;letter-spacing:-.06em;margin:14px 0 22px}.phone-hero-copy h1 span{color:#2f76ff}.phone-hero-copy>p:not(.eyebrow){color:#b8c8d9;max-width:650px;font-size:1.04rem}.phone-hero-image{height:500px;border-radius:24px;overflow:hidden;position:relative;border:1px solid rgba(79,151,255,.3);box-shadow:0 30px 80px rgba(0,0,0,.4)}.phone-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,7,15,.88))}.phone-hero-image img{width:100%;height:100%;object-fit:cover}.phone-image-label{position:absolute;z-index:2;left:24px;bottom:22px;display:flex;flex-direction:column}.phone-image-label b{font-size:1.15rem}.phone-image-label span{color:#a8bdd3;font-size:.82rem}.phone-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.phone-trust span{font-size:.75rem;color:#c8d7e7;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}.phone-services{padding-top:38px}.phone-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.phone-service-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0b1625;min-height:410px}.phone-service-photo{height:185px;overflow:hidden;background:#0d1a2a}.phone-service-photo img{width:100%;height:100%;object-fit:cover;transition:.45s}.phone-service-card:hover .phone-service-photo img{transform:scale(1.05)}.phone-service-body{padding:18px}.phone-service-body>span{color:#4d8fff;font-size:.72rem;font-weight:900}.phone-service-body h3{font-size:1.08rem;margin:5px 0 8px}.phone-service-body p{font-size:.8rem;color:var(--muted);min-height:92px}.phone-service-body a{font-size:.8rem;color:#5b9bff;font-weight:800}.phone-process{padding-top:35px}.phone-process .section-heading.split>p{max-width:430px;color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.process-grid>div{padding:25px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#0e1e32,#08111d)}.process-grid b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1768ff}.process-grid h3{margin:18px 0 7px}.process-grid p{color:var(--muted);font-size:.84rem;margin:0}.phone-cta{margin-top:25px;margin-bottom:65px;padding:36px 40px;max-width:1240px;border:1px solid rgba(68,139,255,.3);border-radius:22px;background:radial-gradient(circle at 10% 50%,rgba(36,104,255,.2),transparent 30%),#09182b;display:flex;align-items:center;justify-content:space-between;gap:30px}.phone-cta h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}.phone-cta p:not(.eyebrow){margin:0;color:var(--muted);max-width:760px}.detail-footer{grid-template-columns:1fr 1fr auto;align-items:start}
@media(max-width:1050px){.phone-hero{grid-template-columns:1fr;padding-top:48px}.phone-hero-image{height:430px}.phone-service-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.phone-hero{padding:36px 18px;gap:28px}.phone-hero-image{height:340px}.phone-service-grid{grid-template-columns:1fr}.phone-service-card{min-height:0}.phone-service-body p{min-height:0}.process-grid{grid-template-columns:1fr}.phone-cta{margin:20px 18px 55px;padding:28px 22px;flex-direction:column;align-items:flex-start}.detail-footer{grid-template-columns:1fr}.detail-header nav{display:none}}


/* SERVI.DE 0.6.0 · Página de computadores */
.computer-hero{max-width:1440px;margin:auto;min-height:650px;padding:72px max(6vw,38px);display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}.computer-hero-copy h1{font-size:clamp(3rem,5vw,5.7rem);line-height:.98;letter-spacing:-.06em;margin:14px 0 22px}.computer-hero-copy h1 span{color:#2f76ff}.computer-hero-copy>p:not(.eyebrow){color:#b8c8d9;max-width:660px;font-size:1.04rem}.computer-hero-image{height:500px;border-radius:24px;overflow:hidden;position:relative;border:1px solid rgba(79,151,255,.3);box-shadow:0 30px 80px rgba(0,0,0,.4)}.computer-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(2,7,15,.9))}.computer-hero-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}.computer-image-label{position:absolute;z-index:2;left:24px;bottom:22px;display:flex;flex-direction:column}.computer-image-label b{font-size:1.15rem}.computer-image-label span{color:#a8bdd3;font-size:.82rem}.computer-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.computer-trust span{font-size:.75rem;color:#c8d7e7;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}.computer-services{padding-top:38px}.computer-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.computer-service-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0b1625;min-height:420px;transition:transform .25s ease,border-color .25s ease}.computer-service-card:hover{transform:translateY(-5px);border-color:rgba(80,156,255,.35)}.computer-service-photo{height:185px;overflow:hidden;background:#0d1a2a}.computer-service-photo img{width:100%;height:100%;object-fit:cover;transition:.45s}.computer-service-card:hover .computer-service-photo img{transform:scale(1.05)}.computer-service-body{padding:18px}.computer-service-body>span{color:#4d8fff;font-size:.72rem;font-weight:900}.computer-service-body h3{font-size:1.08rem;margin:5px 0 8px}.computer-service-body p{font-size:.8rem;color:var(--muted);min-height:104px}.computer-service-body a{font-size:.8rem;color:#5b9bff;font-weight:800}.computer-process{padding-top:35px}.computer-process .section-heading.split>p{max-width:440px;color:var(--muted)}.computer-note{margin-top:25px;margin-bottom:12px;padding:34px 38px;max-width:1240px;border:1px solid rgba(51,127,255,.22);border-radius:22px;background:radial-gradient(circle at 92% 30%,rgba(38,119,255,.18),transparent 32%),linear-gradient(145deg,#0b182a,#07111e);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:38px;align-items:center}.computer-note h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 8px}.computer-note p:not(.eyebrow){color:var(--muted);margin:0;max-width:770px}.computer-note-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:300px}.computer-note-tags span{padding:9px 12px;border-radius:999px;border:1px solid rgba(82,151,255,.25);background:rgba(31,105,255,.09);font-size:.76rem;font-weight:800;color:#bcd6ff}.computer-cta{margin-top:25px;margin-bottom:65px;padding:36px 40px;max-width:1240px;border:1px solid rgba(68,139,255,.3);border-radius:22px;background:radial-gradient(circle at 10% 50%,rgba(36,104,255,.2),transparent 30%),#09182b;display:flex;align-items:center;justify-content:space-between;gap:30px}.computer-cta h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}.computer-cta p:not(.eyebrow){margin:0;color:var(--muted);max-width:760px}
@media(max-width:1050px){.computer-hero{grid-template-columns:1fr;padding-top:48px}.computer-hero-image{height:430px}.computer-service-grid{grid-template-columns:repeat(2,1fr)}.computer-note{grid-template-columns:1fr}.computer-note-tags{justify-content:flex-start;max-width:none}}
@media(max-width:700px){.computer-hero{padding:36px 18px;gap:28px}.computer-hero-image{height:340px}.computer-service-grid{grid-template-columns:1fr}.computer-service-card{min-height:0}.computer-service-body p{min-height:0}.computer-note{margin:20px 18px 12px;padding:28px 22px}.computer-cta{margin:20px 18px 55px;padding:28px 22px;flex-direction:column;align-items:flex-start}}

/* SERVI.DE 0.6.1 · Detalle de servicios + guías */
.service-detail-open{border:0;background:none;padding:0;color:#5b9bff;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.service-detail-open:hover{color:#8fc0ff}.service-modal{position:fixed;inset:0;z-index:1000;display:none}.service-modal.open{display:block}.service-modal-backdrop{position:absolute;inset:0;background:rgba(0,5,12,.78);backdrop-filter:blur(8px)}.service-modal-panel{position:absolute;right:0;top:0;width:min(760px,94vw);height:100%;overflow:auto;background:linear-gradient(160deg,#0b1726,#06101c);border-left:1px solid rgba(74,144,255,.3);box-shadow:-30px 0 80px rgba(0,0,0,.5);padding:52px 42px}.service-modal-close{position:fixed;right:22px;top:18px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#101d2d;color:#fff;font-size:1.6rem;cursor:pointer}.service-detail-content{display:none}.service-detail-content.active{display:block}.service-detail-content h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em;margin:8px 0 10px}.service-detail-lead{color:#afc1d5;max-width:650px;margin:0 0 30px}.service-detail-content>h3,.service-detail-columns h3,.service-learn h3{margin:24px 0 12px}.service-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-gallery figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0d1a2a}.service-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.service-gallery figcaption{padding:10px 11px;font-size:.73rem;color:#c8d7e7}.service-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.service-detail-columns>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.service-detail-columns h3{margin-top:0}.service-detail-columns ul{list-style:none;padding:0;margin:0}.service-detail-columns li{color:#afc1d5;font-size:.82rem;padding:7px 0 7px 20px;position:relative}.service-detail-columns li:before{content:'✓';position:absolute;left:0;color:#4d8fff;font-weight:900}.service-learn{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.guide-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.guide-links a{padding:15px;border:1px solid var(--line);border-radius:13px;background:#0b1828;display:flex;flex-direction:column;gap:7px}.guide-links b{font-size:.86rem}.guide-links span{color:#5b9bff;font-size:.72rem}.service-detail-cta{margin-top:24px;padding:20px;border:1px solid rgba(68,139,255,.28);border-radius:16px;background:rgba(29,100,255,.09);display:flex;align-items:center;justify-content:space-between;gap:18px}.service-detail-cta h3{margin:0 0 4px}.service-detail-cta p{margin:0;color:var(--muted);font-size:.8rem}.service-detail-cta .btn{white-space:nowrap}.modal-lock{overflow:hidden}.guide-page{max-width:1080px;margin:auto;padding:80px max(6vw,28px)}.guide-page h1{font-size:clamp(2.7rem,6vw,5.3rem);letter-spacing:-.055em;line-height:1;margin:18px 0}.guide-intro{font-size:1.15rem;line-height:1.75;color:#b7c8da;max-width:850px}.guide-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:42px 0}.guide-points article{padding:25px;border:1px solid var(--line);border-radius:16px;background:#0b1726}.guide-points span{color:#4d8fff;font-weight:900;font-size:.76rem}.guide-points p{color:#c0d0e1;line-height:1.6;margin-bottom:0}.guide-cta{margin-top:55px;padding:32px;border:1px solid rgba(68,139,255,.3);border-radius:20px;background:#09182b;display:flex;justify-content:space-between;align-items:center;gap:25px}.guide-cta h2{margin:0 0 8px}.guide-cta p:not(.eyebrow){color:var(--muted);margin:0;max-width:680px}
@media(max-width:700px){.service-modal-panel{width:100%;padding:58px 18px 30px}.service-gallery{grid-template-columns:1fr 1fr}.service-detail-columns,.guide-links,.guide-points{grid-template-columns:1fr}.service-detail-cta,.guide-cta{flex-direction:column;align-items:flex-start}.service-modal-close{right:14px}.guide-page{padding:48px 18px}.guide-links{gap:8px}}

/* SERVI.DE 0.6.2 — grilla de servicios y detalle central */
@media(min-width:1051px){
  .computer-services{padding-bottom:92px}
  .computer-service-grid{align-items:stretch;gap:16px}
  .computer-service-card{min-height:445px;height:100%;display:flex;flex-direction:column}
  .computer-service-photo{height:178px;flex:0 0 178px}
  .computer-service-body{display:flex;flex-direction:column;flex:1;padding:18px 16px 17px}
  .computer-service-body h3{min-height:52px;display:flex;align-items:flex-start;margin:6px 0 7px;line-height:1.28}
  .computer-service-body p{min-height:0;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55}
  .computer-service-body .service-detail-open{margin-top:auto;padding-top:18px;align-self:flex-start}
  .computer-process{padding-top:64px}
}
.service-modal{align-items:center;justify-content:center;padding:34px}
.service-modal.open{display:flex}
.service-modal-backdrop{background:rgba(0,5,12,.72);backdrop-filter:blur(5px)}
.service-modal-panel{position:relative;right:auto;top:auto;width:min(1120px,92vw);height:auto;max-height:88vh;overflow:auto;background:linear-gradient(160deg,#0b1726,#06101c);border:1px solid rgba(74,144,255,.28);border-radius:22px;box-shadow:0 32px 100px rgba(0,0,0,.65);padding:38px 40px;z-index:2;scrollbar-gutter:stable;animation:servideModalIn .2s ease-out}
.service-modal-close{position:sticky;float:right;right:auto;top:0;margin:-22px -24px 0 12px;width:38px;height:38px;background:#101d2d;box-shadow:0 5px 18px rgba(0,0,0,.35)}
.service-detail-content h2{font-size:clamp(2rem,3.2vw,3.15rem);margin-top:6px}
.service-detail-lead{margin-bottom:24px}
.service-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.service-gallery img{aspect-ratio:16/10}
@keyframes servideModalIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .service-modal{padding:0;align-items:flex-end}
  .service-modal-panel{width:100%;max-width:none;max-height:92vh;border-radius:20px 20px 0 0;padding:48px 18px 28px;border-bottom:0}
  .service-modal-close{margin:-34px -4px 0 10px}
}


/* SERVI.DE 0.6.3 — ficha central + proceso visual explicado */
.service-modal.open{
  display:grid !important;
  place-items:center !important;
  padding:clamp(18px,3vw,42px) !important;
}
.service-modal-panel{
  position:relative !important;
  inset:auto !important;
  width:min(1180px,88vw) !important;
  max-width:1180px !important;
  height:auto !important;
  max-height:86vh !important;
  margin:0 !important;
  padding:38px 42px 42px !important;
  border:1px solid rgba(74,144,255,.32) !important;
  border-radius:24px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  box-shadow:0 34px 110px rgba(0,0,0,.72) !important;
}
.service-modal-close{
  position:sticky !important;
  float:right;
  top:0 !important;
  right:auto !important;
  margin:-20px -24px 0 14px !important;
  z-index:8;
}
.service-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-gallery figure{display:flex;flex-direction:column}
.service-gallery img{aspect-ratio:16/9;min-height:0}
.service-gallery figcaption{padding:13px 14px 15px;display:flex;flex-direction:column;gap:5px;line-height:1.45}
.service-gallery figcaption b{font-size:.82rem;color:#f3f7fc}
.service-gallery figcaption span{font-size:.72rem;color:#9fb3c9}
@media(max-width:700px){
  .service-modal.open{place-items:end center !important;padding:0 !important}
  .service-modal-panel{width:100% !important;max-width:none !important;max-height:92vh !important;border-radius:20px 20px 0 0 !important;padding:48px 18px 28px !important}
  .service-gallery{grid-template-columns:1fr}
}


/* SERVI.DE 0.6.5 — mayor jerarquía al proceso explicado */
.service-process-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin:28px 0 14px;
}
.service-process-heading .eyebrow{margin:0 0 4px}
.service-process-heading h3{
  margin:0;
  font-size:1.18rem;
  letter-spacing:-.02em;
}
.service-process-heading>p{
  margin:0;
  max-width:430px;
  color:#9fb3c9;
  font-size:.82rem;
  line-height:1.55;
  text-align:right;
}
.service-gallery{
  gap:14px;
}
.service-gallery figure{
  border-color:rgba(79,139,218,.28);
  background:linear-gradient(180deg,#0d1a2a,#0b1725);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.service-gallery-photo{
  position:relative;
  overflow:hidden;
}
.service-gallery img{
  aspect-ratio:16/8.2;
  object-fit:cover;
  transition:transform .3s ease;
}
.service-gallery figure:hover img{transform:scale(1.025)}
.service-step-number{
  position:absolute;
  left:12px;
  bottom:10px;
  min-width:34px;
  height:28px;
  padding:0 9px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(4,15,28,.88);
  border:1px solid rgba(65,144,255,.5);
  color:#62b8ff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  backdrop-filter:blur(8px);
}
.service-gallery figcaption{
  padding:15px 15px 17px;
  min-height:108px;
  border-top:1px solid rgba(83,141,211,.18);
  display:flex;
  flex-direction:column;
  gap:7px;
}
.service-gallery figcaption b{
  color:#f4f8fd;
  font-size:.92rem;
  line-height:1.2;
  letter-spacing:-.015em;
}
.service-gallery figcaption span{
  color:#c1d0df;
  font-size:.79rem;
  line-height:1.52;
}
@media(max-width:700px){
  .service-process-heading{display:block;margin-top:24px}
  .service-process-heading>p{text-align:left;margin-top:8px}
  .service-gallery figcaption{min-height:auto}
  .service-gallery img{aspect-ratio:16/9}
}

/* 0.6.6 — lectura visual de tarjetas y detalles */
.service-detail-open{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:7px 10px 7px 7px!important;border:1px solid rgba(78,145,255,.18)!important;border-radius:999px!important;background:rgba(47,118,255,.06)!important;transition:.22s ease}
.service-detail-open:hover{background:rgba(47,118,255,.14)!important;border-color:rgba(91,155,255,.42)!important;transform:translateX(2px)}
.service-detail-open .detail-button-icon{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2f76ff,#42c9ff);color:white;font-size:1rem;line-height:1;font-weight:700;box-shadow:0 5px 16px rgba(47,118,255,.24)}
.service-detail-open b{font-size:1rem;color:#7db4ff;margin-left:1px}
.computer-service-body,.phone-service-body{display:flex;flex-direction:column}
.detail-info-card{position:relative;overflow:hidden;padding:20px!important;background:linear-gradient(145deg,rgba(15,31,49,.95),rgba(8,20,34,.95))!important;border-color:rgba(79,145,224,.25)!important}
.detail-info-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,#2f76ff,#42c9ff,transparent 78%);opacity:.75}
.detail-info-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.detail-info-heading h3{margin:2px 0 0!important;font-size:1.03rem}
.detail-info-heading small{display:block;color:#6ca8ff;font-size:.62rem;font-weight:900;letter-spacing:.12em}
.detail-info-icon{flex:0 0 38px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(47,118,255,.12);border:1px solid rgba(80,154,255,.25);color:#67baff;font-weight:900;font-size:1.05rem}
.detail-info-when .detail-info-icon{background:rgba(65,197,255,.09);color:#67d7ff}
.service-detail-columns li{padding:8px 0 8px 25px!important;border-bottom:1px solid rgba(110,154,205,.08)}
.service-detail-columns li:last-child{border-bottom:0}
.service-detail-columns li:before{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;top:9px;background:rgba(47,118,255,.12);font-size:.66rem}
.service-detail-columns{gap:16px!important;margin-top:18px!important}
@media(max-width:700px){.service-detail-open{margin-top:10px}.detail-info-card{padding:17px!important}}

/* 0.6.7 - jerarquia visual de pasos */
.service-gallery figcaption b{color:#67d7ff!important;font-size:.88rem!important;letter-spacing:.005em;text-shadow:0 0 18px rgba(66,201,255,.08)}
.service-gallery figure:hover figcaption b{color:#9ae9ff!important}

/* 0.8.0 — Celulares: grilla desktop más amplia y alineada */
.phone-services{max-width:1500px!important;padding-left:34px!important;padding-right:34px!important}
.phone-service-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important;align-items:stretch}
.phone-service-card{min-height:470px!important;height:100%;display:flex;flex-direction:column}
.phone-service-photo{height:190px!important;flex:0 0 190px}
.phone-service-body{display:flex!important;flex:1;flex-direction:column;padding:18px 16px 16px!important}
.phone-service-body h3{min-height:52px;margin:6px 0 8px!important;line-height:1.28}
.phone-service-body p{min-height:0!important;margin:0 0 16px;flex:1}
.phone-service-body .service-detail-open{align-self:flex-start;margin-top:auto}
@media(max-width:1180px){.phone-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.phone-service-card{min-height:450px!important}}
@media(max-width:800px){.phone-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.phone-service-grid{grid-template-columns:1fr!important}.phone-service-card{min-height:0!important}.phone-service-body h3{min-height:0}.phone-service-photo{height:210px!important;flex-basis:210px}}

/* 0.8.0 — páginas Consolas / Redes y soporte */
.category-hero{max-width:1440px;margin:auto;min-height:620px;padding:68px max(6vw,38px);display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center}
.category-hero h1{font-size:clamp(3rem,5vw,5.4rem);line-height:.98;letter-spacing:-.055em;margin:14px 0 22px}.category-hero h1 span{color:#2f76ff}.category-hero>div>p:not(.eyebrow){color:#b8c8d9;max-width:660px;font-size:1.04rem}
.category-hero-visual{height:470px;border-radius:24px;overflow:hidden;position:relative;border:1px solid rgba(79,151,255,.3);box-shadow:0 30px 80px rgba(0,0,0,.4)}.category-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(2,7,15,.9))}.category-hero-visual img{width:100%;height:100%;object-fit:cover}.category-hero-label{position:absolute;z-index:2;left:24px;bottom:22px;display:flex;flex-direction:column}.category-hero-label b{font-size:1.15rem}.category-hero-label span{color:#a8bdd3;font-size:.82rem}
.category-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.category-trust span{font-size:.75rem;color:#c8d7e7;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}
.category-services{padding-top:38px;max-width:1420px}.category-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.category-service-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0b1625;min-height:445px;display:flex;flex-direction:column;transition:.25s}.category-service-card:hover{transform:translateY(-5px);border-color:rgba(80,156,255,.35)}.category-service-photo{height:210px;overflow:hidden;background:#0d1a2a;flex:0 0 210px}.category-service-photo img{width:100%;height:100%;object-fit:cover;transition:.45s}.category-service-card:hover .category-service-photo img{transform:scale(1.04)}.category-service-body{padding:18px;display:flex;flex:1;flex-direction:column}.category-service-body>span{color:#4d8fff;font-size:.72rem;font-weight:900}.category-service-body h3{font-size:1.08rem;margin:5px 0 8px}.category-service-body p{font-size:.8rem;color:var(--muted);margin:0 0 16px;flex:1}.category-service-body .service-detail-open{align-self:flex-start;text-decoration:none}
.category-process{padding-top:35px}.category-process .section-heading.split>p{max-width:450px;color:var(--muted)}.category-cta{margin-top:25px;margin-bottom:65px;padding:36px 40px;max-width:1240px;border:1px solid rgba(68,139,255,.3);border-radius:22px;background:radial-gradient(circle at 10% 50%,rgba(36,104,255,.2),transparent 30%),#09182b;display:flex;align-items:center;justify-content:space-between;gap:30px}.category-cta h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}.category-cta p:not(.eyebrow){margin:0;color:var(--muted);max-width:760px}
@media(max-width:1050px){.category-hero{grid-template-columns:1fr;padding-top:48px}.category-hero-visual{height:420px}.category-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.category-hero{padding:36px 18px;gap:28px}.category-hero-visual{height:330px}.category-service-grid{grid-template-columns:1fr}.category-service-card{min-height:0}.category-cta{margin:20px 18px 55px;padding:28px 22px;flex-direction:column;align-items:flex-start}}

/* =========================================================
   FIBRA BLESS 0.1.0 — identidad agua / verano
   ========================================================= */
.fibra-page{--pool:#13c8da;--pool2:#1fa9ef;--deep:#063854;--deep2:#07273b;--aqua:#8eecf3;--foam:#f5fdff;--ink:#082d42;--sand:#fff8ec;background:#f7fcfd;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.fibra-page .site-header{background:rgba(255,255,255,.93);border-bottom:1px solid rgba(5,75,103,.1);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(3,55,80,.06)}
.fibra-page .site-header nav a{color:#17465b}.fibra-page .site-header nav a:hover,.fibra-page .site-header nav a.active{color:#08aebf}.fibra-page .nav-quote{padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#11cad8,#149ce8);color:white!important;box-shadow:0 9px 24px rgba(10,171,202,.22)}
.fibra-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#073c57}.fibra-brand>span:last-child{display:flex;flex-direction:column}.fibra-brand strong{font-size:1.2rem;line-height:1;font-weight:900;letter-spacing:-.035em}.fibra-brand strong em{font-style:normal;color:#10bccc}.fibra-brand small{font-size:.52rem;letter-spacing:.17em;margin-top:5px;font-weight:800;color:#5c8799}.fibra-drop{width:43px;height:43px;display:grid;place-items:center;color:white!important;font-size:.8rem!important;font-weight:900;background:linear-gradient(145deg,#1bd1dc,#0877c7);border-radius:54% 46% 58% 42%/42% 46% 54% 58%;box-shadow:0 9px 20px rgba(16,171,204,.24)}
.fibra-hero{min-height:680px;padding-left:max(7vw,55px);background:#063854}.fibra-hero .hero-slide{background-size:cover;background-position:center}.fibra-hero .hero-shade{background:linear-gradient(90deg,rgba(3,44,65,.92),rgba(4,57,79,.69) 43%,rgba(1,35,54,.17) 72%,rgba(1,35,54,.2))}.fibra-hero .hero-copy{width:min(620px,52%);max-width:620px}.fibra-hero .eyebrow{color:#87eef3}.fibra-hero h1{color:white;font-size:clamp(3rem,5vw,5.4rem);line-height:.98;letter-spacing:-.055em;margin:12px 0 20px}.fibra-hero h1 span{color:#82f0ef}.fibra-hero .lead{color:#e0f6fa;font-size:1.04rem;max-width:570px}.fibra-page .btn.primary{background:linear-gradient(135deg,#13c8d7,#159be8);border:none;box-shadow:0 14px 35px rgba(8,167,201,.25)}.fibra-page .btn.secondary{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.34);color:white}.fibra-page .hero-dots button{background:rgba(255,255,255,.45)}.fibra-page .hero-dots button.on{background:#77eff0}.fibra-page .hero-arrow{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.25);color:white}.summer-pill{position:absolute;right:6vw;bottom:34px;z-index:5;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.9);color:#086f86;font-size:.72rem;font-weight:850;box-shadow:0 12px 30px rgba(3,58,82,.16)}
.fibra-highlight{display:grid;grid-template-columns:repeat(4,1fr);max-width:1240px;margin:-34px auto 0;position:relative;z-index:10;background:white;border-radius:18px;box-shadow:0 22px 60px rgba(4,70,96,.13);overflow:hidden}.fibra-highlight div{padding:22px 24px;border-right:1px solid #e3f1f4}.fibra-highlight div:last-child{border:0}.fibra-highlight strong{display:block;color:#087c95;font-size:.9rem;margin-bottom:5px}.fibra-highlight span{font-size:.72rem;color:#6d8792;line-height:1.4}
.fibra-page .section{max-width:1280px}.fibra-services{padding-top:92px}.fibra-section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:end;margin-bottom:35px}.fibra-page .eyebrow{color:#099db2;font-size:.69rem;font-weight:900;letter-spacing:.16em}.fibra-section-head h2,.works-copy h2,.quote-copy h2{color:#073a54;font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:9px 0}.fibra-section-head h2 span,.works-copy h2 span,.quote-copy h2 span{color:#0bb9ca}.fibra-section-head>p{color:#63818f;line-height:1.7;max-width:540px}
.fibra-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.fibra-service-card{position:relative;display:grid;grid-template-columns:46% 54%;min-height:310px;background:white;border:1px solid #daedf1;border-radius:22px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 17px 45px rgba(5,75,100,.07);transition:.28s}.fibra-service-card:hover{transform:translateY(-5px);box-shadow:0 25px 60px rgba(5,85,110,.13);border-color:#9edfe6}.fibra-service-card .number{position:absolute;z-index:3;top:14px;left:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.91);color:#0799b2;font-size:.7rem;font-weight:900}.service-photo{min-height:100%;background-size:cover;background-position:center}.pool-install{background-image:url('https://www.azoria.ca/craft-assets/general/IMGS_AQUARINO/AQUARINO_TOPAZE_1224_SELDEMER_2559_low.jpg')}.pool-repair{background-image:linear-gradient(rgba(2,72,91,.1),rgba(2,72,91,.1)),url('https://fibco.ca/cdn/shop/products/Kingston.jpg?v=1677776300')}.pool-equipment{background-image:url('https://csuxjmfbwmkxiegfpljm.supabase.co/storage/v1/object/public/blog-images/organization-10791/1772342599247_image.png')}.pool-maintenance{background-image:url('https://kanatapoolworks.com/cdn/shop/files/ChatGPT_Image_Apr_3_2025_at_11_12_20_AM.png?v=1743693189&width=1600')}.service-copy{padding:30px 28px;display:flex;flex-direction:column;justify-content:center}.service-copy small{color:#0da3b6;font-size:.63rem;font-weight:900;letter-spacing:.14em}.service-copy h3{font-size:1.45rem;color:#083b53;margin:8px 0 10px}.service-copy p{color:#6a828d;font-size:.84rem;line-height:1.62}.service-copy b{margin-top:auto;padding-top:18px;color:#078fa8;font-size:.78rem}
.fibra-works{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;padding-top:110px;padding-bottom:100px}.works-copy>p:not(.eyebrow){color:#6b8793;line-height:1.7;margin:17px 0 24px}.fibra-works .btn.secondary{background:#073b55;color:white;border:0}.works-preview{display:grid;grid-template-columns:1fr 1fr;gap:16px}.works-preview article{background:white;border-radius:20px;overflow:hidden;border:1px solid #dceef1;box-shadow:0 17px 45px rgba(5,75,100,.08);padding-bottom:18px}.preview-photo{height:260px;background-size:cover;background-position:center}.preview-one{background-image:url('https://www.azoria.ca/craft-assets/general/IMGS_AQUARINO/AQUARINO_TOPAZE_1224_SELDEMER_2559_low.jpg')}.preview-two{background-image:url('https://fibco.ca/cdn/shop/products/Kingston.jpg?v=1677776300')}.works-preview span,.works-preview strong{display:block;margin-left:18px;margin-right:18px}.works-preview span{margin-top:15px;color:#11a5b9;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.works-preview strong{color:#123f52;margin-top:4px;font-size:.95rem}
.quote-section{padding-top:20px;padding-bottom:105px}.quote-shell{display:grid;grid-template-columns:.83fr 1.17fr;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#073c59,#075c74);box-shadow:0 28px 70px rgba(5,69,94,.18)}.quote-copy{padding:55px;color:white;background:radial-gradient(circle at 10% 10%,rgba(71,229,228,.2),transparent 40%)}.quote-copy .eyebrow{color:#74e9ed}.quote-copy h2{color:white}.quote-copy h2 span{color:#75edf0}.quote-copy>p:not(.eyebrow){color:#c9e7ed;line-height:1.7}.quote-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.quote-points span{font-size:.76rem;color:#e2f8fa}.quote-form{padding:42px;background:white;display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{display:flex;flex-direction:column;gap:7px;font-size:.73rem;font-weight:800;color:#315b6b}.quote-form .wide{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{border:1px solid #cee4e8;border-radius:11px;padding:12px 13px;background:#f9fdfe;color:#163e4e;font:inherit;outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#18b9c9;box-shadow:0 0 0 3px rgba(24,185,201,.1)}.quote-form small{color:#839aa3;font-size:.66rem}.quote-form .btn{cursor:pointer}
.fibra-footer{background:#052b40;color:#dceff3;padding:55px max(6vw,28px) 22px}.footer-top{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:45px;max-width:1280px;margin:auto}.fibra-footer .fibra-brand{color:white}.fibra-footer .fibra-brand small{color:#8db8c5}.footer-brand-fibra p{max-width:340px;color:#87aeb9;font-size:.78rem;line-height:1.7;margin-top:18px}.fibra-footer>div>div:not(.footer-brand-fibra){display:flex;flex-direction:column;gap:9px}.fibra-footer strong{font-size:.82rem;color:white;margin-bottom:5px}.fibra-footer a,.fibra-footer span{color:#8fb6c1;text-decoration:none;font-size:.74rem}.fibra-footer a:hover{color:#76edf0}.footer-bottom{max-width:1280px;margin:42px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between}.footer-bottom b{color:#70e4e9}
.fibra-page .whatsapp{background:linear-gradient(145deg,#13cbd8,#159be7)!important;border-color:white!important}.fibra-page .whatsapp span{display:block!important;font-size:1.35rem}
.service-detail-placeholder{min-height:100vh;background:#f6fcfd;color:#0a3b51}.placeholder-shell{max-width:1050px;margin:auto;padding:130px 28px 70px}.placeholder-shell a{color:#079db3;text-decoration:none;font-weight:800}.placeholder-shell h1{font-size:clamp(2.7rem,6vw,5rem);letter-spacing:-.05em;margin:18px 0;color:#073b55}.placeholder-shell h1 span{color:#10bcca}.placeholder-shell p{max-width:700px;color:#67838e;line-height:1.75}.placeholder-note{margin-top:35px;padding:24px;border-radius:18px;background:white;border:1px solid #d7ebef;box-shadow:0 16px 40px rgba(4,70,94,.07)}
@media(max-width:980px){.fibra-highlight{grid-template-columns:1fr 1fr;margin:-20px 20px 0}.fibra-service-grid,.fibra-works,.quote-shell{grid-template-columns:1fr}.fibra-section-head{grid-template-columns:1fr;gap:12px}.footer-top{grid-template-columns:1fr 1fr}.fibra-hero .hero-copy{width:min(650px,78%)}.quote-form{padding:30px}}
@media(max-width:700px){.fibra-hero{min-height:650px;padding-left:22px;padding-right:22px}.fibra-hero .hero-copy{width:100%}.fibra-hero .hero-shade{background:linear-gradient(90deg,rgba(3,44,65,.9),rgba(4,57,79,.57))}.summer-pill{display:none}.fibra-highlight{grid-template-columns:1fr;margin:0;border-radius:0}.fibra-highlight div{border-right:0;border-bottom:1px solid #e3f1f4}.fibra-service-grid{grid-template-columns:1fr}.fibra-service-card{grid-template-columns:1fr;min-height:0}.service-photo{height:210px}.works-preview{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr}.quote-form .wide{grid-column:auto}.quote-copy{padding:36px 26px}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.fibra-page .site-header nav{background:white}.fibra-page .site-header nav a{color:#17465b}}

/* Fibra Bless 0.2.0 · navegación, vitrina comercial y footer */
.fibra-page .site-header nav a:not(.nav-quote){position:relative;padding:27px 2px 24px;transition:color .25s ease,transform .25s ease}.fibra-page .site-header nav a:not(.nav-quote)::after{content:"";position:absolute;left:50%;bottom:17px;width:0;height:3px;border-radius:10px;background:linear-gradient(90deg,#16cbd7,#159be8);transform:translateX(-50%);transition:width .28s ease;box-shadow:0 3px 12px rgba(16,188,204,.28)}.fibra-page .site-header nav a:not(.nav-quote):hover{transform:translateY(-2px)}.fibra-page .site-header nav a:not(.nav-quote):hover::after,.fibra-page .site-header nav a.active:not(.nav-quote)::after{width:72%}.fibra-page .nav-quote{transition:transform .25s ease,box-shadow .25s ease}.fibra-page .nav-quote:hover{transform:translateY(-2px) scale(1.025);box-shadow:0 14px 30px rgba(10,171,202,.32)}
.about-fibra{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-top:105px!important;padding-bottom:90px!important;overflow:hidden}.about-watermark{position:absolute;right:-10px;top:34px;font-weight:950;font-size:clamp(5rem,11vw,10rem);letter-spacing:-.07em;color:rgba(15,181,199,.045);white-space:nowrap;pointer-events:none}.about-copy h2{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1;letter-spacing:-.05em;color:#073a54;margin:10px 0 22px}.about-copy h2 span{color:#0bb9ca}.about-copy>p:not(.eyebrow){color:#607f8d;max-width:650px;line-height:1.8}.about-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.about-badges span{padding:9px 13px;border-radius:999px;background:#e9f9fa;color:#087f92;font-size:.72rem;font-weight:800;border:1px solid #cceef1}.about-visual{min-height:330px;border-radius:34px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:38px;background:linear-gradient(145deg,#087a9e,#12c9d4 58%,#83e9e5);box-shadow:0 30px 70px rgba(7,123,153,.2)}.about-visual:before,.about-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%}.about-visual:before{width:420px;height:160px;right:-70px;top:25px;transform:rotate(-12deg)}.about-visual:after{width:320px;height:110px;left:-80px;top:105px;transform:rotate(8deg)}.about-ripple{position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.45),transparent 8%),radial-gradient(circle at 82% 25%,transparent 0 13%,rgba(255,255,255,.18) 14% 15%,transparent 16% 24%,rgba(255,255,255,.12) 25% 26%,transparent 27%)}.about-visual strong{position:relative;color:white;font-size:clamp(2rem,3vw,3.2rem);line-height:1;letter-spacing:-.045em}.about-visual em{font-style:normal;color:#d8ffff}
.pool-showcase{background:linear-gradient(180deg,#eaf9fb 0,#f8fdfe 100%);border-top:1px solid #d9f0f2;border-bottom:1px solid #d9f0f2;padding:90px max(5vw,28px)}.pool-showcase-inner{max-width:1280px;margin:auto}.pool-showcase-head{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:end;margin-bottom:38px}.pool-showcase-head h2{color:#073a54;font-size:clamp(2.3rem,4vw,4rem);line-height:1.02;letter-spacing:-.045em;margin:9px 0}.pool-showcase-head h2 span{color:#0bb9ca}.pool-showcase-head>p{color:#63818f;line-height:1.7}.model-one{background-image:url('https://www.azoria.ca/craft-assets/general/IMGS_AQUARINO/AQUARINO_TOPAZE_1224_SELDEMER_2559_low.jpg')}.model-two{background-image:url('https://fibco.ca/cdn/shop/products/Kingston.jpg?v=1677776300')}.model-three{background-image:url('https://csuxjmfbwmkxiegfpljm.supabase.co/storage/v1/object/public/blog-images/organization-10791/1772342599247_image.png')}.model-meta{margin:20px 0 18px;padding:14px 0;border-top:1px solid #e3f0f2;border-bottom:1px solid #e3f0f2;display:flex;justify-content:space-between;gap:12px;align-items:center}.model-meta span{font-size:.68rem;color:#78909a}.model-meta strong{font-size:.72rem;color:#078ba2}.pool-all-link{margin-top:22px;padding:20px 24px;border-radius:18px;background:#073e58;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px}.pool-all-link span{font-size:.82rem;font-weight:900}.pool-all-link b{font-size:.72rem;color:#91eef1}
.fibra-services{padding-top:100px}.fibra-service-card{border:0;box-shadow:0 18px 50px rgba(5,75,100,.1)}.fibra-service-card:after{content:"CONTRATAR SERVICIO";position:absolute;right:17px;top:16px;z-index:3;background:#073e58;color:#dffeff;border-radius:999px;padding:7px 10px;font-size:.53rem;font-weight:950;letter-spacing:.1em}.fibra-service-card:nth-child(2):after{background:#0b92a8}.fibra-service-card:nth-child(3):after{background:#137db6}.fibra-service-card:nth-child(4):after{background:#0d8190}.service-copy{border-left:5px solid #13c4cf}.fibra-service-card:nth-child(2) .service-copy{border-left-color:#19a9bd}.fibra-service-card:nth-child(3) .service-copy{border-left-color:#1788c4}.fibra-service-card:nth-child(4) .service-copy{border-left-color:#0e93a1}.service-copy h3{font-size:1.6rem;line-height:1.08}.service-copy h3 span{display:block;color:#0ba9bb}.service-copy b{display:inline-flex;align-items:center;color:#067f96;font-size:.8rem}.fibra-service-card:hover .service-copy b{color:#0bb8c8}
.fibra-footer{position:relative;padding:72px max(7vw,48px) 24px;overflow:hidden}.footer-wave{position:absolute;left:-5%;right:-5%;top:-32px;height:70px;border-radius:50%;background:#f7fcfd;opacity:.08}.footer-top{gap:70px;max-width:1180px}.footer-column strong{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:10px}.footer-column strong i{font-style:normal;width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(112,228,233,.12);color:#70e4e9}.fibra-footer .footer-column a{position:relative;padding-left:0;transition:.22s}.fibra-footer .footer-column a:hover{padding-left:6px}.footer-brand-fibra p{font-size:.82rem}.footer-bottom{max-width:1180px;margin-top:48px;padding-top:22px}
@media(max-width:980px){.about-fibra,.pool-showcase-head{grid-template-columns:1fr}.footer-top{gap:38px}.fibra-page .site-header nav a:not(.nav-quote){padding:12px 4px}.fibra-page .site-header nav a:not(.nav-quote)::after{bottom:4px}}
@media(max-width:700px){.about-fibra{padding-top:70px!important;gap:30px}.about-visual{min-height:250px}.pool-showcase{padding:65px 20px}.pool-all-link{align-items:flex-start;flex-direction:column}.fibra-footer{padding-left:28px;padding-right:28px}}.pool-status{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}.pool-status span{padding:7px 9px;border-radius:999px;background:#e7f8f1;color:#27825b;font-size:.6rem;font-weight:900;letter-spacing:.02em}.pool-status span+span{background:#e9f6fb;color:#08769f}.pool-actions{display:grid;grid-template-columns:1fr;gap:9px}.pool-btn{min-height:43px;padding:10px 13px;border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.68rem;font-weight:900;line-height:1.25;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.pool-btn:hover{transform:translateY(-2px)}.pool-btn-outline{border:1px solid #a7dfe6;color:#087f95!important;background:#f7fdfe}.pool-btn-outline:hover{background:#eaf9fb}.pool-btn-primary{color:#fff!important;background:linear-gradient(135deg,#0cc4cf,#139fe0);box-shadow:0 10px 24px rgba(14,170,202,.16)}.pool-btn-primary:hover{box-shadow:0 14px 30px rgba(14,170,202,.25)}\n.fibra-footer{padding-left:max(5vw,38px);padding-right:max(5vw,38px)}.fibra-footer .footer-top{width:min(1400px,100%);max-width:none;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(175px,1fr));gap:clamp(34px,5vw,82px);align-items:start}.footer-brand-fibra{padding-right:clamp(12px,2vw,34px);border-right:1px solid rgba(255,255,255,.08)}.footer-column{min-width:0}.fibra-footer .footer-bottom{width:min(1400px,100%);max-width:none}.footer-bottom span:last-child{text-align:right}\n@media(max-width:980px){.fibra-footer .footer-top{grid-template-columns:1fr 1fr;gap:38px}.footer-brand-fibra{border-right:0}.footer-bottom span:last-child{text-align:left}}\n@media(max-width:700px){.fibra-footer .footer-top{grid-template-columns:1fr}}

.fibra-footer{padding:72px max(5vw,36px) 26px}.fibra-footer .footer-top{width:min(1380px,100%);max-width:none;margin:0 auto;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(170px,1fr));gap:clamp(42px,5vw,86px);align-items:start}.footer-brand-fibra{max-width:310px}.footer-brand-fibra p{max-width:300px}.footer-quote-link{display:inline-flex!important;margin-top:18px;padding:10px 14px;border:1px solid rgba(112,228,233,.25);border-radius:999px;color:#70e4e9!important;font-weight:900;transition:.22s}.footer-quote-link:hover{background:rgba(112,228,233,.1);padding-left:14px!important}.footer-column{min-width:0}.footer-contact span{display:flex;flex-direction:column;gap:2px;margin-bottom:5px}.footer-contact span b{color:#dff8fa;font-size:.68rem}.fibra-footer .footer-bottom{width:min(1380px,100%);max-width:none;margin:48px auto 0;padding-top:22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.fibra-footer .footer-bottom span:first-child{grid-column:1/2}.fibra-footer .footer-bottom span:last-child{grid-column:3/4;justify-self:end}
@media(max-width:980px){.fibra-footer .footer-top{grid-template-columns:1fr 1fr;gap:38px 55px}.footer-brand-fibra{max-width:none}.fibra-footer .footer-bottom{grid-template-columns:1fr 1fr}.fibra-footer .footer-bottom span:first-child{grid-column:1}.fibra-footer .footer-bottom span:last-child{grid-column:2;justify-self:end}}
@media(max-width:700px){.fibra-footer .footer-top{grid-template-columns:1fr}.fibra-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start}.fibra-footer .footer-bottom span:last-child{justify-self:auto}}

.fibra-footer{padding:72px max(5vw,36px) 26px}.fibra-footer .footer-top{width:min(1380px,100%);max-width:none;margin:0 auto;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(170px,1fr));gap:clamp(42px,5vw,86px);align-items:start}.footer-brand-fibra{max-width:310px}.footer-brand-fibra p{max-width:300px}.footer-quote-link{display:inline-flex!important;margin-top:18px;padding:10px 14px;border:1px solid rgba(112,228,233,.25);border-radius:999px;color:#70e4e9!important;font-weight:900;transition:.22s}.footer-quote-link:hover{background:rgba(112,228,233,.1);padding-left:14px!important}.footer-column{min-width:0}.footer-contact span{display:flex;flex-direction:column;gap:2px;margin-bottom:5px}.footer-contact span b{color:#dff8fa;font-size:.68rem}.fibra-footer .footer-bottom{width:min(1380px,100%);max-width:none;margin:48px auto 0;padding-top:22px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.fibra-footer .footer-bottom span:first-child{justify-self:start}.fibra-footer .footer-bottom span:last-child{justify-self:end}
@media(max-width:980px){.fibra-footer .footer-top{grid-template-columns:1fr 1fr;gap:38px 55px}.footer-brand-fibra{max-width:none}}
@media(max-width:700px){.fibra-footer .footer-top{grid-template-columns:1fr}.fibra-footer .footer-bottom{display:flex;flex-direction:column;align-items:flex-start}}


/* FIBRA BLESS 0.2.2 — refinamiento comercial, footer y menú móvil */
.pool-showcase{padding-top:82px;padding-bottom:92px}
.pool-showcase-inner{max-width:1320px}
.pool-showcase-head{margin-bottom:42px}

.fibra-footer{padding:76px max(5vw,32px) 24px;background:linear-gradient(135deg,#052b40,#06384d)}
.footer-shell{width:min(1280px,100%);margin:0 auto}
.footer-main{display:grid;grid-template-columns:1.25fr .9fr 1fr;gap:clamp(55px,7vw,110px);align-items:start}
.footer-brand-fibra{max-width:350px;padding-right:0!important;border-right:0!important}
.footer-column{display:flex;flex-direction:column;gap:10px}
.footer-contact{justify-self:end;min-width:230px}
.footer-contact span{margin-bottom:7px!important}
.footer-socials{display:flex!important;flex-direction:row!important;gap:9px!important;margin-top:9px}
.footer-socials span{width:34px;height:34px;border-radius:50%;display:grid!important;place-items:center;background:rgba(112,228,233,.1);border:1px solid rgba(112,228,233,.18);color:#8df1f2;font-weight:900}
.footer-navline{margin-top:48px;padding:19px 0;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.footer-navline nav{display:flex;justify-content:center;gap:clamp(22px,4vw,55px);flex-wrap:wrap}
.footer-navline a{font-weight:800;color:#a9cbd3;font-size:.72rem}
.footer-bottom{width:100%!important;max-width:none!important;margin:0!important;padding:20px 0 0!important;border:0!important;display:flex!important;justify-content:space-between!important;align-items:center}
.footer-bottom span:last-child{text-align:right}

@media(max-width:980px){
  .footer-main{grid-template-columns:1fr 1fr;gap:42px 60px}
  .footer-brand-fibra{grid-column:1/-1;max-width:520px}
  .footer-contact{justify-self:start}
}
@media(max-width:700px){
  .fibra-page .site-header .menu{display:block;color:#073e58!important;background:#e9f8fa;border:1px solid #ccebef;border-radius:11px;width:44px;height:44px;line-height:1;font-size:1.45rem;position:relative;z-index:70}
  .fibra-page .site-header .menu:hover{background:#dff5f7;color:#08aebf!important}
  .pool-showcase-head{gap:12px}
  .footer-main{grid-template-columns:1fr;gap:36px}
  .footer-brand-fibra{grid-column:auto}
  .footer-contact{min-width:0}
  .footer-navline nav{justify-content:flex-start;gap:13px 22px}
  .footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:7px}
  .footer-bottom span:last-child{text-align:left}
}



/* FIBRA BLESS 0.2.3 — footer corregido contra estilos heredados */
.fibra-footer{padding:64px max(5vw,36px) 24px!important;min-height:0!important}
.fibra-footer>.footer-wave{display:block!important;position:absolute!important}
.fibra-footer>.footer-shell{display:block!important;width:min(1320px,100%)!important;max-width:none!important;margin:0 auto!important}
.fibra-footer .footer-shell>.footer-main{display:grid!important;grid-template-columns:minmax(280px,1.35fr) minmax(180px,.85fr) minmax(180px,.85fr) minmax(220px,1fr)!important;gap:clamp(42px,5vw,82px)!important;align-items:start!important;width:100%!important}
.fibra-footer .footer-main>.footer-brand-fibra,.fibra-footer .footer-main>.footer-column{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;min-width:0!important}
.fibra-footer .footer-main>.footer-brand-fibra{max-width:360px!important;padding:0!important;border:0!important}
.fibra-footer .footer-main>.footer-contact{justify-self:stretch!important;min-width:0!important}
.fibra-footer .footer-column strong{min-height:30px;margin:0 0 8px!important}
.fibra-footer .footer-column a{width:auto!important}
.fibra-footer .footer-socials{display:flex!important;flex-direction:row!important;gap:9px!important;margin-top:10px!important}
.fibra-footer .footer-socials span{display:grid!important;place-items:center!important;margin:0!important}
.fibra-footer .footer-shell>.footer-bottom{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;width:100%!important;max-width:none!important;margin:42px 0 0!important;padding:20px 0 0!important;border-top:1px solid rgba(255,255,255,.10)!important}
.fibra-footer .footer-bottom span{margin:0!important}
.fibra-footer .footer-bottom span:last-child{text-align:right!important}
@media(max-width:980px){
 .fibra-footer .footer-shell>.footer-main{grid-template-columns:1fr 1fr!important;gap:38px 55px!important}
 .fibra-footer .footer-main>.footer-brand-fibra{max-width:520px!important}
}
@media(max-width:700px){
 .fibra-footer{padding:52px 26px 22px!important}
 .fibra-footer .footer-shell>.footer-main{grid-template-columns:1fr!important;gap:32px!important}
 .fibra-footer .footer-main>.footer-brand-fibra{max-width:none!important}
 .fibra-footer .footer-shell>.footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;margin-top:34px!important}
 .fibra-footer .footer-bottom span:last-child{text-align:left!important}
}



/* FIBRA BLESS 0.2.4 — footer reconstruido desde la estructura estable de SERVI.DE */
.fibra-footer-v2{
  position:relative;
  display:grid !important;
  grid-template-columns:1.45fr 1fr 1fr 1fr !important;
  gap:clamp(34px,4vw,64px) !important;
  padding:58px max(6vw,42px) 34px !important;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,#052b40 0%,#06384d 100%) !important;
  color:#9fc4ce !important;
  font-size:.78rem;
  min-height:0 !important;
  align-items:start !important;
}
.fibra-footer-v2::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:10px;
  background:linear-gradient(90deg,#12c3cd,#4fe0dc,#159fda);
  opacity:.7;
}
.fibra-footer-v2>div{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:9px !important;
  min-width:0;
}
.fibra-footer-v2 .footer-brand{max-width:340px}
.fibra-footer-v2 .footer-brand p{
  max-width:320px;
  margin:15px 0 6px;
  color:#91b8c2;
  line-height:1.65;
}
.fibra-footer-v2 strong{color:#fff;font-size:.84rem;margin-bottom:6px}
.fibra-footer-v2 a{
  color:#9fc4ce;
  text-decoration:none;
  transition:color .2s ease,transform .2s ease;
}
.fibra-footer-v2>div:not(.footer-brand)>a:hover{
  color:#79edf0;
  transform:translateX(4px);
}
.fibra-footer-v2 span b{color:#dff8fa}
.fibra-footer-v2 .footer-quote-link{
  display:inline-flex;
  width:auto;
  margin-top:10px;
  padding:10px 15px;
  border:1px solid rgba(112,228,233,.28);
  border-radius:999px;
  color:#70e4e9 !important;
  font-weight:900;
}
.fibra-footer-v2 .footer-quote-link:hover{
  background:rgba(112,228,233,.1);
  transform:translateY(-2px);
}
.fibra-footer-v2 .fibra-socials{
  display:flex !important;
  flex-direction:row !important;
  gap:8px !important;
  margin-top:8px;
}
.fibra-footer-v2 .fibra-socials a{
  width:34px;height:34px;
  display:grid !important;
  place-items:center;
  border:1px solid rgba(112,228,233,.2);
  border-radius:50%;
  background:rgba(112,228,233,.08);
  color:#76edf0;
  font-weight:900;
}
.fibra-footer-v2 .copyright{
  grid-column:1/-1 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center;
  width:100%;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);
  color:#88adb7;
  font-size:.7rem;
}
.fibra-footer-v2 .copyright span{color:#88adb7}
.fibra-footer-v2 .copyright b{color:#70e4e9}

@media(max-width:900px){
  .fibra-footer-v2{
    grid-template-columns:1fr 1fr !important;
    gap:34px 52px !important;
  }
  .fibra-footer-v2 .footer-brand{max-width:none}
}
@media(max-width:620px){
  .fibra-footer-v2{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:46px 26px 26px !important;
  }
  .fibra-footer-v2 .copyright{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:7px;
  }
}



/* FIBRA BLESS 0.2.5 — vida visual del footer, sin alterar su estructura */
.fibra-footer-v2 .footer-title{
  display:flex;align-items:center;gap:9px;margin-bottom:8px;color:#fff;font-size:.86rem
}
.fibra-footer-v2 .footer-title-icon{
  width:29px;height:29px;display:grid;place-items:center;border-radius:9px;
  background:linear-gradient(135deg,rgba(20,207,210,.22),rgba(21,157,224,.18));
  border:1px solid rgba(111,235,238,.15);box-shadow:0 7px 18px rgba(0,180,200,.08)
}
.fibra-footer-v2 .footer-title-icon svg{width:15px;height:15px;fill:none;stroke:#78eef0;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fibra-footer-v2 .footer-title:first-child .footer-title-icon svg path:first-child{fill:rgba(120,238,240,.08)}
.fibra-footer-v2 .fibra-socials{gap:10px!important;margin-top:11px}
.fibra-footer-v2 .fibra-socials a{
  width:38px;height:38px;border-radius:12px;display:grid!important;place-items:center;
  border:1px solid rgba(255,255,255,.10);box-shadow:0 8px 22px rgba(0,0,0,.10);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease
}
.fibra-footer-v2 .fibra-socials a:hover{transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.fibra-footer-v2 .fibra-socials svg{width:18px;height:18px}
.fibra-footer-v2 .social-facebook{background:#1877f2!important;color:#fff!important}
.fibra-footer-v2 .social-facebook svg{fill:currentColor}
.fibra-footer-v2 .social-instagram{background:linear-gradient(135deg,#833ab4,#e1306c,#f77737)!important;color:#fff!important}
.fibra-footer-v2 .social-instagram svg{fill:none;stroke:currentColor;stroke-width:1.8}.fibra-footer-v2 .social-instagram .dot{fill:currentColor;stroke:none}
.fibra-footer-v2 .social-whatsapp{background:#25d366!important;color:#fff!important}
.fibra-footer-v2 .social-whatsapp svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fibra-footer-v2 .footer-quote-link{
  gap:8px;background:linear-gradient(135deg,rgba(16,196,207,.14),rgba(21,157,224,.11));
  border-color:rgba(112,228,233,.35);box-shadow:0 10px 25px rgba(0,175,195,.08)
}
.fibra-footer-v2 .footer-quote-link:hover{background:linear-gradient(135deg,#11bdc9,#159fe0);color:#fff!important;box-shadow:0 12px 28px rgba(10,174,201,.20)}
.fibra-footer-v2 .quote-mini-icon{width:18px;height:18px;display:grid;place-items:center}
.fibra-footer-v2 .quote-mini-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fibra-footer-v2 .copyright b{color:#70e4e9;text-shadow:0 0 16px rgba(112,228,233,.15)}



/* FIBRA BLESS 0.2.6 — blindaje de iconos del footer */
.fibra-footer-v2 .footer-title-icon{
  flex:0 0 29px!important;width:29px!important;height:29px!important;min-width:29px!important;max-width:29px!important;min-height:29px!important;max-height:29px!important;
  overflow:hidden!important;
}
.fibra-footer-v2 .footer-title-icon>svg,
.fibra-footer-v2 .quote-mini-icon>svg,
.fibra-footer-v2 .fibra-socials a>svg{
  width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;min-height:16px!important;max-height:16px!important;
  display:block!important;position:static!important;transform:none!important;margin:0!important;padding:0!important;
}
.fibra-footer-v2 .footer-title-icon>svg *{fill:none!important;stroke:#78eef0!important;stroke-width:1.8!important;vector-effect:non-scaling-stroke}
.fibra-footer-v2 .fibra-socials a{overflow:hidden!important;flex:0 0 38px!important}
.fibra-footer-v2 .social-facebook>svg path{fill:#fff!important;stroke:none!important}
.fibra-footer-v2 .social-instagram>svg rect,.fibra-footer-v2 .social-instagram>svg circle{fill:none!important;stroke:#fff!important;stroke-width:1.8!important}
.fibra-footer-v2 .social-instagram>svg .dot{fill:#fff!important;stroke:none!important}
.fibra-footer-v2 .social-whatsapp>svg path,.fibra-footer-v2 .quote-mini-icon>svg path{fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;vector-effect:non-scaling-stroke}


/* ==========================================================
   FIBRA BLESS 0.2.8 — TARJETAS DE PISCINAS REDISEÑADAS
   Jerarquía comercial limpia + una sola fuente de verdad.
   ========================================================== */
.pool-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.pool-model-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d3e8eb;border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(8,74,96,.08);transition:.25s ease}
.pool-model-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(8,74,96,.13);border-color:#9bdde4}
.pool-model-card.featured{border:2px solid #0bb8c7;box-shadow:0 18px 44px rgba(6,155,177,.14)}
.pool-model-image{position:relative;height:220px;flex:0 0 auto;background-size:cover;background-position:center;overflow:hidden}
.pool-model-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(3,40,55,.58))}
.pool-model-image>span{position:absolute;left:20px;bottom:17px;z-index:2;color:#fff;font-size:.66rem;font-weight:950;letter-spacing:.09em;text-shadow:0 2px 10px #0008}
.popular{position:absolute;right:14px;top:14px;z-index:5;padding:8px 12px;border-radius:999px;background:#07556d;color:#fff;font-size:.58rem;font-weight:950;letter-spacing:.05em;box-shadow:0 7px 18px #06394c35}
.pool-model-body{display:flex;flex:1;flex-direction:column;padding:23px 22px 21px}
.pool-card-kicker{margin-bottom:7px;color:#08a8b9;font-size:.59rem;font-weight:950;letter-spacing:.08em}
.pool-model-body h3{margin:0 0 18px;color:#073f57;font-size:1.38rem;line-height:1.12;letter-spacing:-.02em}
.pool-main-size{padding:0 0 17px;border-bottom:1px solid #e3eff1}
.pool-main-size strong{display:block;color:#073f57;font-size:1.55rem;line-height:1;font-weight:900;letter-spacing:-.035em}
.pool-main-size span{display:block;margin-top:7px;color:#78909a;font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.pool-secondary-specs{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #e3eff1}
.pool-secondary-specs div+div{padding-left:16px;border-left:1px solid #e3eff1}
.pool-secondary-specs span{display:block;margin-bottom:5px;color:#78909a;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.pool-secondary-specs strong{display:block;color:#174f63;font-size:.77rem;line-height:1.3}
.pool-included{display:flex;align-items:center;gap:10px;margin:15px 0 18px;padding:11px 12px;border-radius:12px;background:#effaf6}
.pool-included .check{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#d9f4e5;color:#18825a;font-weight:950}
.pool-included div{min-width:0}.pool-included strong{display:block;color:#247655;font-size:.68rem}.pool-included small{display:block;margin-top:2px;color:#66867a;font-size:.58rem;line-height:1.3}
.pool-card-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.pool-hire-btn,.pool-details-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:11px;text-decoration:none;text-align:center;font-weight:900;line-height:1.2;transition:.2s ease}
.pool-hire-btn{gap:8px;padding:11px 15px;background:linear-gradient(135deg,#0ebbc7,#159fdf);color:#fff;font-size:.7rem;box-shadow:0 9px 22px rgba(13,165,198,.16)}
.pool-hire-btn span{font-size:1rem;transition:transform .2s}.pool-hire-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(13,165,198,.25)}.pool-hire-btn:hover span{transform:translateX(3px)}
.pool-details-btn{min-height:34px;padding:7px 10px;color:#178195;font-size:.61rem;background:transparent}.pool-details-btn:hover{color:#07556d;background:#f2fafb}
@media(max-width:980px){.pool-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pool-model-card:last-child{grid-column:1/-1;width:100%;max-width:520px;justify-self:center}}
@media(max-width:640px){.pool-model-grid{grid-template-columns:1fr;gap:18px}.pool-model-card,.pool-model-card:last-child{grid-column:auto;width:100%;max-width:none}.pool-model-image{height:205px}.pool-model-body{padding:20px}.pool-main-size strong{font-size:1.42rem}.pool-secondary-specs{gap:12px}.pool-secondary-specs div+div{padding-left:12px}}



/* ==========================================================
   FIBRA BLESS 0.2.9 — TARJETAS COMERCIALES SIMPLIFICADAS
   ========================================================== */

.pool-showcase{
  scroll-margin-top:92px;
}

.pool-showcase-inner{
  padding-top:34px;
}

.pool-showcase-head{
  padding-top:24px;
}

.pool-model-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.pool-model-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #d4e8ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 42px rgba(8,74,96,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.pool-model-card:hover{
  transform:translateY(-5px);
  border-color:#9bdce3;
  box-shadow:0 24px 56px rgba(8,74,96,.13);
}

.pool-model-card.featured{
  border:2px solid #11b7c6;
}

.pool-model-image{
  position:relative;
  width:100%;
  height:225px;
  overflow:hidden;
  flex:0 0 auto;
  background:#dff4f7;
}

.pool-model-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}

.pool-model-card:hover .pool-model-image img{
  transform:scale(1.03);
}

.pool-model-image::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:38%;
  background:linear-gradient(to top,rgba(3,41,57,.56),transparent);
}

.pool-model-image > small,
.pool-model-image .model-tag{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  margin:0;
  color:#fff;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}

.popular{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  padding:8px 11px;
  border-radius:999px;
  background:#07556d;
  color:#fff;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}

.pool-model-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:24px;
}

.pool-model-body h3{
  margin:0;
  color:#073f56;
  font-size:1.38rem;
  line-height:1.12;
}

.pool-dimensions{
  margin:7px 0 18px;
  color:#0fb2c2;
  font-size:1.02rem;
  font-weight:900;
  letter-spacing:.01em;
}

.pool-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  margin:0 0 15px;
  border:1px solid #deecef;
  border-radius:14px;
  background:#f8fbfc;
}

.pool-fact{
  padding:13px 14px;
}

.pool-fact + .pool-fact{
  border-left:1px solid #deecef;
}

.pool-fact span{
  display:block;
  margin-bottom:4px;
  color:#758f99;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.pool-fact strong{
  display:block;
  color:#073f56;
  font-size:.79rem;
  line-height:1.25;
}

.pool-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 16px;
}

.pool-badges span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:#e8f7ee;
  color:#247d56;
  font-size:.58rem;
  font-weight:900;
  line-height:1;
}

.pool-badges span + span{
  background:#e8f5fb;
  color:#087da0;
}

.pool-card-actions{
  display:grid;
  gap:9px;
  margin-top:auto;
}

.pool-details-btn,
.pool-hire-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  width:100%;
  padding:10px 14px;
  border-radius:11px;
  text-align:center;
  text-decoration:none;
  font-size:.68rem;
  font-weight:950;
  line-height:1.2;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.pool-details-btn{
  border:1px solid #a8dce3;
  background:#fff;
  color:#087d92;
}

.pool-details-btn:hover{
  background:#eefafb;
}

.pool-hire-btn{
  border:0;
  background:linear-gradient(135deg,#10bdc9,#159fdf);
  color:#fff;
  box-shadow:0 10px 24px rgba(13,165,198,.18);
}

.pool-hire-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(13,165,198,.27);
}

@media(max-width:980px){
  .pool-model-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pool-model-card:last-child{
    grid-column:1/-1;
    width:100%;
    max-width:520px;
    justify-self:center;
  }
}

@media(max-width:640px){
  .pool-showcase{
    scroll-margin-top:76px;
  }

  .pool-showcase-inner{
    padding-top:22px;
  }

  .pool-showcase-head{
    padding-top:18px;
  }

  .pool-model-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .pool-model-card,
  .pool-model-card:last-child{
    grid-column:auto;
    width:100%;
    max-width:none;
  }

  .pool-model-image{
    height:205px;
  }

  .pool-model-body{
    padding:20px;
  }

  .pool-model-body h3{
    font-size:1.24rem;
  }

  .pool-dimensions{
    font-size:.96rem;
  }
}



/* ==========================================================
   FIBRA BLESS 0.3.0 — FOTOGRAFÍA REAL DEL CLIENTE
   ========================================================== */

/* Hero */
.hero-real-1{
  background-image:
    linear-gradient(90deg,rgba(1,28,43,.72) 0%,rgba(1,28,43,.38) 44%,rgba(1,28,43,.08) 72%),
    url("../images/fibra/hero-piscina.jpg") !important;
}
.hero-real-2{
  background-image:
    linear-gradient(90deg,rgba(1,28,43,.70) 0%,rgba(1,28,43,.32) 48%,rgba(1,28,43,.08) 75%),
    url("../images/fibra/hero-instalacion.jpg") !important;
}
.hero-real-3{
  background-image:
    linear-gradient(90deg,rgba(1,28,43,.74) 0%,rgba(1,28,43,.38) 48%,rgba(1,28,43,.10) 75%),
    url("../images/fibra/hero-equipos.jpg") !important;
}
.hero-slide{background-size:cover!important;background-position:center!important}

/* Modelos: fotos reales, usadas como referencia visual */
.model-one{
  background-image:linear-gradient(to top,rgba(2,45,61,.38),rgba(2,45,61,.02) 45%),url("../images/fibra/modelo-6.jpg")!important;
}
.model-two{
  background-image:linear-gradient(to top,rgba(2,45,61,.38),rgba(2,45,61,.02) 45%),url("../images/fibra/modelo-7.jpg")!important;
}
.model-three{
  background-image:linear-gradient(to top,rgba(2,45,61,.38),rgba(2,45,61,.02) 45%),url("../images/fibra/modelo-740.jpg")!important;
}
.pool-model-image{
  background-size:cover!important;
  background-position:center!important;
}
.real-photo-badge{
  position:absolute!important;
  top:13px!important;
  left:14px!important;
  bottom:auto!important;
  z-index:5!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.90)!important;
  color:#075069!important;
  font-size:.52rem!important;
  font-weight:950!important;
  letter-spacing:.07em!important;
  text-shadow:none!important;
  box-shadow:0 5px 16px rgba(0,0,0,.10)!important;
}

/* Servicios */
.pool-install{
  background-image:linear-gradient(rgba(2,58,75,.10),rgba(2,58,75,.18)),url("../images/fibra/servicio-instalacion.jpg")!important;
}
.pool-repair{
  background-image:linear-gradient(rgba(2,58,75,.08),rgba(2,58,75,.18)),url("../images/fibra/servicio-reparacion.jpg")!important;
}
.pool-equipment{
  background-image:linear-gradient(rgba(2,58,75,.06),rgba(2,58,75,.18)),url("../images/fibra/servicio-equipos.jpg")!important;
}
.pool-maintenance{
  background-image:linear-gradient(rgba(2,58,75,.02),rgba(2,58,75,.16)),url("../images/fibra/servicio-mantencion.jpg")!important;
}
.service-photo{
  background-size:cover!important;
  background-position:center!important;
}

/* Trabajos */
.preview-one{
  background-image:linear-gradient(to top,rgba(1,42,57,.28),rgba(1,42,57,.02)),url("../images/fibra/trabajo-terminado.jpg")!important;
}
.preview-two{
  background-image:linear-gradient(to top,rgba(1,42,57,.28),rgba(1,42,57,.02)),url("../images/fibra/trabajo-reparacion.jpg")!important;
}
.preview-photo{background-size:cover!important;background-position:center!important}

/* Quienes somos: fotografía real de apoyo */
.about-visual{
  background-image:
    linear-gradient(135deg,rgba(3,51,70,.55),rgba(8,166,185,.18)),
    url("../images/fibra/about-piscina.jpg")!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Más fuerza visual sin sobreprocesar las fotos */
.pool-model-image,
.service-photo,
.preview-photo,
.about-visual{
  filter:saturate(1.05) contrast(1.02);
}

@media(max-width:640px){
  .hero-slide{background-position:center!important}
  .real-photo-badge{top:10px!important;left:10px!important}
}


/* FIBRA BLESS 0.3.1 — logo oficial + páginas internas */
.official-brand{display:flex!important;align-items:center!important;min-width:190px}
.official-brand img{display:block;width:190px!important;height:58px!important;object-fit:contain!important;object-position:left center!important}
.footer-official-brand img{width:205px!important;height:72px!important;filter:none!important}
.inner-fibra-page{background:#f5fbfc;color:#083f56}
.inner-fibra-page .site-header{justify-content:space-between}
.inner-back{font-weight:850;color:#087d92;text-decoration:none}
.services-page,.install-page{padding-top:88px}
.services-page-hero{max-width:1180px;margin:0 auto;padding:78px 34px 38px}.services-page-hero h1,.install-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:.98;margin:8px 0 18px;color:#073f56}.services-page-hero h1 span,.install-hero h1 span,.install-head h2 span{color:#10b8c7}.services-page-hero p{max-width:700px;color:#607f8b;font-size:1.05rem}
.services-page-grid{max-width:1180px;margin:0 auto;padding:10px 34px 90px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.big-service{min-height:310px;border-radius:26px;overflow:hidden;position:relative;padding:30px;text-decoration:none;color:white;display:flex;align-items:flex-end;background-size:cover;background-position:center;box-shadow:0 18px 44px rgba(5,69,92,.14)}.big-service:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,37,53,.88),rgba(2,37,53,.12))}.big-service>span,.big-service>div{position:relative;z-index:1}.big-service>span{position:absolute;top:22px;left:22px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#08aabc;font-weight:950}.big-service small{color:#74edf0;font-weight:900}.big-service h2{font-size:1.65rem;margin:6px 0 8px}.big-service p{max-width:430px;color:#d5ebef}.big-service b{display:block;margin-top:16px}.big-install{background-image:url("../images/fibra/servicio-instalacion.jpg")}.big-repair{background-image:url("../images/fibra/servicio-reparacion.jpg")}.big-equipment{background-image:url("../images/fibra/servicio-equipos.jpg")}.big-maintenance{background-image:url("../images/fibra/servicio-mantencion.jpg")}
.install-hero{max-width:1260px;margin:0 auto;padding:70px 34px 45px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.install-hero p{max-width:650px;color:#607f8b;font-size:1.02rem;line-height:1.7}.install-note{margin-top:20px;padding:15px 18px;border-left:4px solid #11b7c6;background:#eaf8f9;border-radius:12px;color:#174e60}.install-hero-photo{min-height:430px;border-radius:28px;background:url("../images/fibra/hero-instalacion.jpg") center/cover;box-shadow:0 24px 60px rgba(6,74,98,.18)}
.install-process{max-width:1192px;margin:0 auto 70px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 34px}.install-process div{padding:20px;border-radius:16px;background:white;border:1px solid #d7e9ec}.install-process b{display:block;color:#0db7c6;font-size:1.4rem}.install-process span{font-weight:850;color:#174e60}
.install-prices,.stock-section{max-width:1260px;margin:0 auto;padding:20px 34px 80px}.install-head{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;margin-bottom:30px}.install-head h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1;margin:6px 0}.install-head>p{color:#67828c;line-height:1.65}
.install-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.install-price-card{background:white;border:1px solid #d7e9ec;border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(5,74,97,.08)}.price-photo{height:175px;background-size:cover;background-position:center}.install-price-body{padding:20px}.install-price-body small{color:#0ba9ba;font-weight:950}.install-price-body h3{font-size:1.35rem;margin:6px 0}.install-price-body p{color:#607f8b}.install-price{display:block;color:#073f56;font-size:1.55rem;margin:15px 0}.install-benefits{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.install-benefits span{padding:6px 9px;border-radius:999px;background:#e8f7ee;color:#247c55;font-size:.67rem;font-weight:900}.install-price-body>a{display:flex;justify-content:center;padding:12px;border-radius:11px;background:linear-gradient(135deg,#10bdc9,#159fdf);color:white;text-decoration:none;font-weight:900}
.stock-table-wrap{overflow:auto;border-radius:20px;border:1px solid #d7e9ec;background:white}.stock-table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.stock-table-wrap th,.stock-table-wrap td{padding:16px 18px;text-align:left;border-bottom:1px solid #e6eff1}.stock-table-wrap th{background:#073f56;color:white}.stock-table-wrap td a{color:#08aabd;font-weight:900}.technical-includes{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.technical-includes strong{width:100%;color:#073f56}.technical-includes span{background:#e8f7f8;color:#116477;padding:8px 11px;border-radius:999px;font-weight:800;font-size:.74rem}
.install-cta{max-width:1192px;margin:0 auto 90px;padding:38px;border-radius:24px;background:linear-gradient(135deg,#063d57,#075d72);color:white}.install-cta h2{font-size:2rem;margin:0 0 8px}.install-cta p{color:#cbe5ea}.install-cta a{display:inline-flex;margin-top:12px;padding:12px 18px;border-radius:999px;background:#13c0cb;color:white;text-decoration:none;font-weight:900}
@media(max-width:900px){.services-page-grid{grid-template-columns:1fr}.install-hero{grid-template-columns:1fr}.install-hero-photo{min-height:320px}.install-process{grid-template-columns:1fr 1fr}.install-price-grid{grid-template-columns:1fr 1fr}.install-head{grid-template-columns:1fr}}
@media(max-width:620px){.official-brand img{width:150px!important;height:48px!important}.services-page,.install-page{padding-top:74px}.services-page-hero,.services-page-grid,.install-hero,.install-process,.install-prices,.stock-section{padding-left:20px;padding-right:20px}.install-process,.install-price-grid{grid-template-columns:1fr}.big-service{min-height:260px}.install-hero-photo{min-height:260px}}

/* Fibra Bless 0.3.2 — refinamiento comercial y reducción de scroll */
.lively-services{perspective:1200px}.lively-services .big-service{isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;border:1px solid rgba(255,255,255,.18)}.lively-services .big-service:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(19,202,213,.12),transparent 45%);z-index:0;transition:opacity .28s ease}.lively-services .big-service:hover{transform:translateY(-7px);box-shadow:0 26px 58px rgba(5,69,92,.24)}.lively-services .big-service:hover:after{opacity:.25}.service-symbol{position:absolute;right:22px;top:20px;z-index:2;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-style:normal;font-size:1.5rem;color:#fff;background:rgba(5,79,99,.62);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px)}.big-service b{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}.services-help{max-width:1112px;margin:-52px auto 90px;padding:26px 30px;border-radius:22px;background:linear-gradient(110deg,#073f56,#087486);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 20px 50px rgba(5,69,92,.15)}.services-help small{color:#71edf0;font-weight:900}.services-help h2{margin:4px 0;font-size:1.55rem}.services-help p{margin:0;color:#d6edf0}.services-help a{white-space:nowrap;padding:13px 18px;border-radius:999px;background:#13bdca;color:#fff;text-decoration:none;font-weight:900}
.install-hero{padding-top:48px;padding-bottom:28px}.install-hero-photo{min-height:350px}.install-process{margin-bottom:42px}.install-process div{position:relative;overflow:hidden;transition:.2s}.install-process div:after{content:"";position:absolute;right:-14px;bottom:-22px;width:60px;height:60px;border-radius:50%;background:#e8f9fa}.install-process div:hover{transform:translateY(-3px);border-color:#0fb7c6}.install-prices{padding-bottom:38px}.install-price-card{transition:transform .22s ease,box-shadow .22s ease}.install-price-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(5,74,97,.13)}
.more-models{grid-column:1/-1;margin-top:2px}.more-models>summary{list-style:none;cursor:pointer;margin:4px 0 0;padding:16px 20px;border:1px solid #b9e3e8;border-radius:14px;background:#fff;color:#07566b;font-weight:950;display:flex;justify-content:center;gap:12px;align-items:center}.more-models>summary::-webkit-details-marker{display:none}.more-models>summary span,.stock-details>summary>b{font-size:1.45rem;color:#0bb6c5;transition:transform .2s}.more-models[open]>summary span,.stock-details[open]>summary>b{transform:rotate(45deg)}.more-grid{margin-top:20px}
.compact-stock{padding-top:10px!important;padding-bottom:42px!important}.stock-details{border:1px solid #cfe5e8;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 12px 34px rgba(5,74,97,.06)}.stock-details>summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#fff,#effbfc)}.stock-details>summary::-webkit-details-marker{display:none}.stock-details>summary strong{display:block;color:#073f56;font-size:1.2rem;margin-top:3px}.stock-details-body{padding:24px}.stock-details-body .install-head{margin-bottom:20px}.stock-details-body .install-head h2{font-size:2.2rem}.stock-details-body .install-head .eyebrow{display:none}.install-cta{margin-bottom:55px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.install-cta h2{margin-right:auto}.install-cta p{margin:0;max-width:420px}
@media(max-width:900px){.services-help{margin:-45px 20px 70px;flex-direction:column;align-items:flex-start}.more-grid{grid-template-columns:1fr 1fr}.install-cta{margin-left:20px;margin-right:20px}}
@media(max-width:620px){.services-page-hero{padding-top:45px;padding-bottom:24px}.services-page-grid{padding-bottom:72px}.service-symbol{width:40px;height:40px}.services-help{margin-top:-48px}.install-hero{padding-top:38px}.install-hero-photo{min-height:235px}.install-process{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px;margin-bottom:28px}.install-process div{min-width:155px;padding:15px}.install-head h2{font-size:2.2rem}.more-grid{grid-template-columns:1fr}.stock-details-body{padding:14px}.stock-details-body .install-head{display:none}.install-cta{padding:26px}}

/* ==========================================================
   FIBRA BLESS 0.3.3 — REPARACIÓN DE PISCINAS
   ========================================================== */
.repair-main{padding-top:88px}
.repair-hero{
  max-width:1260px;margin:0 auto;padding:64px 34px 38px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center
}
.repair-hero-copy h1{font-size:clamp(2.7rem,5.5vw,5rem);line-height:.97;margin:8px 0 18px;color:#073f56}
.repair-hero-copy h1 span,.repair-section-head h2 span,.repair-feature-copy h2 span{color:#10b8c7}
.repair-hero-copy>p{max-width:680px;color:#607f8b;font-size:1.03rem;line-height:1.72}
.repair-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.repair-primary,.repair-secondary{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:999px;
  text-decoration:none;font-weight:900
}
.repair-primary{background:linear-gradient(135deg,#10bdc9,#159fdf);color:#fff;box-shadow:0 12px 28px rgba(13,165,198,.20)}
.repair-secondary{background:#fff;border:1px solid #b9dfe5;color:#087d92}
.repair-hero-photo{
  min-height:420px;border-radius:28px;
  background:
    linear-gradient(180deg,rgba(3,44,60,.04),rgba(3,44,60,.18)),
    url("../images/fibra/servicio-reparacion.jpg") center/cover;
  box-shadow:0 24px 60px rgba(6,74,98,.17)
}
.repair-trust-strip{
  max-width:1192px;margin:0 auto 66px;padding:0 34px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px
}
.repair-trust-strip div{padding:18px 20px;border-radius:16px;background:#fff;border:1px solid #d7e9ec;box-shadow:0 8px 24px rgba(5,74,97,.04)}
.repair-trust-strip b{display:block;color:#0db7c6;font-size:1.25rem}
.repair-trust-strip span{font-weight:850;color:#174e60}
.repair-services{max-width:1260px;margin:0 auto;padding:8px 34px 76px;scroll-margin-top:92px}
.repair-section-head{display:grid;grid-template-columns:1fr .78fr;gap:48px;align-items:end;margin-bottom:28px}
.repair-section-head h2,.repair-feature-copy h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:6px 0;color:#073f56}
.repair-section-head>p{color:#68838d;line-height:1.65}
.repair-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.repair-card{
  min-height:255px;padding:18px;border-radius:20px;background:#fff;border:1px solid #d7e9ec;
  box-shadow:0 12px 30px rgba(5,74,97,.06);display:flex;flex-direction:column;gap:12px;transition:.22s
}
.repair-card:hover{transform:translateY(-5px);border-color:#91dce3;box-shadow:0 18px 38px rgba(5,74,97,.11)}
.repair-icon{
  width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(135deg,#e4f9fa,#eef8fd);color:#0799ad;font-size:1.2rem;font-weight:950;
  border:1px solid #cdecef
}
.repair-card h3{margin:0 0 7px;color:#073f56;font-size:1.03rem}
.repair-card p{margin:0;color:#66818b;line-height:1.55;font-size:.76rem}
.repair-card a{margin-top:auto;color:#079aad;text-decoration:none;font-weight:900;font-size:.73rem}
.repair-feature{
  max-width:1192px;margin:0 auto 76px;padding:0 34px;
  display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center
}
.repair-feature-photo{
  min-height:390px;border-radius:25px;
  background:
    linear-gradient(180deg,rgba(3,44,60,.03),rgba(3,44,60,.14)),
    url("../images/fibra/trabajo-reparacion.jpg") center/cover;
  box-shadow:0 18px 48px rgba(5,74,97,.14)
}
.repair-feature-copy>p{color:#607f8b;line-height:1.7}
.repair-mini-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}
.repair-mini-list span{padding:10px 12px;border-radius:12px;background:#eef9fa;color:#176176;font-size:.75rem;font-weight:850}
.repair-cta{
  max-width:1192px;margin:0 auto 90px;padding:34px 38px;border-radius:25px;
  background:linear-gradient(135deg,#063d57,#075d72);color:#fff;
  display:flex;justify-content:space-between;align-items:center;gap:30px
}
.repair-cta h2{font-size:2rem;margin:5px 0 8px}
.repair-cta p{color:#cbe5ea;margin:0}
.repair-cta a{flex:0 0 auto;padding:13px 19px;border-radius:999px;background:#12bdc9;color:#fff;text-decoration:none;font-weight:900}

@media(max-width:1080px){
  .repair-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .repair-hero,.repair-feature{grid-template-columns:1fr}
  .repair-trust-strip{grid-template-columns:1fr 1fr}
  .repair-section-head{grid-template-columns:1fr}
  .repair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .repair-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
  .repair-main{padding-top:74px}
  .repair-hero,.repair-services,.repair-feature,.repair-trust-strip{padding-left:20px;padding-right:20px}
  .repair-hero{padding-top:42px}
  .repair-hero-photo{min-height:270px}
  .repair-trust-strip{grid-template-columns:1fr}
  .repair-grid{grid-template-columns:1fr}
  .repair-card{min-height:0}
  .repair-feature-photo{min-height:280px}
  .repair-mini-list{grid-template-columns:1fr}
  .repair-cta{margin-left:20px;margin-right:20px;padding:28px 24px}
}

/* FIBRA 0.3.4 - miniaturas visuales para tarjetas de reparación */
.repair-thumb{
  width:58px;height:58px;border-radius:14px;overflow:hidden;flex:0 0 58px;
  background:#e8f8fb;border:1px solid #cdecef;box-shadow:0 5px 14px rgba(5,74,97,.08)
}
.repair-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.repair-card:hover .repair-thumb{box-shadow:0 8px 18px rgba(5,74,97,.14)}
@media (max-width:640px){.repair-thumb{width:54px;height:54px;flex-basis:54px}}

/* FIBRA BLESS 0.4.0 — EQUIPOS + MANTENCIÓN */
.solution-main{padding-top:88px}.solution-hero{max-width:1260px;margin:0 auto;padding:58px 34px 34px;display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center}.solution-hero h1{font-size:clamp(2.7rem,5.2vw,4.9rem);line-height:.98;margin:8px 0 18px;color:#073f56}.solution-hero h1 span,.solution-head h2 span{color:#10b8c7}.solution-hero>div>p{color:#607f8b;line-height:1.72;max-width:670px}.solution-hero-photo{min-height:390px;border-radius:28px;background-size:cover;background-position:center;box-shadow:0 24px 60px rgba(6,74,98,.17)}.equipment-page .solution-hero-photo{background-image:linear-gradient(180deg,rgba(3,44,60,.02),rgba(3,44,60,.15)),url("../images/fibra/servicio-equipos.jpg")}.maintenance-page .solution-hero-photo{background-image:linear-gradient(180deg,rgba(3,44,60,.02),rgba(3,44,60,.15)),url("../images/fibra/servicio-mantencion.jpg")}.solution-process{max-width:1192px;margin:0 auto 54px;padding:0 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.solution-process div{padding:17px 19px;border:1px solid #d7e9ec;border-radius:16px;background:#fff}.solution-process b{display:block;color:#0db7c6;font-size:1.25rem}.solution-process span{font-weight:850;color:#174e60}.solution-services{max-width:1260px;margin:0 auto;padding:8px 34px 66px;scroll-margin-top:92px}.solution-head{display:grid;grid-template-columns:1fr .8fr;gap:48px;align-items:end;margin-bottom:26px}.solution-head h2,.solution-feature h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:6px 0;color:#073f56}.solution-head>p,.solution-feature p{color:#68838d;line-height:1.65}.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.solution-card{min-height:250px;padding:20px;border-radius:20px;background:#fff;border:1px solid #d7e9ec;box-shadow:0 12px 30px rgba(5,74,97,.06);display:flex;flex-direction:column;gap:12px;transition:.22s}.solution-card:hover{transform:translateY(-5px);border-color:#91dce3;box-shadow:0 18px 38px rgba(5,74,97,.11)}.solution-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#e1f8fa,#edf8fd);color:#0799ad;font-size:1.45rem;font-weight:950;border:1px solid #cdecef}.solution-card h3{margin:0 0 7px;color:#073f56;font-size:1.12rem}.solution-card p{margin:0;color:#66818b;line-height:1.55;font-size:.8rem}.solution-card ul{margin:12px 0 0;padding:0;list-style:none;display:flex;gap:6px;flex-wrap:wrap}.solution-card li{padding:6px 9px;border-radius:999px;background:#eaf8f9;color:#176176;font-size:.68rem;font-weight:850}.solution-card a{margin-top:auto;color:#079aad;text-decoration:none;font-weight:900;font-size:.76rem}.solution-feature{max-width:1192px;margin:0 auto 72px;padding:0 34px;display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:center}.solution-feature-photo{min-height:350px;border-radius:25px;background-size:cover;background-position:center;box-shadow:0 18px 48px rgba(5,74,97,.14)}.equipment-page .solution-feature-photo{background-image:linear-gradient(180deg,rgba(3,44,60,.03),rgba(3,44,60,.15)),url("../images/fibra/hero-equipos.jpg")}.maintenance-page .solution-feature-photo{background-image:linear-gradient(180deg,rgba(3,44,60,.03),rgba(3,44,60,.15)),url("../images/fibra/trabajo-terminado.jpg")}@media(max-width:900px){.solution-hero,.solution-feature,.solution-head{grid-template-columns:1fr}.solution-grid{grid-template-columns:1fr 1fr}.solution-process{grid-template-columns:1fr 1fr}}@media(max-width:620px){.solution-main{padding-top:74px}.solution-hero,.solution-services,.solution-feature,.solution-process{padding-left:20px;padding-right:20px}.solution-hero{padding-top:40px}.solution-hero-photo{min-height:250px}.solution-process{display:flex;overflow-x:auto}.solution-process div{min-width:155px}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:0}.solution-feature-photo{min-height:260px}}


/* FIBRA BLESS 0.4.1 — miniaturas visuales para Equipos + Mantención */
.solution-thumb{
  width:58px;height:58px;border-radius:14px;overflow:hidden;flex:0 0 58px;
  background:#e8f8fb;border:1px solid #cdecef;box-shadow:0 5px 14px rgba(5,74,97,.08)
}
.solution-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.solution-card:hover .solution-thumb{box-shadow:0 8px 18px rgba(5,74,97,.14)}
@media (max-width:640px){.solution-thumb{width:54px;height:54px;flex-basis:54px}}

/* ==========================================================
   FIBRA BLESS 0.5.0 — MAQUETA FUNCIONAL DE COTIZACIONES
   ========================================================== */
.quote-public-page{background:#f5fbfc;color:#073f56;min-height:100vh}
.quote-public-shell{max-width:980px;margin:auto;padding:140px 28px 80px}
.quote-intro{margin-bottom:30px}.quote-intro h1{font-size:clamp(2.5rem,5vw,4.7rem);line-height:.98;margin:6px 0 15px}.quote-intro h1 span{color:#10b8c7}.quote-intro>p{max-width:760px;color:#607f8b;line-height:1.7}
.quote-public-form{display:grid;gap:16px}.quote-form-card{background:white;border:1px solid #d7e9ec;border-radius:20px;padding:24px;box-shadow:0 10px 28px rgba(5,74,97,.05)}.quote-form-card h2{margin:0 0 17px;font-size:1.12rem}
.quote-public-form label,.fibra-admin label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#315d6a;font-size:.78rem}
.quote-public-form input,.quote-public-form select,.quote-public-form textarea,.fibra-admin input,.fibra-admin select,.fibra-admin textarea{width:100%;box-sizing:border-box;border:1px solid #cfe2e6;border-radius:10px;padding:12px;background:white;color:#173f4d;font:inherit}
.quote-public-form textarea,.fibra-admin textarea{min-height:100px;resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.coord-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-hint{color:#718d96;font-size:.74rem;line-height:1.55}.quote-submit{border:0;border-radius:14px;padding:16px 20px;background:linear-gradient(135deg,#10bdc9,#159fdf);color:white;font-weight:950;font-size:.9rem;cursor:pointer}
.quote-received{max-width:650px;margin:12vh auto;padding:45px;text-align:center;background:#fff;border-radius:25px;border:1px solid #d7e9ec;box-shadow:0 20px 55px rgba(5,74,97,.09)}.received-check{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e8f8ef;color:#238258;font-size:1.8rem}.quote-received h1{font-size:2.3rem}.quote-received p{color:#607f8b}.quote-received a{display:inline-flex;margin-top:15px;padding:11px 17px;border-radius:999px;background:#0fb6c5;color:white;text-decoration:none;font-weight:900}
.fibra-admin{background:#eef5f7}.fibra-admin .admin-header{background:#052f43;border-bottom:1px solid rgba(255,255,255,.08)}.fibra-admin .admin-header .official-brand img{width:180px!important;height:52px!important}.fibra-admin .admin-main{max-width:1320px}
.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.admin-kpis article{background:#fff;border:1px solid #d7e5e8;border-radius:17px;padding:18px}.admin-kpis span{display:block;color:#718a92;font-size:.72rem;font-weight:800}.admin-kpis b{display:block;font-size:2rem;color:#073f56;margin-top:5px}
.admin-section-title,.quote-admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.admin-section-title h2{margin:2px 0}.admin-quotes{margin-bottom:18px}.quote-table-wrap{overflow:auto}.quote-table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.quote-table-wrap th,.quote-table-wrap td{padding:13px 12px;text-align:left;border-bottom:1px solid #e5eef0}.quote-table-wrap th{color:#6d8790;font-size:.68rem;text-transform:uppercase}.quote-table-wrap td small{display:block;color:#8499a0;margin-top:3px}.quote-table-wrap a{color:#079aae;font-weight:900;text-decoration:none}
.status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf2f3;color:#547078;font-size:.64rem;font-weight:950}.status-nueva{background:#fff2d9;color:#9a6600}.status-revision{background:#e9f3ff;color:#2670aa}.status-aprobada{background:#e7f8ed;color:#22784c}.status-enviada,.status-aceptada{background:#e5f8f8;color:#087d8d}.status-rechazada{background:#ffeaea;color:#a84040}
.price-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.price-admin-grid form{display:grid;grid-template-columns:1fr 135px auto;align-items:center;gap:10px;padding:11px;border:1px solid #e0eaec;border-radius:12px}.price-admin-grid small{display:block;color:#84979e}.price-admin-grid button,.flow-mark button{border:1px solid #bdd9de;background:white;border-radius:9px;padding:10px;font-weight:850;color:#0b7282;cursor:pointer}
.settings-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr auto;gap:12px;align-items:end}.legacy-admin{margin:20px 0 60px}.legacy-admin summary{cursor:pointer;padding:15px;border-radius:12px;background:#ddebee;font-weight:900;color:#315d6a}
.quote-admin-detail{padding-bottom:70px}.quote-admin-heading h1{margin:4px 0 8px}.quote-admin-actions{display:flex;gap:9px}.quote-admin-actions a,.flow-actions .btn{padding:10px 14px;border-radius:10px;border:1px solid #bdd9de;background:#fff;color:#08798b;text-decoration:none;font-weight:900}.quote-edit-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.quote-total-box{display:flex;justify-content:space-between;align-items:center;margin:15px 0;padding:16px;border-radius:12px;background:#e9f8f9}.quote-total-box b{font-size:1.5rem;color:#073f56}.quote-flow-card{margin-top:16px}.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.flow-steps span{padding:12px;border-radius:10px;background:#eef2f3;color:#789097;font-weight:850;text-align:center}.flow-steps .done{background:#e7f7ed;color:#287c55}.flow-actions,.flow-mark{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.whatsapp-btn{background:#25d366!important;color:white!important;border-color:#25d366!important}
.quote-preview-page{background:#dce8eb;padding:40px 20px}.quote-paper{max-width:820px;margin:auto;background:#fff;padding:48px;box-shadow:0 18px 55px rgba(0,0,0,.12)}.quote-paper header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #0fb5c4;padding-bottom:20px}.quote-paper header img{width:190px}.quote-paper header div{text-align:right}.quote-paper header span{display:block;color:#6e8790}.quote-client{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.quote-client div{display:flex;flex-direction:column}.quote-client small{color:#0aa9b9;font-weight:900}.quote-paper table{width:100%;border-collapse:collapse}.quote-paper th,.quote-paper td{padding:13px;border-bottom:1px solid #dfe9eb;text-align:left}.quote-paper th:last-child,.quote-paper td:last-child{text-align:right}.quote-paper .total{background:#e8f8f9;font-size:1.08rem;font-weight:950}.quote-conditions{margin-top:25px;color:#536f78;line-height:1.6}.quote-paper footer{display:flex;justify-content:space-between;margin-top:35px;padding-top:18px;border-top:1px solid #dce7e9;color:#7d9299;font-size:.75rem}.preview-actions{max-width:820px;margin:15px auto;display:flex;justify-content:space-between}.preview-actions a{color:#075b70;font-weight:900}
@media(max-width:900px){.admin-kpis{grid-template-columns:1fr 1fr}.price-admin-grid{grid-template-columns:1fr}.settings-form{grid-template-columns:1fr 1fr}.quote-edit-grid{grid-template-columns:1fr}.flow-steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.quote-public-shell{padding:105px 18px 55px}.form-two,.coord-row{grid-template-columns:1fr}.admin-kpis{grid-template-columns:1fr 1fr}.settings-form{grid-template-columns:1fr}.quote-admin-heading,.admin-section-title{align-items:flex-start;flex-direction:column}.quote-paper{padding:25px 18px}.quote-client{grid-template-columns:1fr}.quote-paper header{align-items:flex-start;flex-direction:column;gap:15px}.quote-paper header div{text-align:left}.flow-steps{grid-template-columns:1fr}}

/* FIBRA 0.5.2 — Google Maps / Places / Routes */
.maps-location-card{overflow:visible}.map-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px}.map-card-head h2{margin:0 0 6px}.map-card-head p{margin:0;color:#69848e;line-height:1.5;font-size:.78rem;max-width:620px}.maps-badge{background:#e9f7ff;border:1px solid #cfe5f0;color:#32718a;padding:7px 10px;border-radius:999px;font-size:.66rem;font-weight:900;white-space:nowrap}.maps-label{margin-bottom:7px}.place-autocomplete-host{width:100%;position:relative;z-index:5}.place-autocomplete-host gmp-place-autocomplete{width:100%;--gmpx-color-surface:#fff;--gmpx-color-primary:#0aaebe}.fibra-map{height:380px;border-radius:16px;overflow:hidden;border:1px solid #cfe3e7;background:#e8f2f4;margin-top:13px}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.map-toolbar span{font-size:.72rem;color:#6c8790}.map-secondary-btn{border:1px solid #b9dce2;background:#fff;color:#087f91;border-radius:10px;padding:10px 12px;font-weight:900;cursor:pointer}.route-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.route-summary>div{padding:13px 14px;border-radius:12px;background:#eaf8f8;border:1px solid #cdebed}.route-summary small{display:block;color:#66848d;font-size:.58rem;font-weight:900;letter-spacing:.08em}.route-summary b{display:block;color:#073f56;font-size:1.06rem;margin-top:3px}.map-error,.map-config-warning{margin-top:12px;padding:12px 14px;border-radius:11px;background:#fff3dc;border:1px solid #f2d79d;color:#785819;font-size:.76rem;line-height:1.5}.map-config-warning{display:flex;flex-direction:column}.maps-settings-form{grid-template-columns:2fr 1fr 1fr .75fr 1fr 1.3fr auto}.maps-admin-note{margin-top:13px;padding:13px 15px;border-radius:11px;background:#e9f8f9;color:#356874;display:flex;gap:8px;flex-direction:column;font-size:.76rem}
@media(max-width:1000px){.maps-settings-form{grid-template-columns:1fr 1fr 1fr}.route-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.map-card-head,.map-toolbar{flex-direction:column}.fibra-map{height:320px}.route-summary{grid-template-columns:1fr}.maps-settings-form{grid-template-columns:1fr}}

/* FIBRA 0.5.3 — Places API New con lista de sugerencias propia */
.place-search-wrap{position:relative;z-index:20}
.place-search-input{width:100%;box-sizing:border-box;border:1px solid #a9dbe1!important;border-radius:12px!important;padding:14px 15px!important;background:#08111f!important;color:#fff!important;font-weight:750!important;outline:none}
.place-search-input:focus{border-color:#10b8c7!important;box-shadow:0 0 0 3px rgba(16,184,199,.12)}
.place-suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:999;background:#fff;border:1px solid #cce2e6;border-radius:14px;overflow:hidden;box-shadow:0 18px 42px rgba(4,54,72,.18)}
.place-suggestion-row{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:0;border-bottom:1px solid #e5eef0;background:#fff;color:#0b4054;text-align:left;cursor:pointer}
.place-suggestion-row:last-child{border-bottom:0}
.place-suggestion-row:hover,.place-suggestion-row:focus{background:#eaf9fb;outline:none}
.place-suggestion-row strong{font-size:.84rem;line-height:1.35}
.place-suggestion-row span{font-size:.68rem;color:#718d96}
.place-suggestion-empty{padding:14px;color:#607d87;font-size:.78rem}
.route-rate-note{margin-top:9px;padding:9px 11px;border-radius:10px;background:#f2fbfc;color:#52747e;font-size:.72rem}


/* =========================================================
   FIBRA BLESS 0.6.0 — ADMIN MODULAR / CATÁLOGO REUTILIZABLE
   ========================================================= */
.fibra-admin .admin-header{display:flex;align-items:center;gap:28px;padding:14px clamp(18px,4vw,54px)}
.fibra-admin .admin-header .official-brand{margin-right:4px}
.admin-nav{display:flex;gap:6px;align-items:center;flex:1}
.admin-nav a{padding:9px 12px;border-radius:10px;color:#c9e8ed;text-decoration:none;font-size:.82rem;font-weight:800}
.admin-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.admin-head-actions{display:flex;align-items:center;gap:12px}
.admin-head-actions form{margin:0}
.admin-hero-clean{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:18px 0 22px}
.admin-hero-clean h1{margin:.1rem 0 .35rem;color:#073f56;font-size:clamp(1.8rem,3vw,2.6rem)}
.admin-hero-clean p{max-width:760px;margin:0;color:#64808a}
.admin-kpis-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-kpis article small{display:block;margin-top:4px;color:#7a949d;font-size:.68rem}
.admin-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.admin-quick-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid #d8e8eb;border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 8px 26px rgba(7,63,86,.05)}
.admin-quick-card span{font-size:.63rem;font-weight:900;letter-spacing:.12em;color:#0aa9b9}
.admin-quick-card b{color:#073f56;font-size:1rem}
.admin-quick-card small{color:#718a93;line-height:1.45}
.admin-quick-card:hover{transform:translateY(-1px);border-color:#9edbe2}
.catalog-subnav{display:flex;gap:8px;margin:0 0 14px}
.catalog-subnav a{padding:10px 15px;border:1px solid #d3e5e8;border-radius:11px;background:#fff;text-decoration:none;color:#55747e;font-weight:850;font-size:.8rem}
.catalog-subnav a.active{background:#073f56;color:#fff;border-color:#073f56}
.catalog-toolbar{padding:14px 18px!important}
.catalog-toolbar form,.catalog-toolbar label{margin:0}
.catalog-toolbar select{min-width:240px}
.product-cell{display:flex;align-items:center;gap:12px;min-width:250px}
.product-cell img{width:58px;height:44px;object-fit:cover;border-radius:9px;border:1px solid #d8e8eb}
.product-cell span{display:flex;flex-direction:column;gap:3px}
.product-cell small{max-width:320px;color:#789099}
.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.row-actions form{margin:0}
.row-actions a,.row-actions button{border:0;background:#eef8f9;color:#087c8a;padding:7px 9px;border-radius:8px;font-size:.7rem;font-weight:850;text-decoration:none;cursor:pointer}
.row-actions .danger-link{background:#fff0f0;color:#a53b3b}
.admin-edit-card{max-width:1040px;margin-left:auto;margin-right:auto}
.admin-edit-card label{font-weight:800;color:#315d69}
.admin-edit-card input,.admin-edit-card select,.admin-edit-card textarea{margin-top:6px}
.admin-edit-card textarea{min-height:110px}
.check-label{display:flex!important;align-items:center;gap:9px;margin:14px 0}
.check-label input{width:auto!important;margin:0!important}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.btn.secondary{background:#fff!important;color:#315d69!important;border:1px solid #cfe0e4!important}
.product-editor{display:grid;gap:16px}
.attribute-rows{display:grid;gap:8px}
.attribute-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) 40px;gap:8px}
.attribute-row input{margin:0!important}
.remove-attribute{border:0;border-radius:9px;background:#fff0f0;color:#a53b3b;font-size:1.2rem;cursor:pointer}
.sticky-save-bar{position:sticky;bottom:14px;z-index:30;display:flex;justify-content:flex-end;gap:10px;padding:12px;border:1px solid #cfe4e7;border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 12px 34px rgba(7,63,86,.12)}
.advanced-settings{margin-top:18px;padding:14px;border:1px solid #d8e8eb;border-radius:12px;background:#f8fbfc}
.advanced-settings summary{cursor:pointer;color:#315d69;font-weight:850}
.advanced-settings .form-two{margin-top:14px}
.table-action{font-weight:850;color:#078c9a;text-decoration:none}
.quote-admin-heading h1{color:#073f56!important}
.quote-admin-detail .admin-card>h2{color:#073f56}
.quote-admin-detail .quote-edit-grid{align-items:start}

@media(max-width:900px){
 .fibra-admin .admin-header{flex-wrap:wrap}
 .admin-nav{order:3;width:100%;overflow:auto}
 .admin-kpis-wide,.admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-hero-clean{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
 .admin-kpis-wide,.admin-quick-grid{grid-template-columns:1fr}
 .attribute-row{grid-template-columns:1fr 1fr 38px}
 .admin-head-actions{margin-left:auto}
}

/* =========================================================
   FIBRA BLESS 0.7.0 — REVISIÓN COMERCIAL
   ========================================================= */
.review-page{background:#f3f7f8}
.review-shell{max-width:1240px}
.review-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:24px 0}
.review-top h1{margin:.15rem 0;color:#073f56;font-size:clamp(2rem,4vw,3rem)}
.review-top p{color:#68818a;max-width:720px}.back-link{display:inline-block;margin-bottom:18px;color:#66818a;text-decoration:none;font-weight:800}
.review-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-status>a{padding:9px 12px;border:1px solid #d5e5e8;border-radius:10px;background:#fff;color:#315d69;text-decoration:none;font-weight:800;font-size:.78rem}
.review-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:16px;margin-bottom:16px}
.review-product-card,.review-info-card,.review-location-card,.review-list-card{background:#fff;border:1px solid #dce9eb;border-radius:18px;box-shadow:0 10px 32px rgba(7,63,86,.05)}
.review-product-card{display:grid;grid-template-columns:260px 1fr;overflow:hidden}.review-product-image{min-height:280px;background:#dcebed center/cover no-repeat}.review-product-body{padding:24px}
.review-kicker{display:block;color:#0b9eac;font-size:.65rem;font-weight:950;letter-spacing:.12em;margin-bottom:7px}.review-product-body h2,.review-info-card h2,.review-location-card h2{color:#073f56;margin:.1rem 0 14px}
.product-attribute{display:flex;justify-content:space-between;border-bottom:1px solid #edf3f4;padding:8px 0;color:#6c838b}.product-attribute b{color:#315d69}
.requested-price{margin-top:18px;padding:15px;border-radius:13px;background:#edf9fa}.requested-price span,.requested-price small{display:block;color:#68818a}.requested-price b{display:block;color:#073f56;font-size:1.65rem;margin:3px 0}
.price-change-alert{margin-top:12px;padding:13px;border-radius:12px;background:#fff7df;border:1px solid #f1d78a;color:#775c10}.price-change-alert span,.price-change-alert small{display:block;margin-top:4px}
.review-info-card{padding:24px}.review-info-card dl{display:grid;grid-template-columns:90px 1fr;gap:9px;margin:0}.review-info-card dt{color:#8aa0a7;font-size:.72rem;font-weight:800}.review-info-card dd{margin:0;color:#315d69;font-weight:700}
.review-location-card{display:grid;grid-template-columns:1fr auto;gap:24px;padding:24px;margin-bottom:16px}.condition-badge{display:inline-block;padding:7px 10px;border-radius:999px;background:#eaf8f9;color:#087f8c;font-size:.75rem;font-weight:900}.review-location-card blockquote{margin:14px 0 0;padding:12px 14px;border-left:3px solid #0aa9b9;background:#f8fbfc;color:#5d747c}
.route-facts{display:grid;grid-template-columns:repeat(3,minmax(125px,1fr));gap:8px;align-self:center}.route-facts>div{padding:14px;border-radius:12px;background:#f5f9fa}.route-facts small{display:block;color:#8aa0a7;font-size:.62rem;font-weight:900}.route-facts b{display:block;color:#073f56;margin-top:5px}
.review-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.review-list-card{padding:22px}.review-list-card ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}.review-list-card li{position:relative;padding-left:22px;color:#536e77;line-height:1.45}.review-list-card.include li:before{content:'✓';position:absolute;left:0;color:#0b9e76;font-weight:950}.review-list-card.exclude li:before{content:'•';position:absolute;left:5px;color:#c88918;font-weight:950}
.review-commercial{margin-bottom:16px}.section-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-heading-row h2{margin:.1rem 0;color:#073f56}.section-heading-row p{color:#718991;max-width:720px}
.line-items{display:grid;gap:8px;margin:16px 0}.line-item{display:grid;grid-template-columns:1fr 190px 42px;gap:8px}.line-item input{margin:0!important}.remove-line{border:0;border-radius:9px;background:#fff0f0;color:#a53b3b;font-size:1.25rem;cursor:pointer}
.review-adjustments{max-width:620px}.client-total-summary{margin-top:18px;margin-left:auto;max-width:520px;border:1px solid #dce9eb;border-radius:14px;overflow:hidden}.client-total-summary>div{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #edf3f4}.client-total-summary .grand{background:#073f56;color:#fff;padding:15px}.client-total-summary .grand b{font-size:1.35rem}
.internal-cost-card{border-left:4px solid #6b7f87}.internal-transit-box{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border-radius:12px;background:#f5f8f9;margin:14px 0}.internal-transit-box small{display:block;color:#879aa1}.internal-transit-box b{color:#315d69}.transit-saved{padding:13px;border:1px solid #d7e7ea;border-radius:12px;background:#fff;margin-bottom:12px}.transit-saved p{color:#6e858d}.internal-total{display:flex;justify-content:flex-end;gap:14px;color:#536e77}.internal-total b{color:#073f56}
.approval-card{margin-top:16px}.approval-confirm{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:16px;border-radius:13px;background:#f6fafb}.approval-confirm label{display:flex;align-items:flex-start;gap:10px;color:#405f69;font-weight:750}.approval-confirm input{width:auto;margin-top:3px}.send-actions{display:flex;gap:10px;margin-top:14px}
.condition-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.condition-chips label{cursor:pointer}.condition-chips input{position:absolute;opacity:0}.condition-chips span{display:block;padding:9px 12px;border:1px solid #cfe2e5;border-radius:999px;background:#fff;color:#54717a;font-size:.78rem;font-weight:800}.condition-chips input:checked+span{background:#073f56;border-color:#073f56;color:#fff}.optional-tag{font-size:.65rem;color:#81969d;font-weight:700}.from-price{display:flex;align-items:baseline;gap:7px}.from-price>small{font-weight:900;color:#0aa9b9}.price-disclaimer{font-size:.72rem;color:#748a92;line-height:1.4}.settings-divider{margin-top:24px;padding-top:22px;border-top:1px solid #dce9eb}.settings-divider h2{color:#073f56}
@media(max-width:900px){.review-grid,.review-includes-grid{grid-template-columns:1fr}.review-product-card{grid-template-columns:1fr}.review-product-image{min-height:240px}.review-location-card{grid-template-columns:1fr}.route-facts{grid-template-columns:1fr 1fr 1fr}.review-top{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.route-facts{grid-template-columns:1fr}.line-item{grid-template-columns:1fr 120px 38px}.approval-confirm,.internal-transit-box{align-items:stretch;flex-direction:column}}

/* =========================================================
   FIBRA BLESS 0.8.1 — ADMIN APP / DASHBOARD
   ========================================================= */
.fibra-admin{background:#f3f6f8;color:#315d69;min-height:100vh}.fibra-admin .admin-app-sidebar{position:fixed;inset:0 auto 0 0;width:238px;height:100vh;z-index:100;display:flex;flex-direction:column;align-items:stretch;padding:24px 16px;background:#102f3c;border:0;box-shadow:8px 0 28px rgba(10,43,56,.08)}.fibra-admin .admin-app-sidebar .official-brand{min-width:0;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.fibra-admin .admin-app-sidebar .official-brand img{width:150px;max-height:56px;object-fit:contain}.fibra-admin .admin-app-sidebar .admin-nav{display:flex;flex-direction:column;gap:5px;margin:18px 0;overflow:visible;width:100%}.fibra-admin .admin-app-sidebar .admin-nav a{display:block;padding:10px 12px;border-radius:9px;color:#d8e8ed;text-decoration:none;font-size:.8rem;font-weight:800}.fibra-admin .admin-app-sidebar .admin-nav a:hover{background:rgba(23,180,195,.14);color:#fff}.fibra-admin .admin-app-sidebar .admin-head-actions{margin-top:auto;display:grid;gap:7px}.fibra-admin .admin-app-sidebar .admin-head-actions>a,.fibra-admin .admin-app-sidebar .admin-head-actions button{display:block;width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:transparent;color:#c8dce2;text-decoration:none;text-align:left;font-size:.72rem;font-weight:800}.fibra-admin .admin-app-sidebar .admin-head-actions form{margin:0}.admin-menu-toggle{display:none}.fibra-admin .admin-main{max-width:none;margin-left:238px;padding:32px clamp(22px,4vw,54px);min-height:100vh}.admin-module-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:0 0 24px}.admin-module-head h1{margin:.2rem 0;color:#123e50;font-size:clamp(2rem,3.5vw,3rem)}.admin-module-head p{margin:.35rem 0 0;max-width:760px;color:#718991;line-height:1.55}.dashboard-actions{display:flex;gap:9px;flex-wrap:wrap}.admin-kpis-wide{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.admin-kpis-wide article{border:1px solid #dce8eb;border-radius:16px;box-shadow:none;padding:18px}.admin-kpis-wide article b{font-size:1.9rem}.dashboard-two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.7fr);gap:16px;margin-top:16px}.attention-card{display:flex;flex-direction:column}.attention-card h2{color:#123e50;margin-top:0}.attention-card>a{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e7eff1;text-decoration:none;color:#536e77}.attention-card>a b{font-size:1.45rem;color:#0a98a8}.attention-card small{margin-top:16px;line-height:1.5;color:#7c9299}.soft-badge,.margin-low{display:inline-block;padding:6px 9px;border-radius:999px;background:#e8f6f7;color:#087d89;font-size:.68rem;font-weight:900}.margin-low{background:#fff0df;color:#9b5e08}.admin-module-head+.admin-card{margin-top:0}.admin-manual-quote .quote-public-shell{margin-left:238px;padding-top:32px}.admin-manual-quote .quote-intro{max-width:900px}.quote-table-wrap td small{display:block;margin-top:3px;color:#81959c;max-width:420px}
@media(max-width:1100px){.admin-kpis-wide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.fibra-admin .admin-app-sidebar{transform:translateX(-100%);transition:transform .2s ease;width:250px}.fibra-admin.admin-menu-open .admin-app-sidebar{transform:translateX(0)}.admin-menu-toggle{display:block;position:fixed;left:12px;top:12px;z-index:130;border:0;border-radius:10px;background:#0aa9b9;color:#fff;width:42px;height:42px;font-size:1.1rem}.fibra-admin .admin-main,.admin-manual-quote .quote-public-shell{margin-left:0;padding:68px 16px 28px}.admin-module-head{align-items:flex-start;flex-direction:column}.dashboard-two-col{grid-template-columns:1fr}.admin-kpis-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.admin-kpis-wide{grid-template-columns:1fr}.dashboard-actions{width:100%}.dashboard-actions .btn{flex:1;text-align:center}}

/* ==========================================================
   FIBRA BLESS 0.8.2 — AJUSTE UI + FICHA PÚBLICA DE PRODUCTO
   ========================================================== */
/* Cotizador público: volver alineado al contenido y menos vacío arriba */
.quote-site-header{justify-content:flex-start}.quote-public-page .quote-public-shell{padding-top:58px}.quote-back-link{display:inline-flex;align-items:center;margin:0 0 22px;color:#0a8090;font-size:.8rem;font-weight:900;text-decoration:none}.quote-back-link:hover{color:#075a68}.quote-public-page .quote-intro{margin-bottom:24px}.quote-public-page .quote-intro h1{font-size:clamp(2.3rem,4.2vw,4.2rem)}.selected-product-strip{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 15px;border:1px solid #cfe6e9;border-radius:14px;background:#fff;color:#58727b}.selected-product-strip span{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#82979d}.selected-product-strip b{color:#123e50}.selected-product-strip strong{color:#0798a8;margin-left:auto}.selected-product-strip a{color:#087f8d;font-size:.76rem;font-weight:900}

/* Login Fibra Bless */
.auth-fibra-brand{display:inline-flex;align-items:center;margin-bottom:18px}.auth-fibra-brand img{width:190px;max-height:74px;object-fit:contain}.auth-page .auth-card{background:#fff;color:#123e50;border:1px solid #d9e8eb;box-shadow:0 24px 65px rgba(10,59,73,.13)}.auth-page{background:linear-gradient(145deg,#eff8f9,#e7f1f3)}.auth-page .auth-card p{color:#69838b}.auth-page .auth-card label{color:#315d69}.auth-page .auth-card input{background:#fff;color:#173f4d;border-color:#cfe2e6}.auth-page .auth-card .back{color:#078897}

/* Dashboard / sidebar más liviano y ordenado */
.fibra-admin{background:#f5f7f8!important}.fibra-admin .admin-app-sidebar{width:252px!important;padding:22px 15px 18px!important;background:#163845!important;box-shadow:5px 0 24px rgba(13,53,66,.08)!important}.fibra-admin .admin-app-sidebar .official-brand{display:flex;align-items:center;justify-content:flex-start;padding:2px 10px 20px!important}.fibra-admin .admin-app-sidebar .official-brand img{width:174px!important;max-height:62px!important}.fibra-admin .admin-app-sidebar .admin-nav{gap:3px!important;margin:15px 0!important;overflow-y:auto!important}.fibra-admin .admin-app-sidebar .admin-nav-label{display:block;margin:14px 11px 5px;color:#7897a2;font-size:.59rem;font-weight:950;letter-spacing:.16em}.fibra-admin .admin-app-sidebar .admin-nav a{display:flex!important;align-items:center;gap:10px;padding:9px 11px!important;border-radius:10px!important;color:#d9e6ea!important;font-size:.77rem!important;font-weight:750!important;text-align:left!important}.fibra-admin .admin-app-sidebar .admin-nav a:hover{background:#214b59!important;color:#fff!important}.admin-nav-icon{width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.07);display:grid;place-items:center;flex:0 0 22px;font-size:.72rem;color:#8fd8df}.fibra-admin .admin-app-sidebar .admin-head-actions{padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}.fibra-admin .admin-app-sidebar .admin-head-actions>a,.fibra-admin .admin-app-sidebar .admin-head-actions button{border:0!important;background:transparent!important;padding:8px 10px!important;color:#afc6ce!important}.fibra-admin .admin-main{margin-left:252px!important;padding:34px clamp(24px,3.6vw,52px)!important}.fibra-admin .admin-card{background:#fff!important;color:#3f5d66!important;border:1px solid #e0e8ea!important;box-shadow:0 6px 20px rgba(20,67,80,.04)!important;border-radius:18px!important}.fibra-admin .admin-card h2,.fibra-admin .admin-section-title h2{color:#183f4d!important}.fibra-admin .admin-kpis-wide article{background:#fff!important;border-color:#e0e8ea!important;box-shadow:0 5px 16px rgba(20,67,80,.035)!important}.fibra-admin .admin-kpis-wide article b{color:#173f4d!important}.fibra-admin .admin-kpis-wide article span{color:#748c94!important}.fibra-admin .dashboard-two-col{align-items:stretch}.fibra-admin .attention-card>a{background:#f8fafb;border:1px solid #e9eff1!important;border-radius:12px;margin:4px 0;padding:11px 12px!important}.fibra-admin .attention-card>a b{color:#0a91a1!important}.fibra-admin .quote-table-wrap table{background:#fff!important}.fibra-admin .quote-table-wrap thead{background:#f8fafb!important}.fibra-admin .quote-table-wrap th{color:#6a838b!important}.fibra-admin .quote-table-wrap td{color:#49646d!important;border-color:#edf1f2!important}

/* Ficha pública de piscina */
.pool-detail-page{background:#f5fbfc;color:#153f4d;min-height:100vh}.pool-detail-shell{max-width:1180px;margin:auto;padding:62px 28px 90px}.pool-detail-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:stretch}.pool-detail-photo{min-height:450px;border-radius:26px;background-size:cover;background-position:center;box-shadow:0 20px 50px rgba(11,78,96,.12)}.pool-detail-copy{padding:22px 0}.pool-detail-copy h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:.98;margin:7px 0 16px;color:#103f50}.pool-detail-copy>p{color:#68838c;line-height:1.7}.pool-detail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.pool-detail-specs div{padding:13px 14px;border-radius:13px;background:#fff;border:1px solid #dcebed}.pool-detail-specs span{display:block;color:#8399a0;font-size:.65rem;font-weight:900;text-transform:uppercase}.pool-detail-specs b{display:block;margin-top:3px;color:#264e5b}.pool-detail-price{margin:20px 0 22px;padding:18px 20px;border-radius:16px;background:#eaf8f9;border:1px solid #cce8eb}.pool-detail-price span,.pool-detail-price small{display:block}.pool-detail-price span{font-size:.65rem;font-weight:950;color:#0b8c9b;letter-spacing:.12em}.pool-detail-price strong{display:block;color:#0f4a5c;font-size:2rem;margin:2px 0}.pool-detail-price small{color:#6c858d;line-height:1.45}.pool-conditions-intro{max-width:800px;margin:80px auto 30px;text-align:center}.pool-conditions-intro h2{font-size:clamp(2rem,4vw,3.1rem);margin:4px 0 12px;color:#123f50}.pool-conditions-intro>p:last-child{color:#69848c;line-height:1.7}.pool-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pool-condition-card{position:relative;padding:28px;border-radius:22px;background:#fff;border:1px solid #dce9eb;box-shadow:0 10px 28px rgba(12,70,85,.05)}.pool-condition-card .condition-icon{position:absolute;right:25px;top:25px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:950}.pool-condition-card.included .condition-icon{background:#e5f7ed;color:#287f57}.pool-condition-card.excluded .condition-icon{background:#fff1e3;color:#a66211}.pool-condition-card h2{margin:3px 55px 18px 0;color:#173f4d}.pool-condition-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.pool-condition-card li{position:relative;padding-left:22px;color:#58737c;line-height:1.55}.pool-condition-card.included li:before{content:'✓';position:absolute;left:0;color:#299366;font-weight:950}.pool-condition-card.excluded li:before{content:'•';position:absolute;left:5px;color:#bd7c24;font-weight:950}.condition-note{margin-top:20px;padding:14px 15px;border-radius:13px;background:#f7fafb;color:#657f87;font-size:.79rem;line-height:1.55}.payment-section{margin-top:22px;padding:34px;border-radius:24px;background:#fff;border:1px solid #dce9eb;display:grid;grid-template-columns:.65fr 1.35fr;gap:28px}.payment-section h2{font-size:2.1rem;color:#173f4d;margin:4px 0 9px}.payment-section>div>p:last-child{color:#718990}.payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payment-steps article{padding:18px;border-radius:16px;background:#f5f9fa;border:1px solid #e2edef}.payment-steps span{display:block;color:#0aa0b0;font-size:.7rem;font-weight:950}.payment-steps b{display:block;color:#224d5a;margin:4px 0}.payment-steps p{font-size:.77rem;color:#71878e;line-height:1.5;margin:0}.before-start{margin-top:22px;padding:30px 34px;border-radius:24px;background:linear-gradient(135deg,#123f50,#1b5a67);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.before-start h2{font-size:2rem;margin:4px 0 8px}.before-start p{max-width:720px;color:#cfe0e4;margin:0}.before-start .btn{white-space:nowrap;background:#0bb7c4!important;color:#fff!important}.install-card-actions{display:grid;gap:8px}.install-price-body .install-card-actions>a{display:flex;justify-content:center;padding:12px;border-radius:11px;text-decoration:none;font-weight:900}.install-price-body .install-card-actions .install-primary{background:linear-gradient(135deg,#10bdc9,#159fdf);color:#fff}.install-price-body .install-card-actions .install-secondary{background:#eef8f9;color:#087d8c;border:1px solid #d3eaed;font-size:.76rem}

@media(max-width:900px){.pool-detail-hero,.pool-condition-grid,.payment-section{grid-template-columns:1fr}.pool-detail-photo{min-height:330px}.payment-steps{grid-template-columns:1fr 1fr}.fibra-admin .admin-main{margin-left:252px!important}}
@media(max-width:820px){.fibra-admin .admin-main{margin-left:0!important}.fibra-admin .admin-app-sidebar{width:270px!important}.quote-public-page .quote-public-shell{padding-top:40px}}
@media(max-width:620px){.pool-detail-shell{padding:36px 18px 58px}.pool-detail-photo{min-height:260px}.pool-detail-specs,.payment-steps{grid-template-columns:1fr}.pool-condition-card,.payment-section{padding:22px}.before-start{padding:24px;align-items:flex-start;flex-direction:column}.selected-product-strip strong{margin-left:0}.quote-public-page .quote-intro h1{font-size:2.45rem}}
.admin-manual-quote .quote-public-shell{margin-left:252px!important}
@media(max-width:820px){.admin-manual-quote .quote-public-shell{margin-left:0!important}}

/* FIBRA BLESS 0.8.3 — SIDEBAR NAVIGATION POLISH */
.fibra-admin .admin-app-sidebar .admin-nav{align-items:stretch!important;padding:0 2px!important}
.fibra-admin .admin-app-sidebar .admin-nav-label{text-align:left!important;padding-left:9px!important;margin-top:15px!important}
.fibra-admin .admin-app-sidebar .admin-nav a{width:100%!important;box-sizing:border-box!important;justify-content:flex-start!important;text-align:left!important;padding:10px 12px!important;min-height:42px!important}
.fibra-admin .admin-app-sidebar .admin-nav a>span:last-child{display:block;flex:1;text-align:left!important}
.fibra-admin .admin-app-sidebar .admin-nav a.active{background:#24515f!important;color:#fff!important;box-shadow:inset 3px 0 0 #19b8c7}
.fibra-admin .admin-app-sidebar .admin-nav a.active .admin-nav-icon{background:#2b6270;color:#baf6fa}

/* FIBRA BLESS 0.8.4 - transporte interno con fallback no bloqueante */
.transit-saved.transit-unavailable{background:#f7fafb;border-color:#d8e7ea;color:#365c67}
.transit-saved.transit-unavailable b{color:#123f50}
.transit-saved.transit-unavailable p{margin:.35rem 0 .3rem}

/* FIBRA 0.9.0 · fichas de reparaciones/equipamiento */
.repair-card>a,.solution-card>a{display:inline-flex;align-items:center;gap:5px}
.detail-main{padding-top:88px}.detail-hero{max-width:1260px;margin:0 auto;padding:58px 34px 52px;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center}.detail-hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.95;margin:8px 0 18px;color:#073f56}.detail-hero>div>p{color:#607f8b;line-height:1.72;max-width:670px}.detail-photo{height:440px;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(6,74,98,.17);background:#e8f5f6}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-price{margin:24px 0 8px;padding:18px 20px;border:1px solid #cce8eb;background:#f3fbfc;border-radius:18px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.detail-price small{width:100%;font-weight:900;letter-spacing:.09em;color:#6c8b95}.detail-price strong{font-size:1.65rem;color:#079aad}.detail-price span{font-weight:800;color:#466d7a}.detail-price-note{font-size:.78rem!important;margin:0 0 20px!important}.detail-columns{max-width:1192px;margin:0 auto 72px;padding:0 34px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-columns>article{padding:32px;border:1px solid #d7e9ec;border-radius:24px;background:#fff}.detail-columns h2,.detail-section-head h2{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.05;color:#073f56;margin:6px 0 24px}.detail-soft{background:#f3fbfc!important}.detail-soft ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.detail-soft li{padding:13px 15px;border-radius:13px;background:#fff;color:#315f6e;font-weight:800}.detail-soft p{color:#607f8b;line-height:1.7}.detail-warning{margin-top:22px;padding:15px;border-left:3px solid #10b8c7;background:#fff;border-radius:0 12px 12px 0;font-size:.8rem}.detail-list{display:grid;gap:10px}.detail-list div{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#f6fbfc}.detail-list b{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e1f8fa;color:#0799ad}.detail-list span{color:#315f6e;font-weight:750;line-height:1.4}.equipment-items{max-width:1260px;margin:0 auto;padding:10px 34px 66px}.detail-section-head{max-width:760px}.equipment-item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.equipment-item-grid article{padding:25px;border:1px solid #d7e9ec;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(5,74,97,.06)}.equipment-item-grid span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e1f8fa;color:#0799ad;font-weight:950}.equipment-item-grid h3{color:#073f56;margin:18px 0 8px}.equipment-item-grid p{color:#66818b;line-height:1.6;font-size:.82rem}
@media(max-width:900px){.detail-hero,.detail-columns{grid-template-columns:1fr}.detail-photo{height:340px}.equipment-item-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.detail-main{padding-top:74px}.detail-hero,.detail-columns,.equipment-items{padding-left:20px;padding-right:20px}.detail-hero{padding-top:40px}.detail-photo{height:250px}.detail-columns>article{padding:22px}.equipment-item-grid{grid-template-columns:1fr}.detail-price{align-items:flex-start;flex-direction:column;gap:5px}}

/* FIBRA 0.9.0 · carrusel preparado para fotos y planos definitivos */
.pool-card-carousel{height:220px;position:relative;overflow:hidden;background:#e9f5f6}.pool-card-track{height:100%;position:relative}.pool-card-slide{display:none;width:100%;height:100%}.pool-card-slide.active{display:block}.pool-card-slide img{width:100%;height:100%;object-fit:cover}.pool-card-placeholder{padding:28px;text-align:center;place-content:center;background:linear-gradient(145deg,#e8f8fa,#f7fcfd);color:#557984}.pool-card-placeholder.active{display:grid}.pool-card-placeholder span{font-size:.65rem;letter-spacing:.12em;font-weight:950;color:#0aa4b5}.pool-card-placeholder b{margin:8px 0;color:#073f56;font-size:1.15rem}.pool-card-placeholder small{max-width:240px;margin:auto;line-height:1.45}.pool-carousel-prev,.pool-carousel-next{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#07566b;font-size:1.55rem;cursor:pointer;box-shadow:0 4px 14px rgba(4,59,77,.16)}.pool-carousel-prev{left:10px}.pool-carousel-next{right:10px}.pool-carousel-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}.pool-carousel-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.65);box-shadow:0 0 0 1px rgba(7,63,86,.15)}.pool-carousel-dots button.active{width:19px;border-radius:8px;background:#0cb3c3}

/* FIBRA BLESS — PROTOTIPO LIMPIO TARJETA FOTOGRÁFICA DESNIVEL
   Prueba aislada: no reutiliza .repair-thumb para evitar conflictos con miniaturas. */
.repair-grid .repair-card-desnivel-test{
  min-height:330px;
  padding:0;
  overflow:hidden;
  gap:0;
}
.repair-grid .repair-card-desnivel-test .repair-photo-desnivel{
  width:100%;
  height:145px;
  flex:0 0 145px;
  margin:0;
  overflow:hidden;
  background:#e8f8fb;
}
.repair-grid .repair-card-desnivel-test .repair-photo-desnivel img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.repair-grid .repair-card-desnivel-test > div:nth-child(2){
  padding:16px 18px 8px;
}
.repair-grid .repair-card-desnivel-test > a{
  margin:0 18px 18px;
}
@media(max-width:620px){
  .repair-grid .repair-card-desnivel-test{
    min-height:0;
  }
  .repair-grid .repair-card-desnivel-test .repair-photo-desnivel{
    height:210px;
    flex-basis:210px;
  }
}

/* ==========================================================
   FIBRA BLESS 0.10.0 · CATÁLOGO Y TARJETAS DE SERVICIOS
   Selectores encapsulados por página para no afectar Home,
   trabajos, cotizador ni administración.
   ========================================================== */

/* Reparaciones, equipos y mantención: una sola familia visual. */
.repair-page .repair-grid,
.equipment-page .solution-grid,
.maintenance-page .solution-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.repair-page .repair-card,
.equipment-page .solution-card,
.maintenance-page .solution-card{
  min-height:430px;
  padding:0;
  gap:0;
  overflow:hidden;
  border:1px solid #d5e8eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 13px 32px rgba(5,74,97,.07);
  color:inherit;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}

.repair-page .repair-card:hover,
.equipment-page .solution-card:hover,
.maintenance-page .solution-card:hover{
  transform:translateY(-6px);
  border-color:#8bd8e1;
  box-shadow:0 21px 44px rgba(5,74,97,.14);
}

.repair-page .repair-thumb,
.repair-page .repair-photo-desnivel,
.equipment-page .solution-thumb,
.maintenance-page .solution-thumb{
  width:100%;
  height:190px;
  flex:0 0 190px;
  margin:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#e8f5f6;
  box-shadow:none;
}

.repair-page .repair-thumb img,
.repair-page .repair-photo-desnivel img,
.equipment-page .solution-thumb img,
.maintenance-page .solution-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}

.repair-page .repair-card:hover img,
.equipment-page .solution-card:hover img,
.maintenance-page .solution-card:hover img{
  transform:scale(1.035);
}

.repair-page .repair-card>div:nth-child(2),
.equipment-page .solution-card>div:nth-child(2),
.maintenance-page .solution-card>div:nth-child(2){
  flex:1;
  padding:20px 20px 12px;
}

.repair-page .repair-card h3,
.equipment-page .solution-card h3,
.maintenance-page .solution-card h3{
  margin:0 0 9px;
  color:#073f56;
  font-size:1.13rem;
  line-height:1.25;
}

.repair-page .repair-card p,
.equipment-page .solution-card p,
.maintenance-page .solution-card p{
  margin:0;
  color:#627d87;
  font-size:.81rem;
  line-height:1.58;
}

.equipment-page .solution-card ul{
  margin-top:14px;
}

.repair-page .repair-card>a,
.equipment-page .solution-card>a,
.maintenance-page .solution-card>a{
  align-self:flex-start;
  margin:0 20px 20px;
  padding:9px 12px;
  border-radius:999px;
  background:#eaf8fa;
  color:#078b9e;
  font-size:.75rem;
  font-weight:900;
  text-decoration:none;
  transition:background .2s ease,color .2s ease;
}

.repair-page .repair-card>a:hover,
.equipment-page .solution-card>a:hover,
.maintenance-page .solution-card>a:hover{
  background:#0b9eb1;
  color:#fff;
}

.interactive-service-card{cursor:pointer}
.interactive-service-card:focus-visible{
  outline:3px solid rgba(14,177,194,.38);
  outline-offset:4px;
}

/* Catálogo estilo tienda. */
.pool-catalog-page{overflow-x:clip}
.pool-catalog-page .pool-store{
  max-width:1320px;
  margin:0 auto;
  padding:24px 34px 76px;
  scroll-margin-top:100px;
}
.pool-catalog-page .pool-store-intro{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:48px;
  align-items:end;
  margin-bottom:32px;
}
.pool-catalog-page .pool-store-intro h2{
  margin:6px 0 0;
  color:#073f56;
  font-size:clamp(2.25rem,4vw,3.75rem);
  line-height:1;
}
.pool-catalog-page .pool-store-intro h2 span{color:#10b8c7}
.pool-catalog-page .pool-store-intro>p{
  margin:0;
  color:#67828c;
  line-height:1.68;
}
.pool-catalog-page .pool-catalog-shell{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.pool-catalog-page .pool-catalog-sidebar{
  position:sticky;
  top:108px;
  z-index:10;
  padding:20px;
  border:1px solid #d8e9ec;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(5,74,97,.07);
  backdrop-filter:blur(12px);
}
.pool-catalog-page .pool-catalog-sidebar>p{
  margin:0 0 13px;
  color:#78929b;
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.12em;
}
.pool-catalog-page .pool-filter-list{display:grid;gap:6px}
.pool-catalog-page .pool-filter-list button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#456b77;
  font:inherit;
  font-size:.79rem;
  font-weight:850;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.pool-catalog-page .pool-filter-list button:hover{
  border-color:#cfe7ea;
  background:#f1fafb;
}
.pool-catalog-page .pool-filter-list button b{
  display:grid;
  min-width:25px;
  height:25px;
  padding:0 6px;
  place-items:center;
  border-radius:999px;
  background:#e9f5f7;
  color:#66838d;
  font-size:.65rem;
}
.pool-catalog-page .pool-filter-list button.active{
  border-color:#073f56;
  background:#073f56;
  color:#fff;
  box-shadow:0 9px 22px rgba(7,63,86,.17);
}
.pool-catalog-page .pool-filter-list button.active b{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.pool-catalog-page .pool-catalog-content{
  min-width:0;
  scroll-margin-top:100px;
}
.pool-catalog-page .pool-catalog-panel[hidden]{display:none!important}
.pool-catalog-page .pool-category-block{
  margin:0 0 58px;
  padding-bottom:4px;
}
.pool-catalog-page .pool-category-block:last-child{margin-bottom:0}
.pool-catalog-page .pool-category-heading,
.pool-catalog-page .pool-selected-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid #d8e9ec;
}
.pool-catalog-page .pool-category-heading>div{
  display:flex;
  align-items:center;
  gap:11px;
}
.pool-catalog-page .pool-category-heading>div>span{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:10px;
  background:#def5f7;
  color:#089aab;
  font-size:.68rem;
  font-weight:950;
}
.pool-catalog-page .pool-category-heading h3,
.pool-catalog-page .pool-selected-heading h3{
  margin:0;
  color:#073f56;
  font-size:1.65rem;
  line-height:1;
}
.pool-catalog-page .pool-category-heading>small,
.pool-catalog-page .pool-selected-heading>p{
  margin:0;
  color:#789099;
  font-size:.73rem;
  font-weight:800;
}
.pool-catalog-page .pool-selected-heading .eyebrow{margin-bottom:7px}
.pool-catalog-page .install-price-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
  align-items:stretch;
}
.pool-catalog-page .install-price-card{
  display:flex;
  height:100%;
  min-width:0;
  flex-direction:column;
  border-radius:21px;
}
.pool-catalog-page .pool-card-carousel{height:205px;flex:0 0 205px}
.pool-catalog-page .install-price-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px;
}
.pool-catalog-page .install-price-body>p:first-of-type{
  min-height:24px;
  margin:2px 0 0;
}
.pool-catalog-page .install-price-body .from-price{margin-top:4px}
.pool-catalog-page .install-price-body .install-card-actions{margin-top:auto}
.pool-catalog-page .price-disclaimer{
  margin:12px 0 0;
  font-size:.66rem;
  line-height:1.45;
}
.pool-catalog-page .pool-see-all{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:17px;
  padding:10px 15px;
  border:1px solid #b9e2e7;
  border-radius:999px;
  background:#fff;
  color:#07899c;
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.pool-catalog-page .pool-see-all:hover{
  transform:translateY(-2px);
  background:#07899c;
  color:#fff;
}
.pool-catalog-page .pool-empty{
  grid-column:1/-1;
  padding:28px;
  border:1px dashed #c7e0e4;
  border-radius:18px;
  color:#66838c;
  text-align:center;
}

@media(max-width:1180px){
  .pool-catalog-page .install-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .repair-page .repair-grid,
  .equipment-page .solution-grid,
  .maintenance-page .solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .pool-catalog-page .pool-store-intro{grid-template-columns:1fr;gap:16px}
  .pool-catalog-page .pool-catalog-shell{grid-template-columns:minmax(0,1fr);gap:22px}
  .pool-catalog-page .pool-catalog-sidebar{
    top:76px;
    margin:0 -4px;
    padding:8px;
    border-radius:15px;
  }
  .pool-catalog-page .pool-catalog-sidebar>p{display:none}
  .pool-catalog-page .pool-filter-list{
    display:flex;
    max-width:100%;
    gap:7px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .pool-catalog-page .pool-filter-list::-webkit-scrollbar{display:none}
  .pool-catalog-page .pool-filter-list button{
    flex:0 0 auto;
    width:auto;
    min-height:40px;
    padding:8px 11px;
  }
  .pool-catalog-page .pool-catalog-content{scroll-margin-top:145px}
}
@media(max-width:620px){
  .repair-page .repair-grid,
  .equipment-page .solution-grid,
  .maintenance-page .solution-grid{grid-template-columns:minmax(0,1fr)}
  .repair-page .repair-card,
  .equipment-page .solution-card,
  .maintenance-page .solution-card{min-height:0}
  .repair-page .repair-thumb,
  .repair-page .repair-photo-desnivel,
  .equipment-page .solution-thumb,
  .maintenance-page .solution-thumb{height:210px;flex-basis:210px}

  .pool-catalog-page .pool-store{padding:18px 20px 58px}
  .pool-catalog-page .pool-store-intro{margin-bottom:23px}
  .pool-catalog-page .pool-store-intro h2{font-size:2.25rem}
  .pool-catalog-page .install-price-grid{grid-template-columns:minmax(0,1fr)}
  .pool-catalog-page .pool-card-carousel{height:215px;flex-basis:215px}
  .pool-catalog-page .pool-category-block{margin-bottom:45px}
  .pool-catalog-page .pool-category-heading,
  .pool-catalog-page .pool-selected-heading{align-items:flex-start}
  .pool-catalog-page .pool-selected-heading{flex-direction:column;gap:8px}
}

/* Admin · preparación de correo */
.email-compose-card{max-width:980px}.email-meta{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}.email-message{min-height:300px;line-height:1.55}.email-attachment{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-top:16px;border:1px solid #d7e7ea;border-radius:14px;background:#f7fafb}.email-attachment b,.email-attachment small{display:block}.email-attachment small{margin-top:5px;color:#6e858d}.email-pending{display:flex;flex-direction:column;gap:4px;padding:14px 16px;margin-top:14px;border-radius:12px;background:#fff8e8;color:#6d5a26}.email-compose-card button[disabled]{opacity:.55;cursor:not-allowed}@media(max-width:720px){.email-meta{grid-template-columns:1fr}.email-attachment{align-items:stretch;flex-direction:column}}
