
:root {
  --bg:#f5f1e9; --bg2:#e9e1d2; --panel:#ffffff; --ink:#0a0d0f; --ink2:#14191c;
  --text:#161a1d; --muted:#667077; --line:rgba(22,26,29,.13);
  --gold:#f0c443; --teal:#2ad0bf; --orange:#f16c4b; --blue:#6b98ff; --white:#fff;
  --max:1280px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.container { width:min(var(--max), calc(100% - 46px)); margin:auto; }
section { padding:100px 0; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.05em; }
h1 { font-size:clamp(4.2rem,9vw,9.6rem); line-height:.80; font-weight:720; }
h2 { font-size:clamp(2.8rem,5.1vw,5.4rem); line-height:.92; font-weight:660; }
h3 { font-size:clamp(1.45rem,2vw,2.05rem); line-height:1.05; font-weight:650; }
p { line-height:1.7; }
.muted { color:var(--muted); }
.kicker { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-weight:800; }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; font-weight:800; }
.eyebrow::before { content:""; width:30px; height:2px; background:var(--gold); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 24px; border-radius:999px; border:1px solid transparent; font-weight:700; transition:.25s; }
.btn:hover { transform:translateY(-2px); }
.btn-gold { background:var(--gold); color:var(--ink); }
.btn-teal { background:var(--teal); color:var(--ink); }
.btn-dark { background:var(--ink); color:#fff; }
.btn-light { background:#fff; color:var(--ink); }
.btn-ghost { border-color:rgba(255,255,255,.33); color:#fff; background:rgba(255,255,255,.04); backdrop-filter:blur(8px); }

.site-header { position:absolute; inset:0 0 auto; z-index:100; color:#fff; }
.nav-shell { height:94px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.14); }
.brand { justify-self:start; display:flex; align-items:center; gap:13px; }
.brand-mark { width:48px; height:48px; border-radius:14px; border:1px solid rgba(255,255,255,.45); position:relative; overflow:hidden; }
.brand-mark::before { content:"GD"; position:absolute; inset:0; display:grid; place-items:center; font-size:.82rem; font-weight:900; letter-spacing:-.08em; color:var(--gold); }
.brand-mark::after { content:""; position:absolute; left:8px; right:8px; bottom:8px; height:3px; background:var(--teal); border-radius:999px; }
.brand-copy { display:grid; line-height:1; }
.brand-copy strong { font-size:1rem; font-weight:800; letter-spacing:.1em; }
.brand-copy span { margin-top:5px; font-size:.50rem; letter-spacing:.18em; text-transform:uppercase; color:#c7cecf; }
.nav-links { display:flex; gap:30px; align-items:center; justify-content:center; font-size:.92rem; font-weight:460; }
.nav-links > a, .nav-dropdown-trigger { opacity:.82; position:relative; }
.nav-links > a:hover, .nav-links > a.active, .nav-dropdown:hover .nav-dropdown-trigger, .nav-dropdown.active .nav-dropdown-trigger { opacity:1; }
.nav-links > a.active::after, .nav-dropdown.active > .nav-dropdown-trigger::after { content:""; position:absolute; left:0; right:0; bottom:-14px; height:2px; background:var(--gold); }
.nav-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
.nav-phone { font-size:.83rem; opacity:.85; }
.menu-btn { display:none; background:none; border:0; color:#fff; font-size:1.6rem; }
.mobile-panel { display:none; }

.nav-dropdown { position:relative; display:flex; align-items:center; padding-bottom:9px; margin-bottom:-9px; }
.nav-dropdown::after { content:""; position:absolute; left:-26px; right:-26px; top:100%; height:20px; background:transparent; }
.nav-dropdown-trigger { background:none; border:0; color:inherit; font:inherit; padding:14px 0; display:flex; align-items:center; gap:8px; }
.nav-dropdown-trigger span { transition:.2s; }
.nav-dropdown-menu { position:absolute; top:calc(100% + 8px); left:50%; transform:translate(-50%,-6px); min-width:360px; background:#fff; color:var(--text); border:1px solid rgba(0,0,0,.08); border-radius:18px; padding:10px; box-shadow:0 28px 78px rgba(0,0,0,.25); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s, transform .18s, visibility 0s linear .3s; }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu, .nav-dropdown.open .nav-dropdown-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); transition-delay:0s; }
.nav-dropdown:hover .nav-dropdown-trigger span, .nav-dropdown.open .nav-dropdown-trigger span { transform:rotate(180deg); }
.nav-dropdown-menu a { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:13px; border-radius:12px; font-size:.84rem; font-weight:720; }
.nav-dropdown-menu a:hover, .nav-dropdown-menu a.active { background:#f8f4e8; color:#8f6c00; }
.nav-dropdown-menu small { display:block; margin-top:4px; font-size:.55rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }

.hero { min-height:100svh; color:#fff; position:relative; overflow:hidden; background:
linear-gradient(90deg, rgba(5,8,10,.98) 0%, rgba(5,8,10,.90) 44%, rgba(5,8,10,.28) 100%),
url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=2200&q=88") center/cover; }
.hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to right, #000 0%, #000 70%, transparent 100%); }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:240px; background:linear-gradient(transparent, rgba(0,0,0,.72)); }
.hero-grid { position:relative; z-index:2; min-height:100svh; display:grid; grid-template-columns:1.12fr .62fr; gap:74px; align-items:end; padding:168px 0 128px; }
.hero-copy h1 { margin:25px 0 30px; max-width:1020px; }
.hero-copy h1 em { font-style:normal; color:var(--gold); }
.hero-copy p { max-width:760px; font-size:1.15rem; color:#d5dcda; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:36px; }
.hero-card { border:1px solid rgba(255,255,255,.14); background:rgba(7,11,12,.84); backdrop-filter:blur(16px); border-radius:26px; padding:27px; position:relative; overflow:hidden; }
.hero-card::before { content:""; position:absolute; inset:auto -80px -80px auto; width:180px; height:180px; border-radius:50%; border:1px solid rgba(42,208,191,.18); box-shadow:0 0 0 40px rgba(42,208,191,.05); }
.hero-card-top { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; padding-bottom:17px; border-bottom:1px solid rgba(255,255,255,.12); }
.hero-card-top small { font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.hero-card h3 { position:relative; z-index:2; font-size:1.55rem; margin:22px 0 13px; }
.hero-routes { position:relative; z-index:2; display:grid; }
.hero-routes a { display:grid; grid-template-columns:35px 1fr auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.hero-routes a:last-child { border-bottom:0; }
.hero-routes .n { font-size:.64rem; color:var(--teal); }
.hero-routes .go { transition:.2s; }
.hero-routes a:hover .go { transform:translateX(4px); color:var(--gold); }
.hero-bar { position:absolute; left:0; right:0; bottom:0; z-index:4; background:rgba(4,7,8,.54); backdrop-filter:blur(10px); border-top:1px solid rgba(255,255,255,.12); }
.hero-bar-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.hero-stat { padding:18px 22px; border-right:1px solid rgba(255,255,255,.12); }
.hero-stat:first-child { padding-left:0; }
.hero-stat:last-child { border-right:0; }
.hero-stat b { display:block; font-size:1.18rem; font-weight:620; }
.hero-stat span { font-size:.60rem; text-transform:uppercase; letter-spacing:.12em; color:#b4bfbc; }

.ticker { background:var(--gold); color:var(--ink); overflow:hidden; }
.ticker-track { display:flex; width:max-content; animation:scroll 28s linear infinite; }
.ticker-track span { display:flex; align-items:center; padding:16px 0; font-size:.70rem; letter-spacing:.15em; text-transform:uppercase; font-weight:850; }
.ticker-track span::after { content:"◆"; margin:0 28px; color:var(--orange); font-size:.67rem; }
@keyframes scroll { to { transform:translateX(-50%); } }

.split-head { display:grid; grid-template-columns:.83fr 1.17fr; gap:82px; align-items:end; margin-bottom:58px; }
.split-head p { max-width:670px; margin-left:auto; }

.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.card-visual { position:relative; min-height:580px; overflow:hidden; border-radius:28px; color:#fff; background:#222; }
.card-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.7s; }
.card-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.08) 26%, rgba(5,8,10,.95) 100%); }
.card-visual:hover img { transform:scale(1.04); }
.card-visual .inner { position:absolute; z-index:2; left:28px; right:28px; bottom:28px; }
.card-visual small { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:820; }
.card-visual h3 { font-size:2.25rem; margin:12px 0 10px; }
.card-visual p { color:#d1dbd7; }
.card-visual .link { display:flex; justify-content:space-between; align-items:center; padding-top:17px; border-top:1px solid rgba(255,255,255,.15); font-size:.86rem; font-weight:720; }

.dark { background:var(--ink); color:#fff; }
.dark .muted { color:#afbbb7; }
.feature-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:16px; }
.feature-visual { min-height:650px; border-radius:28px; overflow:hidden; position:relative; background-size:cover; background-position:center; }
.feature-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(6,8,10,.95)); }
.feature-caption { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:32px; }
.feature-caption small { font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); }
.feature-caption h3 { margin:10px 0 0; font-size:2.55rem; }
.feature-list { display:grid; gap:12px; }
.feature-item { padding:24px 27px; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:#111719; display:grid; grid-template-columns:48px 1fr auto; gap:15px; }
.feature-item .n { font-size:.65rem; color:var(--teal); }
.feature-item h3 { margin:0 0 7px; }
.feature-item p { margin:0; color:#b0bbb8; }
.feature-item .icon { color:var(--gold); }

.info-band { background:var(--bg2); }
.info-grid { display:grid; grid-template-columns:.96fr 1.04fr; gap:70px; }
.statement { background:var(--ink); color:#fff; border-radius:30px; padding:36px; position:relative; overflow:hidden; }
.statement::after { content:"GD"; position:absolute; right:-16px; bottom:-52px; font-size:11rem; line-height:1; font-weight:900; letter-spacing:-.1em; color:rgba(240,196,67,.05); }
.statement > * { position:relative; z-index:2; }
.statement .label { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:820; }
.statement h3 { font-size:2.45rem; margin:15px 0 22px; }
.statement-row { display:grid; grid-template-columns:170px 1fr; gap:20px; padding:17px 0; border-top:1px solid rgba(255,255,255,.13); }
.statement-row small { font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; color:#85918d; }
.statement-row strong { font-weight:580; }
.list-rows { border-top:1px solid var(--line); }
.list-row { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.list-row .n { font-size:.64rem; color:#8a6900; }
.list-row h3 { margin:0 0 7px; }
.list-row p { margin:0; color:var(--muted); }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.process-step { padding:30px 27px 10px 0; border-right:1px solid var(--line); min-height:275px; }
.process-step:not(:first-child) { padding-left:27px; }
.process-step:last-child { border-right:0; }
.process-step .n { font-size:.65rem; color:#8b6900; letter-spacing:.13em; font-weight:800; }
.process-step h3 { margin:44px 0 12px; }
.process-step p { color:var(--muted); }

.page-hero { padding:188px 0 96px; background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; right:-170px; top:-120px; width:520px; height:520px; border-radius:50%; border:1px solid rgba(240,196,67,.14); box-shadow:0 0 0 80px rgba(240,196,67,.02), 0 0 0 160px rgba(42,208,191,.025); }
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 { font-size:clamp(3.4rem,7.4vw,7.4rem); max-width:1120px; margin:24px 0 0; }
.page-lead { font-size:1.14rem; color:#b7c3bf; max-width:820px; margin-top:28px; }

.scope-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.scope-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:29px; min-height:290px; position:relative; overflow:hidden; }
.scope-card::after { content:""; position:absolute; inset:auto -30px -30px auto; width:100px; height:100px; border-radius:50%; background:radial-gradient(circle, rgba(240,196,67,.12), transparent 70%); }
.scope-card small { font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; color:#8a6900; font-weight:820; }
.scope-card h3 { margin:24px 0 11px; font-size:1.8rem; }
.scope-card p { color:var(--muted); }

.detail-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:82px; }
.detail-grid h2 { font-size:3.15rem; }
.detail-list { border-top:1px solid var(--line); }
.detail-row { display:grid; grid-template-columns:210px 1fr; gap:28px; padding:20px 0; border-bottom:1px solid var(--line); }
.detail-row small { font-size:.64rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }

.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.principle-list { border-top:1px solid var(--line); }
.principle { padding:22px 0; border-bottom:1px solid var(--line); }
.principle small { display:block; margin-bottom:7px; font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; color:#8a6900; }

.contact-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; }
.contact-card { background:var(--ink); color:#fff; border-radius:26px; padding:34px; position:sticky; top:30px; }
.contact-line { padding:20px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.contact-line small { display:block; color:#84918d; margin-bottom:7px; font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.field input, .field select, .field textarea { border:1px solid var(--line); background:#fbfaf6; border-radius:12px; padding:15px 14px; outline:none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:#8a6900; }
.field textarea { min-height:155px; resize:vertical; }
.form-note { font-size:.8rem; color:var(--muted); }

.footer { background:#030506; color:#fff; padding:72px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr 1fr; gap:50px; }
.footer p { max-width:390px; color:#87938f; font-size:.9rem; }
.footer h4 { margin:0 0 18px; font-size:.67rem; letter-spacing:.14em; text-transform:uppercase; color:#75827d; }
.footer a { display:block; margin:10px 0; font-size:.9rem; color:#d3dcda; }
.footer a:hover { color:var(--gold); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:46px; padding-top:22px; border-top:1px solid rgba(255,255,255,.11); font-size:.78rem; color:#75817c; }

.wa-float { position:fixed; right:20px; bottom:20px; z-index:95; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--ink); font-size:.68rem; font-weight:900; box-shadow:0 16px 36px rgba(0,0,0,.24); }

.reveal { opacity:0; transform:translateY(22px); transition:.65s ease; }
.reveal.in { opacity:1; transform:none; }

@media (max-width:1080px) {
  .cards-3 { grid-template-columns:1fr 1fr; }
  .cards-3 > :last-child { grid-column:1/-1; }
}
@media (max-width:980px) {
  .container { width:min(var(--max), calc(100% - 34px)); }
  .nav-shell { grid-template-columns:1fr auto; }
  .nav-links, .nav-phone, .nav-actions .btn { display:none; }
  .menu-btn { display:block; }
  .mobile-panel { position:fixed; inset:0; z-index:110; background:var(--ink); color:#fff; padding:28px; display:none; overflow:auto; }
  .mobile-panel.open { display:block; }
  .mobile-top { display:flex; justify-content:space-between; align-items:center; }
  .close-menu { background:none; border:0; color:#fff; font-size:2rem; }
  .mobile-links { display:grid; gap:20px; margin-top:65px; }
  .mobile-links > a { font-size:2rem; letter-spacing:-.03em; }
  .mobile-sub { display:grid; gap:10px; padding-left:18px; border-left:1px solid rgba(255,255,255,.16); }
  .mobile-sub a { font-size:1rem; color:#c6d0ce; }
  .mobile-contact { margin-top:38px; display:grid; gap:10px; }
  .hero-grid, .split-head, .feature-grid, .info-grid, .detail-grid, .about-grid, .contact-grid, .cta-box { grid-template-columns:1fr; gap:42px; }
  .hero-grid { padding:140px 0 190px; }
  .hero-bar-grid { grid-template-columns:1fr 1fr; }
  .scope-grid { grid-template-columns:1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  section { padding:76px 0; }
  .container { width:calc(100% - 28px); }
  .nav-shell { height:74px; }
  .brand-copy strong { font-size:.86rem; }
  .brand-copy span { font-size:.45rem; }
  .hero-grid { padding:112px 0 200px; }
  .hero-copy h1 { font-size:clamp(3.4rem,15vw,6rem); }
  .hero-actions .btn { width:100%; }
  .hero-stat { padding:13px 8px; }
  .hero-stat b { font-size:.95rem; }
  .hero-stat span { font-size:.51rem; }
  .cards-3 { grid-template-columns:1fr; }
  .cards-3 > :last-child { grid-column:auto; }
  .feature-visual { min-height:430px; }
  .process-grid { grid-template-columns:1fr; }
  .process-step, .process-step:not(:first-child) { min-height:auto; padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }
  .process-step:last-child { border-bottom:0; }
  .statement-row, .detail-row { grid-template-columns:1fr; gap:6px; }
  .page-hero { padding:136px 0 70px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}
