/* G2 DIMAIR V2 — revisión visual integral */
:root{--blue:#0868bd;--gold:#ffb600;--navy:#062e63}
html{scroll-padding-top:100px}
body{overflow-x:hidden}
.site-header{top:0}
.hero{isolation:isolate}
.hero-backdrop{position:absolute;inset:0;overflow:hidden;z-index:-1}
.hero-scene{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.045);transition:opacity 1.1s ease,transform 7s ease;filter:saturate(1.12) contrast(1.04)}
.hero-scene.is-active{opacity:1;transform:scale(1)}
.hero-backdrop .hero-shade{position:absolute;inset:0;background:linear-gradient(92deg,#051b3b 0%,#062d5df2 33%,#06366abd 56%,#03295055 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:790px}
.hero-visual-ui{position:absolute;bottom:105px;right:28px;display:flex;align-items:center;gap:20px;color:white;z-index:5;background:#0322498a;border:1px solid #ffffff39;padding:11px 14px;border-radius:12px;backdrop-filter:blur(10px)}
.hero-progress{display:flex;align-items:baseline;gap:7px;font:800 27px Outfit,Arial,sans-serif;letter-spacing:-.03em}.hero-progress>span{font:700 13px 'DM Sans',Arial,sans-serif;color:#bed3eb}
.hero-controls{display:flex;gap:7px}.hero-controls button{height:36px;width:36px;border:1px solid #ffffff8a;color:#fff;border-radius:50%;font-size:25px;line-height:1;background:#ffffff10;cursor:pointer}.hero-controls button:hover{background:var(--gold);border-color:var(--gold);color:#09264d}
.hero-dots{display:flex;gap:5px}.hero-dots button{height:5px;width:13px;border:0;background:#ffffff6b;cursor:pointer;border-radius:10px;padding:0}.hero-dots button.is-active{width:25px;background:var(--gold)}
.floating-wa{width:61px;height:61px;background:#25d366;box-shadow:0 11px 32px #0e653655;transition:background .22s,transform .22s,box-shadow .22s;border:2px solid #fff3}.floating-wa svg{width:33px;height:33px}.floating-wa:hover,.floating-wa:focus-visible{background:#0768ba;color:#fff;transform:translateY(-4px) scale(1.06);box-shadow:0 14px 34px #07539b77}
.about-layout{align-items:center}.about-art{min-height:515px;position:relative;padding-bottom:55px}.about-photo-main{height:auto;aspect-ratio:1.45;overflow:hidden;background:#fff;box-shadow:0 23px 55px #05264a20;border:7px solid white;border-radius:22px 22px 100px 22px;display:grid;place-items:center}.about-photo-main img{width:100%;height:100%;object-fit:contain;background:#eef3f7;display:block}.about-photo-detail{position:absolute;width:44%;height:auto;aspect-ratio:1.05;bottom:5%;right:-2%;background:#fff;padding:6px;border-radius:20px;box-shadow:0 18px 50px #001b3a29;overflow:hidden}.about-photo-detail img{width:100%;height:100%;object-fit:contain;background:#e8f0f5;border-radius:14px}.about-art-caption{position:absolute;bottom:0;left:5px;max-width:56%;color:#0b305b;display:grid;gap:4px;font-size:12px;letter-spacing:.07em}.about-art-caption small{font-size:11px;letter-spacing:0;color:#63738b}.about-art-line{width:68px;height:5px;background:var(--gold);border-radius:7px}.about-art:before,.about-art:after{content:none!important}
.identity-section{background:radial-gradient(circle at 90% 10%,#184e89,#0a2b54 42%,#071c36 100%)}.identity-grid{align-items:stretch}.identity-card{background:#ffffff0d;border:1px solid #ffffff30;border-radius:20px;position:relative;overflow:hidden;min-height:390px;transition:transform .35s,box-shadow .35s,border-color .35s}.identity-card:hover{transform:translateY(-9px);box-shadow:0 26px 45px #0003;border-color:#ffb6007d}.identity-card:not(.identity-card-highlight):before{position:absolute;content:'';width:80%;height:4px;background:linear-gradient(90deg,var(--gold),transparent);top:0;left:0}.identity-index{font-weight:800;letter-spacing:.12em}.identity-icon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:#ffb6001a;border:1px solid #ffb6004d;font-size:38px;color:var(--gold)}.identity-card h3{font-size:30px}.identity-card p{font-size:15px;line-height:1.7}.identity-card-highlight{background:linear-gradient(145deg,#ffbf19,#ffac00);color:#08274d}.identity-card-highlight .identity-icon{color:#07315f;background:#ffffff5c;border-color:#ffffff75}.values-visual{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.values-visual div{display:flex;align-items:center;gap:9px;padding:11px 8px;background:#fff6d2;border-radius:10px;min-height:55px;box-shadow:0 5px 11px #af690012}.values-visual div span{font-size:20px;flex:none;color:#164f84}.values-visual div strong{font-size:12px;line-height:1.2;font-weight:800;color:#092b56}
/* Every service uses the same highlighted panel */
.service-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px;align-items:stretch}
.service-showcase{min-height:630px;border-radius:21px;overflow:hidden;position:relative;box-shadow:0 25px 58px #001d3c24;background:#041b39;isolation:isolate;display:flex;align-items:end}
.service-showcase-photo,.service-showcase-shade{position:absolute;inset:0}.service-showcase-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .7s}.service-showcase:hover img{transform:scale(1.045)}.service-showcase-shade{background:linear-gradient(0deg,#031d3bf5 0%,#051f42d4 28%,#07234844 68%,#051b3b18 100%)}
.service-showcase-copy{position:relative;color:#fff;padding:48px;z-index:1;width:100%}.showcase-category{color:#ffcf59;font-size:11px;font-weight:900;letter-spacing:.17em}.showcase-count{position:absolute;right:46px;top:47px;color:#ffffffb9;font:800 13px Outfit}.service-showcase h3{font:800 clamp(31px,3.2vw,50px)/1.13 Outfit,Arial,sans-serif;letter-spacing:-.035em;margin:18px 0 14px;max-width:500px}.service-showcase p{font-size:15px;line-height:1.72;color:#ecf2ff;max-width:480px}.service-showcase a{display:inline-flex;gap:22px;align-items:center;color:#ffcb48;font-weight:900;font-size:14px;margin-top:21px;border-bottom:2px solid #ffba19;padding-bottom:7px}.service-showcase a:hover{color:white}
.service-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:stretch}.service-option{cursor:pointer;display:flex;align-items:center;text-align:left;gap:12px;border:1px solid #dce6f0;background:white;min-height:142px;padding:17px;border-radius:16px;box-shadow:0 7px 25px #0d32570a;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}.service-option:hover{transform:translateY(-5px);box-shadow:0 17px 28px #0e3c6b1b;border-color:#ffbf2c}.service-option.is-selected{background:#08376b;border-color:#08376b;box-shadow:0 15px 32px #062d5e30}.service-option-icon{display:grid;place-items:center;flex:none;background:#eaf2fd;color:#0875d0;border-radius:12px;width:46px;height:46px;font-size:23px}.service-option.is-selected .service-option-icon{background:#ffc132;color:#062e63}.service-option-info{display:grid;gap:8px;flex:1;min-width:0}.service-option-info small{font-weight:900;letter-spacing:.11em;font-size:11px;color:#0a6dbb}.service-option-info strong{font:800 15px/1.23 Outfit,Arial,sans-serif;color:#09264e}.service-option.is-selected .service-option-info strong{color:white}.service-option.is-selected .service-option-info small{color:#ffd15a}.service-option-arrow{font-size:17px;color:#0b68ae}.service-option.is-selected .service-option-arrow{color:#ffca42}
.method-section{background:linear-gradient(135deg,#fff8e8,#ffedb8 70%,#f7fafc);padding:85px 0}.method-heading{text-align:center;margin:0 auto 36px;max-width:670px}.method-heading .eyebrow{justify-content:center}.method-heading h2{font:800 clamp(35px,4.3vw,58px)/1.12 Outfit,Arial,sans-serif;letter-spacing:-.04em;margin:17px 0;color:#09284f}.method-heading h2 em{color:#0772c2;font-style:normal}.method-heading p{font-size:15px;color:#536985}.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}.method-step{min-height:264px;padding:30px 24px;background:white;border-radius:18px;border:1px solid #f5e0af;box-shadow:0 15px 37px #99601d1a;transition:transform .25s,box-shadow .25s;position:relative}.method-step:hover{transform:translateY(-8px);box-shadow:0 25px 40px #ac711e34}.method-step:after{content:'→';position:absolute;right:-18px;top:45%;font:800 27px Outfit,Arial,sans-serif;color:#0a5394;z-index:2}.method-step:last-child:after{display:none}.method-ordinal{font:900 14px Outfit,Arial,sans-serif;color:#0675c6;letter-spacing:.06em}.method-icon{margin:18px 0 9px;font:700 43px Outfit,Arial,sans-serif;display:block;color:#f8b517}.method-step h3{font:800 23px Outfit,Arial,sans-serif;margin:10px 0;color:#08264a}.method-step p{font-size:13px;color:#597089;line-height:1.7;margin:0}
/* Uniform project cards and expandable gallery */
.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card,.project-wide{grid-column:auto;display:block;min-width:0}.project-tap{padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;width:100%;height:100%;display:block}.project-card{border-radius:17px;overflow:hidden;box-shadow:0 14px 28px #10243a10;background:#fff;border:1px solid #e0e8f0;transition:transform .27s,box-shadow .27s}.project-card:hover{transform:translateY(-7px);box-shadow:0 22px 35px #09274e21}.project-card .project-photo{height:236px;min-height:0;position:relative}.project-card .project-photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.project-card:hover .project-photo img{transform:scale(1.05)}.project-card .project-info{padding:23px 24px 27px;min-height:245px;display:flex;flex-direction:column}.project-card .project-info h3{font:800 22px/1.22 Outfit,Arial,sans-serif;letter-spacing:-.018em;margin:11px 0}.project-card .project-info p{font-size:13px;line-height:1.65;color:#586d82;margin:0 0 19px;flex:1}.project-card .project-info>span{font-size:10px;color:#0871c1;font-weight:900;letter-spacing:.12em}.project-photo-count{position:absolute;bottom:12px;right:12px;padding:6px 10px;border-radius:6px;background:#07254bbb;color:white;font:800 10px 'DM Sans',Arial,sans-serif;letter-spacing:.04em}.project-card-index{top:14px;right:14px;bottom:auto}.project-detail{font-weight:900;font-size:12px;color:#0768b6;display:inline-flex;gap:8px;align-items:center}.gallery-dialog{width:min(1060px,calc(100vw - 28px));max-width:none;max-height:94vh;border-radius:20px;overflow:auto;background:#fff}.gallery-visual{height:min(65vh,650px);background:#071e3b;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.gallery-visual img{height:100%;width:100%;object-fit:contain;display:block}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;font-size:32px;border:1px solid #ffffff66;border-radius:50%;background:#001d3baf;color:#fff;cursor:pointer;z-index:2}.gallery-nav:hover{background:var(--gold);color:#062b56}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-copy{display:flex;justify-content:space-between;gap:20px;align-items:center}.gallery-copy h3{font-size:28px;margin:5px 0}.gallery-kicker{color:#0768b6;font:900 10px Outfit,Arial,sans-serif;letter-spacing:.15em}.gallery-count{font:900 13px 'DM Sans',Arial,sans-serif;color:#096db8;white-space:nowrap}.gallery-thumbs{padding:0 27px 23px;display:flex;gap:9px;overflow-x:auto}.gallery-thumbs button{padding:0;flex:none;width:100px;height:64px;border-radius:8px;border:3px solid transparent;background:#eaf1f8;overflow:hidden;cursor:pointer}.gallery-thumbs button.is-active{border-color:var(--gold)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.modal-close{width:47px;height:47px;background:#062950ed}
.banner-project-bg{background-image:linear-gradient(92deg,#061d3cf2 0%,#082f60d5 52%,#09264b74 100%),url('assets/gallery/rar_051.jpg')!important;background-size:cover;background-position:center 53%;filter:none!important}
/* client marks clean and fitted */
.clients-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.client-tile{min-height:132px;background:white;border:1px solid #e2eaf1;border-radius:15px;padding:15px 17px;display:flex;align-items:center;justify-content:center;transition:transform .25s,box-shadow .25s,border-color .25s}.client-tile:hover{transform:translateY(-6px);box-shadow:0 18px 30px #072e5e17;border-color:#ffba1d}.client-tile img{width:100%;height:85px;object-fit:contain;display:block;mix-blend-mode:multiply}
.download-content .btn{margin-top:29px}.download-content p{margin-bottom:13px}.download-cover-badge{display:none}
.contact-image{height:auto;min-height:260px;background:#edf3fa;display:grid;place-items:center;padding:15px}.contact-image img{width:100%;height:auto;max-height:320px;object-fit:contain;object-position:center;display:block;border-radius:10px}
.footer-bottom{justify-content:space-between}
@media(max-width:1100px){.service-grid{grid-template-columns:1fr}.service-showcase{min-height:490px}.service-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.service-option{flex-direction:column;align-items:flex-start;min-height:150px}.service-option-arrow{display:none}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.method-step{padding:24px 18px}.clients-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.service-selector{grid-template-columns:repeat(2,1fr)}.service-option{flex-direction:row;min-height:113px}.method-steps{grid-template-columns:repeat(2,1fr)}.method-step:nth-child(2):after{display:none}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-art{min-height:370px}.clients-grid{grid-template-columns:repeat(3,1fr)}.hero-visual-ui{right:18px;bottom:82px}}
@media(max-width:650px){.hero-visual-ui{left:16px;right:auto;bottom:66px}.hero-content{padding-bottom:135px}.hero h1{font-size:clamp(43px,10vw,64px)}.about-art{min-height:auto;padding:0 2px 35px;margin-bottom:45px}.about-photo-main{aspect-ratio:1.35;border-radius:20px}.about-photo-detail{width:38%;bottom:-4%;right:0}.about-art-caption{position:static;padding-top:14px;max-width:60%}.identity-grid{grid-template-columns:1fr}.identity-card{min-height:auto}.values-visual{grid-template-columns:repeat(2,1fr)}.service-showcase{min-height:440px}.service-showcase-copy{padding:26px}.service-showcase h3{font-size:31px}.showcase-count{top:28px;right:25px}.service-selector{grid-template-columns:1fr 1fr;gap:8px}.service-option{padding:10px;gap:8px;min-height:111px;flex-direction:column;align-items:flex-start}.service-option-icon{width:37px;height:37px;font-size:19px}.service-option-info strong{font-size:12px}.service-option-info small{font-size:10px}.method-section{padding:60px 0}.method-steps{grid-template-columns:1fr}.method-step{min-height:auto;display:grid;grid-template-columns:55px 1fr;gap:0 14px;align-items:center}.method-ordinal{grid-row:1}.method-icon{grid-row:2 /span 2;margin:0}.method-step h3{grid-column:2;margin:0 0 6px}.method-step p{grid-column:2}.method-step:after{display:none}.projects-grid{grid-template-columns:1fr}.project-card .project-photo{height:228px}.project-card .project-info{min-height:0}.clients-grid{grid-template-columns:repeat(2,1fr);gap:9px}.client-tile{min-height:106px;padding:8px}.client-tile img{height:71px}.gallery-visual{height:49vh}.gallery-visual img{max-height:49vh}.gallery-nav{width:37px;height:37px;font-size:26px}.gallery-copy{padding:19px 18px}.gallery-copy h3{font-size:21px}.gallery-thumbs{padding:0 18px 18px}.gallery-thumbs button{width:76px;height:54px}.contact-image{padding:12px}.contact-image img{max-height:260px}.floating-wa{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.hero-scene{transition:none;transform:none}.hero-scene.is-active{transform:none}}

/* Robust typography when remote font services are unavailable */
h1,h2,h3,h4,.section-title,.hero h1,.identity-header h2,.download-content h2{font-family:Outfit,Arial,sans-serif!important}
