.page-hero{padding-block:clamp(54px,8vw,104px);background:var(--bg)}
.page-hero.compact-page{padding-block:clamp(24px,4vw,48px)}
.page-hero h1{max-width:820px;margin:0;color:var(--green);font-family:var(--display);font-size:clamp(44px,6vw,82px);font-weight:700;line-height:.98}
.page-hero p:not(.eyebrow){max-width:700px;margin:20px 0 28px;color:#3f4038;font-family:var(--display);font-size:clamp(22px,2.2vw,31px);line-height:1.18}
.page-hero.compact-page h1{font-size:clamp(32px,4vw,52px)}
.page-hero.compact-page p:not(.eyebrow){margin-top:12px;margin-bottom:0;font-family:"Outfit",system-ui,sans-serif;font-size:16px;line-height:1.45}
.page-hero .btn{width:max-content;max-width:100%}
.page-section{padding-block:clamp(46px,6vw,84px);border-top:1px solid var(--line);background:var(--paper)}
.page-section.compact-flow{flex:1;padding-block:clamp(28px,4vw,52px);border-top:0}
.page-section:nth-of-type(odd){background:#f2ead8}
.two-col{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.two-col h2,.section-kicker h2,.auth-panel h2,.summary-card h2{margin:0;color:var(--green);font-family:var(--display);font-size:clamp(34px,4vw,54px);line-height:1}
.compact-heading{max-width:760px;margin-bottom:26px}
.compact-heading h1{margin:0;color:var(--green);font-family:var(--display);font-size:clamp(34px,4vw,56px);line-height:1}
.compact-heading p:not(.eyebrow){margin:10px 0 0;color:var(--muted)}
.feature-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line-strong)}
.feature-list li{position:relative;padding:18px 0 18px 30px;border-bottom:1px solid var(--line);font-weight:600;color:#34352d}
.feature-list li::before{content:"";position:absolute;left:0;top:28px;width:9px;height:9px;border-radius:50%;background:var(--brass)}
.section-kicker{margin-bottom:22px}.compact-top{margin-top:42px}
.person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.person-grid.officers{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.person-card{border-top:1px solid var(--line-strong);padding-top:14px}
.person-card img,.person-initials{width:100%;aspect-ratio:1/1;object-fit:cover;background:#e7dcc5}
.person-initials{display:flex;align-items:center;justify-content:center;color:var(--green);font-family:var(--display);font-size:82px;font-weight:700}
.person-card h3{margin:13px 0 3px;color:var(--green);font-family:var(--display);font-size:26px;line-height:1}
.person-card p{margin:0;color:var(--muted);font-weight:700}
.legacy-doc .index{display:grid;gap:28px}
.legacy-doc section{display:grid;grid-template-columns:minmax(170px,260px) minmax(0,1fr);gap:clamp(18px,4vw,58px);padding:26px 0;border-top:1px solid var(--line)}
.legacy-doc h3{margin:0;color:var(--green);font-family:var(--display);font-size:32px;line-height:1}
.legacy-doc p,.legacy-doc li{color:#34352d}.legacy-doc li{margin-bottom:8px}.legacy-doc a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:var(--green)}
.auth-panel,.payment-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);gap:clamp(28px,5vw,70px);align-items:start}
.auth-panel.compact-auth{grid-template-columns:minmax(340px,520px);justify-content:start}
.auth-panel.simple-auth{display:block;max-width:560px}
.compact-auth h2{font-size:clamp(30px,3.2vw,44px)}
.auth-panel p,.muted-copy{color:var(--muted)}
.auth-actions{display:grid;gap:14px}
.provider-box,.summary-card,.register-card{padding:22px;border:1px solid var(--line);background:#fffaf0}
.provider-label{display:block;margin-bottom:12px;color:var(--green);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.provider-box img{display:inline-block}.small-link{display:block;width:max-content;margin-top:10px;color:var(--muted);font-size:12px;text-decoration:underline}.guest-link{justify-self:start}
.google-button-wrap{position:relative;display:inline-flex;min-height:44px;align-items:center}
#google-signin-button{display:inline-flex;min-height:44px;align-items:center}
#google-signin-button iframe{display:block!important}
.google-preview-fallback{
  display:none;align-items:center;gap:12px;width:240px;min-height:44px;padding:0 16px;
  border:1px solid #d8dbe2;border-radius:999px;background:#fff;color:#25352d;
  font-family:"Outfit",system-ui,sans-serif;font-size:15px;font-weight:700;letter-spacing:0;line-height:1;
  box-shadow:0 1px 2px rgba(24,25,20,.08)
}
.google-preview-fallback.visible{display:inline-flex}
.google-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#4285f4;font-size:21px;font-weight:800;line-height:1}
.provider-box.amazon-logout-visible .small-link{display:none}
.signup-form{display:grid;gap:24px;max-width:980px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.signup-form label,.cost-field legend{display:grid;gap:7px;color:var(--green);font-size:13px;font-weight:800}
.signup-form input,.signup-form textarea{width:100%;border:1px solid var(--line-strong);background:#fffaf0;color:var(--ink);font:inherit;padding:12px 13px}
.signup-form input[readonly]{background:#eee5d3;color:#56564d}.cost-field{display:grid;gap:12px;margin:0;padding:18px;border:1px solid var(--line)}
.choice{display:flex!important;align-items:center;gap:10px;color:#34352d!important;font-weight:600!important}.choice input[type=radio]{width:auto}.other-choice input[type=number]{max-width:180px}.notes-field{max-width:980px}.form-submit{justify-self:start;border:0;cursor:pointer}
.payment-actions{display:grid;gap:12px;align-content:start}.summary-card dl{display:grid;gap:0;margin:16px 0 0}.summary-card dl div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.summary-card dt{color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.summary-card dd{margin:0;color:#34352d;font-weight:700}
.register-list{display:grid;gap:18px}.register-card h2{margin:0;color:var(--green);font-family:var(--display);font-size:34px;line-height:1}
.register-card{max-width:860px}
.roster-register-list{max-width:860px}
.roster-summary{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.roster-summary:not(:has(h2)){justify-content:flex-start}
.roster-summary span{color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.roster-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 28px;margin:0!important;padding:0!important;list-style:none}
.roster-list li{padding:13px 0;border-bottom:1px solid var(--line);font-weight:700;color:#34352d}
.empty-registration{display:grid;gap:10px;min-height:150px;align-content:center;text-align:left}
.empty-registration p{max-width:420px;margin:0;color:var(--muted)}
@media (max-width:820px){
  .two-col,.legacy-doc section,.auth-panel,.payment-grid,.form-grid{grid-template-columns:1fr}
  .page-hero h1{font-size:44px}
  .summary-card dl div{grid-template-columns:1fr;gap:2px}
  .roster-summary{align-items:start;flex-direction:column;gap:8px}
}
