:root{--ink:#122e4c;--ink2:#28435f;--orange:#f07c2d;--orange2:#f59d4d;--paper:#fbfcfc;--line:#e5ebef;--muted:#65798f;--navy:#0b2845;--max:1330px}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:#fff;color:var(--ink);font:400 15px/1.5 "DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font:inherit}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}
h1,h2,h3{font-family:Manrope,"DM Sans",sans-serif;letter-spacing:-.052em}
a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.container{width:min(calc(100% - 90px),var(--max));margin:0 auto}
.skip{position:absolute;top:-100px;left:15px;z-index:50;padding:12px;background:#fff}.skip:focus{top:10px}
.brand-top{height:3px;background:linear-gradient(90deg,#e99444 0 27%,#6797b5 27% 60%,#112d4b 60%)}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e9edf1;box-shadow:0 7px 25px #173c5910}
.nav-shell{height:68px;display:flex;align-items:center;gap:27px;justify-content:space-between}
.brand{display:flex;align-items:center;min-width:235px;gap:7px}
.brand img{height:51px;width:55px;object-fit:contain}
.brand-name{font:800 22px/1 Manrope,sans-serif;letter-spacing:-.08em;white-space:nowrap;color:var(--orange)}
.brand-name b{color:#153553;font-weight:800}
.brand-name small{display:block;font:700 8px/1.6 "DM Sans",sans-serif;letter-spacing:.21em;color:#61798a;margin-top:3px}
.navigation{display:flex;gap:32px;align-items:center;margin-left:auto}
.navigation a{font-size:12px;font-weight:700;position:relative;transition:color .2s}
.navigation a:hover{color:var(--orange)}
.navigation a.active:after{content:"";height:2px;background:var(--orange);position:absolute;bottom:-23px;left:0;right:0}
.header-whatsapp{display:flex;align-items:center;gap:8px;background:#0d2c4e;color:#fff;padding:12px 18px;font-weight:800;font-size:12px;border-radius:7px;transition:background .2s}
.header-whatsapp:hover,.bottom-whatsapp:hover{background:#315d82}
.header-whatsapp svg{width:18px;height:18px}.header-whatsapp span{margin-left:5px;font-size:17px;font-weight:400}
.hamburger{display:none}
.mobile-nav{display:none}

.hero{position:relative;isolation:isolate;overflow:hidden;background:#f9fbfc;height:380px;border-bottom:1px solid #f0f2f3}
.hero:before{content:"";position:absolute;inset:0;z-index:0;opacity:.35;pointer-events:none;background:repeating-radial-gradient(ellipse 110px 160px at -30px 190px,transparent 0 12px,#a4c0d0 13px,transparent 14px 25px);mask-image:linear-gradient(90deg,#000 0%,transparent 32%)}
.hero-visual{position:absolute;right:0;top:0;bottom:0;width:62%;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);z-index:0}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:saturate(.82) contrast(1.035)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#183a5255 0%,transparent 30%),linear-gradient(0deg,#15304e2b,transparent 43%)}
.hero-angles{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(122deg,transparent 49.4%,#31567538 49.45%,#31567538 52.6%,transparent 52.7%),linear-gradient(122deg,transparent 51.3%,#527e9e24 51.4%,#527e9e24 54.1%,transparent 54.2%)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.copy{width:52%;padding:8px 0 9px}
.accent-line{height:3px;width:50px;background:var(--orange);margin-bottom:20px}
.hero h1{font-size:clamp(3rem,5.15vw,5.65rem);line-height:1.06;letter-spacing:-.072em;font-weight:800;margin-bottom:13px}
.hero h1 em,.work-title h2 em,.contact-info h2 em{font-style:normal;color:var(--orange)}
.hero p{font-size:15px;font-weight:600;color:#294660;line-height:1.6;max-width:570px;white-space:nowrap}
.hero-buttons{display:flex;gap:13px;margin-top:24px;flex-wrap:wrap}
.button{height:47px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 21px;border-radius:7px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:20px;font-weight:400;line-height:1}
.button-orange{background:var(--orange);color:#fff;box-shadow:0 6px 17px #ef8a3540}
.button-orange:hover{box-shadow:0 9px 25px #e98a4066}
.button-stroke{border:1.5px solid #284967;color:#173754;background:rgba(255,255,255,.85)}

.services{padding:27px 0 30px}
.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:20px}
.section-line h2,.small-kicker{font:800 10px/1.6 "DM Sans",sans-serif;letter-spacing:.23em;color:#2b4c70;display:flex;gap:13px;align-items:center}
.orange-line{width:37px;height:2px;display:inline-block;flex:none;background:var(--orange)}
.line-meta{font:800 9px/1.5 "DM Sans",sans-serif;letter-spacing:.2em;color:#74869c}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.service-item{min-width:0;min-height:102px;display:flex;align-items:center;padding:17px 16px;gap:16px;border:1px solid #e0e6eb;background:#fff;border-radius:6px;box-shadow:0 5px 17px #12355709;transition:box-shadow .25s,transform .25s,border-color .25s}
.service-item:hover{transform:translateY(-3px);border-color:#c3d4de;box-shadow:0 12px 22px #132c4c14}
.service-icon{color:#153c67;flex:none;width:68px;height:68px;display:grid;place-items:center}
.service-icon svg{width:55px;height:55px;stroke-linecap:round;stroke-linejoin:round}
.service-text{min-width:0;flex:1}
.service-text strong{display:block;font:800 16px/1.25 Manrope,sans-serif;letter-spacing:-.048em;margin-bottom:7px}
.service-text small{font-size:12px;line-height:1.45;color:#607386;display:block}
.service-arrow{flex:none;align-self:center;border:1px solid #e1e9ee;border-radius:50%;background:#f7f9fb;font-size:23px;color:#173754;line-height:1;display:grid;place-items:center;width:32px;height:32px;padding-bottom:4px;transition:background .2s}
.service-item:hover .service-arrow{background:#f6a251;border-color:#f6a251;color:#fff}

.work{background:#f3f7f9;position:relative;overflow:hidden;padding:24px 0 24px}
.work:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;background:repeating-radial-gradient(ellipse 120px 120px at -50px 100px,transparent 0 10px,#b7cbd7 10.8px,transparent 11.4px 21px);mask-image:linear-gradient(90deg,#000,transparent 18%)}
.work-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:22px;align-items:center;position:relative}
.work-title h2{margin-top:20px;font-size:clamp(2rem,3.0vw,3rem);font-weight:800;line-height:1.14}
.work-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.photo-tile{position:relative;isolation:isolate;height:215px;overflow:hidden;background:#163653;border-radius:3px}
.photo-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:transform .65s cubic-bezier(.22,1,.36,1)}
.photo-tile:hover img{transform:scale(1.055)}
.photo-tile:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,#081a2cce)}
.photo-tile>div{position:absolute;bottom:15px;left:15px;right:9px;z-index:2;color:#fff}
.photo-tile strong{display:block;font-size:13px;font-weight:800;line-height:1.23}
.photo-tile small{display:block;color:#dee9f1;font-size:11px;margin-top:4px}

.contact-band{background:#0c2c4c;position:relative;overflow:hidden;color:white;padding:24px 0}
.contact-band:before{content:"";pointer-events:none;position:absolute;inset:0;opacity:.25;background:repeating-radial-gradient(ellipse 420px 240px at 22% 120%,transparent 0 21px,#5e91b4 22px,transparent 23px 41px)}
.contact-inner{position:relative;display:flex;align-items:center;gap:45px;justify-content:space-between}
.footer-identity{display:flex;align-items:center;gap:5px;flex:none;padding-right:32px;border-right:2px solid #df8e42}
.footer-identity img{width:59px;height:51px;background:#eaf0f4;border-radius:4px;padding:5px}
.footer-identity strong{font:800 18px/1 Manrope,sans-serif;letter-spacing:-.065em}
.footer-identity strong span{color:#f3a456}
.contact-info{flex:1}
.contact-info h2{font-size:clamp(1.4rem,2.3vw,2.3rem);line-height:1.2}
.contact-info p{font-size:13px;margin-top:5px;color:#b8cbd8}
.bottom-whatsapp{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:174px;padding:12px 18px;border:1px solid #fff;border-radius:7px;font-weight:800;font-size:13px;transition:background .2s}
.bottom-whatsapp span{font-size:20px}
.site-footer{background:#071d33;color:#99b0c2;padding:10px 0}
.footer-row{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:10px}
.footer-row a{color:#d3e3ef}
@media(max-width:1100px){.container{width:min(calc(100% - 54px),var(--max))}.navigation{gap:18px}.hero h1{font-size:clamp(2.8rem,5vw,4.5rem)}.hero-visual{width:60%}.service-item{gap:11px;padding:12px 10px}.service-icon{width:51px;height:60px}.service-icon svg{width:47px;height:50px}.service-text strong{font-size:14px}.service-arrow{width:28px;height:28px}.work-layout{grid-template-columns:205px minmax(0,1fr);gap:14px}.work-title h2{font-size:2.3rem}.contact-inner{gap:22px}.footer-identity{padding-right:15px}}
@media(max-width:850px){.navigation{display:none}.hamburger{display:flex;flex-direction:column;gap:5px;padding:8px;border:0;background:transparent}.hamburger span{width:25px;height:2px;background:#12314f;transition:transform .2s,opacity .2s}.hamburger[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;padding:14px 25px;box-shadow:0 15px 25px #16365122}.mobile-nav a{padding:13px;border-bottom:1px solid #e8eef3;font-weight:700}.hero{height:345px}.hero-visual{width:57%}.copy{width:55%}.hero h1{font-size:clamp(2.7rem,5vw,4rem)}.hero p{white-space:normal;max-width:360px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-item{padding:13px 13px}.work-layout{grid-template-columns:1fr;gap:20px}.work-title h2{font-size:2.4rem;margin-top:8px}.photo-tile{height:200px}.footer-identity{display:none}.contact-inner{gap:14px}}
@media(max-width:590px){html{scroll-padding-top:70px}.container{width:calc(100% - 36px)}.nav-shell{height:64px}.brand{min-width:0}.brand img{height:41px;width:46px}.brand-name{font-size:17px}.brand-name small{font-size:6px}.header-whatsapp{margin-left:auto;padding:10px 12px;font-size:11px}.header-whatsapp svg{width:16px;height:16px}.header-whatsapp span{display:none}.mobile-nav:not([hidden]){top:64px}.hero{height:auto;min-height:0;display:flex;flex-direction:column}.hero:before{display:none}.hero-visual{order:2;position:relative;inset:auto;right:auto;top:auto;bottom:auto;width:100%;height:202px;clip-path:none}.hero-visual img{object-position:center 45%}.hero-angles{display:none}.hero-content{order:1;width:100%;height:auto;padding-top:34px;padding-bottom:33px}.copy{width:100%}.hero h1{font-size:clamp(3rem,10.3vw,4.2rem)}.hero p{font-size:13px;white-space:normal;max-width:none}.hero-buttons{margin-top:22px;gap:9px}.button{font-size:12px;height:43px;padding:11px 14px;gap:12px}.accent-line{margin-bottom:14px}.services{padding:23px 0}.line-meta{display:none}.service-grid{gap:9px}.service-item{min-height:88px;gap:8px;padding:10px 8px}.service-icon{width:43px;height:55px}.service-icon svg{width:42px;height:44px}.service-text strong{font-size:12px;line-height:1.2}.service-text small{font-size:10px;line-height:1.4;margin-top:5px}.service-arrow{display:none}.work{padding:23px 0}.work-title h2{font-size:2rem;margin-top:8px}.work-photos{gap:7px}.photo-tile{height:155px}.photo-tile>div{bottom:8px;left:8px;right:4px}.photo-tile strong{font-size:10px}.photo-tile small{font-size:9px}.contact-band{padding:22px 0}.contact-inner{align-items:flex-start}.contact-info h2{font-size:1.4rem}.contact-info p{font-size:11px}.bottom-whatsapp{min-width:unset;padding:10px 12px;gap:8px;font-size:11px}.bottom-whatsapp span{font-size:16px}.footer-row{flex-wrap:wrap;justify-content:flex-start;gap:6px 12px;font-size:9px}}
@media(max-width:385px){.service-grid{grid-template-columns:1fr}.service-item{min-height:66px}.service-text strong{font-size:14px}.service-text small{font-size:11px}.photo-tile:nth-child(3){display:none}.work-photos{grid-template-columns:1fr 1fr}.photo-tile{height:170px}.hero h1{font-size:2.75rem}.contact-inner{flex-direction:column}.bottom-whatsapp{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(max-width:590px){.hero-content.container{width:calc(100% - 36px)}}

/* Identidad oficial Soporte Urbano: logotipo extraÃ­do del original suministrado */
.brand img{width:259px;height:61px;object-fit:contain}
.brand{min-width:260px;gap:0}
.footer-identity{padding-right:28px}
.footer-identity img{width:218px;height:53px;object-fit:contain;background:white;border-radius:4px;padding:3px 5px}
@media(max-width:1100px){.brand{min-width:228px}.brand img{width:227px;height:54px}.footer-identity img{width:177px;height:45px}}
@media(max-width:590px){.brand{min-width:0}.brand img{width:min(47vw,205px);height:47px}.nav-shell{gap:10px}}

