@charset "utf-8";
/* =========================================================================
   SEM-B — Modern Design System
   Signature idea: "circuit trace" — thin routed lines with node dots,
   echoing the client's world (electro-mechanics / PCB routing).
   Palette is inherited from the legacy brand (Samsung blue) — unchanged.
   ========================================================================= */

/* ---------- Design tokens ---------- */
:root{
  --c-primary:#1428a0;        /* brand blue (unchanged) */
  --c-primary-dark:#0a1a63;
  --c-secondary:#043285;      /* deep blue (unchanged) */
  --c-accent:#5b6472;          /* slate-grey accent (was orange) */
  --c-accent-dark:#3d434f;
  --c-accent-soft:rgba(91,100,114,.14);
  --c-ink:#000000;
  --c-body:#1a1d24;
  --c-muted:#3d434f;
  --c-bg:#ffffff;
  --c-bg-soft:#f5f6fb;
  --c-bg-soft-2:#eef1fb;
  --c-border:#e4e6ee;
  --c-white:#ffffff;

  --radius-sm:8px;
  --radius:16px;
  --radius-lg:28px;

  --shadow-sm:0 2px 10px rgba(18,20,34,.06);
  --shadow:0 16px 40px rgba(10,20,80,.12);
  --shadow-lg:0 30px 70px rgba(10,20,80,.18);

  --ease:cubic-bezier(.19,1,.22,1);
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --dur-s:.25s;
  --dur-m:.4s;
  --dur-l:.6s;

  --container:1580px;
  --gutter:clamp(20px,4vw,80px);

  --font-body:'NotoSans','Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'NotoSans','Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- Reset / base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--c-body);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  min-width:0 !important; /* override legacy fixed min-widths */
  overflow-x:hidden;
}
#wrap{min-width:0 !important; overflow-x:hidden; height:auto;}
html, body{height:auto !important;}
img{max-width:100%; display:block;}
a{transition:color var(--dur-s) var(--ease);}
::selection{background:rgba(20,40,160,.18);}

.container{width:100%; max-width:var(--container); margin:0 auto; padding-inline:var(--gutter);}

.visually-hidden{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

/* Focus visibility */
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:3px solid var(--c-accent);
  outline-offset:3px;
  border-radius:4px;
}



/* ---------- Ultra-subtle film-grain overlay ---------- */
.grain-overlay{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg_xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ---------- Scroll reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity var(--dur-l) var(--ease-out), transform var(--dur-l) var(--ease-out);
  will-change:opacity, transform;
}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-stagger > *{transition-delay:calc(var(--i,0) * 70ms);}

/* Stagger delays for card/list reveal groups (paired with .reveal added via JS) */
.careers-highlights .card.reveal:nth-child(1){transition-delay:0ms;}
.careers-highlights .card.reveal:nth-child(2){transition-delay:90ms;}
.careers-highlights .card.reveal:nth-child(3){transition-delay:180ms;}
ul.list_type li.reveal:nth-child(1){transition-delay:0ms;}
ul.list_type li.reveal:nth-child(2){transition-delay:60ms;}
ul.list_type li.reveal:nth-child(3){transition-delay:120ms;}
ul.list_type li.reveal:nth-child(4){transition-delay:180ms;}
.contact_list li.reveal:nth-child(1){transition-delay:0ms;}
.contact_list li.reveal:nth-child(2){transition-delay:80ms;}
.contact_list li.reveal:nth-child(3){transition-delay:160ms;}
.careers_list .accordion.reveal:nth-child(1){transition-delay:0ms;}
.careers_list .accordion.reveal:nth-child(2){transition-delay:60ms;}
.careers_list .accordion.reveal:nth-child(3){transition-delay:120ms;}
.careers_list .accordion.reveal:nth-child(4){transition-delay:180ms;}
.careers_list .accordion.reveal:nth-child(n+5){transition-delay:220ms;}



.section-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-primary);
  margin-bottom:14px;
}
.section-eyebrow::before{
  content:"";
  width:22px; height:2px;
  background:var(--c-accent);
  display:inline-block;
  animation:eyebrowPulse 2.4s var(--ease) infinite;
}
@keyframes eyebrowPulse{
  0%,100%{opacity:1; box-shadow:0 0 0 0 rgba(91,100,114,.35);}
  50%{opacity:.6; box-shadow:0 0 0 4px rgba(91,100,114,0);}
}

/* ---------- Header / nav (single row — utility links moved to footer) ---------- */
.header{
  width:100%; min-width:0; height:auto; max-width:none; margin:0;
}
.header_inner_wrap{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:#fff;
  border-bottom:1px solid #e0e0e0;
  transition:box-shadow var(--dur-s) var(--ease);
}
.header_inner_wrap.is-scrolled{box-shadow:0 8px 30px rgba(10,20,60,.08);}
.header_inner{
  position:relative; z-index:1000;
  width:100%; max-width:1920px; height:69px;
  margin:0 auto; padding:0 var(--gutter);
  display:flex; align-items:center; justify-content:space-between;
  box-sizing:border-box;
}
.header h1{
  overflow:visible; position:static; z-index:auto; width:auto; height:auto; font-size:inherit;
  display:flex; align-items:flex-end;
}
.header h1 a.logo1{
  float:none; 
  display:block;
  width: 213px;
  height: 36px;
  padding:0;
  background:url(/resources/images/global_network/india/logo01.png) left 50% no-repeat;
  overflow:hidden; 
  text-indent:-9999px; 
  white-space:nowrap; 
  font-size:1px;
  transition:transform var(--dur-s) var(--ease);

}
.header h1 a.logo1::before{content:none;}
.header h1 a.logo2{
  float:none; display:block; width:186px; height:26px; padding:0; margin-left:16px; padding-left:16px;
  background:url(/resources/images/global_network/india/logo02.png) right 50% no-repeat;
  border-left:1px solid var(--c-border);
  overflow:hidden; text-indent:-9999px; white-space:nowrap; font-size:1px;
}
.header h1 a.logo2:hover{opacity:.8;}
.header h1 a.logo2::before{display:none;}
@media (max-width:520px){
  .header h1 a.logo1{width:150px;}
  .header h1 a.logo2{display:none;}
}

#gnb{width:auto; max-width:none; margin:0; z-index:auto;}
.gnb .gnb_list{width:auto; margin:0; text-align:left; display:flex; flex-wrap:nowrap; align-items:center; gap:8px; position:relative; white-space:nowrap;}
.gnb-indicator{display:none !important;}
.gnb .gnb_list > li{display:block; margin-left:0; position:relative; z-index:1; animation:navDrop .55s var(--ease-out) both;}
.gnb .gnb_list > li:nth-child(1){animation-delay:.04s;}
.gnb .gnb_list > li:nth-child(2){animation-delay:.09s;}
.gnb .gnb_list > li:nth-child(3){animation-delay:.14s;}
.gnb .gnb_list > li:nth-child(4){animation-delay:.19s;}
.gnb .gnb_list > li:nth-child(5){animation-delay:.24s;}
.gnb .gnb_list > li:nth-child(6){animation-delay:.29s;}
@keyframes navDrop{from{opacity:0; transform:translateY(-7px);} to{opacity:1; transform:translateY(0);}}
.gnb li .tit{
  display:inline-block; position:relative; line-height:70px; padding:0 16px; border-radius:0;
  font-size:16px; font-weight:600; letter-spacing:-0.3px; color:#000; white-space:nowrap;
  transition:color var(--dur-s) var(--ease);
}
.gnb li .tit:after{
  content:""; display:block; position:absolute; bottom:0; left:0;
  width:0; height:3px; background:rgb(20,40,160);
  transition:width .4s ease-in-out;
}
.gnb li:hover .tit{color:var(--c-primary);}
.gnb li:hover .tit:after{width:100%;}
.gnb li .tit:active{transform:scale(.94);}
.gnb li.active .tit, .gnb li.on .tit{color:var(--c-primary); font-weight:600;}
.gnb li.active .tit:after, .gnb li.on .tit:after{width:100%;}

.header .utill_area{position:static; width:auto; height:auto; display:flex; align-items:center; gap:10px;}

/* Language toggle button — matches mail_btn circular style */
.lang-toggle-btn{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  border:1.5px solid var(--c-border); background:#fff; color:var(--c-primary);
  font-size:13px; font-weight:700; letter-spacing:.02em;
  cursor:pointer; font-family:inherit; position:relative; overflow:hidden;
  transition:transform var(--dur-m) var(--ease), background var(--dur-s) var(--ease), color var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease), box-shadow var(--dur-s) var(--ease);
}
.lang-toggle-btn .lang-label{display:inline-block; text-align:center;}
.lang-toggle-btn:hover{
  background:var(--c-primary); border-color:var(--c-primary); color:#fff;
  transform:translateY(-2px); box-shadow:0 10px 22px rgba(20,40,160,.28);
}
.lang-toggle-btn.is-kr{background:var(--c-primary); color:#fff; border-color:var(--c-primary);}
.lang-toggle-btn.is-kr:hover{background:var(--c-secondary); border-color:var(--c-secondary);}
/* Legacy lang-switch support (kept for backward compat) */
.lang-switch{position:relative;}
.lang-switch .lang-trigger{
  display:flex; align-items:center; gap:6px;
  height:42px; padding:0 14px; border-radius:999px;
  border:1.5px solid var(--c-border); background:#fff; color:var(--c-ink);
  font-size:13.5px; font-weight:700; letter-spacing:.02em;
  cursor:pointer;
  transition:border-color var(--dur-s) var(--ease), background var(--dur-s) var(--ease), color var(--dur-s) var(--ease);
}
.lang-switch .lang-trigger svg{width:13px; height:13px; transition:transform var(--dur-s) var(--ease);}
.lang-switch .lang-trigger:hover{border-color:var(--c-primary); background:var(--c-bg-soft);}
.lang-switch .lang-trigger.is-kr{background:var(--c-primary); color:#fff; border-color:var(--c-primary);}
.lang-switch .lang-trigger.is-kr:hover{background:var(--c-secondary);}
.lang-menu{display:none !important;}

.mail_btn{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  border:1.5px solid var(--c-border); background:#fff; color:var(--c-primary);
  position:relative; overflow:hidden;
  transition:transform var(--dur-m) var(--ease), background var(--dur-s) var(--ease), color var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease), box-shadow var(--dur-s) var(--ease);
}
.mail_btn svg{width:18px; height:18px; transition:transform var(--dur-m) var(--ease);}
.mail_btn:hover{
  background:var(--c-primary); border-color:var(--c-primary); color:#fff;
  transform:translateY(-2px); box-shadow:0 10px 22px rgba(20,40,160,.28);
}
.mail_btn:hover svg{transform:rotate(-6deg) scale(1.08);}
.mail_btn:active{transform:scale(.92);}

.nav-toggle{
  display:none; width:44px; height:44px; border-radius:10px;
  align-items:center; justify-content:center; background:none; border:1px solid var(--c-border);
  margin-left:8px; cursor:pointer;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:20px; height:2px; background:var(--c-ink); position:relative; transition:all var(--dur-s) var(--ease);
}
.nav-toggle span::before{position:absolute; top:-6px;}
.nav-toggle span::after{position:absolute; top:6px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

#container{padding-top:70px; box-sizing:border-box;}
#content{padding-top:44px; min-width:0; scroll-margin-top:70px;}
.job_open #content{padding-top:44px;}

@media (max-width:900px){
  .header_inner{height:64px;}
  .nav-toggle{display:flex;}
  #gnb{
    position:fixed; inset:64px 0 auto 0; z-index:999;
    background:#fff; border-bottom:1px solid var(--c-border);
    box-shadow:0 20px 40px rgba(10,20,60,.12);
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:transform var(--dur-s) var(--ease), opacity var(--dur-s) var(--ease);
  }
  #gnb.is-open{transform:translateY(0); opacity:1; pointer-events:auto;}
  .gnb .gnb_list{flex-direction:column; align-items:stretch; padding:14px; gap:4px;}
  .gnb .gnb_list > li{animation:none;}
  .gnb li .tit{display:block; padding:14px 16px; border-radius:0; line-height:1.4;}
  .gnb li .tit:after{display:none;}
  .header .utill_area{gap:8px;}
  .lang-toggle-btn{width:38px; height:38px; font-size:12px;}
  .mail_btn{width:38px; height:38px;}
  #container{padding-top:64px;}
  #content{padding-top:32px;}
  .job_open #content{padding-top:32px;}
}

/* ---------- Hero sections ---------- */
.visual_section, .overview_section, .misson_and_vision_section, .careers_section, .gwp_section, .training_section{
  position:relative;
  width:100%; min-width:0; max-width:none;
  height:clamp(240px, 30vw, 360px);
  margin:0; display:flex; align-items:flex-end;
  background-size:cover; background-position:center;
  isolation:isolate;
}
.visual_section{background-image:url(/resources/images/global_network/india/company_visual_img_01.jpg);}
.overview_section{background-image:url(/resources/images/global_network/india/overview_visual_img.jpg);}
.misson_and_vision_section{background-image:url(/resources/images/global_network/india/misson_and_vision_visual_img.jpg);}
.careers_section{background-image:url(/resources/images/global_network/india/semb_careers_img.jpg);}
.gwp_section{background-image:url(/resources/images/global_network/india/company_visual_img_01.jpg);}
.training_section{background-image:url(/resources/images/global_network/india/company_visual_img_01.jpg);}
/* Soft bottom vignette only — keeps the headline legible without tinting the whole photo */
.visual_section::before, .overview_section::before, .misson_and_vision_section::before, .careers_section::before, .gwp_section::before, .training_section::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(4,8,20,.72) 0%, rgba(4,8,20,.28) 42%, rgba(4,8,20,0) 72%);
  z-index:0;
}
.visual_section .visual_inner, .overview_section .visual_inner, .misson_and_vision_section .visual_inner, .careers_section .visual_inner, .gwp_section .visual_inner, .training_section .visual_inner{
  position:relative; z-index:1;
  width:100%; max-width:var(--container); margin:0 auto;
  height:auto; padding:0 var(--gutter) 40px; box-sizing:border-box;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.visual_section .visual_inner h2, .overview_section .visual_inner h2, .misson_and_vision_section .visual_inner h2, .careers_section .visual_inner h2, .gwp_section .visual_inner h2, .training_section .visual_inner h2{
  font-size:clamp(30px,4.6vw,50px);
  margin-bottom:12px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
/* Word-by-word reveal mask (built by initHeroTextReveal) */
.visual_inner h2 .word-mask{display:inline-block; overflow:hidden; vertical-align:top;}
.visual_inner h2 .word-inner{
  display:inline-block;
  transform:translateY(115%);
  animation:wordUp .7s var(--ease-out) both;
}
@keyframes wordUp{to{transform:translateY(0);}}

.visual_section .visual_inner > p, .overview_section .visual_inner > p, .misson_and_vision_section .visual_inner > p, .careers_section .visual_inner > p, .gwp_section .visual_inner > p, .training_section .visual_inner > p{
  font-size:clamp(14px,1.4vw,18px);
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 12px rgba(0,0,0,.25);
  max-width:640px;
  min-height:54px;
  animation:heroUp .8s .5s var(--ease-out) both;
}
@keyframes heroUp{
  from{opacity:0; transform:translateY(22px);}
  to{opacity:1; transform:translateY(0);}
}

/* Scroll-cue chevron, bottom-center of every hero */
.scroll-cue{
  position:absolute; z-index:2; left:50%; bottom:16px; transform:translateX(-50%);
  width:34px; height:34px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.5); background:rgba(255,255,255,.08);
  color:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; backdrop-filter:blur(3px);
  animation:cueBounce 2.2s var(--ease) infinite;
  transition:background var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease);
}
.scroll-cue svg{width:16px; height:16px;}
.scroll-cue:hover{background:rgba(255,255,255,.2); border-color:#fff;}
@keyframes cueBounce{
  0%,100%{transform:translateX(-50%) translateY(0);}
  50%{transform:translateX(-50%) translateY(6px);}
}
@media (max-width:700px){ .scroll-cue{display:none;} }

/* Soft cursor-follow glow over hero photos — subtle, brand-colored, desktop only */
.hero-spotlight{
  position:absolute; z-index:0; pointer-events:none; cursor:default;
  width:520px; height:520px; margin:-260px 0 0 -260px;
  background:radial-gradient(circle, rgba(91,100,114,.16) 0%, rgba(20,40,160,.10) 45%, rgba(20,40,160,0) 72%);
  opacity:0; transition:opacity .4s var(--ease);
  mix-blend-mode:screen;
}

/* ---------- Content width overrides (fluid) ---------- */
#content{width:100%; min-width:0; padding-bottom:64px;}
.content .page_tit{margin-bottom:clamp(24px,4vw,44px);}
.content .page_tit h2{
  width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--gutter) 20px;
  border-bottom:1px solid var(--c-border);
  font-size:clamp(28px,4vw,44px);
}
.section{width:100%; max-width:var(--container); margin:0 auto clamp(32px,5vw,56px); padding-inline:var(--gutter); box-sizing:border-box;}
.board_section{width:100%; max-width:var(--container); margin:0 auto; padding-inline:var(--gutter); box-sizing:border-box;}
.careers_list{width:100%; max-width:var(--container); margin:0 auto; padding-inline:var(--gutter); box-sizing:border-box; display:flow-root; position:relative;}
.careers_list::before, .careers_list::after{
  content:""; position:absolute; z-index:-1; border-radius:50%; filter:blur(70px);
  opacity:.5; pointer-events:none;
}
.careers_list::before{
  width:340px; height:340px; top:-60px; right:-40px;
  background:radial-gradient(circle, rgba(20,40,160,.10), rgba(20,40,160,0) 70%);
  animation:blobDrift1 16s ease-in-out infinite;
}
.careers_list::after{
  width:280px; height:280px; bottom:10%; left:-60px;
  background:radial-gradient(circle, rgba(91,100,114,.10), rgba(91,100,114,0) 70%);
  animation:blobDrift2 19s ease-in-out infinite;
}
@keyframes blobDrift1{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-30px,40px) scale(1.12);}
}
@keyframes blobDrift2{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(30px,-30px) scale(1.1);}
}
@media (prefers-reduced-motion: reduce){
  .careers_list::before, .careers_list::after{animation:none;}
}

.section h3, .full_section h3{font-size:clamp(26px,3.2vw,38px);}

.find-us-card{
  background:var(--c-bg-soft);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:clamp(20px,3vw,32px);
}
ul.contact_list{margin:0 0 20px;}
ul.contact_list li{
  color:var(--c-body); font-size:15.5px; line-height:1.7;
  padding:10px 0; border-bottom:1px solid var(--c-border);
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
}
ul.contact_list li:last-child{border-bottom:0; padding-bottom:0;}
ul.contact_list li .li-text{flex:1; min-width:0;}
ul.contact_list li .li-text > span{font-weight:700; color:var(--c-ink); margin-right:4px;}
ul.contact_list li .li-text a{color:var(--c-primary); font-weight:600;}
ul.contact_list li .li-text a:hover{text-decoration:underline;}
ul.contact_list li .copy-btn{
  flex:none; width:30px; height:30px; border-radius:50%; border:1px solid var(--c-border);
  background:#fff; color:var(--c-muted); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background var(--dur-s) var(--ease), color var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease), transform var(--dur-s) var(--ease);
}
ul.contact_list li .copy-btn svg{width:14px; height:14px;}
ul.contact_list li .copy-btn:hover{border-color:var(--c-primary); color:var(--c-primary);}
ul.contact_list li .copy-btn:active{transform:scale(.88);}
ul.contact_list li .copy-btn.is-copied{background:var(--c-primary); border-color:var(--c-primary); color:#fff;}

/* ---------- Toast ---------- */
.toast{
  position:fixed; left:50%; bottom:28px; z-index:2000;
  transform:translate(-50%,14px); opacity:0; visibility:hidden;
  background:var(--c-ink); color:#fff; font-size:13.5px; font-weight:600;
  padding:12px 20px; border-radius:999px; box-shadow:var(--shadow);
  transition:transform var(--dur-m) var(--ease-out), opacity var(--dur-m) var(--ease-out), visibility var(--dur-m);
}
.toast.is-visible{transform:translate(-50%,0); opacity:1; visibility:visible;}

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg, var(--c-accent), var(--c-primary));
  z-index:1300; transition:width .12s linear;
}

/* ---------- Photo lightbox — morphs open from its grid position ---------- */
#container, #footer{transition:filter .5s var(--ease), transform .5s var(--ease);}
body.lightbox-lock{overflow:hidden;}
body.lightbox-lock #container, body.lightbox-lock #footer{filter:blur(9px) saturate(1.08); transform:scale(.982);}

.lightbox{
  position:fixed; inset:0; z-index:3000; padding:40px; box-sizing:border-box;
  background:linear-gradient(155deg, rgba(20,40,160,.9), rgba(4,50,133,.94));
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity var(--dur-m) var(--ease), visibility var(--dur-m);
}
.lightbox.is-open{opacity:1; visibility:visible;}

.lightbox-figure{
  position:relative; max-width:100%; max-height:100%;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.lightbox-figure img{
  display:block; max-width:100%; max-height:80vh; width:auto; height:auto;
  border-radius:var(--radius-sm);
  box-shadow:0 30px 80px rgba(2,6,24,.45), 0 0 0 1px rgba(255,255,255,.08), 0 0 90px rgba(255,255,255,.12);
  background:#fff;
  transform-origin:center center;
}
.lightbox-caption{
  background:#fff; color:var(--c-primary); font-size:13.5px; font-weight:700;
  padding:9px 20px; border-radius:999px; box-shadow:var(--shadow);
  opacity:0; transform:translateY(10px);
  transition:opacity .4s var(--ease-out), transform .4s var(--ease-out);
  max-width:80vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.lightbox-caption:empty{display:none;}
.lightbox-caption.is-visible{opacity:1; transform:translateY(0);}

.lightbox-close{
  position:absolute; top:20px; right:24px; z-index:1; width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff; border:1.5px solid rgba(255,255,255,.35);
  font-size:24px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background var(--dur-s) var(--ease), transform var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease);
}
.lightbox-close:hover{background:rgba(255,255,255,.26); border-color:#fff; transform:rotate(90deg);}

/* Lightbox prev/next navigation */
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:1;
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff; border:1.5px solid rgba(255,255,255,.35);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease), opacity var(--dur-s) var(--ease);
}
.lightbox-nav:hover{background:rgba(255,255,255,.26); border-color:#fff;}
.lightbox-prev{left:24px;}
.lightbox-next{right:24px;}
.lightbox-nav svg{width:22px; height:22px;}
.lightbox-counter{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:1;
  color:rgba(255,255,255,.7); font-size:14px; font-family:var(--font-body);
  background:rgba(0,0,0,.3); padding:4px 14px; border-radius:20px;
}
.slider .slider-slide img{cursor:zoom-in;}
.find-us-map{
  width:100%; height:450px; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--c-border);
}
.find-us-map iframe{display:block; width:100%; height:100%;}
@media (max-width:600px){
  .find-us-map{height:300px;}
}

ul.list_type{margin-top:10px;}
ul.list_type li{
  position:relative; padding-left:22px; margin-bottom:14px;
  color:var(--c-body); font-size:15.5px; line-height:1.65; max-width:78ch;
}
ul.list_type li::before{
  content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:2px;
  background:var(--c-accent); transform:rotate(45deg);
}

/* ---------- Buttons ---------- */
.btn.list, .btn{
  border-radius:999px;
  background:var(--c-primary);
  position:relative; overflow:hidden;
  transition:transform var(--dur-s) var(--ease), box-shadow var(--dur-s) var(--ease), background var(--dur-s) var(--ease);
}
.btn.list:hover, .btn:hover{background:var(--c-secondary); transform:translateY(-3px); box-shadow:0 14px 30px rgba(4,50,133,.3);}

/* ---------- Modern accordion (GWP / Training) ---------- */
.acc-toggle-all{
  display:flex; align-items:center; gap:8px;
  width:fit-content; margin:0 0 18px auto; padding:9px 18px 9px 16px;
  border:1px solid var(--c-border); border-radius:999px;
  background:#fff; color:var(--c-primary); font-size:13.5px; font-weight:700;
  cursor:pointer; position:relative; overflow:hidden;
  transition:background var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease), color var(--dur-s) var(--ease), transform var(--dur-s) var(--ease);
}
.acc-toggle-all::before{
  content:""; width:8px; height:8px; border-radius:2px; background:var(--c-accent);
  transform:rotate(45deg); transition:transform var(--dur-m) var(--ease-spring);
}
.acc-toggle-all.is-all-open::before{transform:rotate(0deg) scale(.85);}
.acc-toggle-all:hover{background:var(--c-primary); color:#fff; border-color:var(--c-primary);}
.acc-toggle-all:hover::before{background:#fff;}

.careers_list .accordion{
  display:block;
  grid-template-rows:none;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  margin-bottom:18px;
  background:#fff;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  transition:opacity var(--dur-l) var(--ease-out), box-shadow var(--dur-m) var(--ease), border-color var(--dur-s) var(--ease), transform var(--dur-m) var(--ease-spring);
}
.careers_list .accordion::after{
  content:""; position:absolute; inset:0 auto 0 0; width:4px;
  background:var(--c-accent); transform:scaleY(0); transform-origin:top;
  transition:transform var(--dur-m) var(--ease-spring); z-index:1;
}
.careers_list .accordion:hover{box-shadow:var(--shadow); border-color:#d8dcec; transform:translateY(-2px);}
.careers_list .accordion.is-open::after{transform:scaleY(1);}
.careers_list .accordion.is-open{border-color:#c9d1f2; box-shadow:var(--shadow);}
.careers_list .accordion::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%);
  transform:translateX(-120%); opacity:0;
}
.careers_list .accordion:hover::before{
  transform:translateX(120%); opacity:1;
  transition:transform .9s var(--ease), opacity .1s;
}

.acc-trigger{
  display:flex; align-items:center; gap:18px;
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  padding:22px 24px;
  position:relative; overflow:hidden;
  transition:background var(--dur-s) var(--ease);
}
.acc-trigger:hover{background:var(--c-bg-soft);}
.acc-trigger:active{background:var(--c-bg-soft-2);}
.acc-num{
  flex:none; font-size:13px; font-weight:800; letter-spacing:.02em;
  color:var(--c-muted); width:30px; padding-top:2px;
  transition:color var(--dur-s) var(--ease);
}
.acc-trigger[aria-expanded="true"] .acc-num{color:var(--c-accent);}
.acc-trigger .acc-heading{display:flex; flex-direction:column; gap:6px; flex:1 1 auto; min-width:0;}
.acc-trigger .title-txt{
  font-size:clamp(18px,2.2vw,22px); font-weight:800; color:var(--c-primary); letter-spacing:-.01em;
  transition:color var(--dur-s) var(--ease);
}
.acc-trigger:hover .title-txt{color:var(--c-secondary);}
.acc-trigger .desc-txt{font-size:14.5px; color:var(--c-muted); font-weight:400; max-width:70ch; line-height:1.55;}
.acc-trigger .acc-icon{
  flex:none; width:38px; height:38px; border-radius:50%;
  border:1px solid var(--c-border); position:relative;
  transition:transform var(--dur-m) var(--ease-spring), background var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease);
}
.acc-trigger .acc-icon span{
  position:absolute; top:50%; left:50%; background:var(--c-primary);
  transition:background var(--dur-s) var(--ease), transform var(--dur-s) var(--ease);
}
.acc-trigger .acc-icon span:nth-child(1){width:12px; height:2px; transform:translate(-50%,-50%);}
.acc-trigger .acc-icon span:nth-child(2){width:2px; height:12px; transform:translate(-50%,-50%);}
.acc-trigger[aria-expanded="true"] .acc-icon{background:var(--c-primary); border-color:var(--c-primary); transform:rotate(135deg);}
.acc-trigger[aria-expanded="true"] .acc-icon span{background:#fff;}
.acc-trigger[aria-expanded="true"] .acc-icon span:nth-child(2){transform:translate(-50%,-50%) scaleY(0);}

.title span.date, .title span.description, .title a.view_btn{display:none;}
.title{padding:0;}
.title > a:first-child{display:none;} /* legacy anchor label hidden; replaced by acc-trigger */

/* Pre-JS: hide raw .accordion > .content to prevent FOUC flash */
.accordion > .content{
  overflow:hidden;
  max-height:0;
}
.acc-panel{
  overflow:hidden;
  max-height:0;
  transition:max-height var(--dur-l) var(--ease);
}
.acc-panel .acc-panel-inner{
  padding:0 24px 28px 72px;
  opacity:0; transform:translateY(-10px);
  transition:opacity var(--dur-m) var(--ease-out), transform var(--dur-m) var(--ease-out);
}
.acc-panel.is-open .acc-panel-inner{opacity:1; transform:translateY(0); transition-delay:.05s;}
.careers_list .accordion .content{overflow:visible;}

/* Click ripple, shared by accordion triggers and buttons */
.ripple-fx{
  position:absolute; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(20,40,160,.16) 0%, rgba(20,40,160,0) 70%);
  transform:scale(0); animation:rippleGrow .6s var(--ease-out) forwards;
}
.mail_btn .ripple-fx, .btn .ripple-fx, .btn-mail .ripple-fx{
  background:radial-gradient(circle, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 70%);
}
@keyframes rippleGrow{
  from{transform:scale(0); opacity:1;}
  to{transform:scale(1); opacity:0;}
}

.board_inner{display:block !important; padding:0 !important; width:auto !important;}
.board_view{border:0; width:auto;}

/* event group headings inside accordion */
.board_inner h1{
  font-size:19px; font-weight:800; color:var(--c-ink);
  margin:26px 0 10px; padding-top:18px; border-top:1px dashed var(--c-border);
}
.board_inner > h1:first-child, .board_inner > h2:first-child{border-top:0; padding-top:0; margin-top:0;}
.board_inner h2.color_gy{
  font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--c-primary); margin:26px 0 2px; padding-top:18px; border-top:1px dashed var(--c-border);
}
.board_inner > h2.color_gy:first-child{border-top:0; padding-top:0; margin-top:0;}
.board_inner p, .board_inner p.description{
  color:var(--c-body); font-size:15px; line-height:1.7; margin-bottom:16px; max-width:78ch;
}
.board_inner p span{color:var(--c-body);}

/* ---------- Slideshow / carousel (auto-built from .img_section) ---------- */
.img_section{
  margin:14px 0 6px !important;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.slider{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:var(--c-bg-soft);
  border-radius:var(--radius);
  overflow:hidden;
}
.slider .slider-track{
  display:flex; height:100%;
  transition:transform 1.15s cubic-bezier(.65,0,.35,1);
}
.slider .slider-slide{flex:0 0 100%; height:100%; position:relative; overflow:hidden;}
.slider .slider-slide img{
  width:100%; height:100%; object-fit:cover; margin:0 !important; max-width:none !important; float:none !important;
  animation:kenBurns 9s var(--ease) infinite alternate;
}
@keyframes kenBurns{from{transform:scale(1);} to{transform:scale(1.06);}}
.slider .slider-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%;
  background:rgba(10,15,35,.42); color:#fff; border:0;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:0; transition:opacity var(--dur-s) var(--ease), background var(--dur-s) var(--ease);
  backdrop-filter:blur(4px);
  z-index:2;
}
.slider:hover .slider-nav, .slider:focus-within .slider-nav{opacity:1;}
.slider .slider-nav:hover{background:rgba(10,15,35,.7);}
.slider .slider-prev{left:12px;}
.slider .slider-next{right:12px;}
.slider .slider-nav svg{width:16px; height:16px; fill:#fff;}
.slider .slider-dots{
  position:absolute; bottom:12px; left:0; right:0;
  display:flex; justify-content:center; gap:7px; z-index:2;
}
.slider .slider-dots button{
  width:7px; height:7px; border-radius:50%; border:0; background:rgba(255,255,255,.5); cursor:pointer; padding:0;
  transition:transform var(--dur-s) var(--ease), background var(--dur-s) var(--ease);
}
.slider .slider-dots button.is-active{background:#fff; animation:dotPop .4s var(--ease-out) both;}
@keyframes dotPop{0%{transform:scale(1);} 55%{transform:scale(1.7);} 100%{transform:scale(1.35);}}
.slider .slider-count{
  position:absolute; top:12px; right:12px; z-index:2;
  background:rgba(10,15,35,.5); color:#fff; font-size:12px; font-weight:600;
  padding:4px 10px; border-radius:999px; letter-spacing:.02em;
}
.slider.single .slider-nav, .slider.single .slider-dots, .slider.single .slider-count{display:none;}

/* ---------- History timeline (modernized) ---------- */
.history .year_area{background:none; display:flex; flex-direction:column; gap:0; position:relative;}
.history .year_area::before{
  content:""; position:absolute; left:20px; top:6px; bottom:6px; width:2px;
  background:linear-gradient(var(--c-primary), var(--c-border));
}
.history .year_area li{position:relative; padding-left:64px; margin-bottom:36px;}
.history .year_area .year{
  position:static; width:auto; background:none; font-size:clamp(26px,3.4vw,36px); margin-bottom:10px; color:var(--c-primary); font-weight:800;
}
.history .year_area .year::before{
  content:""; position:absolute; left:11px; top:6px; width:20px; height:20px; border-radius:50%;
  background:var(--c-bg); border:3px solid var(--c-primary);
}
.history .year_area .year.first::before{display:none;}
.history .year_area .year.first{}
.history .year_area .year.first::after{
  content:""; position:absolute; left:14px; top:9px; width:14px; height:14px; border-radius:50%; background:var(--c-accent);
}
.history .year_area .month{width:auto; margin:0 0 14px; padding:16px 20px; background:var(--c-bg-soft); border-radius:var(--radius-sm); display:block;}
.history .year_area .month dt{display:none;}
.history .year_area .month dd{width:auto; float:none;}
.history .year_area .month dd p{background:none; padding:0; font-size:15.5px; color:var(--c-body); line-height:1.6;}

/* ---------- Footer (redesigned — clean single-column) ---------- */
#footer{
  width:100%; min-width:0; max-width:none;
  background:#f0f0f0;
  color:#1a1d24;
}
#footer .footer_inner{
  width:100%; max-width:1200px; height:auto; margin:0 auto;
  padding:40px var(--gutter) 32px; box-sizing:border-box;
}
.footer .footer_top{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0;
  padding-bottom:16px; margin-bottom:16px;
  border-bottom:1px solid rgba(0,0,0,.1);
}
.footer .footer_top .menu_area{float:none; width:auto;}
.footer .footer_top .link_area{display:none;}
.footer .menu_list1{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0;
  list-style:none; margin:0; padding:0;
}
.footer .menu_list1 li{margin:0; padding:0;}
.footer .menu_list1 li::before{display:none;}
.footer .menu_list1 li::after{
  content:"|"; color:rgba(0,0,0,.25); margin:0 14px;
}
.footer .menu_list1 li:last-child::after{display:none;}
.footer .menu_list1 li a{
  color:#1a1d24; font-size:14px; font-weight:400;
  padding:0; margin:0; text-decoration:none;
  transition:color var(--dur-s) var(--ease);
}
.footer .menu_list1 li a:hover{color:var(--c-primary);}

.footer .footer_bottom{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0;
  margin-top:0;
}
.footer .footer_bottom .menu_area{float:none; width:auto;}
.footer .footer_bottom .copyright{float:none; width:auto;}
.footer .menu_list2{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0;
  list-style:none; margin:0; padding:0;
}
.footer .menu_list2 li{margin:0; padding:0;}
.footer .menu_list2 li::before{display:none;}
.footer .menu_list2 li::after{
  content:"|"; color:rgba(0,0,0,.25); margin:0 10px;
}
.footer .menu_list2 li:last-child::after{display:none;}
.footer .menu_list2 li a{
  color:#2a2d34; font-size:13px; font-weight:400;
  padding:0; margin:0; text-decoration:none;
  transition:color var(--dur-s) var(--ease);
}
.footer .menu_list2 li a:hover{color:var(--c-primary);}
.footer .copyright small{
  color:#2a2d34; font-size:13px; font-weight:400;
  margin-left:10px;
}
.footer .menu_list2 li:last-child::after + .copyright small{margin-left:0;}

.footer_brand{display:none;}


/* Fix: No empty space below footer */
#wrap{margin:0; padding:0;}
#container{margin-bottom:0;}
#footer{margin:0; padding-bottom:0;}
.footer_inner{padding-bottom:24px !important;}

/* ---------- Quick / top button ---------- */
.quick_menu{
  position:fixed !important; left:auto !important; right:26px; bottom:26px; width:auto; height:auto; margin:0;
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity var(--dur-s) var(--ease), transform var(--dur-s) var(--ease), visibility var(--dur-s);
}
.quick_menu.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.quick_menu a{
  position:static; width:52px; height:52px; padding:0; border:0; border-radius:50%;
  background:var(--c-primary); color:#fff; box-shadow:0 12px 28px rgba(20,40,160,.35);
  display:flex; align-items:center; justify-content:center; font-size:0;
  transition:transform var(--dur-s) var(--ease), background var(--dur-s) var(--ease);
}
.quick_menu a:hover{background:var(--c-secondary); transform:translateY(-4px);}
.quick_menu a::before{
  content:""; width:10px; height:10px; margin:0; background:none;
  border-top:2.5px solid #fff; border-right:2.5px solid #fff; transform:rotate(-45deg); translate:0 3px;
}

/* ---------- Small utility polish ---------- */
.job_open .txt_box{
  border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:clamp(24px,4vw,40px);
  transition:transform .25s var(--ease-out), box-shadow var(--dur-m) var(--ease);
  transform-style:preserve-3d; will-change:transform;
}
.job_open .answer_box{border-radius:var(--radius);}
.careers_section + #content .section{max-width:var(--container);}

/* ---------- Careers Page Redesign ---------- */

.careers-intro {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: clamp(60px, 8vw, 100px);
}
.careers-intro-text {
  max-width: 600px;
}
.careers-intro-text .section-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 4px;
  font-size:clamp(18px,2vw,22px);
}
.careers-intro-text .section-eyebrow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  background: var(--c-accent);
  width: 0%;
  transition: width 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.careers-intro-text .section-eyebrow.is-animated::after {
  width: 100%;
}
.careers-intro-text .careers-heading {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  color: var(--c-ink);
  line-height: 1.15;
  margin-bottom: 24px;
}
.careers-intro-text .careers-intro-p {
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--c-body);
}
.overview .editorial-section .section-eyebrow,
.history .section-eyebrow {
  font-size: clamp(18px, 2vw, 22px);
}
.overview .editorial-section .section-eyebrow.section-power-text {
  color: var(--c-primary);
}
.overview .section-eyebrow .section-trace-wrapper {
  display: none;
}
.careers-intro-visual {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
.careers-intro-visual svg {
  width: 100%;
  height: auto;
  display: block;
}

.careers-pillars-section {
  position: relative;
  margin-bottom: clamp(60px, 8vw, 100px);
}
.careers-highlights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 1;
}

.careers-highlights .card.pillar-card {
  padding: 40px 32px;
  border-top: 3px solid var(--c-primary);
  border-radius: var(--radius-sm);
  background: #fff;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
  z-index: 1;
}
.careers-highlights .card.pillar-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.careers-highlights .card.pillar-card .num.watermark {
  position: absolute;
  bottom: -20px;
  right: -10px;
  font-size: 140px;
  font-weight: 800;
  color: var(--c-primary);
  opacity: 0.05;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
  margin: 0;
  display: block;
}
.careers-highlights .card.pillar-card .card-content {
  position: relative;
  z-index: 1;
}
.careers-highlights .card.pillar-card h4 {
  font-size: 20px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 16px;
}
.careers-highlights .card.pillar-card p {
  font-size: 15.5px;
  color: var(--c-body);
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 900px) {
  .careers-intro { grid-template-columns: 1fr; gap: 32px; }
  .careers-highlights { grid-template-columns: 1fr; gap: 24px; }

}

.apply-cta{
  display:flex; flex-wrap:wrap; align-items:center; gap:20px;
  padding-top:22px; margin-top:22px; border-top:1px solid var(--c-border);
}
.apply-cta p{margin:0; color:var(--c-body); font-size:14.5px; max-width:44ch;}
.btn-mail{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px; border-radius:999px; background:var(--c-primary); color:#fff !important;
  font-weight:700; font-size:14.5px; white-space:nowrap;
  position:relative; overflow:hidden;
  transition:transform var(--dur-s) var(--ease), background var(--dur-s) var(--ease), box-shadow var(--dur-s) var(--ease);
}
.btn-mail svg{width:17px; height:17px; flex:none;}
.btn-mail:hover{background:var(--c-secondary); transform:translateY(-3px); box-shadow:0 14px 30px rgba(4,50,133,.3);}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .board_view .board_tit .date{position:static; width:auto; margin-top:10px;}
}
@media (max-width:700px){
  div.img_section > img:nth-child(1), div.img_section > img:nth-child(2){width:100%; float:none; height:auto;}
  .acc-trigger{padding:18px 16px; flex-wrap:wrap; gap:12px;}
  .acc-num{display:none;}
  .acc-panel .acc-panel-inner{padding:0 16px 22px;}
  .history .year_area li{padding-left:52px;}
  .acc-toggle-all{width:100%; margin:0 0 14px; justify-content:center;}
}

/* ==========================================================================
   OVERVIEW PAGE REDESIGN
   ========================================================================== */

/* Step 1: Circuit Hero */
.hero-circuit {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.hero-trace-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  color: var(--c-primary, #1428a0);
  pointer-events: none;
}
.hero-power-text {
  color: #ffffff;
  -webkit-text-stroke: 0px transparent;
  position: relative;
  transition: color 0.2s ease-out;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
@keyframes powerOnPulse {
  0% { text-shadow: 0 0 20px var(--c-primary, #1428a0), 0 0 40px var(--c-primary, #1428a0); }
  100% { text-shadow: none; }
}
.hero-power-text.powered-on {
  color: #ffffff;
  -webkit-text-stroke: 0px transparent;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

/* Step 3: IC Chip Stats */
.editorial-sidebar {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.ic-chip {
  display: flex;
  align-items: stretch;
  position: relative;
  width: max-content;
}
.ic-body {
  background: #ffffff;
  color: var(--c-ink, #000000);
  border-radius: 12px;
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  position: relative;
  z-index: 1;
  border: 1px solid var(--c-border, #e4e6ee);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.ic-body .stat-num {
  color: var(--c-primary, #1428a0);
  font-weight: 700;
}
.ic-body .stat-label {
  color: var(--c-body, #1a1d24);
  font-size: 13px;
}
.ic-body:hover {
  box-shadow: 0 8px 30px rgba(20,40,160,0.1);
  transform: translateY(-2px);
}

.ic-pins {
  width: 12px;
  color: var(--c-primary, #1428a0);
}
.ic-pins-left {
  margin-right: -4px;
}
.ic-pins-right {
  margin-left: -4px;
}

/* Step 4: Section Traces */
.section-trace-wrapper {
  display: inline-block;
  width: 40px;
  height: 20px;
  vertical-align: middle;
  margin-right: 12px;
  position: relative;
  overflow: visible;
}
.section-trace-svg {
  width: 100%;
  height: 100%;
  color: var(--c-primary, #1428a0);
  overflow: visible;
}
.section-trace-line {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
}
.section-trace-node {
  opacity: 0;
}
.section-power-text {
  color: var(--c-ink, #000000);
  transition: color 0.2s ease-out;
}
.section-power-text.powered-on {
  color: var(--c-ink, #000000);
}
.hero-cursor-dot {
  position: relative;
  top: 0; left: 0;
  width: 8px; height: 8px;
  background: var(--c-primary, #1428a0);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  box-shadow: 0 0 10px var(--c-primary, #1428a0);
  margin-top: -4px;
  margin-left: -4px;
  visibility: hidden;
}
@media (hover: none) and (pointer: coarse) {
  .hero-cursor-dot { display: none !important; }
}

/* Hero */
.hero-redesign {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  height: clamp(240px, 30vw, 360px);
  cursor: default;
}
.hero-watermark {
  position: absolute;
  top: 50%;
  right: -5%;
  transform: translateY(-50%);
  font-size: clamp(100px, 20vw, 300px);
  font-weight: 800;
  line-height: 1;
  color: var(--c-primary, #1428a0);
  opacity: 0.05;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.hero-redesign .visual_inner {
  position: relative;
  z-index: 1;
  text-align: left;
  max-width: var(--container);
  margin: 0 auto;
  width: 100%;
  padding: 0 var(--gutter) 40px;
  box-sizing: border-box;
}
.hero-heading {
  font-size: clamp(30px, 4.6vw, 50px);
  line-height: normal;
  margin: 0 0 12px;
}
.split-line-wrap {
  overflow: hidden;
  display: block;
}
.split-line-text {
  display: block;
}
.hero-main {
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.hero-sub {
  font-weight: 300;
  color: rgba(255,255,255,0.85);
  font-size: 0.65em;
}
.scroll-cue {
  position: absolute;
  bottom: 20px;
  left: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 2;
}
.scroll-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3d434f;
}
.scroll-line {
  width: 2px;
  height: 60px;
  background: rgba(0,0,0,0.1);
  overflow: hidden;
  position: relative;
}
.scroll-line-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--c-primary, #1428a0);
  transform-origin: top;
}

/* Editorial Content */
.redesign-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
  position: relative;
}
.editorial-section {
  margin-bottom: 80px;
}
.editorial-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-top: 40px;
  margin-bottom: 60px;
}
@media (min-width: 900px) {
  .editorial-layout {
    grid-template-columns: 1fr 2fr;
    gap: 80px;
  }
}

.stat-block {
  display: flex;
  flex-direction: column;
}
.stat-num {
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 800;
  line-height: 1;
  color: var(--c-primary, #1428a0);
  margin-bottom: 8px;
}
.stat-label {
  font-size: 16px;
  font-weight: 600;
  color: #1a1d24;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.editorial-heading {
  font-size: 28px;
  margin-bottom: 24px;
  color: #000;
}
.intro-txt {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #1a1d24;
}

/* Alternating Team Rows */
.team-departments {
  display: flex;
  flex-direction: column;
  gap: 80px;
  margin-top: 60px;
}
.team-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  align-items: center;
}
@media (min-width: 768px) {
  .team-row {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
  .team-row-alt .team-text {
    order: 2;
  }
  .team-row-alt .team-visual {
    order: 1;
  }
}
.team-title {
  font-size: 24px;
  margin-bottom: 16px;
  color: var(--c-primary, #1428a0);
}
.team-visual {
  border-radius: 12px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 160px;
  margin: 0 auto;
  background: rgba(44,124,216,0.02);
  border: 1px solid rgba(44,124,216,0.1);
}
.micro-diagram-box {
  width: 240px;
  height: 160px;
  background: rgba(44,124,216,0.02);
  border: 1px solid rgba(44,124,216,0.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.micro-diagram {
  color: var(--c-primary, #1428a0);
}
.diag-qa-wave, .diag-qa-check {
  opacity: 0;
}

/* Location Split */
.location-section {
  margin-top: 100px;
}
.location-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-top: 40px;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: none;
}
@media (min-width: 900px) {
  .location-split {
    grid-template-columns: 4fr 6fr;
    gap: 0;
  }
}
.location-info {
  padding: 40px;
}
@media (min-width: 900px) {
  .location-info {
    padding: 60px 40px;
  }
}
.location-heading {
  font-size: 24px;
  margin-bottom: 30px;
  color: #000;
}
.redesign-list li {
  margin-bottom: 24px;
  line-height: 1.5;
  color: #1a1d24;
}
.label-bold {
  color: var(--c-primary, #1428a0);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
  display: inline-block;
  margin-bottom: 6px;
}
.link-underlined {
  text-decoration: underline;
  text-decoration-color: rgba(20,40,160,0.3);
  text-underline-offset: 4px;
}


.location-map {
  min-height: 350px;
}
@media (min-width: 900px) {
  .location-map {
    min-height: auto;
  }
}

/* Default state for JS reveals */
/* Scroll reveal: content visible by default, only hidden when GSAP confirmed loaded */
body.gsap-ready .sr-reveal,
body.gsap-ready .sr-reveal-left,
body.gsap-ready .sr-reveal-right,
body.gsap-ready .sr-reveal-up {
  opacity: 0;
  visibility: hidden;
}

/* ==========================================================================
   CAREERS PAGE FIX PASS
   ========================================================================== */

/* Careers Intro */
.careers-intro-visual.empty-breathing-space {
  background: none;
  border: none;
  box-shadow: none;
}

/* Pillar Sequence Tracker */
.pillar-sequence {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--c-primary, #1428a0);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 40px;
  grid-column: 1 / -1;
}
.pillar-sequence span {
  opacity: 0.6;
}

/* Pillar Card Variations */
.pillar-card-alt {
  background: #f4f6fc !important;
}
.pillar-card-featured {
  background: #fff !important;
  border: 2px solid rgba(44,124,216,0.1) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.08) !important;
}
@media (min-width: 900px) {
  .pillar-card-featured {
    transform: scale(1.05);
    z-index: 2;
  }
}

/* CTA Card */
.careers-cta-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 16px;
  padding: 40px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03);
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.cta-heading {
  font-size: 28px;
  margin-bottom: 30px;
  color: #000;
}
.process-tracker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.process-step {
  background: rgba(44,124,216,0.08);
  color: var(--c-primary, #1428a0);
  padding: 10px 20px;
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
}
.process-arrow {
  color: #ccc;
  width: 20px;
  height: 20px;
}

/* ==========================================================================
   GWP FOLDERS
   ========================================================================== */

.gwp-folder-section {
  padding: 80px 0;
  max-width: 1200px;
  margin: 0 auto;
}

.gwp-folder-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 30px;
  padding: 40px 20px;
  perspective: 1500px;
}


.gwp-folder {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  cursor: pointer;
  transform-style: preserve-3d;
  outline: none;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.5s ease;
  border-radius: 4px;
}
.gwp-folder.is-open {
  transform: scale(1.15);
  z-index: 50 !important;
}


/* Back of the folder */
.folder-back {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #f8f9fa;
  border: 1px solid #e2e8f0;
  border-radius: 12px 12px 4px 4px;
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
  z-index: 1;
}

/* The front flap */
.folder-front {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 4px;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.02), 0 8px 24px rgba(0,0,0,0.06);
  z-index: 3;
  transform-origin: bottom center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: box-shadow 0.3s ease;
}

/* The small tab on the front flap */
.folder-tab {
  position: absolute;
  top: -30px;
  left: 20px;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-bottom: none;
  padding: 8px 20px;
  border-radius: 8px 8px 0 0;
  font-weight: 700;
  font-size: 14px;
  color: var(--c-primary, #1428a0);
  box-shadow: 0 -4px 12px rgba(0,0,0,0.04);
}

.folder-icon {
  display: none !important;
}

/* The stack of photos */
.folder-content {
  position: absolute;
  top: 10px; left: 10px; right: 10px; bottom: 10px;
  z-index: 2;
  pointer-events: none;
}

.folder-photo-wrapper,
.folder-text-card {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #fff;
  padding: 6px;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform-origin: bottom center;
  pointer-events: auto; /* Allow clicking the photo */
  cursor: zoom-in;
  /* GSAP will animate transforms */
}

.folder-text-card {
  cursor: default;
  padding: 16px;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.4;
  color: #1a1d24;
  border: 1px solid #eaeaea;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.folder-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2px;
}

.folder-more {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(44,124,216, 0.9);
  color: #fff;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0; /* Hidden initially, GSAP will fade in */
}

/* States */
.gwp-folder:hover {
  transform: translateY(-5px);
}
.gwp-folder.is-open:hover {
  transform: scale(1.15); /* Keep scaled when open */
}
.gwp-folder:hover .folder-front {
  box-shadow: 0 -2px 10px rgba(0,0,0,0.02), 0 12px 32px rgba(0,0,0,0.15);
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */
.gwp-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: none; /* Hidden */
    justify-content: center;
    align-items: center;
    z-index: 99999; /* Must be higher than everything else */
}

.gwp-lightbox.active {
    display: flex !important; 
}

.gwp-lightbox-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  max-width: 90%;
  max-height: 90vh;
  gap: 24px;
}
.gwp-lightbox img {
  max-height: 85vh;
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
  transform: scale(0.9);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  object-fit: contain;
}
.gwp-lightbox-text {
  color: white;
  font-size: 18px;
  line-height: 1.5;
  width: 320px;
  flex-shrink: 0;
  background: rgba(255,255,255,0.1);
  padding: 24px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.2);
  display: none !important;
  backdrop-filter: blur(10px);
  transform: scale(0.9);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.gwp-lightbox.active img,
.gwp-lightbox.active .gwp-lightbox-text {
  transform: scale(1);
}
.gwp-lightbox-close {
  position: absolute;
  top: 30px; right: 30px;
  color: #fff;
  font-size: 40px;
  cursor: pointer;
  line-height: 1;
}
.gwp-lightbox-prev, .gwp-lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: white;
  font-size: 32px;
  cursor: pointer;
  z-index: 10000;
  user-select: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.gwp-lightbox-prev:hover, .gwp-lightbox-next:hover {
  background: rgba(0,0,0,0.8);
}
.gwp-lightbox-prev { left: 20px; }
.gwp-lightbox-next { right: 20px; }

/* ---------- JS Fallback: content visible by default, no fallback needed ---------- */
/* sr-reveal elements are only hidden when body.gsap-ready is present */
body:not(.gsap-ready) .hero-power-text {
  color: #ffffff !important;
  -webkit-text-stroke: 0px transparent !important;
}
body:not(.gsap-ready) .section-power-text {
  color: var(--c-primary, #1428a0) !important;
  -webkit-text-stroke: 0px transparent !important;
}


/* ==========================================================================
   MISSION & VISION PAGE — Two-column layout with Core Values
   ========================================================================== */
/* Center-align the Mission & Vision page content */
.overview .section.sec1,
.overview .section.sec2{
  text-align:center;
}
.overview .section.sec1{
  margin-bottom:clamp(56px,8vw,96px);
}
.overview .section.sec2{
  margin-bottom:clamp(56px,8vw,96px);
}
.overview .section.sec1 .sec_txt,
.overview .section.sec2 .sec_txt{
  font-size:clamp(20px,2.4vw,28px);
  line-height:1.5;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.overview .section.core-values{
  text-align:center;
}
.overview .section.core-values .core-values-intro{
  margin-left:auto;
  margin-right:auto;
}
.overview .section.core-values .core-values-list{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.mv-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,72px);
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
  align-items:start;
}
.mv-left .section{ margin:0 0 clamp(48px,7vw,80px); padding:0; }
.mv-left .section.last{ margin-bottom:0; }

/* Right column — Core Values */
.mv-right .core-values{
  margin:0; padding:0;
  position:sticky; top:100px;
}
.core-values h3{
  font-size:clamp(26px,3.2vw,38px);
  font-weight:700;
  color:var(--c-ink);
  line-height:1.25;
  margin-bottom:14px;
}
.core-values-intro{
  font-size:clamp(17px,1.8vw,20px);
  line-height:1.65;
  color:var(--c-body);
  margin-bottom:28px;
  max-width:52ch;
}
.core-values-note{
  display:block;
  margin-top:6px;
  font-size:13px;
  color:var(--c-muted);
}
.core-values-list{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin:0 0 24px;
}
.core-values-list li{
  display:block;
  padding:18px 20px;
  background:var(--c-bg-soft);
  border:1px solid var(--c-border);
  border-radius:var(--radius-sm);
  border-left:4px solid var(--c-primary);
  transition:transform var(--dur-s) var(--ease), box-shadow var(--dur-s) var(--ease), border-color var(--dur-s) var(--ease);
}
.core-values-list li:hover{
  transform:translateX(4px);
  box-shadow:var(--shadow-sm);
  border-left-color:var(--c-accent);
}
.value-letter{
  flex:none;
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--c-primary);
  color:#fff;
  font-size:17px;
  font-weight:800;
  font-family:var(--font-display);
}
.value-content{ flex:1; min-width:0; }
.value-content h4{
  font-size:18px;
  font-weight:700;
  color:var(--c-ink);
  margin-bottom:4px;
}
.value-content h4 .first-letter{
  color:var(--c-primary);
  font-weight:800;
}
.value-content p{
  font-size:15px;
  line-height:1.55;
  color:var(--c-body);
  margin:0;
}
.value-content p + p{ margin-top:2px; }

.value-points-inline{
  display:flex;
  gap:8px 20px;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
}
.value-points-inline p{
  margin:0;
}

@media (max-width:900px){
  .mv-layout{
    grid-template-columns:1fr;
    gap:40px;
  }
  .mv-right .core-values{
    position:static;
    top:auto;
  }
}

/* Overview page — make section headings black */
.overview .editorial-heading,
.overview .team-title{
  color:#000 !important;
}
