:root { --navy:#071a35; --navy2:#0d2c55; --gold:#d4a934; --cream:#f8f4ea; --ink:#172235; --muted:#5c6878; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.6; }
a { color:inherit; }
.site-header { height:88px; padding:0 clamp(20px,5vw,72px); display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:#fff; border-bottom:1px solid #ffffff25; position:relative; z-index:2; }
.brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.brand-mark { display:grid; place-items:center; border:2px solid var(--gold); color:var(--gold); font-weight:900; letter-spacing:2px; width:62px; height:46px; }
.brand strong { display:block; font-family:Georgia,serif; font-size:20px; text-transform:uppercase; letter-spacing:1px; }.brand small { display:block; color:#8a6a18;font-weight:700; font-size:20px; letter-spacing:.4px; }
nav { display:flex; align-items:center; gap:28px; } nav a { text-decoration:none; font-size:14px; } .nav-cta { border:1px solid var(--gold); padding:9px 18px; color:var(--gold); }
.hero { min-height:690px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(290px,.75fr); gap:70px; align-items:center; padding:88px clamp(20px,7vw,110px); color:#fff; background:radial-gradient(circle at 70% 20%,#204e7d 0,transparent 30%),linear-gradient(130deg,var(--navy),#0b2850 70%,#06152b); }
.hero-copy { max-width:760px; }.eyebrow { margin:0 0 14px; color:var(--gold); font-weight:800; font-size:13px; letter-spacing:2px; text-transform:uppercase; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; line-height:1.12; margin-top:0; } h1 { font-size:clamp(44px,6vw,78px); margin-bottom:24px; } h2 { font-size:clamp(34px,4vw,52px); margin-bottom:20px; } h3 { font-size:24px; }
.hero-text { max-width:680px; color:#dce5ef; font-size:19px; }.actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:12px 22px; text-decoration:none; font-weight:800; border:2px solid transparent; }.primary,.gold { background:var(--gold); color:var(--navy); }.secondary,.outline { border-color:#fff; color:#fff; }.trust-row { display:flex; flex-wrap:wrap; gap:22px; margin-top:32px; color:#cdd9e7; font-size:14px; }
.hero-card { position:relative; padding:42px 34px; color:var(--ink); background:var(--cream); border-top:5px solid var(--gold); box-shadow:0 24px 70px #0008; }.hero-card h2 { font-size:36px; }.hero-card a { color:var(--navy2); font-weight:800; }.seal { position:absolute; right:-18px; top:-35px; display:grid; place-items:center; width:80px; height:80px; border-radius:50%; background:var(--gold); color:var(--navy); font-family:Georgia,serif; font-size:27px; font-weight:900; border:6px solid var(--navy2); }
.section { padding:90px clamp(20px,7vw,110px); }.section>h2,.section>.eyebrow { text-align:center; }.cards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }.card { padding:30px; border:1px solid #dce2e9; background:#fff; box-shadow:0 12px 40px #0b24440d; }.card-number { color:var(--gold); font-weight:900; letter-spacing:2px; }.card p { color:var(--muted); }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:90px clamp(20px,7vw,110px); background:var(--cream); }.split-section p { color:var(--muted); }.split-section ol { margin:0; padding:0; list-style:none; counter-reset:steps; }.split-section li { counter-increment:steps; position:relative; padding:18px 0 18px 62px; border-bottom:1px solid #d9cfb8; font-weight:700; }.split-section li:before { content:counter(steps); position:absolute; left:0; top:12px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--navy); color:var(--gold); }
.portal { display:flex; justify-content:space-between; gap:50px; align-items:center; background:#eef3f8; }.portal>div { max-width:800px; }.portal .button { min-width:220px; }.portal-actions { display:flex; flex-direction:column; gap:12px; }.dark-outline { border-color:var(--navy); color:var(--navy); }
.faq { max-width:1050px; margin:auto; }.faq details { border-top:1px solid #d8dee6; padding:20px 0; }.faq details:last-child { border-bottom:1px solid #d8dee6; }.faq summary { cursor:pointer; font-weight:800; font-size:18px; }.faq details p { color:var(--muted); }
.contact { padding:90px 20px; text-align:center; background:var(--navy); color:#fff; }.contact p:not(.eyebrow) { color:#dce5ef; }.contact .actions { justify-content:center; }.contact .outline { overflow-wrap:anywhere; }
footer { display:grid; grid-template-columns:1fr auto auto auto; gap:38px; align-items:center; padding:38px clamp(20px,5vw,72px); background:#041126; color:#c5d0dc; font-size:13px; }footer strong { color:var(--gold); letter-spacing:1px; }footer p { margin:4px 0; }footer>div { display:flex; flex-direction:column; }footer a { text-decoration:none; }
.inner-main { min-height:calc(100vh - 260px); background:#eef3f8; padding-bottom:80px; }.page-hero { padding:76px clamp(20px,7vw,110px) 130px; text-align:center; color:#fff; background:linear-gradient(135deg,var(--navy),var(--navy2)); }.page-hero h1 { margin-bottom:18px; font-size:clamp(42px,6vw,70px); }.page-hero p:last-child { max-width:720px; margin:0 auto; color:#dce5ef; font-size:18px; }.content-panel { width:min(880px,calc(100% - 40px)); margin:-70px auto 0; padding:clamp(28px,5vw,56px); background:#fff; box-shadow:0 22px 65px #071a3520; position:relative; }.access-panel h2 { font-size:clamp(30px,4vw,44px); }.access-panel>p { color:var(--muted); font-size:18px; }.status-badge { display:inline-block; margin-bottom:24px; padding:8px 14px; color:var(--navy); background:#f3e7b9; border:1px solid var(--gold); font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:12px; }.security-note { margin-top:28px; padding:20px; border-left:5px solid var(--gold); background:var(--cream); }.security-note p { margin:5px 0 0; }.navy-button { background:var(--navy); color:#fff; }.signup-steps { padding-left:24px; }.signup-steps li { margin:12px 0; padding-left:6px; }.search-form label { display:block; margin-bottom:12px; font-family:Georgia,serif; font-size:27px; font-weight:700; }.search-form>div { display:flex; gap:12px; }.search-form input { width:100%; min-height:54px; padding:12px 16px; border:2px solid #bdc8d4; font:inherit; }.search-form input:focus { border-color:var(--navy2); outline:3px solid #d7e5f4; }.search-status { margin:26px 0 16px; color:var(--muted); }.search-results { display:grid; gap:12px; }.result-card { display:flex; justify-content:space-between; gap:20px; padding:20px; color:var(--navy); text-decoration:none; border:1px solid #d8dee6; background:#f8fafc; }.result-card:hover,.result-card:focus { border-color:var(--gold); box-shadow:0 5px 20px #071a3514; }.result-card span { color:var(--muted); }
@media (max-width:900px) { nav a:not(.nav-cta) { display:none; }.hero { grid-template-columns:1fr; gap:60px; }.hero-card { max-width:560px; }.cards { grid-template-columns:1fr 1fr; }.split-section { grid-template-columns:1fr; }.portal { flex-direction:column; align-items:flex-start; }footer { grid-template-columns:1fr 1fr; }footer>p { grid-column:1/-1; } }
@media (max-width:560px) { .site-header { height:auto; padding-top:14px; padding-bottom:14px; }.brand small { display:none; }.brand strong { font-size:16px; }nav { gap:0; }.nav-cta { padding:8px 12px; }.hero { min-height:0; padding-top:72px; padding-bottom:72px; }.actions .button { width:100%; }.trust-row { display:grid; gap:8px; }.cards { grid-template-columns:1fr; }.section,.split-section { padding-top:70px; padding-bottom:70px; }footer { grid-template-columns:1fr; }footer>p { grid-column:auto; }.search-form>div { flex-direction:column; }.result-card { flex-direction:column; gap:5px; }.page-hero { padding-bottom:110px; }.content-panel { width:calc(100% - 24px); }.portal-actions,.portal-actions .button { width:100%; } }

/* TGFB Sign Up Form */
.signup-section {
  max-width: 700px;
  margin: 50px auto;
  padding: 20px;
}
/* New TGFB header */
.site-header {
  min-height: 92px;
  height: auto;
  padding: 14px clamp(24px, 5vw, 72px);
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  color: #0d2c55;
}

.brand {
  color: #0d2c55;
}

.brand-mark {
  color: #0d2c55;
  border-color: #d4a934;
  background: #ffffff;
}

.brand strong {
  color: #0d2c55;
}

.brand small {
  color: #9a751f;font-size: 20px; font-weight: 700;
}

.site-header nav a {
  color: #0d2c55;
  font-weight: 600;
}

.site-header nav a:hover {
  color: #d4a934;
}

.signup-container {
  background: #ffffff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.signup-container h1 {
  margin-bottom: 10px;
}

.signup-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 25px;
}

.signup-form label {
  font-weight: 700;
  margin-top: 8px;
}

.signup-form input {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #cccccc;
  border-radius: 6px;
  font-size: 16px;
  box-sizing: border-box;
}

.signup-form input:focus {
  outline: none;
  border-color: #b8860b;
}

.signup-form .button {
  margin-top: 18px;
  padding: 14px 20px;
  font-size: 16px;
  cursor: pointer;
}

.brand-mark { display:grid; place-items:center; border:2px solid var(--gold); color:var(--gold); font-weight:900; letter-spacing:2px; width:62px; height:46px; }


/* Professional TGFB Appointment Form */
.appointment-section {
  max-width: 850px;
  margin: 50px auto;
  padding: 50px;
  background: #ffffff;
  border-top: 6px solid #d4a934;
  border-radius: 14px;
  box-shadow: 0 15px 45px rgba(7, 26, 53, 0.14);
}

.appointment-section .eyebrow,
.appointment-section h1,
.appointment-section > p {
  text-align: center;
}

.appointment-section h1 {
  margin-bottom: 15px;
  color: #071a35;
  font-size: clamp(36px, 5vw, 52px);
}

.appointment-section > p {
  max-width: 650px;
  margin: 0 auto 35px;
  color: #5c6878;
}

.appointment-form {
  padding: 35px;
  background: #f8f4ea;
  border: 1px solid #e7dfcf;
  border-radius: 12px;
}

.appointment-form label {
  display: inline-block;
  margin-bottom: 7px;
  color: #071a35;
  font-weight: 700;
}

.appointment-form input,
.appointment-form select,
.appointment-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid #bdc8d4;
  border-radius: 7px;
  background: #ffffff;
  color: #172235;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
}

.appointment-form textarea {
  min-height: 130px;
  resize: vertical;
}

.appointment-form input:focus,
.appointment-form select:focus,
.appointment-form textarea:focus {
  border-color: #d4a934;
  outline: 3px solid rgba(212, 169, 52, 0.2);
}

.appointment-form .button {
  width: 100%;
  margin-top: 10px;
  padding: 15px 25px;
  border: none;
  border-radius: 7px;
  background: #071a35;
  color: #ffffff;
  font-size: 17px;
  cursor: pointer;
}

.appointment-form .button:hover {
  background: #0d2c55;
  color: #d4a934;
}

.appointment-section > p:last-child {
  margin-top: 25px;
  margin-bottom: 0;
}

.appointment-section > p:last-child a {
  color: #0d2c55;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 650px) {
  .appointment-section {
    width: calc(100% - 24px);
    margin: 20px auto;
    padding: 28px 18px;
  }

  .appointment-form {
    padding: 24px 16px;
  }
}