:root{
  --bg:#070909;
  --bg2:#0b0d0d;
  --ink:#f4f4ef;
  --muted:rgba(244,244,239,.48);
  --line:rgba(255,255,255,.09);
  --cyan:#62e3ea;
  --lime:#c8ff64;
  --orange:#ff8b56;
  --violet:#9f86ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:360px;height:360px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(98,227,234,.06),transparent 66%);transform:translate(-50%,-50%);transition:opacity .3s}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(7,9,9,.92),rgba(7,9,9,.72));backdrop-filter:blur(18px)}
.brand img{width:250px;max-height:64px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:34px}.nav a{font-size:11px;letter-spacing:.16em;color:rgba(244,244,239,.56);transition:.25s}.nav a:hover{color:#fff}.nav-cta{border:1px solid rgba(255,255,255,.15);padding:14px 18px;color:#fff!important}.menu-btn{display:none;background:none;border:0;width:44px;height:44px;position:relative}.menu-btn span{position:absolute;width:22px;height:1px;background:#fff;left:11px;transition:.3s}.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}.mobile-nav{display:none}
.section{padding:140px 36px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.22em;color:rgba(244,244,239,.45);margin:0 0 18px}.hero{min-height:100vh;padding-top:98px;position:relative;overflow:hidden}.hero-grid{min-height:calc(100vh - 130px);display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:40px;padding:64px 36px 40px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(62px,7.1vw,138px);font-weight:400;line-height:.86;letter-spacing:-.07em;margin:0}.hero h1 span{color:rgba(244,244,239,.38)}.hero-lead{max-width:620px;margin:34px 0 0;font-size:17px;line-height:1.72;color:rgba(244,244,239,.54)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:24px;padding:16px 20px;font-size:10px;letter-spacing:.12em;border:1px solid rgba(255,255,255,.12);transition:.25s}.btn-primary{background:#f3f4ef;color:#0a0b0b}.btn-primary:hover{background:var(--cyan)}.btn-ghost:hover{border-color:rgba(255,255,255,.38)}
.hero-stage{height:650px;position:relative;transform-style:preserve-3d}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-a{width:440px;height:440px;right:4%;top:5%;background:radial-gradient(circle at 35% 35%,rgba(98,227,234,.17),rgba(98,227,234,.015) 55%,transparent 70%)}.orb-b{width:300px;height:300px;left:10%;bottom:4%;background:radial-gradient(circle at 50% 50%,rgba(159,134,255,.12),transparent 70%)}
.browser{position:absolute;background:#0d1010;border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 80px rgba(0,0,0,.48);overflow:hidden}.browser-main{width:76%;height:440px;right:1%;top:72px;transform:perspective(1200px) rotateY(-7deg) rotateX(2deg)}.browser-small{width:46%;height:250px;left:2%;bottom:18px;transform:perspective(900px) rotateY(10deg) rotateZ(-1deg)}.browser-bar{height:28px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;padding:0 11px;gap:6px;background:#101414}.browser-bar i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.22)}.browser-bar span{margin-left:auto;margin-right:auto;font-size:6px;letter-spacing:.08em;color:rgba(255,255,255,.18)}.browser-screen{height:calc(100% - 28px);position:relative;overflow:hidden}.theme-corporate{padding:20px;background:linear-gradient(130deg,#ede9df 0 52%,#272c2b 52%)}.fake-top{display:flex;align-items:center;gap:18px;color:#191c1b;font-size:7px;letter-spacing:.12em}.fake-top b{font-size:11px;margin-right:auto}.fake-hero-lines{position:absolute;left:20px;top:100px;color:#111}.fake-hero-lines span{display:block;width:50px;height:1px;background:#111;margin-bottom:14px}.fake-hero-lines strong{font-size:30px;line-height:.95;font-weight:500;letter-spacing:-.05em}.fake-hero-lines small{display:block;margin-top:14px;font-size:6px;letter-spacing:.2em}.fake-photo-grid{position:absolute;right:18px;top:62px;width:45%;height:74%;display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;gap:6px}.fake-photo-grid i{display:block;background:linear-gradient(145deg,#777,#1d2423)}.fake-photo-grid i:first-child{grid-row:1/3;background:linear-gradient(145deg,#a7977e,#2f3c38 62%,#171b1a)}.fake-photo-grid i:nth-child(2){background:linear-gradient(135deg,#bdc3b1,#41514b)}.fake-photo-grid i:nth-child(3){background:linear-gradient(135deg,#564d46,#111)}
.phone{position:absolute;z-index:4;width:190px;height:390px;border-radius:38px;background:#111;padding:8px;box-shadow:0 32px 80px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.16)}.phone-left{left:8%;top:24px;transform:rotate(-4deg)}.phone-screen{height:100%;border-radius:30px;overflow:hidden;padding:18px 14px;position:relative}.travel-theme{background:linear-gradient(180deg,#d6d0bf 0 44%,#17251f 44%);color:#161918}.phone-top{font-size:7px;display:flex;justify-content:space-between}.phone-screen>b{display:block;margin-top:20px;font-size:11px;letter-spacing:.18em}.travel-image{height:150px;margin:20px -14px 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.15)),linear-gradient(135deg,#99a69b,#375044 70%,#1d2d25)}.travel-theme h4{margin:18px 0 12px;color:#eff0e8;font-size:26px;line-height:.92;font-weight:400;letter-spacing:-.05em}.travel-theme button{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:6px;padding:8px 10px;letter-spacing:.1em}.commerce-theme{padding:18px;background:#f0efe9;color:#121212}.commerce-theme p{font-size:6px;letter-spacing:.18em}.commerce-theme strong{font-size:26px;font-weight:400;letter-spacing:-.05em}.product-row{position:absolute;bottom:18px;left:18px;right:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.product-row i{height:100px;background:linear-gradient(145deg,#b9b5ac,#6d6963)}.product-row i:nth-child(2){background:linear-gradient(145deg,#242424,#72706b)}.product-row i:nth-child(3){background:linear-gradient(145deg,#d1c5ad,#968c7b)}.hero-tag{position:absolute;z-index:6;padding:9px 11px;border:1px solid rgba(255,255,255,.14);font-size:7px;letter-spacing:.18em;background:rgba(7,9,9,.78);backdrop-filter:blur(8px)}.tag-a{right:9%;top:35px}.tag-b{right:0;bottom:110px}.tag-c{left:23%;bottom:4px}.hero-marquee{position:absolute;bottom:0;left:0;right:0;height:48px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);display:flex;overflow:hidden;align-items:center;color:rgba(244,244,239,.25);font-size:8px;letter-spacing:.2em;white-space:nowrap}.hero-marquee div{animation:marquee 28s linear infinite;padding-right:22px}
.section-head{display:grid;grid-template-columns:1fr .62fr;gap:80px;align-items:end;margin-bottom:60px}.section-head h2,.style-copy h2,.services-head h2,.contact h2{font-size:clamp(52px,6vw,98px);line-height:.94;letter-spacing:-.055em;font-weight:400;margin:0}.section-head>p{font-size:14px;line-height:1.8;color:var(--muted);max-width:520px}.showcase-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.show-card{position:relative;border:1px solid rgba(255,255,255,.08);background:#0a0d0d;overflow:hidden;min-height:420px;display:flex;flex-direction:column}.show-card:nth-child(1),.show-card:nth-child(6){grid-column:span 7}.show-card:nth-child(2),.show-card:nth-child(5){grid-column:span 5}.show-card:nth-child(3),.show-card:nth-child(8){grid-column:span 6}.show-card:nth-child(4),.show-card:nth-child(7){grid-column:span 6}.card-number{position:absolute;z-index:3;top:18px;left:18px;font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.46)}.mini-site{position:relative;flex:1;margin:0;overflow:hidden;min-height:340px}.show-info{padding:18px 20px 22px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;gap:16px;align-items:end}.show-info h3{font-size:22px;font-weight:400;margin:0;letter-spacing:-.03em}.show-info p{margin:0;font-size:8px;letter-spacing:.08em;color:rgba(255,255,255,.32);text-align:right}.corporate-mini{padding:30px;background:#e7e3d9;color:#171817}.mini-nav{display:flex;gap:16px;font-size:6px;letter-spacing:.12em}.mini-nav b{margin-right:auto;font-size:10px}.mini-corporate-hero{position:absolute;left:30px;top:115px}.mini-corporate-hero small{font-size:6px;letter-spacing:.2em}.mini-corporate-hero strong{display:block;font-size:42px;line-height:.9;font-weight:400;letter-spacing:-.06em;margin-top:10px}.mini-corporate-hero i{display:block;width:120px;height:1px;background:#151515;margin-top:16px}.mini-stats{position:absolute;right:28px;bottom:28px;display:flex;gap:22px}.mini-stats span{font-size:20px}.mini-stats small{font-size:5px;letter-spacing:.12em;color:#696969}.tourism-mini{background:#1d2d26}.tourism-visual{height:78%;padding:44px 28px;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.6)),linear-gradient(145deg,#8da29c,#354c42 60%,#1b2a24);display:flex;flex-direction:column;justify-content:flex-end}.tourism-visual span{font-size:6px;letter-spacing:.2em}.tourism-visual strong{font-size:48px;font-weight:400;letter-spacing:-.06em}.tourism-visual button{align-self:flex-start;margin-top:10px;background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff;padding:8px 11px;font-size:6px;letter-spacing:.12em}.tourism-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:22%;padding:4px}.tourism-thumbs i{background:#536f61}.tourism-thumbs i:nth-child(2){background:#847661}.tourism-thumbs i:nth-child(3){background:#24372e}.realestate-mini{background:#d7d3ca;color:#111}.realestate-top{height:46px;display:flex;align-items:center;gap:14px;padding:0 18px;border-bottom:1px solid rgba(0,0,0,.12);font-size:6px;letter-spacing:.12em}.realestate-top b{margin-right:auto;font-size:10px}.property-canvas{position:absolute;inset:46px 0 38px;overflow:hidden;background:#b9b5aa}.property-shape{position:absolute;width:62%;height:120%;right:-4%;top:-8%;background:linear-gradient(145deg,#2d3130,#85877f 60%,#d8d1c3);clip-path:polygon(16% 0,100% 0,100% 100%,0 100%,0 22%)}.property-copy{position:absolute;left:24px;bottom:28px}.property-copy small{font-size:6px;letter-spacing:.16em}.property-copy strong{display:block;font-size:42px;font-weight:400;letter-spacing:-.06em;margin-top:5px}.property-copy p{font-size:8px}.property-data{position:absolute;bottom:0;left:0;right:0;height:38px;display:flex;gap:22px;align-items:center;padding:0 18px;font-size:6px;letter-spacing:.1em;background:#111;color:#fff}.creative-mini{background:#130f20}.creative-word{position:absolute;left:20px;top:80px;font-size:70px;letter-spacing:-.08em;color:#e6ddff;mix-blend-mode:screen}.creative-rings{position:absolute;right:-40px;top:30px;width:260px;height:260px}.creative-rings i{position:absolute;inset:0;border:1px solid rgba(159,134,255,.38);border-radius:50%}.creative-rings i:nth-child(2){inset:36px;border-color:rgba(98,227,234,.38)}.creative-rings i:nth-child(3){inset:72px;border-color:rgba(255,139,86,.38)}.creative-caption{position:absolute;bottom:26px;left:22px;font-size:7px;letter-spacing:.2em;color:rgba(255,255,255,.4)}.shop-mini{background:#efeee8;color:#151515;padding:24px}.shop-top{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.12em}.shop-products{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:32px}.shop-products i{height:190px;background:linear-gradient(160deg,#cac5bb,#8a867e);position:relative}.shop-products i:nth-child(2){background:linear-gradient(160deg,#292929,#666)}.shop-products i:nth-child(3){background:linear-gradient(160deg,#e1d8c6,#a69c8a)}.shop-products small{position:absolute;top:7px;left:7px;font-style:normal;font-size:6px}.shop-title{font-size:28px;line-height:.9;margin-top:18px;letter-spacing:-.05em}.health-mini{background:#e8f0ed;color:#18211f;overflow:hidden}.health-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(24,33,31,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(24,33,31,.06) 1px,transparent 1px);background-size:26px 26px}.health-copy{position:absolute;left:30px;top:70px;z-index:2}.health-copy small{font-size:6px;letter-spacing:.18em}.health-copy strong{display:block;font-size:38px;line-height:.95;font-weight:400;letter-spacing:-.05em;margin-top:8px}.health-copy button{margin-top:20px;border:1px solid #1d2926;background:transparent;padding:8px 11px;font-size:6px;letter-spacing:.12em}.health-orbit{position:absolute;width:260px;height:260px;border:1px solid rgba(37,77,67,.28);border-radius:50%;right:-60px;bottom:-80px;box-shadow:0 0 0 40px rgba(37,77,67,.04),0 0 0 80px rgba(37,77,67,.025)}.food-mini{background:#21180f;color:#f5e9d6;overflow:hidden}.food-copy{position:absolute;left:28px;top:64px}.food-copy small{font-size:6px;letter-spacing:.2em}.food-copy strong{display:block;font-family:Georgia,serif;font-size:62px;font-weight:400;margin-top:5px}.food-copy p{font-size:8px;color:rgba(245,233,214,.48)}.food-plate{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#b99a6f 0 8%,#dfcfb3 9% 28%,#6b4e32 29% 40%,#d7c5a8 41% 60%,#3a291b 61%);right:-20px;bottom:-28px;box-shadow:0 30px 40px rgba(0,0,0,.5)}.food-plate i{position:absolute;width:60px;height:60px;border-radius:50%;background:#815b35;left:80px;top:80px}.campaign-mini{background:#0d0d0d;overflow:hidden}.campaign-lines{position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 42px,rgba(98,227,234,.11) 43px 44px,transparent 45px 85px)}.campaign-copy{position:absolute;left:30px;bottom:34px}.campaign-copy span{font-size:6px;letter-spacing:.18em;color:var(--cyan)}.campaign-copy strong{display:block;font-size:46px;line-height:.92;letter-spacing:-.05em;margin-top:8px}.campaign-copy button{margin-top:18px;background:var(--cyan);border:0;padding:9px 13px;font-size:6px;letter-spacing:.12em;color:#081011}
.style-lab{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.style-copy h2 span{color:rgba(244,244,239,.35)}.style-copy>p:last-of-type{font-size:14px;color:var(--muted);line-height:1.7;margin:24px 0 0;max-width:460px}.style-tabs{margin-top:34px;display:grid;max-width:360px;border-top:1px solid var(--line)}.style-tab{border:0;border-bottom:1px solid var(--line);background:none;color:rgba(244,244,239,.34);padding:14px 4px;text-align:left;font-size:9px;letter-spacing:.16em;cursor:pointer;transition:.25s}.style-tab:hover,.style-tab.is-active{color:#fff;padding-left:12px}.style-preview-wrap{padding:0}.style-preview{height:620px;border:1px solid rgba(255,255,255,.1);background:#111;box-shadow:0 40px 90px rgba(0,0,0,.38);overflow:hidden;transition:.4s}.style-browser-bar{height:30px;background:#101212;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:6px;padding:0 10px}.style-browser-bar i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.25)}.style-browser-bar span{margin:auto;font-size:6px;letter-spacing:.08em;color:rgba(255,255,255,.18)}.style-demo{height:calc(100% - 30px);padding:28px;position:relative;transition:.45s}.style-demo-nav{display:flex;gap:20px;font-size:7px;letter-spacing:.12em}.style-demo-nav b{margin-right:auto}.style-demo-copy{position:absolute;left:8%;top:26%;max-width:56%}.style-demo-copy small{font-size:7px;letter-spacing:.18em}.style-demo-copy h3{font-size:58px;line-height:.9;letter-spacing:-.06em;font-weight:400;margin:14px 0}.style-demo-copy p{font-size:10px;line-height:1.6;max-width:330px}.style-demo-copy button{margin-top:15px;background:none;border:1px solid currentColor;padding:9px 12px;font-size:6px;letter-spacing:.12em;color:inherit}.style-demo-art{position:absolute;right:6%;bottom:8%;width:36%;height:64%;overflow:hidden}.style-demo-art i{position:absolute;inset:0;background:linear-gradient(145deg,#a4a097,#4b514e)}.style-demo-art span{position:absolute;right:10px;bottom:10px;font-size:6px;letter-spacing:.14em}.style-preview[data-style="minimal"] .style-demo{background:#ebe9e3;color:#171817}.style-preview[data-style="corporate"] .style-demo{background:#0c1214;color:#edf4f3}.style-preview[data-style="corporate"] .style-demo-art i{background:linear-gradient(145deg,#17313a,#2a6e7e 55%,#101a1e)}.style-preview[data-style="editorial"] .style-demo{background:#f0e5d8;color:#20160f;font-family:Georgia,serif}.style-preview[data-style="editorial"] .style-demo-copy h3{font-size:66px;font-weight:400}.style-preview[data-style="editorial"] .style-demo-art i{background:linear-gradient(145deg,#8c6f58,#2c211b)}.style-preview[data-style="experimental"] .style-demo{background:#120c1d;color:#f4ebff}.style-preview[data-style="experimental"] .style-demo::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;border:1px solid rgba(159,134,255,.42);right:-120px;top:-80px;box-shadow:0 0 0 60px rgba(98,227,234,.05),0 0 0 120px rgba(255,139,86,.03)}.style-preview[data-style="experimental"] .style-demo-art i{background:linear-gradient(145deg,#6d3f98,#2b1648 60%,#111)}.style-preview[data-style="commercial"] .style-demo{background:#faf9f4;color:#0d0d0d}.style-preview[data-style="commercial"] .style-demo-copy h3{font-size:52px}.style-preview[data-style="commercial"] .style-demo-art i{background:linear-gradient(145deg,#e2cfb7,#756453)}
.photo-ribbon{display:grid;grid-template-columns:1.3fr .9fr 1fr .85fr 1.2fr;gap:8px;height:520px}.photo-card{position:relative;overflow:hidden;filter:saturate(.8);transition:.45s;cursor:pointer}.photo-card:hover{filter:saturate(1.1);transform:translateY(-6px)}.photo-card span{position:absolute;left:14px;bottom:14px;font-size:7px;letter-spacing:.14em;background:rgba(0,0,0,.5);padding:8px 9px;backdrop-filter:blur(5px)}.photo-a{background:linear-gradient(180deg,transparent,rgba(0,0,0,.45)),linear-gradient(145deg,#a5b8b0,#37554a 55%,#17251f)}.photo-b{background:linear-gradient(180deg,transparent,rgba(0,0,0,.45)),linear-gradient(135deg,#b3a492,#514941 60%,#1d1d1d)}.photo-c{background:linear-gradient(180deg,transparent,rgba(0,0,0,.45)),linear-gradient(145deg,#d8d0c3,#8a7e6d)}.photo-d{background:linear-gradient(180deg,transparent,rgba(0,0,0,.65)),linear-gradient(135deg,#3d214f,#0d0b14 70%,#1a0f25)}.photo-e{background:linear-gradient(180deg,transparent,rgba(0,0,0,.55)),linear-gradient(145deg,#59656a,#1b2327 60%,#0b0d0e)}
.services{padding-top:80px}.services-head{max-width:900px}.service-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:58px}.service-cloud span{border:1px solid rgba(255,255,255,.12);padding:15px 18px;border-radius:999px;font-size:9px;letter-spacing:.12em;color:rgba(244,244,239,.55);transition:.25s}.service-cloud span:hover{color:#071011;background:var(--cyan);border-color:var(--cyan);transform:translateY(-3px)}
.contact{min-height:680px;display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;border-top:1px solid rgba(255,255,255,.07);overflow:hidden}.contact-bg{position:absolute;inset:0;z-index:-1}.contact-bg span{position:absolute;border:1px solid rgba(98,227,234,.09);border-radius:50%}.contact-bg span:nth-child(1){width:760px;height:760px;right:-180px;top:-120px}.contact-bg span:nth-child(2){width:520px;height:520px;right:-60px;top:0;border-color:rgba(159,134,255,.08)}.contact-bg span:nth-child(3){width:280px;height:280px;right:60px;top:120px;border-color:rgba(255,139,86,.08)}.contact-copy p:last-child{margin-top:26px;font-size:14px;line-height:1.8;color:var(--muted)}.contact-actions{display:grid;border-top:1px solid var(--line)}.contact-actions a{display:flex;justify-content:space-between;padding:18px 2px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.06em;color:rgba(244,244,239,.58);transition:.25s}.contact-actions a:hover{color:#fff;padding-left:10px}.footer{height:130px;border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 36px;font-size:8px;letter-spacing:.14em;color:rgba(244,244,239,.35)}.footer img{width:34px;height:34px;object-fit:contain;opacity:.6}.footer a{margin-left:auto}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes marquee{to{transform:translateX(-100%)}}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr;padding-top:80px}.hero-stage{height:580px}.section-head{grid-template-columns:1fr;gap:24px}.show-card:nth-child(n){grid-column:span 6}.style-lab{grid-template-columns:1fr}.style-tabs{max-width:none;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.style-tab{border-bottom:0;border-right:1px solid var(--line);text-align:center;padding:14px 6px}.style-tab:hover,.style-tab.is-active{padding-left:6px;background:rgba(255,255,255,.03)}.contact{grid-template-columns:1fr}.photo-ribbon{grid-template-columns:repeat(5,280px);overflow-x:auto}.photo-card{min-width:280px}.style-preview{height:560px}}
@media(max-width:760px){.site-header{height:78px;padding:0 18px}.brand img{width:190px}.nav{display:none}.menu-btn{display:block}.mobile-nav{position:fixed;z-index:90;top:78px;left:0;right:0;background:rgba(7,9,9,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:grid;max-height:0;overflow:hidden;transition:.35s}.mobile-nav.is-open{max-height:320px}.mobile-nav a{padding:18px;border-bottom:1px solid rgba(255,255,255,.06);font-size:10px;letter-spacing:.16em}.hero{padding-top:78px}.hero-grid{padding:58px 18px 42px}.hero h1{font-size:clamp(54px,15vw,86px)}.hero-stage{height:470px;margin-top:20px}.browser-main{width:84%;height:310px;top:78px}.browser-small{width:56%;height:190px}.phone{width:140px;height:285px}.phone-left{left:2%;top:5px}.travel-image{height:100px}.travel-theme h4{font-size:18px}.fake-hero-lines{top:78px}.fake-hero-lines strong{font-size:20px}.section{padding:95px 18px}.showcase-grid{grid-template-columns:1fr}.show-card:nth-child(n){grid-column:auto;min-height:360px}.mini-site{min-height:290px}.show-info{align-items:start;flex-direction:column}.show-info p{text-align:left}.style-preview{height:450px}.style-tabs{grid-template-columns:1fr 1fr}.style-tab:nth-child(5){grid-column:span 2}.style-demo{padding:18px}.style-demo-copy{left:7%;max-width:64%;top:28%}.style-demo-copy h3{font-size:42px!important}.style-demo-art{width:38%;height:58%}.photo-ribbon{height:400px;grid-template-columns:repeat(5,250px)}.contact{min-height:580px}.footer{padding:0 18px;flex-wrap:wrap;gap:12px}.footer a{width:100%;margin:0}.cursor-glow{display:none}}
@media(max-width:480px){.brand img{width:165px}.hero-stage{height:420px}.browser-main{width:88%;height:270px}.browser-small{width:58%;height:160px}.phone{width:126px;height:255px}.hero-tag{display:none}.fake-photo-grid{width:42%}.section-head h2,.style-copy h2,.services-head h2,.contact h2{font-size:46px}.style-preview{height:390px}.style-demo-copy h3{font-size:34px!important}.style-demo-copy p{font-size:8px}.photo-ribbon{grid-template-columns:repeat(5,220px);height:340px}.service-cloud span{font-size:8px;padding:12px 14px}}

/* V2 — selector global de atmósferas */
:root{
  --theme-bg:#070909;
  --theme-panel:#0d1112;
  --theme-text:#f4f4ef;
  --theme-muted:rgba(244,244,239,.48);
  --theme-line:rgba(255,255,255,.09);
  --theme-accent:#62e3ea;
  --theme-accent-2:#9f86ff;
  --theme-hot:#ff8b56;
  --theme-radius:0px;
  --theme-card-radius:0px;
  --theme-shadow:0 30px 80px rgba(0,0,0,.28);
  --theme-photo-filter:saturate(.88) contrast(1.02);
  --theme-heading-font:inherit;
  --theme-body-font:inherit;
}

body{
  background:var(--theme-bg);
  color:var(--theme-text);
  font-family:var(--theme-body-font);
  transition:background-color .7s ease,color .55s ease;
}
body[data-theme="corporate"]{
  --theme-bg:#070909;--theme-panel:#0d1112;--theme-text:#f4f4ef;--theme-muted:rgba(244,244,239,.48);--theme-line:rgba(255,255,255,.09);--theme-accent:#62e3ea;--theme-accent-2:#9f86ff;--theme-hot:#ff8b56;--theme-card-radius:0px;--theme-shadow:0 30px 80px rgba(0,0,0,.28);--theme-photo-filter:saturate(.88) contrast(1.02);
}
body[data-theme="minimal"]{
  --theme-bg:#f1efe8;--theme-panel:#e8e4da;--theme-text:#121413;--theme-muted:rgba(18,20,19,.54);--theme-line:rgba(18,20,19,.14);--theme-accent:#1c2624;--theme-accent-2:#8f978e;--theme-hot:#6f756d;--theme-card-radius:2px;--theme-shadow:0 26px 70px rgba(39,43,40,.08);--theme-photo-filter:saturate(.62) contrast(.98) brightness(1.04);
}
body[data-theme="editorial"]{
  --theme-bg:#efe2d3;--theme-panel:#e6d3c0;--theme-text:#2a1711;--theme-muted:rgba(42,23,17,.57);--theme-line:rgba(75,43,31,.18);--theme-accent:#8f3e32;--theme-accent-2:#bb856b;--theme-hot:#d34f32;--theme-card-radius:0px;--theme-shadow:0 30px 80px rgba(73,42,30,.12);--theme-photo-filter:sepia(.14) saturate(.84) contrast(1.03);--theme-heading-font:Georgia,'Times New Roman',serif;
}
body[data-theme="experimental"]{
  --theme-bg:#100b19;--theme-panel:#171022;--theme-text:#f6efff;--theme-muted:rgba(246,239,255,.52);--theme-line:rgba(185,154,255,.16);--theme-accent:#73f1ec;--theme-accent-2:#b68cff;--theme-hot:#ff6f91;--theme-card-radius:22px;--theme-shadow:0 34px 100px rgba(78,38,121,.30);--theme-photo-filter:saturate(1.12) contrast(1.08);
}
body[data-theme="commercial"]{
  --theme-bg:#f7f7f3;--theme-panel:#ffffff;--theme-text:#0c1c29;--theme-muted:rgba(12,28,41,.56);--theme-line:rgba(12,28,41,.13);--theme-accent:#1668ff;--theme-accent-2:#0f2d4a;--theme-hot:#ff6933;--theme-card-radius:16px;--theme-shadow:0 24px 60px rgba(18,45,72,.12);--theme-photo-filter:saturate(1.02) contrast(1.03) brightness(1.02);
}

.site-header,.mobile-nav,.theme-dock,.show-card,.style-preview,.service-cloud span,.contact-actions a,.browser,.phone,.mini-site,.photo-card,.btn-primary,.btn-ghost,.nav-cta{
  transition:background-color .55s ease,color .55s ease,border-color .55s ease,box-shadow .55s ease,border-radius .55s ease,filter .55s ease,transform .45s ease;
}
.hero h1,.section-head h2,.style-copy h2,.services-head h2,.contact h2,.show-info h3{font-family:var(--theme-heading-font)}
.eyebrow,.hero-lead,.section-head>p,.show-info p,.style-copy>p,.contact-copy p:last-child{color:var(--theme-muted)}
.site-header{background:color-mix(in srgb,var(--theme-bg) 88%,transparent);border-color:var(--theme-line)}
.nav a,.mobile-nav a{color:var(--theme-muted)}
.nav a:hover,.mobile-nav a:hover{color:var(--theme-text)}
.nav-cta{border-color:var(--theme-line)!important}
.noise{opacity:.18;mix-blend-mode:soft-light}
body[data-theme="minimal"] .noise,body[data-theme="commercial"] .noise{opacity:.05}
.cursor-glow{background:radial-gradient(circle,var(--theme-accent) 0,transparent 68%);opacity:.10}
.hero::before,.showroom::before,.style-lab::before,.services::before{filter:hue-rotate(0deg)}
.hero-marquee{border-color:var(--theme-line);color:var(--theme-muted)}
.btn-primary{background:var(--theme-accent);color:var(--theme-bg);border-color:var(--theme-accent);border-radius:var(--theme-card-radius)}
.btn-ghost{border-color:var(--theme-line);color:var(--theme-text);border-radius:var(--theme-card-radius)}
.show-card{border-color:var(--theme-line);background:color-mix(in srgb,var(--theme-panel) 74%,transparent);border-radius:var(--theme-card-radius);box-shadow:var(--theme-shadow)}
.show-card:hover{border-color:color-mix(in srgb,var(--theme-accent) 42%,var(--theme-line));transform:translateY(-5px)}
.show-info{border-color:var(--theme-line)}
.card-number{color:color-mix(in srgb,var(--theme-accent) 66%,var(--theme-muted))}
.style-preview{border-color:var(--theme-line);border-radius:var(--theme-card-radius);box-shadow:var(--theme-shadow)}
.style-tabs{border-color:var(--theme-line)}
.style-tab{border-color:var(--theme-line);color:var(--theme-muted)}
.style-tab.is-active{color:var(--theme-text);background:color-mix(in srgb,var(--theme-accent) 9%,transparent)}
.photo-card{filter:var(--theme-photo-filter);border-radius:var(--theme-card-radius)}
.service-cloud span{border-color:var(--theme-line);color:var(--theme-muted);border-radius:999px}
.service-cloud span:hover{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-bg)}
.contact,.footer{border-color:var(--theme-line)}
.contact-actions{border-color:var(--theme-line)}
.contact-actions a{border-color:var(--theme-line);color:var(--theme-muted)}
.contact-actions a:hover{color:var(--theme-text)}
.footer{color:var(--theme-muted)}

/* dock superior */
.theme-dock{
  position:fixed;z-index:88;top:92px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:14px;padding:8px 10px 8px 13px;
  border:1px solid var(--theme-line);background:color-mix(in srgb,var(--theme-bg) 84%,transparent);
  backdrop-filter:blur(18px) saturate(1.25);box-shadow:0 15px 45px rgba(0,0,0,.12);
  max-width:calc(100vw - 28px);border-radius:999px;
}
.theme-dock-label{font-size:6px;letter-spacing:.18em;color:var(--theme-muted);white-space:nowrap;padding-left:3px}
.theme-dock-scroll{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}
.theme-dock-scroll::-webkit-scrollbar{display:none}
.theme-chip{
  --chip-accent:var(--theme-accent);
  position:relative;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  border:1px solid transparent;background:transparent;color:var(--theme-muted);
  padding:7px 10px;border-radius:999px;font:inherit;font-size:7px;letter-spacing:.11em;cursor:pointer;
}
.theme-chip i{position:relative;width:6px;height:6px;border-radius:50%;background:var(--chip-accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--chip-accent) 38%,transparent);flex:0 0 auto}
.theme-chip i::after{content:"";position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--chip-accent) 35%,transparent);border-radius:50%;animation:themePulse 2.4s ease-out infinite}
.theme-chip:hover{color:var(--theme-text);border-color:color-mix(in srgb,var(--chip-accent) 30%,transparent)}
.theme-chip.is-active{color:var(--theme-text);border-color:color-mix(in srgb,var(--chip-accent) 42%,transparent);background:color-mix(in srgb,var(--chip-accent) 8%,transparent)}
.theme-chip.is-active i{box-shadow:0 0 12px color-mix(in srgb,var(--chip-accent) 56%,transparent)}
.theme-minimal{--chip-accent:#a0a49f}.theme-corporate{--chip-accent:#62e3ea}.theme-editorial{--chip-accent:#b75f4b}.theme-experimental{--chip-accent:#b68cff}.theme-commercial{--chip-accent:#1668ff}
@keyframes themePulse{0%{transform:scale(.72);opacity:.6}70%{transform:scale(1.8);opacity:0}100%{transform:scale(1.8);opacity:0}}

/* personalidad por tema, misma información */
body[data-theme="minimal"] .orb,body[data-theme="minimal"] .hero-tag{opacity:.14}
body[data-theme="minimal"] .browser,body[data-theme="minimal"] .phone,body[data-theme="minimal"] .show-card{box-shadow:none}
body[data-theme="minimal"] .show-card{border-width:1px}
body[data-theme="minimal"] .hero h1 span{color:var(--theme-muted)}
body[data-theme="editorial"] .hero h1,body[data-theme="editorial"] .section-head h2,body[data-theme="editorial"] .style-copy h2{letter-spacing:-.055em;font-weight:400}
body[data-theme="editorial"] .show-card:nth-child(odd){transform:translateY(14px)}
body[data-theme="editorial"] .show-card:nth-child(odd):hover{transform:translateY(8px)}
body[data-theme="editorial"] .hero-tag{border-radius:0}
body[data-theme="experimental"] .orb-a{background:radial-gradient(circle,#8b62ff 0,transparent 68%)}
body[data-theme="experimental"] .orb-b{background:radial-gradient(circle,#56f4ed 0,transparent 68%)}
body[data-theme="experimental"] .show-card:nth-child(3n+1){transform:rotate(-.45deg)}
body[data-theme="experimental"] .show-card:nth-child(3n+2){transform:rotate(.45deg)}
body[data-theme="experimental"] .show-card:hover{transform:rotate(0deg) translateY(-6px)}
body[data-theme="experimental"] .hero-marquee{color:color-mix(in srgb,var(--theme-accent) 70%,var(--theme-text))}
body[data-theme="commercial"] .btn-primary{box-shadow:0 10px 26px color-mix(in srgb,var(--theme-accent) 28%,transparent)}
body[data-theme="commercial"] .show-card{background:#fff}
body[data-theme="commercial"] .site-header,body[data-theme="minimal"] .site-header{box-shadow:0 1px 0 var(--theme-line)}
body[data-theme="commercial"] .hero h1 span{color:var(--theme-accent)}

@media(max-width:760px){
  .theme-dock{top:84px;left:12px;right:12px;transform:none;justify-content:flex-start;padding:7px 8px;border-radius:16px}
  .theme-dock-label{display:none}.theme-dock-scroll{width:100%;padding:1px}.theme-chip{padding:7px 9px;font-size:6px}
  .hero{padding-top:116px}
}

/* =========================================================
   V3 — TRUE DESIGN MODES
   Mismo contenido, cinco lenguajes visuales realmente distintos.
   ========================================================= */
:root{
  --mode-body:"Segoe UI",Arial,Helvetica,sans-serif;
  --mode-display:"Segoe UI",Arial,Helvetica,sans-serif;
  --mode-mono:Consolas,"Courier New",monospace;
  --mode-ease:cubic-bezier(.2,.7,.2,1);
}
body{font-family:var(--mode-body);}
.hero h1,.section-head h2,.style-copy h2,.services-head h2,.contact h2,.show-info h3{font-family:var(--mode-display);}
.theme-fx{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.55;transition:opacity .55s ease,filter .55s ease}
.theme-wash{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s ease,background .6s ease}
main,.footer{position:relative;z-index:1}.site-header,.theme-dock,.mobile-nav{z-index:100}.theme-dock{z-index:110}

/* transiciones de tema */
body.is-theme-switching .hero-stage{transform:scale(.992);filter:blur(.5px)}
body.is-theme-switching .show-card{filter:brightness(.97)}
.hero-stage,.show-card{transition:transform .65s var(--mode-ease),filter .45s ease,background .5s ease,border-color .5s ease,box-shadow .5s ease}

/* botón selector: cada personalidad se intuye incluso antes de activarla */
.theme-chip{overflow:hidden;isolation:isolate}
.theme-chip::before{content:"";position:absolute;inset:auto 12px 3px 12px;height:1px;background:var(--chip-accent);transform:scaleX(0);transform-origin:left;opacity:.65;transition:transform .35s ease}
.theme-chip:hover::before,.theme-chip.is-active::before{transform:scaleX(1)}
.theme-minimal{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:300}
.theme-corporate{font-family:Consolas,"Courier New",monospace;border-radius:2px}
.theme-editorial{font-family:Georgia,"Times New Roman",serif;font-style:italic}
.theme-experimental{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.14em}
.theme-commercial{font-family:Arial,Helvetica,sans-serif;font-weight:800}

/* ---------------- MINIMALISTA ---------------- */
body[data-theme="minimal"]{
  --mode-body:"Helvetica Neue",Arial,Helvetica,sans-serif;
  --mode-display:"Helvetica Neue",Arial,Helvetica,sans-serif;
  --theme-bg:#f4f2ec;--theme-panel:#f8f6f1;--theme-text:#111412;--theme-muted:rgba(17,20,18,.52);--theme-line:rgba(17,20,18,.16);--theme-accent:#111412;--theme-accent-2:#8b918b;--theme-hot:#555b57;
}
body[data-theme="minimal"] .theme-fx{opacity:.18;filter:grayscale(1)}
body[data-theme="minimal"] .cursor-glow{display:none}
body[data-theme="minimal"] .brand img{filter:invert(1)}
body[data-theme="minimal"] .site-header{height:84px;padding-inline:42px;background:rgba(244,242,236,.9);backdrop-filter:blur(20px);box-shadow:none}
body[data-theme="minimal"] .theme-dock{top:78px;background:rgba(244,242,236,.92);box-shadow:none;border-radius:0;padding:7px 10px}
body[data-theme="minimal"] .hero{padding-top:84px}
body[data-theme="minimal"] .hero-grid{grid-template-columns:1.05fr .95fr;gap:7vw;padding-top:110px}
body[data-theme="minimal"] .hero h1{font-weight:200;line-height:.91;letter-spacing:-.065em;font-size:clamp(60px,7vw,126px)}
body[data-theme="minimal"] .hero h1 span{font-weight:200;color:rgba(17,20,18,.28)}
body[data-theme="minimal"] .eyebrow,body[data-theme="minimal"] .nav a{font-weight:400;letter-spacing:.2em}
body[data-theme="minimal"] .hero-stage{height:610px}
body[data-theme="minimal"] .orb{display:none}
body[data-theme="minimal"] .browser,body[data-theme="minimal"] .phone{box-shadow:none!important;border-color:rgba(17,20,18,.2);background:#fff}
body[data-theme="minimal"] .browser-main{transform:none;width:72%;right:0;top:60px}
body[data-theme="minimal"] .browser-small{transform:none;width:38%;left:0;bottom:55px}
body[data-theme="minimal"] .phone-left{transform:none;left:4%;top:8px}
body[data-theme="minimal"] .hero-tag{background:rgba(244,242,236,.92);border-color:rgba(17,20,18,.16);color:#111;border-radius:0;opacity:.62}
body[data-theme="minimal"] .hero-marquee div{animation-duration:44s}
body[data-theme="minimal"] .showcase-grid{gap:1px;background:var(--theme-line);border:1px solid var(--theme-line)}
body[data-theme="minimal"] .show-card{border:0;background:var(--theme-panel);min-height:390px}
body[data-theme="minimal"] .show-card:hover{transform:none;background:#fff}
body[data-theme="minimal"] .show-info{padding:15px 18px 18px}
body[data-theme="minimal"] .show-info h3{font-weight:300;font-size:19px}
body[data-theme="minimal"] .mini-site{filter:grayscale(.82) saturate(.45)}
body[data-theme="minimal"] .photo-card{filter:grayscale(.72) contrast(.95) brightness(1.04)}
body[data-theme="minimal"] .btn-primary,body[data-theme="minimal"] .btn-ghost{border-radius:0;font-weight:500}
body[data-theme="minimal"] .btn-primary{background:#111;color:#fff}
body[data-theme="minimal"] .reveal{transform:translateY(8px);transition-duration:.95s}

/* ---------------- CORPORATIVO ---------------- */
body[data-theme="corporate"]{
  --mode-body:"Segoe UI",Arial,Helvetica,sans-serif;
  --mode-display:"Segoe UI",Arial,Helvetica,sans-serif;
  --theme-bg:#06090b;--theme-panel:#0a1013;--theme-text:#edf6f7;--theme-muted:rgba(237,246,247,.46);--theme-line:rgba(115,225,235,.12);--theme-accent:#62e3ea;--theme-accent-2:#5d82ff;
}
body[data-theme="corporate"] .theme-fx{opacity:.72}
body[data-theme="corporate"] .theme-wash{opacity:1;background:linear-gradient(rgba(90,225,235,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(90,225,235,.024) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,#000,transparent 76%)}
body[data-theme="corporate"] .site-header{background:rgba(6,9,11,.88)}
body[data-theme="corporate"] .hero h1{font-weight:320;letter-spacing:-.065em}
body[data-theme="corporate"] .eyebrow,body[data-theme="corporate"] .nav,body[data-theme="corporate"] .show-info p{font-family:var(--mode-mono)}
body[data-theme="corporate"] .hero-stage::after{content:"";position:absolute;inset:6% 1% 7% 4%;border:1px solid rgba(98,227,234,.08);background:linear-gradient(180deg,transparent 0 48%,rgba(98,227,234,.13) 49%,transparent 50%);background-size:100% 145px;animation:corpScan 5.8s linear infinite;pointer-events:none}
body[data-theme="corporate"] .browser,body[data-theme="corporate"] .phone{border-color:rgba(98,227,234,.18);box-shadow:0 30px 80px rgba(0,0,0,.54),0 0 0 1px rgba(98,227,234,.02)}
body[data-theme="corporate"] .show-card{border-color:rgba(98,227,234,.11);background:linear-gradient(145deg,rgba(98,227,234,.025),rgba(255,255,255,.006))}
body[data-theme="corporate"] .show-card::after{content:"";position:absolute;inset:9px;border:1px solid transparent;pointer-events:none;transition:border-color .3s}
body[data-theme="corporate"] .show-card:hover::after{border-color:rgba(98,227,234,.11)}
body[data-theme="corporate"] .show-card:hover{transform:translateY(-3px)}
body[data-theme="corporate"] .btn-primary{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%)}
body[data-theme="corporate"] .service-cloud span{border-radius:2px;font-family:var(--mode-mono)}
body[data-theme="corporate"] .photo-card::after{content:"+";position:absolute;right:10px;top:8px;color:#62e3ea;font-family:var(--mode-mono);font-size:10px;opacity:.5}
@keyframes corpScan{from{background-position:0 -180px}to{background-position:0 680px}}

/* ---------------- EDITORIAL ---------------- */
body[data-theme="editorial"]{
  --mode-body:"Helvetica Neue",Arial,Helvetica,sans-serif;
  --mode-display:Georgia,"Times New Roman",serif;
  --theme-bg:#efe4d5;--theme-panel:#e5d4bf;--theme-text:#291912;--theme-muted:rgba(41,25,18,.54);--theme-line:rgba(74,46,33,.18);--theme-accent:#9b4434;--theme-accent-2:#c88a68;
}
body[data-theme="editorial"] .theme-fx{opacity:.26;filter:sepia(.25)}
body[data-theme="editorial"] .brand img{filter:invert(1)}
body[data-theme="editorial"] .site-header{background:rgba(239,228,213,.9);height:92px}
body[data-theme="editorial"] .theme-dock{background:rgba(239,228,213,.91);border-radius:3px}
body[data-theme="editorial"] .hero-grid{grid-template-columns:.72fr 1.28fr;padding-top:92px;align-items:start}
body[data-theme="editorial"] .hero-copy{padding-top:70px}
body[data-theme="editorial"] .hero h1{font-size:clamp(68px,8vw,150px);font-weight:400;line-height:.83;letter-spacing:-.075em}
body[data-theme="editorial"] .hero h1 span{font-style:italic;color:var(--theme-accent)}
body[data-theme="editorial"] .hero-lead{font-family:Georgia,"Times New Roman",serif;font-size:19px;max-width:520px}
body[data-theme="editorial"] .hero-stage{height:700px}
body[data-theme="editorial"] .browser-main{width:72%;right:0;top:28px;transform:rotate(1.8deg);box-shadow:16px 18px 0 rgba(72,44,31,.12)}
body[data-theme="editorial"] .browser-small{left:0;bottom:16px;transform:rotate(-2.5deg);box-shadow:10px 12px 0 rgba(72,44,31,.1)}
body[data-theme="editorial"] .phone-left{left:9%;top:122px;transform:rotate(-7deg);box-shadow:12px 14px 0 rgba(72,44,31,.12)}
body[data-theme="editorial"] .hero-tag{font-family:Georgia,"Times New Roman",serif;font-style:italic;background:#efe4d5;color:#291912;border-color:rgba(74,46,33,.22)}
body[data-theme="editorial"] .hero-marquee{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:11px;text-transform:none}
body[data-theme="editorial"] .hero-marquee div{animation-duration:36s;animation-direction:reverse}
body[data-theme="editorial"] .section-head{grid-template-columns:.72fr .42fr;align-items:start}
body[data-theme="editorial"] .section-head h2{font-style:italic;font-size:clamp(58px,7vw,112px)}
body[data-theme="editorial"] .showcase-grid{gap:30px 20px}
body[data-theme="editorial"] .show-card{border:0;background:transparent;overflow:visible;box-shadow:none}
body[data-theme="editorial"] .show-card:nth-child(2n){margin-top:44px}
body[data-theme="editorial"] .show-card:nth-child(3n){margin-top:-18px}
body[data-theme="editorial"] .mini-site{box-shadow:0 18px 36px rgba(75,43,30,.11);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
body[data-theme="editorial"] .show-card:hover .mini-site{transform:scale(1.018)}
body[data-theme="editorial"] .show-info{border-top:0;border-bottom:1px solid var(--theme-line);padding-left:0;padding-right:0}
body[data-theme="editorial"] .show-info h3{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:25px}
body[data-theme="editorial"] .card-number{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:12px;color:#9b4434}
body[data-theme="editorial"] .photo-ribbon{gap:22px}
body[data-theme="editorial"] .photo-card:nth-child(even){transform:translateY(22px) rotate(.6deg)}
body[data-theme="editorial"] .photo-card:nth-child(odd){transform:rotate(-.45deg)}
body[data-theme="editorial"] .btn-primary,body[data-theme="editorial"] .btn-ghost{font-family:Georgia,"Times New Roman",serif;font-style:italic;border-radius:0}
body[data-theme="editorial"] .reveal{clip-path:inset(0 0 14% 0);transform:translateY(24px)}
body[data-theme="editorial"] .reveal.is-visible{clip-path:inset(0 0 0 0)}

/* ---------------- EXPERIMENTAL ---------------- */
body[data-theme="experimental"]{
  --mode-body:Arial,Helvetica,sans-serif;
  --mode-display:"Arial Black",Arial,Helvetica,sans-serif;
  --theme-bg:#0b0712;--theme-panel:#120b1c;--theme-text:#f8f1ff;--theme-muted:rgba(248,241,255,.5);--theme-line:rgba(184,137,255,.18);--theme-accent:#72f6ef;--theme-accent-2:#b06cff;--theme-hot:#ff6497;
}
body[data-theme="experimental"] .theme-fx{opacity:.9;filter:saturate(1.25)}
body[data-theme="experimental"] .theme-wash{opacity:1;background:radial-gradient(circle at 14% 20%,rgba(176,108,255,.12),transparent 28%),radial-gradient(circle at 82% 72%,rgba(114,246,239,.09),transparent 30%)}
body[data-theme="experimental"] .hero h1{font-weight:900;text-transform:uppercase;font-size:clamp(56px,6.5vw,124px);line-height:.83;letter-spacing:-.065em}
body[data-theme="experimental"] .hero h1 span{color:transparent;-webkit-text-stroke:1px var(--theme-accent);text-shadow:0 0 35px rgba(114,246,239,.08)}
body[data-theme="experimental"] .hero-copy{mix-blend-mode:normal}
body[data-theme="experimental"] .eyebrow{font-family:var(--mode-mono);color:#72f6ef}
body[data-theme="experimental"] .hero-stage{animation:expFloat 7s ease-in-out infinite}
body[data-theme="experimental"] .browser-main{transform:perspective(900px) rotateY(-10deg) rotateX(5deg) rotateZ(1.2deg)}
body[data-theme="experimental"] .browser-small{transform:rotate(-6deg) translateY(8px)}
body[data-theme="experimental"] .phone-left{transform:rotate(7deg) translateY(-5px)}
body[data-theme="experimental"] .browser,body[data-theme="experimental"] .phone{background:rgba(15,8,24,.68);border-color:rgba(114,246,239,.26);box-shadow:0 30px 90px rgba(74,32,130,.32),0 0 30px rgba(114,246,239,.05);backdrop-filter:blur(12px)}
body[data-theme="experimental"] .hero-tag{border-radius:999px;background:rgba(15,8,24,.65);box-shadow:0 0 25px rgba(176,108,255,.12)}
body[data-theme="experimental"] .showcase-grid{gap:24px}
body[data-theme="experimental"] .show-card{border-radius:24px;border-color:rgba(176,108,255,.18);background:linear-gradient(145deg,rgba(176,108,255,.08),rgba(114,246,239,.02));overflow:hidden}
body[data-theme="experimental"] .show-card::before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-80px;top:-80px;background:conic-gradient(from 90deg,transparent,#72f6ef33,#b06cff44,transparent);filter:blur(2px);animation:expSpin 10s linear infinite;pointer-events:none}
body[data-theme="experimental"] .show-card:nth-child(3n+1){transform:rotate(-.7deg)}
body[data-theme="experimental"] .show-card:nth-child(3n+2){transform:rotate(.7deg) translateY(14px)}
body[data-theme="experimental"] .show-card:nth-child(3n){transform:translateY(-8px)}
body[data-theme="experimental"] .show-card:hover{transform:rotate(0deg) translateY(-8px) scale(1.008);box-shadow:0 34px 90px rgba(93,48,153,.28)}
body[data-theme="experimental"] .mini-site{filter:saturate(1.18) contrast(1.05)}
body[data-theme="experimental"] .photo-card{border-radius:26px;box-shadow:0 18px 60px rgba(83,35,137,.22)}
body[data-theme="experimental"] .service-cloud span{border-radius:10px;transform:skewX(-5deg)}
body[data-theme="experimental"] .service-cloud span:hover{transform:skewX(-5deg) translateY(-3px)}
body[data-theme="experimental"] .btn-primary{border-radius:999px;box-shadow:0 0 32px rgba(114,246,239,.18)}
body[data-theme="experimental"] .btn-ghost{border-radius:999px}
body[data-theme="experimental"] .reveal{transform:translateY(35px) scale(.985) rotate(.2deg)}
@keyframes expFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes expSpin{to{transform:rotate(360deg)}}

/* ---------------- COMERCIAL ---------------- */
body[data-theme="commercial"]{
  --mode-body:Arial,Helvetica,sans-serif;
  --mode-display:"Arial Black",Arial,Helvetica,sans-serif;
  --theme-bg:#f5f8ff;--theme-panel:#fff;--theme-text:#0a1c2d;--theme-muted:rgba(10,28,45,.54);--theme-line:rgba(10,28,45,.12);--theme-accent:#1668ff;--theme-accent-2:#00a7ff;--theme-hot:#ff6a35;
}
body[data-theme="commercial"] .theme-fx{opacity:.36}
body[data-theme="commercial"] .brand img{filter:invert(1)}
body[data-theme="commercial"] .site-header{background:rgba(245,248,255,.92);box-shadow:0 10px 32px rgba(20,52,90,.05)}
body[data-theme="commercial"] .theme-dock{background:rgba(255,255,255,.95);box-shadow:0 14px 38px rgba(20,52,90,.09)}
body[data-theme="commercial"] .hero-grid{grid-template-columns:.92fr 1.08fr}
body[data-theme="commercial"] .hero h1{font-weight:900;line-height:.88;letter-spacing:-.065em;font-size:clamp(58px,6.7vw,130px)}
body[data-theme="commercial"] .hero h1 span{color:#1668ff}
body[data-theme="commercial"] .hero-lead{font-size:18px;font-weight:500;max-width:560px}
body[data-theme="commercial"] .orb-a{background:radial-gradient(circle at 35% 35%,rgba(22,104,255,.17),rgba(22,104,255,.015) 55%,transparent 70%)}
body[data-theme="commercial"] .orb-b{background:radial-gradient(circle,rgba(255,106,53,.12),transparent 70%)}
body[data-theme="commercial"] .browser,body[data-theme="commercial"] .phone{border-color:rgba(10,28,45,.1);box-shadow:0 28px 70px rgba(35,66,110,.15)}
body[data-theme="commercial"] .browser-main{animation:commercialFloat 4.8s ease-in-out infinite}
body[data-theme="commercial"] .phone-left{animation:commercialFloat 4.8s .7s ease-in-out infinite reverse}
body[data-theme="commercial"] .btn-primary{position:relative;overflow:hidden;border-radius:12px;font-weight:800;box-shadow:0 12px 28px rgba(22,104,255,.22)}
body[data-theme="commercial"] .btn-primary::after{content:"";position:absolute;top:-30%;bottom:-30%;width:44px;left:-70px;transform:rotate(18deg);background:rgba(255,255,255,.28);animation:commercialShine 3.6s ease-in-out infinite}
body[data-theme="commercial"] .btn-ghost{border-radius:12px;font-weight:700;background:#fff}
body[data-theme="commercial"] .showcase-grid{grid-template-columns:repeat(12,1fr);gap:18px}
body[data-theme="commercial"] .show-card{border:0;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(23,58,98,.09);min-height:400px}
body[data-theme="commercial"] .show-card:nth-child(n){transform:none;margin-top:0}
body[data-theme="commercial"] .show-card:hover{transform:translateY(-7px);box-shadow:0 28px 64px rgba(23,58,98,.16)}
body[data-theme="commercial"] .show-info{padding:20px 22px}
body[data-theme="commercial"] .show-info h3{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:21px}
body[data-theme="commercial"] .card-number{top:14px;left:auto;right:16px;background:#1668ff;color:#fff;padding:6px 8px;border-radius:8px;font-weight:800}
body[data-theme="commercial"] .service-cloud span{border-radius:12px;background:#fff;box-shadow:0 10px 26px rgba(23,58,98,.05);font-weight:700}
body[data-theme="commercial"] .photo-card{border-radius:18px;box-shadow:0 18px 46px rgba(23,58,98,.11)}
body[data-theme="commercial"] .hero-marquee{font-weight:800;color:rgba(22,104,255,.48)}
body[data-theme="commercial"] .hero-marquee div{animation-duration:21s}
body[data-theme="commercial"] .reveal{transform:translateY(22px)}
@keyframes commercialFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes commercialShine{0%,60%{left:-70px}85%,100%{left:120%}}

/* gráficos internos: misma información, lectura visual distinta */
body[data-theme="minimal"] .corporate-mini,body[data-theme="minimal"] .commerce-theme{background:#fff;color:#111}
body[data-theme="minimal"] .travel-theme{filter:grayscale(1)}
body[data-theme="corporate"] .corporate-mini{background:linear-gradient(135deg,#d9e7e6 0 52%,#14252a 52%)}
body[data-theme="corporate"] .mini-corporate-hero i{background:#3d7f87}
body[data-theme="corporate"] .tourism-visual,body[data-theme="corporate"] .travel-image{filter:saturate(.7) hue-rotate(135deg)}
body[data-theme="editorial"] .corporate-mini{background:#f0dfc7;color:#301d14}
body[data-theme="editorial"] .mini-corporate-hero strong,body[data-theme="editorial"] .commerce-theme strong,body[data-theme="editorial"] .tourism-visual strong{font-family:Georgia,"Times New Roman",serif;font-style:italic}
body[data-theme="editorial"] .commerce-theme{background:#ead9c5;color:#3c2218}
body[data-theme="experimental"] .corporate-mini{background:linear-gradient(135deg,#dffbfa 0 48%,#21122d 48%)}
body[data-theme="experimental"] .creative-rings i,body[data-theme="experimental"] .health-orbit{box-shadow:0 0 24px rgba(114,246,239,.15)}
body[data-theme="experimental"] .commerce-theme{background:linear-gradient(145deg,#251235,#0c1719);color:#f8f1ff}
body[data-theme="commercial"] .corporate-mini{background:linear-gradient(130deg,#f3f7ff 0 54%,#1668ff 54%);color:#0a1c2d}
body[data-theme="commercial"] .commerce-theme{background:#fff;color:#0a1c2d}
body[data-theme="commercial"] .tourism-visual{filter:saturate(1.22) contrast(1.04)}

/* responsive V3 */
@media(max-width:900px){
  body[data-theme="editorial"] .hero-grid,body[data-theme="minimal"] .hero-grid,body[data-theme="commercial"] .hero-grid{grid-template-columns:1fr}
  body[data-theme="editorial"] .hero-copy{padding-top:30px}
  body[data-theme="editorial"] .hero-stage{height:520px}
  body[data-theme="editorial"] .show-card:nth-child(n){margin-top:0}
  body[data-theme="experimental"] .show-card:nth-child(n){transform:none}
}
@media(max-width:760px){
  body[data-theme="minimal"] .site-header,body[data-theme="editorial"] .site-header,body[data-theme="commercial"] .site-header{height:76px;padding-inline:18px}
  body[data-theme="minimal"] .theme-dock,body[data-theme="editorial"] .theme-dock,body[data-theme="commercial"] .theme-dock{top:72px}
  body[data-theme="minimal"] .hero,body[data-theme="editorial"] .hero,body[data-theme="commercial"] .hero{padding-top:110px}
  body[data-theme="experimental"] .hero h1,body[data-theme="commercial"] .hero h1{font-size:clamp(48px,15vw,78px)}
  .theme-chip::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .theme-fx{display:none}.hero-stage,.browser-main,.phone-left,.show-card::before{animation:none!important}
}

/* V4 — SERVICIOS COMO EXPERIENCIA INTERACTIVA */
.services{position:relative;overflow:clip}
.services-head{max-width:980px}
.services-experience{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:22px;margin-top:58px;align-items:stretch}
.service-stage{position:sticky;top:110px;min-height:610px;border:1px solid var(--theme-line);background:var(--theme-panel);overflow:hidden;isolation:isolate;transition:background .45s,border-color .45s,border-radius .45s,box-shadow .45s,transform .45s}
.service-stage::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 72% 22%,var(--theme-accent-soft),transparent 33%),linear-gradient(180deg,transparent,rgba(0,0,0,.08));pointer-events:none}
.service-stage::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--theme-line) 1px,transparent 1px),linear-gradient(90deg,var(--theme-line) 1px,transparent 1px);background-size:42px 42px;opacity:.28;mask-image:linear-gradient(180deg,#000,transparent 72%);pointer-events:none}
.service-stage-bar{height:50px;border-bottom:1px solid var(--theme-line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:7px;letter-spacing:.16em;color:var(--theme-muted);text-transform:uppercase}
.service-stage-visual{height:390px;position:relative;overflow:hidden;display:grid;place-items:center;cursor:crosshair;transition:background .4s}
.service-stage-copy{display:grid;grid-template-columns:1fr .8fr;gap:36px;border-top:1px solid var(--theme-line);padding:22px 24px 20px;align-items:end}
.service-stage-copy small{display:block;font-size:7px;letter-spacing:.18em;color:var(--theme-accent);margin-bottom:8px}.service-stage-copy h3{font-family:var(--mode-display);font-size:clamp(25px,2.5vw,38px);font-weight:400;letter-spacing:-.045em;line-height:1;margin:0}.service-stage-copy p{font-size:9px;line-height:1.65;color:var(--theme-muted);margin:0;max-width:360px}
.service-stage-hint{position:absolute;right:18px;top:68px;z-index:5;display:flex;align-items:center;gap:8px;font-size:6px;letter-spacing:.14em;color:var(--theme-muted);text-transform:uppercase;pointer-events:none}.service-stage-hint i{width:5px;height:5px;border-radius:50%;background:var(--theme-accent);box-shadow:0 0 0 0 var(--theme-accent-soft);animation:serviceHintPulse 1.8s infinite}
.service-cloud{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;align-content:start}
.service-button{position:relative;min-height:72px;border:1px solid var(--theme-line);background:transparent;color:var(--theme-text);padding:14px 42px 14px 14px;text-align:left;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;overflow:hidden;cursor:pointer;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s,border-radius .35s;color-scheme:dark}
.service-button::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0 38%,var(--theme-accent-soft) 48%,transparent 58%);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}.service-button:hover::before{transform:translateX(120%)}
.service-button>span{font-size:7px;letter-spacing:.12em;color:var(--theme-muted);transition:.25s}.service-button>strong{font-family:var(--mode-mono);font-size:8px;letter-spacing:.12em;font-weight:500;line-height:1.35;transition:.25s}.service-button>i{position:absolute;right:14px;width:18px;height:18px;border:1px solid var(--theme-line);border-radius:50%;transition:.25s}.service-button>i::before,.service-button>i::after{content:"";position:absolute;background:var(--theme-accent);left:50%;top:50%;transform:translate(-50%,-50%);opacity:.42;transition:.25s}.service-button>i::before{width:6px;height:1px}.service-button>i::after{width:1px;height:6px}.service-button:hover{transform:translateX(-3px);border-color:var(--theme-accent);background:var(--theme-accent-soft)}.service-button:hover>strong,.service-button.is-active>strong{color:var(--theme-accent)}.service-button.is-active{border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--theme-accent)}.service-button.is-active>i{border-color:var(--theme-accent);animation:serviceButtonPulse 1.9s infinite}.service-button.is-active>i::after{opacity:0}.service-button.is-active>i::before{opacity:1;width:8px}
.service-button:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}

/* service visual common */
.service-visual{position:absolute;inset:0;display:grid;place-items:center;padding:34px;animation:serviceVisualIn .42s cubic-bezier(.2,.8,.2,1)}
.sv-label{position:absolute;left:20px;bottom:17px;font:500 6px/1 var(--mode-mono);letter-spacing:.16em;color:var(--theme-muted);text-transform:uppercase}.sv-action{position:absolute;right:20px;bottom:14px;border:1px solid var(--theme-line);background:var(--theme-panel);color:var(--theme-text);padding:8px 11px;font:500 6px/1 var(--mode-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.2s}.sv-action:hover{border-color:var(--theme-accent);color:var(--theme-accent);transform:translateY(-2px)}

/* 01 UIUX */
.sv-ui{width:min(88%,610px);height:265px;border:1px solid var(--theme-line);background:var(--theme-bg);display:grid;grid-template-columns:120px 1fr;box-shadow:0 24px 70px rgba(0,0,0,.15);transition:transform .25s}.sv-ui-sidebar{border-right:1px solid var(--theme-line);padding:18px 12px}.sv-ui-logo{width:40px;height:8px;background:var(--theme-accent);opacity:.78;margin-bottom:28px}.sv-ui-sidebar i{display:block;height:5px;background:var(--theme-line);margin:12px 0;width:68%}.sv-ui-sidebar i:nth-of-type(2){width:86%;background:var(--theme-accent-soft)}.sv-ui-canvas{padding:18px;display:grid;grid-template-rows:42px 1fr;gap:13px}.sv-ui-top{display:flex;gap:8px}.sv-ui-top i{display:block;border:1px solid var(--theme-line);flex:1}.sv-ui-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.sv-ui-grid div{border:1px solid var(--theme-line);position:relative;background:var(--theme-panel)}.sv-ui-grid div:first-child::after{content:"";position:absolute;left:14px;right:14px;bottom:14px;height:45%;background:linear-gradient(135deg,var(--theme-accent-soft),transparent);clip-path:polygon(0 88%,18% 55%,37% 66%,59% 24%,77% 44%,100% 0,100% 100%,0 100%)}.sv-ui-cursor{position:absolute;width:16px;height:22px;clip-path:polygon(0 0,100% 72%,58% 76%,42% 100%);background:var(--theme-accent);filter:drop-shadow(0 5px 8px rgba(0,0,0,.28));transform:translate(-50%,-50%);pointer-events:none;transition:left .08s linear,top .08s linear}

/* 02 Development */
.sv-code{width:min(90%,640px);height:280px;display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--theme-line);background:var(--theme-bg)}.sv-code-editor{padding:22px;border-right:1px solid var(--theme-line);font:500 7px/1.8 var(--mode-mono);color:var(--theme-muted)}.sv-code-editor b{color:var(--theme-accent);font-weight:500}.sv-code-editor i{display:block;width:var(--w);height:4px;background:var(--theme-line);margin:9px 0}.sv-code-preview{position:relative;padding:22px}.sv-code-preview .block{border:1px solid var(--theme-line);height:36px;margin-bottom:10px;transform-origin:left;animation:svBuild .45s both}.sv-code-preview .block:nth-child(2){height:112px;animation-delay:.08s}.sv-code-preview .block:nth-child(3){width:62%;height:28px;background:var(--theme-accent-soft);animation-delay:.16s}

/* 03 Responsive */
.sv-responsive{width:min(92%,660px);height:290px;display:flex;align-items:end;justify-content:center;gap:20px}.sv-device{border:1px solid var(--theme-line);background:var(--theme-bg);padding:6px;transition:.45s cubic-bezier(.2,.8,.2,1);box-shadow:0 20px 60px rgba(0,0,0,.12)}.sv-device div{height:100%;background:linear-gradient(180deg,var(--theme-accent-soft),transparent 46%),repeating-linear-gradient(180deg,var(--theme-line) 0 1px,transparent 1px 18px)}.sv-device.desktop{width:330px;height:205px}.sv-device.tablet{width:160px;height:220px;border-radius:12px}.sv-device.mobile{width:82px;height:180px;border-radius:16px}.sv-responsive.is-mobile .desktop{width:110px;height:170px}.sv-responsive.is-mobile .tablet{width:135px;height:205px}.sv-responsive.is-mobile .mobile{width:128px;height:250px;transform:translateY(-8px);border-color:var(--theme-accent)}

/* 04 SEO */
.sv-search{width:min(88%,600px);height:280px;padding:22px;border:1px solid var(--theme-line);background:var(--theme-bg)}.sv-searchbar{height:38px;border:1px solid var(--theme-line);border-radius:22px;display:flex;align-items:center;padding:0 14px;font:500 7px/1 var(--mode-mono);color:var(--theme-muted)}.sv-result{padding:13px 4px;border-bottom:1px solid var(--theme-line);transition:.5s}.sv-result b{display:block;font:500 8px/1.2 var(--mode-mono);color:var(--theme-text)}.sv-result span{font-size:6px;color:var(--theme-muted)}.sv-result.target{border:1px solid var(--theme-accent);padding:10px;margin-top:8px;background:var(--theme-accent-soft);transform:translateY(93px)}.sv-search.is-ranked .target{transform:translateY(0);order:-1}.sv-results{display:flex;flex-direction:column}.sv-search.is-ranked .sv-result.target{order:-1;margin-bottom:2px}.sv-search.is-ranked .sv-result:not(.target){transform:translateY(0)}

/* 05 performance */
.sv-speed{display:grid;place-items:center;width:280px;height:280px;position:relative}.sv-speed-ring{position:absolute;inset:16px;border:1px solid var(--theme-line);border-radius:50%;background:conic-gradient(var(--theme-accent) calc(var(--score)*1%),var(--theme-line) 0);mask:radial-gradient(circle,transparent 58%,#000 60%);transition:background .8s}.sv-speed-core{text-align:center}.sv-speed-core strong{display:block;font:400 78px/.85 var(--mode-display);letter-spacing:-.08em}.sv-speed-core span{font:500 7px/1 var(--mode-mono);letter-spacing:.14em;color:var(--theme-muted)}.sv-speed.is-fast{--score:96!important}.sv-speed.is-fast .sv-speed-core strong::after{content:""}

/* 06 photography */
.sv-photo{width:min(88%,620px);height:280px;position:relative;border:1px solid var(--theme-line);overflow:hidden;background:linear-gradient(135deg,#2b3234,#101415)}.sv-photo-before,.sv-photo-after{position:absolute;inset:0}.sv-photo-before{background:linear-gradient(135deg,#6d6d6d,#222);filter:grayscale(1)}.sv-photo-after{width:56%;overflow:hidden;background:linear-gradient(135deg,#bf8d63,#283c46 62%,#111)}.sv-photo-after::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:12%;top:16%;background:radial-gradient(circle at 38% 34%,#f2d5b6 0 8%,#925f44 9% 18%,#242f33 19% 48%,transparent 49%);box-shadow:0 0 90px rgba(242,213,182,.18)}.sv-photo-divider{position:absolute;top:0;bottom:0;left:56%;width:1px;background:#fff;box-shadow:0 0 15px rgba(255,255,255,.5)}.sv-photo-divider::after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:12px}

/* 07 video */
.sv-video{width:min(90%,640px);height:280px;border:1px solid var(--theme-line);background:#090b0c;position:relative;overflow:hidden}.sv-video-frame{position:absolute;inset:0 0 46px;background:radial-gradient(circle at 68% 38%,var(--theme-accent-soft),transparent 28%),linear-gradient(135deg,#1d2425,#090b0c)}.sv-video-play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:1px solid var(--theme-accent);display:grid;place-items:center;color:var(--theme-accent);font-size:17px;cursor:pointer;transition:.25s}.sv-video-play:hover{transform:translate(-50%,-50%) scale(1.08);background:var(--theme-accent-soft)}.sv-video-timeline{position:absolute;left:16px;right:16px;bottom:17px;height:3px;background:var(--theme-line)}.sv-video-timeline i{display:block;height:100%;width:18%;background:var(--theme-accent);transition:width 1.8s linear}.sv-video.is-playing .sv-video-timeline i{width:88%}.sv-video.is-playing .sv-video-play{animation:serviceButtonPulse 1s infinite}

/* 08 gallery */
.sv-gallery{width:min(94%,680px);height:285px;display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:1fr 1fr;gap:7px;perspective:900px}.sv-gallery i{display:block;background:linear-gradient(145deg,var(--theme-accent-soft),var(--theme-panel));border:1px solid var(--theme-line);transition:.4s}.sv-gallery i:first-child{grid-row:1/3;background:linear-gradient(145deg,#5e6f76,var(--theme-panel))}.sv-gallery i:hover{transform:translateZ(35px) scale(1.03);border-color:var(--theme-accent);z-index:2}.sv-gallery.is-shuffled i:first-child{grid-column:3;grid-row:1/3}.sv-gallery.is-shuffled i:nth-child(3){grid-column:1;grid-row:1/3}

/* 09 motion */
.sv-motion{position:relative;width:min(90%,650px);height:280px;overflow:hidden}.sv-motion-orb{position:absolute;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,var(--theme-accent) 18%,transparent 72%);filter:drop-shadow(0 0 18px var(--theme-accent-soft));left:22%;top:42%;transition:left .12s linear,top .12s linear}.sv-motion-path{position:absolute;inset:20px;border:1px dashed var(--theme-line);border-radius:48% 52% 38% 62% / 61% 34% 66% 39%;animation:svOrbit 9s linear infinite}.sv-motion-path:nth-child(2){inset:55px;animation-direction:reverse;animation-duration:6s}

/* 10 forms */
.sv-form{width:min(88%,560px);border:1px solid var(--theme-line);background:var(--theme-bg);padding:20px}.sv-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sv-form input,.sv-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--theme-line);background:var(--theme-panel);color:var(--theme-text);padding:10px;font:500 7px/1.2 var(--mode-mono);outline:none}.sv-form textarea{height:64px;margin-top:8px;resize:none}.sv-form input:focus,.sv-form textarea:focus{border-color:var(--theme-accent)}.sv-form button{margin-top:8px;width:100%;border:1px solid var(--theme-accent);background:var(--theme-accent);color:var(--theme-bg);padding:10px;font:600 7px/1 var(--mode-mono);letter-spacing:.12em;cursor:pointer}.sv-form-success{height:0;opacity:0;overflow:hidden;text-align:center;font:500 7px/1.5 var(--mode-mono);color:var(--theme-accent);transition:.4s}.sv-form.is-sent .sv-form-success{height:38px;opacity:1;padding-top:12px}.sv-form.is-sent form{opacity:.28;filter:blur(1px)}

/* 11 whatsapp */
.sv-chat{width:min(82%,480px);height:285px;border:1px solid var(--theme-line);background:var(--theme-bg);padding:18px;display:flex;flex-direction:column;gap:9px}.sv-chat-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--theme-line);font:500 7px/1 var(--mode-mono);letter-spacing:.12em}.sv-chat-head i{width:9px;height:9px;border-radius:50%;background:#41d37e}.sv-bubble{max-width:74%;padding:9px 10px;border:1px solid var(--theme-line);font-size:7px;line-height:1.45;opacity:0;transform:translateY(8px);animation:svBubble .35s forwards}.sv-bubble.out{margin-left:auto;background:var(--theme-accent-soft);border-color:var(--theme-accent);animation-delay:.2s}.sv-bubble:nth-of-type(3){animation-delay:.55s}.sv-bubble:nth-of-type(4){animation-delay:.9s}.sv-chat-reply{margin-top:auto;border-top:1px solid var(--theme-line);padding-top:9px;color:var(--theme-muted);font:500 6px/1 var(--mode-mono);letter-spacing:.1em}

/* 12 maps */
.sv-map{width:min(90%,620px);height:280px;border:1px solid var(--theme-line);position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 27px,var(--theme-line) 28px),repeating-linear-gradient(90deg,transparent 0 27px,var(--theme-line) 28px),var(--theme-bg)}.sv-road{position:absolute;width:130%;height:1px;background:var(--theme-line);left:-10%;top:48%;transform:rotate(-13deg);box-shadow:0 24px 0 var(--theme-line),0 -43px 0 var(--theme-line)}.sv-pin{position:absolute;width:15px;height:15px;border:2px solid var(--theme-accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--theme-bg);cursor:pointer}.sv-pin::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--theme-accent)}.sv-pin.a{left:22%;top:64%}.sv-pin.b{left:50%;top:31%}.sv-pin.c{left:73%;top:55%}.sv-route{position:absolute;left:24%;top:58%;width:49%;height:30%;border-top:2px dashed var(--theme-accent);border-right:2px dashed var(--theme-accent);transform:skewY(-17deg);opacity:0;transition:.45s}.sv-map.is-routed .sv-route{opacity:1}

/* 13 analytics */
.sv-analytics{width:min(92%,640px);height:280px;border:1px solid var(--theme-line);background:var(--theme-bg);padding:18px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.sv-bars{display:flex;align-items:end;gap:7px;border-bottom:1px solid var(--theme-line);padding:0 4px 8px}.sv-bars i{flex:1;height:var(--h);background:linear-gradient(180deg,var(--theme-accent),var(--theme-accent-soft));transform-origin:bottom;animation:svBar .55s both}.sv-bars i:nth-child(2){animation-delay:.08s}.sv-bars i:nth-child(3){animation-delay:.16s}.sv-bars i:nth-child(4){animation-delay:.24s}.sv-bars i:nth-child(5){animation-delay:.32s}.sv-bars i:nth-child(6){animation-delay:.4s}.sv-metrics{display:grid;gap:7px}.sv-metrics div{border:1px solid var(--theme-line);padding:10px}.sv-metrics span{display:block;font:500 6px/1 var(--mode-mono);color:var(--theme-muted)}.sv-metrics strong{font:400 26px/1 var(--mode-display);letter-spacing:-.06em}.sv-analytics.is-alt .sv-bars i{height:calc(100% - var(--h))}

/* 14 integrations */
.sv-integration{width:min(90%,620px);height:280px;position:relative}.sv-node{position:absolute;width:74px;height:74px;border:1px solid var(--theme-line);border-radius:50%;display:grid;place-items:center;background:var(--theme-bg);font:500 7px/1 var(--mode-mono);letter-spacing:.08em;z-index:2;transition:.35s}.sv-node.center{width:94px;height:94px;left:50%;top:50%;transform:translate(-50%,-50%);border-color:var(--theme-accent);color:var(--theme-accent)}.sv-node.n1{left:4%;top:16%}.sv-node.n2{right:4%;top:12%}.sv-node.n3{left:9%;bottom:8%}.sv-node.n4{right:8%;bottom:6%}.sv-link{position:absolute;height:1px;background:var(--theme-line);transform-origin:left;transition:.45s}.sv-integration.is-connected .sv-link{background:var(--theme-accent);box-shadow:0 0 12px var(--theme-accent-soft)}.sv-integration.is-connected .sv-node:not(.center){border-color:var(--theme-accent);transform:scale(1.06)}

/* 15 deploy */
.sv-deploy{width:min(88%,610px);height:250px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:14px;position:relative}.sv-deploy-step{height:92px;border:1px solid var(--theme-line);background:var(--theme-bg);display:grid;place-items:center;text-align:center;position:relative;z-index:2;font:500 7px/1.5 var(--mode-mono);letter-spacing:.08em;color:var(--theme-muted);transition:.35s}.sv-deploy-step i{display:block;width:9px;height:9px;border-radius:50%;border:1px solid var(--theme-line);margin:0 auto 8px}.sv-deploy-line{position:absolute;left:10%;right:10%;top:50%;height:1px;background:var(--theme-line);z-index:1}.sv-deploy-progress{position:absolute;left:10%;top:50%;height:1px;width:0;background:var(--theme-accent);z-index:1;transition:width 1.2s}.sv-deploy.is-live .sv-deploy-progress{width:80%}.sv-deploy.is-live .sv-deploy-step{border-color:var(--theme-accent);color:var(--theme-text)}.sv-deploy.is-live .sv-deploy-step i{background:var(--theme-accent);border-color:var(--theme-accent);box-shadow:0 0 12px var(--theme-accent-soft)}

/* 16 maintenance */
.sv-maintenance{width:min(88%,600px);height:280px;display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--theme-line);background:var(--theme-bg)}.sv-health{display:grid;place-items:center;border-right:1px solid var(--theme-line);position:relative}.sv-health-ring{width:126px;height:126px;border-radius:50%;border:1px solid var(--theme-line);display:grid;place-items:center;box-shadow:inset 0 0 0 14px var(--theme-accent-soft)}.sv-health-ring strong{font:400 34px/1 var(--mode-display);color:var(--theme-accent)}.sv-heartline{position:absolute;left:18px;right:18px;bottom:24px;height:34px}.sv-heartline svg{width:100%;height:100%;fill:none;stroke:var(--theme-accent);stroke-width:1.5;stroke-dasharray:140;animation:svDash 2.2s linear infinite}.sv-log{padding:20px}.sv-log div{display:grid;grid-template-columns:9px 1fr auto;gap:7px;padding:10px 0;border-bottom:1px solid var(--theme-line);font:500 6px/1.3 var(--mode-mono);color:var(--theme-muted)}.sv-log i{width:6px;height:6px;border-radius:50%;background:#55d38b}.sv-log b{font-weight:500;color:var(--theme-text)}

/* MODE-SPECIFIC service grammar */
body[data-theme="minimal"] .service-stage{border-radius:0;background:#f6f6f2;box-shadow:none}body[data-theme="minimal"] .service-stage::after{opacity:.14;background-size:70px 70px}body[data-theme="minimal"] .service-button{border-radius:0;background:transparent;min-height:66px}body[data-theme="minimal"] .service-button.is-active{box-shadow:inset 1px 0 0 var(--theme-accent)}body[data-theme="minimal"] .service-stage-hint i{border-radius:0}
body[data-theme="corporate"] .service-stage{border-radius:3px;box-shadow:0 30px 90px rgba(0,0,0,.18)}body[data-theme="corporate"] .service-button{border-radius:2px}body[data-theme="corporate"] .service-button.is-active{box-shadow:inset 3px 0 0 var(--theme-accent),0 0 28px rgba(98,227,234,.03)}
body[data-theme="editorial"] .services-experience{grid-template-columns:.95fr 1.05fr;gap:34px}body[data-theme="editorial"] .service-stage{border-radius:0;transform:rotate(-.25deg);box-shadow:14px 18px 0 rgba(126,67,46,.055)}body[data-theme="editorial"] .service-cloud{grid-template-columns:1fr}body[data-theme="editorial"] .service-button{min-height:54px;border-width:0 0 1px 0;border-radius:0;padding-left:6px}body[data-theme="editorial"] .service-button>strong{font-family:var(--mode-display);font-size:14px;letter-spacing:-.02em;text-transform:none}body[data-theme="editorial"] .service-button>span{font-family:Georgia,serif;font-size:10px}body[data-theme="editorial"] .service-button.is-active{box-shadow:none;padding-left:18px;background:transparent}
body[data-theme="experimental"] .service-stage{border-radius:20px 3px 26px 5px;transform:rotate(.25deg);box-shadow:0 0 90px rgba(149,94,255,.10)}body[data-theme="experimental"] .service-stage::after{background-size:34px 34px;opacity:.34;transform:rotate(2deg) scale(1.05)}body[data-theme="experimental"] .service-button{border-radius:12px 3px 14px 4px;transform:skewX(-3deg)}body[data-theme="experimental"] .service-button:hover{transform:skewX(-3deg) translateX(-5px) scale(1.015)}body[data-theme="experimental"] .service-button.is-active{box-shadow:inset 3px 0 0 var(--theme-accent),0 0 28px var(--theme-accent-soft)}body[data-theme="experimental"] .service-stage-visual{cursor:none}
body[data-theme="commercial"] .service-stage{border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(31,65,113,.10)}body[data-theme="commercial"] .service-button{border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(31,65,113,.045);min-height:76px}body[data-theme="commercial"] .service-button:hover{transform:translateY(-3px)}body[data-theme="commercial"] .service-button.is-active{box-shadow:0 15px 34px rgba(31,65,113,.10),inset 0 0 0 1px var(--theme-accent)}body[data-theme="commercial"] .service-button>strong{font-weight:800}

@keyframes serviceHintPulse{0%,100%{box-shadow:0 0 0 0 var(--theme-accent-soft)}50%{box-shadow:0 0 0 7px transparent}}
@keyframes serviceButtonPulse{0%,100%{box-shadow:0 0 0 0 var(--theme-accent-soft)}50%{box-shadow:0 0 0 7px transparent}}
@keyframes serviceVisualIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes svBuild{from{transform:scaleX(.05);opacity:.1}to{transform:scaleX(1);opacity:1}}
@keyframes svBubble{to{opacity:1;transform:none}}
@keyframes svOrbit{to{transform:rotate(360deg)}}
@keyframes svBar{from{transform:scaleY(.08);opacity:.25}to{transform:scaleY(1);opacity:1}}
@keyframes svDash{to{stroke-dashoffset:-280}}

@media(max-width:1050px){.services-experience{grid-template-columns:1fr}.service-stage{position:relative;top:auto;min-height:560px}.service-cloud{grid-template-columns:repeat(4,1fr)}.service-button{min-height:66px;grid-template-columns:22px 1fr;padding-right:32px}.service-button>strong{font-size:7px}.service-button>i{right:9px}body[data-theme="editorial"] .services-experience{grid-template-columns:1fr}body[data-theme="editorial"] .service-cloud{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.services{padding-top:54px}.services-experience{margin-top:38px}.service-stage{min-height:520px}.service-stage-visual{height:330px}.service-stage-copy{grid-template-columns:1fr;gap:12px;padding:18px}.service-stage-copy h3{font-size:28px}.service-stage-copy p{font-size:8px}.service-cloud{grid-template-columns:repeat(2,1fr);gap:6px}.service-button{min-height:58px;padding:10px 31px 10px 10px}.service-button>span{font-size:6px}.service-button>strong{font-size:6px}.service-button>i{width:15px;height:15px}.service-stage-hint{top:61px;right:12px}.sv-ui{grid-template-columns:84px 1fr;height:230px}.sv-ui-sidebar{padding:14px 9px}.sv-code{height:240px}.sv-code-editor{padding:14px}.sv-responsive{gap:8px;transform:scale(.82)}.sv-search,.sv-video,.sv-map,.sv-analytics,.sv-maintenance{transform:scale(.88)}.sv-gallery{height:245px}.sv-deploy{transform:scale(.9)}body[data-theme="editorial"] .service-cloud{grid-template-columns:1fr}}
@media(max-width:480px){.services-head h2{font-size:44px}.service-stage{min-height:490px}.service-stage-visual{height:310px}.service-stage-bar{height:44px;padding:0 12px}.service-stage-hint{display:none}.service-cloud{grid-template-columns:1fr 1fr}.service-button{min-height:54px}.sv-ui,.sv-code,.sv-search,.sv-video,.sv-map,.sv-analytics,.sv-maintenance{width:104%;transform:scale(.78)}.sv-responsive{transform:scale(.7)}.sv-gallery{width:100%;height:220px}.sv-photo{height:235px}.sv-integration{transform:scale(.82)}.sv-deploy{transform:scale(.75)}}

/* Accent soft fallback for the interactive services engine */
.services{
  --theme-accent-soft:rgba(98,227,234,.08);
  --theme-accent-soft:color-mix(in srgb,var(--theme-accent) 12%,transparent);
}

/* === V5 MEDIA WIRING — real images from assets/media === */
:root{
  --media-hero-browser-01:url('assets/media/hero-browser-main-01.webp');
  --media-hero-browser-02:url('assets/media/hero-browser-main-02.webp');
  --media-hero-browser-03:url('assets/media/hero-browser-main-03.webp');
  --media-hero-phone:url('assets/media/hero-phone-travel.webp');
  --media-hero-product-01:url('assets/media/hero-browser-small-01.webp');
  --media-hero-product-02:url('assets/media/hero-browser-small-02.webp');
  --media-hero-product-03:url('assets/media/hero-browser-small-03.webp');

  --media-show-corporate:url('assets/media/showroom-corporativo.webp');
  --media-show-tourism:url('assets/media/showroom-turismo-main.webp');
  --media-show-tourism-01:url('assets/media/showroom-turismo-01.webp');
  --media-show-tourism-02:url('assets/media/showroom-turismo-02.webp');
  --media-show-tourism-03:url('assets/media/showroom-turismo-03.webp');
  --media-show-realestate:url('assets/media/showroom-inmobiliario.webp');
  --media-show-creative:url('assets/media/showroom-creativo.webp');
  --media-show-shop-01:url('assets/media/showroom-ecommerce-01.webp');
  --media-show-shop-02:url('assets/media/showroom-ecommerce-02.webp');
  --media-show-shop-03:url('assets/media/showroom-ecommerce-03.webp');
  --media-show-health:url('assets/media/showroom-salud.webp');
  --media-show-food:url('assets/media/showroom-gastronomia.webp');
  --media-show-campaign:url('assets/media/showroom-landing.webp');

  --media-ribbon-a:url('assets/media/ribbon-hotel-destino.webp');
  --media-ribbon-b:url('assets/media/ribbon-arquitectura.webp');
  --media-ribbon-c:url('assets/media/ribbon-moda-producto.webp');
  --media-ribbon-d:url('assets/media/ribbon-musica-eventos.webp');
  --media-ribbon-e:url('assets/media/ribbon-industria.webp');

  --media-service-photo-before:url('assets/media/servicio-fotografia-antes.webp');
  --media-service-photo-after:url('assets/media/servicio-fotografia-despues.webp');
  --media-service-video:url('assets/media/servicio-video-poster.webp');
  --media-service-gallery-01:url('assets/media/servicio-galeria-01.webp');
  --media-service-gallery-02:url('assets/media/servicio-galeria-02.webp');
  --media-service-gallery-03:url('assets/media/servicio-galeria-03.webp');
  --media-service-gallery-04:url('assets/media/servicio-galeria-04.webp');
  --media-service-gallery-05:url('assets/media/servicio-galeria-05.webp');
}

.fake-photo-grid i,
.travel-image,
.product-row i,
.tourism-thumbs i,
.shop-products i,
.photo-card,
.sv-photo-before,
.sv-photo-after,
.sv-video-frame,
.sv-gallery i{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* hero */
.fake-photo-grid i:first-child{background-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38)),var(--media-hero-browser-01)}
.fake-photo-grid i:nth-child(2){background-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.3)),var(--media-hero-browser-02)}
.fake-photo-grid i:nth-child(3){background-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34)),var(--media-hero-browser-03)}
.travel-image{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.18)),var(--media-hero-phone)}
.product-row i:first-child{background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.18)),var(--media-hero-product-01)}
.product-row i:nth-child(2){background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.18)),var(--media-hero-product-02)}
.product-row i:nth-child(3){background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.18)),var(--media-hero-product-03)}

/* showroom */
.corporate-mini{background-image:linear-gradient(115deg,rgba(231,227,217,.96) 0 48%,rgba(24,28,27,.78) 100%),var(--media-show-corporate);background-size:cover;background-position:center}
.tourism-visual{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.62)),var(--media-show-tourism)}
.tourism-thumbs i:first-child{background-image:var(--media-show-tourism-01)}
.tourism-thumbs i:nth-child(2){background-image:var(--media-show-tourism-02)}
.tourism-thumbs i:nth-child(3){background-image:var(--media-show-tourism-03)}
.property-canvas{background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.02)),var(--media-show-realestate);background-size:cover;background-position:center}
.property-shape{background:linear-gradient(145deg,rgba(28,31,30,.78),rgba(133,135,127,.42) 60%,rgba(216,209,195,.16));backdrop-filter:blur(1px)}
.creative-mini::before,.health-mini::before,.food-mini::before,.campaign-mini::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;opacity:.62}
.creative-mini::before{background-image:linear-gradient(180deg,rgba(9,7,16,.18),rgba(9,7,16,.66)),var(--media-show-creative)}
.health-mini::before{background-image:linear-gradient(180deg,rgba(232,240,237,.18),rgba(24,33,31,.24)),var(--media-show-health)}
.food-mini::before{background-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.48)),var(--media-show-food)}
.campaign-mini::before{background-image:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.72)),var(--media-show-campaign)}
.creative-word,.creative-rings,.creative-caption,.health-copy,.health-orbit,.food-copy,.food-plate,.campaign-lines,.campaign-copy{position:relative;z-index:1}
.shop-products i:first-child{background-image:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.12)),var(--media-show-shop-01)}
.shop-products i:nth-child(2){background-image:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.12)),var(--media-show-shop-02)}
.shop-products i:nth-child(3){background-image:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.12)),var(--media-show-shop-03)}

/* ribbon */
.photo-a{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.45)),var(--media-ribbon-a)}
.photo-b{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.45)),var(--media-ribbon-b)}
.photo-c{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.45)),var(--media-ribbon-c)}
.photo-d{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.65)),var(--media-ribbon-d)}
.photo-e{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.55)),var(--media-ribbon-e)}

/* service visuals */
.sv-photo-before{background-image:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.45)),var(--media-service-photo-before);filter:grayscale(1)}
.sv-photo-after{background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18)),var(--media-service-photo-after)}
.sv-photo-after::after{display:none}
.sv-video-frame{background-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34)),var(--media-service-video)}
.sv-gallery i:first-child{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--media-service-gallery-01)}
.sv-gallery i:nth-child(2){background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--media-service-gallery-02)}
.sv-gallery i:nth-child(3){background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--media-service-gallery-03)}
.sv-gallery i:nth-child(4){background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--media-service-gallery-04)}
.sv-gallery i:nth-child(5){background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18)),var(--media-service-gallery-05)}

/* softer UI when real media is used */
.tourism-thumbs i,.fake-photo-grid i,.shop-products i,.sv-gallery i,.product-row i{border-radius:10px}
@media(max-width:760px){
  .tourism-thumbs i,.fake-photo-grid i,.shop-products i,.sv-gallery i,.product-row i{border-radius:8px}
}

/* =========================================================
   V6 — MEDIA FIT FIX
   Shows the complete source image while keeping each frame full.
   Foreground = contain (no crop), background = cover (fills edges).
   ========================================================= */

/* Restore the original absolute compositions in cards that use a media layer. */
.creative-word,.creative-rings,.creative-caption,
.health-copy,.health-orbit,
.food-copy,.food-plate,
.campaign-lines,.campaign-copy{position:absolute;z-index:2}
.creative-mini::before,.health-mini::before,.food-mini::before,.campaign-mini::before{z-index:0}
.health-grid{z-index:1}

/* HERO — full photo visible + soft fill behind it */
.fake-photo-grid i:first-child{
  background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.22)),var(--media-hero-browser-01),var(--media-hero-browser-01);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#28302e
}
.fake-photo-grid i:nth-child(2){
  background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18)),var(--media-hero-browser-02),var(--media-hero-browser-02);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#27302e
}
.fake-photo-grid i:nth-child(3){
  background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18)),var(--media-hero-browser-03),var(--media-hero-browser-03);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#242827
}
.travel-image{
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.14)),var(--media-hero-phone),var(--media-hero-phone);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#20352c
}
.product-row i:first-child{
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.08)),var(--media-hero-product-01),var(--media-hero-product-01);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#ddd8cf
}
.product-row i:nth-child(2){
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.08)),var(--media-hero-product-02),var(--media-hero-product-02);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#d4d0c7
}
.product-row i:nth-child(3){
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.08)),var(--media-hero-product-03),var(--media-hero-product-03);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#d8d2c7
}

/* SHOWROOM */
.corporate-mini{
  background-image:linear-gradient(90deg,rgba(231,227,217,.96) 0 39%,rgba(231,227,217,.42) 55%,rgba(20,24,23,.10) 100%),var(--media-show-corporate),var(--media-show-corporate);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#d8d4ca
}
.tourism-visual{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.48)),var(--media-show-tourism),var(--media-show-tourism);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#193128
}
.tourism-thumbs i:first-child{
  background-image:var(--media-show-tourism-01),var(--media-show-tourism-01);background-size:contain,cover;background-position:center;background-repeat:no-repeat;background-color:#334c41
}
.tourism-thumbs i:nth-child(2){
  background-image:var(--media-show-tourism-02),var(--media-show-tourism-02);background-size:contain,cover;background-position:center;background-repeat:no-repeat;background-color:#4d473d
}
.tourism-thumbs i:nth-child(3){
  background-image:var(--media-show-tourism-03),var(--media-show-tourism-03);background-size:contain,cover;background-position:center;background-repeat:no-repeat;background-color:#26372f
}
.property-canvas{
  background-image:linear-gradient(180deg,rgba(255,255,255,.01),rgba(0,0,0,.08)),var(--media-show-realestate),var(--media-show-realestate);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#b9b5aa
}
.creative-mini::before{
  background-image:linear-gradient(180deg,rgba(9,7,16,.12),rgba(9,7,16,.54)),var(--media-show-creative),var(--media-show-creative);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#130f20;opacity:1
}
.shop-products i:first-child{
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.06)),var(--media-show-shop-01),var(--media-show-shop-01);background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#e2ded6
}
.shop-products i:nth-child(2){
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.06)),var(--media-show-shop-02),var(--media-show-shop-02);background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#dad6cf
}
.shop-products i:nth-child(3){
  background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.06)),var(--media-show-shop-03),var(--media-show-shop-03);background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#ddd7cd
}
.health-mini::before{
  background-image:linear-gradient(180deg,rgba(232,240,237,.12),rgba(24,33,31,.15)),var(--media-show-health),var(--media-show-health);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#e8f0ed;opacity:1
}
.food-mini::before{
  background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.36)),var(--media-show-food),var(--media-show-food);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#261b14;opacity:1
}
.campaign-mini::before{
  background-image:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.52)),var(--media-show-campaign),var(--media-show-campaign);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#0d0d0d;opacity:1
}

/* PHOTO RIBBON — never crop the source image */
.photo-a{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.34)),var(--media-ribbon-a),var(--media-ribbon-a)}
.photo-b{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.34)),var(--media-ribbon-b),var(--media-ribbon-b)}
.photo-c{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.34)),var(--media-ribbon-c),var(--media-ribbon-c)}
.photo-d{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.44)),var(--media-ribbon-d),var(--media-ribbon-d)}
.photo-e{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.38)),var(--media-ribbon-e),var(--media-ribbon-e)}
.photo-a,.photo-b,.photo-c,.photo-d,.photo-e{
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#111
}

/* SERVICES */
.sv-photo-before{
  background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.12)),var(--media-service-photo-before),var(--media-service-photo-before);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#242424;filter:grayscale(1)
}
.sv-photo-after{
  background-image:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.06)),var(--media-service-photo-after),var(--media-service-photo-after);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#242424
}
.sv-video-frame{
  background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.26)),var(--media-service-video),var(--media-service-video);
  background-size:auto,contain,cover;background-position:center;background-repeat:no-repeat;background-color:#090b0c
}
.sv-gallery i:first-child{background-image:var(--media-service-gallery-01),var(--media-service-gallery-01)}
.sv-gallery i:nth-child(2){background-image:var(--media-service-gallery-02),var(--media-service-gallery-02)}
.sv-gallery i:nth-child(3){background-image:var(--media-service-gallery-03),var(--media-service-gallery-03)}
.sv-gallery i:nth-child(4){background-image:var(--media-service-gallery-04),var(--media-service-gallery-04)}
.sv-gallery i:nth-child(5){background-image:var(--media-service-gallery-05),var(--media-service-gallery-05)}
.sv-gallery i{background-size:contain,cover;background-position:center;background-repeat:no-repeat;background-color:var(--theme-panel)}

/* A little extra breathing room for portrait images inside narrow frames. */
.travel-image,.product-row i,.tourism-thumbs i,.shop-products i,.photo-card,.sv-gallery i{background-origin:content-box,border-box;background-clip:content-box,border-box}

@media(max-width:760px){
  .photo-a,.photo-b,.photo-c,.photo-d,.photo-e{background-size:auto,contain,cover}
  .fake-photo-grid i,.tourism-thumbs i,.product-row i,.shop-products i,.sv-gallery i{background-size:contain,cover}
}


/* =========================================================
   V10 — TARGETED MEDIA + FULLSCREEN VISOR FIX
   ========================================================= */

/* Restore clean single-image rendering. No duplicated photo backgrounds. */
.fake-photo-grid i,
.product-row i,
.tourism-thumbs i,
.shop-products i,
.sv-gallery i,
.travel-image,
.sv-video-frame,
.sv-photo-before,
.sv-photo-after{
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-origin:border-box !important;
  background-clip:border-box !important;
}

/* Hero: show the full image where cropping was too aggressive. */
.fake-photo-grid i:first-child{
  background-image:var(--media-hero-browser-01) !important;
  background-size:contain !important;
  background-color:#24302d !important;
}
.fake-photo-grid i:nth-child(2){
  background-image:var(--media-hero-browser-02) !important;
  background-size:contain !important;
  background-color:#24302d !important;
}
.fake-photo-grid i:nth-child(3){
  background-image:var(--media-hero-browser-03) !important;
  background-size:contain !important;
  background-color:#202624 !important;
}
.travel-image{
  background-image:var(--media-hero-phone) !important;
  background-size:cover !important;
  background-color:#1f342b !important;
}
.product-row i:first-child{
  background-image:var(--media-hero-product-01) !important;
  background-size:cover !important;
}
.product-row i:nth-child(2){
  background-image:var(--media-hero-product-02) !important;
  background-size:cover !important;
}
.product-row i:nth-child(3){
  background-image:var(--media-hero-product-03) !important;
  background-size:cover !important;
}

/* SHOWROOM: preserve the composition that looked right before. */
.corporate-mini{
  background-image:linear-gradient(115deg,rgba(231,227,217,.96) 0 48%,rgba(24,28,27,.72) 100%),var(--media-show-corporate) !important;
  background-size:cover !important;
  background-position:center !important;
}
.tourism-visual{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.58)),var(--media-show-tourism) !important;
  background-size:cover !important;
}
.tourism-thumbs i:first-child{background-image:var(--media-show-tourism-01) !important;background-size:cover !important}
.tourism-thumbs i:nth-child(2){background-image:var(--media-show-tourism-02) !important;background-size:cover !important}
.tourism-thumbs i:nth-child(3){background-image:var(--media-show-tourism-03) !important;background-size:cover !important}
.property-canvas{
  background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.04)),var(--media-show-realestate) !important;
  background-size:cover !important;
}

/* OBJETOS ESENCIALES — return the three product images to the previous visual behavior. */
.shop-products i:first-child{
  background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.10)),var(--media-show-shop-01) !important;
  background-size:cover !important;
}
.shop-products i:nth-child(2){
  background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.10)),var(--media-show-shop-02) !important;
  background-size:cover !important;
}
.shop-products i:nth-child(3){
  background-image:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.10)),var(--media-show-shop-03) !important;
  background-size:cover !important;
}

/* Espacios que permanecen: direct architecture photo, no blur, no pseudo duplication. */
.style-demo-art{
  background-image:url('assets/media/ribbon-arquitectura.webp') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  border-radius:14px;
  overflow:hidden;
}
.style-demo-art i{
  display:none !important;
}
.style-demo-art::before,
.style-demo-art::after{
  content:none !important;
  display:none !important;
}
.style-demo-art span{
  z-index:2;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}

/* Photo ribbon thumbnails: one clean image each. Full image is shown in the fullscreen viewer. */
.photo-a{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.36)),var(--media-ribbon-a) !important}
.photo-b{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.36)),var(--media-ribbon-b) !important}
.photo-c{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.36)),var(--media-ribbon-c) !important}
.photo-d{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.46)),var(--media-ribbon-d) !important}
.photo-e{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.40)),var(--media-ribbon-e) !important}
.photo-card{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  cursor:zoom-in;
}
.photo-card::before,
.photo-card::after{
  content:none !important;
  display:none !important;
}

/* Real fullscreen visual experience. The overlay does NOT capture the pointer on desktop,
   so leaving the source card immediately closes it. */
.photo-hover-viewer{
  position:fixed;
  inset:0;
  z-index:260;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3vh 3vw;
  background:rgba(3,5,7,.94);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility 0s linear .28s;
}
.photo-hover-viewer.is-open{
  opacity:1;
  visibility:visible;
  transition:opacity .28s ease;
}
.photo-hover-viewer img{
  display:block;
  width:auto;
  height:auto;
  max-width:94vw;
  max-height:92vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 28px 90px rgba(0,0,0,.55);
  opacity:0;
  transform:scale(.88) translateY(20px);
  filter:blur(8px);
  transition:transform .42s cubic-bezier(.16,1,.3,1), opacity .30s ease, filter .35s ease;
}
.photo-hover-viewer.is-open img{
  opacity:1;
  transform:scale(1) translateY(0);
  filter:blur(0);
}
.photo-hover-viewer .viewer-caption{
  position:absolute;
  left:50%;
  bottom:2.2vh;
  transform:translateX(-50%) translateY(8px);
  color:rgba(255,255,255,.78);
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  transition:opacity .3s ease .08s, transform .3s ease .08s;
}
.photo-hover-viewer.is-open .viewer-caption{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* Touch: click-to-open with a tappable backdrop. */
@media(pointer:coarse){
  .photo-hover-viewer{pointer-events:auto}
}


/* V11 — color recovery + smaller viewer + bokeh backdrop */
/* Bring back stronger, cleaner image color without weird warm cast. */
.corporate-mini,
.tourism-visual,
.property-canvas,
.shop-products i,
.style-demo-art,
.photo-card,
.creative-mini::before,
.health-mini::before,
.food-mini::before,
.campaign-mini::before{
  filter:saturate(1.08) contrast(1.03) brightness(1.01);
}

.corporate-mini{
  background-image:linear-gradient(100deg,rgba(239,236,228,.94) 0 42%,rgba(239,236,228,.52) 57%,rgba(18,23,24,.10) 100%),var(--media-show-corporate) !important;
}
.tourism-visual{
  background-image:linear-gradient(180deg,rgba(0,0,0,.00),rgba(0,0,0,.34)),var(--media-show-tourism) !important;
}
.property-canvas{
  background-image:linear-gradient(180deg,rgba(255,255,255,.00),rgba(0,0,0,.03)),var(--media-show-realestate) !important;
}
.shop-products i:first-child,
.shop-products i:nth-child(2),
.shop-products i:nth-child(3){
  background-image:linear-gradient(180deg,rgba(255,255,255,.01),rgba(0,0,0,.05)),var(--media-show-shop-01) !important;
  background-size:cover !important;
  background-position:center !important;
}
.shop-products i:nth-child(2){background-image:linear-gradient(180deg,rgba(255,255,255,.01),rgba(0,0,0,.05)),var(--media-show-shop-02) !important;}
.shop-products i:nth-child(3){background-image:linear-gradient(180deg,rgba(255,255,255,.01),rgba(0,0,0,.05)),var(--media-show-shop-03) !important;}
.creative-mini::before{
  background-image:linear-gradient(180deg,rgba(8,8,15,.05),rgba(8,8,15,.34)),var(--media-show-creative) !important;
}
.health-mini::before{
  background-image:linear-gradient(180deg,rgba(232,240,237,.06),rgba(18,28,26,.10)),var(--media-show-health) !important;
}
.food-mini::before{
  background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),var(--media-show-food) !important;
}
.campaign-mini::before{
  background-image:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.36)),var(--media-show-campaign) !important;
}
.style-demo-art{
  filter:saturate(1.07) contrast(1.03) brightness(1.01);
}
.photo-a{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.22)),var(--media-ribbon-a) !important}
.photo-b{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.22)),var(--media-ribbon-b) !important}
.photo-c{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.22)),var(--media-ribbon-c) !important}
.photo-d{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.28)),var(--media-ribbon-d) !important}
.photo-e{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.24)),var(--media-ribbon-e) !important}
.photo-card:hover{filter:saturate(1.14) contrast(1.04) brightness(1.01);transform:translateY(-4px)}

/* Smaller hover viewer with page visible behind as a soft bokeh blur. */
.photo-hover-viewer{
  padding:6vh 8vw;
  background:rgba(5,8,11,.28);
  backdrop-filter:blur(16px) saturate(1.06);
  -webkit-backdrop-filter:blur(16px) saturate(1.06);
}
.photo-hover-viewer::before,
.photo-hover-viewer::after{
  content:"";
  position:absolute;
  inset:auto;
  width:30vw;
  height:30vw;
  min-width:220px;
  min-height:220px;
  max-width:420px;
  max-height:420px;
  border-radius:50%;
  pointer-events:none;
  filter:blur(46px);
  opacity:.16;
}
.photo-hover-viewer::before{
  left:8vw;
  top:12vh;
  background:radial-gradient(circle,rgba(98,227,234,.95) 0,rgba(98,227,234,.22) 28%,transparent 68%);
}
.photo-hover-viewer::after{
  right:8vw;
  bottom:12vh;
  background:radial-gradient(circle,rgba(255,255,255,.88) 0,rgba(159,134,255,.20) 26%,transparent 68%);
}
.photo-hover-viewer img{
  position:relative;
  z-index:1;
  max-width:min(76vw,1180px);
  max-height:74vh;
  border-radius:14px;
  box-shadow:0 32px 110px rgba(0,0,0,.30), 0 10px 36px rgba(0,0,0,.18);
  transform:scale(.94) translateY(18px);
  filter:blur(10px);
}
.photo-hover-viewer.is-open img{
  transform:scale(1) translateY(0);
  filter:blur(0);
}
.photo-hover-viewer .viewer-caption{
  z-index:2;
  bottom:4vh;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(10,14,18,.34);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}

@media (max-width: 900px){
  .photo-hover-viewer{padding:7vh 5vw;background:rgba(5,8,11,.40)}
  .photo-hover-viewer img{max-width:88vw;max-height:72vh}
}


/* V12 — elegant smaller hover viewer + clearer animation */
.photo-hover-viewer{
  padding:8vh 10vw !important;
  background:rgba(4,7,10,.20) !important;
  backdrop-filter:blur(22px) saturate(1.04) brightness(.94) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.04) brightness(.94) !important;
  transition:opacity .34s ease, visibility 0s linear .34s !important;
}
.photo-hover-viewer::before,
.photo-hover-viewer::after{
  opacity:.12 !important;
  filter:blur(62px) !important;
}
.photo-hover-viewer img{
  max-width:min(58vw,860px) !important;
  max-height:58vh !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 40px 120px rgba(0,0,0,.24), 0 14px 38px rgba(0,0,0,.16) !important;
  transform:perspective(1200px) scale(.82) translateY(34px) rotateX(10deg) !important;
  transform-origin:center center;
  opacity:0 !important;
  filter:blur(16px) saturate(.92) !important;
  transition:transform .62s cubic-bezier(.18,.9,.18,1), opacity .34s ease, filter .58s ease !important;
}
.photo-hover-viewer.is-open img{
  transform:perspective(1200px) scale(1) translateY(0) rotateX(0deg) !important;
  opacity:1 !important;
  filter:blur(0) saturate(1) !important;
}
.photo-hover-viewer .viewer-caption{
  bottom:5vh !important;
  padding:11px 16px !important;
  background:rgba(10,14,18,.24) !important;
  border:1px solid rgba(255,255,255,.10);
  transform:translateX(-50%) translateY(18px) scale(.96) !important;
  opacity:0 !important;
  transition:opacity .38s ease .14s, transform .44s cubic-bezier(.2,.9,.2,1) .14s !important;
}
.photo-hover-viewer.is-open .viewer-caption{
  transform:translateX(-50%) translateY(0) scale(1) !important;
  opacity:1 !important;
}
.photo-card{overflow:visible}
.photo-card::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:24px;
  pointer-events:none;
  box-shadow:0 0 0 0 rgba(107,241,255,0);
  transition:box-shadow .34s ease, opacity .34s ease;
  opacity:0;
}
.photo-card:hover::after,
.photo-card:focus::after{
  opacity:1;
  box-shadow:0 0 0 1px rgba(107,241,255,.20), 0 18px 32px rgba(0,0,0,.16);
}
@media (max-width: 900px){
  .photo-hover-viewer{padding:8vh 6vw !important;background:rgba(4,7,10,.32) !important}
  .photo-hover-viewer img{max-width:82vw !important;max-height:52vh !important}
}


/* V13 — genuinely compact premium viewer */
.photo-hover-viewer{
  padding:10vh 14vw !important;
  background:rgba(5,8,11,.18) !important;
  backdrop-filter:blur(24px) saturate(1.02) brightness(.92) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.02) brightness(.92) !important;
}
.photo-hover-viewer img{
  width:auto !important;
  height:auto !important;
  max-width:min(42vw,720px) !important;
  max-height:50vh !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 26px 80px rgba(0,0,0,.24), 0 8px 28px rgba(0,0,0,.18) !important;
  transform:perspective(1200px) scale(.74) translateY(40px) rotateX(12deg) !important;
  opacity:0 !important;
  filter:blur(18px) saturate(.9) !important;
  transition:transform .68s cubic-bezier(.18,.9,.18,1), opacity .32s ease, filter .56s ease !important;
}
.photo-hover-viewer.is-open img{
  transform:perspective(1200px) scale(1) translateY(0) rotateX(0deg) !important;
  opacity:1 !important;
  filter:blur(0) saturate(1) !important;
}
.photo-hover-viewer .viewer-caption{
  bottom:7vh !important;
  font-size:8px !important;
  padding:9px 13px !important;
  background:rgba(8,12,15,.22) !important;
}
@media (min-width:1500px){
  .photo-hover-viewer img{
    max-width:min(36vw,700px) !important;
    max-height:48vh !important;
  }
}
@media (max-width:1100px){
  .photo-hover-viewer img{
    max-width:60vw !important;
    max-height:50vh !important;
  }
}
@media (max-width:760px){
  .photo-hover-viewer img{
    max-width:82vw !important;
    max-height:46vh !important;
  }
}

/* V14 — launch viewer from thumbnail with premium motion */
.site-header,
.theme-dock,
.mobile-nav,
main,
.noise,
.theme-fx,
.theme-wash{
  transition:filter .42s ease, transform .42s ease, opacity .42s ease;
}
body.viewer-active .site-header,
body.viewer-active .theme-dock,
body.viewer-active .mobile-nav,
body.viewer-active main,
body.viewer-active .noise,
body.viewer-active .theme-fx,
body.viewer-active .theme-wash{
  filter:blur(8px) saturate(.80) brightness(.70);
  transform:scale(.994);
}

.photo-hover-viewer{
  position:fixed !important;
  inset:0 !important;
  z-index:140 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  background:transparent !important;
  padding:0 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transition:opacity .22s ease, visibility 0s linear .22s !important;
}
.photo-hover-viewer.is-visible{
  opacity:1 !important;
  visibility:visible !important;
  transition:opacity .22s ease !important;
}
.photo-hover-viewer .viewer-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.06), transparent 24%),
    radial-gradient(circle at 15% 20%, rgba(107,241,255,.08), transparent 28%),
    radial-gradient(circle at 78% 72%, rgba(255,255,255,.05), transparent 26%),
    rgba(3,7,10,.14);
  opacity:0;
  transition:opacity .36s ease;
}
.photo-hover-viewer.is-open .viewer-backdrop,
.photo-hover-viewer.is-closing .viewer-backdrop{
  opacity:1;
}
.photo-hover-viewer img{
  position:fixed !important;
  margin:0 !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.22), 0 10px 30px rgba(0,0,0,.16) !important;
  will-change:left, top, width, height, transform, opacity, filter !important;
  transition:
    left .62s cubic-bezier(.18,.9,.20,1),
    top .62s cubic-bezier(.18,.9,.20,1),
    width .62s cubic-bezier(.18,.9,.20,1),
    height .62s cubic-bezier(.18,.9,.20,1),
    transform .62s cubic-bezier(.16,1,.24,1),
    opacity .26s ease,
    filter .40s ease,
    border-radius .62s cubic-bezier(.18,.9,.20,1) !important;
}
.photo-hover-viewer .viewer-caption{
  position:fixed !important;
  left:50% !important;
  bottom:10.5vh !important;
  transform:translate(-50%, 14px) scale(.96) !important;
  opacity:0 !important;
  font-size:8px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  color:rgba(255,255,255,.88) !important;
  padding:9px 13px !important;
  border-radius:999px !important;
  background:rgba(8,12,15,.30) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(16px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.05) !important;
  transition:opacity .18s ease, transform .36s cubic-bezier(.18,.9,.22,1) !important;
}
.photo-hover-viewer.is-open .viewer-caption{
  opacity:1 !important;
  transform:translate(-50%, 0) scale(1) !important;
}

@media (hover:none), (pointer:coarse){
  .photo-hover-viewer{pointer-events:auto !important;}
  body.viewer-active .site-header,
  body.viewer-active .theme-dock,
  body.viewer-active .mobile-nav,
  body.viewer-active main,
  body.viewer-active .noise,
  body.viewer-active .theme-fx,
  body.viewer-active .theme-wash{
    filter:blur(6px) saturate(.84) brightness(.74);
  }
  .photo-hover-viewer .viewer-caption{
    bottom:7vh !important;
    max-width:84vw;
    white-space:normal !important;
    text-align:center;
  }
}

/* V15 — cinematic slower viewer motion */
body.viewer-active .site-header,
body.viewer-active .theme-dock,
body.viewer-active .mobile-nav,
body.viewer-active main,
body.viewer-active .noise,
body.viewer-active .theme-fx,
body.viewer-active .theme-wash{
  filter:blur(10px) saturate(.76) brightness(.66);
  transform:scale(.992);
}
.photo-hover-viewer{
  transition:opacity .34s ease, visibility 0s linear .34s !important;
}
.photo-hover-viewer.is-visible{
  transition:opacity .34s ease !important;
}
.photo-hover-viewer .viewer-backdrop{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.07), transparent 24%),
    radial-gradient(circle at 18% 24%, rgba(107,241,255,.10), transparent 28%),
    radial-gradient(circle at 78% 74%, rgba(255,255,255,.06), transparent 28%),
    rgba(4,8,12,.20);
  transition:opacity .56s ease;
}
.photo-hover-viewer img{
  box-shadow:0 34px 110px rgba(0,0,0,.28), 0 16px 44px rgba(0,0,0,.18) !important;
  transition:
    left .86s cubic-bezier(.15,.92,.20,1),
    top .86s cubic-bezier(.15,.92,.20,1),
    width .86s cubic-bezier(.15,.92,.20,1),
    height .86s cubic-bezier(.15,.92,.20,1),
    transform .86s cubic-bezier(.14,1,.22,1),
    opacity .32s ease,
    filter .48s ease,
    border-radius .86s cubic-bezier(.15,.92,.20,1) !important;
}
.photo-hover-viewer .viewer-caption{
  transform:translate(-50%, 18px) scale(.94) !important;
  transition:opacity .24s ease, transform .52s cubic-bezier(.16,.92,.22,1) !important;
}
.photo-hover-viewer.is-open .viewer-caption{
  transform:translate(-50%, 0) scale(1) !important;
}


/* V16 — REAL VIDEO + REAL MAP */
.sv-video{
  width:min(92%,680px);
  height:320px;
  border:1px solid var(--theme-line);
  background:#070909;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.sv-real-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#050606;
  cursor:pointer;
}
.sv-video::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.54));
}
.sv-video-play{
  z-index:3;
  left:50%;
  top:50%;
  width:64px;
  height:64px;
  background:rgba(5,9,10,.42);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-color:rgba(255,255,255,.62);
  color:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.sv-video.is-playing .sv-video-play{
  opacity:0;
  transform:translate(-50%,-50%) scale(.86);
  animation:none;
}
.sv-video:hover.is-playing .sv-video-play{opacity:.72}
.sv-video-timeline{
  z-index:3;
  bottom:24px;
  left:18px;
  right:18px;
  height:3px;
  background:rgba(255,255,255,.22);
}
.sv-video-timeline i{width:0;background:#fff;transition:width .12s linear}
.sv-video-time{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:7px;
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.72);
  font:600 7px/1 var(--mode-mono);
  letter-spacing:.08em;
}

.sv-real-map{
  width:min(94%,700px) !important;
  height:330px !important;
  border:1px solid var(--theme-line) !important;
  background:#111 !important;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.18);
}
.sv-real-map .leaflet-control-container{font-family:var(--mode-body)}
.sv-real-map .leaflet-control-zoom a{
  background:rgba(12,17,18,.90);
  color:#fff;
  border-color:rgba(255,255,255,.10);
}
.sv-real-map .leaflet-control-attribution{
  background:rgba(6,9,10,.74);
  color:rgba(255,255,255,.70);
  font-size:8px;
}
.sv-real-map .leaflet-control-attribution a{color:#fff}
.sv-map-loading,.sv-map-error{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#111719,#090c0d);
  color:rgba(255,255,255,.72);
  font:600 9px/1 var(--mode-mono);
  letter-spacing:.16em;
}
.dropho-map-marker{
  background:transparent !important;
  border:0 !important;
}
.dropho-map-marker span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:#0b1011;
  color:#fff;
  border:2px solid #62e3ea;
  box-shadow:0 7px 20px rgba(0,0,0,.30);
  font:700 8px/1 var(--mode-mono);
}
.dropho-map-marker span::first-letter{transform:rotate(45deg)}
.sv-real-map .leaflet-popup-content-wrapper,
.sv-real-map .leaflet-popup-tip{
  background:#0b1011;
  color:#fff;
}
.sv-real-map .leaflet-popup-content{font-size:11px;line-height:1.35}

@media(max-width:720px){
  .sv-video{width:104%;height:260px;transform:scale(.90)}
  .sv-real-map{width:104% !important;height:270px !important;transform:scale(.90)}
}

/* V18 — real map presentation + cursor visibility everywhere in service demos */
.service-stage-visual,
.service-stage-visual .service-visual,
.service-stage-visual .service-visual *{
  cursor:default !important;
}
body[data-theme="experimental"] .service-stage-visual{
  cursor:default !important;
}
.service-button,
.sv-action,
.sv-video-play,
.sv-real-video,
.sv-map-toolbar button,
.leaflet-control a,
.leaflet-marker-icon,
button,
a{
  cursor:pointer !important;
}
.sv-form input,
.sv-form textarea{
  cursor:text !important;
}
.sv-real-map,
.sv-real-map .leaflet-container,
.sv-real-map .leaflet-pane,
.sv-real-map .leaflet-tile-container{
  cursor:grab !important;
}
.sv-real-map:active,
.sv-real-map .leaflet-drag-target{
  cursor:grabbing !important;
}

.sv-map-shell{
  position:relative;
  width:min(94%,700px);
  height:330px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  background:#111;
}
.sv-map-shell .sv-real-map{
  width:100% !important;
  height:100% !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.sv-map-toolbar{
  position:absolute;
  z-index:620;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:rgba(8,12,14,.78);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.sv-map-toolbar button{
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(255,255,255,.66);
  padding:8px 12px;
  font:700 7px/1 var(--mode-mono);
  letter-spacing:.12em;
  transition:.2s ease;
}
.sv-map-toolbar button:hover{color:#fff;background:rgba(255,255,255,.08)}
.sv-map-toolbar button.is-active{background:#fff;color:#111}

.sv-real-map .leaflet-tile{
  filter:saturate(1.02) contrast(1.01);
}
.sv-real-map .leaflet-control-zoom{
  border:0 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.20) !important;
}
.sv-real-map .leaflet-control-zoom a{
  background:rgba(7,10,12,.88) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.10) !important;
}
.sv-real-map .leaflet-control-attribution{
  background:rgba(5,8,10,.72) !important;
  color:rgba(255,255,255,.72) !important;
  font-size:7px !important;
  backdrop-filter:blur(6px);
}
.sv-real-map .leaflet-control-attribution a{color:#fff !important}

@media(max-width:720px){
  .sv-map-shell{width:104%;height:270px;transform:scale(.90)}
}


/* V19 — Leaflet viewport/tile layout fix.
   The previous black gaps were caused by initializing the map while the service demo
   was scaling in. Keep the map container at a stable, literal size. */
.service-stage-visual.map-mode .service-visual{
  animation:serviceMapFadeIn .34s ease both !important;
  transform:none !important;
}
@keyframes serviceMapFadeIn{from{opacity:0}to{opacity:1}}

.service-stage-visual.map-mode{
  overflow:hidden !important;
}
.service-stage-visual.map-mode .sv-map-shell{
  width:calc(100% - 68px) !important;
  max-width:760px !important;
  height:326px !important;
  transform:none !important;
  flex:none !important;
  contain:layout paint;
}
.service-stage-visual.map-mode .sv-real-map,
.service-stage-visual.map-mode .leaflet-container{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
  position:relative !important;
}
.service-stage-visual.map-mode .leaflet-map-pane,
.service-stage-visual.map-mode .leaflet-tile-pane,
.service-stage-visual.map-mode .leaflet-overlay-pane,
.service-stage-visual.map-mode .leaflet-marker-pane,
.service-stage-visual.map-mode .leaflet-shadow-pane{
  max-width:none !important;
  max-height:none !important;
}
.service-stage-visual.map-mode .leaflet-tile-container{
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
}
.service-stage-visual.map-mode .leaflet-tile{
  width:256px !important;
  height:256px !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.service-stage-visual.map-mode .sv-map-toolbar{
  z-index:1000 !important;
}

@media(max-width:720px){
  .service-stage-visual.map-mode .sv-map-shell{
    width:calc(100% - 30px) !important;
    height:264px !important;
    transform:none !important;
  }
  .service-stage-visual.map-mode .sv-real-map{
    width:100% !important;
    height:100% !important;
    transform:none !important;
  }
}


/* V20 — robust real map: one Google Maps iframe, no Leaflet tiles */
.service-stage-visual.map-mode .service-visual,
.service-stage-visual.map-mode,
.service-stage-visual.map-mode .sv-map-shell,
.service-stage-visual.map-mode .sv-google-map-shell{
  transform:none !important;
}
.sv-google-map-shell{
  position:relative;
  width:min(92%,760px) !important;
  height:320px !important;
  border:1px solid var(--theme-line);
  border-radius:22px;
  overflow:hidden;
  background:#0b1012;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
}
.sv-google-map{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  display:block;
  background:#0b1012;
  cursor:grab !important;
}
.sv-google-map:active{cursor:grabbing !important}
.sv-google-map-shell .sv-map-toolbar{
  position:absolute;
  z-index:4;
  top:14px;
  left:14px;
  display:flex;
  gap:4px;
  padding:4px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(6,10,12,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.sv-google-map-shell .sv-map-toolbar button{
  position:relative;
  z-index:5;
  border:0 !important;
  border-radius:999px !important;
  padding:9px 14px !important;
  background:transparent !important;
  color:rgba(255,255,255,.68) !important;
  font-size:8px !important;
  letter-spacing:.14em !important;
  cursor:pointer !important;
}
.sv-google-map-shell .sv-map-toolbar button.is-active{
  background:#fff !important;
  color:#111 !important;
}
.service-stage-visual.map-mode .sv-action[data-sv-action="map"]{
  cursor:pointer !important;
}
@media(max-width:720px){
  .sv-google-map-shell{width:96% !important;height:290px !important;border-radius:18px}
  .sv-google-map-shell .sv-map-toolbar{top:10px;left:10px}
}
@media(max-width:480px){
  .sv-google-map-shell{width:100% !important;height:260px !important}
}


/* V21 — clean embedded map: remove duplicate custom layer controls and give the map more air */
.sv-google-map-shell .sv-map-toolbar{
  display:none !important;
}
.service-stage-visual.map-mode .service-visual{
  padding:30px 34px 52px !important;
}
.service-stage-visual.map-mode .sv-google-map-shell{
  width:min(86%,720px) !important;
  height:286px !important;
  max-width:720px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.16) !important;
  transform:translateY(-6px) !important;
}
.service-stage-visual.map-mode .sv-google-map{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border-radius:inherit !important;
}
.service-stage-visual.map-mode .sv-label{
  left:28px !important;
  bottom:18px !important;
}
.service-stage-visual.map-mode .sv-action[data-sv-action="map"]{
  right:28px !important;
  bottom:14px !important;
}
@media(max-width:720px){
  .service-stage-visual.map-mode .service-visual{padding:26px 22px 50px !important}
  .service-stage-visual.map-mode .sv-google-map-shell{
    width:90% !important;
    height:240px !important;
    border-radius:16px !important;
    transform:translateY(-4px) !important;
  }
  .service-stage-visual.map-mode .sv-label{left:20px !important}
  .service-stage-visual.map-mode .sv-action[data-sv-action="map"]{right:20px !important}
}
@media(max-width:480px){
  .service-stage-visual.map-mode .sv-google-map-shell{
    width:92% !important;
    height:220px !important;
  }
}
