/* Connect Creation brand adaptation.
   Reference: https://connect-creation.com/aio/
   Keep this after styles.css. Page content and native interactions are preserved. */
:root {
  --background: #ffffff;
  --foreground: #253651;
  --navy: #1d2e54;
  --navy-hover: #304775;
  --gold: #ac9165;
  --gold-text: #80673f;
  --teal: var(--navy);
  --teal-text: var(--navy);
  --mint: #f7f9fc;
  --pale: #edf1f6;
  --ink: #253651;
  --muted: #5e6b7e;
  --line: #dce2ea;
  --coral: var(--navy);
  --green: #067a3e;
  --green-hover: #056633;
  color-scheme: light;
}

body { background: var(--background); color: var(--ink); line-height: 2; }
h1, h2 { font-weight: 700; }
h3 { color: var(--navy); }
em { color: var(--navy); }
a, summary { touch-action: manipulation; }
a:focus-visible, summary:focus-visible {
  outline: 3px solid var(--gold-text);
  outline-offset: 5px;
}
::selection { background: #deccab; color: var(--navy); }

/* Airy white header and subtle diagonal grid echo the reference page. */
.hero-surface {
  background-color: var(--mint);
  background-image:
    repeating-linear-gradient(30deg, transparent 0 78px, #1d2e5405 79px 80px),
    repeating-linear-gradient(150deg, transparent 0 78px, #1d2e5405 79px 80px);
}
.header { border: 1px solid #ffffff; padding: 20px 30px; }
.header nav a { transition: color .18s; }
.header nav a:hover { color: var(--gold-text); }
.brand-logo { width: 246px; }
.header-email, .cta-email { background: var(--navy); color: #fff; box-shadow: none; }
.header-line, .cta-line { background: var(--green); color: #fff; box-shadow: none; }
.header-cta, .cta {
  border-radius: 8px;
  transition: background-color .18s, color .18s;
}
.cta:hover, .header-cta:hover { transform: none; filter: none; }
.header-email:hover, .cta-email:hover { background: var(--navy-hover); }
.header-line:hover, .cta-line:hover { background: var(--green-hover); }
.line-label { font-size: .8125rem; }
.hero { padding-top: 62px; padding-bottom: 64px; }
.hero-grid { grid-template-columns: 1fr 1.08fr; gap: 48px; }
.hero-tagline { color: var(--ink); font-size: 1.0625rem; font-weight: 700; }
h1 { font-size: clamp(2rem, 3.3vw, 2.85rem); line-height: 1.6; letter-spacing: -.025em; }
.hero-subcopy { color: var(--muted); font-size: 1.0625rem; font-weight: 500; }
.hero-price { color: var(--navy); gap: 10px; margin-top: 24px; }
.hero-price strong { font-size: 2.7rem; font-weight: 700; }
.hero-price > span { color: var(--gold-text); }
.hero .contact-actions { margin-top: 22px; }
.hero .cta { min-height: 60px; }
.hero-visual img { border-radius: 12px; }
.hero-visual figcaption { color: var(--muted); gap: 8px; line-height: 1.8; }
.hero-visual figcaption svg { color: var(--gold-text); }
.hero-visual figcaption strong { background: var(--navy); font-weight: 500; }
.hero-introduction { margin-top: 54px; padding-top: 38px; border-color: var(--line); }
.hero-questions { color: var(--navy); border-left: 3px solid var(--gold); padding: 8px 0 8px 24px; }
.contact-hint, .note { color: var(--muted); }

/* Clear editorial rhythm, restrained corners and consistent navy headings. */
.section { padding-top: 88px; padding-bottom: 88px; }
.section-heading { margin-bottom: 36px; }
.section-label {
  color: var(--gold-text);
  background: transparent;
  padding: 0;
  border-radius: 0;
  font-weight: 700;
  letter-spacing: .06em;
  margin-bottom: 18px;
}
h2 { font-size: clamp(1.625rem, 2.7vw, 2.25rem); line-height: 1.75; }
.section-intro { margin-bottom: 34px; }
.section-takeaway { color: var(--navy); }
.concerns-list li { padding: 21px 4px; }
.check-list li > svg { color: var(--gold-text); }
.table-wrap { border-radius: 14px; border-color: var(--line); }
thead { background: var(--navy); }
tbody th { background: var(--mint); color: var(--navy); }
.search-table tbody td { background: var(--mint); }
.outcomes-list li { padding: 30px 0; }
.outcome-number { background: var(--navy); color: #fff; font-weight: 700; }
.outcomes-list h3 { color: var(--navy); }
.illustration-row { gap: 48px; }
.illustration-row figure { width: 100%; }
.illustration-row img, .ongoing-support img {
  width: 100%;
  height: auto;
  max-height: 360px;
  object-fit: contain;
  aspect-ratio: 1;
  mix-blend-mode: normal;
}
.citation-example {
  background: #fff;
  border-left: 3px solid var(--gold);
  border-radius: 0 14px 14px 0;
  padding: 30px 34px;
}
.update-flow svg { color: var(--gold-text); }
.phase-label { background: var(--navy); color: #fff; border-radius: 6px; }
.report-panel { border-radius: 14px; background: var(--mint); box-shadow: none; }
.source-note a:hover { color: var(--gold-text); }
.price-panel { border-radius: 18px; box-shadow: none; border-top: 3px solid var(--gold); }
.price-overview { padding: 38px; }
.price-amount strong { font-weight: 700; font-size: clamp(2.8rem, 5.3vw, 4.2rem); }
.price-guidance { background: var(--mint); }
.steps li { background: var(--mint); border-radius: 14px; padding: 30px; }
.step-number { color: var(--gold-text); }
.step-number strong { color: var(--navy); font-weight: 700; }
.preparation, .faq-point { border-left: 3px solid var(--gold); border-radius: 0 12px 12px 0; }
.faq-list details { border-radius: 12px; box-shadow: none; }
.faq-list details[open] { border-color: #b8c3d4; }
.faq-list summary { padding: 24px 0; }
.faq-q { color: var(--navy); font-weight: 700; }
.faq-list summary > svg { color: var(--gold-text); }
.faq-answer { color: var(--muted); }

/* The final consultation section uses Connect Creation's deep navy. */
.closing { background: var(--navy); border-top: 0; color: #fff; }
.closing h2 { color: #fff; }
.closing .section-label { color: #deccab; }
.closing .prose, .closing-caption { color: #d8e0ed; }
.closing .cta-email { box-shadow: inset 0 0 0 1px #ffffff70; }
.closing a:focus-visible { outline-color: #deccab; }
footer { padding-top: 44px; padding-bottom: 36px; }
.footer-bottom { color: var(--muted); }
.mobile-cta { border-color: var(--line); }

@media (max-width: 1100px) {
  .header { padding: 20px 26px; }
  .hero-grid { gap: 28px; }
  h1 { font-size: clamp(2rem, 3.1vw, 2.4rem); }
  .illustration-row { gap: 30px; }
}
@media (max-width: 760px) {
  .header { padding: 19px 20px; border-radius: 26px; }
  .brand-logo { width: 230px; }
  .header nav { gap: 6px 18px; }
  .hero { padding-top: 36px; padding-bottom: 48px; }
  .hero-grid { gap: 32px; }
  .hero-tagline { font-size: 1rem; }
  h1 { font-size: clamp(1.75rem, 7.3vw, 2.65rem); line-height: 1.65; }
  .hero-subcopy { font-size: 1rem; }
  .hero-price strong { font-size: 2.5rem; }
  .hero .cta { padding: 16px 13px; }
  .hero-visual { max-width: 480px; }
  .hero-visual figcaption { gap: 7px; font-size: .875rem; }
  .hero-introduction { gap: 24px; margin-top: 36px; padding-top: 30px; }
  .hero-questions { padding: 4px 0 4px 18px; }
  .section { padding: 60px 20px; }
  .section-heading { margin-bottom: 28px; }
  .section-label { margin-bottom: 16px; line-height: 1.9; letter-spacing: .03em; }
  h2 { font-size: 1.625rem; line-height: 1.8; }
  .concerns-list li { padding: 18px 0; }
  .table-wrap { border-radius: 0; }
  tbody tr { border-radius: 12px; }
  tbody th, .search-table tbody th { background: var(--pale); }
  .search-table tbody td { background: #fff; }
  .outcomes-list li { padding: 26px 0; }
  .illustration-row { gap: 28px; }
  .illustration-row img, .ongoing-support img { max-height: 300px; }
  .citation-example { padding: 25px 22px; }
  .price-overview, .price-guidance { padding: 27px 22px; }
  .price-amount strong { font-size: clamp(2.65rem, 12vw, 3.6rem); }
  .steps li { padding: 26px 21px; }
  .faq-list summary { padding: 22px 0; }
  footer { padding: 34px 20px calc(142px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
