/* BZ-S1 — Page 1 section styles, in BV's look and tokens (tokens.css).
   Width breakpoints consolidated per bz-blueprint.md §1.4 to three only:
   <=640px, 641-980px, >=981px. Page-1-only classes live here; shared
   components (topbar, buttons, cards, dialogs, forms, states) are in
   components.css. Class names carried from BV markup. */

/* ---- views ---- */
.page-view{display:none}
.page-view.active{display:block}

/* ---- hero ---- */
.welcome-hero{padding:64px 0 30px;background:radial-gradient(900px 480px at 85% -10%,var(--teal-pale),transparent 60%)}
.welcome-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.welcome-lede{color:var(--ink-soft);font-size:1.15rem;max-width:34rem}
.welcome-choose{color:var(--ink);font-weight:600}
.welcome-visual img{width:100%;border-radius:18px;box-shadow:var(--shadow);object-fit:cover}
.hero{padding:56px 0 8px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:24px}
.hero-copy p{color:var(--ink-soft);max-width:44rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.hero-note{color:var(--ink-soft);font-style:italic}

/* ---- doors (Section A) ---- */
.welcome-doors{padding:26px 0 10px}
.door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.door-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px}
.door-card h2{font-size:1.7rem}
.door-card p{color:var(--ink-soft)}
.door-flag{position:absolute;top:16px;right:16px;background:var(--amber-pale);color:var(--amber-deep);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700}
.door-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* ---- intro / legal-rights blocks (Sections B, C, D) ---- */
.ir-intro{padding:44px 0 6px}
.ir-title{margin-top:6px}
.ir-lede{color:var(--ink-soft);max-width:46rem}
.ir-intro ul{color:var(--ink-soft);padding-left:1.2rem;display:grid;gap:8px;max-width:52rem}

/* ---- services (Section C) ---- */
.services{padding:48px 0 10px}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}
.section-head p{color:var(--ink-soft);max-width:30rem;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;position:relative}
.service-card .tier{position:absolute;top:14px;left:14px;background:var(--teal-pale);color:var(--teal);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;z-index:1}
.service-card .tier.t2{background:var(--amber-pale);color:var(--amber-deep)}
.svc-img{width:100%;height:210px;object-fit:cover;border-radius:10px;margin-bottom:14px}
.service-card h3{font-size:1.35rem}
.service-card p{color:var(--ink-soft)}
.svc-rate{color:var(--amber-deep);font-weight:700;font-size:1.05rem}
.svc-note,.service-card small{color:var(--ink-soft);display:block}
.bundle-callout,.services-bundle{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:20px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:22px 0}
.catalog-card{background:var(--surface);border:1px solid var(--teal);border-radius:18px;padding:20px}
.catalog-card h3{font-size:1.3rem}
.catalog-card ul{color:var(--ink-soft);padding-left:1.2rem;display:grid;gap:6px}
.catalog-card .cat-excludes{color:var(--ink-soft);font-size:.92rem}

/* ---- FAQ (carried BV behaviour: .faq-item.open shows .faq-a) ---- */
.faq{padding:44px 0 6px}
.faq-item{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:var(--surface)}
.faq-q{width:100%;background:none;border:0;color:var(--ink);display:flex;justify-content:space-between;gap:14px;text-align:left;padding:16px 18px;cursor:pointer;font-weight:600}
.faq-q span:last-child{color:var(--amber-deep);font-size:1.4rem;line-height:1}
.faq-a{display:none;color:var(--ink-soft);padding:0 36px 22px 18px}
.faq-item.open .faq-a{display:block}

/* ---- ambassadors (Section D) ---- */
.amb-tally-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:16px}
.seat-tally{display:flex;flex-direction:column;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 22px}
.seat-tally strong{font-family:var(--font-display);font-size:2rem;color:var(--amber-deep);line-height:1}
.seat-tally span{font-weight:700}
.seat-tally small{color:var(--ink-soft)}
.ambassadors-charter{padding:30px 0 6px}
.charter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.charter-grid article,.protocol-card,.trust-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}
.ambassadors-benefits{padding:44px 0 6px}
.benefit-list{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:benefit}
.benefit-item{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:10px}
.benefit-item img{width:100%;height:220px;object-fit:cover;border-radius:10px}
.benefit-item h3{font-size:1.4rem}
.benefit-item p{color:var(--ink-soft)}
.benefit-num{color:var(--amber-deep);font-weight:700}
.benefit-note{color:var(--ink-soft);font-size:.92rem;margin-top:16px}
.qual-standard{border:1px solid var(--amber);background:var(--amber-pale);border-radius:18px;padding:22px;margin:26px 0}
.qual-standard h3{color:var(--amber-deep)}
.qual-standard p{color:var(--ink)}
.ambassadors-roster{padding:44px 0 6px}
.seats-status{color:var(--ink-soft)}
.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.seat-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:6px}
.seat-card .seat-num{font-weight:700;color:var(--teal)}
.seat-card .seat-status{color:var(--amber-deep);font-weight:700}
.seat-card .seat-name{font-family:var(--font-display);font-size:1.25rem}
.seat-card .seat-meta{color:var(--ink-soft)}
.ambassadors{padding:44px 0 6px}
.apply-steps{color:var(--ink-soft);padding-left:1.2rem;display:grid;gap:8px}

/* ---- trust (Section E) ---- */
.trust{padding:48px 0 6px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}
.trust-card h4{color:var(--teal)}
.trust-card p{color:var(--ink-soft)}
.score-table{width:100%;border-collapse:collapse;margin:14px 0}
.score-table td,.score-table th{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}
.protocol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}
.protocol-card img{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:12px}
.protocol-card strong{display:block;margin-bottom:6px}
.protocol-card p{color:var(--ink-soft)}

/* ---- payment explainer / report sample / dignity ---- */
.pay-how{padding:44px 0 6px}
.pay-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.pay-step{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}
.pay-n{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--teal-pale);color:var(--teal);align-items:center;justify-content:center;font-weight:700;margin-bottom:10px}
.pay-step p{color:var(--ink-soft)}
.pay-step strong{color:var(--ink)}
.report-sample,.dignity{padding:36px 0 6px}
.report-sample p,.dignity p{color:var(--ink-soft);max-width:46rem}

/* ---- legal (Section F) ---- */
.legal-page{padding:44px 0 6px}
.legal-page .wrap{max-width:860px}
.legal-page p,.legal-page li{color:var(--ink-soft)}
.legal-page h3{margin-top:28px;color:var(--ink)}

/* ---- contact view ---- */
.contact-page{padding:56px 0}
.message-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;max-width:860px}
.write-title{letter-spacing:.02em}
.write-sub{color:var(--ink-soft)}
.ambassador-contact-note{background:var(--amber-pale);border:1px solid var(--amber);border-radius:10px;padding:12px 14px;margin:14px 0;color:var(--ink)}
.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.message-fields,.message-body{display:grid;gap:14px;align-content:start}
.message-fields label,.message-body label{display:grid;gap:6px;font-weight:600}
.message-fields input,.message-body textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink);width:100%}
.message-body textarea{min-height:180px}
.message-actions{display:flex;gap:14px;align-items:center;margin-top:16px;flex-wrap:wrap}
.contact-success{display:none;text-align:center;padding:22px}
.contact-success.show{display:block}
.success-mark{font-size:2rem;color:var(--teal)}
.kids-interest{max-width:860px;margin-top:28px}
.kids-interest p{color:var(--ink-soft)}
.direct-line{color:var(--ink-soft);margin-top:22px}

/* ---- footer ---- */
footer{border-top:1px solid var(--line);margin-top:56px;padding:40px 0;background:var(--surface)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.footer-links{display:flex;gap:10px;flex-wrap:wrap}
footer .legal{display:flex;flex-direction:column;gap:8px;margin-top:26px;color:var(--ink-soft);font-size:.92rem}

/* ---- sign-in dialog ---- */
.auth-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;max-width:480px;width:calc(100% - 32px);padding:0}
.auth-dialog::backdrop{background:rgba(0,0,0,.6)}
.dialog-inner{padding:24px}
.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:start}
.dialog-close{background:none;border:0;color:var(--ink);font-size:1.6rem;cursor:pointer;line-height:1}
.sb-auth{display:grid;gap:12px;margin-top:14px}
.sb-auth label{display:grid;gap:6px;font-weight:600}
.sb-auth input{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink)}
.signin-actions{display:flex;gap:10px;margin-top:14px}

@media (max-width:640px){
  .welcome-grid,.door-grid,.service-grid,.catalog-grid,.charter-grid,.trust-grid,.protocol-grid,.pay-steps,.seat-grid,.message-grid,.footer-grid{grid-template-columns:1fr}
  .welcome-hero{padding:40px 0 20px}
  .svc-img,.benefit-item img{height:180px}
}
@media (min-width:641px) and (max-width:980px){
  .welcome-grid{grid-template-columns:1fr}
  .door-grid,.trust-grid,.protocol-grid,.pay-steps{grid-template-columns:repeat(2,1fr)}
  .seat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:981px){
  .seat-grid{grid-template-columns:repeat(4,1fr)}
}

/* ---- Oct 14, 2026 — Page 1 style restoration (Flow C consolidated fix).
   Root cause: the BZ extraction dropped whole BV style blocks; 66 classes
   used in index.html had no rule in any BZ stylesheet (charter cards, trust
   block, services layout, benefits, bundles banner, FAQ, report card, and
   the .door-flag companion rule that reserves title space for the badge).
   Rules below are BV's own, restored verbatim (same design tokens).
   BV's three radius tokens ride along (BZ tokens.css never defined them). ---- */
:root{--radius-sm:10px;--radius-md:18px;--radius-lg:28px}
.acct-change{background:none;border:0;color:var(--teal-2);font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin:2px 0 8px;padding:4px 0}
.acct-checks.acct-fields input[type=email]{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;font-family:inherit}
.acct-checks.acct-fields input[type=number]{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;font-family:inherit}
.acct-checks.acct-fields input[type=tel]{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;font-family:inherit}
.acct-checks.acct-fields input[type=text]{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:16px;font-family:inherit}
.acct-checks.acct-fields label{display:grid;gap:7px;font-weight:700;cursor:default}
.acct-file-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.acct-file-list li{background:rgba(14,124,107,.1);border-radius:8px;padding:8px 12px;color:var(--ink)}
.acct-file-list li.acct-file-none{background:none;color:var(--ink-soft);padding:0}
.acct-form-lede{margin:0;color:var(--ink-soft)}
.acct-legal-consent{font-size:13px;color:var(--ink-soft);margin:0}
.acct-photo-prev{width:72px;height:72px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.acct-photo-row{display:flex;gap:12px;align-items:center}
.acct-type-ico{flex:0 0 auto;width:54px;height:54px;border-radius:16px;background:rgba(14,124,107,.14);display:grid;place-items:center;color:var(--teal-2)}
.acct-type-ico svg{width:28px;height:28px}
.acct-upload{border:1px dashed var(--line);border-radius:12px;padding:18px;display:grid;gap:12px}
.acct-upload-btn{display:inline-block;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:11px 20px;font-weight:700;cursor:pointer;justify-self:start;color:var(--ink)}
.acct-upload-btn input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.acct-upload-btn:hover{border-color:var(--teal-2)}
.acct-upload-label{font-weight:800;font-size:14.5px;display:flex;align-items:center;gap:8px}
.acct-upload-label em{font-style:normal;font-weight:600;color:var(--ink-soft);font-size:13px}
.acct-upload-note{margin:0;font-size:13px;color:var(--ink-soft)}
.ambassador-invite{background:var(--teal);color:var(--paper);padding:30px;border-radius:var(--radius-md)}
.ambassador-invite .btn{width:100%;margin-top:6px}
.ambassador-invite h3{font-family:"Newsreader",serif;font-size:2rem;line-height:1.08;margin:0 0 10px}
.ambassador-invite li{padding-left:4px}
.ambassador-invite ol{padding-left:20px;margin:20px 0;display:grid;gap:10px}
.ambassador-invite p{color:color-mix(in srgb,var(--paper) 78%,transparent)}
.ambassador-invite>p{color:var(--ink-soft);margin:0}
.ambassador-nextbest{margin:0}
.ambassador-note{margin-top:16px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--paper) 30%,transparent);font-size:12px;color:color-mix(in srgb,var(--paper) 75%,transparent)}
.ambassador-waitlist{border-top:1px solid var(--line);margin-top:16px;padding-top:16px;display:grid;gap:8px;font-size:14px}
.ambassador-waitlist h4{margin:0;font-size:15px}
.badge-icon{width:22px;height:22px;flex:none;margin-top:1px}
.badge-item{display:flex;gap:10px;align-items:flex-start}
.bar{height:9px;background:var(--line);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--teal-2);border-radius:inherit}
.benefit-more p{margin:8px 0 0;color:var(--ink-soft);font-size:14px}
.benefit-more summary{cursor:pointer;color:var(--teal-2);font-weight:800;font-size:14px;margin-top:12px}
.benefit-number{font-family:"Newsreader",serif;font-size:2.1rem;color:var(--amber);line-height:1}
.benefits-note{margin:22px 0 0;color:var(--ink-soft);font-size:13px;max-width:880px}
.bundle-banner{display:flex;justify-content:space-between;align-items:center;gap:26px;background:#0b4a45;color:#f9fffd;border-radius:var(--radius-lg) var(--radius-sm);padding:clamp(28px,4vw,46px);margin-bottom:34px;box-shadow:var(--shadow)}
.bundle-banner .btn{flex:none}
.bundle-banner .kicker{color:#f6bd73}
.bundle-banner h3{font-family:"Newsreader",serif;font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.05;margin:8px 0 10px}
.bundle-banner p{color:#cde2de;margin:0;max-width:560px}
.charter-card{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px;transition:transform .2s ease,border-color .2s ease}
.charter-card h4{margin:0 0 6px;font-size:1.02rem}
.charter-card p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.6}
.charter-card p strong{color:var(--ink)}
.charter-card:hover{transform:translateY(-3px);border-color:var(--teal-2)}
.charter-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.charter-copy{color:var(--ink-soft);max-width:860px;margin:0 0 22px}
.charter-ico{flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:rgba(14,124,107,.14);display:grid;place-items:center;color:var(--teal-2)}
.charter-ico svg{width:24px;height:24px}
.charter-lede{font-size:1.12rem;line-height:1.65;color:var(--ink);border-left:4px solid var(--teal-2);padding-left:18px;max-width:860px;margin:0 0 26px}
.charter-lede strong{color:var(--teal-2)}
.contractor-status{margin:0;font-size:14px}
.dash-form-grid .full{grid-column:1/-1}
.door-card .door-flag+h2{padding-right:104px}
.faq-list{max-width:880px;margin:0 auto}
.fcra-box{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:10px;background:var(--surface)}
.fcra-box h3{margin:0;font-size:17px}
.fcra-standalone{font-size:12px;font-weight:400;color:var(--ink-soft)}
.fid-note{border:1px solid var(--amber);border-radius:12px;padding:14px 16px;font-size:13.5px;background:rgba(216,139,46,.08);margin:0 0 16px}
.fid-note strong{color:var(--amber)}
.fid-note[hidden]{display:none}
.field-hint{font-size:13.5px;color:var(--ink-soft);background:var(--surface-2);border:1px dashed var(--line);border-radius:10px;padding:9px 13px;margin:0 0 10px}
.form-grid .full{grid-column:1/-1}
.insurance{margin-top:30px;padding:22px;background:var(--amber-pale);border-radius:var(--radius-sm)}
.insurance p{margin:0;font-size:14px}
.insurance strong{display:block;color:var(--amber-deep);margin-bottom:4px}
.invite-hint{margin:10px 0 0;font-size:13px;color:color-mix(in srgb,var(--paper) 78%,transparent)}
.invite-row{display:flex;gap:10px}
.invite-row .btn{flex:none}
.invite-row .btn-primary{width:auto}
.invite-row input{flex:1;min-width:0;padding:11px 12px;border-radius:9px;border:1px solid color-mix(in srgb,var(--paper) 40%,transparent);background:color-mix(in srgb,var(--paper) 10%,transparent);color:var(--paper);font:inherit}
.invite-share{margin-top:22px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--paper) 30%,transparent)}
.invite-share label{display:block;font-weight:800;font-size:13px;margin-bottom:8px;color:var(--paper)}
.journey-bar a:hover .j-label{text-decoration:underline}
.legal .copyright{display:block;margin-top:8px;color:#aecbc5}
.legal .disclaimer{display:block}
.legal-dialog-inner{position:relative;padding:30px;display:grid;gap:12px}
.program-card{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.program-card h4{margin:0 0 8px;font-size:1.1rem;color:var(--teal)}
.program-card p{margin:0;color:var(--ink-soft);font-size:14px}
.program-points{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;margin-top:16px}
.program-points b{color:var(--amber-deep)}
.program-points span{font-size:13px;font-weight:700}
.provider-x{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}
.rate{margin-top:auto;padding-top:22px;font-weight:800;color:var(--teal);font-size:1.12rem}
.rate small{display:block;color:var(--ink-soft);font-size:12px;font-weight:600}
.report-card{max-width:640px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px clamp(18px,4vw,30px);margin-top:18px;box-shadow:0 8px 24px rgba(13,59,54,.07)}
.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.report-head span{font-size:13px;color:#6b7a75}
.report-note{font-style:italic;color:#3d4a46;border-left:3px solid var(--teal);padding-left:12px;margin:0 0 10px}
.report-photos{font-size:13.5px;color:#6b7a75;margin:0}
.report-tasks{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.report-tasks li{padding-left:26px;position:relative;font-size:14.5px}
.report-tasks li:before{content:"✓";position:absolute;left:2px;color:var(--teal);font-weight:800}
.round-clock-note{margin:10px 0 0;font-size:14px;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.round-clock-note a{color:var(--teal);font-weight:700}
.round-clock-note strong{color:var(--ink)}
.sample-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a6d1f;background:#fdf3d7;border:1px solid #ecd9a0;border-radius:999px;padding:3px 10px;margin-left:8px;vertical-align:middle}
.score{background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-sm);padding:32px}
.score h3{margin:0 0 22px}
.score-note{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:13px}
.score-row{display:grid;grid-template-columns:1fr auto;gap:12px;margin:15px 0 7px;font-size:14px;font-weight:700}
.svc-layout{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
.svc-main{min-width:0}
.tier.t3{background:#e9eefb;color:#324f89}
.tier.t4{background:#f3e8ff;color:#6b21a8}
.trust-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.trust-ico{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:rgba(14,124,107,.14);display:grid;place-items:center;color:var(--teal-2)}
.trust-ico svg{width:24px;height:24px}
.welcome-copy h1{font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.12;margin:12px 0 16px}
.welcome-img{width:100%;height:min(420px,60vw);object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}
body.authed .hide-when-authed{display:none!important}
@media(max-width:600px){.trust-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.ambassador-invite{padding:22px}.bundle-banner{flex-direction:column;align-items:stretch}.bundle-banner .btn{width:100%}.form-grid .full{grid-column:auto}.invite-row{flex-direction:column}.program-points{grid-template-columns:1fr}.score{padding:24px}}
@media(max-width:700px){.charter-cards{grid-template-columns:minmax(0,1fr)}.legal-dialog-inner{padding:20px}}
@media(max-width:980px){.svc-layout{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){.tier.t3{background:#1f304e;color:#b9cdf9}}
@media(prefers-reduced-motion:reduce){.charter-card{transition:none}}

/* ============================================================
   Oct 14, 2026 — Page 1 layout reconciliation (BV parity)
   BZ's markup is identical to BV's; BZ's stylesheet rewrote
   BV's layout rules for these sections with different values.
   BV's bodies are restored verbatim. One deliberate addition:
   margin:0 auto on the two wrap-carrying grids — BZ's rewrite
   added margin:20px 0 to .trust-grid and .protocol-grid, whose
   elements also carry .wrap; the shorthand silently cancelled
   .wrap's auto centering and pinned both sections to the left
   edge. (v3 of this block set margin:0 on .trust-grid, which
   cancelled the centering too — corrected in v4, Oct 14.)
   ============================================================ */
:root{--max:1180px}
.hero{background:#0b4a45;color:#f9fffd;min-height:680px;display:grid;align-items:stretch;overflow:hidden;padding:0}
.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;min-height:680px}
.hero-copy{padding:28px 44px 76px max(24px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:flex-start}
.trust{background:var(--surface)}
.trust-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:60px;align-items:start;margin:0 auto}
.protocol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:42px auto 0}
@media(max-width:980px){
.hero-grid{grid-template-columns:1fr}
.hero-copy{padding:28px 28px 52px}
.trust-grid{grid-template-columns:1fr}
.protocol-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
.hero{min-height:0}
.hero-grid{min-height:0}
.hero-copy{padding:20px 20px 38px}
.protocol-grid{grid-template-columns:1fr}
}

/* Oct 14, 2026 — Benefit photos: full picture, not cropped.
   AMANDO's direction: show the full pictures. object-fit:cover
   was center-cropping the photos at the frame; contain shows
   each photo whole inside the same frame height. */
.benefit-item img{object-fit:contain;background:var(--surface-2)}

/* Oct 14, 2026 — Benefits layout (AMANDO): two cards in a row,
   photos at natural size — full picture, no empty frame bands. */
.benefit-list{grid-template-columns:repeat(2,1fr)}
.benefit-item img{width:100%;height:auto;object-fit:initial;background:none}
