/* ==========================================================================
   IITWares "Prism" — professional layer over iw-white.css (Nov 2026)
   Deep navy type, royal-blue and navy colour bands, green pill actions,
   aurora page openings with a live 3D object, cards with real depth.
   ========================================================================== */
:root{--navy:#12175E;--navy-2:#0D1147;--royal:#1F47C8;--green:#00DC82;--green-ink:#00784A;--ink:#141938;--ink-3:#48506A;
  --amber:#1F5BE0;--amber-2:#1746B8;--amber-ink:#1746B8;--pro-r:18px;--pro-shadow:0 18px 40px -24px rgba(18,23,94,.35);}
h1,h2,h3,h4{color:var(--navy);}
h1{font-weight:750;letter-spacing:-.04em;}
h2{font-weight:700;}
.eyebrow{color:var(--royal);}
.eyebrow::before{background:var(--green);height:3px;border-radius:2px;width:22px;}

/* actions */
.btn{border-radius:999px;font-weight:600;padding-inline:26px;}
.btn-accent,.nav-cta .btn,.page-hero .btn-dark,.loc-hero .btn-dark,.cta-card .btn{background:var(--green);border-color:var(--green);color:var(--navy-2);}
.btn-accent::before,.nav-cta .btn::before,.page-hero .btn-dark::before,.loc-hero .btn-dark::before,.cta-card .btn::before{background:var(--navy);}
.btn-accent:hover,.nav-cta .btn:hover,.page-hero .btn-dark:hover,.loc-hero .btn-dark:hover,.btn-accent:focus-visible,.nav-cta .btn:focus-visible{color:#fff;border-color:var(--navy);}
.btn-dark{background:var(--navy);border-color:var(--navy);}
.btn-dark::before{background:var(--royal);}
.btn-outline{border-color:rgba(18,23,94,.25);color:var(--navy);}
.lang-switch,.burger{border-radius:999px;}

/* header */
.site-nav,.site-nav.is-stuck,.home .site-nav:not(.is-stuck){background:rgba(255,255,255,.86);}
.nav-links a.top-link{color:var(--navy);font-weight:550;border-radius:999px;}
.nav-links>li:hover a.top-link,.nav-links>li:focus-within a.top-link,.nav-links>li.mega-open a.top-link{background:#EEF3FF;}
.mega{border-radius:0 0 24px 24px;}
.mega-feature{border-radius:16px;background:linear-gradient(150deg,#12175E 0%,#1F47C8 100%)!important;border:0;color:#fff;}
.mega-feature .tag{color:var(--green);}
.mega-feature .ttl,.mega-feature .go,.mega-feature *{color:#fff;}
.mega-feature .tag{color:var(--green)!important;}

/* page openings: aurora, dot grid and the 3D object */
.page-hero,.loc-hero{position:relative;overflow:hidden;isolation:isolate;}
.page-hero::before,.loc-hero::before,[dir="rtl"] .page-hero::before,[dir="rtl"] .loc-hero::before{background:
  radial-gradient(rgba(18,23,94,.13) 1px,transparent 1.5px) 0 0/22px 22px,
  radial-gradient(38% 55% at 16% 28%,rgba(255,190,150,.30),transparent 70%),
  radial-gradient(46% 70% at 78% 38%,rgba(110,170,255,.42),transparent 70%),
  radial-gradient(40% 60% at 52% 100%,rgba(0,220,130,.16),transparent 70%),#fff;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,#000 70%,transparent 100%);}
.page-hero::after,.loc-hero::after{display:none;}
.iw-skyline{display:none!important;}
.page-hero>*:not(.hero3d),.loc-hero>*:not(.hero3d){position:relative;z-index:1;}
.page-hero h1,.loc-hero h1{color:var(--navy);font-weight:750;}
.page-hero{min-height:clamp(360px,46vh,520px);}
.page-hero h1,.page-hero>p{max-width:min(640px,56%)!important;}
.hero3d{position:absolute;z-index:0;pointer-events:none;aspect-ratio:1;width:min(40vw,500px);inset-inline-end:max(2vw,calc((100vw - var(--shell)) / 2));top:50%;transform:translateY(-46%);}
.loc-hero .hero3d{width:min(30vw,360px);top:0;transform:none;inset-inline-end:-30px;opacity:.95;}
.hero3d::after{content:"";position:absolute;inset-inline:18%;bottom:4%;height:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(18,23,94,.22),transparent);filter:blur(6px);z-index:-1;}
.hero3d img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .6s;animation:proFloat 7s ease-in-out infinite;}
.hero3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .7s;}
.hero3d.is-live .hero3d-canvas{opacity:1;}
.hero3d.is-live img{opacity:0;animation:none;}
@keyframes proFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1.2deg)}}
.loc-hero-side{border-radius:20px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,.9);box-shadow:var(--pro-shadow);}
@media (max-width:900px){
  .page-hero h1,.page-hero>p{max-width:none!important;}
  .page-hero{min-height:0;}
  .hero3d,.loc-hero .hero3d{width:190px;top:6px;transform:none;inset-inline-end:-34px;opacity:.5;}
}

/* cards with depth */
.feature-card,.cta-card,.blog-card,.contact-box,.pro-card{border-radius:var(--pro-r);border:1px solid rgba(18,23,94,.08);background:#fff;box-shadow:0 10px 30px -22px rgba(18,23,94,.3);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;transform-style:preserve-3d;will-change:transform;}
.feature-card:hover,.blog-card:hover,.pro-card:hover{box-shadow:0 30px 60px -30px rgba(18,23,94,.45);}
.feature-card .dot{background:var(--green);}
.blog-card{overflow:hidden;}
.blog-thumb{border-radius:0;}
.faq-item{border-radius:14px;}
.filter-btn{border-radius:999px;}
.filter-btn.active,.filter-btn.is-active{background:var(--navy);}
.grid-3>a[style],.grid-2>a[style]{border-radius:14px;transition:transform .3s,box-shadow .3s,background-color .3s;}
.grid-3>a[style]:hover,.grid-2>a[style]:hover{transform:translateY(-3px);box-shadow:var(--pro-shadow);background:#fff;}
.merged-sec{border-top:0;}

/* 3D scroll reveal (only when iw-pro.js is running) */
.pro-fx .sec,.pro-fx .pro-rise{opacity:0;transform:perspective(1400px) translateY(46px) rotateX(7deg);transform-origin:50% 0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.pro-fx .sec.pro-in,.pro-fx .pro-rise.pro-in{opacity:1;transform:none;}

/* colour bands: closing call to action and footer */
section[style*="background:var(--ink)"],[dir="rtl"] section[style*="background:var(--ink)"]{position:relative;overflow:hidden;
  background:radial-gradient(50% 120% at 88% 110%,rgba(0,220,130,.28),transparent 60%),radial-gradient(60% 120% at 0% 0%,rgba(80,130,255,.5),transparent 60%),linear-gradient(120deg,#12175E 0%,#1F47C8 100%)!important;border:0;}
section[style*="background:var(--ink)"] h2{color:#fff;}
section[style*="background:var(--ink)"] p{color:rgba(255,255,255,.82);}
section[style*="background:var(--ink)"] .btn{background:var(--green);border-color:var(--green);color:var(--navy-2);}
section[style*="background:var(--ink)"] .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.site-footer{background:var(--navy-2);color:#fff;border:0;}
.site-footer .dek{color:rgba(255,255,255,.75)!important;}
.site-footer h2,.site-footer h3{color:#fff;}
.footer-cols .lbl{color:var(--green);}
.footer-cols .val{color:rgba(255,255,255,.78);}
.footer-cols a.val:hover{color:#fff;}
.iw-social a{color:#fff;border-color:rgba(255,255,255,.3);}
.iw-social a:hover{color:var(--navy-2);background:var(--green);border-color:var(--green);}
.ghost-word{opacity:.1;color:#fff;}
.footer-bottom{background:#090C36;border-top:1px solid rgba(255,255,255,.08);}
.footer-bottom-inner,.footer-bottom .legal a{color:rgba(255,255,255,.65);}
.footer-bottom .legal a:hover{color:#fff;}
.site-footer .btn-outline{color:#fff;border-color:rgba(255,255,255,.4);}

@media (prefers-reduced-motion:reduce){.hero3d img{animation:none;}.feature-card,.blog-card,.pro-card{transition:none;}}
@media (min-width:901px){.loc-hero-side{margin-top:96px;}.loc-hero .hero3d{width:min(26vw,300px);top:-6px;inset-inline-end:max(1vw,calc((100vw - var(--shell)) / 2 + 20px));}}
/* articles, 404 and thank-you */
.art-top,.ty-top{position:relative;}
.art-top>*:not(.hero3d),.ty-top>*:not(.hero3d){position:relative;z-index:1;}
.art-top .hero3d{width:230px;top:70px;transform:none;inset-inline-end:-250px;}
@media (max-width:1330px){.art-top .hero3d{width:130px;top:8px;inset-inline-end:8px;opacity:.55;}}
.ty-top .hero3d{width:min(34vw,400px);inset-inline-end:var(--gutter);}
@media (max-width:900px){.ty-top .hero3d{width:150px;top:0;transform:none;opacity:.6;}}
.e404 .hero3d{position:relative;inset:auto;top:auto;transform:none;width:240px;margin:0 auto 10px;opacity:1;}
main>div[style*="max-width:820px"] h1,main>div[style*="max-width:820px"]~* h2{color:var(--navy);}
.cs-hero .hero3d{width:min(26vw,320px);top:34%;}
.e404>div:not(.hero3d){font:800 clamp(80px,12vw,160px)/1 var(--font-display);letter-spacing:-.05em;background:linear-gradient(90deg,#1F47C8,#00B56E);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
