.landing-page .header-call { color: var(--navy); font-size: 14px; font-weight: 700; text-underline-offset: 4px; }
.landing-page .hero { background: linear-gradient(115deg, rgba(24, 51, 74, .97), rgba(24, 51, 74, .88)), radial-gradient(circle at 80% 20%, #b99b62, transparent); color: white; padding: 100px 24px; }
.landing-page .hero-layout { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 35px; }
.landing-page .hero h1 { font-size: clamp(36px, 4.2vw, 59px); margin: 18px 0; }
.landing-page .hero-description { max-width: 690px; font-size: 20px; color: #f0f0e9; }
.landing-page .hero-photo { display: block; width: 100%; max-width: 450px; height: auto; object-fit: contain; border-radius: 20px; box-shadow: 0 20px 45px #091a2870; justify-self: center; }
.landing-page .founder-note { max-width: 590px; margin-top: 22px; font-size: 14px; color: #e6dfd1; }
.landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }
.landing-page .tile { padding: 29px; background: white; border: 1px solid #e7e7e2; border-radius: 12px; box-shadow: 0 8px 30px #173a4809; }
.landing-page .tile p:last-child { margin-bottom: 0; }
.landing-page .note { margin-top: 25px; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; list-style: none; padding: 0; margin: 35px 0 0; counter-reset: getting-started; }
.steps-grid li { counter-increment: getting-started; }
.steps-grid li::before { content: counter(getting-started); display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 20px; border: 1px solid var(--gold); border-radius: 50%; color: var(--navy); font-family: Georgia, serif; font-size: 22px; }
.steps-grid p { margin-bottom: 0; }
.pricing-grid { margin-top: 48px; }
.plan-card { position: relative; }
.landing-page .popular-plan { border: 2px solid var(--gold); background: var(--cream); padding: 28px; }
.popular-label { position: absolute; top: -17px; left: 25px; padding: 3px 14px; border-radius: 99px; background: var(--gold); color: var(--navy); font-size: 13px; font-weight: 700; }
.landing-page .price { margin: 22px 0; font-family: Georgia, serif; font-size: 44px; line-height: 1.2; color: var(--navy); }
.price span { font-family: system-ui, -apple-system, Segoe UI, sans-serif; font-size: 16px; }
.landing-founder { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 55px; align-items: start; }
.landing-founder .founder-photo { position: sticky; top: 30px; }
.landing-page .pill { display: inline-block; padding: 6px 12px; background: #e7ede8; color: #315b4d; border-radius: 99px; font-size: 13px; font-weight: 700; margin: 5px 4px 5px 0; }
.faq-list { margin-top: 30px; border-top: 1px solid #e9e5db; }
.faq-list details { border-bottom: 1px solid #e9e5db; padding: 21px 0; }
.faq-list summary { position: relative; padding-right: 35px; cursor: pointer; list-style: none; font-weight: 700; color: var(--navy); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 5px; top: 0; color: var(--sage); font-size: 24px; line-height: 1.2; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 16px 0 0; max-width: 850px; }
.landing-page .contact-layout { margin-top: 35px; }
.inquiry-form { min-width: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-wide { grid-column: 1 / -1; }
.form-field label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 650; }
.form-field input, .form-field select, .form-field textarea { display: block; width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #c6cfc9; border-radius: 5px; background: white; color: var(--ink); font: inherit; font-size: 16px; }
.form-field textarea { resize: vertical; }
.form-field input:focus-visible, .form-field select:focus-visible, .form-field textarea:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.form-consent { margin: 24px 0 18px; font-size: 13px; color: #d0dce0; }
.inquiry-form button { cursor: pointer; font: inherit; font-weight: 750; }
.inquiry-form button:disabled { opacity: .7; cursor: wait; transform: none; }
.form-status { margin-bottom: 0; color: #f3dfb4; font-size: 15px; }
.landing-page .organizations .btn.outline { border-color: var(--navy); color: var(--navy); }
.landing-page .organizations .btn.outline:hover { background: #18334a0c; }
.landing-footer { padding: 32px 24px; background: #102739; color: #dbe3e5; text-align: center; font-size: 13px; }
.landing-footer p { margin: 0; overflow-wrap: anywhere; }
.landing-footer p + p { margin-top: 15px; color: #bccbd0; }
.landing-footer a { text-underline-offset: 3px; }
.landing-footer a:focus-visible { outline-color: var(--gold); }
.confirmation { min-height: 65vh; }
@media (max-width: 900px) {
  .landing-founder { gap: 32px; grid-template-columns: 220px minmax(0, 1fr); }
  .landing-page .hero-layout { gap: 25px; }
  .landing-page .tile { padding: 23px; }
  .landing-page .popular-plan { padding: 22px; }
}
@media (max-width: 720px) {
  .landing-page .site-header nav { flex-wrap: nowrap; gap: 16px; }
  .landing-page .header-call { font-size: 13px; text-align: right; }
  .landing-page .brand { font-size: 14px; }
  .landing-page .brand small { font-size: 9px; }
  .landing-page .hero { padding: 76px 22px; }
  .landing-page .hero-layout, .landing-grid, .steps-grid, .landing-founder, .form-grid { grid-template-columns: minmax(0, 1fr); }
  .landing-page .hero-photo { max-height: 360px; }
  .landing-page .hero-layout { gap: 35px; }
  .landing-grid, .steps-grid { gap: 28px; }
  .landing-founder .founder-photo { position: static; }
  .form-wide { grid-column: auto; }
}
