/* ============================================================
   GlowBridge theme v3.5 — brand navy · video hero
   Brand navy #1E3A8A (logo) · deep #152A66
   ============================================================ */

:root{
  --brand:#1E3A8A;
  --brand-deep:#152A66;
  --brand-ink:#0E1A3C;
  --brand-tint:#EEF2FA;
  --ink:#12172A;
  --body:#4E5561;
  --muted:#8A93A3;
  --line:#E6EAF2;
  --light:#F7F8FB;
  --ease:cubic-bezier(.25,.6,.3,1);
  --shadow-card:0 24px 50px -34px rgba(14,26,60,.42);
}

html{scroll-behavior:smooth;}
body{background:#fff;color:var(--body);font-family:'Open Sans',system-ui,sans-serif;
  font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;}
::selection{background:var(--brand);color:#fff;}
img{max-width:100%;height:auto;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}

h1,h2,h3,h4,.gb-h{font-family:'Poppins',sans-serif;color:var(--ink);font-weight:600;line-height:1.28;
  letter-spacing:-.012em;}

/* ---------- eyebrow with hex marker ---------- */
.gb-eyebrow{font-family:'Poppins',sans-serif;font-size:.7rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--brand);font-weight:600;display:inline-flex;align-items:center;gap:.7rem;}
.gb-eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.65;flex:none;}
.gb-eyebrow.on-dark{color:#fff;opacity:.9;}
.gb-eyebrow.center{justify-content:center;}
.gb-lede{color:var(--body);line-height:1.9;}
.gb-lede.on-dark,.on-dark .gb-lede{color:rgba(255,255,255,.82);}

/* ---------- header ---------- */
.gb-header{position:fixed;inset:0 0 auto 0;z-index:60;background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);}
.gb-header.is-stuck{box-shadow:0 10px 30px -24px rgba(14,26,60,.5);}
.gb-logo{display:inline-flex;align-items:center;text-decoration:none;}
.gb-logo-img{height:30px;width:auto;display:block;}
@media (min-width:1024px){.gb-logo-img{height:36px;}}
.custom-logo-link{display:inline-flex;align-items:center;}
.custom-logo{height:30px;width:auto;display:block;}
@media (min-width:1024px){.custom-logo{height:36px;}}

.gb-nav{display:flex;align-items:center;gap:2.3rem;}
.gb-nav a{font-family:'Poppins',sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.05em;
  color:#39415A;text-decoration:none;padding:.4rem 0;position:relative;transition:color .25s var(--ease);}
.gb-nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.gb-nav a:hover,.gb-nav .current-menu-item>a,.gb-nav .current_page_item>a{color:var(--brand);}
.gb-nav a:hover::after,.gb-nav .current-menu-item>a::after,.gb-nav .current_page_item>a::after{transform:scaleX(1);}

.gb-burger{width:44px;height:44px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;background:transparent;border:0;cursor:pointer;z-index:80;position:relative;}
.gb-burger span{width:23px;height:2px;background:var(--ink);transition:transform .3s var(--ease);}
.gb-burger.is-open span:nth-child(1){transform:translateY(4.5px) rotate(45deg);}
.gb-burger.is-open span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg);}

.gb-overlay{position:fixed;inset:0;z-index:70;background:rgba(255,255,255,.985);
  display:flex;flex-direction:column;justify-content:center;padding:5rem 2.2rem 3rem;
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;}
.gb-overlay.is-open{opacity:1;visibility:visible;}
.gb-overlay a.gb-ov-link{font-family:'Poppins',sans-serif;font-weight:500;font-size:clamp(1.5rem,6vw,2.1rem);
  color:var(--ink);text-decoration:none;padding:.55rem 0;display:block;transition:color .25s;
  border-bottom:1px solid var(--line);}
.gb-overlay a.gb-ov-link:hover,.gb-overlay .current-menu-item>a.gb-ov-link{color:var(--brand);}
.gb-overlay .gb-ov-foot{margin-top:2.2rem;color:var(--muted);font-size:.82rem;line-height:1.9;}
body.gb-lock{overflow:hidden;}

/* ---------- buttons ---------- */
.gb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:'Poppins',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  padding:1.05rem 2.5rem;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;
  border:1px solid var(--brand);color:var(--brand);background:transparent;
  transition:color .35s var(--ease),border-color .35s var(--ease);}
.gb-btn::before{content:"";position:absolute;inset:0;background:var(--brand);
  transform:translateY(101%);transition:transform .4s var(--ease);z-index:-1;}
.gb-btn > *{position:relative;z-index:1;}
.gb-btn:hover{color:#fff;}
.gb-btn:hover::before{transform:translateY(0);}
.gb-btn{isolation:isolate;}
.gb-btn.solid{background:var(--brand);color:#fff;}
.gb-btn.solid::before{background:var(--brand-deep);}
.gb-btn.solid:hover{color:#fff;border-color:var(--brand-deep);}
.gb-btn.on-dark{border-color:rgba(255,255,255,.9);color:#fff;}
.gb-btn.on-dark::before{background:#fff;}
.gb-btn.on-dark:hover{color:var(--brand-ink);border-color:#fff;}

.gb-link{font-family:'Poppins',sans-serif;display:inline-flex;align-items:center;gap:.55rem;
  color:var(--brand);font-size:.76rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;padding-bottom:.3rem;position:relative;}
.gb-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
  transform-origin:left;transition:transform .35s var(--ease);}
.gb-link:hover::after{transform:scaleX(.35);}
.gb-link .gb-arrow{transition:transform .35s var(--ease);}
.gb-link:hover .gb-arrow{transform:translateX(4px);}
.gb-link.on-dark{color:#fff;}

/* ---------- hero ---------- */
.gb-hero{position:relative;display:flex;align-items:center;overflow:hidden;background:var(--brand-ink);}
.gb-hero-media{position:absolute;inset:0;}
.gb-hero-media img{width:100%;height:100%;object-fit:cover;}
/* home : gradient scrim keeps the skyline visible, anchors the type */
.gb-hero-scrim{position:absolute;inset:0;background:
  linear-gradient(to bottom, rgba(10,18,42,.34) 0%, rgba(10,18,42,.22) 38%, rgba(10,18,42,.78) 100%);}
/* inner banners : medium / strong for bright photography */
.gb-hero-inner-scrim{position:absolute;inset:0;background:
  linear-gradient(to bottom, rgba(10,18,42,.42) 0%, rgba(10,18,42,.72) 100%);}
.gb-hero-inner-scrim.strong{background:
  linear-gradient(to bottom, rgba(10,18,42,.55) 0%, rgba(10,18,42,.82) 100%);}
.gb-hero h1,.gb-hero p{text-shadow:0 2px 24px rgba(6,12,30,.35);}

/* scroll hint */
.gb-scrollhint{position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:.7rem;color:rgba(255,255,255,.75);
  font-family:'Poppins',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;}
.gb-scrollhint i{display:block;width:1px;height:46px;background:rgba(255,255,255,.35);position:relative;overflow:hidden;}
.gb-scrollhint i::after{content:"";position:absolute;left:0;top:-46px;width:1px;height:46px;background:#fff;
  animation:gbScroll 2.4s var(--ease) infinite;}
@keyframes gbScroll{0%{transform:translateY(0)}60%{transform:translateY(92px)}100%{transform:translateY(92px)}}

/* ---------- image band ---------- */
.gb-band{position:relative;overflow:hidden;background:var(--brand-ink);}
.gb-band-overlay{position:absolute;inset:0;background:
  linear-gradient(135deg, rgba(14,26,60,.86) 0%, rgba(21,42,102,.7) 100%);}
.gb-band-dark{background:var(--brand-deep);}

/* ---------- reveal ---------- */
.gb-reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.gb-reveal.is-in{opacity:1;transform:none;}
.gb-reveal[data-delay="1"]{transition-delay:.08s;}
.gb-reveal[data-delay="2"]{transition-delay:.16s;}
.gb-reveal[data-delay="3"]{transition-delay:.24s;}
.gb-reveal[data-delay="4"]{transition-delay:.32s;}

/* ---------- media / frames ---------- */
.gb-box{background:#fff;border:1px solid var(--line);}
.gb-media{overflow:hidden;position:relative;background:var(--brand-tint);}
.gb-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease);}
a.gb-media:hover img,.gb-hoverable:hover .gb-media img{transform:scale(1.055);}
figure.gb-figure figcaption{font-size:.78rem;color:var(--muted);margin-top:.85rem;}

/* offset photo stack (Who We Are) */
.gb-stack{position:relative;}
.gb-stack .gb-stack-a{aspect-ratio:4/3;}
.gb-stack .gb-stack-b{aspect-ratio:4/3;width:64%;margin-left:auto;margin-top:-16%;
  border:8px solid #fff;box-shadow:var(--shadow-card);}
@media (max-width:767px){
  .gb-stack .gb-stack-b{width:74%;margin-top:-14%;border-width:6px;}
}

/* ---------- home category tiles ---------- */
.gb-tile5{position:relative;display:block;overflow:hidden;text-decoration:none;}
.gb-tile5 .gb-media{aspect-ratio:3/4;}
@media (max-width:767px){.gb-tile5 .gb-media{aspect-ratio:4/3;}}
.gb-tile5::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(10,18,42,.9) 0%, rgba(14,26,60,.34) 46%, rgba(14,26,60,.06) 100%);
  transition:background .4s var(--ease);}
.gb-tile5:hover::after{background:linear-gradient(to top, rgba(10,18,42,.95) 0%, rgba(21,42,102,.5) 58%, rgba(21,42,102,.18) 100%);}
.gb-tile5 .gb-t5-body{position:absolute;left:1.3rem;right:1.3rem;bottom:1.25rem;z-index:2;}
.gb-tile5 .gb-t5-body::before{content:"";display:block;width:1.9rem;height:2px;background:#fff;margin-bottom:.85rem;
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.gb-tile5:hover .gb-t5-body::before{transform:scaleX(1);}
.gb-tile5 h3{color:#fff;font-size:.98rem;font-weight:500;line-height:1.45;}

/* ---------- service cards ---------- */
.gb-svc-card{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow .35s var(--ease),transform .35s var(--ease),border-color .35s;}
.gb-svc-card:hover{border-color:#CBD7F0;box-shadow:var(--shadow-card);transform:translateY(-5px);}
.gb-svc-card .gb-media{aspect-ratio:16/10;}
.gb-svc-card .gb-scbody{padding:1.7rem 1.6rem 1.9rem;}
.gb-svc-card .gb-scbody::before{content:"";display:block;width:2rem;height:2px;background:var(--brand);margin-bottom:1rem;}

/* ---------- pillar cards ---------- */
.gb-pillar{background:#fff;border:1px solid var(--line);overflow:hidden;
  transition:box-shadow .35s var(--ease),transform .35s var(--ease),border-color .35s;}
.gb-pillar:hover{border-color:#CBD7F0;box-shadow:var(--shadow-card);transform:translateY(-5px);}
.gb-pillar .gb-media{aspect-ratio:16/10;}
.gb-pillar .gb-pbody{padding:1.8rem 1.7rem 2rem;}
.gb-pillar .gb-picon{height:24px;width:auto;flex:none;}
.gb-pillar .gb-ptitle{display:flex;align-items:center;gap:.7rem;}

/* ---------- difference tiles (portrait photography) ---------- */
.gb-tile{position:relative;display:block;overflow:hidden;}
.gb-tile .gb-tile-media{aspect-ratio:3/4.1;}
@media (max-width:767px){.gb-tile .gb-tile-media{aspect-ratio:16/11;}}
.gb-tile::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top, rgba(10,18,42,.93) 0%, rgba(14,26,60,.5) 48%, rgba(14,26,60,.12) 100%);}
.gb-tile:hover img{transform:scale(1.05);}
.gb-tile .gb-tile-body{position:absolute;left:1.7rem;right:1.7rem;bottom:1.7rem;z-index:2;}
.gb-tile .gb-tile-body::before{content:"";display:block;width:2.2rem;height:2px;background:#fff;margin-bottom:1rem;}
.gb-tile h3{color:#fff;font-size:1.1rem;font-weight:500;line-height:1.35;}
.gb-tile p{color:rgba(255,255,255,.85);font-size:.85rem;line-height:1.7;margin-top:.65rem;}

/* ---------- believe ---------- */
.gb-num{font-family:'Poppins',sans-serif;color:var(--brand);font-weight:600;font-size:.95rem;letter-spacing:.14em;}
.gb-believe{border-top:2px solid var(--brand);padding-top:1.25rem;}

/* ---------- process ---------- */
.gb-steps{position:relative;}
@media (min-width:1024px){
  .gb-steps::before{content:"";position:absolute;left:0;right:0;top:17px;height:1px;
    background:linear-gradient(to right, transparent, #C9D6EF 12%, #C9D6EF 88%, transparent);}
}
.gb-step{position:relative;}
.gb-step .gb-step-dot{width:35px;height:35px;border-radius:50%;background:#fff;border:1px solid #C9D6EF;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:2;
  box-shadow:0 6px 16px -8px rgba(30,58,138,.4);transition:transform .35s var(--ease);}
.gb-step:hover .gb-step-dot{transform:translateY(-3px);}
.gb-step .gb-step-dot img{height:16px;width:auto;}
.gb-step .gb-step-num{font-family:'Poppins',sans-serif;color:var(--brand);font-weight:600;font-size:.8rem;letter-spacing:.16em;}
@media (max-width:1023px){
  .gb-steps::before{content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;background:#D8E0F0;}
  .gb-step{padding-left:3.4rem;}
  .gb-step .gb-step-dot{position:absolute;left:0;top:0;}
}

/* ---------- brand badge ---------- */
.gb-badge{font-family:'Poppins',sans-serif;display:inline-block;font-size:.63rem;letter-spacing:.26em;
  text-transform:uppercase;font-weight:600;border:1px solid rgba(255,255,255,.75);color:#fff;padding:.6rem 1.1rem;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}

/* ---------- forms ---------- */
.gb-field{display:block;margin-bottom:1.35rem;}
.gb-field span{font-family:'Poppins',sans-serif;display:block;font-size:.66rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-weight:600;}
.gb-input,.gb-form input[type=text],.gb-form input[type=email],.gb-form input[type=tel],.gb-form input[type=url],.gb-form textarea,.gb-form select{
  width:100%;background:#fff;border:1px solid #D7DDEA;border-radius:0;
  padding:.9rem 1rem;color:var(--ink);font-size:.95rem;outline:none;font-family:inherit;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);appearance:none;-webkit-appearance:none;}
.gb-input:focus,.gb-form input:focus,.gb-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(30,58,138,.08);}
textarea.gb-input,.gb-form textarea{min-height:150px;resize:vertical;}

/* ---------- footer ---------- */
.gb-footer{background:var(--brand-deep);color:rgba(255,255,255,.66);}
.gb-footer a{color:rgba(255,255,255,.66);text-decoration:none;font-size:.9rem;transition:color .22s;}
.gb-footer a:hover{color:#fff;}
.gb-foot-h{font-family:'Poppins',sans-serif;color:#fff;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;}
.gb-foot-h.dark{color:var(--ink);}
.gb-foot-disabled{color:rgba(255,255,255,.32);font-size:.9rem;cursor:default;}

/* ---------- prose / pagination ---------- */
.gb-prose{color:var(--body);line-height:1.9;font-size:1.02rem;}
.gb-prose > *+*{margin-top:1.25rem;}
.gb-prose h2{font-size:1.7rem;margin-top:2.4rem;}
.gb-prose h3{font-size:1.3rem;margin-top:2rem;}
.gb-prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.gb-prose blockquote{border-left:2px solid var(--brand);padding-left:1.3rem;color:var(--muted);}
.gb-prose ul,.gb-prose ol{padding-left:1.3rem;}
.gb-prose li{margin-top:.5rem;}
.gb-news{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);transition:box-shadow .3s var(--ease),transform .3s var(--ease);}
.gb-news:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.gb-news .gb-media{aspect-ratio:16/10;}
.gb-news time{font-size:.75rem;color:var(--muted);}
.gb-pagination .nav-links{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;}
.gb-pagination .page-numbers{font-family:'Poppins',sans-serif;font-size:.85rem;padding:.55rem 1rem;border:1px solid var(--line);color:var(--ink);text-decoration:none;}
.gb-pagination .page-numbers.current,.gb-pagination .page-numbers:hover{background:var(--brand);color:#fff;border-color:var(--brand);}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important;}
  .gb-reveal{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}


/* ---------- v3.5 : hero video ---------- */
.gb-hero-video{width:100%;height:100%;object-fit:cover;display:block;
  /* 첫 프레임 전 깜빡임 방지 */
  background:var(--brand-ink);}
/* 밝은 항공 영상 위 흰 텍스트 가독성 확보 (측정 평균 밝기 L=181) */
.gb-hero-scrim.video{background:
  radial-gradient(125% 85% at 50% 46%, rgba(10,18,42,.26) 0%, rgba(10,18,42,.56) 100%),
  linear-gradient(to bottom, rgba(10,18,42,.5) 0%, rgba(10,18,42,.36) 36%, rgba(10,18,42,.8) 100%);}
@media (max-width:767px){
  .gb-hero-scrim.video{background:
    radial-gradient(140% 80% at 50% 44%, rgba(10,18,42,.3) 0%, rgba(10,18,42,.6) 100%),
    linear-gradient(to bottom, rgba(10,18,42,.54) 0%, rgba(10,18,42,.42) 34%, rgba(10,18,42,.82) 100%);}
}

/* ---------- v3.5.1 : text-free photo band ---------- */
.gb-photoband{position:relative;display:block;overflow:hidden;background:var(--brand-tint);
  height:44svh;}
@media (min-width:768px){.gb-photoband{height:56vh;}}
@media (min-width:1280px){.gb-photoband{height:64vh;}}
.gb-photoband img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
/* 브랜드 톤만 아주 옅게 — 사진은 그대로 보이게 */
.gb-photoband-tint{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom, rgba(14,26,60,.06) 0%, rgba(14,26,60,.02) 45%, rgba(14,26,60,.10) 100%);}
