/* Marketing-only styles: the booking and organizer styles remain untouched. */
.product-page { background:#fff; color:var(--text); }
.product-width { width:min(1100px,calc(100% - 64px)); margin-inline:auto; }
.product-page a { text-decoration:none; }
.product-page .wordmark { display:inline-flex; align-items:center; min-height:44px; }
.product-page p { color:var(--muted); }
.product-page h1,.product-page h2,.product-page h3 { font-weight:500; }
.product-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px; }
.product-header nav { display:flex; gap:30px; align-items:center; font-size:14px; }
.product-header nav a,.product-footer nav a { display:inline-flex; min-height:44px; align-items:center; color:var(--muted); }
.product-header .product-signin { color:var(--text); gap:10px; font-weight:500; }
.product-header a:hover,.product-footer a:hover,.product-text-link:hover { color:var(--accent); }
.product-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:72px; align-items:center; padding-block:100px 112px; }
.product-page h1 { font-size:clamp(42px,4.7vw,62px); letter-spacing:-2.8px; line-height:1.08; margin:0 0 27px; }
.product-page h1 span { color:var(--accent); }
.product-lead { max-width:490px; font-size:18px; line-height:1.75; margin-bottom:30px; }
.product-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-bottom:14px; }
.product-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:12px; padding:13px 20px; font-weight:500; font-size:15px; text-align:center; line-height:1.5; }
.product-button-primary { background:var(--accent); color:#fff; }
.product-button-primary:hover { background:#124fc8; }
.product-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--text); font-size:14px; }
.product-page .product-small { font-size:13px; line-height:1.7; margin-bottom:0; }
.product-preview { margin:0; min-width:0; }
.product-schedule { border:1px solid var(--line); border-radius:20px; padding:27px; background:#fff; box-shadow:0 14px 48px #20212408; }
.product-schedule-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.product-schedule-heading strong { font-size:17px; letter-spacing:-.4px; }
.product-schedule-heading > span { font-size:12px; color:var(--muted); }
.product-preview-intro { font-size:13px; margin:7px 0 27px; }
.product-schedule-list { margin:0; }
.product-schedule-list > div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:21px 0; border-top:1px solid var(--line); }
.product-schedule-list dt { display:flex; align-items:center; gap:15px; font-size:14px; min-width:0; }
.product-schedule-list dt small { display:block; color:var(--muted); margin-top:4px; font-size:12px; }
.product-day { font-size:12px; color:var(--muted); width:28px; flex-shrink:0; }
.product-status { margin:0; display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-size:11px; white-space:nowrap; }
.product-status-open { color:var(--accent); background:var(--blue-wash); border-radius:7px; padding:5px 8px; }
.product-preview-note { padding-top:20px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.product-preview figcaption { margin-top:15px; text-align:center; font-size:11px; color:var(--muted); }
.product-section { padding-block:88px; scroll-margin-top:24px; }
.product-section-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:96px; align-items:start; margin-bottom:48px; }
.product-page h2 { font-size:clamp(28px,3vw,36px); line-height:1.22; letter-spacing:-1.2px; margin-bottom:18px; }
.product-section-heading p { margin:6px 0 0; max-width:390px; line-height:1.8; }
#how-it-works { border-top:1px solid var(--line); }
.product-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; }
.product-step-number { display:block; margin-bottom:25px; color:var(--accent); font-size:13px; }
.product-page h3 { font-size:19px; letter-spacing:-.4px; line-height:1.4; margin-bottom:12px; }
.product-steps p { margin:0; font-size:15px; line-height:1.8; }
.product-feature-band { background:#f8f9fb; border-block:1px solid #eef0f4; }
.product-features { display:grid; grid-template-columns:1.05fr 1fr; gap:110px; padding-block:88px; }
.product-features > div > p { max-width:350px; line-height:1.8; }
.product-feature-list section + section { margin-top:28px; padding-top:28px; border-top:1px solid var(--line); }
.product-feature-list p { font-size:15px; line-height:1.8; margin:0; }
.product-plans { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.product-plan { border:1px solid var(--line); border-radius:20px; padding:34px; }
.product-plan-free { border-color:#b7ccf2; }
.product-plan-pro { background:#f8f9fb; }
.product-plan-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.product-plan-top h3 { font-size:24px; margin:0; }
.product-plan-top > span { font-size:12px; color:var(--muted); }
.product-plan-description { margin:12px 0 30px; font-size:15px; }
.product-page .product-price { margin:0 0 26px; font-size:46px; font-weight:500; letter-spacing:-1.6px; color:var(--text); line-height:1.25; }
.product-price span { display:block; font-size:13px; letter-spacing:0; font-weight:400; color:var(--muted); margin-top:10px; }
.product-page .product-price-pending { font-size:32px; line-height:1.8; letter-spacing:-1px; }
.product-price-pending span { line-height:1.25; }
.product-plan .product-button { width:100%; }
.product-button-unavailable:disabled { background:#e9edf3; color:#515863; opacity:1; cursor:not-allowed; }
.product-plan-list { list-style:none; margin:29px 0 0; padding:0; display:grid; gap:15px; }
.product-plan-list li { display:flex; align-items:flex-start; gap:12px; font-size:14px; }
.product-plan-list svg { margin-top:2px; color:var(--accent); }
.product-pro-details { margin-top:29px; font-size:14px; line-height:1.8; }
.product-pro-details dl { margin:24px 0; }
.product-pro-details dl > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; border-bottom:1px solid var(--line); padding:12px 0; }
.product-pro-details dd { color:var(--muted); margin:0; }
.product-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:88px; border-top:1px solid var(--line); }
.product-faq details { border-bottom:1px solid var(--line); }
.product-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; padding:22px 0; min-height:64px; font-size:16px; font-weight:500; line-height:1.5; }
.product-faq summary::-webkit-details-marker { display:none; }
.product-faq details:first-child summary { padding-top:0; min-height:44px; }
.product-faq details[open] summary svg { transform:rotate(180deg); }
.product-faq details p { margin:0 26px 24px 0; font-size:15px; line-height:1.85; }
.product-closing { text-align:center; padding:72px 24px; border:1px solid var(--line); border-radius:20px; margin-block:0 72px; }
.product-closing > p { margin-bottom:26px; }
.product-closing .product-small { margin-top:20px; }
.product-closing .product-small a { text-decoration:underline; }
.product-footer { display:flex; align-items:center; gap:18px 30px; flex-wrap:wrap; padding-block:30px; border-top:1px solid var(--line); }
.product-footer .wordmark { font-size:19px; }
.product-footer p { margin:0; font-size:13px; }
.product-footer nav { display:flex; gap:24px; flex-wrap:wrap; margin-left:auto; font-size:13px; }
.product-footer nav a,.trust-related a { display:inline-flex; align-items:center; min-height:44px; }
.product-footer .product-trust-links { flex-basis:100%; gap:12px 24px; }
.trust-document { max-width:760px; padding-block:48px 72px; overflow-wrap:anywhere; }
.trust-document h1 { font-size:clamp(34px,5vw,52px); letter-spacing:-1.8px; }
.trust-document .document-breadcrumb { margin-bottom:30px; }
.trust-document .trust-intro { font-size:19px; color:var(--text); line-height:1.8; }
.trust-document .trust-updated { font-size:13px; margin:24px 0 36px; }
.trust-document section { margin-block:32px; }
.trust-document section h2 { font-size:23px; letter-spacing:-.5px; margin-bottom:12px; }
.trust-document section p { font-size:16px; line-height:1.85; }
.trust-related { display:flex; flex-wrap:wrap; gap:4px 24px; border-top:1px solid var(--line); margin-top:40px; padding-top:16px; font-size:13px; }
.cookie-notice:not([hidden]) { display:flex; gap:16px; align-items:center; position:fixed; bottom:12px; left:50%; transform:translateX(-50%); width:min(760px,calc(100% - 24px)); padding:16px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 8px 36px #1622321a; z-index:40; }
.cookie-notice p { font-size:13px; line-height:1.6; margin:0; }
.cookie-notice a { text-decoration:underline; }
.cookie-notice button { flex:none; min-height:44px; width:auto; margin:0; }
.cookie-notice-visible { padding-bottom:140px; }
@media(max-width:440px) {
 .cookie-notice:not([hidden]) { align-items:stretch; flex-direction:column; gap:10px; padding:14px; }
 .cookie-notice-visible { padding-bottom:220px; }
 .trust-document { padding-block:30px 48px; }
 .trust-document .trust-intro { font-size:17px; }
}
@media(max-width:900px) {
 .product-hero { gap:32px; padding-block:64px 80px; }
 .product-page h1 { font-size:46px; letter-spacing:-2px; }
 .product-schedule { padding:20px; }
 .product-schedule-list dt { gap:9px; }
 .product-section-heading,.product-features,.product-faq { gap:40px; }
 .product-steps { gap:28px; }
 .product-plan { padding:26px; }
}
@media(max-width:680px) {
 .product-width { width:calc(100% - 40px); }
 .product-header { padding-block:14px; gap:12px; }
 .product-header .wordmark { font-size:20px; }
 .product-header nav { gap:0; }
 .product-header .product-nav-section { display:none; }
 .product-header .product-signin { font-size:13px; gap:6px; }
 .product-hero { grid-template-columns:1fr; gap:38px; padding-block:46px 58px; }
 .product-page h1 { font-size:clamp(38px,8.8vw,52px); letter-spacing:-1.8px; margin-bottom:22px; }
 .product-lead { font-size:16px; line-height:1.8; margin-bottom:24px; }
 .product-actions { gap:8px 20px; }
 .product-hero .product-button { width:100%; }
 .product-hero .product-small { margin-top:8px; }
 .product-schedule-list dt { font-size:13px; }
 .product-schedule { padding:22px; }
 .product-status { font-size:10px; }
 .product-section { padding-block:54px; }
 .product-section-heading,.product-features,.product-faq { grid-template-columns:1fr; gap:14px; }
 .product-section-heading { margin-bottom:34px; }
 .product-page h2 { font-size:29px; letter-spacing:-1px; }
 .product-section-heading p { margin:0; font-size:15px; }
 .product-steps { grid-template-columns:1fr; gap:29px; }
 .product-step-number { margin-bottom:10px; }
 .product-features { padding-block:54px; gap:24px; }
 .product-features > div > p { font-size:15px; }
 .product-plans { grid-template-columns:1fr; gap:20px; }
 .product-plan { padding:26px 22px; }
 .product-plan-description { min-height:0; }
 .product-faq { gap:22px; }
 .product-faq summary { font-size:15px; }
 .product-closing { padding:44px 22px; margin-bottom:38px; }
 .product-closing h2 { font-size:28px; }
 .product-closing > p { font-size:15px; }
 .product-closing .product-button { width:100%; }
 .product-footer { display:block; padding-block:24px; }
 .product-footer p { margin:10px 0; }
 .product-footer nav { gap:18px; }
}
