:root{
  --navy:#0b3b78;
  --navy-2:#1157a7;
  --navy-dark:#072a55;
  --orange:#ff6f00;
  --orange-2:#ff9a3d;
  --text:#102746;
  --muted:#5d7390;
  --line:#dce6f1;
  --soft:#f4f8fd;
  --soft-2:#edf4fb;
  --shadow:0 22px 60px rgba(12,42,86,.10);
  --shadow-soft:0 14px 40px rgba(12,42,86,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff;overflow-x:hidden;font-size:16px}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
::selection{background:rgba(255,111,0,.22);color:var(--navy-dark)}
.content-wrap{width:min(1220px,calc(100% - 48px));margin:0 auto}
.section{position:relative;padding:72px 0;overflow:hidden}
.section::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;filter:blur(80px);opacity:.20;pointer-events:none;background:radial-gradient(circle,var(--orange-2),transparent 67%);right:-250px;top:8%}
.section::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(90px);opacity:.16;pointer-events:none;background:radial-gradient(circle,#65a6ff,transparent 68%);left:-240px;bottom:5%}
.muted-bg{background:linear-gradient(180deg,#f8fbff 0%,#f1f6fb 100%)}

/* top navigation */
.topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.88);backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid rgba(7,41,83,.08);transition:.25s ease}
.topbar.scrolled{box-shadow:0 8px 34px rgba(10,36,70,.08);background:rgba(255,255,255,.94)}
.topbar-inner{width:min(1420px,calc(100% - 48px));margin:0 auto;min-height:82px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand-logo{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(10,56,120,.10));transition:.35s ease}
.brand:hover .brand-logo{transform:rotate(-3deg) scale(1.05)}
.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy strong{font-size:16px;color:var(--navy-dark);letter-spacing:-.01em}.brand-copy span{font-size:11px;color:var(--muted);margin-top:2px}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px}.nav a{position:relative;padding:11px 14px;border-radius:999px;font-size:13px;font-weight:800;color:#4c6481;transition:.2s ease}.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:2px;background:linear-gradient(90deg,var(--orange),var(--navy-2));border-radius:99px;transition:.22s ease}.nav a:hover{color:var(--navy)}.nav a:hover::after{left:16px;right:16px}.nav-cta{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff!important;padding-inline:18px!important;box-shadow:0 12px 26px rgba(11,59,120,.18)}.nav-cta::after{display:none}
.menu-btn{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:15px;place-items:center;gap:5px;box-shadow:0 8px 20px rgba(12,42,86,.05)}.menu-btn span{width:19px;height:2px;background:var(--navy);border-radius:99px}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,var(--orange),#ffb065,var(--navy-2));box-shadow:0 0 16px rgba(255,111,0,.45);transition:width .08s linear}

/* hero */
.hero{position:relative;min-height:calc(100vh - 82px);display:flex;align-items:stretch;overflow:hidden;background:#dbe5f0;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-20%;z-index:1;background:radial-gradient(circle at 75% 25%,rgba(255,137,40,.22),transparent 26%),radial-gradient(circle at 24% 74%,rgba(42,120,220,.20),transparent 24%);animation:heroAura 11s ease-in-out infinite alternate;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,rgba(0,0,0,.45),transparent 80%);pointer-events:none}
.hero-bg-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:linear-gradient(135deg,#cbd9e7 0%,#e9f1f8 42%,#d8e6f3 100%);background-size:220% 220%;animation:placeholderFlow 12s ease infinite}
.hero-bg-placeholder strong{display:block;color:#fff;font-size:16px;letter-spacing:.08em;text-shadow:0 3px 10px rgba(8,42,86,.15)}.hero-bg-placeholder span{display:block;color:rgba(255,255,255,.94);font-size:13px;margin-top:9px}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,24,50,.90) 0%,rgba(4,24,50,.70) 43%,rgba(4,24,50,.25) 72%,rgba(4,24,50,.08) 100%)}
.hero-inner{position:relative;z-index:3;width:min(1420px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:1.05fr .65fr;align-items:center;gap:76px;padding:72px 0 132px}
.hero-copy{max-width:760px;color:#fff}
.eyebrow,.kicker{position:relative;display:inline-flex;align-items:center;gap:9px;color:var(--orange);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.eyebrow::before,.kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,111,0,.35);animation:kickerPulse 2.2s infinite}
.hero h1{font-size:clamp(4.4rem,7vw,6.4rem);line-height:.96;letter-spacing:-.055em;margin:20px 0 22px;max-width:860px;background:linear-gradient(100deg,#ffffff 0%,#ffffff 42%,#ffb168 54%,#ffffff 66%,#ffffff 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleSweep 7s linear infinite}
.hero p{font-size:20px;line-height:1.72;color:rgba(255,255,255,.90);max-width:660px;margin:0}
.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:34px}
.btn{position:relative;overflow:hidden;min-height:58px;display:inline-flex;align-items:center;justify-content:center;padding:0 26px;border-radius:16px;font-weight:900;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn::after{content:"";position:absolute;top:-60%;left:-30%;width:26%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.50),transparent);transform:rotate(18deg);transition:left .45s ease}.btn:hover::after{left:110%}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--orange),#ff9141);color:#fff;box-shadow:0 16px 34px rgba(255,111,0,.30)}.btn-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.38);color:#fff;backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.hero-mark{justify-self:end;width:min(100%,460px);filter:drop-shadow(0 34px 34px rgba(0,0,0,.24));transform:translate3d(var(--mx,0),var(--my,0),0) rotate(-1.5deg);transition:transform .18s ease-out;animation:markFloat 5.5s ease-in-out infinite}
.hero-stats{position:absolute;left:0;right:0;bottom:0;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.65);box-shadow:0 -18px 45px rgba(7,42,86,.08)}
.hero-stats>div{position:relative;padding:25px 28px;border-right:1px solid var(--line);text-align:center;overflow:hidden;transition:.25s ease}.hero-stats>div::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--navy-2));transform:scaleX(0);transform-origin:left;transition:.28s ease}.hero-stats>div:hover{background:#fff;transform:translateY(-3px)}.hero-stats>div:hover::before{transform:scaleX(1)}.hero-stats>div:last-child{border-right:0}.hero-stats strong{display:block;color:var(--navy-dark);font-size:18px}.hero-stats span{display:block;color:var(--muted);font-size:13px;margin-top:5px}

/* titles and content */
.section-title h2,.product-content h2,.services-head h2,.gallery-head h2,.quote-copy h2{font-size:clamp(3rem,4.8vw,4.25rem);line-height:1.02;letter-spacing:-.045em;margin:18px 0 0;background:linear-gradient(100deg,var(--navy-dark) 0%,var(--navy-dark) 36%,var(--orange) 50%,var(--navy-2) 64%,var(--navy-dark) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleSweep 8s linear infinite}
.intro-grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.section-copy{padding-top:38px}.section-copy p,.product-content p,.gallery-head p,.quote-copy p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 19px}
.wide-image-slot{position:relative;z-index:2;margin-top:64px;min-height:540px;background:linear-gradient(135deg,#edf4fb,#f8fbff,#eaf2fb);background-size:200% 200%;animation:placeholderFlow 10s ease infinite;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;text-align:center;color:#6b809a;overflow:hidden}.wide-image-slot::after,.product-image-slot::after,.gallery-slot::after{content:"";position:absolute;inset:-50% -90%;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.65) 50%,transparent 58%);transform:translateX(-35%) rotate(8deg);animation:imageShimmer 5.5s ease-in-out infinite;pointer-events:none}.wide-image-slot span,.product-image-slot span,.gallery-slot span,.custom-bg-placeholder span{position:relative;z-index:2;display:block;font-size:14px;font-weight:900;color:var(--navy);letter-spacing:.055em}.wide-image-slot small,.product-image-slot small,.gallery-slot small,.custom-bg-placeholder small{position:relative;z-index:2;display:block;margin-top:9px;font-size:12px;color:#7d90a7}

.product-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:90px;align-items:center}.product-grid.reverse{grid-template-columns:.88fr 1.12fr}.product-image-slot{position:relative;min-height:640px;background:linear-gradient(135deg,#eef4fb,#f9fbfe,#e8f0f8);background-size:200% 200%;animation:placeholderFlow 11s ease infinite;border:1px dashed #aec2d8;display:grid;place-items:center;text-align:center;padding:20px;overflow:hidden;transition:.35s ease}.product-image-slot:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-content{max-width:590px}.product-content h2{font-size:clamp(3rem,4.2vw,4rem)}
.spec-line{position:relative;display:flex;justify-content:space-between;gap:24px;padding:19px 0;border-bottom:1px solid var(--line);transition:.25s ease}.spec-line::before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:linear-gradient(90deg,var(--orange),var(--navy-2));transition:.28s ease}.spec-line:hover{padding-left:10px}.spec-line:hover::before{width:100%}.spec-line span{font-size:15px;color:var(--muted)}.spec-line b{font-size:16px;color:var(--navy-dark);text-align:right}.fineprint{font-size:13px!important;margin-top:22px!important}.feature-list{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}.feature-list li{position:relative;padding:19px 0 19px 30px;border-bottom:1px solid var(--line);font-size:16px;color:#526983;transition:.25s ease}.feature-list li::before{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--orange),#ffae64);transform:translateY(-50%) rotate(45deg);box-shadow:0 0 0 5px rgba(255,111,0,.07)}.feature-list li:hover{padding-left:38px;color:var(--navy-dark)}

.custom-section{position:relative;min-height:740px;display:flex;align-items:center;overflow:hidden}.custom-section::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 72% 35%,rgba(255,121,15,.20),transparent 25%),linear-gradient(120deg,transparent 0 50%,rgba(255,255,255,.04) 50% 51%,transparent 51% 100%);background-size:auto,70px 70px;animation:customGrid 12s linear infinite;pointer-events:none}.custom-bg-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#cfd9e5,#eef3f7,#c7d6e6);background-size:220% 220%;animation:placeholderFlow 12s ease infinite;display:grid;place-items:center;text-align:center}.custom-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,58,.94),rgba(5,28,58,.76) 55%,rgba(5,28,58,.24));z-index:0}.custom-copy{position:relative;z-index:3;color:#fff;max-width:880px}.kicker.light{color:#ffb875}.custom-copy h2{font-size:clamp(3.5rem,5.5vw,5rem);line-height:.98;letter-spacing:-.045em;max-width:880px;margin:18px 0 22px;background:linear-gradient(100deg,#fff 0%,#fff 38%,#ffb36f 52%,#fff 68%,#fff 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleSweep 7s linear infinite}.custom-copy p{max-width:720px;font-size:18px;line-height:1.82;color:rgba(255,255,255,.88)}.step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:44px;background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(12px)}.step-row>div{position:relative;background:rgba(8,42,86,.62);padding:24px;overflow:hidden;transition:.3s ease}.step-row>div::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--orange),#ffbe82);transform:scaleX(0);transform-origin:left;transition:.28s ease}.step-row>div:hover{background:rgba(8,42,86,.82);transform:translateY(-4px)}.step-row>div:hover::after{transform:scaleX(1)}.step-row b{display:block;color:var(--orange);font-size:15px;margin-bottom:9px}.step-row span{font-size:15px;font-weight:800}

.services-head{position:relative;z-index:2;max-width:900px;margin-bottom:52px}.service-lines{position:relative;z-index:2;border-top:1px solid var(--line)}.service-line{position:relative;display:grid;grid-template-columns:80px 260px 1fr;gap:26px;align-items:center;padding:31px 0;border-bottom:1px solid var(--line);transition:.28s ease;overflow:hidden}.service-line::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,111,0,.07),rgba(17,87,167,.04),transparent 72%);transform:translateX(-102%);transition:.38s ease;z-index:-1}.service-line:hover{padding-left:18px}.service-line:hover::before{transform:translateX(0)}.service-line>span{font-size:13px;color:var(--orange);font-weight:900;letter-spacing:.08em}.service-line h3{font-size:32px;margin:0;color:var(--navy-dark);letter-spacing:-.025em}.service-line p{margin:0;color:var(--muted);font-size:16px;line-height:1.75}.reg-note{position:relative;z-index:2;margin-top:30px;max-width:940px;font-size:13px;color:#758aa1;line-height:1.75;border-left:3px solid var(--orange);padding-left:16px}

.gallery-head{position:relative;z-index:2;max-width:800px;margin-bottom:44px}.gallery-masonry{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:240px;gap:16px}.gallery-slot{position:relative;background:linear-gradient(135deg,#eaf1f8,#f9fbfe,#e6eef7);background-size:180% 180%;animation:placeholderFlow 11s ease infinite;border:1px dashed #b7c7d8;display:grid;place-items:center;text-align:center;padding:18px;overflow:hidden;transition:.35s cubic-bezier(.2,.8,.2,1)}.gallery-slot::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(6,42,86,.06));opacity:0;transition:.3s}.gallery-slot:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow)}.gallery-slot:hover::before{opacity:1}.gallery-slot.tall{grid-row:span 2}.gallery-slot.wide{grid-column:span 2}

.quote-grid{position:relative;z-index:2;display:grid;grid-template-columns:.82fr 1.18fr;gap:96px;align-items:start}.quote-copy h2{font-size:clamp(3.2rem,4.8vw,4.4rem)}.contact-data{display:flex;flex-direction:column;gap:11px;margin-top:30px}.contact-data a,.contact-data span{width:max-content;max-width:100%;font-size:15px;font-weight:800;color:var(--navy);transition:.2s}.contact-data a:hover{color:var(--orange);transform:translateX(5px)}.quote-form{display:grid;gap:18px;padding:34px;background:rgba(255,255,255,.66);border:1px solid rgba(202,217,232,.75);box-shadow:0 22px 60px rgba(7,42,86,.06);backdrop-filter:blur(14px);border-radius:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:9px}.field label{font-size:13px;font-weight:900;color:#536b87}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e2ee;background:rgba(255,255,255,.85);padding:15px 16px;color:var(--text);outline:none;border-radius:15px;transition:.2s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8bb0de;box-shadow:0 0 0 4px rgba(17,87,167,.07);background:#fff}.btn-full{width:100%;border:0;margin-top:2px}

footer{background:#f8fafc;border-top:1px solid var(--line);padding:46px 0 18px}.footer-inner{width:min(1220px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:34px;align-items:start}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:68px;height:68px;object-fit:contain}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{font-size:16px;color:var(--navy-dark)}.footer-brand span{font-size:12px;color:var(--muted);margin-top:3px}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:9px}.footer-links a,.footer-contact span{font-size:13px;color:var(--muted)}.footer-links a:hover{color:var(--orange)}.footer-bottom{text-align:center;border-top:1px solid var(--line);margin-top:30px;padding-top:16px;font-size:12px;color:#7d91a7}

/* WhatsApp */
.wa-wrap{position:fixed;right:18px;bottom:18px;z-index:90}.wa-fab{height:62px;border:0;border-radius:19px;background:linear-gradient(135deg,#25D366,#4be182);color:#04200d;display:flex;align-items:center;gap:9px;padding:0 20px;box-shadow:0 18px 45px rgba(37,211,102,.30);font-weight:900;font-size:15px;cursor:pointer;animation:waPulse 2.8s infinite}.wa-fab svg{width:27px;height:27px}.wa-menu{position:absolute;right:0;bottom:76px;width:320px;border-radius:24px;padding:13px;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(14px);opacity:0;transform:translateY(12px) scale(.97);pointer-events:none;transition:.22s}.wa-menu.open{opacity:1;transform:none;pointer-events:auto}.wa-title{display:flex;flex-direction:column;padding:10px 10px 12px}.wa-title span{font-size:11px;color:var(--muted);margin-top:2px}.wa-menu>a{display:flex;gap:12px;align-items:center;padding:13px;border-radius:15px;background:#f7fbff;margin-top:6px;transition:.2s}.wa-menu>a:hover{background:#eef8f2;transform:translateX(-3px)}.wa-badge{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#25D366;color:#05210f;font-weight:900}.wa-menu p{margin:0;display:flex;flex-direction:column}.wa-menu small{color:var(--muted);font-size:11px;margin-top:2px}

.reveal{opacity:0;filter:blur(7px);transform:translateY(34px) scale(.985);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1),filter .75s ease}.reveal.visible{opacity:1;filter:blur(0);transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}

@keyframes titleSweep{0%{background-position:180% center}100%{background-position:-40% center}}
@keyframes markFloat{0%,100%{margin-top:0}50%{margin-top:-16px}}
@keyframes kickerPulse{0%{box-shadow:0 0 0 0 rgba(255,111,0,.35)}70%{box-shadow:0 0 0 9px rgba(255,111,0,0)}100%{box-shadow:0 0 0 0 rgba(255,111,0,0)}}
@keyframes placeholderFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes imageShimmer{0%,25%{transform:translateX(-65%) rotate(8deg)}65%,100%{transform:translateX(75%) rotate(8deg)}}
@keyframes heroAura{0%{transform:translate3d(-2%,1%,0) scale(1)}100%{transform:translate3d(3%,-2%,0) scale(1.08)}}
@keyframes customGrid{0%{background-position:center,0 0}100%{background-position:center,140px 70px}}
@keyframes waPulse{50%{box-shadow:0 18px 45px rgba(37,211,102,.30),0 0 0 11px rgba(37,211,102,.08)}}

@media(max-width:980px){
  .menu-btn{display:grid}.nav{position:absolute;top:76px;left:24px;right:24px;padding:11px;background:rgba(255,255,255,.97);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;display:grid;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.22s}.nav.open{opacity:1;transform:none;pointer-events:auto}.nav a{padding:14px;font-size:14px}
  .hero-inner{grid-template-columns:1fr;gap:28px;width:min(100% - 48px,900px);padding-top:70px;padding-bottom:175px}.hero-mark{justify-self:start;width:300px}
  .intro-grid,.product-grid,.product-grid.reverse,.quote-grid{grid-template-columns:1fr;gap:48px}.product-content{max-width:none}.product-image-slot{min-height:500px}.service-line{grid-template-columns:58px 210px 1fr}.gallery-masonry{grid-template-columns:1fr 1fr}.gallery-slot.wide{grid-column:span 1}.custom-copy{max-width:760px}
}

@media(max-width:640px){
  body{font-size:17px}
  .content-wrap,.topbar-inner,.footer-inner{width:min(100% - 24px,1220px)}
  .section{padding:52px 0}
  .section::before,.section::after{width:300px;height:300px;filter:blur(70px);opacity:.13}
  .brand-logo{width:49px;height:49px}.brand-copy strong{font-size:15px}.brand-copy span{display:none}.topbar-inner{min-height:72px}
  .hero{min-height:auto;display:block}.hero-bg-placeholder{position:relative;min-height:300px}.hero-shade{top:300px;background:linear-gradient(#082f60,#082f60)}.hero-inner{width:100%;padding:38px 18px 145px;background:linear-gradient(180deg,#082f60 0%,#0a3a75 100%)}.hero::after{display:none}.eyebrow,.kicker{font-size:13px;letter-spacing:.065em}.hero h1{font-size:clamp(3.1rem,13vw,4.1rem);line-height:.98;margin-top:18px}.hero p{font-size:17px;line-height:1.72}.hero-actions{display:grid;grid-template-columns:1fr;gap:11px}.btn{width:100%;min-height:58px;font-size:16px}.hero-mark{width:245px;margin-top:8px}.hero-stats{grid-template-columns:1fr;position:relative}.hero-stats>div{border-right:0;border-bottom:1px solid var(--line);padding:20px 22px}.hero-stats strong{font-size:19px}.hero-stats span{font-size:14px}
  .section-title h2,.product-content h2,.services-head h2,.gallery-head h2,.quote-copy h2{font-size:clamp(2.7rem,11vw,3.4rem);line-height:1.03}.section-copy p,.product-content p,.gallery-head p,.quote-copy p{font-size:17px;line-height:1.78}.section-copy{padding-top:0}.intro-grid{gap:30px}.wide-image-slot{min-height:350px;margin-top:42px}.product-image-slot{min-height:390px}.spec-line{padding:18px 0;align-items:flex-start}.spec-line span,.spec-line b{font-size:15px}.feature-list li{font-size:16px;line-height:1.6}.custom-section{min-height:720px}.custom-copy h2{font-size:clamp(3rem,12vw,4rem)}.custom-copy p{font-size:17px}.step-row{grid-template-columns:1fr 1fr;margin-top:34px}.step-row>div{padding:20px}.step-row span{font-size:14px}.service-line{grid-template-columns:48px 1fr;gap:14px;padding:26px 0}.service-line p{grid-column:2;font-size:16px}.service-line h3{font-size:28px}.gallery-masonry{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-slot.tall{grid-row:span 1}.quote-grid{gap:34px}.quote-form{padding:22px;border-radius:22px}.form-row{grid-template-columns:1fr}.field label{font-size:14px}.field input,.field select,.field textarea{font-size:16px}.contact-data a,.contact-data span{font-size:15px}.footer-inner{grid-template-columns:1fr}.footer-links a,.footer-contact span{font-size:14px}.wa-wrap{right:12px;bottom:12px}.wa-fab{height:58px;padding:0 17px;border-radius:18px;font-size:15px}.wa-menu{width:min(320px,calc(100vw - 24px))}
}

@media(max-width:390px){
  .hero h1{font-size:3rem}
  .section-title h2,.product-content h2,.services-head h2,.gallery-head h2,.quote-copy h2{font-size:2.65rem}
  .custom-copy h2{font-size:2.9rem}
  .hero p,.section-copy p,.product-content p,.gallery-head p,.quote-copy p{font-size:16.5px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;filter:none;transform:none}.hero-mark{transform:none!important}}

/* ===== HERO FACHADA COMO FONDO EN DESKTOP Y MOVIL ===== */
.hero-bg-placeholder{
  position:absolute;
  inset:0;
  display:block;
  padding:0;
  background-image:url("assets/banner.png");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  animation:none;
}
.hero-bg-placeholder::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,22,48,.28),rgba(3,22,48,.05) 62%,transparent 100%);
}
.hero-shade{
  inset:0;
  background:linear-gradient(90deg,rgba(4,24,50,.88) 0%,rgba(4,24,50,.64) 42%,rgba(4,24,50,.22) 72%,rgba(4,24,50,.06) 100%);
}
.hero-inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:0;
}
.hero-copy{max-width:760px}

@media(max-width:980px){
  .hero-inner{
    display:flex;
    width:min(100% - 48px,900px);
    padding-top:70px;
    padding-bottom:175px;
  }
}

@media(max-width:640px){
  .hero{
    position:relative;
    min-height:calc(100svh - 72px);
    display:block;
    background:#082f60;
  }
  .hero-bg-placeholder{
    position:absolute;
    inset:0;
    min-height:0;
    background-size:cover;
    background-position:58% center;
  }
  .hero-bg-placeholder::after{
    background:linear-gradient(180deg,rgba(4,24,50,.18) 0%,rgba(4,24,50,.34) 34%,rgba(4,24,50,.84) 76%,rgba(4,24,50,.96) 100%);
  }
  .hero-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(4,24,50,.28) 0%,rgba(4,24,50,.10) 100%);
  }
  .hero-inner{
    position:relative;
    z-index:3;
    width:100%;
    min-height:calc(100svh - 72px);
    padding:215px 18px 150px;
    background:transparent;
    display:flex;
    align-items:flex-end;
  }
  .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(3.05rem,13vw,4.05rem)}
  .hero-stats{position:relative;z-index:4}
}

/* =====================================================
   ESTIBA LIVIANA - IMAGEN LIBRE SIN RECUADRO
   ===================================================== */

/* Acercamos esta sección un poco hacia arriba */
#livianas{
    padding-top:35px;
    padding-bottom:55px;
}

#livianas .product-grid{
    align-items:center;
    gap:55px;
}


/* ELIMINAR EL RECUADRO */
#livianas .product-image-slot{
    position:relative;

    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;

    padding:0 !important;
    margin:0 !important;

    border:none !important;
    outline:none !important;

    background:transparent !important;
    box-shadow:none !important;

    overflow:visible !important;

    display:flex !important;
    align-items:center;
    justify-content:center;

    animation:none !important;
}


/* Quitar brillo / efecto heredado */
#livianas .product-image-slot::before,
#livianas .product-image-slot::after{
    display:none !important;
}


/* IMAGEN */
#livianas .product-image-slot .site-photo{
    position:relative;

    width:112% !important;
    max-width:none !important;

    height:auto !important;

    object-fit:contain !important;
    object-position:center !important;

    left:50%;
    transform:translateX(-50%);

    margin-top:-25px;

    /* sombra muy suave para separarla del blanco */
    filter:
        drop-shadow(0 18px 22px rgba(12,42,86,.08));

    transition:
        transform .4s ease,
        filter .4s ease;
}


/* EFECTO SUAVE EN PC */
@media (min-width:981px){

    #livianas .product-image-slot:hover{
        transform:none !important;
        box-shadow:none !important;
    }

    #livianas .product-image-slot:hover .site-photo{
        transform:
            translateX(-50%)
            translateY(-5px)
            scale(1.015);

        filter:
            drop-shadow(0 24px 28px rgba(12,42,86,.12));
    }

}


/* =====================================================
   TABLET
   ===================================================== */

@media(max-width:980px){

    #livianas{
        padding-top:30px;
    }

    #livianas .product-grid{
        gap:25px;
    }

    #livianas .product-image-slot{
        min-height:0 !important;
    }

    #livianas .product-image-slot .site-photo{
        width:108% !important;
        margin-top:-15px;
    }

}


/* =====================================================
   MOVIL
   ===================================================== */

@media(max-width:640px){

    #livianas{
        padding-top:20px;
        padding-bottom:45px;
    }

    #livianas .product-grid{
        gap:12px;
    }

    #livianas .product-image-slot{
        width:100%;
        min-height:0 !important;

        padding:0 !important;
        margin:0 !important;

        border:none !important;
        background:transparent !important;

        overflow:visible !important;
    }


    #livianas .product-image-slot .site-photo{

        /* La hacemos grande */
        width:118% !important;
        max-width:none !important;

        height:auto !important;

        /* Siempre perfectamente centrada */
        left:50%;
        transform:translateX(-50%) !important;

        object-fit:contain !important;
        object-position:center !important;

        margin-top:-10px;
        margin-bottom:-5px;

        filter:
            drop-shadow(0 14px 18px rgba(12,42,86,.07));
    }

}
/* =========================
   REDES SOCIALES CONTACTO
   ========================= */

.social-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.social-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;

    min-height:44px;
    padding:0 14px;

    border-radius:14px;

    background:#fff;
    border:1px solid var(--line);

    color:var(--navy-dark);

    font-size:13px;
    font-weight:800;

    box-shadow:0 8px 22px rgba(12,42,86,.06);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.social-btn svg{
    width:19px;
    height:19px;
    fill:currentColor;
}

.social-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 26px rgba(12,42,86,.10);
}

/* colores */
.social-btn.facebook:hover{
    color:#1877f2;
    border-color:#1877f2;
}

.social-btn.instagram:hover{
    color:#e1306c;
    border-color:#e1306c;
}

.social-btn.tiktok:hover{
    color:#000;
    border-color:#000;
}


/* móvil */
@media(max-width:640px){

    .social-links{
        margin-top:20px;
        gap:8px;
    }

    .social-btn{
        flex:1;
        min-width:95px;
        justify-content:center;
        font-size:12px;
        padding:0 10px;
    }

}