:root{
--bg:#FFFFFF;--bg2:#F5F5F7;--bg3:#FFFFFF;--fill:#E8E8ED;
--label:#1D1D1F;--label2:#6E6E73;--sep:rgba(0,0,0,0.12);
--tint:#C4161C;--tint-hover:#A31217;--on-tint:#FFFFFF;
--material:rgba(255,255,255,0.72);--inverse-bg:#111111;--inverse-label:#F5F5F7;--inverse-label2:#A1A1A6;
--shadow:0 1px 2px rgba(0,0,0,0.04),0 8px 28px rgba(0,0,0,0.08);
}
@media (prefers-color-scheme: dark){
:root{
--bg:#111111;--bg2:#000000;--bg3:#1C1C1E;--fill:#2C2C2E;
--label:#F5F5F7;--label2:#A1A1A6;--sep:rgba(255,255,255,0.16);
--tint:#E6262C;--tint-hover:#F04449;--on-tint:#FFFFFF;
--material:rgba(22,22,23,0.72);--inverse-bg:#1C1C1E;
--shadow:0 0 0 1px rgba(255,255,255,0.06);
}
}
@media (prefers-contrast: more){
:root{--label2:#3A3A3C;--sep:rgba(0,0,0,0.4);--tint:#A50E14;--tint-hover:#7F0A0F}
}
@media (prefers-contrast: more) and (prefers-color-scheme: dark){
:root{--label2:#D2D2D7;--sep:rgba(255,255,255,0.45);--tint:#FF5A5F;--on-tint:#000000}
}
html{font-size:100%}
body{margin:0;background:var(--bg);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:var(--tint);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:3px solid var(--tint);outline-offset:3px;border-radius:8px}
.btn{transition:background-color .2s ease,opacity .2s ease}
.btn:hover{text-decoration:none}
.btn-fill:hover{background:var(--tint-hover) !important}
.btn-gray:hover{background:var(--sep) !important}
.row:hover{background:var(--bg2) !important;text-decoration:none}
.navlink{color:var(--label) !important;opacity:.8}
.navlink:hover{opacity:1;text-decoration:none}
.hatch{background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgba(255,255,255,0.35) 5px 7px)}
.logo-dark{display:none}
@media (prefers-color-scheme: dark){.logo-light{display:none !important}.logo-dark{display:block !important}}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
details[open] .disclose{transform:rotate(90deg)}
.disclose{transition:transform .2s ease}
@media (prefers-reduced-motion: reduce){*{transition:none !important;scroll-behavior:auto !important}}
@media (max-width: 1000px){
.hero-grid,.two-col,.feature-quote{grid-template-columns:minmax(0,1fr) !important}
}
@media (max-width: 600px){
.nav-secondary{display:none !important}
.sec{padding-left:20px !important;padding-right:20px !important}
}

.tablist{display:flex;background:var(--fill);border-radius:10px;padding:3px;gap:2px;font-size:.8125rem;font-weight:600}
.tab{flex:1;min-height:44px;border:0;font:inherit;cursor:pointer;text-align:center;padding:7px 4px;border-radius:8px;color:var(--label2);background:transparent}
.tab[aria-selected="true"]{color:var(--label);background:var(--bg3);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tab:focus-visible{outline:3px solid var(--tint);outline-offset:2px}
[hidden]{display:none !important}

.tab{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.panels{overflow:hidden;transition:height .26s ease}
[data-panel]{transition:opacity .16s ease,transform .16s ease}
[data-panel].is-out{opacity:0;transform:translateY(4px)}
[data-panel].is-pre{opacity:0;transform:translateY(8px)}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
[data-panel].is-in [style*="height: 8px"]>div{transform-origin:left center;animation:grow .55s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion: reduce){.panels,[data-panel],.tab{transition:none !important}[data-panel].is-in [style*="height: 8px"]>div{animation:none !important}}

html{scroll-behavior:smooth}
section[id]{scroll-margin-top:60px}

.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--label);cursor:pointer;align-items:center;justify-content:center;border-radius:12px;padding:0;margin-right:-8px}
.menu-btn:focus-visible{outline:3px solid var(--tint);outline-offset:2px}
.menu-btn .ico-close{display:none}
.menu-btn[aria-expanded="true"] .ico-open{display:none}
.menu-btn[aria-expanded="true"] .ico-close{display:block}
.mobile-menu{display:none}
@media (max-width: 1200px){
.navlinks{display:none !important}
.menu-btn{display:inline-flex}
.mobile-menu{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:0.5px solid var(--sep);box-shadow:0 12px 28px rgba(0,0,0,0.12);padding:4px 32px 12px;opacity:0;transform:translateY(-8px);visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.mobile-menu.open{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.mobile-menu a{display:flex;align-items:center;min-height:48px;padding:0 4px;font-size:1.0625rem;color:var(--label);border-top:0.5px solid var(--sep);text-decoration:none}
.mobile-menu a:first-child{border-top:0}
.mobile-menu a:last-child{color:var(--tint)}
.mobile-menu a:hover{text-decoration:none;background:var(--bg2)}
}
@media (max-width: 600px){.mobile-menu{padding-left:20px;padding-right:20px}}
@media (min-width: 1201px){.mobile-menu{display:none !important}}
@media (prefers-reduced-motion: reduce){.mobile-menu{transition:none !important}}

.stat-tile{container-type:inline-size;min-width:0}
.stat-num{display:block;font-size:2.75rem;font-weight:700;letter-spacing:-0.035em;line-height:1;white-space:nowrap}
.stat-pre{font-size:.43em;letter-spacing:-0.015em;font-weight:700}
@supports (font-size: 1cqw){.stat-num{font-size:min(3.5rem,21cqw)}}
.demo-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"intro cal" "details cal";column-gap:56px;row-gap:32px;align-items:start}
.demo-intro{grid-area:intro}.demo-cal{grid-area:cal}.demo-details{grid-area:details}
@media (max-width: 1000px){.demo-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "cal" "details"}}
#meet-choice[hidden],#meet-change[hidden],#cal-box[hidden],#cal-note[hidden]{display:none !important}
.meet-opt{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;padding:22px 24px;background:var(--bg3);color:var(--label);border:0.5px solid var(--sep);border-radius:18px;box-shadow:var(--shadow);font:inherit;cursor:pointer;transition:border-color .15s}
.meet-opt:hover,.meet-opt:focus-visible{border-color:var(--tint)}
.meet-opt:focus-visible{outline:2px solid var(--tint);outline-offset:2px}
.meet-title{font-size:1.1875rem;font-weight:700;letter-spacing:-0.01em}
.meet-sub{font-size:0.9375rem;color:var(--label2);line-height:1.45}

/* Request a proposal form */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#proposal-form[hidden],#proposal-done[hidden],#proposal-error[hidden]{display:none !important}
.proposal-form input:focus-visible,.proposal-form select:focus-visible,.proposal-form textarea:focus-visible{outline:2px solid var(--tint);outline-offset:1px}
#proposal-send[disabled]{opacity:.6;cursor:progress}
.proposal-form select{-webkit-appearance:none;appearance:none;padding-right:44px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%236E6E73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 16px center !important;background-size:14px 14px !important;cursor:pointer}
