/* Shared First End web typography; embedded native-app previews keep system fonts. */
@font-face{font-family:"First End Inter";src:url("fonts/InterVariable-v4.1.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root {
  --font-web:"First End Inter",system-ui,sans-serif;
  --text-page:2.5rem;
  --text-section:1.625rem;
  --text-card:1.375rem;
  --text-body:1.125rem;
  --text-label:1rem;
  --text-detail:.875rem;
  --text-number:2rem;
  --text-brand:2rem;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  --leading-body:1.5;
  --leading-heading:1.2;
  --leading-control:1.25;
  --tracking-heading:-.02em;
  --tracking-brand:-.022em;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  font-family:var(--font-web);
  font-size:100%;
  font-optical-sizing:auto;
}
body{font-family:var(--font-web);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);letter-spacing:normal}
button,input,select,textarea{font-family:inherit;letter-spacing:normal}
h1,h2,h3,h4{font-weight:var(--weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
h1,.hero h1{font-size:clamp(3.25rem,6.7vw,6rem)}
h2,.audience h2,.faq-section h2,.app-banner h2{font-size:var(--text-page)}
h3,.benefits h3,.demo-heading h3,#dialog-body h3{font-size:var(--text-card)}
h4{font-size:var(--text-body)}
strong,b{font-weight:var(--weight-semibold)}
p,li,dd{letter-spacing:normal;line-height:var(--leading-body)}
.product-intro p,.benefits p,.pane-description,#dialog-body p,#dialog-body li,#dialog-body dd,.contact-card .offer-description{font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:normal}
.button,.nav-links a,.demo-tabs button,.attendance-options button,.demo-bottom button{font-size:var(--text-body);font-weight:var(--weight-medium);line-height:var(--leading-control);letter-spacing:normal}
.button{padding:var(--space-3) var(--space-6);min-height:48px}
small,.demo-tag,.demo-feedback,.demo-bottom p,.sample-invoice small,.fee-filter-bar p,.contact-action small,.banner-dashboard figcaption{font-size:var(--text-detail);line-height:var(--leading-body);letter-spacing:normal}
.status{font-size:var(--text-detail);font-weight:var(--weight-medium);line-height:var(--leading-control);letter-spacing:normal}
label,dt,#dialog-body dt,.fee-summary>span,.demo-form label{font-size:var(--text-label);font-weight:var(--weight-medium);line-height:var(--leading-control);letter-spacing:normal}
input,select,textarea{font-size:var(--text-label);line-height:var(--leading-body);font-weight:var(--weight-regular)}
.eyebrow,.offer-label{font-size:var(--text-detail);font-weight:var(--weight-medium);line-height:var(--leading-control);letter-spacing:normal}
.hero-kicker{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.brand strong{font-size:var(--text-brand);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-brand)}
.brand small{font-size:var(--text-label);font-weight:var(--weight-regular);line-height:var(--leading-body);letter-spacing:normal;margin-top:var(--space-1)}
.product-name>strong{font-weight:var(--weight-bold)}.product-name>.product-suffix{font-weight:var(--weight-regular)}
.audience-card strong{font-size:var(--text-section);font-weight:var(--weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.audience-card>span:not(.audience-icon){font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:normal}.audience-card small{font-size:var(--text-label);font-weight:var(--weight-medium);letter-spacing:normal}
.contact-card h2{font-size:var(--text-page);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.contact-card .free-season-offer{font-size:var(--text-section);line-height:var(--leading-body);letter-spacing:normal}.contact-card .free-season-offer>strong{font-size:inherit;font-weight:var(--weight-bold);letter-spacing:normal}.contact-action>strong{font-size:var(--text-card);line-height:var(--leading-heading)}
.fee-summary>strong{font-size:var(--text-number);line-height:var(--leading-heading);font-weight:var(--weight-semibold)}.fee-summary>small{font-size:var(--text-detail);line-height:var(--leading-body)}
.demo-table,.sample-invoice summary{font-size:var(--text-label);line-height:var(--leading-body)}
.demo-table :is(th,td){font-size:var(--text-label);line-height:var(--leading-body);font-variant-numeric:lining-nums tabular-nums}.demo-table th{font-weight:var(--weight-medium)}
.demo-table :is(th,td):nth-child(n+2){text-align:right}
.fee-summary>strong,.invoice-lines strong,.sample-invoice summary>strong,.demo-table,.fixture-facts,.demo-fixture{font-variant-numeric:lining-nums tabular-nums}
.invoice-lines strong,.sample-invoice summary>strong{text-align:right;white-space:nowrap}
/* Marketing sections keep room to breathe; components share the club spacing scale. */
.wrap{width:min(1240px,calc(100% - var(--space-12)*2))}
.section{padding-block:calc(var(--space-12)*2)}
.benefits{gap:var(--space-12);margin-top:var(--space-12)}
.benefits article{padding-top:var(--space-6)}.benefits h3{margin-bottom:var(--space-4)}
.audience{margin-top:calc(var(--space-12)*2)}.audience h2{margin-bottom:var(--space-8)}.audience-grid{gap:var(--space-6)}.audience-card{padding:var(--space-8);gap:var(--space-4)}
.demo-content{padding:var(--space-8)}.demo-heading{gap:var(--space-4);margin-bottom:var(--space-6)}
.sample-invoice{margin-bottom:var(--space-6)}.sample-invoice summary{padding:var(--space-6);gap:var(--space-4)}.invoice-lines{padding:0 var(--space-6) var(--space-6)}
.fee-summaries{gap:var(--space-4);margin:var(--space-6) 0 var(--space-4)}.fee-summary{padding:var(--space-6);gap:var(--space-3)}
.store-buttons,.dialog-actions,.attendance-options{gap:var(--space-3)}
.contact-card{padding:var(--space-12);gap:var(--space-12)}.contact-action{gap:var(--space-4);padding-left:var(--space-8)}.contact-card .free-season-offer{padding:var(--space-4) var(--space-6)}
.demo-form label{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}
#dialog-body .fixture-facts{gap:var(--space-4);margin-bottom:var(--space-6)}#dialog-body p{margin-bottom:var(--space-4)}#dialog-body li{margin-bottom:var(--space-3)}
@media(max-width:1100px){:root{--text-brand:1.8125rem}.wrap{width:calc(100% - var(--space-8)*2)}}
@media(max-width:900px){.contact-card{padding:var(--space-8);gap:var(--space-8)}.contact-action{padding:var(--space-6) 0 0}}
@media(max-width:780px){:root{--text-page:2rem;--text-section:1.5rem;--text-card:1.25rem;--text-brand:1.5625rem}.wrap{width:calc(100% - var(--space-6)*2)}.section{padding-block:var(--space-12)}.benefits{gap:var(--space-8)}.audience{margin-top:var(--space-12)}.audience-card,.demo-content,.fee-summary{padding:var(--space-6)}.contact-card{padding:var(--space-6)}.contact-action{padding-left:0}.brand strong{font-size:var(--text-brand)}.contact-card .free-season-offer>strong{font-size:inherit}.brand small{font-size:var(--text-detail)}}
@media(max-width:420px){:root{--text-brand:1.4375rem}.wrap{width:calc(100% - var(--space-4)*2)}.demo-content,.fee-summary{padding:var(--space-4)}.sample-invoice summary{padding:var(--space-4)}.invoice-lines{padding:0 var(--space-4) var(--space-4)}}
