@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-display:swap;font-weight:200 800}
@font-face{font-family:'Source Sans 3';src:url('/assets/fonts/source-sans-3.woff2') format('woff2');font-display:swap;font-weight:200 900}
*{box-sizing:border-box}body{margin:0;background:var(--coast-sand);color:var(--coast-text);font:18px/1.65 var(--coast-font-body)}h1,h2,h3,button,.wordmark{font-family:var(--coast-font-heading);color:var(--coast-ink)}h1{font-size:var(--coast-h1-page);line-height:1.15;letter-spacing:-.035em;margin:12px 0 24px}h2{font-size:var(--coast-h2);line-height:var(--coast-leading-h2);margin:0 0 24px}h3,legend{font-family:var(--coast-font-heading);font-size:var(--coast-h3);font-weight:700;line-height:var(--coast-leading-h3)}a{color:var(--coast-primary);text-underline-offset:3px}a:hover{color:var(--coast-primary-hover)}.header{background:var(--coast-paper);padding:24px max(20px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--coast-line)}.wordmark{font-size:21px;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:12px;line-height:1.3}.wordmark svg{flex-shrink:0}.wrap{max-width:var(--coast-content-max);margin:auto;padding:0 32px}.page-intro{max-width:850px;padding:48px 0 32px}.eyebrow{font-size:14px;font-weight:700;color:var(--coast-primary);letter-spacing:.08em}.checkout-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:32px;align-items:start;margin-bottom:64px}.card,.person-card{min-width:0;border:1px solid var(--coast-line);background:var(--coast-paper);padding:32px;border-radius:var(--coast-radius-card);margin:0 0 24px}.person-card legend{padding:0 8px}.summary{position:sticky;top:24px}.summary small{display:block}.price{font-family:var(--coast-font-heading);display:block;font-size:36px;color:var(--coast-ink)}.progress{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px;font-size:14px}.progress span{padding:8px 12px;border-radius:8px;background:var(--coast-paper)}.progress .active{background:var(--coast-soft);color:var(--coast-primary);font-weight:700}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.field label{display:block;margin-bottom:8px;font-size:16px;font-weight:600;color:var(--coast-ink)}input,select,textarea{font:16px/1.4 var(--coast-font-body);background:var(--coast-paper);color:var(--coast-text);border:1px solid var(--coast-input-border);border-radius:var(--coast-radius-control);min-height:48px;width:100%;padding:12px;min-width:0}input[type=radio],input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--coast-primary)}button,.button{font-size:16px;font-weight:700;line-height:1.4;border:1px solid var(--coast-primary);border-radius:var(--coast-radius-control);background:var(--coast-primary);color:var(--coast-paper);padding:14px 24px;min-height:48px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}button:hover,.button:hover{background:var(--coast-primary-hover);color:var(--coast-paper)}button.secondary,.button.secondary{background:var(--coast-paper);color:var(--coast-primary);border-color:var(--coast-input-border)}button:disabled{opacity:.65;cursor:wait}.actions,.copy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;justify-content:space-between}.copy-actions{justify-content:flex-start}.payment-option,.check{display:flex;gap:12px;align-items:flex-start;margin:16px 0;padding:16px;border:1px solid var(--coast-line);border-radius:8px;font-size:16px}.payment-option:has(input:checked){background:var(--coast-soft);border-color:var(--coast-primary)}.payment-option small{display:block;margin-top:4px}.help,small{font-size:14px;line-height:1.5;color:var(--coast-muted)}.notice,.test-banner{background:var(--coast-soft);color:var(--coast-ink);padding:16px;border-radius:8px;font-size:16px}.test-banner{border-radius:0;text-align:center;padding:12px max(20px,calc((100% - 1120px)/2))}.error-summary{background:var(--coast-error-bg);color:var(--coast-error);padding:24px;margin-top:24px;border-radius:8px}.error-summary a,.error{color:var(--coast-error)}[aria-invalid=true]{border-color:var(--coast-error)}:focus-visible{outline:3px solid var(--coast-focus);outline-offset:3px}.review-person{border-bottom:1px solid var(--coast-line);padding:16px 0}.review-person dl{font-size:16px;display:grid;grid-template-columns:1fr 1.4fr;gap:8px 16px}.review-person dt{color:var(--coast-muted)}.review-person dd{margin:0;overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--coast-line);margin:24px 0}footer{background:var(--coast-ink);color:var(--coast-paper);padding:48px 0}footer a,footer strong{color:var(--coast-paper)}footer p{font-size:14px;max-width:720px}.honeypot{position:absolute;left:-10000px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:16px}th,td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--coast-line)}.badge{background:var(--coast-soft);padding:4px 8px;border-radius:4px;white-space:nowrap}.admin-nav{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0}.admin-nav form{margin-left:auto}.narrow{max-width:600px;margin:48px auto}.person-card p{margin:8px 0 16px}[hidden]{display:none!important}@media(max-width:900px){.checkout-layout{grid-template-columns:1fr}.summary{position:static;grid-row:1}.summary h3,.summary p{margin:8px 0}.summary .price{display:inline;margin-left:16px}.summary .help{display:none}}@media(max-width:600px){.wrap{padding:0 20px}.header{padding:20px}.wordmark{font-size:16px}.header>a:last-child{font-size:14px}h1{font-size:var(--coast-h1-page-mobile)}h2{font-size:var(--coast-h2-mobile)}h3,legend{font-size:var(--coast-h3-mobile)}.card,.person-card{padding:24px 16px}.fields{grid-template-columns:1fr;gap:16px}.actions button{flex:1 1 140px}.progress{gap:8px}.progress span{font-size:12px;padding:8px}.review-person dl{grid-template-columns:1fr;gap:2px}.review-person dd{margin-bottom:8px}.page-intro{padding-top:32px}.copy-actions button{width:100%}}

.fields.offer-fields{grid-template-columns:minmax(0,1fr) 128px;align-items:end}.offer-fields .field:last-child{max-width:128px}@media(max-width:600px){.fields.offer-fields{grid-template-columns:1fr}.offer-fields .field:last-child{width:128px}}
