/* ==========================================================================
   v3 — bold layer: vivid sky heroes, kinetic type, glowing cards, motion
   ========================================================================== */
:root{--v3-a:#38BDF8;--v3-b:#1A9AD6;--v3-c:#0E7DB5;--v3-d:#7DD3FC;--v3-ink:#06263F;--v3-glow:0 30px 80px -30px rgba(14,125,181,.55)}

/* scroll progress */
.scroll-prog{position:fixed;left:0;top:0;height:3px;width:100%;z-index:200;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#7DD3FC,#1A9AD6,#0E7DB5);box-shadow:0 0 12px rgba(56,189,248,.8);pointer-events:none}

/* ---------- vivid hero (inner pages) ---------- */
.v2-page{background:
  radial-gradient(42% 60% at 8% 12%,rgba(255,255,255,.55) 0%,transparent 60%),
  radial-gradient(40% 55% at 92% 8%,#7DD3FC 0%,transparent 62%),
  radial-gradient(55% 65% at 75% 85%,#0EA5E9 0%,transparent 60%),
  radial-gradient(45% 55% at 20% 90%,#22B8F0 0%,transparent 60%),
  linear-gradient(135deg,#2BAEE8 0%,#1A9AD6 45%,#1288C9 100%)!important;color:#EAF7FE;padding-bottom:0!important}
.v2-page::before{background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px)!important;animation:gridmove 22s linear infinite}
@keyframes gridmove{to{background-position:64px 64px,64px 64px}}
.v2-page::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,transparent,#F6FBFE 92%);pointer-events:none;z-index:0}
.v2-orb{mix-blend-mode:screen;opacity:.75!important;filter:blur(70px)!important}
.v2-orb.o1{background:#BAE6FD!important;width:620px!important;height:620px!important}
.v2-orb.o2{background:#67E8F9!important;opacity:.45!important}
.v2-page-head h1{color:#fff!important;text-shadow:none!important;filter:drop-shadow(0 10px 30px rgba(6,38,63,.18))}
.v2-page-head .lead{color:rgba(255,255,255,.92)!important}
.v2-page-head .crumbs,.v2-page-head .crumbs a,.v2-page-head .crumbs span{color:rgba(255,255,255,.82)!important}
.v2-page .eyebrow{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.4)!important;color:#fff!important;backdrop-filter:blur(8px)}
.v2-page-head .btn-primary,.v2-hero .btn-primary{background:#fff!important;color:var(--v3-c)!important;box-shadow:0 18px 40px -16px rgba(6,38,63,.45)}
.v2-page-head .btn-ghost,.v2-hero .btn-ghost{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.55)!important;backdrop-filter:blur(8px)}
.v2-page-head .btn-ghost:hover,.v2-hero .btn-ghost:hover{background:rgba(255,255,255,.26)!important}
.v2-page-pano{position:relative;z-index:2}
.v2-page .show-frame{background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,255,255,.2))!important;border-color:rgba(255,255,255,.6)!important;backdrop-filter:blur(10px);box-shadow:0 70px 120px -50px rgba(6,38,63,.55)!important}
.v2-page .kicker{color:#fff}

/* product heroes that use .sec-dark .spot as first section */
main>section.spot:first-of-type{background:
  radial-gradient(40% 55% at 92% 8%,#7DD3FC 0%,transparent 62%),radial-gradient(55% 65% at 75% 90%,#0EA5E9 0%,transparent 60%),
  linear-gradient(135deg,#2BAEE8 0%,#1A9AD6 45%,#1288C9 100%)!important;color:#EAF7FE}
main>section.spot:first-of-type h1{color:#fff!important}
main>section.spot:first-of-type .lead,main>section.spot:first-of-type p{color:rgba(255,255,255,.92)!important}
main>section.spot:first-of-type .crumbs,main>section.spot:first-of-type .crumbs *{color:rgba(255,255,255,.85)!important}
main>section.spot:first-of-type .kicker{color:#fff!important}main>section.spot:first-of-type .kicker::before{background:#fff!important}
main>section.spot:first-of-type .btn-primary{background:#fff!important;color:var(--v3-c)!important}
main>section.spot:first-of-type .btn-ghost{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important}
main>section.spot:first-of-type .igl-logo{filter:drop-shadow(0 10px 30px rgba(6,38,63,.35))}

/* ---------- home hero ---------- */
.v2-hero{background:
  radial-gradient(40% 55% at 10% 15%,rgba(255,255,255,.5) 0%,transparent 60%),
  radial-gradient(45% 60% at 90% 10%,#7DD3FC 0%,transparent 62%),
  radial-gradient(60% 70% at 70% 95%,#0EA5E9 0%,transparent 60%),
  radial-gradient(45% 55% at 15% 95%,#22B8F0 0%,transparent 60%),
  linear-gradient(135deg,#2BAEE8 0%,#1A9AD6 45%,#1288C9 100%)!important;background-size:140% 140%!important;animation:meshmove 18s ease-in-out infinite alternate}
@keyframes meshmove{0%{background-position:0% 0%}100%{background-position:100% 100%}}
.v2-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(180deg,transparent,#F6FBFE);pointer-events:none;z-index:1}
.v2-hero h1{color:#fff!important;text-shadow:none!important;filter:drop-shadow(0 12px 40px rgba(6,38,63,.2))}
.v2-hero h1 .grad{background:linear-gradient(100deg,#FFFFFF 0%,#D9F4FF 30%,#A5E7FF 50%,#FFFFFF 70%,#D9F4FF 100%)!important;background-size:250% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}
.v2-hero .lead{color:rgba(255,255,255,.92)!important}
.v2-badge{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.45)!important;color:#fff!important;backdrop-filter:blur(10px)}
.v2-badge *{color:#fff!important}
.v2-hero .scroll-hint{border-color:rgba(255,255,255,.7)!important}

/* ---------- kinetic type band ---------- */
.kinetic{position:relative;overflow:hidden;padding:clamp(26px,4vw,48px) 0;background:#F6FBFE}
.kinetic .row{display:flex;gap:.5em;white-space:nowrap;will-change:transform;font-size:clamp(3rem,2rem + 6vw,8.5rem);font-weight:700;letter-spacing:-.045em;line-height:1}
.kinetic .row span{display:inline-flex;align-items:center;gap:.5em}
.kinetic .row span i{font-style:normal;color:transparent;-webkit-text-stroke:2px rgba(26,154,214,.45)}
.kinetic .row span b{background:linear-gradient(100deg,#0E7DB5,#38BDF8 50%,#1A9AD6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.kinetic .row span em{font-style:normal;width:.5em;height:.5em;border-radius:50%;background:linear-gradient(135deg,#7DD3FC,#1A9AD6);display:inline-block;box-shadow:0 0 30px rgba(56,189,248,.6)}
.kinetic .row.r2{margin-top:.08em;opacity:.9}

/* ---------- headings ---------- */
.sec h2,.sec-tight h2,.sec-head h2{background:linear-gradient(100deg,#06263F 0%,#0B4A75 45%,#1A9AD6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.on-dark h2,.sec-dark h2,.cta-band h2,.choose-card.sky h2,.photo-band h2,.band h2,.hcard.intro h2,.tile h2{-webkit-text-fill-color:currentColor;background:none}
.kicker{letter-spacing:.06em;text-transform:uppercase;font-size:.8rem!important}

/* ---------- section colour rhythm ---------- */
.sec-mist{position:relative;background:
  radial-gradient(50% 70% at 0% 0%,rgba(125,211,252,.35),transparent 60%),
  radial-gradient(45% 60% at 100% 100%,rgba(56,189,248,.25),transparent 60%),
  linear-gradient(180deg,#E8F6FE,#DDF1FC)!important}
.sec-mist::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(26,154,214,.18) 1.2px,transparent 1.2px);background-size:26px 26px;-webkit-mask:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);pointer-events:none}
.sec-mist>.wrap{position:relative}

/* ---------- glowing cards ---------- */
.feat,.fam,.card,.choose-card:not(.sky),.lang-strip a,.clock,.igl-stats div,.step,.price{
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgba(56,189,248,.55),rgba(26,154,214,.08) 45%,rgba(125,211,252,.5)) border-box!important;
  border:1.5px solid transparent!important;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s!important;position:relative}
.feat{padding:28px!important;border-radius:26px!important;box-shadow:0 20px 50px -38px rgba(14,125,181,.7)}
.feat:hover,.fam:hover,.card:hover,.lang-strip a:hover,.step:hover{transform:translateY(-8px)!important;box-shadow:0 40px 80px -36px rgba(14,125,181,.65),0 0 0 6px rgba(56,189,248,.08)!important}
.feat::after,.step::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--x,50%) var(--y,0%),rgba(56,189,248,.16),transparent 55%);opacity:0;transition:opacity .35s;pointer-events:none}
.feat:hover::after,.step:hover::after{opacity:1}
.feat .fi{width:54px!important;height:54px!important;border-radius:17px!important;background:linear-gradient(135deg,#7DD3FC,#1A9AD6 60%,#0E7DB5)!important;color:#fff!important;box-shadow:0 14px 30px -12px rgba(14,125,181,.8);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.feat:hover .fi{transform:rotate(-8deg) scale(1.1)}
.feat .fi svg{width:26px!important;height:26px!important}
.feat h3{font-size:1.18rem!important}
.city-chips li{box-shadow:0 10px 24px -18px rgba(14,125,181,.8)}

/* ---------- buttons: shine sweep + pill ---------- */
.btn{border-radius:999px!important;position:relative;overflow:hidden}
.btn-primary{background:linear-gradient(135deg,#38BDF8,#1A9AD6 55%,#0E7DB5)!important;box-shadow:0 16px 34px -14px rgba(14,125,181,.75)}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.btn:hover::after{left:130%}
.btn:hover{transform:translateY(-2px)}

/* ---------- reveal: blur to sharp ---------- */
.rv{filter:blur(10px);transform:translateY(34px) scale(.98)!important;transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),filter .9s cubic-bezier(.2,.8,.2,1)!important}
.rv.in{filter:none;transform:none!important}

/* ---------- CTA band: animated mesh ---------- */
.cta-band{border-radius:36px!important;background:
  radial-gradient(40% 60% at 90% 10%,#7DD3FC 0%,transparent 60%),radial-gradient(50% 70% at 10% 100%,#0EA5E9 0%,transparent 60%),
  linear-gradient(135deg,#2BAEE8,#1A9AD6 50%,#0E7DB5)!important;background-size:160% 160%!important;animation:meshmove 14s ease-in-out infinite alternate!important;box-shadow:0 50px 100px -50px rgba(14,125,181,.8)}

/* ---------- footer accent ---------- */
.site-footer{position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#7DD3FC,#1A9AD6,#0E7DB5,#38BDF8);background-size:200% 100%;animation:meshmove 8s linear infinite alternate}

/* ---------- photo tiles: richer overlay ---------- */
.tile .media::after{background:linear-gradient(180deg,rgba(6,38,63,0) 30%,rgba(6,38,63,.75))!important}
.tile{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s!important}
.tile:hover{transform:translateY(-6px) rotate(-.3deg)!important;box-shadow:0 50px 90px -40px rgba(14,125,181,.7)!important}

@media (prefers-reduced-motion:reduce){.v2-hero,.cta-band,.v2-page::before{animation:none!important}.rv{filter:none}}
main>section.spot:first-of-type .igl-logo{background:#fff;padding:12px 20px;border-radius:20px;box-shadow:0 20px 40px -18px rgba(6,38,63,.45);box-sizing:content-box}
.v2-hero::after{height:12%}
@media (max-width:760px){.v2-hero::after{height:6%}.v2-hero .scroll-hint{display:none!important}.v2-hero{padding-bottom:70px!important}}
