/* Become a GTC Advisor — site-aligned page styles */
.advisor-hero {
  min-height: 86vh;
  background:
    linear-gradient(180deg, rgba(36, 50, 57, 0.28) 0%, rgba(36, 50, 57, 0.5) 50%, rgba(36, 50, 57, 0.68) 100%),
    radial-gradient(circle at center, rgba(47, 63, 70, 0.04), rgba(47, 63, 70, 0.38)),
    url("/images/japan.jpg") center/cover no-repeat;
}

.advisor-hero .hero-content { width: min(100%, 1040px); }
.advisor-hero .hero-content p { max-width: 770px; }
.advisor-hero h1 { font-size: clamp(2.9rem, 5vw, 4.7rem); }
.advisor-hero-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

.button.button-ghost {
  background: rgba(251, 247, 239, 0.08);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: none;
}
.button.button-ghost:hover { background: rgba(251, 247, 239, 0.16); color: var(--white); border-color: rgba(216, 189, 147, 0.82); }

.advisor-manifesto { background: var(--warm-cream); padding-top: 58px; padding-bottom: 58px; }
.advisor-manifesto::before,
.advisor-paths::before,
.advisor-standard::before,
.advisor-fit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6%;
  width: 88%;
  height: 1px;
  background: linear-gradient(90deg, rgba(184, 138, 74, 0), rgba(184, 138, 74, 0.35), rgba(184, 138, 74, 0));
}
.advisor-manifesto-inner {
  width: min(100%, 1180px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 58px;
  align-items: center;
}
.advisor-manifesto h2 { font-size: clamp(2rem, 3.5vw, 3.35rem); margin-bottom: 0; }
.advisor-manifesto p { color: var(--muted); font-size: 1.06rem; line-height: 1.7; }

.advisor-paths { background: radial-gradient(circle at 12% 18%, rgba(216, 189, 147, 0.18), transparent 32%), linear-gradient(180deg, var(--white), var(--ivory)); }
.advisor-heading { width: min(100%, 900px); margin: 0 auto 52px; text-align: center; }
.advisor-heading h2 { font-size: clamp(2.05rem, 3.6vw, 3.35rem); }
.advisor-heading .section-copy { margin: 0 auto; }
.advisor-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: min(100%, 1120px); margin: 0 auto; }
.advisor-path-card {
  position: relative;
  min-height: 405px;
  padding: 42px 38px 36px;
  background: rgba(251, 247, 239, 0.93);
  border: 1px solid var(--border);
  box-shadow: var(--soft-shadow);
  clip-path: polygon(var(--cut-large) 0, 100% 0, 100% calc(100% - var(--cut-large)), calc(100% - var(--cut-large)) 100%, 0 100%, 0 var(--cut-large));
}
.advisor-path-card::after {
  content: attr(data-number);
  position: absolute;
  top: 22px;
  right: 28px;
  font-family: var(--heading-font);
  font-size: 4.5rem;
  line-height: 1;
  color: rgba(184, 138, 74, 0.11);
  pointer-events: none;
}
.advisor-path-card h3 { max-width: 480px; margin: 10px 0 18px; color: var(--slate); font-size: clamp(1.75rem, 2.4vw, 2.45rem); line-height: 1.05; font-weight: 400; }
.advisor-path-card > p { max-width: 530px; color: var(--muted); font-size: 0.98rem; line-height: 1.65; }
.advisor-path-details { display: grid; gap: 11px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--border); }
.advisor-path-details div { display: grid; grid-template-columns: 18px 1fr; gap: 10px; color: var(--slate-soft); font-size: 0.9rem; line-height: 1.45; }
.advisor-path-details span:first-child { color: var(--soft-gold); font-weight: 700; }

.advisor-standard { background: var(--warm-cream); display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 68px; align-items: start; }
.advisor-standard-panel {
  position: sticky;
  top: 110px;
  padding: 42px 38px;
  background: var(--slate);
  color: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow);
  clip-path: polygon(var(--cut-large) 0, 100% 0, 100% calc(100% - var(--cut-large)), calc(100% - var(--cut-large)) 100%, 0 100%, 0 var(--cut-large));
}
.advisor-standard-panel h2 { color: var(--white); font-size: clamp(2.1rem, 3.5vw, 3.25rem); margin-top: 8px; }
.advisor-standard-panel p { color: rgba(255, 255, 255, 0.76); font-size: 1rem; line-height: 1.7; }
.advisor-region-box { margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(216, 189, 147, 0.32); }
.advisor-region-box .small-label { color: var(--champagne); margin-bottom: 12px; }
.advisor-regions { display: grid; gap: 9px; font-family: var(--heading-font); font-size: 1.32rem; color: var(--white); }
.advisor-criteria { border-top: 1px solid var(--border); }
.advisor-criterion { display: grid; grid-template-columns: 76px 1fr; gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--border); }
.advisor-criterion-number { color: var(--soft-gold); font-family: var(--heading-font); font-size: 2.3rem; line-height: 1; }
.advisor-criterion h3 { color: var(--slate); font-size: 1.5rem; font-weight: 400; margin-bottom: 8px; }
.advisor-criterion p { color: var(--muted); font-size: 0.94rem; line-height: 1.6; }

.advisor-fit { background: linear-gradient(180deg, var(--ivory), #f7efe4); }
.advisor-fit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 46px; }
.advisor-fit-card {
  min-height: 230px;
  padding: 30px 24px 26px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--border);
  box-shadow: 0 14px 34px rgba(47, 63, 70, 0.06);
  clip-path: polygon(var(--cut-medium) 0, 100% 0, 100% calc(100% - var(--cut-medium)), calc(100% - var(--cut-medium)) 100%, 0 100%, 0 var(--cut-medium));
}
.advisor-fit-card::before { content: ""; display: block; width: 36px; height: 1px; margin-bottom: 20px; background: var(--soft-gold); opacity: 0.72; }
.advisor-fit-card h3 { font-size: 1.45rem; font-weight: 400; line-height: 1.08; margin-bottom: 12px; }
.advisor-fit-card p { color: var(--muted); font-size: 0.9rem; line-height: 1.55; }

.advisor-cta {
  background: linear-gradient(180deg, rgba(47, 63, 70, 0.46), rgba(47, 63, 70, 0.72)), radial-gradient(circle at center, rgba(47, 63, 70, 0.08), rgba(47, 63, 70, 0.5)), url("/images/caribbean.jpg") center/cover no-repeat;
  color: var(--white);
  text-align: center;
  padding: 118px 6%;
}
.advisor-cta-inner { width: min(100%, 860px); margin: 0 auto; padding: 38px 30px; background: rgba(47, 63, 70, 0.14); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.advisor-cta h2 { color: var(--white); font-size: clamp(2.2rem, 4vw, 3.8rem); margin-bottom: 22px; }
.advisor-cta p { max-width: 720px; margin: 0 auto 32px; color: rgba(255, 255, 255, 0.92); font-size: 1.04rem; line-height: 1.7; }
.advisor-footer-link { display: inline-block; margin-top: 18px; color: var(--champagne); font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.advisor-footer-link:hover { color: var(--white); }

.advisor-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 3vh 3vw;
  background: rgba(31, 42, 47, 0.8);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.advisor-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.advisor-modal-panel {
  width: min(980px, 94vw);
  height: min(920px, 94vh);
  display: grid;
  grid-template-rows: 58px 1fr;
  background: var(--ivory);
  border: 1px solid rgba(216, 189, 147, 0.72);
  box-shadow: 0 30px 90px rgba(18, 27, 31, 0.42);
  overflow: hidden;
  transform: translateY(18px) scale(0.985);
  transition: transform 0.25s ease;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}
.advisor-modal.is-open .advisor-modal-panel { transform: translateY(0) scale(1); }
.advisor-modal-bar { display: flex; align-items: center; justify-content: space-between; padding: 0 18px 0 24px; background: var(--slate); color: var(--white); border-bottom: 1px solid rgba(216, 189, 147, 0.35); }
.advisor-modal-title { margin: 0; color: var(--white); font-family: var(--heading-font); font-size: 1.25rem; font-weight: 400; line-height: 1; }
.advisor-modal-close { width: 40px; height: 40px; border: 0; background: transparent; color: var(--white); font-size: 2rem; line-height: 1; cursor: pointer; transition: color 0.2s ease, transform 0.2s ease; }
.advisor-modal-close:hover { color: var(--champagne); transform: rotate(4deg); }
.advisor-modal-scroll { overflow-y: auto; padding: 28px; }
.advisor-form-card {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 28px;
  background: linear-gradient(180deg, #fffdfa, var(--ivory));
  border: 1px solid var(--border);
  box-shadow: var(--soft-shadow);
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}
.advisor-form-intro { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
.advisor-form-intro h2 { font-size: clamp(1.85rem, 3vw, 2.6rem); margin: 6px 0 10px; }
.advisor-form-intro p { max-width: 690px; color: var(--muted); font-size: 0.92rem; line-height: 1.6; }
.advisor-form-pill { display: inline-flex; padding: 8px 12px; background: rgba(216, 189, 147, 0.2); border: 1px solid var(--border); color: var(--soft-gold); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.advisor-form-section { padding: 26px 0; border-bottom: 1px solid var(--border); }
.advisor-form-section:last-of-type { border-bottom: 0; }
.advisor-form-section-title { margin-bottom: 16px; color: var(--soft-gold); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.advisor-track-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.advisor-track-option { position: relative; }
.advisor-track-option > input { position: absolute; opacity: 0; pointer-events: none; }
.advisor-track-card { display: block; height: 100%; padding: 18px; cursor: pointer; background: rgba(251, 247, 239, 0.76); border: 1px solid var(--border); transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
.advisor-track-card strong { display: block; margin-bottom: 7px; color: var(--slate); font-family: var(--heading-font); font-size: 1.3rem; font-weight: 400; }
.advisor-track-card span { display: block; color: var(--muted); font-size: 0.82rem; line-height: 1.5; }
.advisor-track-option > input:checked + .advisor-track-card { background: rgba(216, 189, 147, 0.16); border-color: rgba(184, 138, 74, 0.52); box-shadow: inset 0 0 0 1px rgba(184, 138, 74, 0.18); }
.advisor-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.advisor-field { display: grid; gap: 7px; }
.advisor-field.full { grid-column: 1 / -1; }
.advisor-field label, .advisor-group-label { color: var(--soft-gold); font-size: 0.69rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.advisor-field input, .advisor-field select, .advisor-field textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--border); background: var(--white); color: var(--slate); font: inherit; }
.advisor-field textarea { min-height: 112px; resize: vertical; }
.advisor-field input:focus, .advisor-field select:focus, .advisor-field textarea:focus { outline: 2px solid rgba(184, 138, 74, 0.3); outline-offset: 1px; }
.advisor-conditional { display: none; margin-top: 18px; padding: 22px; background: rgba(255, 255, 255, 0.7); border: 1px solid var(--border); clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px); }
.advisor-conditional.is-visible { display: block; }
.advisor-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.advisor-check-option { display: flex; align-items: flex-start; gap: 9px; padding: 11px 12px; background: rgba(251, 247, 239, 0.78); border: 1px solid rgba(184, 138, 74, 0.18); color: var(--slate-soft); font-size: 0.88rem; line-height: 1.35; }
.advisor-check-option input { width: auto; margin-top: 2px; accent-color: var(--soft-gold); }
.advisor-form-note { margin-top: 16px; padding: 14px 16px; background: rgba(216, 189, 147, 0.16); border-left: 2px solid rgba(184, 138, 74, 0.6); color: var(--muted); font-size: 0.84rem; line-height: 1.55; }
.advisor-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; }
.advisor-submit-copy { max-width: 560px; color: var(--muted); font-size: 0.8rem; line-height: 1.5; }
.advisor-status { display: none; margin-top: 18px; padding: 16px; background: rgba(216, 189, 147, 0.17); border: 1px solid var(--border); color: var(--slate); font-size: 0.9rem; }
.advisor-status.show { display: block; }
.advisor-honeypot { position: absolute; left: -9999px; }

@media (max-width: 1100px) {
  .advisor-standard { grid-template-columns: 1fr; }
  .advisor-standard-panel { position: static; }
  .advisor-fit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .advisor-hero { min-height: 86vh; }
  .advisor-manifesto-inner, .advisor-path-grid { grid-template-columns: 1fr; }
  .advisor-manifesto-inner { gap: 26px; }
  .advisor-path-card { min-height: auto; padding: 34px 28px 30px; }
  .advisor-criterion { grid-template-columns: 54px 1fr; gap: 14px; }
  .advisor-fit-grid { grid-template-columns: 1fr; }
  .advisor-modal { padding: 0; }
  .advisor-modal-panel { width: 100vw; height: 100dvh; max-height: none; clip-path: none; border: 0; grid-template-rows: 54px 1fr; }
  .advisor-modal-scroll { padding: 14px; }
  .advisor-form-card { padding: 22px 16px; clip-path: none; }
  .advisor-form-intro { grid-template-columns: 1fr; }
  .advisor-form-pill { width: fit-content; }
  .advisor-track-grid, .advisor-form-grid, .advisor-check-grid { grid-template-columns: 1fr; }
  .advisor-field.full { grid-column: auto; }
  .advisor-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .advisor-form-actions .button { width: 100%; }
}
