
/* ================================================================
   BRAND TOKENS & THEME SYSTEM
================================================================ */
:root {
  /* Brand */
  --navy:       #2A4361;
  --navy-dk:    #1a2d42;
  --navy-lt:    #3d5a7a;
  --amber:      #F59920;
  --amber-dk:   #d4820a;
  --amber-lt:   #fef3dc;
  --amber-glow: rgba(245,153,32,.16);
  --green:      #3DD68C;
  --green-dk:   #2ab872;
  --green-lt:   #e6fdf0;
  --green-glow: rgba(61,214,140,.14);
  --dark-bg:    #0D1B3E;
  --dark-2:     #091428;
  /* System */
  --font-d:     'Plus Jakarta Sans', system-ui, sans-serif;
  --font-b:     'Inter', system-ui, sans-serif;
  --ease:       cubic-bezier(0.16, 1, 0.3, 1);
  --ease-back:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --nav-h:      72px;
  --r-xs:2px; --r-sm:6px; --r-md:10px; --r-lg:14px;
  --r-xl:20px; --r-2xl:28px; --r-3xl:40px;
  --bg:        #FFFFFF;
  --bg-soft:   #F8FAFD;
  --bg-card:   #FFFFFF;
  --bg-hover:  #F1F5FA;
  --border:    #E4EAF2;
  --border-md: #C8D4E3;
  --tx:        #0F1C2D;
  --tx-mid:    #334966;
  --tx-muted:  #5C7290;
  --tx-lt:     #8EA5BC;
  --nav-bg:    rgba(255,255,255,0);
  --nav-scroll:rgba(255,255,255,.96);
  --sh-xs:     0 1px 3px rgba(10,40,80,.06);
  --sh-sm:     0 2px 8px rgba(10,40,80,.08),0 1px 3px rgba(10,40,80,.04);
  --sh-md:     0 6px 20px rgba(10,40,80,.10),0 2px 8px rgba(10,40,80,.05);
  --sh-lg:     0 16px 48px rgba(10,40,80,.13),0 4px 16px rgba(10,40,80,.06);
  --sh-xl:     0 32px 80px rgba(10,40,80,.16),0 8px 24px rgba(10,40,80,.08);
}
/* Dark Theme */
[data-theme="dark"] {
  --bg:        #070E1C;
  --bg-soft:   #0D1B3E;
  --bg-card:   #0f2040;
  --bg-hover:  #132548;
  --border:    rgba(255,255,255,.09);
  --border-md: rgba(255,255,255,.16);
  --tx:        #EDF3FF;
  --tx-mid:    rgba(237,243,255,.70);
  --tx-muted:  rgba(237,243,255,.46);
  --tx-lt:     rgba(237,243,255,.28);
  --nav-bg:    rgba(7,14,28,0);
  --nav-scroll:rgba(7,14,28,.94);
  --sh-xs:     0 1px 3px rgba(0,0,0,.35);
  --sh-sm:     0 2px 8px rgba(0,0,0,.45);
  --sh-md:     0 6px 24px rgba(0,0,0,.50);
  --sh-lg:     0 16px 50px rgba(0,0,0,.58);
  --sh-xl:     0 32px 80px rgba(0,0,0,.66);
}

/* ================================================================
   RESET
================================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-b);color:#5f6265;background:var(--bg);overflow-x:hidden;transition:background .3s,color .3s}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font:inherit}
input,textarea,select{font:inherit;outline:none}

/* ================================================================
   LAYOUT UTILITIES
================================================================ */
.wrap      {width:100%;max-width:1240px;margin:0 auto;padding:0 24px}
.wrap-wide {width:100%;max-width:1440px;margin:0 auto;padding:0 40px}
.wrap-sm   {width:100%;max-width:860px; margin:0 auto;padding:0 24px}
.section   {padding:100px 0}
.section-sm{padding:68px 0}
.section-lg{padding:128px 0}
.section-xl{padding:160px 0}

/* ================================================================
   TYPOGRAPHY
================================================================ */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-d);font-size:.7rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber);margin-bottom:18px;
}
/* .eyebrow::before{content:'';width:18px;height:2px;background:currentColor;border-radius:2px;flex-shrink:0} */
.eyebrow-green{color:var(--green)}.eyebrow-green::before{background:var(--green)}
.eyebrow-navy {color:var(--navy)} .eyebrow-navy::before{background:var(--navy)}
.eyebrow-white{color:rgba(255,255,255,.7)}.eyebrow-white::before{background:rgba(255,255,255,.7);display:none}
.eyebrow.center{justify-content:center}.eyebrow.center::before{display:none}

.t-hero{font-family:var(--font-d);font-size:clamp(2.75rem,5vw,4.25rem);font-weight:800;line-height:1.07;letter-spacing:-.038em;color:var(--tx)}
.t-h1{font-family:var(--font-d);font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--tx)}
.t-h2{font-family:var(--font-d);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--tx)}
.t-h3{font-family:var(--font-d);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;line-height:1.3;color:var(--tx)}
.t-h4{font-family:var(--font-d);font-size:1.05rem;font-weight:700;line-height:1.4;color:var(--tx)}
.t-lead{font-size:1.125rem;line-height:1.78;color:var(--tx-mid)}
.t-body{font-size:.9375rem;line-height:1.74;color:var(--tx-mid)}
.t-sm{font-size:.8125rem;line-height:1.62;color:var(--tx-muted)}
.hl-amber{color:var(--amber)}
.hl-green{color:var(--green)}
[data-theme="dark"] .hl-navy{color:#6fa8d0}
.hl-navy{color:var(--navy)}

/* ================================================================
   BUTTONS
================================================================ */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:var(--r-lg);
  font-family:var(--font-d);font-size:.875rem;font-weight:700;
  transition:all .22s var(--ease);white-space:nowrap;
  border:none;cursor:pointer;line-height:1;
}
.btn-lg{padding:16px 32px;font-size:.9375rem;border-radius:var(--r-xl)}
.btn-xl{padding:20px 44px;font-size:1rem;border-radius:var(--r-xl)}
.btn-sm{padding:9px 18px;font-size:.8rem;border-radius:var(--r-md)}

.btn-primary  {background:var(--navy);color:#fff;box-shadow:0 4px 14px rgba(42,67,97,.3)}
.btn-primary:hover{background:var(--navy-lt);transform:translateY(-2px);box-shadow:0 8px 24px rgba(42,67,97,.38)}
.btn-amber    {background:var(--amber);color:#fff;box-shadow:0 4px 14px rgba(245,153,32,.35)}
.btn-amber:hover{background:var(--amber-dk);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,153,32,.42)}
.btn-green    {background:var(--green);color:#0D1B3E;font-weight:800;box-shadow:0 4px 14px rgba(61,214,140,.28)}
.btn-green:hover{background:var(--green-dk);transform:translateY(-2px);box-shadow:0 8px 24px rgba(61,214,140,.36)}
.btn-outline  {background:transparent;color:var(--tx);border:1.5px solid var(--border-md)}
.btn-outline:hover{border-color:var(--navy);background:rgba(42,67,97,.06);color:var(--navy)}
[data-theme="dark"] .btn-outline:hover{border-color:var(--amber);background:rgba(245,153,32,.08);color:var(--amber)}
.btn-ghost-white{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.btn-ghost-white:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}
.btn-outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.28)}
.btn-outline-white:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}
.btn svg{flex-shrink:0;transition:transform .2s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(0)!important;box-shadow:none!important}

/* ================================================================
   NAVIGATION
================================================================ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);
  transition:background .35s,border-color .35s,backdrop-filter .35s,box-shadow .35s;
}
#nav.scrolled{
  background:rgba(255,255,255,.98);border-color:var(--border);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  box-shadow:var(--sh-sm);
}
.nav-link.active{color:var(--amber);background:rgba(245,153,32,.09);}
.nav-inner{
  max-width:1440px;margin:0 auto;padding:0 40px;
  display:flex;align-items:center;gap:16px;height:var(--nav-h);
}
.nav-logo{display:flex;align-items:center;gap:10px;margin-right:auto;cursor:pointer;flex-shrink:0}
.nav-logo-img{height:36px;width:auto}
.nl-light{display:block}.nl-dark{display:none}
[data-theme="dark"] #nav.scrolled .nl-dark{display:block}
[data-theme="dark"] #nav.scrolled .nl-light{display:none}

.nav-links{display:flex;align-items:center;gap:2px}
.nav-drop{position:relative}
.nav-link{
  font-size:.8125rem;font-weight:600;
  padding:8px 12px;border-radius:var(--r-md);
  cursor:pointer;transition:all .18s;white-space:nowrap;
  display:inline-flex;align-items:center;gap:5px;
  color:var(--tx-mid);
}
#nav.scrolled .nav-link{color:var(--tx-mid)}
.nav-link:hover{background:var(--bg-hover)}
#nav.scrolled .nav-link:hover{color:var(--tx);background:var(--bg-hover)}
.nav-link.active{color:var(--amber);background:rgba(245,153,32,.10)}
#nav.scrolled .nav-link.active{color:var(--amber)}
[data-theme="dark"] #nav.scrolled .nav-link.active{color:var(--amber)}
.nav-arrow{width:12px;height:12px;flex-shrink:0;transition:transform .2s var(--ease)}
.nav-drop:hover .nav-arrow,.nav-drop:focus-within .nav-arrow{transform:rotate(180deg)}

.nav-submenu{
  position:absolute;top:calc(100% + 0px);left:0;min-width:230px;
  background:var(--bg-card);border:1px solid var(--border-md);
  border-radius:var(--r-2xl);box-shadow:var(--sh-xl);padding:8px;z-index:100;
  opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.nav-drop:hover .nav-submenu,.nav-drop:focus-within .nav-submenu{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}
.nav-sub-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:var(--r-xl);cursor:pointer;transition:background .18s;
}
.nav-sub-item:hover{background:var(--bg-hover)}
.nav-sub-icon{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:15px;
  background:var(--bg-soft);border:1px solid var(--border);
}
.nav-sub-name{font-family:var(--font-d);font-size:.8rem;font-weight:700;color:var(--tx);margin-bottom:2px}
.nav-sub-desc{font-size:.72rem;color:var(--tx-muted)}

.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-mobile-btn{display:none}
.nav-hamburger{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-md);color:var(--tx);flex-shrink:0}
.nav-hamburger:hover{background:var(--bg-hover)}
.nav-hamburger .close-icon{display:none}
#nav.nav-open .nav-hamburger .menu-icon{display:none}
#nav.nav-open .nav-hamburger .close-icon{display:block}

/* ================================================================
   SECTION HEADERS
================================================================ */
.sec-header{max-width:660px}
.sec-header.center{max-width:740px;margin:0 auto;text-align:center}
.sec-header.center .eyebrow{justify-content:center}
.sec-header .eyebrow::before{display:none}
.sec-intro{margin-top:16px;font-size:1rem;line-height:1.76;color:var(--tx-mid)}

/* ================================================================
   SCROLL REVEAL
================================================================ */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .68s var(--ease),transform .68s var(--ease)}
.reveal.in,.reveal.revealed{opacity:1;transform:none}
.reveal-l{opacity:0;transform:translateX(-32px);transition:opacity .68s var(--ease),transform .68s var(--ease)}
.reveal-l.in,.reveal-l.revealed{opacity:1;transform:none}
.reveal-r{opacity:0;transform:translateX(32px);transition:opacity .68s var(--ease),transform .68s var(--ease)}
.reveal-r.in,.reveal-r.revealed{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* ================================================================
   INDUSTRIES PAGE
================================================================ */
.ind-hero{height:500px;min-height:500px;display:flex;align-items:center;justify-content:center;padding:0;background:url('../assets/back-industry.png') center/cover no-repeat;position:relative;overflow:hidden}
.ind-hero > .wrap{text-align:left;width:100%;}
.ind-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.ind-tab{
  padding:10px 22px;border-radius:100px;
  font-family:var(--font-d);font-size:.82rem;font-weight:600;color:var(--tx-mid);
  border:1.5px solid var(--border-md);background:var(--bg-card);cursor:pointer;transition:all .2s;
}
.ind-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
[data-theme="dark"] .ind-tab.active{background:var(--amber);border-color:var(--amber);color:#fff}
.ind-tab:not(.active):hover{border-color:var(--navy);color:var(--navy)}
[data-theme="dark"] .ind-tab:not(.active):hover{border-color:var(--amber);color:var(--amber)}
.ind-panel{display:none}.ind-panel.active{display:block}
.ind-layout{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.ind-ch,.ind-sol{
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:18px;display:flex;gap:12px;align-items:flex-start;margin-bottom:10px;
}
.ind-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px;color:#3DD68C}
.ind-icon i{color:#3DD68C}
.ind-ch h4,.ind-sol h4{font-family:var(--font-d);font-size:.875rem;font-weight:700;margin-bottom:4px;color:var(--tx)}
.ind-ch p,.ind-sol p{font-size:.78rem;line-height:1.62;color:var(--tx-muted)}
.svc-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(42,67,97,.08);color:var(--navy);
  padding:5px 14px;border-radius:100px;
  font-size:.7rem;font-weight:700;font-family:var(--font-d);margin-bottom:14px;
}
[data-theme="dark"] .svc-badge{background:rgba(245,153,32,.1);color:var(--amber)}

/* ================================================================
   FOOTER
================================================================ */
footer{background:#03080f;color:rgba(255,255,255,.52);padding:80px 0 40px;border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:300px 1fr;gap:64px;margin-bottom:52px}
.footer-brand p{font-size:.8125rem;line-height:1.72;color:rgba(255,255,255,.4);margin:14px 0 20px}
.footer-socials{display:flex;gap:8px}
.footer-soc{
  width:36px;height:36px;border-radius:8px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;font-size:.82rem;
  cursor:pointer;transition:all .2s;
}
.footer-soc:hover{background:var(--amber);border-color:var(--amber);color:#fff}
.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.fc-title{font-family:var(--font-d);font-size:.7rem;font-weight:700;color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.fc-link{display:block;font-size:.8rem;color:rgba(255,255,255,.4);margin-bottom:9px;transition:color .18s;cursor:pointer}
.fc-link:hover{color:var(--amber)}
.fc-link1{display:block;font-size:.8rem;color:rgba(255,255,255,.4);margin-bottom:9px;transition:color .18s;cursor:pointer}
.fc-link1:hover{cursor:default}


.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:28px;border-top:1px solid rgba(255,255,255,.06);
  flex-wrap:wrap;gap:12px;
}
.footer-copy{font-size:.76rem;color:rgba(255,255,255,.26)}
.footer-legal{display:flex;gap:20px}
.footer-legal a{font-size:.76rem;color:rgba(255,255,255,.26);transition:color .18s;cursor:pointer}
.footer-legal a:hover{color:rgba(255,255,255,.7)}

/* ================================================================
   RESPONSIVE
================================================================ */
@media(max-width:1100px){
  .ind-layout{grid-template-columns:1fr;gap:44px}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .footer-links{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .section{padding:64px 0}
  .wrap-wide,.wrap{padding:0 20px}
  .nav-actions .btn-amber{display:none}
  .nav-hamburger{display:flex}
  .nav-links{
    display:flex;flex-direction:column;align-items:stretch;gap:2px;
    position:fixed;top:var(--nav-h);left:0;right:0;
    max-height:calc(100vh - var(--nav-h));overflow-y:auto;
    background:var(--bg-card);border-bottom:1px solid var(--border);
    box-shadow:var(--sh-md);padding:10px;
    opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;
    transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
  }
  #nav.nav-open .nav-links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .nav-link{width:100%}
  .nav-drop{position:static}
  .nav-drop .nav-arrow{margin-left:auto}
  .nav-submenu{
    position:static;display:none;opacity:1;visibility:visible;
    transform:none;pointer-events:auto;box-shadow:none;border:none;
    padding:2px 0 2px 14px;
  }
  .nav-drop.open .nav-arrow{transform:rotate(180deg)}
  .nav-drop.open .nav-submenu{display:block}
  .nav-mobile-btn{display:flex;justify-content:center;margin-top:10px}
  .nav-inner{padding:0 20px}
  .footer-links{grid-template-columns:1fr 1fr}
  .ind-layout{grid-template-columns:1fr}
}
@media(max-width:480px){
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .footer-legal{flex-wrap:wrap;gap:10px 16px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
