:root{
  --navy:#071A3D; --navy2:#0A2E73; --black:#050505; --red:#C51F2D; --red-d:#9c1622;
  --white:#fff; --gold:#D4AF37; --gold-l:#F1CD6D; --gold-d:#9a7a24;
  --muted:#9fb0c3; --line:rgba(212,175,55,.28); --glass:rgba(7,26,61,.78);
  --ink:#101826; --ink-soft:#3d4a61; --paper:#FFFFFF; --grey:#F3F6FA; --green:#168A54;
  --font-head:'Anton',Impact,sans-serif; --font-body:'Inter',system-ui,sans-serif;
  --gold-grad:linear-gradient(135deg,#9a7a24 0%,#D4AF37 45%,#F1CD6D 70%,#9a7a24 100%);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:#eef3f8;font-family:var(--font-body);overflow-x:hidden}
img{max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,.display{font-family:var(--font-head);letter-spacing:.02em;line-height:1.02;text-transform:uppercase}
.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--gold);font-weight:800;letter-spacing:.28em;font-size:.72rem;text-transform:uppercase}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold-grad);display:inline-block}
.section{padding:clamp(56px,7vw,110px) 0;position:relative}
.section-dark{background:radial-gradient(1000px 500px at 80% -10%,rgba(213,32,39,.14),transparent),linear-gradient(180deg,#04121f,#02080f)}
.container{max-width:1240px}
/* loader / progress / cursor */
/* Plasma-orb loader: dark sphere wrapped in pink/blue aurora ribbons + eclipse rim */
.loader{position:fixed;inset:0;background:#000;z-index:2000;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s}
.loader.done{opacity:0;visibility:hidden}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:10px;animation:loaderIn .6s ease both}
@keyframes loaderIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.loader-orb{width:150px;height:150px;border-radius:50%;position:relative;display:grid;place-items:center;overflow:hidden;background:#040409;margin-bottom:8px;box-shadow:0 0 45px rgba(255,77,148,.35),0 0 110px rgba(80,120,255,.28);animation:orbBreathe 2.6s ease-in-out infinite}
@keyframes orbBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.swirl{position:absolute;inset:-25%;border-radius:50%;filter:blur(16px);mix-blend-mode:screen;pointer-events:none}
.s1{background:conic-gradient(from 10deg,transparent 0deg,rgba(255,77,148,0) 40deg,#ff5f9e 110deg,#ffffff 150deg,transparent 190deg,transparent 300deg,rgba(255,77,148,.7) 340deg,transparent 360deg);animation:orbSpin 2.8s linear infinite}
.s2{background:conic-gradient(from 200deg,transparent 0deg,#4d9fff 70deg,#cfe6ff 110deg,transparent 160deg,transparent 260deg,rgba(77,159,255,.6) 310deg,transparent 360deg);animation:orbSpinRev 3.6s linear infinite}
@keyframes orbSpin{to{transform:rotate(360deg)}}
@keyframes orbSpinRev{to{transform:rotate(-360deg)}}
.loader-orb::after{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle,rgba(2,2,6,.6),transparent 70%);pointer-events:none}
.rim{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 14px rgba(255,255,255,.65),inset 0 0 34px rgba(255,120,180,.45),inset 0 0 60px rgba(90,130,255,.30);pointer-events:none}
.orb-core{position:relative;z-index:2;font-family:var(--font-head);font-size:1.5rem;letter-spacing:.05em;color:#fff;text-shadow:0 0 12px #fff,0 0 30px rgba(255,120,180,.8)}
.loader-logo{font-family:var(--font-head);font-size:2rem;letter-spacing:.06em;color:#fff;text-shadow:0 0 22px rgba(255,120,180,.35)}
.loader-logo span{color:var(--red)}
.loader-sub{letter-spacing:.55em;text-indent:.55em;color:#cfe0ff;font-size:.7rem;font-weight:700}
.loader-track{width:200px;height:3px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;margin-top:12px}
.loader-track span{display:block;height:100%;width:40%;background:linear-gradient(90deg,#ff4d94,#ffffff,#4d9fff);border-radius:99px;box-shadow:0 0 14px rgba(255,120,180,.9),0 0 26px rgba(77,159,255,.7);animation:goldSlide 1.1s ease-in-out infinite}
@keyframes goldSlide{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold-grad);z-index:1500}
.cursor-glow{position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(214,168,68,.13),transparent 65%);transform:translate(-50%,-50%);left:50%;top:30%}
/* NAV */
.ie-nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:.35s;background:linear-gradient(180deg,rgba(3,16,29,.92),rgba(3,16,29,.55) 70%,transparent);border-bottom:1px solid rgba(214,168,68,.35)}
.ie-nav.scrolled{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ie-nav.scrolled .ie-nav-inner{padding:.55rem 1.2rem}
.ie-nav-inner{max-width:1380px;margin:auto;display:flex;align-items:center;gap:1.4rem;padding:.9rem 1.2rem;transition:.35s}
.ie-logo{display:flex;align-items:center;gap:.7rem}
.ie-logo-mark{width:46px;height:46px;display:grid;place-items:center;font-family:var(--font-head);font-size:1.35rem;color:#fff;background:linear-gradient(145deg,#101418,#1d232b);border:2px solid var(--red);border-radius:9px;box-shadow:inset 0 0 0 1px rgba(214,168,68,.6),0 6px 18px rgba(0,0,0,.5);position:relative}
.ie-logo-mark::after{content:"";position:absolute;left:6px;right:6px;bottom:5px;height:3px;background:var(--gold-grad);border-radius:2px}
.ie-logo-text strong{font-family:var(--font-head);font-size:1.25rem;letter-spacing:.05em;display:block;line-height:1}.ie-logo-text strong em{font-style:normal;color:var(--red)}
.ie-logo-text small{letter-spacing:.42em;color:var(--gold);font-size:.62rem;font-weight:700}
.ie-logo-img{height:48px;width:auto;border-radius:9px;display:block;box-shadow:0 4px 16px rgba(0,0,0,.5)}
.ie-logo-img.foot{height:120px;margin-bottom:.4rem}
.ie-nav.scrolled .ie-logo-img{height:40px}
.ie-menu{flex:1;justify-content:center;gap:1.05rem}
.ie-menu a{font-weight:700;font-size:.76rem;letter-spacing:.12em;color:#dbe6f2;position:relative;padding:.4rem 0;white-space:nowrap}
.ie-menu a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold-grad);transition:.3s}
.ie-menu a:hover::after,.ie-menu a.active::after{width:100%}
.ie-menu a.active,.ie-menu a:hover{color:var(--gold-l)}
.ie-nav-right{margin-left:auto;display:flex;align-items:center;gap:.8rem}
.ie-icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.btn-ie-red{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(180deg,#e53239,var(--red) 60%,var(--red-d));color:#fff;font-weight:800;letter-spacing:.12em;font-size:.8rem;padding:.85rem 1.7rem;border:0;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:.25s;position:relative;overflow:hidden}
.btn-ie-red:hover{filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 12px 30px rgba(213,32,39,.4)}
.btn-ie-red::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg)}
.btn-ie-red:hover::after{animation:shine .7s}
@keyframes shine{to{left:130%}}
.btn-ie-gold{display:inline-flex;align-items:center;gap:.55rem;background:transparent;color:var(--gold-l);border:1px solid var(--gold);font-weight:800;letter-spacing:.12em;font-size:.8rem;padding:.85rem 1.7rem;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:.25s}
.btn-ie-gold:hover{background:rgba(214,168,68,.14);box-shadow:0 0 24px rgba(214,168,68,.35);transform:translateY(-2px)}
.btn-ie-dark{display:inline-flex;align-items:center;gap:.5rem;background:#0b2237;color:#fff;border:1px solid rgba(255,255,255,.15);padding:.85rem 1.4rem;font-weight:700}
.ie-burger{width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;gap:0;cursor:pointer}
.ie-burger span{display:block;width:22px;height:2px;background:var(--gold);margin:2.5px auto;transition:.3s}
.ie-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.ie-burger.open span:nth-child(2){opacity:0}.ie-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ie-search{display:none;padding:.7rem 1.2rem;background:rgba(2,8,15,.95);border-top:1px solid var(--line)}
.ie-search.open{display:block}
.ie-search-form{max-width:640px;margin:auto;display:flex;gap:.5rem}
.ie-search-form input{flex:1;background:#0b2237;border:1px solid var(--line);color:#fff;padding:.7rem 1rem;border-radius:8px}
/* fullscreen menu */
.ie-fullmenu{position:fixed;inset:0;z-index:1400;visibility:hidden;opacity:0;transition:.35s}
.ie-fullmenu.open{visibility:visible;opacity:1}
.ie-fullmenu-bg{position:absolute;inset:0;background:rgba(2,8,15,.7);backdrop-filter:blur(6px)}
.ie-fullmenu-panel{position:absolute;right:0;top:0;bottom:0;width:min(480px,94vw);background:linear-gradient(180deg,#06182b,#02080f);border-left:1px solid var(--gold);padding:2rem;overflow:auto;transform:translateX(40px);transition:.35s}
.ie-fullmenu.open .ie-fullmenu-panel{transform:none}
.ie-fullmenu-close{background:none;border:1px solid var(--line);color:#fff;width:42px;height:42px;border-radius:50%;float:right}
.ie-fullmenu-links{display:grid;margin:3.2rem 0 1.5rem}
.ie-fullmenu-links a{font-family:var(--font-head);font-size:clamp(1.5rem,4vw,2rem);padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:1rem;align-items:baseline}
.ie-fullmenu-links a span{font-size:.75rem;color:var(--gold);font-family:var(--font-body)}
.ie-fullmenu-links a:hover{color:var(--gold-l);padding-left:.5rem}
/* HERO */
.ie-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#02080f}
.ie-hero-bg{position:absolute;inset:0}
.ie-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center center;transform-origin:center;filter:saturate(1.05) contrast(1.05)}
.ie-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,24,.92) 20%,rgba(4,10,24,.55) 50%,rgba(4,10,24,.25)),linear-gradient(0deg,#071A3D 4%,transparent 40%,rgba(4,10,24,.35))}
.ie-hero-content{position:relative;z-index:2;width:min(1240px,100%);margin:0 auto;padding:150px 1.2rem 0}
.ie-hero-kicker{color:#fff;letter-spacing:.3em;font-size:.72rem;font-weight:700}
.ie-hero-kicker b{color:var(--red)}
.ie-hero h1{font-size:clamp(2.6rem,7.2vw,5.6rem);color:#fff;margin:.7rem 0 1rem;max-width:13ch;text-shadow:0 10px 40px rgba(0,0,0,.6)}
.ie-hero p.lead{color:#cdd9e7;max-width:56ch;font-size:clamp(1rem,1.6vw,1.15rem)}
.ie-hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin:1.6rem 0 2rem}
.ie-hero-stats{display:flex;gap:0;margin-top:1rem;border-top:1px solid rgba(214,168,68,.35);background:rgba(2,8,15,.55);backdrop-filter:blur(8px)}
.ie-hero-stats div{flex:1;padding:1rem 1.2rem;border-right:1px solid rgba(255,255,255,.08)}
.ie-hero-stats strong{font-family:var(--font-head);font-size:1.5rem;color:var(--gold-l);display:block}
.ie-hero-stats small{color:var(--muted);letter-spacing:.12em;font-size:.7rem;text-transform:uppercase}
.ie-hero-side{position:relative;z-index:2;width:min(1240px,100%);margin:0 auto;padding:0 1.2rem 34px;display:flex;justify-content:flex-end}
.ie-3d-plate{width:300px;height:300px;position:relative}
/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:-70px;position:relative;z-index:5}
.svc-card{background:#0a1c30;border:1px solid var(--line);overflow:hidden;transition:.35s;position:relative;display:flex;flex-direction:column}
.svc-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(214,168,68,.4),0 0 34px rgba(214,168,68,.18)}
.svc-card .svc-img{height:150px;overflow:hidden;position:relative}
.svc-card .svc-img img{width:100%;height:100%;object-fit:cover;transition:.6s}
.svc-card:hover .svc-img img{transform:scale(1.1)}
.svc-card .svc-body{padding:1rem .95rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.svc-card h3{font-size:.86rem;margin:0;color:#fff;line-height:1.25}
.svc-arrow{flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;transition:.3s}
.svc-card:hover .svc-arrow{background:var(--gold-grad);color:#08131f;border-color:transparent}
/* generic cards / sections */
.ie-card{background:linear-gradient(180deg,#0a1e33,#061423);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s}
.ie-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.ie-card img.top{height:210px;width:100%;object-fit:cover}
.ie-card .pad{padding:1.3rem}
.price{font-family:var(--font-head);font-size:1.6rem;color:var(--gold-l)}
.plan-tag{position:absolute;top:12px;right:12px;background:var(--gold-grad);color:#08131f;font-weight:800;font-size:.68rem;letter-spacing:.1em;padding:.3rem .7rem;border-radius:99px}
.check-list{list-style:none;padding:0;margin:.9rem 0;display:grid;gap:.45rem;color:#c6d4e4;font-size:.92rem}
.check-list li::before{content:"✓";color:var(--gold);font-weight:800;margin-right:.55rem}
.branch-img{height:230px;object-fit:cover;width:100%}
.badge-status{position:absolute;top:12px;left:12px;background:rgba(2,8,15,.8);border:1px solid var(--gold);color:var(--gold-l);font-size:.7rem;font-weight:800;letter-spacing:.12em;padding:.35rem .7rem;border-radius:99px}
.sec-head{max-width:760px;margin:0 auto 2.4rem;text-align:center}
.sec-head h2{font-size:clamp(1.9rem,4.4vw,3.1rem);color:#fff;margin:.6rem 0}
.sec-head p{color:var(--muted)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.parallax-img{border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative}
.parallax-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.gold-frame{position:relative}
.gold-frame::after{content:"";position:absolute;inset:12px;border:1px solid rgba(214,168,68,.55);border-radius:12px;pointer-events:none}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center;margin-top:2rem}
.stat-band strong{font-family:var(--font-head);font-size:clamp(1.7rem,3.4vw,2.6rem);color:#fff;display:block}
.stat-band strong em{font-style:normal;color:var(--gold)}
.stat-band small{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-size:.7rem}
/* shop */
.shop-cat{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.8rem}
.shop-cat a{border:1px solid var(--line);padding:.55rem 1.1rem;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#dbe6f2}
.shop-cat a.on,.shop-cat a:hover{border-color:var(--gold);color:var(--gold-l);background:rgba(214,168,68,.1)}
.shop-tools{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:center;margin:-.8rem 0 2rem}
.avail-toggle{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);padding:.55rem 1.1rem;border-radius:99px;font-size:.78rem;font-weight:800;letter-spacing:.08em;color:#dbe6f2;transition:.25s}
.avail-toggle:hover{border-color:var(--gold);color:var(--gold-l)}
.avail-toggle.on{border-color:#1f9d55;color:#5fe39a;background:rgba(31,157,85,.14)}
.shop-count{color:var(--muted);font-size:.8rem;letter-spacing:.06em}
.avail-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:800;letter-spacing:.09em;padding:.3rem .6rem;border-radius:99px;border:1px solid transparent}
.avail-chip.ok{color:#5fe39a;border-color:rgba(31,157,85,.45);background:rgba(31,157,85,.12)}
.avail-chip.no{color:#ffc46b;border-color:rgba(214,168,68,.45);background:rgba(214,168,68,.12)}
.btn-ie-wa{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:#1f9d55;color:#fff;border:0;padding:.85rem .95rem;font-size:1.05rem;font-weight:700;transition:.25s}
.btn-ie-wa:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,157,85,.35)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.prod-card{background:#0a1c30;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s;position:relative}
.prod-card:hover{transform:translateY(-6px);border-color:var(--gold)}
.prod-card img{height:220px;width:100%;object-fit:cover}
.strike{color:#7d8fa5;text-decoration:line-through;font-size:.9rem}
/* forms */
.ie-form{background:linear-gradient(180deg,#0a1e33,#050f1c);border:1px solid var(--line);border-radius:16px;padding:clamp(1.2rem,3vw,2.2rem)}
.form-label{color:var(--gold-l);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.form-control,.form-select{background:#0b2237!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;padding:.75rem 1rem;border-radius:10px}
.form-control:focus,.form-select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 .25rem rgba(214,168,68,.18)!important}
/* testimonials / misc */
.testi-card{background:#0a1c30;border:1px solid var(--line);border-radius:14px;padding:1.4rem;height:100%}
.testi-card img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.stars{color:var(--gold)}
.cta-final{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-final img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.cta-final .inner{position:relative;z-index:2;text-align:center;padding:clamp(70px,9vw,130px) 1.2rem}
.cta-final h2{font-size:clamp(2.2rem,6vw,4.4rem);color:#fff}
/* footer */
.ie-footer{background:#02080f;border-top:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold),transparent) 1;margin-top:0}
.ie-footer-top{padding:3.5rem 1.2rem 2.2rem}
.ie-footer h5{color:var(--gold);font-size:.78rem;letter-spacing:.2em;margin-bottom:1rem}
.ie-footer-top a{display:block;color:#b9c7d8;padding:.28rem 0;font-size:.92rem}
.ie-footer-top a:hover{color:var(--gold-l)}
.ie-footer-brand{color:var(--gold-l);font-weight:700;margin:1rem 0 .4rem}
.ie-footer-desc{color:var(--muted);font-size:.9rem}
.ie-social{display:flex;gap:.6rem;margin-top:1rem}
.ie-social a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.ie-social a:hover{background:var(--gold-grad);color:#08131f}
.ie-foot-contact{color:#b9c7d8;font-size:.92rem}.ie-foot-contact a{display:inline;color:#fff}
.ie-newsletter{display:flex;margin-top:1rem}
.ie-newsletter input{flex:1;background:#0b2237;border:1px solid var(--line);color:#fff;padding:.7rem 1rem;border-radius:10px 0 0 10px}
.ie-newsletter button{background:var(--gold-grad);border:0;padding:0 1.1rem;border-radius:0 10px 10px 0;color:#08131f}
.ie-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.1rem 0;color:#8fa1b6;font-size:.85rem}
.ie-footer-bottom a{display:inline;color:#c6d4e4}
/* floating */
.ie-wa-float{position:fixed;right:18px;bottom:86px;z-index:1200;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;color:#fff;font-size:1.6rem;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.ie-wa-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:pulse 1.8s infinite}
@keyframes pulse{to{transform:scale(1.5);opacity:0}}
.ie-sticky-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:1200;display:flex;gap:.6rem}
.ie-sticky-cta a{flex:1;justify-content:center}
/* reveal defaults (JS enhances) */
[data-reveal]{opacity:0;transform:translateY(28px)}
.no-js [data-reveal],.reveal-done{opacity:1!important;transform:none!important}
/* page hero */
.page-hero{position:relative;padding:170px 0 70px;overflow:hidden;background:#02080f}
.page-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.page-hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,15,.6),#03101D)}
.page-hero .inner{position:relative;z-index:2}
.swiper{padding-bottom:2.6rem}.swiper-pagination-bullet{background:var(--gold)}
/* responsive */
@media(max-width:1100px){.svc-grid{grid-template-columns:repeat(3,1fr);margin-top:-50px}.prod-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.stat-band{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.svc-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.svc-card .svc-img{height:110px}.prod-grid{grid-template-columns:1fr 1fr;gap:.7rem}.prod-card img{height:150px}.ie-hero-stats{flex-wrap:wrap}.ie-hero-stats div{min-width:50%}.cursor-glow{display:none}.ie-hero-bg img{object-position:68% center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ============ AI CHATBOT WIDGET ============ */
.chat-fab{position:fixed;right:18px;bottom:152px;z-index:1300;width:58px;height:58px;border-radius:50%;border:1px solid var(--gold);background:#0a1c30;color:#fff;font-size:1.6rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.5),0 0 22px rgba(212,175,55,.25);transition:.25s;overflow:hidden;padding:0}
.chat-fab img{width:100%;height:100%;object-fit:cover}
.chat-fab:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.55),0 0 30px rgba(212,175,55,.4)}
.chat-fab .chat-dot{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #071A3D}
.chat-panel{position:fixed;right:18px;bottom:222px;z-index:1300;width:min(384px,calc(100vw - 24px));height:min(560px,calc(100svh - 240px));min-height:380px;background:#0a1c30;border:1px solid var(--gold);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transition:.3s}
.chat-panel.open{opacity:1;visibility:visible;transform:none}
.chat-head{background:linear-gradient(135deg,var(--navy),var(--navy2));border-bottom:1px solid var(--line);padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem}
.chat-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;flex:0 0 38px;border:1px solid var(--gold)}
.chat-avatar img{width:100%;height:100%;object-fit:cover}
.chat-head strong{display:block;font-size:.9rem}.chat-head small{color:var(--gold-l);font-size:.7rem}
.chat-head .grow{flex:1}
.chat-langsel{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(212,175,55,.55);border-radius:20px;padding:.2rem .5rem;font-size:.75rem;max-width:96px;cursor:pointer}
.chat-langsel option{color:#111}
.chat-hbtn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.chat-hbtn.on{background:var(--gold-grad);color:#08131f;border-color:transparent}
#chatMic.live{background:#C51F2D;border-color:#C51F2D;color:#fff;animation:micPulse 1s infinite}
@keyframes micPulse{50%{box-shadow:0 0 0 8px rgba(197,31,45,.25)}}
.chat-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;background:radial-gradient(400px 200px at 50% 0%,rgba(10,46,115,.5),transparent)}
.chat-msg{max-width:88%;padding:.65rem .85rem;border-radius:14px;font-size:.87rem;line-height:1.55;word-wrap:break-word}
.chat-msg.bot{background:#12294d;border:1px solid rgba(255,255,255,.1);color:#eef3f8;align-self:flex-start;border-bottom-left-radius:4px}
.chat-msg.bot a{color:var(--gold-l)}
.chat-msg.user{background:var(--gold-grad);color:#08131f;font-weight:500;align-self:flex-end;border-bottom-right-radius:4px}
.chat-msg.typing{display:flex;gap:5px;padding:.9rem 1rem}
.chat-msg.typing span{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:tp 1s infinite}
.chat-msg.typing span:nth-child(2){animation-delay:.15s}.chat-msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes tp{50%{opacity:.3;transform:translateY(-3px)}}
.chat-chips{display:flex;gap:.45rem;overflow-x:auto;padding:.55rem .8rem;border-top:1px solid rgba(255,255,255,.08)}
.chat-chip{flex:0 0 auto;border:1px solid var(--gold);background:transparent;color:var(--gold-l);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.42rem .8rem;border-radius:99px;cursor:pointer;white-space:nowrap}
.chat-chip:hover{background:rgba(212,175,55,.15)}
.chat-form{display:flex;gap:.45rem;padding:.7rem .8rem;border-top:1px solid rgba(255,255,255,.08);background:rgba(2,8,15,.4)}
.chat-form input{flex:1;background:#0b2237;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;padding:.65rem .85rem;font-size:.88rem;min-width:0}
.chat-form input:focus{outline:none;border-color:var(--gold)}
.chat-send{width:42px;height:42px;flex:0 0 42px;border-radius:10px;border:0;background:var(--gold-grad);color:#08131f;cursor:pointer;font-size:1rem}
@media(max-width:640px){.chat-fab{bottom:158px}.chat-panel{right:12px;left:12px;width:auto;bottom:226px;height:min(600px,calc(100svh - 246px))}}

/* ============ BLUEPRINT THEME LAYER — Premium Performance ============
   Deep navy #071A3D · Royal blue #0A2E73 · Gold #D4AF37 · White content */
.ie-topbar{background:var(--navy);border-bottom:1px solid rgba(212,175,55,.35);font-size:.78rem;position:fixed;top:0;left:0;right:0;z-index:1001;transition:margin .3s}
.ie-topbar-inner{max-width:1380px;margin:auto;display:flex;align-items:center;gap:1rem;padding:.32rem 1.2rem;color:#cdd9e7;white-space:nowrap;overflow-x:auto}
.ie-topbar a{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:.35rem}
.ie-topbar a:hover{color:var(--gold-l)}
.ie-topbar .spacer{flex:1}
.ie-topbar select{background:#0b2a5e;color:#fff;border:1px solid rgba(212,175,55,.4);border-radius:6px;padding:.15rem .4rem;font-size:.78rem}
.ie-topbar .mini-join{background:var(--gold-grad);color:#0a1630!important;font-weight:800;padding:.2rem .8rem;border-radius:99px}
.ie-nav{top:31px}
.ie-nav.scrolled{top:0}
body.nav-solid .ie-topbar{margin-top:-33px}
/* Light content sections */
.section-light{background:var(--paper);color:var(--ink)}
.section-light .sec-head h2{color:var(--navy)}
.section-light .sec-head p{color:var(--ink-soft)}
.section-grey{background:var(--grey);color:var(--ink)}
.section-grey .sec-head h2{color:var(--navy)}
.section-grey .sec-head p{color:var(--ink-soft)}
.light-card{background:#fff;border:1px solid #dfe7f2;border-radius:14px;overflow:hidden;transition:.3s;color:var(--ink)}
.light-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 20px 45px rgba(7,26,61,.14)}
.light-card .pad{padding:1.3rem}
.light-card h3{color:var(--navy)}
.light-card p,.light-card li{color:var(--ink-soft)}
.royal-panel{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;border-radius:16px;border:1px solid rgba(212,175,55,.4)}
.vip-badge{display:inline-block;background:var(--gold-grad);color:#0a1630;font-weight:800;font-size:.68rem;letter-spacing:.1em;padding:.3rem .75rem;border-radius:99px}
/* Primary buttons: gold on navy / navy on white */
.btn-ie-gold-solid{display:inline-flex;align-items:center;gap:.55rem;background:var(--gold-grad);color:#0a1630!important;border:0;font-weight:800;letter-spacing:.1em;font-size:.82rem;padding:.9rem 1.8rem;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:.25s}
.btn-ie-gold-solid:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 12px 28px rgba(212,175,55,.4)}
.btn-ie-navy{display:inline-flex;align-items:center;gap:.55rem;background:var(--navy);color:#fff!important;border:1px solid var(--navy);font-weight:800;letter-spacing:.1em;font-size:.82rem;padding:.9rem 1.8rem;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:.25s}
.btn-ie-navy:hover{background:var(--navy2);transform:translateY(-2px)}
.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.goal-card{background:#fff;border:1px solid #dfe7f2;border-radius:14px;padding:1.4rem;text-align:left;transition:.3s;color:var(--ink);display:block}
.goal-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 18px 40px rgba(7,26,61,.12)}
.goal-card i{font-size:1.7rem;color:var(--navy2)}
.goal-card h3{font-size:1rem;color:var(--navy);margin:.7rem 0 .3rem}
.goal-card p{font-size:.88rem;color:var(--ink-soft);margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:step}
.step{background:#fff;border:1px solid #dfe7f2;border-top:4px solid var(--gold);border-radius:12px;padding:1.2rem;color:var(--ink)}
.step strong{display:block;color:var(--navy);font-family:var(--font-head);font-size:1.05rem;margin-bottom:.3rem}
.step p{font-size:.87rem;color:var(--ink-soft);margin:0}
.step .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:.8rem;margin-bottom:.6rem}
.faq details{background:#fff;border:1px solid #dfe7f2;border-radius:10px;padding:1rem 1.2rem;margin-bottom:.6rem;color:var(--ink)}
.faq summary{font-weight:700;color:var(--navy);cursor:pointer}
.faq p{color:var(--ink-soft);font-size:.92rem;margin:.5rem 0 0}
.disclaimer{background:#FFF8E6;border:1px solid #e8cf7a;border-radius:12px;padding:1rem 1.2rem;font-size:.86rem;color:#5c4a12}
.table-light{background:#fff;color:var(--ink)}
.member-login-card{max-width:460px;margin:auto}
.card-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:800;color:var(--navy2);min-height:44px}
.card-link:hover{color:var(--navy)}
@media(max-width:1100px){.steps{grid-template-columns:repeat(2,1fr)}.goal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ie-topbar .hide-m{display:none}.steps{grid-template-columns:1fr}.goal-grid{grid-template-columns:1fr}.ie-topbar-inner{font-size:.72rem;gap:.6rem}}

/* ===== PHONE / TABLET READABILITY PASS =====
   Hero was up to 1210px tall on a 360x640 phone (570px past the fold),
   h1 rendered at 42px across 4-5 lines, and badges/labels sat at ~11px.
   These rules compact the hero and lift small text + tap targets. */

/* The 3D plate inside .ie-hero-side is Bootstrap d-none below lg, but the
   wrapper was still a flex sibling and stole ~227px of the 390px row,
   crushing .ie-hero-content to 163px wide. Collapse the whole wrapper. */
@media(max-width:991.98px){
  .ie-hero-side{display:none}
  .ie-hero-content{padding-bottom:34px}
}

@media(max-width:900px){
  .ie-hero-content{padding:118px 1.1rem 0}
  .ie-hero h1{font-size:clamp(2rem,8.2vw,3.6rem);max-width:17ch;line-height:1.05}
  .ie-hero p.lead{font-size:1rem;max-width:46ch}
  .ie-hero-ctas{gap:.6rem;margin:1.2rem 0 1.4rem}
  .ie-hero-stats div{padding:.75rem .9rem}
  .ie-hero-stats strong{font-size:1.2rem}
  .ie-hero-stats small{font-size:.74rem;letter-spacing:.06em}
  .ie-hero-side{padding:0 1.1rem 22px}
}

@media(max-width:640px){
  /* --- compact the hero so the whole block reads inside one phone screen --- */
  .ie-hero-content{padding:96px 1rem 0}
  .ie-hero h1{font-size:clamp(1.85rem,8vw,2.7rem);max-width:none;line-height:1.08;margin:.5rem 0 .7rem}
  .ie-hero-kicker{font-size:.78rem;letter-spacing:.14em;line-height:1.5}
  .ie-hero p.lead{font-size:.92rem;line-height:1.5;margin:0 0 .2rem}
  .ie-hero-ctas{margin:1rem 0 .2rem;gap:.55rem}
  .ie-hero-ctas .btn-ie-gold-solid,.ie-hero-ctas .btn-ie-gold{flex:1 1 calc(50% - .3rem);justify-content:center;padding:.8rem .5rem;font-size:.8rem;text-align:center}
  .ie-hero-content>p{margin:.1rem 0 .6rem}
  .ie-hero-content>p>a{display:inline-flex;align-items:center;min-height:44px;font-size:.92rem}
  .ie-hero-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:.2rem}
  .ie-hero-stats div{min-width:0;padding:.55rem .75rem}
  .ie-hero-stats div:nth-child(-n+2){border-top:0}
  .ie-hero-stats div:nth-child(odd){border-right:1px solid rgba(255,255,255,.08)}
  .ie-hero-stats strong{font-size:1.1rem;line-height:1.2}
  .ie-hero-stats small{font-size:.75rem;line-height:1.3}
  .ie-hero-side{padding:0 1rem 18px}

  /* --- lift small decorative text to a readable floor --- */
  .eyebrow{font-size:.8rem;letter-spacing:.18em}
  .eyebrow::before{width:26px}
  .vip-badge{font-size:.75rem;padding:.34rem .62rem}
  .badge-status{font-size:.76rem;padding:.32rem .58rem}
  .plan-tag{font-size:.74rem}
  .chat-head small{font-size:.75rem}

  /* --- 44px minimum tap targets --- */
  .ie-fullmenu-links a{padding:.85rem 0;min-height:48px}
  .ie-fullmenu-close{width:48px;height:48px}
  /* --- topbar + nav must not overlap or overflow on a phone ---
     The topbar grew once links got 44px min-height, but .ie-nav was still
     pinned to top:31px and the strip has overflow-x:auto, so JOIN NOW was
     cut off. Pin both heights off one variable and tighten the strip. */
  :root{--ie-bar:48px}
  .ie-topbar{height:var(--ie-bar)}
  .ie-topbar-inner{height:100%;font-size:.74rem;gap:.5rem;padding:.2rem .7rem}
  .ie-topbar-inner>form{min-width:0}
  .ie-topbar select{min-height:38px;padding:.25rem .3rem;font-size:.74rem}
  .ie-topbar-inner a,.ie-topbar .mini-join{min-height:40px;padding:.3rem .5rem}
  .ie-topbar .mini-join{font-size:.8rem}
  .ie-nav{top:var(--ie-bar)}
  .ie-nav-inner{padding:.55rem .9rem;gap:.8rem}
  .ie-logo-img{height:40px}
  body.nav-solid .ie-topbar{margin-top:calc(var(--ie-bar) * -1)}
  .ie-hero-content{padding-top:118px}

  /* --- remaining 44px tap targets --- */
  .ie-social a{width:44px;height:44px}
  .ie-foot-contact{font-size:.95rem}
  .ie-foot-contact a{display:inline-flex;align-items:center;min-height:44px}
  .col-lg-2>a{display:inline-flex;align-items:center;min-height:44px;font-size:.95rem}
  .container.d-flex>span>a{display:inline-block;padding:.8rem 0;min-height:44px;line-height:1.4}
  .chat-head button,.chat-hbtn,.chat-send,#chatMic{width:46px;height:46px;flex:0 0 46px}
  .chat-head select#chatLang{min-height:38px;padding:.3rem .4rem}
  .card-link{min-height:44px}
  .swiper-pagination-bullet{position:relative}
  .swiper-pagination-bullet::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px}
  .loader-sub{font-size:.78rem}

  /* --- tighter section rhythm on small screens --- */
  .section{padding:44px 0}
  /* --- image frames ---
     A flat 210px height turned the 1131x1600 founder portrait into a
     358x210 landscape crop (plus scale(1.12)), cutting the subject off.
     Use aspect-ratio boxes and drop the zoom so faces stay in frame. */
  .parallax-img{height:auto;aspect-ratio:4/3}
  .parallax-img img{transform:none}
  .portrait-frame{aspect-ratio:3/4}
  .portrait-frame img{object-position:center 16%}
  .prod-card img{height:170px}
  .ie-wa-float{width:54px;height:54px}
}
