:root{--navy:#081e39;--blue:#0b3d72;--blue2:#165fa5;--red:#e41d37;--darkred:#bb122a;--ink:#11243b;--muted:#5d6e80;--white:#fff;--gray:#f2f6f9;--border:#dce6ef;--radius:18px;--shadow:0 20px 60px rgba(7,34,63,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-100px;left:12px;z-index:100;padding:10px 16px;background:white}.skip:focus{top:12px}.topline{background:#0b315b;color:#d5e7fc;font-size:11px;letter-spacing:.02em}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:10px}.toploc{color:#fff}.header{height:84px;background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 5px 22px rgba(5,36,68,.07)}.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:240px}.brand-mark{height:43px;width:44px;border:2px solid #1c4e81;color:var(--blue);border-radius:12px;display:grid;place-items:center;font-size:19px;font-weight:900;letter-spacing:-5px;padding-right:5px;transform:skew(-5deg)}.brand-mark span{color:var(--red)}.brand-name{font-weight:850;letter-spacing:-.8px;font-size:23px;color:var(--blue);line-height:1.0}.brand-name b{color:var(--red)}.brand-name small{display:block;font-size:8px;letter-spacing:1.45px;color:#556c83;font-weight:800;margin-top:8px}.nav{display:flex;gap:26px;align-items:center;margin-left:auto}.nav a{font-size:13px;color:#3d526a;font-weight:700;transition:color .2s}.nav a:hover,.footer a:hover{color:var(--red)}.nav-cta{display:flex;align-items:center;gap:11px;color:white;background:var(--red);padding:12px 18px;border-radius:11px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 7px 18px rgba(228,29,55,.22)}.nav-cta:hover,.btn-red:hover{background:var(--darkred)}.wa-dot{border:1px solid #fff8;width:23px;height:23px;border-radius:99px;display:grid;place-items:center}.menu-btn{display:none;border:0;background:none;font-size:25px;color:var(--blue)}
.hero{background:linear-gradient(115deg,#081e3a 0%,#0b315b 48%,#103c66 100%);color:white;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:1000px;height:900px;background:radial-gradient(circle,#286dab34,transparent 64%);left:30%;top:-450px;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;min-height:570px;gap:52px;padding-block:46px 56px;position:relative}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.17em;color:var(--blue);display:flex;align-items:center;gap:11px;text-transform:uppercase;margin-bottom:22px}.eyebrow.light{color:#adc9e8}.eyebrow-line{height:3px;width:24px;background:var(--red);transform:skew(-24deg);display:inline-block}.hero h1{font-size:clamp(37px,4vw,58px);letter-spacing:-2px;line-height:1.12;margin:0 0 23px;font-weight:850}.hero h1 em{font-style:normal;color:#fff}.hero h1 em:after{content:"";height:5px;display:block;width:125px;background:var(--red);margin-top:20px;border-radius:6px}.hero-copy>p{color:#cad9e9;max-width:510px;font-size:17px;line-height:1.7;margin:0 0 34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:14px 21px;font-weight:800;border-radius:11px;font-size:13px;border:1px solid transparent;transition:background .2s,transform .2s;min-height:48px;white-space:normal;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:white;box-shadow:0 12px 25px rgba(228,29,55,.18)}.btn-ghost{border-color:#9db8d17c;color:white;background:#ffffff10}.btn-ghost:hover{background:#fff3}.btn-white{background:white;color:var(--blue)}.btn-outline{background:white;color:var(--blue);border-color:#bfd0e0}.btn-outline:hover{background:#f5f9fd}.btn-navy{background:var(--blue);color:white}.btn-full{width:100%}.hero-trust{display:flex;flex-wrap:wrap;gap:23px;margin-top:48px;color:#c9d8e9;font-size:11px}.hero-trust span{display:flex;align-items:center;gap:9px}.hero-trust b{font-size:11px;color:#f6b5c3}
.hero-art{height:460px;position:relative;isolation:isolate}.art-grid{position:absolute;inset:-10%;opacity:.12;background-image:linear-gradient(#e0f3ff 1px,transparent 1px),linear-gradient(90deg,#e0f3ff 1px,transparent 1px);background-size:36px 36px;transform:perspective(700px) rotateY(-18deg) rotateX(14deg)}.art-disc{position:absolute;border-radius:50%}.art-disc-one{width:270px;height:270px;right:-48px;top:-32px;background:linear-gradient(120deg,#ef244a,#831633)}.art-disc-two{width:210px;height:210px;bottom:-70px;left:-15px;background:#1661a1;filter:blur(5px)}.art-card{position:absolute;z-index:1;inset:70px 15px 50px 34px;border-radius:20px;background:#f0f3f7;box-shadow:17px 25px 40px #00102166;transform:rotate(5deg)}.art-card-back{display:flex;justify-content:space-around;align-items:center;color:#183c62;font-size:18px;font-weight:900;letter-spacing:.05em}.stripe{width:80px;height:100%;background:linear-gradient(135deg,transparent 15%,#ed2440 16% 70%,transparent 71%)}.art-sign{position:absolute;z-index:2;left:0;right:40px;top:49px;bottom:55px;border-radius:10px;background:linear-gradient(115deg,#0b1726,#142a45 68%,#192e49);border:10px solid #263d54;box-shadow:0 32px 50px #020d20be,0 0 0 2px #a8bbcb69 inset;transform:rotate(-4deg);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.art-sign:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#ffffff16,transparent 35%);pointer-events:none}.art-label{align-self:flex-start;margin:15px 19px;color:#99afc5;font-size:9px;letter-spacing:1.2px}.art-sign-main{margin:auto 32px}.art-sign-main>span{display:block;font-size:22px;color:#e0f0ff;font-weight:400;letter-spacing:.32em}.art-sign-main strong{display:block;font-size:clamp(47px,4.4vw,77px);letter-spacing:-5px;line-height:1.08;color:white;text-shadow:0 0 22px #98cfff77;white-space:nowrap}.art-sign-main strong span{color:var(--red);text-shadow:0 0 24px #e41d37}.art-sign-foot{border-top:1px solid #7b97af66;display:flex;gap:25px;align-items:center;padding:18px 27px;color:#a9c5e0;letter-spacing:.14em;font-size:9px;font-weight:800}.art-caption{position:absolute;z-index:3;bottom:10px;right:5px;border-radius:12px;padding:13px 20px;background:#fff;color:#526a84;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow);font-size:12px;line-height:1.35}.art-caption b{color:var(--ink)}.caption-square{font-size:22px;color:var(--red)}
.intro-strip{background:#f4f7fa;border-bottom:1px solid var(--border)}.intro-inner{display:flex;gap:28px;align-items:center;justify-content:space-between;min-height:105px}.intro-lead{display:flex;gap:18px;align-items:center;font-size:17px;color:var(--ink)}.intro-lead b{color:var(--red)}.intro-spark{font-size:33px;color:var(--red)}.intro-inner p{font-size:12px;color:var(--muted);max-width:300px}.intro-inner>a{font-size:12px;font-weight:900;color:var(--blue);white-space:nowrap}.section{padding:100px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:42px}.section-top h2,.process-layout h2{font-size:clamp(33px,3.3vw,47px);line-height:1.16;letter-spacing:-1.8px;margin:0;font-weight:850}.section-top h2 span,.process-layout h2 span{color:var(--red)}.section-top>p{color:var(--muted);font-size:15px;max-width:370px;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-visual{height:155px;position:relative;background:linear-gradient(145deg,#092548,#1b6799);overflow:hidden}.service-visual:after{content:"";position:absolute;width:175px;height:175px;right:-40px;top:-80px;border:34px solid #ffffff17;border-radius:50%}.service-visual span{display:block;position:absolute;left:23px;bottom:12px;font-size:74px;line-height:1;color:#fff;font-weight:950;letter-spacing:-6px;text-shadow:5px 5px 0 #0d3861,10px 10px 0 #072b4b;transform:rotate(-5deg)}.service-card:nth-child(2n) .service-visual{background:linear-gradient(140deg,#092a50,#0a5b89 55%,#e41d37)}.service-card:nth-child(3n) .service-visual{background:linear-gradient(125deg,#122f55,#2f5a8b 60%,#d01d36)}.service-card:nth-child(3n) .service-visual span{font-size:61px;letter-spacing:-3px}.service-card:nth-child(2n) .service-visual span{color:#f2f7ff}.service-text{padding:24px 23px 28px}.service-text small{font-size:10px;font-weight:900;letter-spacing:.11em;color:var(--red)}.service-text h3{margin:10px 0 7px;font-size:19px;line-height:1.3;color:var(--ink)}.service-text p{font-size:13px;color:var(--muted);margin:0;min-height:64px}.statement{background:#e31f39;color:white;position:relative;overflow:hidden}.statement:before{content:"";position:absolute;width:530px;height:530px;border:100px solid #fff2;border-radius:50%;top:-390px;right:0}.statement-inner{display:flex;align-items:center;gap:50px;min-height:248px;position:relative}.statement-orbit{font-size:80px;color:#fff9;line-height:1}.statement p{font-size:10px;letter-spacing:.19em;font-weight:900;opacity:.82}.statement h2{font-size:36px;letter-spacing:-1.4px;line-height:1.18;margin:12px 0 0}.statement h2 i{font-style:normal;color:#ffc9d2}.statement .btn{margin-left:auto}.works-section{background:#f5f8fb}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden}.photo-card>img{aspect-ratio:4/3;object-fit:cover;width:100%}.photo-card-copy{padding:19px 22px 22px}.photo-card h3{font-size:17px;margin:0 0 3px}.photo-card p{color:var(--muted);font-size:13px;margin:0}.portfolio-empty{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;border-radius:17px;background:white;padding:22px;border:1px dashed #bdcede}.sample-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sample-tile{border-radius:10px;min-height:160px;background:linear-gradient(132deg,#0b315b,#1b5c94);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#fff}.sample-tile:nth-child(2){background:linear-gradient(150deg,#e41d37,#811b35)}.sample-tile:before{content:"";width:140px;height:140px;border:20px solid #ffffff30;transform:rotate(-20deg);position:absolute}.sample-tile b{position:relative;z-index:2;font-size:16px;letter-spacing:.04em;transform:rotate(-8deg)}.portfolio-empty .tag{font-size:10px;letter-spacing:.17em;font-weight:900;color:var(--red)}.portfolio-empty h3{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin:11px 0}.portfolio-empty p{color:var(--muted);font-size:14px;max-width:380px}.portfolio-empty small{font-size:11px;color:#667b91}.process-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:95px}.process-lead{font-size:16px;color:var(--muted);line-height:1.75;max-width:360px}.text-link{font-size:13px;font-weight:900;color:var(--blue);display:inline-block;margin-top:22px;border-bottom:2px solid var(--red);padding-bottom:8px}.steps{border-top:1px solid var(--border)}.step{display:grid;grid-template-columns:55px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid var(--border)}.step>span{font-weight:900;font-size:24px;color:var(--red)}.step h3{font-size:17px;margin:1px 0 4px}.step p{color:var(--muted);font-size:13px;margin:0}.contact-section{background:linear-gradient(120deg,#081e39,#0d3c6c);color:white;padding:90px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact-copy h2{font-size:clamp(36px,3.7vw,53px);line-height:1.16;letter-spacing:-2px;margin:0 0 24px}.contact-copy h2 i{font-style:normal;color:#ff6077}.contact-copy>p{color:#bfcee0;max-width:430px;line-height:1.75}.contact-data{display:grid;gap:14px;margin-top:34px}.contact-data a{display:flex;align-items:center;gap:12px;font-size:13px;color:#e9f1fb;flex-wrap:wrap}.contact-data a>span:first-child{width:37px;height:37px;background:#ffffff19;border-radius:9px;display:grid;place-items:center;color:white}.form-panel{background:#fff;color:var(--ink);padding:34px;border-radius:18px;box-shadow:0 22px 75px #00172c67}.form-panel h3{font-size:24px;letter-spacing:-.7px;margin:0}.form-panel p{font-size:12px;color:var(--muted);margin:6px 0 24px}.form-panel form{display:grid;gap:14px}.form-panel label{font-size:12px;font-weight:800;display:grid;gap:7px}.form-panel input,.form-panel select,.form-panel textarea{width:100%;padding:12px 14px;border-radius:9px;border:1px solid #cbd9e7;background:#fff;color:var(--ink);outline:0;min-width:0}.form-panel input:focus,.form-panel textarea:focus,.form-panel select:focus:focus:focus{border-color:#3979ad;box-shadow:0 0 0 3px #215ab522}.form-panel textarea{resize:vertical}.footer{background:#05182d;color:#b7c6d6;padding:35px 0}.footer-inner{display:flex;gap:35px;justify-content:space-between;align-items:center}.footer strong{font-size:19px;color:white}.footer strong span{color:#f33b52}.footer p{font-size:12px;margin:4px 0 0}.footer-links{display:flex;gap:22px;font-size:12px;font-weight:700}.footer-notice{font-size:11px;line-height:1.8;text-align:right}.footer-notice a{color:#b7dbff;border-bottom:1px solid #b7dbff}
@media(max-width:1060px){.nav{gap:16px}.nav a{font-size:12px}.brand{min-width:205px}.brand-name{font-size:20px}.nav-cta{display:none}.hero-grid{gap:30px}.art-sign-main strong{font-size:53px}.art-sign-main>span{font-size:16px}.art-sign-foot{gap:11px}.contact-layout{gap:30px}}@media(max-width:780px){.wrap{width:min(100% - 34px,580px)}.topbar span:nth-child(2),.top-right{display:none}.header{height:74px}.nav-wrap{gap:12px}.menu-btn{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:74px;background:white;box-shadow:var(--shadow);padding:16px 25px 25px;flex-direction:column;align-items:start;gap:22px}.nav.open{display:flex}.hero-grid{grid-template-columns:1fr;padding:60px 0}.hero-art{height:350px}.hero h1{font-size:42px}.art-card{inset:65px 24px 35px 25px}.art-sign{left:5px;right:29px;top:42px;bottom:40px}.art-sign-main strong{font-size:clamp(44px,7vw,70px)}.hero-trust{margin-top:30px;gap:12px}.intro-inner{flex-wrap:wrap;gap:8px;padding-block:24px}.intro-inner p{max-width:none;width:100%;margin:0}.section{padding:75px 0}.section-top{display:block}.section-top>p{margin-top:22px}.service-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.statement-inner{padding-block:35px;min-height:0;gap:15px;flex-wrap:wrap}.statement-orbit{font-size:48px}.statement h2{font-size:28px}.statement .btn{margin-left:0}.portfolio-empty{grid-template-columns:1fr}.process-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.contact-section{padding:70px 0}.footer-inner{display:grid;gap:15px}.footer-notice{text-align:left}}@media(max-width:480px){.wrap{width:calc(100% - 30px)}.brand-mark{height:38px;width:38px}.brand-name{font-size:19px}.brand-name small{font-size:7px;letter-spacing:1.2px}.hero h1{font-size:37px}.hero-copy>p{font-size:15px}.hero-art{height:285px}.art-sign-main{margin:auto 18px}.art-sign-main strong{font-size:40px;letter-spacing:-3px}.art-sign-foot{gap:7px;padding:13px 12px;font-size:7px}.art-label{font-size:7px}.art-caption{right:0;bottom:0;padding:10px;font-size:10px}.intro-lead{font-size:15px}.section-top h2,.process-layout h2{font-size:32px}.service-grid,.portfolio-grid{grid-template-columns:1fr}.service-text p{min-height:auto}.statement-orbit{display:none}.form-panel{padding:22px}}


:focus-visible{outline:3px solid #2676b5;outline-offset:4px}.form-panel [aria-invalid="true"]{border-color:#bb122a}#quote-error{color:#a91430;margin:0}html:not(.js) .menu-btn{display:none}
@media(max-width:780px){html:not(.js) .header{height:auto}html:not(.js) .nav-wrap{flex-wrap:wrap;padding-block:14px}html:not(.js) .nav{display:flex;position:static;width:100%;box-shadow:none;flex-direction:row;flex-wrap:wrap;padding:10px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Identidad oficial CT: se usa el PNG maestro sin alteraciones. */
.brand-logo {display:block;width:77px;height:auto;max-height:68px;flex:none;object-fit:contain;}
.brand {gap:10px;min-width:258px;}
@media(max-width:1060px){.brand {min-width:250px;}}
@media(max-width:780px){.brand {min-width:0;gap:8px;}.brand-logo{width:62px;max-height:55px;}}
@media(max-width:480px){.brand-logo{width:58px;max-height:52px;}.brand-name {font-size:18px;}.brand-name small{font-size:6.5px;letter-spacing:.85px;}}

/* Ajuste aprobado cabecera marca V1.1 */
.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:77px;height:auto;max-height:68px;object-fit:contain;flex:none}.brand-name{display:inline-block;line-height:1.1;white-space:nowrap}
