

:root{

  --navy:        #002B57;
  --navy-deep:   #00182F;
  --amber:       #FFBA08;
  --paper:       #FFFFFF;
  --gray:        #EDF0F5;
  --line:        #D6DDE6;
  --ink:         #0A1725;


  --ink-mid:     #4E5D6E;
  --on-navy:     #A9C0D8;
  --on-navy-dim: #6E88A6;
  --line-navy:   rgba(255,255,255,.13);


  --navy-900:    #00182F;
  --navy-800:    #002145;
  --navy-700:    #002B57;
  --navy-600:    #002B57;
  --navy-300:    #6E88A6;
  --amber-700:   #002B57;
  --mist:        #EDF0F5;
  --mist-2:      #E2E7EE;
  --steel:       #D6DDE6;
  --ink-70:      #4E5D6E;
  --ink-50:      #6E7F91;

  --wrap:        1280px;
  --gut:         clamp(20px, 5vw, 64px);

  --chamfer:     18px;
  --chamfer-sm:  10px;

  --ff-display:  "Archivo", "Arial Narrow", sans-serif;
  --ff-body:     "IBM Plex Sans", system-ui, sans-serif;
  --ff-mono:     "IBM Plex Mono", ui-monospace, monospace;

  --ease:        cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--ff-body);
  font-size:16.5px;
  line-height:1.68;
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--ff-display); font-weight:800; line-height:1.04; letter-spacing:-.018em; }
p{ margin:0 0 1.05em; }
p:last-child{ margin-bottom:0; }

:focus-visible{ outline:3px solid var(--amber); outline-offset:3px; }

.g-wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }


.chamfer{
  clip-path:polygon(
    0 0,
    calc(100% - var(--chamfer)) 0,
    100% var(--chamfer),
    100% 100%,
    var(--chamfer) 100%,
    0 calc(100% - var(--chamfer))
  );
}
.chamfer-sm{
  clip-path:polygon(
    0 0,
    calc(100% - var(--chamfer-sm)) 0,
    100% var(--chamfer-sm),
    100% 100%,
    var(--chamfer-sm) 100%,
    0 calc(100% - var(--chamfer-sm))
  );
}

.chamfer-outline{ background:var(--steel); padding:1px; }
.chamfer-outline > *{ background:var(--paper); }


.g-eyebrow{
  font-family:var(--ff-mono);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--navy-600);
  display:flex;
  align-items:center;
  gap:12px;
}
.g-eyebrow::before{
  content:"";
  width:26px; height:2px;
  background:var(--amber);
  flex:none;
}
.g-eyebrow--light{ color:var(--amber); }
.g-eyebrow--light::before{ background:var(--amber); }

.g-h2{
  font-size:clamp(30px, 4.1vw, 54px);
  margin:18px 0 0;
  text-transform:uppercase;
  font-stretch:105%;
}
.g-h2 em{
  font-style:normal;
  background:linear-gradient(transparent 60%, rgba(255,186,8,.5) 60%);
  padding:0 .07em;
}
.g-h2 span{ font-style:normal; color:var(--amber); }

.g-lead{
  font-size:clamp(16px,1.35vw,18.5px);
  color:var(--ink-70);
  max-width:64ch;
  margin-top:18px;
}

.g-section{ padding:clamp(64px, 8vw, 120px) 0; }
.g-section--tight{ padding:clamp(48px, 6vw, 88px) 0; }
.g-section--mist{ background:var(--mist); }
.g-section--navy{ background:var(--navy-900); color:var(--on-navy); }
.g-section--navy .g-h2{ color:#fff; }
.g-section--navy .g-lead{ color:var(--on-navy); }


.g-btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ff-mono);
  font-size:12.5px; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase;
  padding:15px 26px;
  background:var(--amber); color:var(--navy-900);
  border:0; cursor:pointer;
  transition:background .18s var(--ease), transform .18s var(--ease);
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.g-btn:hover{ background:#fff; transform:translateY(-2px); }
.g-btn--ghost{ background:transparent; color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4); }
.g-btn--ghost:hover{ background:#fff; color:var(--navy-900); box-shadow:none; }
.g-btn--navy{ background:var(--navy); color:#fff; }
.g-btn--navy:hover{ background:var(--amber); color:var(--navy-900); }


.gct-topbar{
  background:var(--navy-900);
  font-family:var(--ff-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--on-navy-dim);
}
.gct-topbar__inner{
  max-width:var(--wrap); margin-inline:auto; padding:9px var(--gut);
  display:flex; align-items:center; justify-content:flex-end; gap:18px;
}
.gct-topbar__links{ display:flex; gap:26px; }
.gct-topbar__links a{ transition:color .16s; }
.gct-topbar__links a:hover{ color:var(--amber); }


.gct-header{
  background:var(--navy);
  position:sticky; top:0; z-index:120;
  box-shadow:0 1px 0 rgba(255,255,255,.09);
}
.gct-header__inner{
  max-width:var(--wrap); margin-inline:auto; padding:0 var(--gut);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  min-height:82px;
}
.gct-logo img{ height:46px; width:auto; }

.gct-nav > ul{ display:flex; align-items:center; gap:4px; }
.gct-nav > ul > li{ position:relative; }
.gct-nav > ul > li > a{
  display:flex; align-items:center; gap:7px;
  font-family:var(--ff-mono);
  font-size:12.5px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--on-navy);
  padding:30px 15px;
  position:relative;
  transition:color .16s;
}
.gct-nav > ul > li > a::after{
  content:""; position:absolute; left:15px; right:15px; bottom:24px;
  height:2px; background:var(--amber);
  transform:scaleX(0); transform-origin:left;
  transition:transform .22s var(--ease);
}
.gct-nav > ul > li > a:hover{ color:#fff; }
.gct-nav > ul > li > a:hover::after,
.gct-nav > ul > li.is-active > a::after{ transform:scaleX(1); }
.gct-nav > ul > li.is-active > a{ color:#fff; }
.gct-caret{ font-size:9px; opacity:.75; }

.gct-sub{
  position:absolute; top:100%; left:0;
  min-width:340px;
  background:var(--navy-900);
  padding:10px 0;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:.2s var(--ease);
  box-shadow:0 24px 46px rgba(0,15,35,.4);
  border-top:2px solid var(--amber);
}
.gct-has-sub:hover .gct-sub,
.gct-has-sub:focus-within .gct-sub{ opacity:1; visibility:visible; transform:translateY(0); }
.gct-sub a{
  display:block; padding:11px 22px;
  font-size:14px; color:var(--on-navy);
  border-left:2px solid transparent;
  transition:.16s;
}
.gct-sub a:hover{ background:rgba(255,255,255,.05); color:#fff; border-left-color:var(--amber); }

.gct-nav__close{ display:none; }

.gct-burger{
  display:none; width:44px; height:44px;
  position:relative; z-index:125;
  background:transparent; border:1.5px solid rgba(255,255,255,.3);
  cursor:pointer; padding:0;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.gct-burger span{ display:block; width:20px; height:2px; background:#fff; transition:.22s var(--ease); }
.gct-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.gct-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.gct-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


.gct-hero{
  position:relative;
  background:#000;
  min-height:clamp(520px, 74vh, 760px);
  display:flex; align-items:center;
  overflow:hidden;
}
.gct-hero__media{
  position:absolute; inset:0;
  background-size:cover; background-position:62% center;
  opacity:.62;
}
.gct-hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(94deg, rgba(0,20,42,.96) 0%, rgba(0,27,55,.86) 38%, rgba(0,27,55,.28) 72%, rgba(0,27,55,.55) 100%);
}
.gct-hero__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(90deg,#000 0%,#000 42%,transparent 78%);
}
.gct-hero__inner{
  position:relative; z-index:2;
  width:100%; max-width:var(--wrap); margin-inline:auto;
  padding:clamp(60px,8vw,96px) var(--gut);
}
.gct-hero__brand{
  font-family:var(--ff-mono);
  font-size:12px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--amber);
  display:flex; align-items:center; gap:14px;
}
.gct-hero__brand::before{ content:""; width:44px; height:2px; background:var(--amber); }
.gct-hero__title{
  font-size:clamp(30px, 5.1vw, 72px);
  color:#fff;
  text-transform:uppercase;
  margin:22px 0 0;
  max-width:none;
  font-stretch:108%;
  letter-spacing:-.028em;
  overflow-wrap:break-word;
  hyphens:auto;
}
.gct-hero__title .thin{ display:block; font-weight:400; color:var(--navy-300); }
.gct-hero__text{
  color:var(--on-navy); max-width:56ch; margin-top:26px;
  font-size:clamp(16px,1.5vw,19px);
}
.gct-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }


.gct-spec{
  background:var(--navy-900);
  border-top:1px solid rgba(255,255,255,.09);
}
.gct-spec__inner{
  max-width:var(--wrap); margin-inline:auto; padding:0 var(--gut);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.gct-spec__cell{
  padding:22px 4px 24px;
  border-left:1px solid rgba(255,255,255,.09);
  padding-left:22px;
}
.gct-spec__cell:first-child{ border-left:0; padding-left:0; }
.gct-spec__k{
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--on-navy-dim);
}
.gct-spec__v{
  font-family:var(--ff-display); font-weight:700;
  font-size:clamp(15px,1.6vw,20px); color:#fff; margin-top:7px;
  text-transform:uppercase; letter-spacing:-.01em;
}


.gct-intro__inner{
  max-width:var(--wrap); margin-inline:auto; padding:0 var(--gut);
  display:grid; grid-template-columns:1fr 1.02fr; gap:clamp(36px,5vw,80px);
  align-items:center;
}
.gct-intro__title{
  font-size:clamp(32px,4.4vw,58px);
  text-transform:uppercase; margin:18px 0 0;
  font-stretch:106%;
}
.gct-intro__title span{ color:var(--amber); }
.gct-intro__text{ color:var(--ink-70); margin-top:22px; font-size:17px; }
.gct-intro__meta{
  margin-top:32px; display:flex; flex-wrap:wrap; gap:10px;
}
.gct-tag{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--navy);
  padding:8px 14px; background:var(--mist-2);
  clip-path:polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px));
}
.gct-intro__images{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
}
.gct-intro__images img{ width:100%; height:100%; object-fit:cover; }
.gct-figure{ position:relative; overflow:hidden; background:var(--navy-900); margin:0; }
.gct-figure--tall{ grid-row:span 2; }
.gct-figure--wide{ aspect-ratio:5/4; }
.gct-figure img{ transition:transform .6s var(--ease); }
.gct-figure:hover img{ transform:scale(1.045); }


.gct-mission{
  background:var(--navy);
  color:#fff;
  position:relative; overflow:hidden;
}
.gct-mission::after{
  content:""; position:absolute; right:-90px; top:-90px;
  width:420px; height:420px;
  background:radial-gradient(circle, rgba(255,186,8,.16) 0%, transparent 68%);
}
.gct-mission__inner{
  max-width:var(--wrap); margin-inline:auto; padding:clamp(56px,6.5vw,92px) var(--gut);
  display:grid; grid-template-columns:auto 1fr; gap:clamp(28px,4vw,56px);
  align-items:start; position:relative; z-index:2;
}
.gct-mission__mark{
  font-family:var(--ff-display); font-weight:800;
  font-size:clamp(72px,9vw,140px); line-height:.7;
  color:var(--amber); opacity:.9;
}
.gct-mission__title{
  font-size:clamp(24px,2.9vw,40px);
  text-transform:uppercase; color:#fff; font-stretch:104%;
}
.gct-mission__text{
  margin-top:20px; color:var(--on-navy);
  font-size:clamp(16px,1.5vw,19px); max-width:70ch;
}


.gct-split__inner{
  max-width:var(--wrap); margin-inline:auto; padding:0 var(--gut);
  display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(34px,5vw,76px);
  align-items:center;
}
.gct-split--rev .gct-split__media{ order:2; }
.gct-split__media{ position:relative; }
.gct-split__media img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.gct-split__badge{
  position:absolute; left:0; bottom:0;
  background:var(--navy); color:#fff;
  padding:18px 22px; max-width:76%;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}
.gct-split__badge b{
  display:block; font-family:var(--ff-display); font-size:20px;
  text-transform:uppercase; letter-spacing:-.01em;
}
.gct-split__badge span{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--amber);
}
.gct-split__body{ margin-top:26px; color:var(--ink-70); }
.gct-split__body p{ margin-bottom:1.15em; }
.g-section--navy .gct-split__body{ color:var(--on-navy); }


.gct-svc__head{
  display:grid; grid-template-columns:1fr auto; gap:32px; align-items:end;
  margin-bottom:clamp(34px,4vw,56px);
}
.gct-svc__count{
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-50);
  white-space:nowrap; padding-bottom:8px;
}
.gct-svc__list{
  border-top:1px solid var(--steel);
}
.gct-svc-row{
  display:grid;
  grid-template-columns:88px minmax(0,1.05fr) minmax(0,1.25fr) 150px;
  gap:24px; align-items:center;
  padding:26px 0;
  border-bottom:1px solid var(--steel);
  position:relative;
  transition:background .22s var(--ease), padding .22s var(--ease);
}
.gct-svc-row::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--amber); transform:scaleY(0); transform-origin:top;
  transition:transform .26s var(--ease);
}
.gct-svc-row:hover{ background:var(--mist); padding-left:22px; padding-right:22px; }
.gct-svc-row:hover::before{ transform:scaleY(1); }
.gct-svc-row__no{
  font-family:var(--ff-mono); font-weight:600;
  font-size:15px; letter-spacing:.06em; color:var(--navy-600);
  display:flex; align-items:center; gap:12px;
}
.gct-svc-row__no i{
  width:10px; height:10px; background:var(--mist-2); display:block; flex:none;
  transform:rotate(45deg);
  transition:background .22s var(--ease);
}
.gct-svc-row:hover .gct-svc-row__no i{ background:var(--amber); }
.gct-svc-row__title{
  font-family:var(--ff-display); font-weight:700;
  font-size:clamp(17px,1.65vw,21px); line-height:1.2;
  text-transform:uppercase; letter-spacing:-.012em;
  color:var(--navy-900);
}
.gct-svc-row__text{ font-size:15.2px; color:var(--ink-70); line-height:1.6; }
.gct-svc-row__link{
  justify-self:end;
  font-family:var(--ff-mono); font-size:11.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--navy); display:inline-flex; align-items:center; gap:9px;
  white-space:nowrap;
  transition:gap .2s var(--ease), color .2s;
}
.gct-svc-row__link svg{ width:16px; height:16px; }
.gct-svc-row:hover .gct-svc-row__link{ color:var(--amber-700); gap:15px; }

.gct-svc-cta{
  margin-top:clamp(34px,4vw,52px);
  background:var(--navy);
  color:#fff;
  padding:clamp(30px,4vw,48px);
  display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center;
  position:relative; overflow:hidden;
}
.gct-svc-cta::after{
  content:""; position:absolute; right:-40px; bottom:-70px;
  width:260px; height:260px; border:38px solid rgba(255,255,255,.05);
  border-radius:50%;
}
.gct-svc-cta__label{
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--amber);
}
.gct-svc-cta__title{
  font-size:clamp(22px,2.6vw,34px); text-transform:uppercase;
  color:#fff; margin-top:12px; position:relative; z-index:2;
}
.gct-svc-cta > *{ position:relative; z-index:2; }


.gct-mfr__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--steel); border-left:1px solid var(--steel);
  margin-top:clamp(30px,4vw,50px);
}
.gct-mfr__cell{
  border-right:1px solid var(--steel); border-bottom:1px solid var(--steel);
  padding:26px 24px 28px;
  background:var(--paper);
  transition:background .22s var(--ease);
  position:relative;
}
.gct-mfr__cell:hover{ background:var(--navy); }
.gct-mfr__icon{
  width:42px; height:42px; display:block;
  transition:transform .3s var(--ease);
}
.gct-mfr__icon *{
  stroke:var(--navy);
  transition:stroke .22s var(--ease), fill .22s var(--ease);
}
.gct-mfr__icon .fill{ fill:var(--amber); stroke:none; }
.gct-mfr__cell:hover .gct-mfr__icon{ transform:translateX(3px); }
.gct-mfr__cell:hover .gct-mfr__icon *{ stroke:var(--amber); }
.gct-mfr__cell:hover .gct-mfr__icon .fill{ fill:#fff; stroke:none; }
.gct-mfr__brand{
  font-family:var(--ff-display); font-weight:700;
  font-size:clamp(17px,1.55vw,20px); text-transform:uppercase;
  color:var(--navy-900); margin-top:22px; line-height:1.15;
  transition:color .22s;
}
.gct-mfr__type{
  font-size:13.5px; color:var(--ink-70); margin-top:9px; line-height:1.45;
  transition:color .22s;
}
.gct-mfr__cell:hover .gct-mfr__no{ color:var(--amber); }
.gct-mfr__cell:hover .gct-mfr__brand{ color:#fff; }
.gct-mfr__cell:hover .gct-mfr__type{ color:var(--on-navy); }

.gct-mfr__bottom{
  display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(20px,3vw,40px);
  margin-top:clamp(30px,4vw,48px);
}
.gct-mfr__box{ background:var(--mist); padding:clamp(24px,3vw,36px); }
.gct-mfr__box--note{ background:var(--paper); box-shadow:inset 0 0 0 1px var(--steel); }
.gct-mfr__label{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--navy-600); margin-bottom:12px;
}
.gct-mfr__box p{ font-size:15px; color:var(--ink-70); }
.gct-mfr__sectors{ display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }


.gct-feat__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,2vw,24px);
  margin-top:clamp(34px,4vw,56px);
}
.gct-feat{
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.11);
  padding:30px 26px 32px;
  transition:background .24s var(--ease), transform .24s var(--ease);
}
.gct-feat:hover{ background:rgba(255,186,8,.1); transform:translateY(-5px); }
.gct-feat__icon{
  width:52px; height:52px;
  display:flex; align-items:center; justify-content:center;
  background:var(--amber);
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
.gct-feat__icon svg{ width:26px; height:26px; stroke:var(--navy-900); }
.gct-feat__title{
  font-size:clamp(16px,1.5vw,19.5px); text-transform:uppercase;
  color:#fff; margin-top:26px; line-height:1.22;
  overflow-wrap:break-word; hyphens:auto;
}


.gct-partner__inner{
  max-width:var(--wrap); margin-inline:auto; padding:0 var(--gut);
  display:grid; grid-template-columns:auto 1fr; gap:clamp(28px,4vw,60px);
  align-items:center;
}
.gct-partner__logo{
  background:var(--paper); padding:30px 34px;
  box-shadow:inset 0 0 0 1px var(--steel);
  width:100%; max-width:330px;
  display:flex; align-items:center;
  transition:box-shadow .22s var(--ease), transform .22s var(--ease);
}
.gct-partner__logo:hover{ box-shadow:inset 0 0 0 1px var(--navy-300); transform:translateY(-3px); }
.gct-partner__logo img{ width:100%; height:auto; }


.gct-contact__inner{
  max-width:var(--wrap); margin-inline:auto; padding:0 var(--gut);
  display:grid; grid-template-columns:1fr 1.03fr; gap:clamp(34px,5vw,72px);
  align-items:start;
}
.gct-contact__title{
  font-size:clamp(28px,3.6vw,46px); text-transform:uppercase; color:#fff;
  margin-top:18px;
}
.gct-contact__items{ margin-top:34px; display:grid; gap:2px; }
.gct-contact__items li{
  display:flex; gap:18px; align-items:flex-start;
  padding:18px 20px;
  background:rgba(255,255,255,.04);
  transition:background .2s var(--ease);
}
.gct-contact__items li:hover{ background:rgba(255,255,255,.08); }
.gct-contact__ico{
  width:40px; height:40px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--amber);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.gct-contact__ico svg{ width:19px; height:19px; stroke:var(--navy-900); fill:none; stroke-width:1.7; }
.gct-contact__k{
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--amber); display:block;
}
.gct-contact__v{ color:#fff; font-size:16px; margin-top:4px; display:block; }
a.gct-contact__v:hover{ color:var(--amber); }

.gct-reg{
  margin-top:24px; display:grid; grid-template-columns:1fr 1fr; gap:2px;
}
.gct-reg div{ background:rgba(255,255,255,.04); padding:16px 20px; }
.gct-reg strong{
  display:block; font-family:var(--ff-mono); font-size:10.5px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--on-navy-dim); font-weight:500;
}
.gct-reg span{ color:#fff; font-family:var(--ff-mono); font-size:15px; margin-top:6px; display:block; }


.gct-form{ background:var(--paper); padding:clamp(28px,3.4vw,44px); }
.gct-form__title{
  font-size:clamp(22px,2.4vw,30px); text-transform:uppercase; color:var(--navy-900);
}
.gct-form__note{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.02em;
  color:var(--ink-50); margin-top:8px;
}
.gct-field{ margin-top:20px; }
.gct-field label{
  display:block; font-family:var(--ff-mono); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--navy-600); margin-bottom:8px;
}
.gct-req{ color:var(--amber-700); }
.gct-field input,
.gct-field textarea{
  width:100%; font-family:var(--ff-body); font-size:15.5px; color:var(--ink);
  padding:13px 15px; background:var(--mist);
  border:0; box-shadow:inset 0 0 0 1px var(--steel);
  transition:box-shadow .18s var(--ease), background .18s;
}
.gct-field input:focus,
.gct-field textarea:focus{
  outline:none; background:#fff;
  box-shadow:inset 0 0 0 2px var(--navy-600);
}
.gct-field textarea{ resize:vertical; min-height:132px; }
.gct-counter{
  font-family:var(--ff-mono); font-size:11px; color:var(--ink-50);
  text-align:right; margin-top:6px;
}
.honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.captcha-row{ display:flex; align-items:center; gap:11px; flex-wrap:wrap; }
.captcha-img{ height:46px; box-shadow:inset 0 0 0 1px var(--steel); }
.captcha-reload{
  width:46px; height:46px; flex:none; cursor:pointer;
  background:var(--mist); border:0; box-shadow:inset 0 0 0 1px var(--steel);
  font-size:17px; color:var(--navy); transition:.18s;
}
.captcha-reload:hover{ background:var(--amber); color:var(--navy-900); }
.captcha-input{ flex:1; min-width:130px; }
.gct-form__submit{
  margin-top:26px; width:100%; justify-content:center;
}


.gct-footer{ background:var(--navy-900); color:var(--on-navy-dim); }
.gct-footer__top{
  max-width:var(--wrap); margin-inline:auto; padding:clamp(44px,5vw,68px) var(--gut);
  display:grid; grid-template-columns:1.5fr 1.15fr .85fr .95fr; gap:clamp(26px,3vw,44px);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.gct-footer__logo img{ height:52px; width:auto; }
.gct-footer__about{ margin-top:20px; font-size:14.5px; max-width:42ch; }
.gct-footer__cert{ margin-top:24px; }
.gct-footer__cert img{ display:block; width:80px; height:auto; }
.gct-footer h4{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--amber); font-weight:500; margin-bottom:16px;
}
.gct-footer__links li{ margin-bottom:9px; }
.gct-footer__links a{ font-size:14.5px; transition:color .16s; }
.gct-footer__links a:hover{ color:#fff; }
.gct-footer__bottom{
  max-width:var(--wrap); margin-inline:auto; padding:20px var(--gut);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.08em;
}


.gct-top{
  position:fixed; right:22px; bottom:22px; z-index:130;
  width:48px; height:48px; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; border:0;
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:.26s var(--ease);
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
.gct-top.is-on{ opacity:1; visibility:visible; transform:translateY(0); }
.gct-top:hover{ background:var(--amber); color:var(--navy-900); }
.gct-top svg{ width:19px; height:19px; }


.gct-call{
  position:fixed; right:80px; bottom:22px; z-index:130;
  width:48px; height:48px; background:var(--navy); color:#fff;
  display:none; align-items:center; justify-content:center;
  text-decoration:none;
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
  transition:.26s var(--ease);
}
.gct-call svg{ width:19px; height:19px; }
.gct-call:hover,
.gct-call:focus-visible{ background:var(--amber); color:var(--navy-900); }

@media (max-width:980px){
  .gct-call{ display:flex; }
}


.reveal{ opacity:0; transform:translateY(22px); }
.reveal.is-in{ opacity:1; transform:none; transition:opacity .7s var(--ease), transform .7s var(--ease); }

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


@media (max-width:1100px){
  .gct-svc-row{ grid-template-columns:70px minmax(0,1fr) 130px; }
  .gct-svc-row__text{ grid-column:2 / -1; grid-row:2; margin-top:6px; }
  .gct-mfr__grid{ grid-template-columns:repeat(2,1fr); }
  .gct-feat__grid{ grid-template-columns:repeat(2,1fr); }
  .gct-spec__inner{ grid-template-columns:repeat(2,1fr); }
  .gct-spec__cell:nth-child(3){ border-left:0; padding-left:0; }
  .gct-spec__cell:nth-child(n+3){ border-top:1px solid rgba(255,255,255,.09); }
}

@media (max-width:980px){
  .gct-header__inner{ min-height:72px; }
  .gct-burger{ display:flex; }
  .gct-nav{
    position:fixed; inset:0 0 0 auto; width:min(360px,86vw);
    background:var(--navy-900); padding:96px 26px 40px;
    transform:translateX(101%); transition:transform .3s var(--ease);
    overflow-y:auto; z-index:115;
  }
  .gct-nav.is-open{ transform:none; }
  .gct-nav__close{
    display:flex; align-items:center; justify-content:center;
    position:absolute; top:22px; right:22px;
    width:46px; height:46px; padding:0;
    background:transparent; color:#fff; cursor:pointer;
    border:1.5px solid rgba(255,255,255,.28);
    transition:background .18s var(--ease), color .18s var(--ease), border-color .18s;
    clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
  }
  .gct-nav__close svg{ width:20px; height:20px; }
  .gct-nav__close:hover,
  .gct-nav__close:focus-visible{ background:var(--amber); color:var(--navy-900); border-color:var(--amber); }

  .gct-nav.is-open ~ .gct-burger{ opacity:0; visibility:hidden; }
  .gct-burger{ transition:opacity .2s var(--ease), visibility .2s; }
  .gct-nav::before{
    content:""; position:fixed; inset:0; z-index:-1;
    background:rgba(0,15,32,.6);
    opacity:0; pointer-events:none; transition:opacity .3s var(--ease);
  }
  .gct-nav.is-open::before{ opacity:1; }
  .gct-nav > ul > li.is-active > a{ color:var(--amber); }
  .gct-nav > ul > li.is-active{ box-shadow:inset 2px 0 0 var(--amber); padding-left:12px; }
  .gct-nav > ul{ flex-direction:column; align-items:stretch; gap:0; }
  .gct-nav > ul > li > a{ padding:15px 0; justify-content:space-between; }
  .gct-nav > ul > li > a::after{ display:none; }
  .gct-nav > ul > li{ border-bottom:1px solid rgba(255,255,255,.09); }
  .gct-sub{
    position:static; opacity:1; visibility:visible; transform:none;
    min-width:0; box-shadow:none; background:transparent;
    border-top:0; border-left:2px solid rgba(255,186,8,.4);
    margin:0 0 14px 4px; padding:0 0 0 0; display:none;
  }
  .gct-has-sub.is-open .gct-sub{ display:block; }
  .gct-sub a{ padding:10px 16px; font-size:13.5px; }

  .gct-intro__inner,
  .gct-split__inner,
  .gct-contact__inner,
  .gct-partner__inner{ grid-template-columns:1fr; }
  .gct-split--rev .gct-split__media{ order:0; }
  .gct-split__media img{ aspect-ratio:16/10; }
  .gct-mission__inner{ grid-template-columns:1fr; }
  .gct-mfr__bottom{ grid-template-columns:1fr; }
  .gct-svc__head{ grid-template-columns:1fr; }
  .gct-svc-cta{ grid-template-columns:1fr; }
  .gct-footer__top{ grid-template-columns:1fr 1fr; }
}

@media (max-width:640px){
  body{ font-size:16px; }
  .gct-topbar__links{ gap:16px; width:100%; justify-content:space-between; }
  .gct-topbar__inner{ justify-content:center; }
  .gct-logo img{ height:38px; }


  .gct-hero{ min-height:clamp(460px,80vh,640px); }
  .gct-hero__inner{ padding-top:48px; padding-bottom:48px; }
  .gct-hero__title{ font-stretch:100%; max-width:none; letter-spacing:-.032em; }
  .gct-hero__brand{ font-size:11px; letter-spacing:.22em; gap:10px; }
  .gct-hero__brand::before{ width:28px; }
  .gct-hero__text{ margin-top:20px; }
  .gct-hero__cta{ margin-top:28px; gap:10px; }
  .gct-hero__cta .g-btn{ flex:1 1 auto; justify-content:center; padding-inline:16px; }
  .gct-hero__media{ background-position:70% center; }

  .gct-mission__inner{ gap:8px; }
  .gct-mission__mark{ font-size:64px; }
  .gct-svc-cta .g-btn{ justify-content:center; }
  .gct-partner__logo{ max-width:none; }
  .gct-top{ right:14px; bottom:14px; width:44px; height:44px; }

  .gct-call{ right:68px; bottom:14px; width:44px; height:44px; }
  .gct-spec__cell{ padding-top:16px; padding-bottom:16px; }

  .gct-svc-row{ grid-template-columns:52px 1fr; padding:22px 0; row-gap:4px; }
  .gct-svc-row__link{ grid-column:2; justify-self:start; margin-top:10px; }
  .gct-svc-row:hover{ padding-left:12px; padding-right:12px; }
  .gct-mfr__grid{ grid-template-columns:1fr 1fr; }
  .gct-mfr__cell{ padding:20px 16px 22px; }
  .gct-mfr__brand{ margin-top:16px; font-size:15px; }
  .gct-mfr__type{ font-size:12.5px; }
  .gct-mfr__icon{ width:34px; height:34px; }
  .gct-feat__grid{ grid-template-columns:1fr; }
  .gct-spec__inner{ grid-template-columns:1fr 1fr; }
  .gct-spec__cell{ border-top:1px solid rgba(255,255,255,.09); }
  .gct-spec__cell:nth-child(odd){ border-left:0; padding-left:0; }
  .gct-spec__cell:nth-child(-n+2){ border-top:0; }
  .gct-intro__images{ grid-template-columns:1fr 1fr; }
  .gct-figure--tall{ grid-row:auto; aspect-ratio:5/4; grid-column:span 2; }
  .gct-footer__top{ grid-template-columns:1fr; }
  .gct-reg{ grid-template-columns:1fr; }
}


.gct-page-hero{
  position:relative; background:var(--navy-900); overflow:hidden;
  padding:clamp(48px,6vw,86px) 0 clamp(44px,5vw,72px);
}
.gct-page-hero__media{
  position:absolute; inset:0; background-size:cover; background-position:center; opacity:.3;
}
.gct-page-hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(92deg, rgba(0,20,42,.96) 0%, rgba(0,27,55,.86) 46%, rgba(0,27,55,.5) 100%);
}
.gct-page-hero__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,#000 0%,#000 40%,transparent 82%);
}
.gct-page-hero__inner{
  position:relative; z-index:2;
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
}
.gct-crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:9px;
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--on-navy-dim); margin-bottom:26px;
}
.gct-crumbs a{ transition:color .16s; }
.gct-crumbs a:hover{ color:var(--amber); }
.gct-crumbs span[aria-current]{ color:#fff; }
.gct-crumbs i{ font-style:normal; color:var(--on-navy-dim); color:var(--on-navy-dim); }

.gct-page-hero__tag{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--navy-900);
  background:var(--amber); padding:8px 14px;
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.gct-page-hero__tag svg{ width:15px; height:15px; stroke:var(--navy-900); fill:none; stroke-width:1.8; }
.gct-page-hero__title{
  font-size:clamp(28px,4.6vw,62px); color:#fff; text-transform:uppercase;
  margin:20px 0 0; max-width:20ch; font-stretch:104%;
  overflow-wrap:break-word; hyphens:auto;
}
.gct-page-hero__lead{
  color:var(--on-navy); margin-top:22px; max-width:62ch;
  font-size:clamp(16px,1.4vw,18.5px);
}


.gct-svcpage__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  display:grid; grid-template-columns:1fr 320px; gap:clamp(32px,4vw,64px);
  align-items:start;
}
.gct-prose p{ font-size:17px; color:var(--ink-70); margin-bottom:1.15em; }
.gct-prose h3{
  font-size:clamp(20px,2.1vw,27px); text-transform:uppercase;
  color:var(--navy-900); margin:34px 0 14px;
}
.gct-prose ul{ margin:0 0 1.3em; display:grid; gap:11px; }
.gct-prose ul li{
  position:relative; padding-left:26px; color:var(--ink-70); font-size:16px;
}
.gct-prose ul li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:9px; height:9px; background:var(--amber); transform:rotate(45deg);
}

.gct-aside{ position:sticky; top:110px; }
.gct-aside__box{ background:var(--mist); padding:26px 24px 28px; }
.gct-aside__box + .gct-aside__box{ margin-top:16px; }
.gct-aside__title{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--navy-600); margin-bottom:16px;
}
.gct-aside__list li + li{ border-top:1px solid var(--steel); }
.gct-aside__list a{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:13px 0; font-size:14.6px; color:var(--navy-900); line-height:1.35;
  transition:color .18s var(--ease), padding .18s var(--ease);
}
.gct-aside__list a::after{
  content:"→"; font-family:var(--ff-mono); color:var(--navy-300);
  transition:color .18s, transform .18s var(--ease);
}
.gct-aside__list a:hover{ color:var(--navy-600); padding-left:8px; }
.gct-aside__list a:hover::after{ color:var(--amber-700); transform:translateX(3px); }
.gct-aside__list li.is-current a{
  color:var(--navy-600); font-weight:600;
  box-shadow:inset 3px 0 0 var(--amber); padding-left:12px;
}
.gct-aside__list li.is-current a::after{ content:"●"; color:var(--amber); font-size:9px; }

.gct-aside__cta{ background:var(--navy); color:#fff; padding:26px 24px 28px; }
.gct-aside__cta p{ font-size:15px; color:var(--on-navy); margin:0 0 18px; }
.gct-aside__cta .gct-aside__title{ color:var(--amber); }


.gct-gal{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr));
  gap:12px; margin-top:clamp(28px,3.4vw,44px);
}
.gct-gal__item{
  position:relative; display:block; aspect-ratio:4/3;
  background:var(--navy-900); overflow:hidden;
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.gct-gal__item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .55s var(--ease), opacity .35s var(--ease);
}
.gct-gal__item::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,27,55,0) 40%, rgba(0,27,55,.75) 100%);
  opacity:0; transition:opacity .3s var(--ease);
}
.gct-gal__zoom{
  position:absolute; right:12px; bottom:12px; z-index:2;
  width:34px; height:34px; background:var(--amber);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(8px);
  transition:opacity .3s var(--ease), transform .3s var(--ease);
  clip-path:polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px));
}
.gct-gal__zoom svg{ width:16px; height:16px; stroke:var(--navy-900); fill:none; stroke-width:2; }
.gct-gal__item:hover img{ transform:scale(1.07); }
.gct-gal__item:hover::after,
.gct-gal__item:hover .gct-gal__zoom{ opacity:1; transform:translateY(0); }


.gct-lb{
  position:fixed; inset:0; z-index:200;
  background:rgba(0,14,30,.95);
  display:none; align-items:center; justify-content:center;
  padding:clamp(16px,4vw,56px);
}
.gct-lb.is-open{ display:flex; }
.gct-lb__img{
  max-width:100%; max-height:82vh; object-fit:contain;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.gct-lb__btn{
  position:absolute; width:52px; height:52px; cursor:pointer;
  background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  transition:background .18s var(--ease), color .18s;
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.gct-lb__btn:hover{ background:var(--amber); color:var(--navy-900); border-color:var(--amber); }
.gct-lb__btn svg{ width:22px; height:22px; }
.gct-lb__close{ top:20px; right:20px; }
.gct-lb__prev{ left:16px; top:50%; margin-top:-26px; }
.gct-lb__next{ right:16px; top:50%; margin-top:-26px; }
.gct-lb__count{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
  font-family:var(--ff-mono); font-size:12px; letter-spacing:.18em; color:var(--on-navy);
}


.gct-pos{ display:grid; gap:14px; margin-top:clamp(28px,3.4vw,44px); }
.gct-pos__card{ background:var(--paper); box-shadow:inset 0 0 0 1px var(--steel); }
.gct-pos__card.is-open{ box-shadow:inset 0 0 0 1px var(--navy-300); }
.gct-pos__head{
  width:100%; text-align:left; cursor:pointer; background:transparent; border:0;
  display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center;
  padding:22px clamp(18px,2.4vw,30px);
  font:inherit; color:inherit;
  transition:background .2s var(--ease);
}
.gct-pos__head:hover{ background:var(--mist); }
.gct-pos__no{
  display:block;
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-50);
}
.gct-pos__title{
  display:block;
  font-family:var(--ff-display); font-weight:700;
  font-size:clamp(18px,1.9vw,25px); text-transform:uppercase;
  color:var(--navy-900); margin-top:7px; line-height:1.16;
}
.gct-pos__badge{
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--navy-600);
  padding:7px 12px; box-shadow:inset 0 0 0 1px var(--navy-300);
  white-space:nowrap;
}
.gct-pos__badge--junior{ color:#1E7B45; box-shadow:inset 0 0 0 1px #57B37E; }
.gct-pos__chev{
  width:26px; height:26px; flex:none; color:var(--navy-600);
  transition:transform .3s var(--ease);
}
.gct-pos__card.is-open .gct-pos__chev{ transform:rotate(180deg); }
.gct-pos__body{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .34s var(--ease);
}
.gct-pos__card.is-open .gct-pos__body{ grid-template-rows:1fr; }
.gct-pos__inner{ overflow:hidden; }
.gct-pos__pad{
  padding:4px clamp(18px,2.4vw,30px) 28px;
  border-top:1px solid var(--steel);
  margin-top:4px; padding-top:26px;
}
.gct-pos__note{
  font-family:var(--ff-mono); font-size:12px; letter-spacing:.1em;
  color:var(--navy-900); background:rgba(255,186,8,.22);
  display:inline-block; padding:8px 14px; margin-bottom:22px;
}
.gct-pos__cols{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,44px); }
.gct-pos__cols h4{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--navy-600); font-weight:500; margin-bottom:14px;
}
.gct-pos__cols ul{ display:grid; gap:10px; }
.gct-pos__cols li{
  position:relative; padding-left:24px; font-size:15.4px; color:var(--ink-70); line-height:1.5;
}
.gct-pos__cols li::before{
  content:""; position:absolute; left:0; top:.58em;
  width:8px; height:8px; background:var(--amber); transform:rotate(45deg);
}
.gct-pos__apply{ margin-top:26px; }

.gct-benefits{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:2px; margin-top:clamp(28px,3.4vw,44px);
  background:rgba(255,255,255,.12);
}
.gct-benefit{ background:var(--navy-900); padding:28px 24px 30px; }
.gct-benefit__icon{
  width:46px; height:46px; background:var(--amber);
  display:flex; align-items:center; justify-content:center;
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.gct-benefit__icon svg{ width:23px; height:23px; stroke:var(--navy-900); fill:none; stroke-width:1.7; }
.gct-benefit__title{
  font-size:clamp(16px,1.4vw,19px); text-transform:uppercase; color:#fff;
  margin-top:20px; line-height:1.2;
}
.gct-benefit__desc{ font-size:14.5px; color:var(--on-navy); margin-top:10px; line-height:1.5; }

.gct-cta-band{
  background:var(--navy); color:#fff; position:relative; overflow:hidden;
  padding:clamp(40px,5vw,68px) clamp(26px,4vw,56px);
  display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center;
  margin-top:clamp(34px,4vw,56px);
}
.gct-cta-band::after{
  content:""; position:absolute; right:-60px; bottom:-90px;
  width:280px; height:280px; border:40px solid rgba(255,255,255,.05); border-radius:50%;
}
.gct-cta-band > *{ position:relative; z-index:2; }
.gct-cta-band h2{ font-size:clamp(24px,3vw,40px); text-transform:uppercase; }
.gct-cta-band h2 span{ color:var(--amber); }
.gct-cta-band p{ color:var(--on-navy); margin-top:14px; max-width:52ch; }


.gct-contact-page .gct-contact__inner{ align-items:start; }
.gct-map{
  margin-top:24px; background:var(--mist); position:relative;
  aspect-ratio:16/9; overflow:hidden;
}
.gct-map iframe{ width:100%; height:100%; border:0; display:block; }


@media (max-width:980px){
  .gct-svcpage__inner{ grid-template-columns:1fr; }
  .gct-aside{ position:static; }
  .gct-pos__cols{ grid-template-columns:1fr; }
  .gct-cta-band{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .gct-gal{ grid-template-columns:repeat(2,1fr); gap:9px; }
  .gct-pos__head{ grid-template-columns:1fr auto; row-gap:12px; }
  .gct-pos__badge{ grid-column:1; justify-self:start; }
  .gct-pos__chev{ grid-column:2; grid-row:2; }
  .gct-lb__prev{ left:8px; }
  .gct-lb__next{ right:8px; }
  .gct-lb__btn{ width:44px; height:44px; }
}


.gct-jump{
  background:var(--navy-900);
  border-top:1px solid rgba(255,255,255,.09);
  position:sticky; top:82px; z-index:90;
}
.gct-jump__inner{
  max-width:var(--wrap); margin-inline:auto;
  display:flex; gap:2px; overflow-x:auto;
  scrollbar-width:none; -ms-overflow-style:none;
  padding-inline:var(--gut);
}
.gct-jump__inner::-webkit-scrollbar{ display:none; }
.gct-jump__chip{
  display:flex; align-items:center; gap:9px; flex:none;
  padding:16px 18px;
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--on-navy); white-space:nowrap;
  border-bottom:2px solid transparent;
  transition:color .18s var(--ease), border-color .18s var(--ease), background .18s;
}
.gct-jump__chip span{ color:var(--navy-300); font-weight:600; }
.gct-jump__chip:hover{ color:#fff; background:rgba(255,255,255,.05); }
.gct-jump__chip.is-current{ color:#fff; border-bottom-color:var(--amber); }
.gct-jump__chip.is-current span{ color:var(--amber); }


.gct-svcblock{
  padding:clamp(56px,7vw,104px) 0;
  scroll-margin-top:140px;
  border-bottom:1px solid var(--steel);
}
.gct-svcblock:nth-of-type(even){ background:var(--mist); }
.gct-svcblock__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(32px,5vw,76px);
  align-items:center;
}
.gct-svcblock--rev .gct-svcblock__media{ order:2; }
.gct-svcblock__media{ position:relative; }
.gct-svcblock__media img{
  width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
}
.gct-svcblock__no{
  position:absolute; left:0; bottom:0;
  font-family:var(--ff-display); font-weight:800;
  font-size:clamp(30px,3.6vw,48px); line-height:1;
  color:var(--navy-900); background:var(--amber);
  padding:12px 18px 10px;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}
.gct-svcblock__tag{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--navy-600);
  padding:8px 14px; background:var(--paper);
  box-shadow:inset 0 0 0 1px var(--steel);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.gct-svcblock:nth-of-type(even) .gct-svcblock__tag{ background:var(--paper); }
.gct-svcblock__tag svg{ width:15px; height:15px; stroke:var(--navy-600); fill:none; stroke-width:1.8; }
.gct-svcblock__title{
  font-size:clamp(24px,3.4vw,44px); text-transform:uppercase;
  color:var(--navy-900); margin:20px 0 0; font-stretch:104%;
  overflow-wrap:break-word; hyphens:auto;
}
.gct-svcblock__text{
  margin-top:20px; color:var(--ink-70);
  font-size:clamp(16px,1.4vw,18px); max-width:60ch;
}
.gct-svcblock__link{
  display:inline-flex; align-items:center; gap:11px; margin-top:26px;
  font-family:var(--ff-mono); font-size:12px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--navy);
  transition:gap .2s var(--ease), color .2s;
}
.gct-svcblock__link svg{ width:17px; height:17px; }
.gct-svcblock__link:hover{ color:var(--amber-700); gap:17px; }

@media (max-width:980px){
  .gct-jump{ top:72px; }
  .gct-svcblock__inner{ grid-template-columns:1fr; }
  .gct-svcblock--rev .gct-svcblock__media{ order:0; }
  .gct-svcblock{ scroll-margin-top:126px; }
}
@media (max-width:640px){
  .gct-jump__chip{ padding:13px 14px; font-size:11px; }
  .gct-svcblock__media img{ aspect-ratio:16/10; }
  .gct-svcblock{ scroll-margin-top:118px; }
}


.gct-header__cta{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--ff-mono); font-size:12px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  background:var(--amber); color:var(--navy-900);
  padding:13px 20px; white-space:nowrap;
  transition:background .18s var(--ease), transform .18s var(--ease);
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
.gct-header__cta:hover{ background:#fff; transform:translateY(-2px); }
.gct-header__right{ display:flex; align-items:center; gap:20px; }


.gct-hero__facts{
  display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:34px;
  padding-top:26px; border-top:1px solid rgba(255,255,255,.14);
  max-width:44em;
}
.gct-hero__fact{
  display:flex; align-items:center; gap:10px;
  font-family:var(--ff-mono); font-size:11.5px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--on-navy);
}
.gct-hero__fact svg{ width:17px; height:17px; stroke:var(--amber); fill:none; stroke-width:1.9; flex:none; }


.gct-shead{
  display:grid; grid-template-columns:1.08fr 1fr; gap:clamp(24px,4vw,64px);
  align-items:end; margin-bottom:clamp(30px,4vw,52px);
}
.gct-shead__title{
  font-size:clamp(27px,3.5vw,46px); text-transform:none;
  letter-spacing:-.022em; margin-top:16px; line-height:1.1;
}
.gct-shead__title span{ color:var(--amber-700); }
.g-section--navy .gct-shead__title{ color:#fff; }
.g-section--navy .gct-shead__title span{ color:var(--amber); }
.gct-shead__side{ color:var(--ink-70); font-size:16.5px; padding-bottom:6px; }
.g-section--navy .gct-shead__side{ color:var(--on-navy); }


.gct-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.gct-card{
  display:flex; flex-direction:column;
  background:var(--paper); padding:26px 24px 22px;
  box-shadow:inset 0 0 0 1px var(--steel);
  position:relative;
  transition:box-shadow .24s var(--ease), transform .24s var(--ease);
  clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.gct-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--amber); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease);
}
.gct-card:hover{ transform:translateY(-6px); box-shadow:inset 0 0 0 1px var(--navy-300), 0 18px 40px rgba(0,50,101,.11); }
.gct-card:hover::before{ transform:scaleX(1); }
.gct-card__icon{
  width:48px; height:48px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:var(--mist);
  transition:background .24s var(--ease);
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
.gct-card__icon svg{ width:23px; height:23px; stroke:var(--navy); fill:none; stroke-width:1.7; transition:stroke .24s; }
.gct-card:hover .gct-card__icon{ background:var(--amber); }
.gct-card:hover .gct-card__icon svg{ stroke:var(--navy-900); }
.gct-card__title{
  font-family:var(--ff-display); font-weight:700;
  font-size:17.5px; line-height:1.22; letter-spacing:-.008em;
  color:var(--navy-900); margin-top:20px;
}
.gct-card__text{
  font-size:14.6px; color:var(--ink-70); line-height:1.55; margin-top:11px; flex:1;
}
.gct-card__go{
  margin-top:20px; padding-top:16px; border-top:1px solid var(--steel);
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--ff-mono); font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--navy-600);
  transition:color .2s;
}
.gct-card__go svg{ width:17px; height:17px; transition:transform .24s var(--ease); }
.gct-card:hover .gct-card__go{ color:var(--amber-700); }
.gct-card:hover .gct-card__go svg{ transform:translateX(5px); }


.gct-card--cta{
  background:var(--navy); box-shadow:none; justify-content:space-between;
}
.gct-card--cta:hover{ box-shadow:0 18px 40px rgba(0,50,101,.28); }
.gct-card--cta::before{ background:var(--amber); transform:scaleX(1); }
.gct-card--cta .gct-card__title{ color:#fff; font-size:22px; }
.gct-card--cta .gct-card__text{ color:var(--on-navy); }
.gct-card--cta .gct-card__icon{ background:rgba(255,255,255,.12); }
.gct-card--cta .gct-card__icon svg{ stroke:var(--amber); }
.gct-card--cta:hover .gct-card__icon{ background:var(--amber); }
.gct-card--cta .gct-card__go{ border-top-color:rgba(255,255,255,.18); color:var(--amber); }


.gct-databand{ position:relative; overflow:hidden; background:var(--navy-900); }
.gct-databand__media{
  position:absolute; inset:0; background-size:cover; background-position:center; opacity:.26;
}
.gct-databand__scrim{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(0,27,55,.93), rgba(0,27,55,.72));
}
.gct-databand__inner{
  position:relative; z-index:2;
  max-width:var(--wrap); margin-inline:auto; padding:clamp(44px,5vw,72px) var(--gut);
  display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,40px);
}
.gct-stat{ text-align:left; }
.gct-stat__icon{
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.09);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.gct-stat__icon svg{ width:21px; height:21px; stroke:var(--amber); fill:none; stroke-width:1.7; }
.gct-stat__v{
  font-family:var(--ff-display); font-weight:800;
  font-size:clamp(22px,2.7vw,34px); color:#fff; margin-top:18px;
  letter-spacing:-.02em; line-height:1.06;
}
.gct-stat__k{
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--amber); margin-top:10px;
}
.gct-stat__d{ font-size:14px; color:var(--on-navy); margin-top:9px; line-height:1.5; }


.gct-trust{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
  margin-top:clamp(30px,4vw,50px);
}
.gct-trust__item{
  background:var(--paper); padding:28px 24px 30px;
  box-shadow:inset 0 0 0 1px var(--steel);
  transition:box-shadow .24s var(--ease), transform .24s var(--ease);
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}
.gct-trust__item:hover{ transform:translateY(-5px); box-shadow:inset 0 0 0 1px var(--navy-300), 0 16px 34px rgba(0,50,101,.1); }
.gct-trust__icon{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--mist); box-shadow:inset 0 0 0 1px var(--steel);
  transition:background .24s var(--ease), box-shadow .24s;
}
.gct-trust__icon svg{ width:24px; height:24px; stroke:var(--navy); fill:none; stroke-width:1.7; }
.gct-trust__item:hover .gct-trust__icon{ background:var(--amber); box-shadow:none; }
.gct-trust__item:hover .gct-trust__icon svg{ stroke:var(--navy-900); }
.gct-trust__title{
  font-family:var(--ff-display); font-weight:700; font-size:17.5px;
  color:var(--navy-900); margin-top:20px; line-height:1.24; letter-spacing:-.008em;
}


.gct-contact2{ background:var(--mist); }
.gct-contact2__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  display:grid; grid-template-columns:.92fr 1.08fr; align-items:stretch;
  box-shadow:0 26px 60px rgba(0,50,101,.13);
}
.gct-contact2__panel{
  position:relative; overflow:hidden; background:var(--navy-900);
  padding:clamp(32px,4vw,52px);
  display:flex; flex-direction:column; justify-content:center;
}
.gct-contact2__media{
  position:absolute; inset:0; background-size:cover; background-position:center; opacity:.22;
}
.gct-contact2__scrim{ position:absolute; inset:0; background:linear-gradient(160deg, rgba(0,27,55,.9), rgba(0,50,101,.82)); }
.gct-contact2__panel > *{ position:relative; z-index:2; }
.gct-contact2__title{
  font-size:clamp(26px,2.9vw,38px); color:#fff; margin-top:16px;
  text-transform:none; letter-spacing:-.02em; line-height:1.12;
}
.gct-contact2__title span{ color:var(--amber); }
.gct-contact2__lead{ color:var(--on-navy); margin-top:16px; font-size:15.5px; }
.gct-contact2__form{ background:var(--paper); padding:clamp(30px,3.4vw,48px); }

@media (max-width:1100px){
  .gct-cards{ grid-template-columns:repeat(2,1fr); }
  .gct-trust{ grid-template-columns:repeat(2,1fr); }
  .gct-databand__inner{ grid-template-columns:repeat(2,1fr); row-gap:34px; }
}
@media (max-width:980px){
  .gct-header__cta{ display:none; }
  .gct-shead{ grid-template-columns:1fr; align-items:start; }
  .gct-contact2__inner{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .gct-cards{ grid-template-columns:1fr; }
  .gct-trust{ grid-template-columns:1fr; }
  .gct-databand__inner{ grid-template-columns:1fr; row-gap:28px; }
  .gct-hero__facts{ gap:12px; padding-top:22px; margin-top:26px; }
}


.mark{
  background:linear-gradient(transparent 58%, rgba(255,186,8,.55) 58%);
  padding:0 .08em;
}
.on-dark .mark{ background:none; color:var(--amber); }


.hx{ position:relative; background:var(--paper); padding-bottom:clamp(40px,5vw,72px); }
.hx__img{
  height:clamp(320px,46vw,560px);
  background-size:cover; background-position:center 46%;
  position:relative;
}
.hx__img::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(97deg, rgba(0,24,47,.88) 0%, rgba(0,24,47,.52) 42%, rgba(0,24,47,.18) 72%, rgba(0,24,47,.4) 100%),
    linear-gradient(180deg, rgba(0,24,47,.42) 0%, rgba(0,24,47,0) 38%);
}
.hx__wrap{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  position:relative; z-index:3;
}
.hx__panel{
  background:var(--navy); color:#fff;
  width:min(760px,100%);
  margin-top:clamp(-260px,-19vw,-140px);
  padding:clamp(30px,3.6vw,52px) clamp(26px,3.4vw,52px) clamp(30px,3.4vw,46px);
  position:relative;
  clip-path:polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 26px 100%, 0 calc(100% - 26px));
}
.hx__eyebrow{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--amber);
  display:flex; align-items:center; gap:12px;
}
.hx__eyebrow::before{ content:""; width:32px; height:2px; background:var(--amber); flex:none; }
.hx__title{
  font-size:clamp(29px,3.6vw,50px); line-height:1.04;
  letter-spacing:-.03em; text-transform:uppercase; margin:20px 0 0;
  overflow-wrap:break-word; hyphens:auto;
}
.hx__title b{ display:block; font-weight:400; color:var(--on-navy); }
.hx__text{ color:var(--on-navy); margin-top:20px; font-size:clamp(15.5px,1.3vw,17.5px); }
.hx__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }


.hx__side{
  position:absolute; right:var(--gut); bottom:clamp(18px,2vw,34px);
  display:grid; gap:14px; text-align:right; z-index:3;
}
.hx__sideitem{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-mid);
  display:flex; align-items:center; justify-content:flex-end; gap:11px;
}
.hx__sideitem b{
  font-family:var(--ff-display); font-size:19px; color:var(--navy);
  letter-spacing:-.01em;
}
.hx__sideitem i{ width:26px; height:2px; background:var(--amber); display:block; flex:none; }


.ix{ padding:clamp(50px,6vw,92px) 0 clamp(46px,5.5vw,84px); }
.ix__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(30px,5vw,72px);
  align-items:start;
}
.ix__title{
  font-size:clamp(28px,3.6vw,48px); letter-spacing:-.028em;
  margin:16px 0 0; line-height:1.06; color:var(--navy);
}
.ix__text{ margin-top:20px; color:var(--ink-mid); font-size:17px; max-width:46ch; }
.ix__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.ix__pics{ display:grid; grid-template-columns:1.3fr 1fr; gap:12px; }
.ix__pics figure{ margin:0; overflow:hidden; background:var(--navy-deep); }
.ix__pics img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.ix__pics figure:hover img{ transform:scale(1.05); }
.ix__pics .p1{ grid-row:span 2; aspect-ratio:3/4.15;
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px)); }
.ix__pics .p2, .ix__pics .p3{ aspect-ratio:4/3;
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }


.rail{
  max-width:var(--wrap); margin:clamp(40px,5vw,72px) auto 0;
  padding-inline:var(--gut);
}
.rail__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:2px solid var(--navy);
}
.rail__cell{
  padding:22px 20px 24px 0; border-right:1px solid var(--line);
}
.rail__cell:last-child{ border-right:0; }
.rail__cell:not(:first-child){ padding-left:24px; }
.rail__k{
  font-family:var(--ff-mono); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-50);
}
.rail__v{
  font-family:var(--ff-display); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(19px,2.1vw,27px); color:var(--navy); margin-top:9px; line-height:1.08;
}
.rail__d{ font-size:13.5px; color:var(--ink-mid); margin-top:7px; line-height:1.45; }


.ex{ background:var(--gray); padding:clamp(54px,7vw,104px) 0; }
.ex__inner{ max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.ex__head{
  display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(22px,4vw,60px);
  align-items:end; margin-bottom:clamp(26px,3.4vw,44px);
}
.ex__title{
  font-size:clamp(27px,3.4vw,44px); letter-spacing:-.026em;
  color:var(--navy); margin-top:15px; line-height:1.08;
}
.ex__side{ color:var(--ink-mid); font-size:16px; padding-bottom:5px; }

.ex__body{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(20px,2.6vw,36px); }
.ex__list{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.ex__btn{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px;
  width:100%; text-align:left; background:transparent; border:0; cursor:pointer;
  font:inherit; color:var(--navy);
  padding:15px 14px 15px 0; border-bottom:1px solid var(--line);
  transition:background .2s var(--ease), padding .2s var(--ease);
}
.ex__btn i{
  width:9px; height:9px; background:var(--line); transform:rotate(45deg);
  display:block; flex:none; transition:background .2s var(--ease);
}
.ex__btn span{
  font-family:var(--ff-display); font-weight:700; font-size:15.6px;
  line-height:1.24; letter-spacing:-.006em;
}
.ex__btn em{
  font-style:normal; font-family:var(--ff-mono); font-size:11px;
  letter-spacing:.14em; color:var(--ink-50);
}
.ex__btn:hover{ background:rgba(0,43,87,.045); padding-left:12px; }
.ex__btn.is-on{ background:var(--navy); color:#fff; padding-left:14px; }
.ex__btn.is-on i{ background:var(--amber); }
.ex__btn.is-on em{ color:var(--amber); }

.ex__stage{ position:relative; background:var(--paper); overflow:hidden;
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px)); }
.ex__pic{ position:relative; aspect-ratio:16/9; background:var(--navy-deep); }
.ex__pic img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .45s var(--ease);
}
.ex__pic img.is-on{ opacity:1; }
.ex__no{
  position:absolute; left:0; bottom:0; z-index:2;
  font-family:var(--ff-display); font-weight:800; font-size:34px; line-height:1;
  background:var(--amber); color:var(--navy-deep); padding:11px 16px 9px;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
}
.ex__panel{ padding:clamp(24px,2.8vw,38px); }
.ex__tag{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--navy);
  padding:7px 12px; box-shadow:inset 0 0 0 1px var(--line);
}
.ex__h{
  font-family:var(--ff-display); font-weight:800;
  font-size:clamp(20px,2.3vw,30px); letter-spacing:-.02em;
  color:var(--navy); margin:16px 0 0; line-height:1.12;
}
.ex__p{ color:var(--ink-mid); margin-top:15px; font-size:16px; }
.ex__go{
  display:inline-flex; align-items:center; gap:10px; margin-top:22px;
  font-family:var(--ff-mono); font-size:11.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--navy);
  padding-bottom:5px; box-shadow:inset 0 -2px 0 var(--amber);
  transition:gap .2s var(--ease);
}
.ex__go:hover{ gap:16px; }
.ex__go svg{ width:16px; height:16px; }


.dx{ background:var(--navy); color:var(--on-navy); position:relative; overflow:hidden; }
.dx__media{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.14; }
.dx__inner{
  position:relative; z-index:2;
  max-width:var(--wrap); margin-inline:auto; padding:clamp(54px,7vw,100px) var(--gut);
}
.dx__top{
  display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end;
  padding-bottom:26px; border-bottom:1px solid var(--line-navy);
}
.dx__title{ font-size:clamp(26px,3.3vw,44px); color:#fff; letter-spacing:-.026em; margin-top:15px; }
.dx__title span{ color:var(--amber); }
.dx__stamp{
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--navy-deep); background:var(--amber); padding:9px 14px; white-space:nowrap;
}
.dx__cols{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  margin-top:0;
}
.dx__col{ padding:clamp(26px,3vw,42px) clamp(22px,2.6vw,44px) 0 0; }
.dx__col + .dx__col{ border-left:1px solid var(--line-navy); padding-left:clamp(22px,2.6vw,44px); padding-right:0; }
.dx__k{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--amber); margin-bottom:16px;
}
.dx__col p{ font-size:15.4px; line-height:1.68; margin-bottom:1.1em; }
.dx__col p:last-child{ margin-bottom:0; }
.dx__list{ list-style:none; margin:0 0 1.1em; padding:0; display:grid; gap:8px; }
.dx__list li{
  position:relative; padding-left:18px;
  font-size:15.4px; line-height:1.55;
}
.dx__list li::before{
  content:""; position:absolute; left:0; top:.52em;
  width:6px; height:6px; background:var(--amber);
}


.mx{ background:var(--navy-deep); color:var(--on-navy); }
.mx__inner{
  max-width:var(--wrap); margin-inline:auto; padding:clamp(50px,6vw,88px) var(--gut);
  display:grid; grid-template-columns:1.02fr 1fr; gap:clamp(30px,5vw,72px);
  align-items:start;
}
.mx__quote{ font-size:clamp(20px,2.4vw,31px); color:#fff; line-height:1.28; letter-spacing:-.018em; margin-top:18px; }
.mx__by{ margin-top:20px; color:var(--on-navy); font-size:16px; }
.mx__list{ display:grid; }
.mx__item{
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center;
  padding:18px 0; border-bottom:1px solid var(--line-navy);
}
.mx__item:first-child{ border-top:1px solid var(--line-navy); }
.mx__n{
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.16em;
  color:var(--amber); padding-top:2px;
}
.mx__t{ font-family:var(--ff-display); font-weight:700; font-size:17px; color:#fff; line-height:1.25; }


.gx{ padding:clamp(50px,6vw,88px) 0; }
.gx__inner{ max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.gx__grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  margin-top:clamp(24px,3vw,40px); border-top:2px solid var(--navy);
}
.gx__cell{
  display:flex; align-items:center; gap:14px;
  padding:18px 18px 18px 0; border-bottom:1px solid var(--line);
}
.gx__cell:not(:nth-child(4n+1)){ border-left:1px solid var(--line); padding-left:18px; }
.gx__cell svg{ width:26px; height:26px; flex:none; }
.gx__cell svg *{ stroke:var(--navy); fill:none; }
.gx__cell svg .fill{ fill:var(--amber); stroke:none; }
.gx__b{ font-family:var(--ff-display); font-weight:700; font-size:14.6px; color:var(--navy); line-height:1.2; }
.gx__t{ font-size:12.4px; color:var(--ink-50); margin-top:3px; line-height:1.35; }
.gx__foot{
  display:grid; grid-template-columns:1fr auto; gap:24px; align-items:start;
  margin-top:26px;
}
.gx__note{ font-size:13.4px; color:var(--ink-50); max-width:62ch; line-height:1.55; }


.cx{ background:var(--gray); padding:clamp(50px,6vw,88px) 0 0; }
.cx__inner{ max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.cx__partner{
  display:flex; align-items:center; gap:clamp(18px,3vw,40px); flex-wrap:wrap;
  padding-bottom:clamp(32px,4vw,56px);
}
.cx__plogo{ padding:0; width:min(230px,55vw); }
.cx__plogo img{ width:100%; }
.cx__ptext{ flex:1; min-width:210px; }
.cx__ptext p{ color:var(--ink-mid); font-size:15.5px; margin-top:8px; }

.cx__card{
  display:grid; grid-template-columns:.9fr 1.1fr;
  margin-bottom:clamp(-160px,-11vw,-90px);
  position:relative; z-index:4;
  box-shadow:0 34px 70px rgba(0,24,47,.24);
}
.cx__left{
  background:var(--navy); color:var(--on-navy);
  padding:clamp(28px,3.4vw,48px);
  position:relative; overflow:hidden;
}
.cx__left::after{
  content:""; position:absolute; right:-70px; bottom:-100px;
  width:250px; height:250px; border:36px solid rgba(255,255,255,.05); border-radius:50%;
}
.cx__left > *{ position:relative; z-index:2; }
.cx__h{ font-size:clamp(24px,2.7vw,36px); color:#fff; margin-top:15px; letter-spacing:-.024em; line-height:1.12; }
.cx__h span{ color:var(--amber); }
.cx__lead{ color:var(--on-navy); margin-top:15px; font-size:15.4px; }
.cx__right{ background:var(--paper); padding:clamp(28px,3.4vw,48px); }
.gct-footer{ padding-top:clamp(120px,13vw,190px); }

@media (max-width:1100px){
  .rail__grid{ grid-template-columns:1fr 1fr; }
  .rail__cell:nth-child(2n){ border-right:0; }
  .rail__cell:nth-child(n+3){ border-top:1px solid var(--line); }
  .gx__grid{ grid-template-columns:1fr 1fr; }
  .gx__cell:not(:nth-child(4n+1)){ border-left:0; padding-left:0; }
  .gx__cell:nth-child(2n){ border-left:1px solid var(--line); padding-left:18px; }
}
@media (max-width:980px){
  .hx__side{ position:static; text-align:left; margin-top:26px;
    grid-template-columns:repeat(3,auto); justify-content:start; gap:22px; }
  .hx__sideitem{ justify-content:flex-start; }
  .ix__inner{ grid-template-columns:1fr; }
  .ex__head{ grid-template-columns:1fr; align-items:start; }
  .ex__body{ grid-template-columns:1fr; }
  .dx__cols{ grid-template-columns:1fr; }
  .dx__col + .dx__col{ border-left:0; border-top:1px solid var(--line-navy); padding-left:0; margin-top:8px; }
  .dx__col{ padding-right:0; }
  .mx__inner{ grid-template-columns:1fr; }
  .cx__card{ grid-template-columns:1fr; margin-bottom:-70px; }
  .gct-footer{ padding-top:110px; }
}
@media (max-width:640px){
  .hx__img{ height:260px; }
  .hx__panel{ margin-top:-70px; }
  .hx__side{ grid-template-columns:1fr; gap:12px; }
  .hx__cta .g-btn{ flex:1 1 auto; justify-content:center; }
  .rail__grid{ grid-template-columns:1fr; }
  .rail__cell{ border-right:0; border-top:1px solid var(--line); padding-left:0 !important; }
  .rail__cell:first-child{ border-top:0; }
  .gx__grid{ grid-template-columns:1fr; }
  .gx__cell{ border-left:0 !important; padding-left:0 !important; }
  .gx__foot{ grid-template-columns:1fr; }
  .ix__pics{ grid-template-columns:1fr 1fr; }
  .ix__pics .p1{ grid-row:auto; grid-column:span 2; aspect-ratio:5/4; }
}


.ex__item{ border-bottom:1px solid var(--line); }
.ex__list{ border-top:1px solid var(--line); }
.ex__btn{ border-bottom:0; width:100%; }
.ex__chev{ display:none; width:20px; height:20px; flex:none; opacity:.6; transition:transform .3s var(--ease); }


.ex__drop{ display:none; }

.ex__card{ display:grid; }
.ex__cardpic{ position:relative; aspect-ratio:16/10; background:var(--navy-deep); overflow:hidden; }
.ex__cardpic img{ width:100%; height:100%; object-fit:cover; display:block; }
.ex__cardtxt{ background:var(--paper); padding:22px 20px 26px; }
.ex__cardtxt .ex__tag{ display:inline-flex; }


@media (max-width:980px){
  .ex__stage{ display:none; }
  .ex__body{ grid-template-columns:1fr; }
  .ex__btn{
    grid-template-columns:auto 1fr auto auto;
    padding-top:17px; padding-bottom:17px;
  }
  .ex__chev{ display:block; }
  .ex__item.is-open .ex__chev{ transform:rotate(180deg); }
  .ex__item.is-open .ex__btn{ background:var(--navy); color:#fff; padding-left:14px; }
  .ex__item.is-open .ex__btn i{ background:var(--amber); }
  .ex__item.is-open .ex__btn em{ color:var(--amber); }

  .ex__drop{
    display:grid; grid-template-rows:0fr;
    transition:grid-template-rows .34s var(--ease);
  }
  .ex__item.is-open .ex__drop{ grid-template-rows:1fr; }
  .ex__dropin{ overflow:hidden; }
  .ex__card{
    margin:0 0 18px;
    clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
    box-shadow:0 12px 30px rgba(0,24,47,.1);
  }
  .ex__cardtxt .ex__h{ font-size:20px; margin-top:14px; }
  .ex__cardtxt .ex__p{ font-size:15.4px; margin-top:12px; }
  .ex__cardtxt .ex__go{ margin-top:18px; }
}


@media (max-width:980px){
  .ex__card{
    background:var(--paper);
    box-shadow:inset 0 0 0 1px var(--line);
    border-top:0;
    margin:0 0 16px;
  }
  .ex__cardtxt{ padding:18px 18px 22px; }

  .ex__cardtxt .ex__tag,
  .ex__cardtxt .ex__h{
    position:absolute; width:1px; height:1px;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  .ex__cardtxt .ex__p{ margin-top:0; }
  .ex__cardtxt .ex__go{ margin-top:16px; }
}


.hx--page .hx__img{ height:clamp(200px,26vw,330px); }
.hx--page .hx__panel{ margin-top:clamp(-150px,-11vw,-90px); width:min(820px,100%); }
.hx--page .hx__title{ font-size:clamp(26px,3.5vw,46px); }
.px__crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:9px;
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--on-navy-dim); margin-bottom:20px;
}
.px__crumbs a{ transition:color .16s; }
.px__crumbs a:hover{ color:var(--amber); }
.px__crumbs b{ color:#fff; font-weight:400; }
.px__crumbs i{ font-style:normal; opacity:.5; }


.jump2{
  position:sticky; top:82px; z-index:90;
  background:var(--paper); border-bottom:1px solid var(--line);
}
.jump2__in{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  display:flex; gap:0; overflow-x:auto; scrollbar-width:none;
}
.jump2__in::-webkit-scrollbar{ display:none; }
.jump2__c{
  display:flex; align-items:center; gap:9px; flex:none;
  padding:15px 16px; white-space:nowrap;
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-50);
  border-bottom:2px solid transparent;
  transition:color .18s var(--ease), border-color .18s var(--ease);
}
.jump2__c b{ color:var(--ink-50); font-weight:600; transition:color .18s; }
.jump2__c:hover{ color:var(--navy); }
.jump2__c.is-current{ color:var(--navy); border-bottom-color:var(--amber); }
.jump2__c.is-current b{ color:var(--navy); }


.sheet{ scroll-margin-top:150px; }
.sheet__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut);
  display:grid; grid-template-columns:92px minmax(0,1.15fr) minmax(0,.92fr);
  gap:clamp(20px,3vw,48px);
  padding-block:clamp(34px,4vw,58px);
  border-top:1px solid var(--line);
  align-items:start;
}
.sheet:first-of-type .sheet__inner{ border-top:2px solid var(--navy); }
.sheet__no{
  font-family:var(--ff-display); font-weight:800; line-height:.82;
  font-size:clamp(38px,4.6vw,62px); letter-spacing:-.04em; color:var(--navy);
  position:relative;
}
.sheet__no::after{
  content:""; display:block; width:34px; height:4px;
  background:var(--amber); margin-top:14px;
}
.sheet__tag{
  display:inline-block;
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-50);
}
.sheet__title{
  font-size:clamp(21px,2.6vw,33px); color:var(--navy);
  letter-spacing:-.024em; margin:12px 0 0; line-height:1.12;
}
.sheet__text{ color:var(--ink-mid); margin-top:16px; font-size:16.4px; max-width:56ch; }
.sheet__go{
  display:inline-flex; align-items:center; gap:10px; margin-top:20px;
  font-family:var(--ff-mono); font-size:11.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--navy);
  padding-bottom:5px; box-shadow:inset 0 -2px 0 var(--amber);
  transition:gap .2s var(--ease);
}
.sheet__go:hover{ gap:16px; }
.sheet__go svg{ width:16px; height:16px; }
.sheet__pics{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sheet__p{
  position:relative; display:block; overflow:hidden;
  background:var(--navy-deep); aspect-ratio:4/3;
}
.sheet__p:first-child{
  grid-column:span 2; aspect-ratio:16/9;
  clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.sheet__p img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.sheet__p::after{
  content:""; position:absolute; inset:0; background:rgba(0,43,87,.5);
  opacity:0; transition:opacity .26s var(--ease);
}
.sheet__z{
  position:absolute; left:50%; top:50%; z-index:2;
  width:38px; height:38px; margin:-19px 0 0 -19px; background:var(--amber);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.8); transition:.26s var(--ease);
  clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.sheet__z svg{ width:16px; height:16px; stroke:var(--navy-deep); fill:none; stroke-width:2; }
.sheet__p:hover img{ transform:scale(1.05); }
.sheet__p:hover::after{ opacity:1; }
.sheet__p:hover .sheet__z{ opacity:1; transform:scale(1); }
.sheet__cap{
  grid-column:span 2; margin:4px 0 0;
  font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-50);
}


.gal2{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:10px; margin-top:clamp(26px,3.2vw,42px);
  grid-auto-flow:dense;
}
.gal2__i{
  position:relative; display:block; aspect-ratio:4/3;
  background:var(--navy-deep); overflow:hidden;
}
.gal2__i:nth-child(9n+1){ grid-column:span 2; grid-row:span 2; aspect-ratio:1/1; }
.gal2__i img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.gal2__i::after{
  content:""; position:absolute; inset:0;
  background:rgba(0,43,87,.55); opacity:0; transition:opacity .28s var(--ease);
}
.gal2__z{
  position:absolute; left:50%; top:50%; z-index:2;
  width:44px; height:44px; margin:-22px 0 0 -22px;
  background:var(--amber);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.8); transition:.28s var(--ease);
  clip-path:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
.gal2__z svg{ width:18px; height:18px; stroke:var(--navy-deep); fill:none; stroke-width:2; }
.gal2__i:hover img{ transform:scale(1.06); }
.gal2__i:hover::after{ opacity:1; }
.gal2__i:hover .gal2__z{ opacity:1; transform:scale(1); }


.band{ background:var(--navy); color:var(--on-navy); position:relative; overflow:hidden; }
.band__in{
  max-width:var(--wrap); margin-inline:auto; padding:clamp(40px,5vw,72px) var(--gut);
  display:grid; grid-template-columns:1fr auto; gap:clamp(24px,4vw,52px); align-items:center;
}
.band::after{
  content:""; position:absolute; right:-70px; top:-90px; width:300px; height:300px;
  background:radial-gradient(circle, rgba(255,186,8,.13), transparent 68%);
}
.band__in > *{ position:relative; z-index:2; }
.band h2{ font-size:clamp(23px,2.9vw,38px); color:#fff; letter-spacing:-.024em; }
.band h2 span{ color:var(--amber); }
.band p{ margin-top:14px; max-width:54ch; }


.map2{ margin-top:clamp(24px,3vw,40px); aspect-ratio:16/7; background:var(--gray); overflow:hidden;
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px)); }
.map2 iframe{ width:100%; height:100%; border:0; display:block; }

@media (max-width:1100px){
  .gal2{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:980px){
  .jump2{ top:72px; }
  .sheet{ scroll-margin-top:136px; }
  .sheet__inner{ grid-template-columns:64px 1fr; }
  .sheet__pics{ grid-column:1 / -1; margin-top:8px; }
  .band__in{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .gal2{ grid-template-columns:repeat(2,1fr); gap:8px; }
  .gal2__i:nth-child(9n+1){ grid-column:span 2; grid-row:auto; aspect-ratio:4/3; }
  .sheet__inner{ grid-template-columns:1fr; gap:14px; }
  .sheet__no{ font-size:34px; }
  .sheet__no::after{ margin-top:10px; }
  .map2{ aspect-ratio:4/3; }
}


@media (pointer:coarse), (max-width:980px){


  .gct-topbar__inner{ padding-block:0; }
  .gct-topbar__links a{ display:block; padding-block:15px; }


  .gct-logo{ display:inline-flex; align-items:center; padding-block:5px; }


  .gct-footer__links li{ margin-bottom:0; }
  .gct-footer__links a{ display:inline-block; padding-block:13px; }
  .gct-footer__links li:not(:has(a)){ padding-block:8px; display:block; }
  .gct-footer__bottom{ padding-block:16px; }


  .ex__go, .sheet__go, .gct-svcblock__link{
    padding-top:14px; padding-bottom:16px;
  }


  a.gct-contact__v{ display:inline-block; padding-block:9px; margin-block:-9px; }


  .gal2__i, .sheet__p{ -webkit-tap-highlight-color:rgba(255,186,8,.3); }
}


@media (pointer:coarse), (max-width:980px){
  .px__crumbs{ margin-bottom:12px; }
  .px__crumbs a{ display:inline-block; padding-block:14px; }
  .px__crumbs b, .px__crumbs i{ display:inline-block; padding-block:14px; }
}


@media (max-width:760px){
  .dx__top{ grid-template-columns:1fr; }
  .dx__stamp{
    white-space:normal; justify-self:start;
    font-size:9.5px; letter-spacing:.16em; padding:8px 12px; line-height:1.5;
  }
  .dx__title{ font-size:clamp(23px,6.4vw,32px); }
}


.rail__v a{ display:inline-block; box-shadow:inset 0 -3px 0 var(--amber); transition:color .18s; }
.rail__v a:hover{ color:var(--navy); box-shadow:inset 0 -3px 0 var(--navy); }
@media (pointer:coarse), (max-width:980px){
  .rail__v a{ padding-block:13px; }
}
