/* Interior pages share the Tieglo palette and typography in styles.css. */
.page-hero { position: relative; min-height: 420px; display: flex; align-items: center; overflow: hidden; color: white; background: var(--navy); }
.page-hero-image, .page-hero::after { position: absolute; inset: 0; }
.page-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { content: ""; background: linear-gradient(90deg, rgba(7,22,56,.96) 0%, rgba(7,22,56,.83) 45%, rgba(7,22,56,.25) 100%); }
.page-hero-content { position: relative; z-index: 1; padding-block: 64px; }
.page-hero h1 { max-width: 730px; font-size: clamp(3rem, 5vw, 4.5rem); font-weight: 800; letter-spacing: -.06em; }
.page-hero h1 em { color: #ff8a36; font-style: normal; }
.page-hero-content > p:not(.eyebrow) { max-width: 600px; margin-top: 19px; color: #e5ebf7; font-size: 1.1rem; }
.page-hero-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; color: white; font-size: .84rem; font-weight: 800; }
.page-hero-link:hover { background: rgba(255,255,255,.12); }
.pricing-hero .early-pricing-banner { display: inline-block; max-width: 640px; margin-top: 20px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.34); border-radius: 10px; background: rgba(7,22,56,.74); color: white; font-size: .92rem; line-height: 1.45; }
.early-pricing-banner strong { color: #ffad6a; }
.pricing-hero .early-pricing-banner + .page-hero-link { display: flex; width: fit-content; }
.contact-hero { min-height: 350px; }
.contact-hero .page-hero-image img { object-position: center 35%; }

/* Local legal documents */
.legal-hero { min-height: 320px; background: radial-gradient(circle at 86% 10%, #214a91, transparent 34%), linear-gradient(135deg, #071638, #12336e); }
.legal-hero::after { display: none; }
.legal-hero .page-hero-content { padding-block: 55px; }
.legal-hero h1 { font-size: clamp(2.65rem, 4.5vw, 4.2rem); }
.legal-hero .legal-date { margin-top: 20px; color: #abc5ef; font-size: .85rem; font-weight: 800; }
.legal-content { background: var(--soft); }
.legal-layout { display: grid; grid-template-columns: minmax(205px, .27fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 70px); align-items: start; }
.legal-index { position: sticky; top: 106px; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: white; box-shadow: var(--shadow); }
.legal-index nav { display: grid; gap: 9px; }
.legal-index a { color: var(--muted); font-size: .88rem; font-weight: 700; line-height: 1.4; }
.legal-index a:hover, .legal-article a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.legal-index .legal-index-help { margin-top: 21px; padding-top: 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: .83rem; }
.legal-article { padding: clamp(25px, 4vw, 55px); border: 1px solid var(--border); border-radius: 22px; background: white; box-shadow: var(--shadow); }
.legal-section { scroll-margin-top: 105px; }
.legal-section + .legal-section { margin-top: 36px; padding-top: 35px; border-top: 1px solid var(--border); }
.legal-section h2 { margin-bottom: 16px; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.legal-section p { color: var(--muted); font-size: .97rem; line-height: 1.8; }
.legal-section p + p { margin-top: 15px; }
.legal-section strong { color: var(--navy); }

/* Editorial pages */
.editorial-hero { min-height: 455px; }
.editorial-hero ~ .section { padding-block: clamp(64px, 7vw, 88px); }
.editorial-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(36px, 6vw, 88px); align-items: center; }
.editorial-split > div > p:not(.section-kicker) { max-width: 610px; margin-top: 18px; color: var(--muted); font-size: 1.03rem; line-height: 1.75; }
.editorial-split h2 span, .faq-preview h2 span { color: var(--blue); }
.editorial-image { overflow: hidden; border-radius: 22px; background: var(--navy); box-shadow: 0 20px 50px rgba(7,22,56,.12); }
.editorial-image img { width: 100%; aspect-ratio: 1.26; object-fit: cover; }
.product-screenshot { background: #f4f2fb; }
.product-screenshot img { height: auto; aspect-ratio: auto; object-fit: contain; }
.editorial-image figcaption { padding: 15px 21px; color: white; font-size: .82rem; font-weight: 700; }
.editorial-link { display: inline-block; margin-top: 25px; color: var(--blue); font-size: .97rem; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.journey-grid, .benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.journey-grid article, .benefit-grid article, .benefit-grid > a { display: block; padding: 26px; border: 1px solid var(--border); border-radius: 18px; background: white; box-shadow: var(--shadow); }
.journey-grid article > span, .benefit-grid article > span, .benefit-grid > a > span { display: block; margin-bottom: 30px; color: var(--blue); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.journey-grid h3, .benefit-grid h3 { margin-bottom: 10px; }
.journey-grid p, .benefit-grid p { color: var(--muted); font-size: .92rem; }
.benefit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.benefit-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.faq-next .benefit-grid > a { transition: transform .18s ease, box-shadow .18s ease; }
.faq-next .benefit-grid > a:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(7,22,56,.1); }
.faq-preview-inner { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.faq-preview h2 { font-size: clamp(2rem, 3vw, 2.8rem); }
.faq-preview p:last-child { max-width: 570px; margin-top: 12px; color: var(--muted); }
.faq-preview .plan-button { margin: 0; min-width: 280px; }

/* Pricing */
.pricing-section { background: white; }
.plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.plan-card { position: relative; display: flex; flex-direction: column; padding: 25px 22px 23px; border: 1px solid var(--border); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.plan-card-featured { border: 2px solid var(--blue); padding: 24px 21px 22px; box-shadow: 0 18px 44px rgba(20,120,255,.14); }
.plan-badge { position: absolute; top: -14px; right: 17px; padding: 5px 11px; border-radius: 99px; color: white; background: var(--blue); font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.plan-type { margin-bottom: 8px; color: var(--blue); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.plan-card h3 { font-size: 1.65rem; }
.plan-desc { min-height: 70px; margin-top: 10px; color: var(--muted); font-size: .83rem; }
.plan-desc-long { min-height: 150px; line-height: 1.55; }
.plan-card .plan-type { min-height: 32px; }
.plan-price { margin-top: 16px; color: var(--navy); font-size: 2.2rem; font-weight: 800; line-height: 1.15; letter-spacing: -.06em; white-space: nowrap; }
.plan-price span { font-size: .84rem; font-weight: 700; letter-spacing: 0; color: var(--muted); }
.plan-price-custom { font-size: 1.8rem; }
.plan-period { min-height: 29px; margin-top: 4px; color: var(--muted); font-size: .77rem; }
.plan-button { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 18px 0 21px; padding: 11px 13px; border-radius: 10px; font-size: .94rem; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.plan-button:hover { transform: translateY(-2px); }
.plan-button-outline { border: 1px solid var(--border); color: var(--navy); background: white; }
.plan-button-outline:hover { background: var(--soft-blue); }
.plan-button-primary { background: var(--blue); color: white; }
.plan-button-primary:hover { background: var(--blue-hover); }
.plan-features { display: grid; gap: 12px; margin: 0; padding: 19px 0 0; border-top: 1px solid var(--border); list-style: none; }
.plan-features li { position: relative; padding-left: 25px; color: var(--muted); font-size: .79rem; line-height: 1.45; }
.plan-features li::before { content: "✓"; position: absolute; left: 0; color: var(--blue); font-weight: 800; }
.plan-features .plan-inherits { padding-left: 0; color: var(--navy); font-weight: 800; }
.plan-features .plan-inherits::before { content: none; }
.plan-footnote { margin-top: auto; padding-top: 19px; color: var(--muted); font-size: .79rem; }
.plan-footnote strong { color: var(--navy); }
.pricing-note { max-width: 900px; margin: 29px auto 0; color: var(--muted); font-size: .82rem; text-align: center; }
.pricing-note a { color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.event-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.event-plan { display: flex; flex-direction: column; gap: 18px; padding: 29px; border: 1px solid var(--border); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.event-plan .section-kicker { margin-bottom: 10px; }
.event-plan h3 { margin-bottom: 14px; font-size: 2rem; }
.event-plan h3 span { color: var(--muted); font-size: 1rem; letter-spacing: 0; }
.event-plan p:not(.section-kicker) { color: var(--muted); font-size: .87rem; }
.event-inquiry { display: flex; justify-content: center; align-items: center; gap: 30px; margin-top: 29px; }
.event-inquiry p { max-width: 600px; color: var(--muted); font-size: .9rem; }
.event-inquiry .plan-button { flex: none; margin: 0; }
.event-plan-detail { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--border); }
.event-plan-detail strong { display: block; color: var(--blue); font-size: 1.8rem; line-height: 1; }
.event-plan-detail span { display: block; margin-top: 5px; color: var(--navy); font-size: .75rem; font-weight: 800; }
.event-plan-detail small { display: block; margin-top: 15px; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.event-plan-detail a { color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.details-toggle-wrap { padding: 39px 24px; text-align: center; background: white; }
.details-toggle { min-width: 225px; padding: 15px 21px; border: 0; border-radius: 12px; background: var(--navy); color: white; font-size: 1rem; font-weight: 800; box-shadow: 0 12px 28px rgba(7,22,56,.15); }
.details-toggle::after { content: " ↓"; margin-left: 9px; }
.details-toggle[aria-expanded="true"]::after { content: " ↑"; }
.details-toggle:hover { background: #14336b; }
.pricing-details[hidden] { display: none; }
.extras-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.extras-grid article { padding: 27px; border: 1px solid var(--border); border-radius: 18px; background: white; box-shadow: var(--shadow); }
.extra-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 12px; color: var(--blue); background: var(--soft-blue); font-size: 1.35rem; }
.extras-grid h3 { margin-bottom: 8px; }
.extras-grid p { color: var(--navy); }
.extras-grid strong { font-size: 1.35rem; }
.extras-grid small { display: block; margin-top: 7px; color: var(--muted); }
.printer-pricing { margin-top: 28px; padding: clamp(20px, 3vw, 34px); border: 1px solid var(--border); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.printer-pricing-heading { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 22px; }
.printer-pricing-heading .section-kicker { margin-bottom: 8px; }
.printer-pricing-heading h3 { font-size: 1.6rem; }
.printer-pricing-heading > p { max-width: 465px; color: var(--muted); font-size: .95rem; }
.table-scroll-hint { display: none; }
.printer-table-scroll { overflow-x: auto; }
.printer-table { width: 100%; min-width: 660px; border-collapse: collapse; text-align: left; }
.printer-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.printer-table th, .printer-table td { padding: 15px 16px; border-bottom: 1px solid var(--border); }
.printer-table thead th { background: var(--soft-blue); color: var(--navy); font-size: .84rem; font-weight: 800; line-height: 1.35; }
.printer-table thead th:first-child { border-radius: 10px 0 0 0; }
.printer-table thead th:last-child { border-radius: 0 10px 0 0; }
.printer-table tbody th { color: var(--navy); font-size: .98rem; }
.printer-table tbody td { color: var(--navy); font-size: 1rem; font-weight: 800; }
.printer-table tbody tr:last-child th, .printer-table tbody tr:last-child td { border-bottom: 0; }
.printer-table .not-available { color: var(--muted); font-size: .84rem; font-weight: 500; }
.printer-pricing-note { margin-top: 17px; color: var(--muted); font-size: .88rem; }
.printer-facts { display: grid; gap: 9px; margin: 20px 0 0; padding-left: 22px; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.printer-facts li::marker { color: var(--blue); }
.printer-rental { margin-top: 18px; }
.faq-answer .printer-pricing { margin: 22px 0 0; }
.faq-answer .printer-table { min-width: 660px; }
.faq-answer .printer-pricing-note { line-height: 1.55; }

/* Frequently asked questions */
.faq-section { background: white; }
.faq-layout { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(30px, 5vw, 75px); }
.faq-intro { position: sticky; top: 105px; }
.faq-intro h2 span { color: var(--blue); }
.faq-intro > p:last-child { margin-top: 20px; color: var(--muted); font-size: 1rem; }
.faq-intro a { color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.faq-list { border-top: 1px solid var(--border); }
.faq-list details { border-bottom: 1px solid var(--border); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; color: var(--navy); font-size: 1rem; font-weight: 800; line-height: 1.4; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 8px; background: var(--soft-blue); color: var(--blue); font-size: 1.3rem; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-answer { padding: 0 38px 23px 0; color: var(--muted); font-size: .94rem; line-height: 1.7; }
.faq-answer p + p, .faq-answer ul + p { margin-top: 12px; }
.faq-answer ul { display: grid; gap: 5px; margin: 12px 0; padding-left: 21px; }
.faq-answer li::marker { color: var(--blue); }

/* Optional professional services */
.services-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 20px; align-items: start; }
.services-card, .service-bundle { border: 1px solid var(--border); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.services-card { padding: clamp(22px, 3vw, 32px); }
.services-card-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.services-card-heading .section-kicker { margin-bottom: 7px; }
.services-card-heading h3 { font-size: 1.55rem; }
.services-card-heading > p { color: var(--muted); font-size: .85rem; white-space: nowrap; }
.services-table-scroll { overflow-x: auto; }
.services-table { width: 100%; border-collapse: collapse; text-align: left; }
.services-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.services-table th, .services-table td { padding: 14px 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
.services-table thead th { background: var(--soft-blue); color: var(--navy); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.services-table tbody th { color: var(--navy); font-size: .91rem; font-weight: 800; line-height: 1.4; }
.services-table tbody td { min-width: 150px; color: var(--navy); font-size: 1rem; font-weight: 800; white-space: nowrap; }
.services-table small { display: block; margin-top: 3px; color: var(--muted); font-size: .76rem; font-weight: 500; line-height: 1.4; white-space: normal; }
.services-table tbody tr:last-child th, .services-table tbody tr:last-child td { border-bottom: 0; }
.services-note { margin-top: 21px; color: var(--muted); font-size: .84rem; line-height: 1.6; }
.service-bundles { display: grid; gap: 16px; }
.service-bundle { padding: 25px; }
.service-bundle .section-kicker { margin-bottom: 7px; }
.service-bundle h3 { font-size: 1.32rem; }
.service-bundle-price { margin-top: 9px; color: var(--navy); font-size: 2rem; font-weight: 800; letter-spacing: -.05em; line-height: 1.2; }
.service-bundle > p:not(.section-kicker, .service-bundle-price) { margin-top: 8px; color: var(--muted); font-size: .9rem; }
.service-bundle ul { display: grid; gap: 6px; margin: 15px 0 0; padding-left: 19px; color: var(--muted); font-size: .86rem; }
.service-bundle .bundle-travel { margin-top: 14px; font-size: .82rem; font-weight: 800; }
.service-bundle li::marker { color: var(--blue); }
.service-bundle a { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; color: var(--blue); font-size: .91rem; font-weight: 800; }
.service-bundle a:hover { text-decoration: underline; text-underline-offset: 3px; }
.service-bundle-managed { background: var(--navy); border-color: var(--navy); color: white; }
.service-bundle-managed .section-kicker { color: #a9c8ff; }
.service-bundle-managed .service-bundle-price { color: white; font-size: 1.65rem; }
.service-bundle-managed > p:not(.section-kicker, .service-bundle-price) { color: #d2dcec; }
.service-bundle-managed a { color: white; }

/* Contact */
.contact-section { background: var(--soft); }
.contact-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.contact-aside { padding-top: 24px; }
.contact-aside h2 { max-width: 460px; }
.contact-aside > p:not(.section-kicker) { max-width: 440px; margin-top: 18px; color: var(--muted); font-size: 1rem; }
.contact-aside-card { margin-top: 43px; padding: 25px; border-radius: 18px; border: 1px solid var(--border); background: white; box-shadow: var(--shadow); }
.contact-aside-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 18px; border-radius: 12px; color: var(--orange); background: #fff0e6; font-size: 1.2rem; }
.contact-aside-card p { margin-top: 10px; color: var(--muted); font-size: .88rem; }
.contact-aside-card a { display: inline-flex; align-items: center; gap: 8px; margin-top: 19px; color: var(--blue); font-size: .84rem; font-weight: 800; }
.contact-aside-card a:hover { text-decoration: underline; }
.form-card { padding: clamp(24px, 3vw, 42px); border: 1px solid var(--border); border-radius: 24px; background: white; box-shadow: 0 22px 52px rgba(7,22,56,.08); }
.form-card h2 { font-size: 2rem; }
.form-intro { margin: 7px 0 25px; color: var(--muted); font-size: .86rem; }
.required-mark { color: var(--orange); }
.optional-mark { color: #8792a5; font-size: .75rem; font-weight: 500; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px 16px; }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.field-full { grid-column: 1 / -1; }
.field label { color: var(--navy); font-size: .84rem; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #dce3ed; border-radius: 10px; outline: none; background: white; color: var(--navy); font: 500 .87rem/1.4 Manrope, system-ui, sans-serif; transition: border-color .18s ease, box-shadow .18s ease; }
.field input::placeholder, .field textarea::placeholder { color: #9aa6b7; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(20,120,255,.12); }
.field textarea { resize: vertical; min-height: 135px; }
.field select { cursor: pointer; }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; margin-top: 23px; padding: 14px 18px; border: 0; border-radius: 11px; background: var(--blue); color: white; font-size: .98rem; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.form-submit:hover:not(:disabled) { background: var(--blue-hover); transform: translateY(-2px); }
.form-submit:disabled { cursor: wait; opacity: .7; }
.form-status { margin-top: 20px; padding: 12px 15px; border-radius: 10px; font-size: .84rem; font-weight: 700; }
.form-status.is-success { color: #075e38; background: #e7f8ef; border: 1px solid #b3e5c9; }
.form-status.is-error { color: #9b2529; background: #fff0f0; border: 1px solid #f1c7c8; }

@media (max-width: 1100px) {
  .plan-desc-long { min-height: 0; }
  .journey-grid, .benefit-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-desc { min-height: 0; }
  .services-layout { grid-template-columns: 1fr; }
  .service-bundles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-bundle-managed { grid-column: 1 / -1; }
}
@media (max-width: 850px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-index { position: static; }
  .legal-index nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-inquiry { flex-direction: column; align-items: stretch; text-align: center; }
  .editorial-split { grid-template-columns: 1fr; }
  .editorial-split-reverse .editorial-image { order: 2; }
  .faq-preview-inner { align-items: stretch; flex-direction: column; }
  .faq-layout { grid-template-columns: 1fr; }
  .faq-intro { position: static; }
  .printer-pricing-heading { align-items: start; flex-direction: column; gap: 8px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-aside { padding-top: 0; }
  .contact-aside-card { margin-top: 25px; }
}
@media (max-width: 680px) {
  .legal-index nav { grid-template-columns: 1fr; }
  .legal-article { padding: 24px 20px; }
  .journey-grid, .benefit-grid, .benefit-grid-four { grid-template-columns: 1fr; }
  .editorial-image img { aspect-ratio: 1.18; }
  .product-screenshot img { aspect-ratio: auto; }
  .journey-grid article > span, .benefit-grid article > span, .benefit-grid > a > span { margin-bottom: 15px; }
  .faq-preview .plan-button { min-width: 0; }
  .service-bundles { grid-template-columns: 1fr; }
  .service-bundle-managed { grid-column: auto; }
  .services-table tbody td { min-width: 120px; }
  .table-scroll-hint { display: block; margin-bottom: 10px; color: var(--blue); font-size: .83rem; font-weight: 800; }
  .page-hero { min-height: 350px; }
  .page-hero::after { background: linear-gradient(90deg, rgba(7,22,56,.93), rgba(7,22,56,.58)), linear-gradient(0deg, rgba(7,22,56,.48), transparent); }
  .page-hero-content { padding-block: 47px; }
  .page-hero h1 { font-size: clamp(2.55rem, 10vw, 3.5rem); }
  .page-hero-content > p:not(.eyebrow) { font-size: .95rem; }
  .plan-grid, .event-plan-grid, .extras-grid, .form-grid { grid-template-columns: 1fr; }
  .faq-list summary { font-size: .96rem; }
  .plan-card { padding: 25px; }
  .field-full { grid-column: auto; }
  .contact-aside-card { display: none; }
  .form-card { padding: 22px; }
}
