/* Public website pages share the approved white, charcoal and Blaze treatment. */
.product-definition { display:block; font-weight:600; margin-bottom:12px; }
.founder-note { max-width:475px; line-height:1.65; }
.shared-coaching { padding-bottom:0; }
.shared-panel { border-radius:var(--card-radius); background:#f5f5f7; padding:48px; display:grid; grid-template-columns:.9fr 1.1fr; gap:8%; position:relative; overflow:hidden; }
.shared-panel::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--blaze); }
.shared-panel h2 { font-size:clamp(44px,4.8vw,70px); text-transform:uppercase; margin-top:22px; line-height:.98; }
.shared-panel h2 span,.page-hero h1 span { color:transparent; background:var(--blaze-title); background-clip:text; -webkit-background-clip:text; }
.shared-copy { align-self:center; }
.shared-copy p { font-size:17px; line-height:1.85; }
.shared-tools { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:24px 0 0; }
.shared-tools li { background:var(--blaze); color:white; font-size:12px; font-weight:700; border-radius:var(--control-radius); padding:8px 12px; }
.site-footer { display:block; }
.footer-main { display:grid; grid-template-columns:150px minmax(220px,390px) 1fr; gap:40px; align-items:center; }
.footer-definition { font-size:14px; line-height:1.75; max-width:360px; color:var(--ink); }
.site-footer .footer-main nav { justify-content:flex-end; flex-wrap:wrap; gap:12px 24px; }
.footer-bottom { border-top:1px solid var(--line); margin-top:30px; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-footer .footer-bottom nav { font-size:11px; flex-wrap:wrap; }
.mobile-menu { display:none; }
.masthead a[aria-current="page"],.site-footer a[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; }
.page-hero { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:7%; border-bottom:1px solid var(--line); padding-top:65px; padding-bottom:48px; }
.page-hero h1 { font-size:clamp(62px,7.5vw,104px); line-height:.94; text-transform:uppercase; margin-top:25px; }
.page-lead { max-width:420px; font-size:18px; line-height:1.8; padding-bottom:4px; }
.page-lead a,.policy-copy a,.faq-item a,.preview-notice a { text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.page-lead a:hover,.policy-copy a:hover,.faq-item a:hover { text-decoration-thickness:2px; }
.support-body { display:grid; grid-template-columns:minmax(210px,.6fr) minmax(0,1.4fr); gap:9%; align-items:start; padding-top:48px; }
.page-contents { position:sticky; top:30px; }
.page-contents nav { display:grid; gap:0; margin-top:18px; }
.page-contents nav a { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:48px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:500; }
.page-contents nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.page-contents nav span { color:transparent; background:var(--blaze-title); background-clip:text; -webkit-background-clip:text; }
.faq-group { margin-bottom:42px; scroll-margin-top:28px; }
.faq-group>h2 { font-size:32px; line-height:1.1; margin-bottom:20px; }
.faq-item { background:#f5f5f7; border:1px solid #e7e7eb; border-radius:var(--card-radius); margin-bottom:12px; overflow:hidden; }
.faq-item summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px 24px; font-size:17px; font-weight:600; line-height:1.45; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; flex-shrink:0; font-size:26px; font-weight:400; line-height:1; color:var(--ink); }
.faq-item summary:focus-visible,.mobile-menu summary:focus-visible { outline:3px solid var(--ink); outline-offset:-5px; border-radius:var(--card-radius); }
.faq-item[open] { background:white; border-color:#d8d8de; }
.faq-item[open] summary { background:var(--blaze); color:white; }
.faq-item[open] summary::after { content:'−'; color:white; }
.faq-item p { padding:22px 24px 25px; font-size:15px; line-height:1.85; }
.support-cta { border-top:1px solid var(--line); padding-top:30px; }
.support-cta h2 { font-size:40px; line-height:1.1; }
.support-cta p { margin:13px 0 24px; color:var(--muted); }
.support-page .action { border:0; clip-path:none; border-radius:var(--control-radius); }
.updated { font-size:14px; line-height:1.7; color:var(--muted); padding-bottom:4px; }
.policy-copy { font-size:16px; line-height:1.9; }
.policy-copy p { margin-bottom:20px; }
.policy-copy h2 { font-size:32px; line-height:1.14; margin:38px 0 18px; scroll-margin-top:28px; }
.policy-copy ul { padding-left:22px; margin:0 0 24px; }
.policy-copy li { padding-left:4px; margin-bottom:12px; }
.policy-copy .intro { font-size:17px; }
.policy-copy strong { overflow-wrap:anywhere; }
.shortver { background:#f5f5f7; border-radius:var(--card-radius); padding:28px 30px 16px; border-top:4px solid transparent; background-image:linear-gradient(#f5f5f7,#f5f5f7),var(--blaze); background-origin:padding-box,border-box; background-clip:padding-box,border-box; margin:28px 0 38px; }
.shortver h2 { margin-top:0; }
.policy-contents { max-height:calc(100vh - 60px); overflow-y:auto; padding-right:10px; scrollbar-width:thin; }
.policy-contents nav a { font-size:12px; line-height:1.6; min-height:0; padding:9px 0; }
.contact-body { grid-template-columns:.85fr 1.15fr; gap:12%; }
.contact-aside h2 { font-size:42px; line-height:1.05; margin:22px 0; }
.contact-aside p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.8; margin:0 0 21px; max-width:350px; }
.contact-interest { border-top:1px solid var(--line); margin-top:38px; padding-top:28px; }
.contact-interest h3 { font-size:29px; line-height:1.1; margin-bottom:13px; }
.contact-form-panel { padding:32px; border-radius:var(--card-radius); background:#f5f5f7; }
.preview-notice { font-size:12px; color:var(--muted); line-height:1.75; margin-bottom:25px; }
.form-row { display:grid; gap:9px; margin-bottom:23px; }
.form-row label { font-size:14px; font-weight:600; }
.form-row input,.form-row textarea { width:100%; min-width:0; border:1px solid #cfd0d7; border-radius:var(--control-radius); background:white; padding:14px 15px; color:var(--ink); font:400 16px/1.5 var(--body); }
.form-row textarea { resize:vertical; min-height:170px; }
.form-row input:focus,.form-row textarea:focus { outline:2px solid var(--ink); outline-offset:2px; }
.privacy-note { font-size:12px; color:var(--muted); margin-top:17px; }
.form-status { font-size:14px; line-height:1.75; margin-top:20px; border-top:1px solid #d5d6de; padding-top:18px; }
.form-status a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) {
 .shared-panel { padding:35px; gap:6%; }
 .shared-copy p { font-size:15px; }
 .footer-main { grid-template-columns:150px 1fr; gap:28px; }
 .site-footer .footer-main nav { grid-column:1/-1; justify-content:flex-start; margin-left:0; }
 .page-hero { grid-template-columns:1fr; gap:28px; }
 .page-lead { max-width:570px; }
 .support-body { gap:5%; grid-template-columns:200px minmax(0,1fr); }
 .contact-body { grid-template-columns:.7fr 1fr; gap:5%; }
 .contact-form-panel { padding:25px; }
}
@media(max-width:700px) {
 .masthead>.action.small { display:none; }
 .mobile-menu { display:block; margin-left:auto; }
 .mobile-menu summary { list-style:none; display:flex; gap:18px; align-items:center; padding:12px 15px; border:1px solid var(--line); border-radius:var(--control-radius); font-size:13px; font-weight:600; cursor:pointer; }
 .mobile-menu summary::-webkit-details-marker { display:none; }
 .mobile-menu summary span { font-size:21px; line-height:1; }
 .mobile-menu[open] summary { background:var(--ink); color:white; }
 .masthead .mobile-menu nav { display:flex; flex-direction:column; position:absolute; z-index:12; top:calc(100% - 7px); left:5%; right:5%; margin:0; padding:20px; background:white; border:1px solid var(--line); border-radius:var(--card-radius); gap:0; box-shadow:0 16px 30px #21293420; }
 .mobile-menu nav a { padding:13px 8px; min-height:44px; }
 .mobile-menu nav .action { border-radius:var(--control-radius); clip-path:none; margin-top:12px; }
 .shared-coaching { padding-bottom:0; }
 .shared-panel { display:block; padding:29px 23px; }
 .shared-panel h2 { font-size:42px; margin-top:19px; }
 .shared-copy { margin-top:24px; }
 .shared-copy p { font-size:14px; line-height:1.8; }
 .shared-tools { gap:7px; }
 .shared-tools li { font-size:11px; padding:7px 10px; }
 .footer-main { grid-template-columns:1fr; gap:22px; }
 .footer-main .brand { width:130px; }
 .footer-definition { font-size:13px; max-width:310px; }
 .site-footer .footer-main nav { gap:14px 23px; font-size:13px; }
 .footer-bottom { display:block; margin-top:24px; }
 .site-footer .footer-bottom nav { margin:15px 0 0; gap:18px; font-size:11px; }
 .page-hero { padding-top:35px; padding-bottom:32px; gap:22px; }
 .page-hero h1 { font-size:clamp(52px,13vw,80px); margin-top:20px; }
 .page-lead { font-size:15px; line-height:1.8; }
 .support-body { display:block; padding-top:30px; }
 .page-contents { position:static; margin-bottom:33px; }
 .page-contents nav { margin-top:12px; }
 .page-contents nav a { font-size:13px; min-height:44px; padding:11px 0; }
 .faq-group>h2 { font-size:29px; }
 .faq-item summary { padding:19px 18px; font-size:15px; gap:16px; }
 .faq-item p { padding:18px; font-size:14px; line-height:1.8; }
 .support-cta h2 { font-size:35px; }
 .support-cta p { font-size:14px; }
 .policy-contents { max-height:none; overflow:visible; }
 .policy-contents nav { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
 .policy-contents nav a { font-size:11px; }
 .policy-copy,.policy-copy .intro { font-size:14px; line-height:1.85; }
 .policy-copy h2 { font-size:28px; line-height:1.15; }
 .shortver { padding:24px 21px 10px; }
 .contact-aside { margin-bottom:34px; }
 .contact-aside h2 { font-size:36px; }
 .contact-aside p:not(.eyebrow) { font-size:14px; }
 .contact-form-panel { padding:24px 19px; }
 .form-row { margin-bottom:21px; }
 .updated { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Round 14: compact supporting pages and the live site's social icons. */
.support-page .masthead { height:124px; }
.support-page .masthead .brand { width:122px; }
.support-page .page-hero { display:block; padding-top:28px; padding-bottom:26px; }
.support-page .page-hero h1 { font-size:clamp(42px,4.2vw,62px); line-height:1.03; margin-top:12px; }
.support-page .page-lead { font-size:16px; line-height:1.65; max-width:760px; margin-top:14px; padding:0; }
.support-page .updated { margin-top:12px; padding:0; }
.support-page .support-body { padding-top:28px; }
.site-footer .footer-bottom .social-links { display:flex; gap:8px; align-items:center; }
.site-footer .social-links a { display:grid; place-items:center; width:44px; height:44px; border-radius:var(--control-radius); color:var(--ink); }
.site-footer .social-links svg { display:block; width:21px; height:21px; fill:currentColor; }
.site-footer .social-links a:hover { background:var(--blaze); background-clip:border-box; -webkit-background-clip:border-box; color:#fff; }
@media(max-width:700px) {
 .support-page .masthead { height:112px; }
 .support-page .masthead .brand { width:110px; }
 .support-page .page-hero { padding-top:22px; padding-bottom:22px; }
 .support-page .page-hero h1 { font-size:40px; margin-top:10px; }
 .support-page .page-lead { font-size:14px; margin-top:12px; }
 .support-page .support-body { padding-top:24px; }
 .support-page .page-contents { margin-bottom:24px; }
 .site-footer .footer-bottom .social-links { margin-top:12px; }
}
@media(max-width:700px) {
 .support-page .contact-body { display:flex; flex-direction:column; gap:30px; }
 .contact-body .contact-form-panel { order:-1; width:100%; }
 .contact-body .contact-aside { margin-bottom:0; }
}
