
/* ══════ TOKENS ══════ */
:root {
  --navy-950:#102329;--navy-900:#153139;--navy-850:#1b4048;--navy-800:#24535b;--navy-700:#336a72;
  --blue-700:#2a7887;--blue-600:#3a8e9c;--blue-500:#5ca9b5;--blue-400:#82c3c8;--blue-300:#b1dbdc;
  --blue-200:#dceceb;--blue-100:#eef6f5;--steel-100:#f5f9f9;--steel-150:#f1f6f6;--steel-200:#deeaeb;
  --gray-900:#183039;--gray-800:#2b434d;--gray-700:#48616b;--gray-600:#6d858e;--gray-500:#889ba2;
  --gray-400:#a8b7bc;--gray-300:#c9d5d9;--gray-200:#e0e8ea;--gray-100:#edf2f4;--gray-50:#f9fbfc;
  --surface:#fbfdfd;--surface-strong:#ffffff;--surface-muted:rgba(255,255,255,.86);
  --border:#d5e1e4;--border-strong:#b9c8cd;--border-light:#e8eff1;
  --text:#173038;--text-sec:#314952;--text-tri:#647981;--text-faint:#8a9ca3;
  --accent:#327f8b;--accent-2:#5ca6ae;--accent-hover:#275f6b;--accent-soft:#9fd2cf;
  --font:'IBM Plex Sans',system-ui,-apple-system,sans-serif;--font-display:'Manrope','IBM Plex Sans',system-ui,sans-serif;
  --max-w:1240px;--side-w:284px;--r:9px;--rlg:14px;
  --shadow-sm:0 10px 22px rgba(16,35,41,.045);
  --shadow-lg:0 24px 54px rgba(16,35,41,.07);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:var(--font);color:var(--text);line-height:1.68;
  -webkit-font-smoothing:antialiased;min-height:100vh;
  background-color:#f4f8f8;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    radial-gradient(circle at calc(var(--grad-x,20%) + 10%) calc(var(--grad-y,10%) + 4%),
      hsla(calc(var(--grad-hue,204) + 16),44%,96%,.40) 0%, transparent 28%),
    radial-gradient(circle at calc(var(--grad-x,20%) + 30%) calc(var(--grad-y,10%) + 12%),
      hsla(calc(var(--grad-hue,204) + 28),34%,92%,.16) 0%, transparent 34%),
    radial-gradient(ellipse at var(--grad-x,20%) var(--grad-y,10%),
      hsla(calc(var(--grad-hue,204) + 6),34%,82%,.13) 0%, transparent 52%),
    linear-gradient(var(--grad-angle,168deg),
      hsl(calc(var(--grad-hue,204) - 8),24%,95.5%) 0%,
      hsl(calc(var(--grad-hue,204) + 6),18%,98.4%) 38%,
      hsl(calc(var(--grad-hue,204) + 18),20%,96.6%) 100%);
  background-size:42px 42px,42px 42px,auto,auto,auto,auto;
  background-position:0 0,0 0,0 0,0 0,0 0,0 0;
  background-attachment:fixed;
}
a{color:var(--accent);text-decoration:none;transition:color .15s,border-color .15s,background-color .15s,transform .15s}
a:hover{color:var(--accent-hover)}
img{max-width:100%;height:auto;display:block}

/* ══════ UTILITY BAR ══════ */
.gd-util{
  background:
    linear-gradient(90deg, rgba(96,198,188,.10), transparent 24%, transparent 76%, rgba(102,171,216,.09)),
    linear-gradient(180deg, rgba(17,43,49,.88), rgba(23,59,66,.91));
  border-bottom:1px solid rgba(169,226,221,.08);
  position:relative;
}
.gd-util::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, transparent, rgba(136,221,209,.18), rgba(118,184,226,.10), transparent)}
.gd-util-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 26px;font-size:10.5px;color:rgba(232,244,245,.54);font-family:var(--font);font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.gd-util a{color:rgba(210,242,237,.72)}.gd-util a:hover{color:#fff}
.gd-util-left,.gd-util-right{display:flex;align-items:center;gap:14px}
.gd-util-left svg{width:10px;height:10px;opacity:.5;margin-right:4px;vertical-align:-1px}
.gd-util-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.24)}

/* ══════ HEADER ══════ */
.gd-header{
  position:sticky;top:0;z-index:100;
  background:
    radial-gradient(circle at 8% -30%, rgba(90,228,210,.22), transparent 32%),
    radial-gradient(circle at 50% -60%, rgba(120,200,230,.14), transparent 38%),
    radial-gradient(circle at 88% -40%, rgba(80,190,220,.18), transparent 34%),
    linear-gradient(180deg, rgba(16,42,48,.88), rgba(20,54,62,.93) 40%, rgba(26,68,76,.96));
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(140,226,216,.14);
  box-shadow:0 14px 32px rgba(10,26,30,.16);
}
.gd-header::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.03), transparent 22%, transparent 78%, rgba(255,255,255,.02));pointer-events:none}
.gd-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, transparent 0%, rgba(110,224,206,.36) 15%, rgba(100,192,228,.26) 50%, rgba(110,224,206,.22) 85%, transparent 100%)}
.gd-header-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;height:68px;padding:0 26px;gap:10px}
.gd-logo{display:flex;align-items:center;gap:12px;color:#fbfefe;font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.11em;text-decoration:none;flex-shrink:0;margin-right:18px;text-transform:uppercase}
.gd-logo:hover{color:#fff;text-decoration:none}
.gd-logo-mark{
  width:44px;height:44px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;padding:3px;overflow:visible;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), rgba(255,255,255,.06) 58%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(232,249,244,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(13,62,59,.24),0 8px 18px rgba(0,0,0,.14);
}
.gd-logo-mark img{width:100%;height:100%;display:block;object-fit:contain}
.gd-logo-text{display:flex;flex-direction:column;line-height:1}
.gd-logo-text small{font-family:var(--font);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:none;color:rgba(225,244,241,.68);margin-top:4px}

.gd-nav-links{display:flex;align-items:center;gap:1px}
.gd-nav-item{position:relative}
.gd-nav-link{
  font-family:var(--font);font-size:11px;font-weight:600;color:rgba(231,244,245,.78);
  padding:11px 12px 10px;border-radius:10px;text-decoration:none;transition:all .12s;white-space:nowrap;
  display:flex;align-items:center;gap:5px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid transparent;position:relative;
}
.gd-nav-link:hover{color:#fff;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));border-color:rgba(170,229,222,.12);text-decoration:none}
.gd-nav-link.active{color:#fff;border-color:rgba(143,225,214,.14);background:linear-gradient(180deg, rgba(136,225,212,.11), rgba(255,255,255,.03))}
.gd-nav-link.active::after{content:'';position:absolute;left:12px;right:12px;bottom:5px;height:1px;background:linear-gradient(90deg, rgba(126,218,207,0), rgba(126,218,207,.42), rgba(110,174,214,0))}
.gd-nav-link .gd-nav-chev{width:10px;height:10px;opacity:.42;transition:transform .2s}
.gd-nav-item:hover .gd-nav-chev{transform:rotate(180deg);opacity:.72}

.gd-dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:10px;z-index:200}
.gd-nav-item:hover .gd-dropdown{display:block}
.gd-dd-inner{
  background:rgba(249,252,252,.98);
  border:1px solid rgba(190,214,216,.92);
  border-radius:14px;
  box-shadow:0 18px 36px rgba(6,18,22,.11),0 2px 10px rgba(6,18,22,.05);
  padding:8px;min-width:230px;
  animation:ddIn .14s ease;
}
@keyframes ddIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.gd-dd-inner a{display:block;padding:8px 11px;font-size:12.5px;font-weight:500;color:var(--text-sec);text-decoration:none;border-radius:8px;transition:all .1s;line-height:1.4}
.gd-dd-inner a:hover{background:linear-gradient(180deg, #f1f8f7, #ecf3f4);color:var(--accent);text-decoration:none}
.gd-dd-inner a.dd-head{font-weight:700;color:var(--gray-700);font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:7px 13px 4px;pointer-events:none;margin-top:6px}
.gd-dd-inner a.dd-head:first-child{margin-top:0}
.gd-dd-sep{height:1px;background:linear-gradient(90deg, transparent, var(--border-light), transparent);margin:6px 8px}
.gd-dd-wide .gd-dd-inner{min-width:560px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:10px}
.gd-dd-wide .gd-dd-col{padding:0 2px}

.gd-search{position:relative;margin-left:auto;flex-shrink:0}
.gd-search-box{
  width:210px;padding:8px 12px 8px 34px;
  border:1px solid rgba(177,231,223,.18);border-radius:11px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  color:rgba(250,253,253,.94);font-family:var(--font);font-size:12px;font-weight:500;
  outline:none;transition:all .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.gd-search-box::placeholder{color:rgba(232,245,244,.42)}
.gd-search-box:focus{width:252px;background:rgba(255,255,255,.13);border-color:rgba(167,229,221,.30)}
.gd-search-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:rgba(228,246,243,.52);pointer-events:none}
.gd-search-dd{display:none;position:absolute;top:100%;left:0;right:0;margin-top:8px;background:rgba(251,253,253,.98);border:1px solid rgba(190,214,216,.92);border-radius:12px;box-shadow:0 16px 34px rgba(10,24,28,.12);max-height:320px;overflow-y:auto;z-index:200;padding:6px}
.gd-search-dd.open{display:block}
.gd-search-dd a{display:block;padding:9px 12px;font-size:13px;color:var(--text-sec);text-decoration:none;border-radius:12px;transition:background .1s}
.gd-search-dd a:hover{background:linear-gradient(180deg, #eef8f7, #e7f2f3);color:var(--text);text-decoration:none}
.gd-search-dd a strong{color:var(--text);font-weight:700;display:block;margin-bottom:2px}
.gd-search-dd a span{font-size:12px;color:var(--text-tri)}
.gd-search-dd .empty{padding:14px;font-size:12px;color:var(--text-faint);text-align:center}


.gd-burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;background:none;border:none;margin-left:8px}
.gd-burger span{width:18px;height:1.5px;background:#fff;border-radius:1px;transition:all .2s}
.gd-burger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.gd-burger.open span:nth-child(2){opacity:0}
.gd-burger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}

/* ══════ LAYOUT ══════ */
.gd-layout{max-width:var(--max-w);margin:20px auto 18px;display:grid;grid-template-columns:var(--side-w) 1fr;gap:18px;padding:0 18px;min-height:calc(100vh - 96px - 220px)}

/* ══════ SIDEBAR ══════ */
.gd-side{
  background:linear-gradient(180deg, rgba(252,254,254,.96), rgba(247,250,250,.99));
  border:1px solid rgba(203,219,221,.92);
  border-radius:18px;
  box-shadow:var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,.86);
  position:sticky;top:calc(64px + 22px);
  height:calc(100vh - 64px - 42px);
  overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;
  display:flex;flex-direction:column;
}
.gd-side::-webkit-scrollbar{width:4px}
.gd-side::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:999px}
.gd-side-nav{flex:1;overflow-y:auto;padding:8px 0}
.gd-sg{border-bottom:1px solid rgba(219,228,234,.84);margin:0 12px}
.gd-sg:last-child{border-bottom:none}
.gd-st{
  display:flex;align-items:center;gap:8px;width:100%;padding:11px 10px 8px;border:none;background:none;cursor:pointer;
  font-family:var(--font);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--text-tri);transition:color .12s;text-align:left;
}
.gd-st:hover{color:var(--text)}
.gd-st-ic{width:15px;height:15px;min-width:15px;min-height:15px;max-width:15px;max-height:15px;flex-shrink:0;color:var(--gray-500);transition:color .12s}
.gd-st:hover .gd-st-ic{color:var(--accent)}
.gd-st-label{flex:1}
.gd-st-count{font-size:9px;font-weight:600;color:rgba(120,137,145,.56);letter-spacing:.03em;text-transform:none}
.gd-st-chev{width:12px;height:12px;min-width:12px;max-width:12px;color:var(--gray-400);flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1)}
.gd-st.closed .gd-st-chev{transform:rotate(-90deg)}
.gd-sl{list-style:none;margin:0;padding:0 0 8px;overflow:hidden;transition:max-height .25s cubic-bezier(.4,0,.2,1)}
.gd-sl.closed{max-height:0!important;padding-bottom:0}
.gd-sl li a{
  display:block;padding:7px 10px 7px 24px;font-size:12.5px;font-weight:500;color:var(--text-sec);text-decoration:none;transition:all .12s;
  line-height:1.36;position:relative;border-left:1px solid transparent;border-radius:0 8px 8px 0;margin-right:4px;
}
.gd-sl li a::before{content:'';position:absolute;left:12px;top:14px;width:3px;height:3px;border-radius:50%;background:rgba(102,131,152,.36);transition:all .12s}
.gd-sl li a:hover{color:var(--accent);background:linear-gradient(90deg, rgba(88,158,155,.08), rgba(88,158,155,.03));border-left-color:rgba(124,185,191,.68)}
.gd-sl li a:hover::before{background:rgba(44,127,144,.52)}
.gd-sl li a.active{color:var(--accent-hover);font-weight:600;background:linear-gradient(90deg, rgba(44,127,144,.10), rgba(44,127,144,.03));border-left-color:var(--accent)}
.gd-sl li a.active::before{background:var(--accent);box-shadow:none}

/* Flyout tooltip on hover (desktop, collapsed sections only) */
@media(min-width:961px){
  .gd-sg{position:relative}
  .gd-sg:hover > .gd-sl.closed{
    display:block;position:absolute;left:calc(100% + 10px);top:0;
    width:256px;max-height:none!important;overflow:visible!important;padding:6px!important;
    background:rgba(251,253,253,.98);border:1px solid rgba(190,214,216,.88);
    border-radius:14px;box-shadow:0 16px 32px rgba(10,24,28,.12),0 2px 8px rgba(10,24,28,.05);
    z-index:60;animation:ddIn .14s ease;
  }
  .gd-sg:hover > .gd-sl.closed li a{padding:7px 10px 7px 12px;border-left:none;margin-right:0;border-radius:8px}
  .gd-sg:hover > .gd-sl.closed li a::before{display:none}
  .gd-sg:hover > .gd-sl.closed li a:hover{background:linear-gradient(180deg,#f1f8f7,#ecf3f4)}
}

.gd-side svg{display:block;flex-shrink:0;flex-grow:0}
.gd-side-cta svg{display:block;flex-shrink:0;flex-grow:0}

.gd-side-cta{
  padding:16px;border-top:1px solid rgba(222,231,237,.90);background:linear-gradient(180deg, rgba(248,251,252,.94), rgba(243,247,249,.98));flex-shrink:0;
}
.gd-cta-email-main{display:flex;align-items:center;gap:8px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--text);text-decoration:none;margin-bottom:14px;transition:color .12s}
.gd-cta-email-main:hover{color:var(--accent)}
.gd-cta-email-main svg{width:14px;height:14px;min-width:14px;max-width:14px;color:var(--accent);flex-shrink:0}
.gd-cta-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px 0;
  background:linear-gradient(180deg, rgba(49,127,139,.96), rgba(37,101,113,.98));border:none;border-radius:10px;
  font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.10em;color:#fff;cursor:pointer;
  box-shadow:0 8px 14px rgba(44,127,144,.12);transition:all .12s;text-decoration:none;text-transform:uppercase;
}
.gd-cta-btn:hover{background:linear-gradient(180deg, #2d7885, #205c68);box-shadow:0 10px 18px rgba(44,127,144,.16);color:#fff;text-decoration:none;transform:translateY(-1px)}
.gd-cta-btn svg{width:14px;height:14px;min-width:14px;max-width:14px;flex-shrink:0}
.gd-cta-hours{display:block;text-align:center;font-size:9.5px;color:var(--text-faint);margin-top:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}

/* ══════ MAIN ══════ */
.gd-main{
  background:linear-gradient(180deg, rgba(253,255,255,.98), rgba(249,252,252,1));
  border:1px solid rgba(205,220,223,.94);
  border-radius:20px;
  box-shadow:var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,.92);
  padding:34px 38px 44px;min-width:0;position:relative;overflow:hidden;
}
.gd-main::before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 40%,transparent 70%);border-radius:20px 20px 0 0;pointer-events:none}
.gd-page-head{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid rgba(216,226,233,.86);position:relative}
.gd-page-head::after{content:'';position:absolute;left:0;bottom:-1px;width:120px;height:1px;background:linear-gradient(90deg, rgba(50,127,139,.82), rgba(47,111,157,0))}
.gd-page-kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;margin-bottom:14px;border-radius:10px;background:linear-gradient(180deg, rgba(232,241,241,.96), rgba(244,248,248,.96));border:1px solid rgba(202,220,220,.92);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tri)}
.gd-page-kicker::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent)}
.gd-page-head h1{font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--text);letter-spacing:-.045em;line-height:1.12;margin-bottom:12px;max-width:760px}
.gd-page-head p{font-size:13.5px;color:var(--text-tri);margin:0;font-weight:500;max-width:720px;line-height:1.7}
.gd-page-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.gd-page-meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:10px;border:1px solid rgba(204,219,221,.88);background:rgba(255,255,255,.80);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-700)}
.gd-page-meta span::before{content:'';width:4px;height:4px;border-radius:50%;background:rgba(44,127,144,.52)}

.gd-main p{font-size:14.5px;line-height:1.78;color:var(--text-sec);margin:0 0 .95em;text-align:left;max-width:880px}
.gd-main b,.gd-main strong{color:var(--text);font-weight:700}
.gd-main h2{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--text);margin:1.8em 0 .56em;letter-spacing:-.015em}
.gd-main center{text-align:left}
.gd-main ul{font-size:14px;line-height:1.72;color:var(--text-sec);padding-left:0;margin:.55em 0 1em;list-style:none;max-width:860px}
.gd-main li{margin-bottom:.38em;padding-left:18px;position:relative}
.gd-main li::before{content:'';position:absolute;left:2px;top:.72em;width:4px;height:4px;border-radius:50%;background:var(--accent-2)}
.gd-main a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(77,141,183,.35);text-underline-offset:3px}
.gd-main a:hover{color:var(--accent-hover);text-decoration-color:var(--accent)}

.gd-lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 16px;max-width:920px}
.gd-lab-photo{
  border-radius:12px;overflow:hidden;border:1px solid rgba(197,211,220,.94);aspect-ratio:4/3;
  background:linear-gradient(135deg, rgba(236,242,246,.95), rgba(248,251,253,.98));display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--text-faint);font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:border-color .15s,transform .15s,box-shadow .15s;cursor:pointer;
}
.gd-lab-photo:hover{border-color:var(--blue-400);transform:translateY(-1px);box-shadow:0 12px 18px rgba(16,32,48,.06)}
.gd-lab-photo img{width:100%;height:100%;object-fit:cover}

.gd-quick{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px;max-width:900px}
.gd-quick a{
  display:inline-flex;padding:7px 12px;background:rgba(255,255,255,.80);border:1px solid rgba(203,216,225,.88);
  border-radius:10px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-sec);transition:all .12s;text-decoration:none;
}
.gd-quick a:hover{border-color:var(--accent);color:var(--accent);background:#fff;box-shadow:0 8px 14px rgba(14,33,37,.05);text-decoration:none;transform:translateY(-1px)}

a.squarebutton{background:none!important;float:none;display:inline-flex;height:auto;padding:0;text-decoration:none!important}
a.squarebutton span{display:inline-block;padding:10px 22px;border:1px solid var(--border-strong);border-radius:10px;font-size:12.5px;font-weight:700;color:var(--text-sec);transition:all .15s;background:#fff}
a.squarebutton:hover span{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ══════ FOOTER ══════ */
.gd-ft{
  max-width:var(--max-w);margin:18px auto 0;background:linear-gradient(180deg, #1a4149, #21515b);
  border:1px solid rgba(79,136,144,.58);border-radius:20px 20px 0 0;border-bottom:none;box-shadow:0 -1px 3px rgba(14,32,36,.03);
  overflow:hidden;
}
.gd-ft-main{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:28px;padding:28px 30px 22px}
.gd-ft-col h4{font-family:var(--font);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(220,239,236,.78);margin-bottom:12px}
.gd-ft-col p{font-size:12.5px;color:rgba(232,238,243,.80);line-height:1.68;margin:0 0 6px}
.gd-ft-col a{color:#d8ebf4;font-size:13px;font-weight:500;text-decoration:none;transition:color .12s}
.gd-ft-col a:hover{color:#fff}
.gd-ft-links{list-style:none;padding:0;margin:0}
.gd-ft-links li{margin-bottom:4px}
.gd-ft-links a{font-size:13px;color:rgba(232,238,243,.82);font-weight:500;display:inline-block;padding:2px 0;transition:color .1s}
.gd-ft-links a:hover{color:#fff}
.gd-ft-about{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}
.gd-ft-about-logo{width:36px;height:36px;flex-shrink:0;background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));border:1px solid rgba(197,221,236,.18);border-radius:10px;display:flex;align-items:center;justify-content:center}
.gd-ft-about-logo svg{width:16px;height:16px}
.gd-ft-about-text{font-family:var(--font-display);font-weight:800;font-size:14px;color:#fff;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.gd-ft-about-text small{display:block;font-weight:500;font-size:11px;color:rgba(224,233,239,.72);margin-top:2px;letter-spacing:.02em;text-transform:none}
.gd-ft-contact-line{display:flex;align-items:center;gap:7px;font-size:13px;color:rgba(232,238,243,.82);margin-bottom:6px}
.gd-ft-contact-line svg{width:13px;height:13px;color:rgba(209,223,233,.66);flex-shrink:0}
.gd-ft-contact-line a{font-weight:600}
.gd-ft-bottom{border-top:1px solid rgba(104,140,165,.28);padding:12px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;font-size:10.5px;color:rgba(214,225,232,.60);font-family:var(--font);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.gd-ft-bottom a{color:rgba(226,234,240,.80);font-weight:700;margin:0 4px;transition:color .1s}
.gd-ft-bottom a:hover{color:#fff}

.gd-ov{display:none;position:fixed;inset:0;top:94px;background:rgba(38,63,86,.12);backdrop-filter:blur(2px);z-index:85}
.gd-ov.open{display:block}

/* ══════ RESPONSIVE ══════ */
@media(max-width:1024px){
  .gd-nav-links{gap:0}
  .gd-nav-link{padding-left:10px;padding-right:10px}
  .gd-layout{gap:16px}
  .gd-main{padding:28px 26px 36px}
}
@media(max-width:960px){
  .gd-util{display:none}
  .gd-nav-links{display:none}.gd-burger{display:flex;flex-shrink:0}
  .gd-logo{min-width:0;flex-shrink:1;overflow:hidden}
  .gd-search{margin-left:auto;min-width:0;flex-shrink:1}
  .gd-search-box{width:38px;padding-left:34px;padding-right:6px;cursor:pointer;transition:width .25s}
  .gd-search-box::placeholder{color:transparent}
  .gd-search-box:focus{width:200px;padding-right:12px;cursor:text}
  .gd-search-box:focus::placeholder{color:rgba(232,245,244,.42)}
  .gd-layout{grid-template-columns:1fr;padding:0 12px}
  .gd-side{position:fixed;top:64px;left:0;width:284px;height:calc(100vh - 64px);z-index:90;border-radius:0 18px 18px 0;transform:translateX(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);will-change:transform}
  .gd-side.open{transform:translateX(0)}
  .gd-ov{top:64px}
  .gd-main{padding:24px 20px 32px}
  .gd-page-head h1{font-size:26px}
  .gd-lab-grid{grid-template-columns:repeat(2,1fr)}
  .gd-ft-main{grid-template-columns:1fr 1fr;gap:22px;padding:24px 22px 20px}
  .gd-side-tip{display:none!important}
}
@media(max-width:540px){
  .gd-header-inner{height:58px;padding:0 14px;gap:8px}
  .gd-logo{margin-right:8px}
  .gd-logo-mark{width:36px;height:36px;border-radius:999px;padding:2px}
  .gd-logo-text{font-size:14px}
  .gd-logo-text small{font-size:9px}
  .gd-side{top:58px;height:calc(100vh - 58px)}
  .gd-ov{top:58px}
  .gd-main{padding:20px 16px 28px;border-radius:18px}
  .gd-page-head h1{font-size:22px}
  .gd-page-kicker{font-size:9.5px;letter-spacing:.08em}
  .gd-search-box{width:34px;padding-left:30px}
  .gd-search-box:focus{width:160px}
  .gd-lab-grid{grid-template-columns:1fr}
  .gd-ft{border-radius:18px 18px 0 0}
  .gd-ft-main{grid-template-columns:1fr;gap:18px;padding:18px 16px}
  .gd-ft-bottom{padding:10px 16px;flex-direction:column;text-align:center}
}
/* ══════ LEGACY CONTENT COMPAT ══════ */
.gd-main img{max-width:100%;height:auto}
.gd-legacy-content{line-height:1.65}
.gd-legacy-content p,
.gd-legacy-content ul,
.gd-legacy-content ol,
.gd-legacy-content table,
.gd-legacy-content pre,
.gd-legacy-content blockquote{margin:0 0 1rem}
.gd-legacy-content pre{
  white-space:pre-wrap;overflow:auto;padding:16px 18px;border:1px solid var(--border-soft);
  border-radius:14px;background:#f7fbfd;font-size:13px;line-height:1.55
}
.gd-legacy-content center img,
.gd-legacy-content img{max-width:100%;height:auto}
.gd-legacy-content table{max-width:100%}
.doclist{
  list-style:none;padding:0;margin:18px 0;display:grid;gap:12px
}
.doclist li{margin:0}
.doclist li a{
  display:block;padding:14px 16px 14px 18px;border:1px solid var(--border-soft);border-radius:14px;
  background:linear-gradient(180deg,#fff,#f7fbfd);text-decoration:none;font-weight:600;color:var(--text-main);
  box-shadow:0 10px 22px rgba(14,33,37,.04);transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease
}
.doclist li a:hover{
  border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 12px 24px rgba(14,33,37,.07)
}
.price_table{
  width:100%;border-collapse:collapse;margin:20px 0;background:#fff;border:1px solid var(--border-soft)
}
.price_table td,.price_table th{
  padding:10px 12px;border:1px solid var(--border-soft);vertical-align:top;font-size:13px;
  line-height:1.55;text-align:left;text-indent:0
}
.price_table tr:first-child td,.price_table tr:first-child th{font-weight:700;background:#edf6fa}
.thumbnail{
  position:relative;display:inline-block;text-decoration:none!important
}
.thumbnail img{display:block;border-radius:12px}
.thumbnail span{
  position:absolute;left:-9999px;top:-9999px;visibility:hidden;opacity:0;z-index:40;
  min-width:280px;max-width:min(72vw,520px);padding:12px;border:1px solid var(--border-strong);
  border-radius:16px;background:#fff;color:var(--text-main);box-shadow:0 24px 40px rgba(14,33,37,.18);
  transition:opacity .16s ease
}
.thumbnail span img{margin:0 0 10px;border-radius:12px}
.thumbnail:hover span,.thumbnail:focus span{
  left:50%;top:-12px;transform:translate(-10%,-100%);visibility:visible;opacity:1
}
@media(max-width:860px){
  .thumbnail span{display:none!important}
}


/* ══════ SEARCH + PAGE GRADIENT ENHANCEMENTS ══════ */
:root {
  --grad-hue-2: 212;
  --grad-x-2: 72%;
  --grad-y-2: 18%;
  --grad-strength: .24;
  --grad-grid-opacity: .06;
}
body {
  position: relative;
  isolation: isolate;
  background-image:
    linear-gradient(rgba(255,255,255,var(--grad-grid-opacity,.06)) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,calc(var(--grad-grid-opacity,.06) * .9)) 1px, transparent 1px),
    radial-gradient(circle at var(--grad-x,18%) var(--grad-y,12%),
      hsla(var(--grad-hue,198), 82%, 86%, calc(var(--grad-strength,.24) + .08)) 0%,
      transparent 38%),
    radial-gradient(circle at var(--grad-x-2,72%) var(--grad-y-2,18%),
      hsla(var(--grad-hue-2,212), 84%, 84%, calc(var(--grad-strength,.24) * 1.1)) 0%,
      transparent 36%),
    radial-gradient(ellipse at calc(var(--grad-x,18%) + 18%) calc(var(--grad-y,12%) + 56%),
      hsla(calc(var(--grad-hue,198) + 22), 66%, 89%, calc(var(--grad-strength,.24) * .72)) 0%,
      transparent 46%),
    linear-gradient(var(--grad-angle,168deg),
      hsl(calc(var(--grad-hue,198) - 12), 38%, 94.5%) 0%,
      hsl(calc(var(--grad-hue,198) + 4), 26%, 97.6%) 38%,
      hsl(calc(var(--grad-hue-2,212) + 8), 28%, 95.4%) 100%);
}
body::before,
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}
body::before {
  background:
    radial-gradient(circle at calc(var(--grad-x,18%) + 8%) calc(var(--grad-y,12%) + 4%),
      hsla(calc(var(--grad-hue,198) + 18), 88%, 90%, calc(var(--grad-strength,.24) * .44)) 0%,
      transparent 28%),
    radial-gradient(circle at calc(var(--grad-x-2,72%) - 6%) calc(var(--grad-y-2,18%) + 12%),
      hsla(calc(var(--grad-hue-2,212) + 12), 80%, 88%, calc(var(--grad-strength,.24) * .36)) 0%,
      transparent 26%);
  filter: blur(22px);
}
body::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0) 20%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.36), transparent 38%);
  opacity: .56;
}
.gd-main {
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(250,253,253,.95)),
    linear-gradient(135deg,
      hsla(var(--grad-hue,198), 42%, 98%, .42),
      hsla(var(--grad-hue-2,212), 48%, 97%, .18));
}
.gd-main::before {
  background: linear-gradient(90deg,
    hsla(var(--grad-hue,198), 54%, 42%, .72),
    hsla(var(--grad-hue-2,212), 48%, 52%, .36) 50%,
    transparent 80%);
}
.gd-page-head::after {
  background: linear-gradient(90deg,
    hsla(var(--grad-hue,198), 54%, 42%, .82),
    hsla(var(--grad-hue-2,212), 56%, 52%, 0));
}
.gd-search {
  min-width: 0;
}
@media (min-width: 961px) {
  .gd-search-box {
    padding-right: 14px;
  }
  .gd-search-box:focus {
    width: 272px;
  }
}
@media (min-width: 961px) and (max-width: 1200px) {
  .gd-search-box,
  .gd-search-box:focus {
    width: 180px;
  }
}
.gd-search-dd {
  min-width: 320px;
  max-width: min(420px, calc(100vw - 32px));
}
.gd-search-item {
  position: relative;
}
.gd-search-item.active,
.gd-search-item:focus-visible {
  background: linear-gradient(180deg, #eef8f7, #e7f2f3);
  color: var(--text);
  text-decoration: none;
  outline: none;
}
.gd-search-item em {
  display: inline-block;
  margin-top: 5px;
  font-style: normal;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  opacity: .86;
}

/* ══════ SIDEBAR HOVER TOOLTIP ══════ */
.gd-side-tip{
  position:fixed;z-index:110;pointer-events:none;
  opacity:0;transform:translateX(-4px);
  transition:opacity .16s,transform .16s;
}
.gd-side-tip.visible{
  opacity:1;transform:translateX(0);pointer-events:auto;
}
.gd-side-tip-inner{
  background:rgba(253,255,255,.98);
  border:1px solid rgba(195,216,220,.90);
  border-radius:14px;
  box-shadow:0 16px 36px rgba(10,26,30,.11),0 2px 8px rgba(10,26,30,.05);
  padding:10px 6px;min-width:220px;max-width:280px;
}
.gd-side-tip-head{
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--text-tri);padding:4px 10px 6px;
}
.gd-side-tip-inner a{
  display:block;padding:6px 10px;font-size:12px;font-weight:500;
  color:var(--text-sec);text-decoration:none;border-radius:8px;
  line-height:1.36;transition:background .1s,color .1s;
}
.gd-side-tip-inner a:hover{
  background:linear-gradient(180deg,#f0f7f6,#eaf3f4);color:var(--accent);
}

/* ══════ BREADCRUMBS ══════ */
.gd-crumbs{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  margin-bottom:18px;font-size:11px;font-weight:600;
  letter-spacing:.04em;color:var(--text-faint);
}
.gd-crumbs a{color:var(--text-tri);text-decoration:none;transition:color .12s}
.gd-crumbs a:hover{color:var(--accent)}
.gd-crumbs-sep{width:12px;height:12px;position:relative}
.gd-crumbs-sep::before{content:'';position:absolute;left:4px;top:2px;width:5px;height:5px;border-right:1.4px solid var(--gray-400);border-top:1.4px solid var(--gray-400);transform:rotate(45deg)}
.gd-crumbs-current{color:var(--text-sec);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ══════ SCROLL TO TOP ══════ */
.gd-top{
  position:fixed;bottom:24px;right:24px;z-index:80;
  width:42px;height:42px;border-radius:50%;border:1px solid var(--border);
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  box-shadow:0 4px 14px rgba(14,33,37,.10);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .2s,transform .2s,border-color .15s,background .15s;
}
.gd-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.gd-top:hover{border-color:var(--accent);background:#fff;box-shadow:0 6px 18px rgba(14,33,37,.14)}
.gd-top svg{width:16px;height:16px;color:var(--text-tri)}
.gd-top:hover svg{color:var(--accent)}
@media(max-width:540px){
  .gd-top{bottom:16px;right:16px;width:38px;height:38px}
  .gd-top svg{width:14px;height:14px}
}

/* ══════ LEGACY ADAPTIVE WRAPPERS ══════ */
.gd-main iframe{max-width:100%;height:auto;aspect-ratio:16/9;border-radius:10px;border:1px solid var(--border)}
.gd-main table:not(.price_table){max-width:100%;overflow-x:auto;display:block;border-radius:10px}
.gd-main table[bgcolor],.gd-main table[BGCOLOR]{
  background:none!important;border:1px solid var(--border)!important;
  border-radius:10px;overflow:hidden;border-collapse:collapse;
}
.gd-main table[bgcolor] td,.gd-main table[BGCOLOR] td{border:none!important;padding:6px}
.gd-main center{text-align:left}
.gd-page-head ~ h1,
.gd-page-head ~ center h1{display:none}

/* ══════ PRINT ══════ */
@media print{
  .gd-util,.gd-header,.gd-side,.gd-ft,.gd-quick,.gd-top,.gd-ov,.gd-search,.gd-burger,
  .gd-side-cta,.gd-section-context,.gd-crumbs{display:none!important}
  .gd-layout{display:block!important}
  .gd-main{border:none!important;box-shadow:none!important;padding:0!important;background:#fff!important;border-radius:0!important}
  .gd-main::before{display:none!important}
  body{background:#fff!important;background-image:none!important}
  body::before,body::after{display:none!important}
  a{color:#000!important;text-decoration:underline}
  .gd-page-head{border-bottom:1px solid #ccc}
  .gd-page-head::after{display:none}
}
