:root { --ink:#163c30; --green:#087b57; --mint:#c5f0d8; --cream:#f6f7f2; --muted:#66796d; --line:#dce5dd; --peach:#ffd9b3; --radius:24px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; font-family:'Segoe UI',Arial,system-ui,sans-serif; color:var(--ink); background:var(--cream); -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } button { cursor:pointer; } a { color:inherit; } a,button { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #30b27e; outline-offset:4px; }
[hidden] { display:none!important; }
.section-wrap { width:min(1220px,calc(100% - 80px)); margin:auto; }
.site-header { position:sticky; top:0; z-index:30; border-bottom:1px solid #dce5dd99; background:#f6f7f2f2; }
.site-nav { display:flex; align-items:center; gap:32px; min-height:94px; width:min(1340px,calc(100% - 80px)); margin:auto; }
.site-brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:21px; font-weight:900; letter-spacing:-.055em; white-space:nowrap; }
.site-mark { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:12px; background:var(--green); color:white; font-size:23px; font-weight:900; letter-spacing:-.07em; }
.brand-dot { margin-left:-8px; color:var(--green); }
.desktop-nav { display:flex; gap:28px; margin:auto; }
.desktop-nav a,.login-link { text-decoration:none; font-size:14px; font-weight:650; }
.desktop-nav a:hover,.login-link:hover { color:var(--green); }
.nav-actions { display:flex; gap:24px; align-items:center; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:25px; min-height:54px; padding:14px 23px; border:1px solid transparent; border-radius:12px; text-decoration:none; font-weight:750; font-size:14px; line-height:1.35; transition:transform .15s,background .15s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--green); color:white; box-shadow:0 7px 18px #087b5712; }
.button.primary:hover { background:#066b4b; }
.button.small { min-height:44px; padding:10px 17px; }
.button.light { background:#d5f4e3; color:#143e30; }
.button span { font-size:20px; }
.text-link { display:inline-flex; align-items:center; gap:13px; text-decoration:none; font-size:14px; font-weight:750; }
.text-link:hover { color:var(--green); }
.hero { position:relative; display:grid; grid-template-columns:.92fr 1.08fr; gap:54px; align-items:center; padding:62px 0 82px; }
.eyebrow { display:block; color:var(--green); font-size:10px; letter-spacing:.15em; font-weight:850; line-height:1.6; }
.hero-copy > .eyebrow { display:flex; align-items:center; gap:8px; margin-bottom:23px; }
.live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#23b580; box-shadow:0 0 0 4px #23b58015; }
h1,h2,h3,p { margin-top:0; }
.hero h1 { margin-bottom:25px; font-size:clamp(48px,5.7vw,78px); line-height:1.055; letter-spacing:-.065em; font-weight:800; }
.hero-word { color:var(--green); }
em { font-style:normal; color:var(--green); }
.hero h1 em { display:inline-block; margin-left:.06em; font-size:.72em; line-height:1.28; }
.hero-copy > p { color:var(--muted); line-height:1.85; font-size:17px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:27px; }
.hero-note { display:flex; align-items:center; gap:12px; margin-top:32px; color:var(--muted); font-size:12px; line-height:1.7; }
.hero-note strong { font-weight:650; color:#486250; }
.mini-phone { display:grid; place-items:center; width:34px; height:40px; border:1px solid #cedbd0; border-radius:9px; color:var(--green); font-size:30px; }
.hero-product { position:relative; isolation:isolate; padding:29px 0 42px; }
.product-orbit { position:absolute; z-index:-1; border:1px solid #b7d7c5; border-radius:50%; }
.orbit-one { inset:-40px 0 18px; background:radial-gradient(ellipse,#e2f4e9 0%,transparent 72%); }
.orbit-two { inset:-20px 12px 0; }
.product-label { display:flex; align-items:center; gap:10px; position:absolute; top:-2px; right:8px; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.1em; }
.demo-window { position:relative; overflow:hidden; border:1px solid #b8cec0; border-radius:20px; background:white; box-shadow:0 30px 65px #143e3015,0 6px 16px #143e300b; }
.demo-header { display:flex; align-items:center; gap:10px; padding:14px 15px; background:#103e30; color:white; }
.demo-header .site-mark { width:32px; height:32px; border-radius:9px; font-size:21px; background:#32d49b; color:#08372b; }
.demo-header > div { flex:1; display:grid; gap:3px; }
.demo-header small { font-size:10px; color:#b1d0c2; }
.demo-header strong { font-size:14px; }
.demo-connected { display:flex; align-items:center; gap:5px; font-size:9px; color:#b3dcc7; }
.demo-connected i { width:5px; height:5px; border-radius:50%; background:#35d39c; }
.demo-menu { margin-left:10px; color:#d4eadf; font-size:20px; }
.demo-date { display:flex; align-items:center; gap:9px; padding:9px 10px; background:#f3f7f4; }
.demo-date > div { flex:1; display:grid; gap:3px; text-align:center; }
.demo-date strong { font-size:12px; }.demo-date small { color:#7b8f82; font-size:9px; }
.demo-date button { width:34px; height:32px; border:1px solid #d4e1d7; border-radius:8px; background:white; color:var(--green); font-size:22px; }
.demo-calendar { display:grid; grid-template-columns:48px repeat(7,minmax(0,1fr)); gap:1px; background:#dce5df; }
.demo-day { display:grid; place-content:center; gap:3px; height:43px; background:#153e31; color:#d4e7dc; font-size:9px; text-align:center; }
.demo-day b { font-size:15px; color:white; }.demo-day.today { background:#087b57; }
.demo-time { display:grid; place-content:center; gap:2px; min-height:37px; background:#f0f6f1; font-size:10px; text-align:center; font-weight:700; }.demo-time small { font-size:8px; color:#7f9185; font-weight:500; }
.demo-cell { position:relative; min-width:0; padding:0; border:0; border-radius:0; background:#fff; color:#087b57; font-size:10px; font-weight:650; }.demo-cell.full { background:#ffe2c9; color:#92522b; }.demo-cell.subscriber { background:#d9eafa; color:#255575; }
.demo-cell.today { box-shadow:inset 2px 0 #41ac8060,inset -2px 0 #41ac8060; }.demo-cell.today:not(.full):not(.subscriber) { background:#e7f5ee; }
.demo-cell:hover { filter:brightness(.96); }.demo-cell:focus-visible { z-index:2; outline-offset:-2px; }.demo-cell.is-picked { background:#087b57; color:white; }
.demo-courts { display:flex; gap:7px; padding:10px; background:#deeee4; }.demo-courts button { flex:1; min-height:34px; border:1px solid #c9dccf; border-radius:6px; background:#fff; color:#416653; font-size:11px; font-weight:750; }.demo-courts button.is-selected { background:#087b57; color:#fff; border-color:#087b57; }
.demo-caption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:14px 7px 0; color:#829187; font-size:9px; }
.demo-legend { display:flex; gap:13px; color:#567361; }.demo-legend span { display:flex; align-items:center; gap:5px; }.demo-legend i { display:block; width:8px; height:8px; border-radius:3px; border:1px solid #cedbd2; }.legend-empty { background:white; }.legend-full { background:#ffd7b6; }.legend-subscriber { background:#cfe3f7; }
.product-sticker { position:absolute; bottom:-17px; left:22px; display:flex; align-items:center; gap:11px; padding:13px 17px; border-radius:13px; background:#fff3e6; border:1px solid #efd8bd; box-shadow:0 8px 20px #69432509; transform:rotate(-3deg); }
.product-sticker > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#986238; background:#ffe1bc; }.product-sticker strong { display:block; font-size:12px; color:#775233; }.product-sticker small { display:block; margin-top:3px; font-size:10px; color:#9c826b; }
.value-strip { padding:25px 0; background:#e9efe8; border-block:1px solid #dbe4d9; }.value-strip > div { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }.value-strip span { font-size:11px; color:#7b8c7d; }.value-strip strong { font-size:12px; font-weight:750; }.strip-divider { color:#b0c0b2!important; }
.public-availability-section{padding:85px 0 10px}.public-availability-card{overflow:hidden;border:1px solid #cddfd3;border-radius:25px;background:#fff;box-shadow:0 18px 55px #173f2f0b}.public-availability-toolbar{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:20px 22px;border-bottom:1px solid #dce7df;background:#f1f7f2}.public-availability-toolbar label{display:grid;gap:7px;min-width:min(390px,55%);color:#6a8170;font-size:10px;font-weight:800;letter-spacing:.07em}.public-availability-toolbar select{width:100%;min-height:45px;padding:0 42px 0 13px;border:1px solid #ccdbd0;border-radius:11px;background:#fff;color:#173e31;font:inherit;font-size:14px;letter-spacing:0}.public-week-controls{display:grid;grid-template-columns:42px minmax(185px,auto) 42px;align-items:center;gap:8px}.public-week-controls button{width:42px;height:42px;border:1px solid #ccdbd0;border-radius:10px;background:#fff;color:var(--green);font-size:24px}.public-week-controls button:disabled{opacity:.35;cursor:not-allowed}.public-week-controls strong{text-align:center;font-size:12px}.public-availability-status,.public-empty{margin:0;padding:28px;color:#6f8375;font-size:13px;text-align:center}.public-facility-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 22px 14px}.public-facility-heading span{display:block;margin-bottom:4px;color:#779082;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.public-facility-heading h3{margin:0;font-size:28px;letter-spacing:-.04em}.public-facility-heading .button{min-height:44px;padding:10px 18px}.public-court-tabs{display:flex;gap:8px;padding:0 22px 15px;overflow-x:auto}.public-court-tabs button{flex:0 0 auto;min-width:120px;min-height:40px;padding:8px 16px;border:1px solid #cddfd3;border-radius:9px;background:#f8fbf8;color:#456653;font-weight:750}.public-court-tabs button[aria-selected="true"]{border-color:var(--green);background:var(--green);color:#fff}.public-schedule{display:grid;grid-template-columns:68px repeat(7,minmax(65px,1fr));gap:1px;overflow:auto;background:#dbe5de;border-block:1px solid #dbe5de}.public-schedule-head{position:sticky;top:0;z-index:1;display:grid;place-items:center;min-height:55px;background:#123f31;color:#d7e9de;text-align:center}.public-schedule-head span{font-size:9px;font-weight:750}.public-schedule-head strong{font-size:17px;color:#fff}.public-schedule-head.is-today{background:#087b57;box-shadow:inset 3px 0 #45d4a2,inset -3px 0 #45d4a2}.public-time-head{left:0;z-index:2;font-size:9px;font-weight:850}.public-schedule-time{position:sticky;left:0;z-index:1;display:grid;place-items:center;min-height:47px;background:#edf5ef;color:#173f31;font-size:11px;font-weight:800}.public-schedule-cell{display:grid;place-items:center;min-height:47px;background:#fff;font-size:10px;font-weight:750}.public-schedule-cell.is-empty{color:#087b57}.public-schedule-cell.is-full{background:#ffe2c9;color:#92522b}.public-schedule-cell.is-today{box-shadow:inset 2px 0 #41ac8075,inset -2px 0 #41ac8075}.public-schedule-cell.is-empty.is-today{background:#e7f5ee}.public-privacy-note{margin:0;padding:14px 22px;background:#f7faf7;color:#748779;font-size:10px;text-align:center}
.features-section,.faq-section { padding:85px 0; }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:38px; }.section-heading h2,.workflow-copy h2,.device-section h2,.closing-cta h2 { margin:14px 0 0; font-size:clamp(32px,3.5vw,47px); line-height:1.2; letter-spacing:-.05em; font-weight:750; }.section-heading > p { max-width:310px; margin-bottom:3px; color:var(--muted); font-size:14px; line-height:1.8; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.feature-card { position:relative; overflow:hidden; padding:27px; border:1px solid var(--line); border-radius:var(--radius); background:white; }.feature-wide { grid-column:span 2; }.feature-card-top { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:24px; }.feature-number { color:#849686; font-size:9px; font-weight:750; letter-spacing:.13em; }.feature-arrow { color:#8a9e8e; font-size:23px; }.feature-card h3 { margin-bottom:12px; font-size:24px; letter-spacing:-.04em; line-height:1.3; }.feature-card p { margin-bottom:22px; color:var(--muted); font-size:13px; line-height:1.75; }.week-feature { background:#ecf6ef; }.week-feature p { max-width:370px; }
.mini-week { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; padding:17px; border:1px solid #d3e5d8; border-radius:14px; background:white; }.mini-week span { text-align:center; font-size:8px; font-weight:700; padding:5px 0; color:#84988a; }.mini-week i { display:block; height:28px; background:#f5f8f5; border-radius:5px; border:1px solid #e4eee7; }.mini-week .busy { background:#ffdbbb; border-color:#f5d0ab; }.mini-week .mini-today { background:#dff1e5; color:var(--green); }.mini-week i.mini-today.busy { background:#ffdbbb; box-shadow:0 0 0 2px #7abc98; }
.offline-feature { background:#103e30; color:#f1f8f4; }.offline-feature p { color:#adc8ba; }.offline-feature .feature-number,.offline-feature .feature-arrow { color:#95b5a3; }.offline-visual { display:flex; align-items:center; justify-content:center; gap:13px; margin:10px 0 22px; }.offline-cloud { display:grid; place-items:center; width:65px; height:65px; border:1px solid #548571; border-radius:22px; color:#b6f0d2; font-size:44px; transform:rotate(-14deg); }.signal-line { display:block; width:35px; height:1px; background:#709e86; }.feature-pill { display:inline-block; padding:9px 11px; border:1px solid #427661; border-radius:9px; color:#c1decd; font-size:10px; }
.payment-visual { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:7px; padding:11px; border:1px solid #e5eade; border-radius:12px; background:#f6f7f2; }.payment-visual > div { padding:8px 3px; display:grid; gap:7px; text-align:center; }.payment-visual small { font-size:8px; color:#839386; }.payment-visual strong { font-size:14px; }.payment-visual .remaining { border-radius:8px; background:#e0efe4; color:#087b57; }
.subscriber-visual { position:relative; padding:18px; border-radius:13px; background:#e2eef9; border:1px solid #c9deef; color:#355d7c; }.subscriber-visual span { display:block; margin-bottom:8px; font-size:9px; letter-spacing:.12em; }.subscriber-visual strong { font-size:16px; }.subscriber-visual small { display:block; margin-top:5px; font-size:10px; color:#6687a0; }.subscriber-visual i { position:absolute; top:24px; right:17px; font-size:32px; font-style:normal; color:#80a9ca; }
.courts-feature { background:#fff3e8; border-color:#ecdac7; }.pitch-visual { position:relative; min-height:115px; padding:12px 22px; }.pitch-line { position:relative; height:90px; border:1px solid #bb936c; border-radius:7px; }.pitch-line span { display:block; position:absolute; left:50%; height:100%; border-left:1px solid #bb936c; }.pitch-line i { position:absolute; width:40px; height:40px; border:1px solid #bb936c; border-radius:50%; left:calc(50% - 20px); top:24px; }.pitch-line b:before,.pitch-line b:after { content:''; position:absolute; top:22px; bottom:22px; width:22px; border:1px solid #bb936c; }.pitch-line b:before { left:-1px; }.pitch-line b:after { right:-1px; }.pitch-tag { position:absolute; top:1px; left:6px; padding:7px 10px; border:1px solid #dfc6ac; border-radius:7px; background:#fffaf4; font-size:9px; font-weight:750; color:#906943; }.pitch-tag.second { top:auto; left:auto; bottom:1px; right:2px; }
.team-feature { grid-column:span 3; display:grid; grid-template-columns:1fr 1.2fr; column-gap:40px; align-items:center; }.team-feature .feature-card-top { grid-column:1/-1; margin-bottom:16px; }.team-feature h3 { grid-column:1; margin:0; }.team-feature > p { grid-column:2; margin:0; }.activity-visual { display:flex; align-items:center; gap:12px; grid-column:1/-1; margin-top:23px; padding:15px; background:#f0f5ef; border:1px solid #dee8dc; border-radius:12px; }.activity-avatar { display:grid; place-items:center; height:35px; width:35px; background:#daeddf; color:#26734e; border-radius:10px; font-weight:850; }.activity-visual strong { display:block; font-size:12px; }.activity-visual small { display:block; margin-top:4px; font-size:11px; color:#829385; }.activity-check { margin-left:auto; color:var(--green); font-size:24px; }
.workflow-section { padding:67px 0; background:#e7efe6; border-block:1px solid #d5e2d3; }.workflow-wrap { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.workflow-copy > p { max-width:360px; color:var(--muted); font-size:14px; line-height:1.8; margin-top:21px; }.workflow-copy .text-link { margin-top:6px; color:var(--green); }.workflow-steps { padding:0; margin:0; list-style:none; }.workflow-steps li { display:flex; gap:21px; padding:21px 0; border-bottom:1px solid #d0dfcd; }.workflow-steps li:last-child { border-bottom:0; }.workflow-steps li > span { display:grid; flex-shrink:0; place-items:center; width:45px; height:45px; border-radius:13px; border:1px solid #c9d9c7; background:#f5f8f2; font-size:12px; font-weight:750; color:var(--green); }.workflow-steps h3 { margin-bottom:7px; font-size:18px; letter-spacing:-.025em; }.workflow-steps p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.device-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; padding:82px 0 16px; }.device-section h2 { margin-bottom:20px; }.device-section p { color:var(--muted); font-size:14px; line-height:1.8; }.device-art { position:relative; display:grid; place-items:center; min-height:345px; border-radius:32px; background:radial-gradient(ellipse,#d7ebdc 0%,#e9f1e6 60%,transparent 70%); }.device-card { width:255px; padding:25px 20px 28px; border:7px solid #183c31; border-radius:32px; background:#fcfdf9; box-shadow:15px 25px 45px #1d4d3020; transform:rotate(-7deg); }.device-top { display:flex; justify-content:space-between; font-size:9px; font-weight:850; color:#29764f; }.device-top i { width:16px; border-top:2px solid #4f8565; margin-top:4px; }.device-day { display:block; margin:27px 0 8px; color:#7d9583; font-size:9px; letter-spacing:.13em; }.device-card > strong { font-size:28px; }.device-slots { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin:18px 0 25px; }.device-slots i { display:block; height:54px; border-radius:4px; background:#ffe0c4; }.device-slots .blue { background:#d1e7f5; }.device-slots .white { background:#e4f3e8; }.device-bottom { font-size:9px; color:#819884; }.device-badge { position:absolute; right:10px; bottom:36px; padding:13px 17px; border:1px solid #d3e3d2; border-radius:13px; background:white; color:#416953; box-shadow:0 6px 20px #163c300a; font-size:11px; transform:rotate(3deg); }
.simple-checks { padding:0; margin:22px 0 27px; list-style:none; font-size:13px; }.simple-checks li { margin:12px 0; }.simple-checks li:before { content:'✓'; color:var(--green); padding-right:12px; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; column-gap:40px; row-gap:0; }.faq-grid details { padding:19px 0; border-bottom:1px solid #d6e1d4; }.faq-grid summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-size:14px; font-weight:750; list-style:none; }.faq-grid summary::-webkit-details-marker { display:none; }.faq-grid summary span { font-size:22px; font-weight:400; color:var(--green); }.faq-grid details[open] summary span { transform:rotate(45deg); }.faq-grid p { margin:17px 25px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.closing-cta { position:relative; overflow:hidden; padding:50px 55px; border-radius:28px; background:#103e30; color:white; }.closing-cta .eyebrow { color:#9bc8b2; }.closing-cta h2 { position:relative; z-index:1; margin-bottom:30px; font-size:48px; }.closing-cta h2 em { color:#b1e8c7; }.closing-cta > div { display:flex; position:relative; z-index:1; align-items:center; flex-wrap:wrap; gap:28px; }.closing-login { color:#c1dcce; text-decoration:none; font-size:13px; }.cta-pitch { position:absolute; right:-45px; top:40px; width:420px; height:250px; transform:rotate(-13deg); fill:none; stroke:#87b89c36; stroke-width:1.5; }
.site-footer { display:flex; align-items:center; flex-wrap:wrap; gap:24px; padding:39px 0; }.site-footer > p { color:#8a9789; font-size:11px; margin:0 auto 0 0; }.site-footer nav { display:flex; gap:20px; }.site-footer nav a { color:#6d806e; font-size:11px; text-decoration:none; }.site-footer > small { color:#97a293; font-size:10px; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:15px; background:white; color:var(--green); }.skip-link:focus { top:10px; }
.demo-dialog { width:min(415px,calc(100% - 30px)); padding:0; border:1px solid #c8ddce; border-radius:22px; background:white; color:var(--ink); box-shadow:0 30px 80px #103e3040; }.demo-dialog::backdrop { background:#082b2070; }.demo-dialog header { position:relative; padding:22px 24px 38px; background:#103e30; color:white; }.demo-dialog header .eyebrow { color:#a2cbb5; font-size:8px; }.demo-dialog h2 { margin:10px 0 0; font-size:23px; }.demo-dialog header button { position:absolute; right:17px; top:17px; width:36px; height:36px; border:0; border-radius:10px; background:#ffffff17; color:white; font-size:24px; }.demo-dialog-content { padding:0 22px 23px; }.demo-booking-context { position:relative; display:grid; gap:7px; margin:-21px 0 20px; padding:17px; border:1px solid #e7d6c0; border-radius:14px; background:#fff4e6; }.demo-booking-context span { font-size:12px; color:#8a6e50; }.demo-booking-context strong { font-size:22px; }.demo-booking-context b { color:var(--green); font-size:21px; }.demo-dialog label { display:grid; gap:8px; font-size:12px; font-weight:750; }.demo-dialog input { min-height:46px; width:100%; padding:11px; border:1px solid #d5dfd6; border-radius:10px; background:#f8faf7; }.demo-payment-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:17px 12px; margin-top:15px; background:#edf5ee; border-radius:12px; font-size:12px; }.demo-payment-row > span:last-child { font-size:9px; color:#809681; }.demo-dialog-content > p { font-size:11px; color:#819184; line-height:1.6; margin:15px 0; }.demo-dialog .button { width:100%; min-height:48px; }.site-toast { position:fixed; z-index:80; left:50%; bottom:25px; max-width:calc(100% - 30px); transform:translateX(-50%); padding:15px 20px; border-radius:13px; background:#103e30; color:white; box-shadow:0 12px 30px #103e3030; font-size:13px; }
/* Account application and privacy pages share the public design language. */
.signup-page { min-height:100vh; background:#eff4ec; }.signup-brand { width:min(1150px,calc(100% - 64px)); margin:40px auto 0; }.signup-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:75px; width:min(1100px,calc(100% - 64px)); margin:60px auto 40px; align-items:center; }.signup-story h1 { margin:20px 0; font-size:69px; line-height:1.05; letter-spacing:-.055em; }.signup-story p { max-width:320px; color:var(--muted); line-height:1.8; font-size:15px; }.signup-benefits { margin:25px 0 35px; padding:0; list-style:none; color:#4c6e56; font-size:13px; }.signup-benefits li { margin:17px 0; }.signup-benefits li:before { content:'✓'; margin-right:10px; color:var(--green); }.signup-card { padding:34px; border:1px solid #d9e5d6; border-radius:24px; background:white; box-shadow:0 18px 55px #23462f0a; }.signup-card h2 { margin:9px 0 8px; font-size:29px; letter-spacing:-.04em; }.signup-card > p { margin-bottom:24px; color:var(--muted); font-size:13px; line-height:1.7; }.signup-card form label { display:grid; gap:8px; margin-top:16px; font-size:12px; font-weight:750; }.signup-card input,.signup-card select { width:100%; min-height:46px; padding:10px 12px; border:1px solid #cfdccb; border-radius:10px; background:#f9fbf7; color:var(--ink); font-size:15px; }.signup-card fieldset { min-width:0; padding:0; margin:0; border:0; }.signup-card fieldset[disabled] { opacity:.55; }.signup-card fieldset[disabled] button { cursor:not-allowed; }.signup-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.form-help { display:block; font-size:10px; color:#7c8e7b; line-height:1.6; margin-top:9px; }.signup-card .privacy-choice { display:flex; gap:10px; align-items:flex-start; margin:21px 0; line-height:1.6; color:#5c775e; font-size:11px; font-weight:500; }.privacy-choice input { width:17px; height:17px; min-height:0; flex-shrink:0; margin:2px 0 0; accent-color:var(--green); }.signup-submit { display:flex; width:100%; justify-content:space-between; }.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.form-error,.form-notice { padding:13px 15px; border-radius:12px; font-size:12px; line-height:1.7; margin-top:17px; }.form-error { background:#faeae7; color:#ad4f45; }.form-notice { background:#fff2df; color:#9b7042; }.signup-success-icon { display:grid; place-items:center; width:57px; height:57px; border-radius:18px; background:#dcf0e2; color:var(--green); font-size:27px; margin-bottom:22px; }.signup-footer { display:flex; gap:15px; justify-content:center; padding:20px; color:#84947f; font-size:11px; }.privacy-document { width:min(780px,calc(100% - 40px)); margin:45px auto; padding:35px; border:1px solid #dae4d5; border-radius:22px; background:white; }.privacy-document h1 { margin:34px 0 25px; font-size:33px; line-height:1.3; letter-spacing:-.04em; }.privacy-document h2 { margin-top:27px; font-size:18px; }.privacy-document p { font-size:14px; line-height:1.8; color:#60765d; }.privacy-document small { color:#81917b; font-size:11px; }
@media(max-width:1100px) { .desktop-nav { gap:19px; }.hero { gap:34px; }.hero-actions { gap:15px; }.hero-actions > .button { font-size:12px; gap:16px; padding-inline:17px; }.feature-card { padding:22px; }.feature-card h3 { font-size:22px; }.workflow-wrap,.device-section { gap:55px; }.site-footer { gap:17px; }.site-footer > small { width:100%; }.value-strip > div > span:first-child { width:100%; }.signup-layout { gap:40px; } }
@media(max-width:820px) { .section-wrap,.site-nav { width:calc(100% - 40px); }.site-nav { min-height:78px; gap:18px; }.desktop-nav { display:none; }.nav-actions { margin-left:auto; gap:16px; }.hero { grid-template-columns:1fr; gap:48px; padding:43px 0 60px; }.hero-copy { max-width:580px; }.hero h1 { font-size:65px; }.hero-copy > p { font-size:16px; }.hero-product { width:min(590px,100%); margin:auto; }.hero-note { margin-top:23px; }.product-orbit { inset:-16px 0; }.product-sticker { bottom:-3px; }.hero-actions > .button { font-size:14px; min-height:53px; }.hero-product { padding-bottom:48px; }.value-strip { padding:22px 0; }.value-strip > div { justify-content:flex-start; gap:14px 24px; }.strip-divider { display:none; }.public-availability-section{padding-top:56px}.public-availability-toolbar{align-items:stretch;flex-direction:column}.public-availability-toolbar label{min-width:0}.public-week-controls{grid-template-columns:42px 1fr 42px}.features-section,.faq-section { padding:56px 0; }.section-heading { gap:24px; align-items:start; flex-direction:column; }.section-heading h2,.workflow-copy h2,.device-section h2 { font-size:36px; }.section-heading > p { max-width:450px; }.feature-grid { grid-template-columns:1fr 1fr; }.feature-wide { grid-column:span 2; }.team-feature { grid-column:span 2; }.workflow-wrap { grid-template-columns:1fr; gap:22px; }.workflow-copy > p { max-width:440px; }.device-section { gap:24px; }.device-art { min-height:320px; }.device-card { width:220px; }.device-badge { font-size:9px; right:0; bottom:29px; }.faq-grid { gap:0 25px; }.closing-cta { padding:35px; }.closing-cta h2 { font-size:40px; }.cta-pitch { right:-180px; opacity:.75; }.site-footer > p { width:calc(100% - 250px); margin:0; }.site-footer nav { gap:20px; }.signup-layout { grid-template-columns:1fr; width:min(620px,calc(100% - 40px)); gap:30px; margin-top:34px; }.signup-story h1 { font-size:48px; }.signup-story h1 br { display:none; }.signup-story p { max-width:450px; }.signup-benefits { display:none; }.signup-brand { width:calc(100% - 40px); margin-top:27px; } }
@media(max-width:520px) { .site-nav,.section-wrap { width:calc(100% - 32px); }.site-nav { min-height:73px; gap:12px; }.site-brand { font-size:17px; gap:8px; }.site-mark { width:33px; height:33px; border-radius:10px; font-size:20px; }.nav-actions { gap:13px; }.login-link { font-size:12px; }.button.small { padding:8px 12px; font-size:12px; gap:9px; min-height:39px; }.button.small span { font-size:15px; }.hero { padding-top:34px; gap:40px; }.hero-copy > .eyebrow { font-size:8px; margin-bottom:21px; letter-spacing:.1em; }.hero h1 { font-size:57px; }.hero h1 em { font-size:.76em; }.hero-copy > p { font-size:14px; line-height:1.8; }.hero-actions { gap:18px; }.hero-actions .text-link { font-size:12px; }.hero-actions > .button { font-size:12px; padding-inline:16px; min-height:49px; }.hero-note { font-size:10px; margin-top:21px; }.hero-product { padding-top:22px; padding-bottom:40px; }.product-label { font-size:8px; }.demo-header { padding:12px; }.demo-connected { font-size:8px; }.demo-calendar { grid-template-columns:38px repeat(7,minmax(0,1fr)); }.demo-day { height:40px; font-size:8px; }.demo-time { min-height:36px; font-size:9px; }.demo-cell { font-size:9px; }.demo-header strong { font-size:13px; }.demo-date strong { font-size:11px; }.demo-window { border-radius:16px; }.product-sticker { left:13px; bottom:-9px; padding:11px 13px; }.demo-caption { margin-top:12px; gap:8px; font-size:8px; }.product-sticker strong { font-size:10px; }.product-sticker small { font-size:9px; }.product-sticker > span { height:24px; width:24px; }.value-strip > div { gap:13px 23px; }.value-strip strong { font-size:10px; }.value-strip > div > span:first-child { font-size:10px; }.public-availability-card{margin-inline:-4px;border-radius:20px}.public-availability-toolbar{padding:15px}.public-facility-heading{align-items:flex-start;padding:18px 15px 13px}.public-facility-heading h3{font-size:22px}.public-facility-heading .button{min-height:40px;padding:8px 12px;font-size:11px;gap:8px}.public-court-tabs{padding:0 15px 13px}.public-schedule{grid-template-columns:44px repeat(7,minmax(0,1fr));overflow:hidden}.public-schedule-head{min-height:49px}.public-schedule-time,.public-schedule-cell{min-height:43px;font-size:8px}.public-schedule-head span{font-size:8px}.public-privacy-note{padding-inline:15px}.section-heading h2,.workflow-copy h2,.device-section h2 { font-size:33px; }.eyebrow { font-size:8px; }.feature-grid { grid-template-columns:1fr; gap:14px; }.feature-wide,.team-feature { grid-column:auto; }.feature-card { padding:23px; border-radius:21px; }.feature-card h3 { font-size:24px; }.feature-card p { font-size:13px; }.team-feature { display:block; }.team-feature .feature-card-top { margin-bottom:23px; }.team-feature > p { margin-top:14px; }.activity-visual { padding:12px; gap:9px; }.activity-visual small { font-size:9px; }.activity-visual strong { font-size:10px; }.workflow-section { padding:43px 0; }.workflow-steps { margin-top:6px; }.workflow-steps h3 { font-size:17px; }.device-section { grid-template-columns:1fr; padding:38px 0 0; }.device-art { min-height:300px; }.device-badge { right:20px; bottom:26px; }.device-section > div:last-child { margin-top:15px; }.faq-grid { grid-template-columns:1fr; }.faq-grid summary { font-size:13px; }.closing-cta { padding:30px 24px; border-radius:21px; }.closing-cta h2 { font-size:32px; }.closing-cta > div { gap:22px; }.closing-cta .button { font-size:12px; }.closing-login { font-size:11px; }.site-footer { padding:30px 0; gap:20px; }.site-footer > p { width:100%; }.site-footer nav { flex-wrap:wrap; gap:17px; }.site-footer .site-brand { font-size:18px; }.signup-card { padding:25px 20px; border-radius:21px; }.signup-story h1 { font-size:40px; }.signup-story .text-link { font-size:12px; }.signup-form-grid { grid-template-columns:1fr; gap:0; }.signup-card h2 { font-size:27px; }.privacy-document { padding:25px 20px; margin:20px auto; }.privacy-document h1 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important; transition:none!important; } }
