/* Montserrat + Inter, SIL Open Font License. Latin subset woff2 (Fontsource build of the Google Fonts files). */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/montserrat-600.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/montserrat-700.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/montserrat-800.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-600.woff2") format("woff2")}

:root{--cs-court: #739b30;
    --cs-court-hover: #84ab3f;
    --cs-deep: #4e6b1f;
    --cs-line: #a8d05a;
    --cs-ink: #1c2117;
    --cs-slate: #3e4339;
    --cs-concrete: #6b6f64;
    --cs-chalk: #faf8f3;
    --cs-sand: #f3efe4;
    --cs-sage: #eff4e6;
    --cs-sage-2: #e3ecd3;
    --cs-forest: #22331a;
    --cs-white: #ffffff;
    --cs-on-dark: rgba(255, 255, 255, 0.86);
    --cs-on-dark-dim: rgba(255, 255, 255, 0.7);
    --cs-rule-light: rgba(28, 33, 23, 0.12);
    --cs-rule-dark: rgba(255, 255, 255, 0.16);
    --cs-flag: #ffd43b;

    --cs-display: "Montserrat", "Arial", system-ui, sans-serif;
    --cs-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --cs-h1: clamp(38px, 5.6vw, 66px);
    --cs-h2: clamp(30px, 3.8vw, 46px);
    --cs-h3: 22px;
    --cs-text: 18px;
    --cs-small: 15px;

    --cs-r-card: 16px;
    --cs-r-input: 10px;
    --cs-r-btn: 10px;
    --cs-r-pill: 999px;
    --cs-shadow: 0 1px 2px rgba(28, 33, 23, 0.05), 0 8px 24px rgba(28, 33, 23, 0.07);
    --cs-shadow-lg: 0 2px 4px rgba(28, 33, 23, 0.06), 0 18px 44px rgba(28, 33, 23, 0.12);
    --cs-max: 1200px;
    --cs-gutter: 20px;
    --cs-sec: 64px;
    --cs-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --cs-fast: 160ms;
    --cs-med: 220ms;
    --cs-header-h: 72px;}
@media (min-width: 768px){:root{--cs-gutter: 32px; --cs-text: 19px; --cs-header-h: 84px;}}
@media (min-width: 1024px){:root{--cs-sec: 104px; --cs-gutter: 40px; --cs-header-h: 92px;}}
.wrap{box-sizing: border-box; width: 100%; max-width: calc(var(--cs-max) + 2 * var(--cs-gutter)); margin: 0 auto; padding: 0 var(--cs-gutter);}
.sec{position: relative; padding: var(--cs-sec) 0; font-family: var(--cs-body); font-size: var(--cs-text); line-height: 1.65; color: var(--cs-slate);}
.sec.white{background: var(--cs-white);}
.sec.chalk{background: var(--cs-chalk);}
.sec.sage{background: var(--cs-sage);}
.eyebrow{margin: 0 0 14px; font-family: var(--cs-display); font-weight: 700; font-size: 15px; line-height: 1.3; letter-spacing: 0.01em; color: var(--cs-deep);}
.h1, .h2, .h3{margin: 0; font-family: var(--cs-display); font-weight: 700; letter-spacing: -0.01em; color: var(--cs-ink); text-wrap: balance;}
.h1{font-size: var(--cs-h1); line-height: 1.08;}
.h2{font-size: var(--cs-h2); line-height: 1.15;}
.h3{font-size: var(--cs-h3); line-height: 1.3;}
.lead{margin: 18px 0 0; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; max-width: 38em; color: var(--cs-slate);}
.small{font-size: var(--cs-small);}
.green{color: var(--cs-deep);}
.sr-only{position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}
.btn{box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 16px 28px; border: 0; border-radius: var(--cs-r-btn); background: var(--cs-court); color: var(--cs-ink); font-family: var(--cs-display); font-weight: 700; font-size: 17px; line-height: 1.2; letter-spacing: 0; text-decoration: none; text-align: center; cursor: pointer; box-shadow: 0 1px 0 rgba(28, 33, 23, 0.12), 0 6px 16px rgba(115, 155, 48, 0.24); transition: transform var(--cs-fast) var(--cs-ease), background-color var(--cs-fast) var(--cs-ease), box-shadow var(--cs-fast) var(--cs-ease);}
.btn:hover{transform: translateY(-1px); background: var(--cs-court-hover); box-shadow: 0 1px 0 rgba(28, 33, 23, 0.12), 0 10px 24px rgba(115, 155, 48, 0.32);}
.btn.sm{min-height: 46px; padding: 10px 20px; font-size: 15px;}
.btn[disabled]{opacity: 0.55; cursor: progress; transform: none;}
.alt{box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 14px 24px; border: 2px solid var(--cs-ink); border-radius: var(--cs-r-btn); background: var(--cs-white); color: var(--cs-ink); font: 700 17px/1.2 var(--cs-display); text-decoration: none; cursor: pointer; transition: background-color var(--cs-fast) var(--cs-ease), color var(--cs-fast) var(--cs-ease);}
.alt:hover{background: var(--cs-ink); color: var(--cs-white);}
.alt.sm{min-height: 46px; padding: 8px 16px; font-size: 15px;}
.link{color: var(--cs-deep); font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; text-decoration-color: rgba(78, 107, 31, 0.35); transition: text-decoration-color var(--cs-fast);}
.link:hover{text-decoration-color: currentColor;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{outline: 3px solid var(--cs-deep); outline-offset: 3px;}
.card{box-sizing: border-box; background: var(--cs-white); border-radius: var(--cs-r-card); box-shadow: var(--cs-shadow);}
.chip{display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--cs-r-pill); background: var(--cs-sage); color: var(--cs-deep); font-family: var(--cs-display); font-weight: 600; font-size: 13px; letter-spacing: 0;}
.photo-frame{position: relative; display: block; overflow: hidden; border-radius: var(--cs-r-card); background: var(--cs-sand); box-shadow: var(--cs-shadow);}
.photo-frame img{display: block; width: 100%; height: 100%; object-fit: cover;}
.playbtn{position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 68px; height: 68px; margin: -34px 0 0 -34px; border-radius: 50%; background: rgba(255, 255, 255, 0.94); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25); transition: transform var(--cs-fast) var(--cs-ease);}
.playbtn svg{width: 26px; height: 26px; margin-left: 4px; fill: var(--cs-deep);}
.reveal{opacity: 0; transform: translateY(16px); transition: opacity 500ms var(--cs-ease), transform 500ms var(--cs-ease);}
.reveal.in{opacity: 1; transform: none;}
@media (prefers-reduced-motion: reduce){.reveal{opacity: 1; transform: none; transition: none;}
.btn, .btn:hover{transition: none; transform: none;}}
html{scroll-behavior: auto;}
body{margin: 0; background: #fff;}
.token{display: inline-block; padding: 0 6px; border-radius: 4px; background: var(--cs-flag); color: var(--cs-ink); font: 600 0.85em/1.5 var(--cs-body);}
/* csAvatarHero */
.csAvatarHero{display: block;}
.csAvatarHero .csAvatarHero__hero{position: relative; padding: calc(var(--cs-header-h) + 36px) 0 56px; background: linear-gradient(180deg, var(--cs-white) 0%, var(--cs-chalk) 100%); font-family: var(--cs-body); color: var(--cs-slate);}
.csAvatarHero .csAvatarHero__grid{display: grid; gap: 40px; align-items: center;}
.csAvatarHero .csAvatarHero__h1{max-width: 15ch;}
.csAvatarHero .csAvatarHero__line{max-width: 24em; margin: 18px 0 0; font: 700 clamp(20px, 2.2vw, 26px)/1.3 var(--cs-display); color: var(--cs-ink); text-wrap: balance;}
.csAvatarHero .csAvatarHero__lead{max-width: 32em;}
.csAvatarHero .csAvatarHero__ctas{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px;}
@media (max-width: 520px){.csAvatarHero .csAvatarHero__ctas .csAvatarHero__btn, .csAvatarHero .csAvatarHero__ctas .csAvatarHero__alt{width: 100%;}}
.csAvatarHero .csAvatarHero__trust{display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 16px; font-weight: 500; color: var(--cs-ink);}
.csAvatarHero .csAvatarHero__trust li{display: inline-flex; align-items: center; gap: 10px;}
.csAvatarHero .csAvatarHero__trust svg{flex: none; width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--cs-court); color: var(--cs-ink);}
.csAvatarHero .csAvatarHero__visual{position: relative; margin: 0; aspect-ratio: 4/3; border-radius: 12px; overflow: hidden; background: var(--cs-ink); box-shadow: var(--cs-shadow-lg);}
.csAvatarHero .csAvatarHero__visual img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.csAvatarHero .csAvatarHero__visual::after{content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 20, 16, 0) 50%, rgba(10, 20, 16, 0.7) 100%); pointer-events: none;}
.csAvatarHero .csAvatarHero__cap{position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 16px; display: grid; gap: 2px; color: var(--cs-white);}
.csAvatarHero .csAvatarHero__cap .csAvatarHero__t{font: 800 clamp(19px, 2vw, 24px)/1.15 var(--cs-display); letter-spacing: -0.01em;}
.csAvatarHero .csAvatarHero__cap .csAvatarHero__s{font-size: 15px; font-weight: 600; opacity: 0.9;}
@media (max-width: 1023px){.csAvatarHero .csAvatarHero__grid{display: flex; flex-direction: column; align-items: stretch; gap: 0;}
.csAvatarHero .csAvatarHero__copy{display: contents;}
.csAvatarHero .csAvatarHero__visual{order: 1; margin-top: 28px;}
.csAvatarHero .csAvatarHero__lead, .csAvatarHero .csAvatarHero__ctas, .csAvatarHero .csAvatarHero__trust{order: 2;}}
@media (min-width: 640px){.csAvatarHero .csAvatarHero__trust{display: flex; flex-wrap: wrap; gap: 10px 26px;}}
@media (min-width: 1024px){.csAvatarHero .csAvatarHero__hero{padding: calc(var(--cs-header-h) + 64px) 0 96px;}
.csAvatarHero .csAvatarHero__grid{grid-template-columns: 1.1fr 0.9fr; gap: 64px;}
.csAvatarHero .csAvatarHero__visual{aspect-ratio: 4/5; max-height: 640px;}
.csAvatarHero .csAvatarHero__cap{left: 28px; bottom: 22px;}}
/* csBlueprintForm */
.csBlueprintForm{display: block; font-family: var(--cs-body); color: var(--cs-slate);}
.csBlueprintForm .csBlueprintForm__form{box-sizing: border-box; padding: 24px 20px 28px; border-radius: var(--cs-r-card); background: var(--cs-white); box-shadow: 0 1px 2px rgba(14, 15, 12, 0.06), 0 24px 60px rgba(14, 15, 12, 0.12); scroll-margin-top: 24px;}
.csBlueprintForm .csBlueprintForm__prog{margin-bottom: 22px;}
.csBlueprintForm .csBlueprintForm__pt{margin: 0 0 10px; font: 600 16px var(--cs-display); color: var(--cs-deep);}
.csBlueprintForm .csBlueprintForm__bar{height: 6px; border-radius: 6px; background: var(--cs-chalk); overflow: hidden;}
.csBlueprintForm .csBlueprintForm__bar span{display: block; height: 100%; border-radius: 6px; background: var(--cs-court); transition: width 400ms var(--cs-ease);}
.csBlueprintForm .csBlueprintForm__prefill{display: flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 12px 14px; border-radius: var(--cs-r-input); background: #eef3e4; font-size: 15px; color: var(--cs-ink); --cs-bold: var(--cs-deep);}
.csBlueprintForm .csBlueprintForm__prefill svg{flex: none; width: 22px; height: 22px; fill: none; stroke: var(--cs-deep); stroke-width: 2;}
.csBlueprintForm .csBlueprintForm__summary{margin: 0 0 22px; padding: 16px 18px; border-radius: var(--cs-r-input); background: #fdecea; box-shadow: inset 4px 0 0 #c0392b; outline: none;}
.csBlueprintForm .csBlueprintForm__summary:focus-visible{outline: 3px solid var(--cs-line);}
.csBlueprintForm .csBlueprintForm__sum-t{margin: 0 0 6px; font-weight: 700; color: #7d1f14;}
.csBlueprintForm .csBlueprintForm__summary ul{margin: 0; padding-left: 18px;}
.csBlueprintForm .csBlueprintForm__sum-l{padding: 2px 0; border: 0; background: none; font: inherit; font-size: 15px; color: #7d1f14; text-decoration: underline; cursor: pointer; text-align: left;}
.csBlueprintForm .csBlueprintForm__step[hidden]{display: none;}
.csBlueprintForm .csBlueprintForm__stitle{margin: 0 0 6px; font: 700 clamp(24px, 3vw, 32px)/1.2 var(--cs-display); color: var(--cs-ink); outline: none;}
.csBlueprintForm .csBlueprintForm__help{margin: 0 0 20px; font-size: 15px;}
.csBlueprintForm .csBlueprintForm__fs{margin: 22px 0 0; padding: 0; border: 0; min-width: 0;}
.csBlueprintForm .csBlueprintForm__lbl{display: block; margin: 0 0 10px; padding: 0; font: 600 17px var(--cs-display); color: var(--cs-ink);}
.csBlueprintForm .csBlueprintForm__opt{font: 500 15px var(--cs-body); color: var(--cs-concrete);}
.csBlueprintForm .csBlueprintForm__pills{display: flex; flex-wrap: wrap; gap: 8px; outline: none;}
.csBlueprintForm .csBlueprintForm__pill{position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: var(--cs-r-pill); background: var(--cs-chalk); box-shadow: inset 0 0 0 1.5px #c9cbbf; font-size: 16px; font-weight: 500; color: var(--cs-ink); cursor: pointer; transition: background-color var(--cs-fast) var(--cs-ease), color var(--cs-fast) var(--cs-ease);}
.csBlueprintForm .csBlueprintForm__pill input{position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer;}
.csBlueprintForm .csBlueprintForm__pill:hover{box-shadow: inset 0 0 0 1.5px var(--cs-court);}
.csBlueprintForm .csBlueprintForm__pill.csBlueprintForm__on{background: var(--cs-deep); color: var(--cs-white); box-shadow: none;}
.csBlueprintForm .csBlueprintForm__pill:focus-within{outline: 3px solid var(--cs-line); outline-offset: 2px;}
.csBlueprintForm input[type='text'], .csBlueprintForm input[type='email'], .csBlueprintForm input[type='tel'], .csBlueprintForm select, .csBlueprintForm textarea{box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px 14px; border: 1.5px solid #b9bcae; border-radius: var(--cs-r-input); background: var(--cs-white); font: 500 17px var(--cs-body); color: var(--cs-ink); transition: border-color var(--cs-fast) var(--cs-ease); -webkit-appearance: none; appearance: none;}
.csBlueprintForm select{padding-right: 38px; background-image: linear-gradient(45deg, transparent 50%, var(--cs-ink) 50%), linear-gradient(135deg, var(--cs-ink) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat;}
.csBlueprintForm textarea{min-height: 96px; resize: vertical; line-height: 1.5;}
.csBlueprintForm input:focus, .csBlueprintForm select:focus, .csBlueprintForm textarea:focus{border-color: var(--cs-court);}
.csBlueprintForm [aria-invalid='true']{border-color: #c0392b !important;}
.csBlueprintForm .csBlueprintForm__err{margin: 6px 0 0; font-size: 14px; font-weight: 600; color: #a5281b;}
.csBlueprintForm .csBlueprintForm__err:empty{display: none;}
.csBlueprintForm .csBlueprintForm__size{display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: end;}
.csBlueprintForm .csBlueprintForm__size .csBlueprintForm__f{display: flex; flex-direction: column; gap: 6px;}
.csBlueprintForm .csBlueprintForm__sl{font-size: 13px; color: var(--cs-slate);}
.csBlueprintForm .csBlueprintForm__x{padding-bottom: 14px; font: 800 20px var(--cs-display); color: var(--cs-concrete);}
.csBlueprintForm .csBlueprintForm__or{grid-column: 1 / -1; font: 600 15px var(--cs-display); color: var(--cs-concrete);}
.csBlueprintForm .csBlueprintForm__sq{grid-column: 1 / -1;}
.csBlueprintForm .csBlueprintForm__dates{display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px;}
.csBlueprintForm .csBlueprintForm__two{display: grid; gap: 0 16px;}
.csBlueprintForm .csBlueprintForm__hp{position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden;}
.csBlueprintForm .csBlueprintForm__txn{margin: 22px 0 10px;}
.csBlueprintForm .csBlueprintForm__consent{position: relative; display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; cursor: pointer; font-size: 16px; color: var(--cs-ink);}
.csBlueprintForm .csBlueprintForm__consent input{position: absolute; left: 0; top: 0; width: 26px; height: 26px; margin: 0; opacity: 0; cursor: pointer;}
.csBlueprintForm .csBlueprintForm__box{width: 26px; height: 26px; border-radius: 7px; box-shadow: inset 0 0 0 2px rgba(14, 15, 12, 0.3); background: var(--cs-white); position: relative;}
.csBlueprintForm .csBlueprintForm__consent input:checked + .csBlueprintForm__box{background: var(--cs-court); box-shadow: none;}
.csBlueprintForm .csBlueprintForm__consent input:checked + .csBlueprintForm__box::after{content: ""; position: absolute; left: 9px; top: 4px; width: 6px; height: 12px; border-right: 3px solid var(--cs-ink); border-bottom: 3px solid var(--cs-ink); transform: rotate(45deg);}
.csBlueprintForm .csBlueprintForm__consent input:focus-visible + .csBlueprintForm__box{outline: 3px solid var(--cs-line); outline-offset: 2px;}
.csBlueprintForm .csBlueprintForm__legal{margin: 18px 0 0;}
.csBlueprintForm .csBlueprintForm__server{margin: 20px 0 0; padding: 12px 14px; border-radius: var(--cs-r-input); background: #fdecea; color: #7d1f14; font-weight: 600;}
.csBlueprintForm .csBlueprintForm__nav{display: flex; gap: 12px; margin-top: 30px;}
.csBlueprintForm .csBlueprintForm__nav .csBlueprintForm__go{flex: 1;}
.csBlueprintForm .csBlueprintForm__nav .csBlueprintForm__back{flex: none;}
@media (min-width: 640px){.csBlueprintForm .csBlueprintForm__form{padding: 36px 36px 36px;}
.csBlueprintForm .csBlueprintForm__two{grid-template-columns: 1fr 1fr;}
.csBlueprintForm .csBlueprintForm__size{grid-template-columns: 1fr auto 1fr auto 1.2fr;}
.csBlueprintForm .csBlueprintForm__or{grid-column: auto; padding-bottom: 16px;}
.csBlueprintForm .csBlueprintForm__sq{grid-column: auto;}
.csBlueprintForm .csBlueprintForm__nav{justify-content: flex-end;}
.csBlueprintForm .csBlueprintForm__nav .csBlueprintForm__go{flex: none; min-width: 240px;}}
@media (prefers-reduced-motion: reduce){.csBlueprintForm .csBlueprintForm__bar span{transition: none;}}
.csBlueprintForm .csBlueprintForm__prefill[hidden], .csBlueprintForm .csBlueprintForm__summary[hidden], .csBlueprintForm .csBlueprintForm__server[hidden], .csBlueprintForm .csBlueprintForm__nav [hidden], .csBlueprintForm .csBlueprintForm__step[hidden]{display: none;}
.csBlueprintForm .csBlueprintForm__err[hidden]{display: none;}
/* csCaseStudy */
.csCaseStudy{display: block;}
.csCaseStudy .csCaseStudy__intro{max-width: 760px;}
.csCaseStudy .csCaseStudy__brand{display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px;}
.csCaseStudy .csCaseStudy__logo{display: block; width: auto; height: 40px; mix-blend-mode: multiply;}
.csCaseStudy .csCaseStudy__brand .csCaseStudy__eyebrow{margin: 0;}
.csCaseStudy .csCaseStudy__tabs{display: flex; gap: 4px; margin: 40px calc(-1 * var(--cs-gutter)) 0; padding: 0 var(--cs-gutter); overflow-x: auto; scrollbar-width: none; border-bottom: 2px solid var(--cs-rule-light); scroll-padding: 0 var(--cs-gutter);}
.csCaseStudy .csCaseStudy__tabs::-webkit-scrollbar{display: none;}
.csCaseStudy .csCaseStudy__tab{flex: none; position: relative; min-height: 52px; margin-bottom: -2px; padding: 12px 16px; border: 0; border-bottom: 4px solid transparent; background: none; color: var(--cs-concrete); font: 700 17px/1.2 var(--cs-display); white-space: nowrap; cursor: pointer; transition: color var(--cs-fast) var(--cs-ease), border-color var(--cs-fast) var(--cs-ease);}
.csCaseStudy .csCaseStudy__tab:hover{color: var(--cs-ink); border-bottom-color: var(--cs-sage-2);}
.csCaseStudy .csCaseStudy__tab.csCaseStudy__on{color: var(--cs-ink); border-bottom-color: var(--cs-court);}
.csCaseStudy .csCaseStudy__tab:focus-visible{outline: 3px solid var(--cs-ink); outline-offset: -3px; border-radius: 4px;}
.csCaseStudy .csCaseStudy__pane{display: grid; gap: 28px; padding-top: 28px; animation: csCaseStudy__in 320ms var(--cs-ease);}
@keyframes csCaseStudy__in{ from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.csCaseStudy .csCaseStudy__visuals{min-width: 0;}
.csCaseStudy .csCaseStudy__front{margin: 0; aspect-ratio: 3/2; overflow: hidden; border-radius: 10px; background: var(--cs-sage-2); box-shadow: var(--cs-shadow-lg);}
.csCaseStudy .csCaseStudy__front img{display: block; width: 100%; height: 100%; object-fit: cover;}
.csCaseStudy .csCaseStudy__slider{position: relative; margin-top: 14px;}
.csCaseStudy .csCaseStudy__track{display: flex; gap: 12px; margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;}
.csCaseStudy .csCaseStudy__track::-webkit-scrollbar{display: none;}
.csCaseStudy .csCaseStudy__slide{position: relative; flex: none; height: 168px; scroll-snap-align: start; border-radius: 8px; overflow: hidden; background: var(--cs-sand);}
.csCaseStudy .csCaseStudy__shot{display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none;}
.csCaseStudy .csCaseStudy__shot img{display: block; width: 100%; height: 100%; object-fit: cover;}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel{position: relative; cursor: pointer;}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel img{transition: transform 600ms var(--cs-ease);}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel:hover img{transform: scale(1.04);}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel .csCaseStudy__playbtn{width: 52px; height: 52px; margin: -26px 0 0 -26px; background: var(--cs-court); color: var(--cs-ink);}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel .csCaseStudy__playbtn svg{width: 22px; height: 22px; fill: currentColor;}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel:focus-visible{outline: 3px solid var(--cs-ink); outline-offset: -3px;}
.csCaseStudy .csCaseStudy__ours{position: absolute; left: 8px; top: 8px; padding: 4px 10px; border-radius: 999px; background: var(--cs-court); color: var(--cs-ink); font: 700 12px/1.2 var(--cs-display); letter-spacing: 0.02em; pointer-events: none;}
.csCaseStudy .csCaseStudy__navs{display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px;}
.csCaseStudy .csCaseStudy__nav{display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid var(--cs-ink); border-radius: 50%; background: var(--cs-white); color: var(--cs-ink); cursor: pointer; transition: background-color var(--cs-fast) var(--cs-ease);}
.csCaseStudy .csCaseStudy__nav svg{width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round;}
.csCaseStudy .csCaseStudy__nav:hover:not([disabled]){background: var(--cs-court);}
.csCaseStudy .csCaseStudy__nav[disabled]{opacity: 0.35; cursor: default;}
.csCaseStudy .csCaseStudy__nav:focus-visible{outline: 3px solid var(--cs-ink); outline-offset: 2px;}
.csCaseStudy .csCaseStudy__meta{align-self: start;}
.csCaseStudy .csCaseStudy__count{margin: 0; font: 700 14px/1 var(--cs-display); letter-spacing: 0.08em; color: var(--cs-concrete); font-variant-numeric: tabular-nums;}
.csCaseStudy .csCaseStudy__ct{margin-top: 10px; font-size: clamp(24px, 2.6vw, 30px);}
.csCaseStudy .csCaseStudy__addr{display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 0; font-size: 16px; font-weight: 500; color: var(--cs-slate);}
.csCaseStudy .csCaseStudy__addr svg{flex: none; width: 18px; height: 18px; margin-top: 2px; fill: none; stroke: var(--cs-deep); stroke-width: 2;}
.csCaseStudy .csCaseStudy__stat{display: flex; align-items: baseline; gap: 10px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--cs-rule-light);}
.csCaseStudy .csCaseStudy__n{font: 800 clamp(56px, 7vw, 84px)/0.9 var(--cs-display); letter-spacing: -0.03em; color: var(--cs-deep);}
.csCaseStudy .csCaseStudy__u{font: 700 20px/1.2 var(--cs-display); color: var(--cs-ink);}
.csCaseStudy .csCaseStudy__extra{margin: 8px 0 0; font-weight: 600; color: var(--cs-deep);}
.csCaseStudy .csCaseStudy__cap{margin: 16px 0 0; font-size: 18px; line-height: 1.55; color: var(--cs-slate);}
.csCaseStudy .csCaseStudy__act{margin: 20px 0 0;}
.csCaseStudy .csCaseStudy__foot{display: grid; gap: 20px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--cs-rule-light);}
.csCaseStudy .csCaseStudy__credit{margin: 0; font-size: 14px; color: var(--cs-concrete);}
.csCaseStudy .csCaseStudy__foot .csCaseStudy__btn{justify-self: start;}
@media (min-width: 1024px){.csCaseStudy .csCaseStudy__tabs{margin-left: 0; margin-right: 0; padding: 0;}
.csCaseStudy .csCaseStudy__pane{grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; padding-top: 36px;}
.csCaseStudy .csCaseStudy__meta{padding-top: 8px;}
.csCaseStudy .csCaseStudy__slide{height: 200px;}
.csCaseStudy .csCaseStudy__logo{height: 48px;}
.csCaseStudy .csCaseStudy__foot{grid-template-columns: 1fr auto; align-items: center; gap: 32px;}}
@media (max-width: 480px){.csCaseStudy .csCaseStudy__foot .csCaseStudy__btn{width: 100%;}
.csCaseStudy .csCaseStudy__slide{height: 150px;}}
@media (prefers-reduced-motion: reduce){.csCaseStudy .csCaseStudy__pane{animation: none;}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel img{transition: none;}
.csCaseStudy .csCaseStudy__shot.csCaseStudy__reel:hover img{transform: none;}}
.csCaseStudy .csCaseStudy__pane[hidden]{display: none;}
.csCaseStudy .csCaseStudy__slide .csCaseStudy__shot.csCaseStudy__more{display: block;}
/* csClosingCta */
.csClosingCta{display: block;}
.csClosingCta .csClosingCta__head{max-width: 820px; margin-bottom: 40px;}
.csClosingCta .csClosingCta__actions{display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 0;}
/* csCourtCompare */
.csCourtCompare{display: block;}
.csCourtCompare .csCourtCompare__head{max-width: 46em;}
.csCourtCompare .csCourtCompare__dia{margin: 40px 0 0; padding: 20px; border-radius: var(--cs-r-card); background: var(--cs-white); box-shadow: var(--cs-shadow);}
.csCourtCompare .csCourtCompare__pills{display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px;}
.csCourtCompare .csCourtCompare__pills{flex-wrap: nowrap; gap: 6px;}
.csCourtCompare .csCourtCompare__fp{flex: 1 1 auto; min-height: 44px; padding: 10px 12px; border: 1.5px solid var(--cs-rule-light); border-radius: var(--cs-r-pill); background: var(--cs-white); color: var(--cs-ink); font: 600 14px/1 var(--cs-display); cursor: pointer;}
@media (min-width: 640px){.csCourtCompare .csCourtCompare__pills{gap: 8px;}
.csCourtCompare .csCourtCompare__fp{flex: none; padding: 10px 18px; font-size: 15px;}}
.csCourtCompare .csCourtCompare__fp:hover{border-color: var(--cs-ink);}
.csCourtCompare .csCourtCompare__fp.csCourtCompare__on{border-color: var(--cs-ink); background: var(--cs-ink); color: var(--cs-white);}
.csCourtCompare .csCourtCompare__fp:focus-visible{outline: 3px solid var(--cs-court); outline-offset: 2px;}
.csCourtCompare .csCourtCompare__court{border-radius: 10px; overflow: hidden; background: var(--cs-sand);}
.csCourtCompare .csCourtCompare__court svg{display: block; width: 100%; height: auto;}
.csCourtCompare .csCourtCompare__floor{fill: #e6c99a;}
.csCourtCompare .csCourtCompare__bb rect, .csCourtCompare .csCourtCompare__bb line, .csCourtCompare .csCourtCompare__bb circle, .csCourtCompare .csCourtCompare__bb path{fill: none; stroke: var(--cs-ink); stroke-width: 0.35; vector-effect: none;}
.csCourtCompare .csCourtCompare__bb .csCourtCompare__rim{stroke-width: 0.6;}
.csCourtCompare .csCourtCompare__bb .csCourtCompare__hoop{stroke: #c2410c; stroke-width: 0.3;}
.csCourtCompare .csCourtCompare__bb.csCourtCompare__dim rect, .csCourtCompare .csCourtCompare__bb.csCourtCompare__dim line, .csCourtCompare .csCourtCompare__bb.csCourtCompare__dim circle, .csCourtCompare .csCourtCompare__bb.csCourtCompare__dim path{stroke: rgba(28, 33, 23, 0.55);}
.csCourtCompare .csCourtCompare__pb rect, .csCourtCompare .csCourtCompare__pb line{fill: none; stroke: var(--cs-deep); stroke-width: 0.45; stroke-dasharray: 1.2 0.8;}
.csCourtCompare .csCourtCompare__pb rect{fill: rgba(115, 155, 48, 0.16); stroke-dasharray: none;}
.csCourtCompare .csCourtCompare__pb .csCourtCompare__net{stroke: var(--cs-ink); stroke-width: 0.6; stroke-dasharray: none;}
.csCourtCompare figcaption{display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 16px; font-size: 15px; line-height: 1.45; color: var(--cs-slate);}
.csCourtCompare .csCourtCompare__key{display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--cs-ink);}
.csCourtCompare .csCourtCompare__sw{width: 22px; height: 0; border-top: 2px solid var(--cs-ink);}
.csCourtCompare .csCourtCompare__sw.csCourtCompare__pbk{border-top: 2px dashed var(--cs-deep);}
.csCourtCompare .csCourtCompare__note{flex-basis: 100%;}
.csCourtCompare .csCourtCompare__src{margin: 20px 0 0; font-size: 14px; line-height: 1.5; color: var(--cs-slate);}
.csCourtCompare .csCourtCompare__table{margin-top: 48px; border-bottom: 1px solid var(--cs-rule-light);}
.csCourtCompare .csCourtCompare__tr{display: grid; gap: 8px; padding: 18px 0; border-top: 1px solid var(--cs-rule-light);}
.csCourtCompare .csCourtCompare__tr.csCourtCompare__th{display: none;}
.csCourtCompare .csCourtCompare__c0{font: 700 19px/1.35 var(--cs-display); color: var(--cs-ink);}
.csCourtCompare .csCourtCompare__c1, .csCourtCompare .csCourtCompare__c2{display: grid; gap: 2px; font-size: 17px; line-height: 1.55;}
.csCourtCompare .csCourtCompare__c2{color: var(--cs-ink);}
.csCourtCompare .csCourtCompare__ml{font: 700 12px/1.4 var(--cs-display); letter-spacing: 0.06em; text-transform: uppercase; color: var(--cs-concrete);}
.csCourtCompare .csCourtCompare__c2 .csCourtCompare__ml{color: var(--cs-deep);}
@media (min-width: 900px){.csCourtCompare .csCourtCompare__dia{padding: 28px; margin-top: 56px;}
.csCourtCompare .csCourtCompare__tr{grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; align-items: baseline; padding: 20px 0;}
.csCourtCompare .csCourtCompare__tr.csCourtCompare__th{display: grid; padding: 0 0 12px; border-top: 2px solid var(--cs-ink); padding-top: 16px;}
.csCourtCompare .csCourtCompare__tr.csCourtCompare__th span{font: 700 14px/1.3 var(--cs-display); letter-spacing: 0.06em; text-transform: uppercase; color: var(--cs-concrete);}
.csCourtCompare .csCourtCompare__tr.csCourtCompare__th .csCourtCompare__c2{color: var(--cs-deep);}
.csCourtCompare .csCourtCompare__ml{display: none;}}
.csCourtCompare .csCourtCompare__bb[hidden], .csCourtCompare .csCourtCompare__pb[hidden]{display: none;}
/* csCourtGrid */
.csCourtGrid{display: block;}
.csCourtGrid .csCourtGrid__grid{display: block; width: 100%; height: auto; max-height: 100%;}
.csCourtGrid .csCourtGrid__space{fill: #f3efe4; stroke: #6b6f64; stroke-width: 2; stroke-dasharray: 6 5;}
.csCourtGrid .csCourtGrid__box{fill: #4e6b1f; stroke: #f4f5f0; stroke-width: 1.5;}
.csCourtGrid .csCourtGrid__play{fill: #739b30; stroke: #ffffff; stroke-width: 1.4;}
.csCourtGrid .csCourtGrid__ln{stroke: #ffffff; stroke-width: 1.2;}
.csCourtGrid .csCourtGrid__net{stroke: #1c2117; stroke-width: 2.2; stroke-linecap: round;}
.csCourtGrid .csCourtGrid__court{animation: csCourtGrid__pop 380ms cubic-bezier(0.2, 0.7, 0.2, 1) both;}
@keyframes csCourtGrid__pop{ from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce){.csCourtGrid .csCourtGrid__court{animation: none;}}
.csCourtGrid[hidden]{display: none;}
/* csCourtPlanner */
.csCourtPlanner{display: block;}
.csCourtPlanner .csCourtPlanner__layout{display: grid; gap: 40px;}
.csCourtPlanner .csCourtPlanner__inputs{display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 12px; margin-top: 36px;}
.csCourtPlanner .csCourtPlanner__field{display: flex; flex-direction: column; gap: 8px; min-width: 0;}
.csCourtPlanner .csCourtPlanner__lbl{font: 600 16px var(--cs-display); color: var(--cs-ink);}
.csCourtPlanner input[type='text']{box-sizing: border-box; width: 100%; min-height: 64px; padding: 10px 18px; border: 2px solid #c9cbbf; border-radius: var(--cs-r-input); background: var(--cs-white); font: 700 30px var(--cs-display); color: var(--cs-ink); transition: border-color var(--cs-fast) var(--cs-ease);}
.csCourtPlanner input[type='text']:focus{border-color: var(--cs-deep);}
.csCourtPlanner .csCourtPlanner__x{padding-bottom: 16px; font: 800 26px var(--cs-display); color: var(--cs-concrete);}
.csCourtPlanner .csCourtPlanner__mode{margin: 28px 0 0; padding: 0; border: 0; min-width: 0;}
.csCourtPlanner .csCourtPlanner__mode legend{padding: 0; margin-bottom: 10px;}
.csCourtPlanner .csCourtPlanner__seg{display: grid; grid-template-columns: 1fr 1fr; padding: 5px; border-radius: var(--cs-r-pill); background: var(--cs-sand);}
.csCourtPlanner .csCourtPlanner__opt{position: relative; display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 6px 12px; border-radius: var(--cs-r-pill); font: 600 16px/1.2 var(--cs-display); text-align: center; color: var(--cs-slate); cursor: pointer; transition: background-color var(--cs-fast) var(--cs-ease), color var(--cs-fast) var(--cs-ease);}
.csCourtPlanner .csCourtPlanner__opt input{position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer;}
.csCourtPlanner .csCourtPlanner__opt.csCourtPlanner__on{background: var(--cs-white); color: var(--cs-ink); box-shadow: var(--cs-shadow);}
.csCourtPlanner .csCourtPlanner__opt:focus-within{outline: 3px solid var(--cs-deep); outline-offset: 2px;}
.csCourtPlanner .csCourtPlanner__board{display: flex; flex-direction: column; border-radius: var(--cs-r-card); background: var(--cs-chalk); color: var(--cs-slate); overflow: hidden; border: 1px solid var(--cs-rule-light); box-shadow: var(--cs-shadow-lg);}
.csCourtPlanner .csCourtPlanner__result{padding: 26px 26px 6px; min-height: 92px;}
.csCourtPlanner .csCourtPlanner__res{margin: 0; font: 700 clamp(19px, 2vw, 24px)/1.3 var(--cs-display); color: var(--cs-ink); --cs-bold: var(--cs-deep);}
.csCourtPlanner .csCourtPlanner__sq{margin: 8px 0 0; font-size: 16px; color: var(--cs-concrete);}
.csCourtPlanner .csCourtPlanner__canvas{margin: 0 20px; padding: 16px; min-height: 180px; border-radius: 12px; background: var(--cs-white); display: flex; align-items: center; justify-content: center;}
.csCourtPlanner .csCourtPlanner__canvas [data-c="csCourtGrid"]{width: 100%;}
.csCourtPlanner .csCourtPlanner__foot{display: flex; flex-direction: column; gap: 14px; padding: 20px 26px 28px;}
.csCourtPlanner .csCourtPlanner__disc{margin: 0; color: var(--cs-concrete); line-height: 1.5;}
@media (min-width: 1024px){.csCourtPlanner .csCourtPlanner__layout{grid-template-columns: 0.85fr 1.15fr; gap: 64px; align-items: start;}
.csCourtPlanner .csCourtPlanner__result{padding: 32px 36px 8px;}
.csCourtPlanner .csCourtPlanner__canvas{margin: 0 32px; padding: 20px 28px; min-height: 300px;}
.csCourtPlanner .csCourtPlanner__foot{flex-direction: row; align-items: center; gap: 24px; padding: 24px 36px 34px;}
.csCourtPlanner .csCourtPlanner__foot .csCourtPlanner__btn{flex: none;}}
@media (max-width: 480px){.csCourtPlanner .csCourtPlanner__foot .csCourtPlanner__btn{width: 100%;}}
.csCourtPlanner .csCourtPlanner__canvas [hidden]{display: none;}
/* csFaq */
.csFaq{display: block;}
.csFaq .csFaq__layout{display: grid; gap: 40px;}
.csFaq .csFaq__list{margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cs-rule-light);}
.csFaq .csFaq__item{border-bottom: 1px solid var(--cs-rule-light);}
.csFaq .csFaq__qh{margin: 0;}
.csFaq .csFaq__q{display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 72px; padding: 20px 0; border: 0; background: none; text-align: left; cursor: pointer; font: 700 clamp(18px, 1.7vw, 22px)/1.3 var(--cs-display); color: var(--cs-ink);}
.csFaq .csFaq__q:hover .csFaq__qt{color: var(--cs-deep);}
.csFaq .csFaq__pm{position: relative; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--cs-sage); transition: background-color var(--cs-fast) var(--cs-ease), transform var(--cs-med) var(--cs-ease);}
.csFaq .csFaq__pm::before, .csFaq .csFaq__pm::after{content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; background: var(--cs-deep); transition: transform var(--cs-med) var(--cs-ease);}
.csFaq .csFaq__pm::after{transform: rotate(90deg);}
.csFaq .csFaq__open .csFaq__pm{background: var(--cs-court);}
.csFaq .csFaq__open .csFaq__pm::after{transform: rotate(0deg);}
.csFaq .csFaq__a p{margin: 0; padding: 0 56px 26px 0; font-size: 18px; line-height: 1.65; color: var(--cs-slate); max-width: 46em;}
@media (min-width: 1024px){.csFaq .csFaq__layout{grid-template-columns: 0.8fr 1.2fr; gap: 80px; align-items: start;}
.csFaq .csFaq__side{position: sticky; top: calc(var(--cs-header-h) + 88px);}}
@media (prefers-reduced-motion: reduce){.csFaq .csFaq__pm, .csFaq .csFaq__pm::before, .csFaq .csFaq__pm::after{transition: none;}}
/* csFooter */
.csFooter{display: block;}
.csFooter .csFooter__foot{position: relative; background: var(--cs-forest); color: var(--cs-on-dark); font: 400 16px/1.6 var(--cs-body); padding: 0 0 28px;}
.csFooter .csFooter__foot.csFooter__legal{padding: 0; background: var(--cs-chalk); color: var(--cs-slate);}
.csFooter .csFooter__top{display: grid; gap: 40px; padding: 64px 0 48px;}
@media (min-width: 900px){.csFooter .csFooter__top{grid-template-columns: 1.6fr 1fr 1fr; padding: 80px 0 56px;}}
.csFooter .csFooter__brand{display: inline-block; line-height: 0;}
.csFooter .csFooter__brand img{width: 200px; height: auto;}
.csFooter .csFooter__line{margin: 24px 0 0; font: 700 clamp(24px, 2.6vw, 32px)/1.2 var(--cs-display); color: var(--cs-white); max-width: 18ch;}
.csFooter .csFooter__loc{margin: 14px 0 0; color: var(--cs-on-dark-dim); font-size: 16px;}
.csFooter .csFooter__col{display: flex; flex-direction: column; gap: 4px;}
.csFooter .csFooter__col p{margin: 0;}
.csFooter .csFooter__col a{color: var(--cs-white); text-decoration: none; padding: 6px 0; font-weight: 500; transition: color var(--cs-fast);}
.csFooter .csFooter__col a:hover{color: var(--cs-line); text-decoration: underline; text-underline-offset: 4px;}
.csFooter .csFooter__head{font: 700 17px/1.3 var(--cs-display) !important; color: var(--cs-line); margin-bottom: 8px !important;}
.csFooter .csFooter__head.csFooter__gap{margin-top: 24px !important;}
.csFooter .csFooter__ig{display: inline-flex; align-items: center; gap: 10px;}
.csFooter .csFooter__ig svg{width: 22px; height: 22px;}
.csFooter .csFooter__bottom{display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; padding: 22px 0 0; border-top: 1px solid var(--cs-rule-dark); font-size: 15px; color: var(--cs-on-dark-dim);}
.csFooter .csFooter__legal .csFooter__bottom{padding: 28px 0; justify-content: center; border-top: 1px solid var(--cs-rule-light); color: var(--cs-slate);}
.csFooter .csFooter__bottom a{color: inherit; text-decoration: underline; text-underline-offset: 3px;}
.csFooter .csFooter__legal .csFooter__bottom a{color: var(--cs-deep);}
.csFooter .csFooter__sign{margin-left: auto; font: 600 15px/1.3 var(--cs-display); color: var(--cs-on-dark-dim);}
@media (max-width: 600px){.csFooter .csFooter__sign{margin-left: 0; width: 100%;}}
/* csFounder */
.csFounder{display: block;}
.csFounder .csFounder__split{display: grid; gap: 40px;}
.csFounder .csFounder__photo{box-shadow: var(--cs-shadow-lg);}
.csFounder .csFounder__photo img{display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover;}
.csFounder .csFounder__quote{margin: 32px 0 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--cs-court); font: 600 clamp(21px, 2.2vw, 26px)/1.4 var(--cs-display); color: var(--cs-ink); border-radius: 2px;}
.csFounder .csFounder__more{display: inline-block; margin-top: 28px;}
@media (min-width: 1024px){.csFounder .csFounder__split{grid-template-columns: 0.9fr 1.1fr; gap: 80px; align-items: center;}}
/* csGuarantee */
.csGuarantee{display: block;}
.csGuarantee .csGuarantee__sec{padding: calc(var(--cs-sec) * 0.8) 0;}
.csGuarantee .csGuarantee__row{display: grid; gap: 36px; justify-items: start;}
.csGuarantee .csGuarantee__seal{width: 180px; height: 180px; filter: drop-shadow(0 10px 24px rgba(78, 107, 31, 0.18));}
.csGuarantee svg{width: 100%; height: 100%; overflow: visible;}
.csGuarantee .csGuarantee__o{fill: var(--cs-white); stroke: var(--cs-deep); stroke-width: 3;}
.csGuarantee .csGuarantee__i{fill: var(--cs-sage); stroke: var(--cs-court); stroke-width: 2; stroke-dasharray: 3 5;}
.csGuarantee .csGuarantee__ring text{font: 700 13px var(--cs-display); letter-spacing: 0; fill: var(--cs-deep);}
.csGuarantee .csGuarantee__court rect, .csGuarantee .csGuarantee__court line{fill: none; stroke: rgba(78, 107, 31, 0.45); stroke-width: 2;}
.csGuarantee .csGuarantee__court .csGuarantee__net{stroke: var(--cs-deep); stroke-width: 3;}
.csGuarantee .csGuarantee__check{fill: none; stroke: var(--cs-court); stroke-width: 9; stroke-linecap: round; stroke-linejoin: round;}
@media (min-width: 900px){.csGuarantee .csGuarantee__row{grid-template-columns: 260px 1fr; gap: 72px; align-items: center;}
.csGuarantee .csGuarantee__seal{width: 240px; height: 240px;}}
/* csHeader */
.csHeader{display: block;}
.csHeader .csHeader__bar{position: fixed; z-index: 50; top: 0; left: 0; right: 0; height: var(--cs-header-h); background: var(--cs-white); box-shadow: 0 1px 0 var(--cs-rule-light); transition: box-shadow var(--cs-med) var(--cs-ease);}
.csHeader .csHeader__bar.csHeader__raised{box-shadow: 0 1px 0 var(--cs-rule-light), 0 8px 24px rgba(28, 33, 23, 0.08);}
.csHeader .csHeader__inner{box-sizing: border-box; display: flex; align-items: center; gap: 28px; height: 100%; max-width: calc(var(--cs-max) + 2 * var(--cs-gutter)); margin: 0 auto; padding: 0 var(--cs-gutter);}
.csHeader .csHeader__brand{display: block; flex: none; line-height: 0; border-radius: 6px;}
.csHeader .csHeader__brand img{width: 140px; height: auto;}
@media (min-width: 1024px){.csHeader .csHeader__brand img{width: 168px;}}
.csHeader .csHeader__links{display: none; margin-left: auto; gap: 32px;}
.csHeader .csHeader__nav-link{position: relative; padding: 8px 0; white-space: nowrap; font: 600 16px/1 var(--cs-display); color: var(--cs-ink); text-decoration: none; transition: color var(--cs-fast);}
.csHeader .csHeader__nav-link::after{content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 3px; border-radius: 2px; background: var(--cs-court); transition: right var(--cs-med) var(--cs-ease);}
.csHeader .csHeader__nav-link:hover, .csHeader .csHeader__nav-link.csHeader__active{color: var(--cs-deep);}
.csHeader .csHeader__nav-link:hover::after, .csHeader .csHeader__nav-link.csHeader__active::after{right: 0;}
.csHeader .csHeader__cta{display: none;}
.csHeader .csHeader__burger{margin-left: auto; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 12px; background: var(--cs-sage); color: var(--cs-ink); cursor: pointer;}
.csHeader .csHeader__lines{display: grid; gap: 5px; width: 20px;}
.csHeader .csHeader__lines span{display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform var(--cs-med) var(--cs-ease), opacity var(--cs-fast);}
.csHeader .csHeader__open .csHeader__lines span:nth-child(1){transform: translateY(7px) rotate(45deg);}
.csHeader .csHeader__open .csHeader__lines span:nth-child(2){opacity: 0;}
.csHeader .csHeader__open .csHeader__lines span:nth-child(3){transform: translateY(-7px) rotate(-45deg);}
@media (min-width: 1180px){.csHeader .csHeader__links{display: flex;}
.csHeader .csHeader__cta{display: inline-flex;}
.csHeader .csHeader__burger{display: none;}}
.csHeader .csHeader__overlay{position: fixed; z-index: 49; top: var(--cs-header-h); left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: 24px var(--cs-gutter) 40px; background: var(--cs-white); overflow-y: auto; animation: csHeader__drop var(--cs-med) var(--cs-ease);}
@keyframes csHeader__drop{ from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.csHeader .csHeader__mnav{display: flex; flex-direction: column;}
.csHeader .csHeader__mlink{padding: 18px 0; border-bottom: 1px solid var(--cs-rule-light); font: 700 26px/1.2 var(--cs-display); color: var(--cs-ink); text-decoration: none;}
.csHeader .csHeader__mlink[aria-current="page"]{color: var(--cs-deep);}
.csHeader .csHeader__mfoot{display: grid; gap: 14px;}
.csHeader .csHeader__mfoot .csHeader__btn{width: 100%;}
.csHeader .csHeader__msub{margin: 0; font: 500 16px/1.5 var(--cs-body); color: var(--cs-slate); text-align: center;}
.csHeader .csHeader__mig{justify-self: center; font: 600 16px/1 var(--cs-body); color: var(--cs-deep); text-decoration: underline; text-underline-offset: 4px;}
.csHeader .csHeader__mtag{margin: 6px 0 0; text-align: center; font: 600 14px/1.4 var(--cs-display); color: var(--cs-concrete);}
@media (prefers-reduced-motion: reduce){.csHeader .csHeader__overlay{animation: none;}
.csHeader .csHeader__bar, .csHeader .csHeader__lines span{transition: none;}}
.csHeader .csHeader__overlay[hidden]{display: none;}
/* csHero */
.csHero{display: block;}
.csHero .csHero__hero{position: relative; padding: calc(var(--cs-header-h) + 36px) 0 56px; background: linear-gradient(180deg, var(--cs-white) 0%, var(--cs-chalk) 100%); font-family: var(--cs-body); color: var(--cs-slate);}
.csHero .csHero__grid{display: grid; gap: 40px; align-items: center;}
.csHero .csHero__h1{max-width: 16ch;}
.csHero .csHero__line{max-width: 24em; margin: 18px 0 0; font: 700 clamp(20px, 2.2vw, 26px)/1.3 var(--cs-display); color: var(--cs-ink); text-wrap: balance;}
.csHero .csHero__lead{max-width: 32em;}
.csHero .csHero__ctas{display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px;}
@media (max-width: 520px){.csHero .csHero__ctas .csHero__btn, .csHero .csHero__ctas .csHero__alt{width: 100%;}}
.csHero .csHero__trust{display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 16px; font-weight: 500; color: var(--cs-ink);}
.csHero .csHero__trust li{display: inline-flex; align-items: center; gap: 10px;}
.csHero .csHero__trust svg{flex: none; width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--cs-court); color: var(--cs-ink);}
.csHero .csHero__trust .csHero__badge{gap: 0;}
.csHero .csHero__visual{position: relative;}
.csHero .csHero__vsl{position: relative; display: block; width: 100%; aspect-ratio: 16/9; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: var(--cs-ink); box-shadow: var(--cs-shadow-lg); cursor: pointer; text-align: left;}
.csHero .csHero__vsl img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--cs-ease);}
.csHero .csHero__vsl:hover img{transform: scale(1.03);}
.csHero .csHero__vsl:focus-visible{outline: 3px solid var(--cs-ink); outline-offset: 4px;}
.csHero .csHero__shade{position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 20, 16, 0.05) 35%, rgba(10, 20, 16, 0.72) 100%);}
.csHero .csHero__playbtn{position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; background: var(--cs-court); color: var(--cs-ink); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35); transition: transform var(--cs-fast) var(--cs-ease);}
.csHero .csHero__playbtn svg{width: 34px; height: 34px; margin-left: 4px; fill: currentColor;}
.csHero .csHero__vsl:hover .csHero__playbtn{transform: scale(1.08);}
.csHero .csHero__cap{position: absolute; left: 20px; right: 20px; bottom: 16px; display: grid; gap: 2px; color: var(--cs-white);}
.csHero .csHero__cap .csHero__t{font: 800 clamp(20px, 2.2vw, 26px)/1.15 var(--cs-display); letter-spacing: -0.01em;}
.csHero .csHero__cap .csHero__s{font-size: 15px; font-weight: 600; opacity: 0.9;}
.csHero .csHero__pill{position: absolute; top: 14px; right: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.92); color: var(--cs-ink); font-size: 13px; font-weight: 700;}
@media (max-width: 1023px){.csHero .csHero__grid{display: flex; flex-direction: column; align-items: stretch; gap: 0;}
.csHero .csHero__copy{display: contents;}
.csHero .csHero__visual{order: 1; margin-top: 28px;}
.csHero .csHero__lead, .csHero .csHero__ctas, .csHero .csHero__trust{order: 2;}}
@media (min-width: 640px){.csHero .csHero__trust{display: flex; flex-wrap: wrap; gap: 10px 26px;}}
@media (min-width: 1024px){.csHero .csHero__hero{padding: calc(var(--cs-header-h) + 72px) 0 104px;}
.csHero .csHero__grid{grid-template-columns: 1fr 1.05fr; gap: 64px;}
.csHero .csHero__playbtn{width: 96px; height: 96px; margin: -48px 0 0 -48px;}
.csHero .csHero__cap{left: 28px; bottom: 22px;}}
@media (prefers-reduced-motion: reduce){.csHero .csHero__vsl img, .csHero .csHero__playbtn{transition: none;}
.csHero .csHero__vsl:hover img, .csHero .csHero__vsl:hover .csHero__playbtn{transform: none;}}
.csHero .csHero__eyebrow .csHero__flag{display: inline-block; height: 0.95em; width: auto; aspect-ratio: 2/1; margin-left: 0.4em; vertical-align: -0.12em; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,0.12);}
.csHero .csHero__h1row{display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px;}
.csHero .csHero__aff{display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; margin: 0; padding: 0; list-style: none;}
.csHero .csHero__aff a{display: block; border-radius: 6px;}
.csHero .csHero__aff a:focus-visible{outline: 2px solid var(--cs-ink); outline-offset: 3px;}
.csHero .csHero__aff img{display: block; width: auto;}
.csHero .csHero__aff li:first-child img{height: 80px;}
.csHero .csHero__aff li:last-child img{height: 92px;}
@media (min-width: 1024px){.csHero .csHero__h1row{flex-wrap: nowrap;}
.csHero .csHero__h1row .csHero__h1{flex: 0 1 auto;}
.csHero .csHero__aff{flex: 1 1 auto; width: auto; flex-direction: column; gap: 14px;}
.csHero .csHero__aff li:first-child img{height: 104px;}
.csHero .csHero__aff li:last-child img{height: 120px;}}
/* csJumpNav */
.csJumpNav{display: block; position: sticky; top: var(--cs-header-h); z-index: 40; margin: var(--cs-header-h) 0 calc(-1 * var(--cs-header-h));}
.csJumpNav .csJumpNav__bar{background: rgba(255, 255, 255, 0.96); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); box-shadow: 0 1px 0 var(--cs-rule-light), 0 8px 24px rgba(14, 15, 12, 0.05); font-family: var(--cs-body);}
.csJumpNav .csJumpNav__row{display: flex; align-items: center; gap: 16px; height: 52px;}
.csJumpNav .csJumpNav__lbl{display: none; flex: none; font: 700 13px/1 var(--cs-display); letter-spacing: 0.02em; color: var(--cs-deep); white-space: nowrap;}
.csJumpNav .csJumpNav__rail{display: flex; flex: 1; min-width: 0; gap: 4px; margin: 0 calc(-1 * var(--cs-gutter)) 0 -10px; padding: 0 var(--cs-gutter) 0 0; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;}
.csJumpNav .csJumpNav__rail.csJumpNav__more{-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent);}
.csJumpNav .csJumpNav__rail::-webkit-scrollbar{display: none;}
.csJumpNav .csJumpNav__jl{flex: none; padding: 9px 14px; border-radius: 999px; font: 600 14px/1 var(--cs-display); color: var(--cs-ink); text-decoration: none; white-space: nowrap; transition: background-color var(--cs-fast) var(--cs-ease);}
.csJumpNav .csJumpNav__jl:hover{background: var(--cs-sage);}
.csJumpNav .csJumpNav__jl.csJumpNav__on{background: var(--cs-court); color: var(--cs-ink);}
.csJumpNav .csJumpNav__jl:focus-visible{outline: 2px solid var(--cs-ink); outline-offset: -2px;}
@media (min-width: 768px){.csJumpNav .csJumpNav__lbl{display: block; padding-right: 16px; border-right: 1px solid var(--cs-rule-light); line-height: 28px;}
.csJumpNav .csJumpNav__rail{margin-left: 0;}}
@media (min-width: 1024px){.csJumpNav .csJumpNav__row{height: 56px; gap: 12px;}
.csJumpNav .csJumpNav__lbl{padding-right: 12px;}
.csJumpNav .csJumpNav__rail{gap: 2px;}
.csJumpNav .csJumpNav__jl{font-size: 15px; padding: 10px 10px;}}
@media (prefers-reduced-motion: reduce){.csJumpNav .csJumpNav__jl{transition: none;}}
/* csLayerStack */
.csLayerStack{display: block;}
.csLayerStack .csLayerStack__intro{max-width: 760px;}
.csLayerStack .csLayerStack__sheet{margin: 40px 0 0; background: var(--cs-white); border: 1px solid rgba(28, 33, 23, 0.18); border-radius: 6px;}
.csLayerStack .csLayerStack__view{overflow: hidden; border-radius: 6px 6px 0 0;}
.csLayerStack .csLayerStack__cut{display: block; width: 240%; height: auto; transform: translateX(var(--cam, 0)); transition: transform 700ms var(--cs-ease);}
.csLayerStack .csLayerStack__tb{display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 0; padding: 10px 16px; border-top: 1px solid rgba(28, 33, 23, 0.18); font-size: 14px; line-height: 1.4; color: var(--cs-concrete);}
.csLayerStack .csLayerStack__tb-n{flex: none; font: 700 14px/1.4 var(--cs-display); letter-spacing: 0.06em; color: var(--cs-ink); font-variant-numeric: tabular-nums;}
.csLayerStack .csLayerStack__cut text{font-family: var(--cs-display); font-weight: 700;}
.csLayerStack .csLayerStack__gravel{fill: #f2eee3;}
.csLayerStack .csLayerStack__dots{fill: none; stroke: #c4bba5; stroke-width: 3; stroke-linecap: round;}
.csLayerStack .csLayerStack__stones{fill: none; stroke: #ada48d; stroke-width: 7; stroke-linecap: round;}
.csLayerStack .csLayerStack__slab{fill: #ebe9e3;}
.csLayerStack .csLayerStack__hatch{fill: none; stroke: #c6c3ba; stroke-width: 1;}
.csLayerStack .csLayerStack__void{fill: var(--cs-white);}
.csLayerStack .csLayerStack__edge, .csLayerStack .csLayerStack__hair{fill: none; stroke: var(--cs-ink); stroke-linejoin: round;}
.csLayerStack .csLayerStack__edge{stroke-width: 2;}
.csLayerStack .csLayerStack__hair{stroke-width: 1.2;}
.csLayerStack .csLayerStack__wall{fill: #e4dfd3; stroke: var(--cs-ink); stroke-width: 2;}
.csLayerStack .csLayerStack__blocks{fill: none; stroke: #ada68f; stroke-width: 1.5;}
.csLayerStack .csLayerStack__old{fill: #c98a69; transition: opacity 400ms var(--cs-ease);}
.csLayerStack .csLayerStack__patch{fill: #b9b29f;}
.csLayerStack .csLayerStack__filler{fill: #50544b;}
.csLayerStack .csLayerStack__prof{fill: none; stroke: var(--cs-ink); stroke-width: 1;}
.csLayerStack .csLayerStack__slc{fill: #efe3c6; stroke: #c2b288; stroke-width: 1;}
.csLayerStack .csLayerStack__base{fill: var(--cs-deep);}
.csLayerStack .csLayerStack__top, .csLayerStack .csLayerStack__courtf{fill: var(--cs-court);}
.csLayerStack .csLayerStack__mark{fill: var(--cs-white);}
.csLayerStack .csLayerStack__apron{fill: var(--cs-deep);}
.csLayerStack .csLayerStack__clines{fill: none; stroke: var(--cs-white); stroke-width: 2.5;}
.csLayerStack .csLayerStack__cnet{stroke: var(--cs-ink); stroke-width: 3;}
.csLayerStack .csLayerStack__pad{fill: var(--cs-forest);}
.csLayerStack .csLayerStack__mesh{fill: none; stroke: var(--cs-ink); stroke-width: 0.8; opacity: 0.45;}
.csLayerStack .csLayerStack__cord{stroke: var(--cs-ink); stroke-width: 1.5;}
.csLayerStack .csLayerStack__tape{fill: var(--cs-white); stroke: var(--cs-ink); stroke-width: 1.2;}
.csLayerStack .csLayerStack__post{fill: var(--cs-ink);}
.csLayerStack .csLayerStack__insp circle, .csLayerStack .csLayerStack__insp path{fill: none; stroke: var(--cs-deep); stroke-width: 2;}
.csLayerStack .csLayerStack__insp circle{stroke-dasharray: 6 5;}
.csLayerStack .csLayerStack__insp .csLayerStack__rule{fill: var(--cs-white); stroke: var(--cs-ink); stroke-width: 2;}
.csLayerStack .csLayerStack__l{opacity: 0; transform: translateY(-10px); transition: opacity 450ms var(--cs-ease), transform 450ms var(--cs-ease);}
.csLayerStack .csLayerStack__s2 .csLayerStack__l2, .csLayerStack .csLayerStack__s3 .csLayerStack__l3, .csLayerStack .csLayerStack__s4 .csLayerStack__l4, .csLayerStack .csLayerStack__s5 .csLayerStack__l5, .csLayerStack .csLayerStack__s6 .csLayerStack__l6, .csLayerStack .csLayerStack__s7 .csLayerStack__l7{opacity: 1; transform: none;}
.csLayerStack .csLayerStack__s5 .csLayerStack__old{opacity: 0;}
.csLayerStack .csLayerStack__mound, .csLayerStack .csLayerStack__insp{opacity: 0; transition: opacity 400ms var(--cs-ease);}
.csLayerStack .csLayerStack__at3 .csLayerStack__mound, .csLayerStack .csLayerStack__at1 .csLayerStack__insp{opacity: 1;}
.csLayerStack .csLayerStack__tag rect{fill: var(--cs-white); stroke: var(--cs-ink); stroke-width: 2; transition: fill 250ms var(--cs-ease);}
.csLayerStack .csLayerStack__tag text{fill: var(--cs-ink); font-size: 19px; text-anchor: middle;}
.csLayerStack .csLayerStack__lead{fill: none; stroke: var(--cs-ink); stroke-width: 1.5;}
.csLayerStack .csLayerStack__dot{fill: var(--cs-ink);}
.csLayerStack .csLayerStack__tag.csLayerStack__done rect{fill: var(--cs-ink);}
.csLayerStack .csLayerStack__tag.csLayerStack__done text{fill: var(--cs-white);}
.csLayerStack .csLayerStack__tag.csLayerStack__on rect{fill: var(--cs-court);}
.csLayerStack .csLayerStack__lbl{font-size: 22px; fill: var(--cs-ink); text-anchor: middle; paint-order: stroke; stroke: var(--cs-white); stroke-width: 8px; stroke-linejoin: round;}
.csLayerStack .csLayerStack__lbl.csLayerStack__side{text-anchor: start;}
.csLayerStack .csLayerStack__ctl{margin-top: 28px;}
.csLayerStack .csLayerStack__ends{display: flex; justify-content: space-between; margin: 0; font: 700 13px/1.2 var(--cs-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--cs-concrete);}
.csLayerStack .csLayerStack__rail{position: relative; height: 44px; margin-top: 6px;}
.csLayerStack .csLayerStack__track{position: absolute; left: calc(100% / 14); right: calc(100% / 14); top: 50%; height: 6px; margin-top: -3px; border-radius: 3px; background: var(--cs-sage-2);}
.csLayerStack .csLayerStack__fill{display: block; height: 100%; border-radius: inherit; background: var(--cs-court); transition: width 400ms var(--cs-ease);}
.csLayerStack .csLayerStack__range{position: relative; z-index: 1; box-sizing: border-box; display: block; width: calc(100% - 2 * (100% / 14 - 11px)); height: 44px; margin: 0 calc(100% / 14 - 11px); padding: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer;}
.csLayerStack .csLayerStack__range::-webkit-slider-runnable-track{height: 44px; background: transparent;}
.csLayerStack .csLayerStack__range::-webkit-slider-thumb{-webkit-appearance: none; width: 22px; height: 36px; margin-top: 4px; border: 2px solid var(--cs-ink); border-radius: 5px; background: var(--cs-court); box-shadow: 0 2px 6px rgba(28, 33, 23, 0.2);}
.csLayerStack .csLayerStack__range::-moz-range-track{height: 44px; background: transparent;}
.csLayerStack .csLayerStack__range::-moz-range-thumb{box-sizing: border-box; width: 22px; height: 36px; border: 2px solid var(--cs-ink); border-radius: 5px; background: var(--cs-court);}
.csLayerStack .csLayerStack__range:focus{outline: none;}
.csLayerStack .csLayerStack__range:focus-visible::-webkit-slider-thumb{outline: 3px solid var(--cs-ink); outline-offset: 3px;}
.csLayerStack .csLayerStack__range:focus-visible::-moz-range-thumb{outline: 3px solid var(--cs-ink); outline-offset: 3px;}
.csLayerStack .csLayerStack__stops{display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 2px 0 0; padding: 0; list-style: none;}
.csLayerStack .csLayerStack__stop{display: grid; justify-items: center; align-content: start; gap: 6px; width: 100%; min-height: 48px; padding: 0 2px 8px; border: 0; background: none; color: var(--cs-concrete); font: inherit; text-align: center; cursor: pointer;}
.csLayerStack .csLayerStack__stop::before{content: ''; width: 2px; height: 10px; background: currentColor;}
.csLayerStack .csLayerStack__sn{padding-bottom: 4px; font: 700 15px/1 var(--cs-display); letter-spacing: 0.04em; font-variant-numeric: tabular-nums;}
.csLayerStack .csLayerStack__st{display: none; font-size: 14px; line-height: 1.3;}
.csLayerStack .csLayerStack__stop.csLayerStack__done{color: var(--cs-deep);}
.csLayerStack .csLayerStack__stop.csLayerStack__on{color: var(--cs-ink);}
.csLayerStack .csLayerStack__stop.csLayerStack__on .csLayerStack__sn{box-shadow: inset 0 -3px 0 var(--cs-court);}
.csLayerStack .csLayerStack__stop:hover{color: var(--cs-ink);}
.csLayerStack .csLayerStack__stop:focus-visible{outline: 3px solid var(--cs-ink); outline-offset: -2px; border-radius: 4px;}
.csLayerStack .csLayerStack__below{display: grid; gap: 32px; margin-top: 28px;}
.csLayerStack .csLayerStack__detail{display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; padding-top: 24px; border-top: 2px solid var(--cs-ink);}
.csLayerStack .csLayerStack__big{font: 800 64px/0.85 var(--cs-display); letter-spacing: -0.03em; color: var(--cs-court); font-variant-numeric: tabular-nums;}
.csLayerStack .csLayerStack__db{min-height: 3.1em; margin: 8px 0 0; font-size: 18px; line-height: 1.55; color: var(--cs-slate);}
.csLayerStack .csLayerStack__nav{display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 0;}
.csLayerStack .csLayerStack__nav .csLayerStack__nx{border-color: var(--cs-court); background: var(--cs-court);}
.csLayerStack .csLayerStack__nav .csLayerStack__nx:hover{border-color: var(--cs-ink);}
.csLayerStack .csLayerStack__nav [disabled]{opacity: 0.4; cursor: default;}
.csLayerStack .csLayerStack__nav [disabled]:hover{background: var(--cs-white); color: var(--cs-ink);}
.csLayerStack .csLayerStack__nav .csLayerStack__nx[disabled]:hover{background: var(--cs-court);}
.csLayerStack .csLayerStack__film{display: grid; gap: 12px; align-content: start;}
.csLayerStack .csLayerStack__reel{width: 100%; aspect-ratio: 16/9; padding: 0; border: 0; cursor: pointer;}
.csLayerStack .csLayerStack__reel img{transition: transform 600ms var(--cs-ease);}
.csLayerStack .csLayerStack__reel:hover img{transform: scale(1.03);}
.csLayerStack .csLayerStack__cap{margin: 0; font: 700 16px/1.4 var(--cs-display); color: var(--cs-ink);}
.csLayerStack .csLayerStack__more{margin: 36px 0 0; font-size: 18px;}
@media (min-width: 760px){.csLayerStack .csLayerStack__cut{width: 100%; transform: none;}
.csLayerStack .csLayerStack__st{display: block;}
.csLayerStack .csLayerStack__big{font-size: 88px;}}
@media (min-width: 960px){.csLayerStack .csLayerStack__sheet{margin-top: 56px;}
.csLayerStack .csLayerStack__below{grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 56px;}}
@media (prefers-reduced-motion: reduce){.csLayerStack .csLayerStack__cut, .csLayerStack .csLayerStack__l, .csLayerStack .csLayerStack__old, .csLayerStack .csLayerStack__mound, .csLayerStack .csLayerStack__insp, .csLayerStack .csLayerStack__fill, .csLayerStack .csLayerStack__tag rect, .csLayerStack .csLayerStack__reel img{transition: none;}
.csLayerStack .csLayerStack__reel:hover img{transform: none;}}
.csLayerStack .csLayerStack__tabs{display: inline-flex; gap: 4px; margin: 28px 0 24px; padding: 4px; border-radius: 999px; background: var(--cs-sage);}
.csLayerStack .csLayerStack__tab{padding: 10px 22px; border: 0; border-radius: 999px; background: transparent; font: 700 15px/1 var(--cs-display); color: var(--cs-ink); cursor: pointer;}
.csLayerStack .csLayerStack__tab.csLayerStack__on{background: var(--cs-court);}
.csLayerStack .csLayerStack__tab:focus-visible{outline: 2px solid var(--cs-ink); outline-offset: 2px;}
.csLayerStack .csLayerStack__panel[hidden]{display: none;}
.csLayerStack .csLayerStack__alead{max-width: 40em; margin: 0 0 24px; font-size: 17px; line-height: 1.6;}
.csLayerStack .csLayerStack__asteps{display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cs-rule-light);}
.csLayerStack .csLayerStack__as{display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--cs-rule-light);}
.csLayerStack .csLayerStack__asn{font: 700 32px/1 var(--cs-display); color: var(--cs-court-deep, var(--cs-deep));}
.csLayerStack .csLayerStack__as .csLayerStack__h3{margin: 2px 0 6px;}
.csLayerStack .csLayerStack__as p{margin: 0; font-size: 17px; line-height: 1.55;}
@media (min-width: 1024px){.csLayerStack .csLayerStack__asteps{grid-template-columns: 1fr 1fr; column-gap: 48px;}
.csLayerStack .csLayerStack__as{grid-template-columns: 80px 1fr;}
.csLayerStack .csLayerStack__asn{font-size: 40px;}}
.csLayerStack .csLayerStack__aslogo{display: inline-block; margin-top: 12px; border-radius: 4px;}
.csLayerStack .csLayerStack__aslogo img{display: block; height: 36px; width: auto; mix-blend-mode: multiply;}
.csLayerStack a.csLayerStack__aslogo:focus-visible{outline: 2px solid var(--cs-ink); outline-offset: 3px;}
/* csOfferStack */
.csOfferStack{display: block;}
.csOfferStack .csOfferStack__head{max-width: 820px;}
.csOfferStack .csOfferStack__ends{display: none; justify-content: space-between; margin: 56px 0 0; font: 700 13px/1.2 var(--cs-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--cs-concrete);}
.csOfferStack .csOfferStack__phases{margin: 48px 0 0; padding: 0; list-style: none;}
.csOfferStack .csOfferStack__ph{position: relative; padding: 0 0 32px 48px;}
.csOfferStack .csOfferStack__ph:last-child{padding-bottom: 8px;}
.csOfferStack .csOfferStack__bar{position: absolute; left: 13px; top: 4px; bottom: -4px; width: 6px; border-radius: 3px; background: var(--cs-sage-2); overflow: hidden;}
.csOfferStack .csOfferStack__ph:last-child .csOfferStack__bar{bottom: 8px;}
.csOfferStack .csOfferStack__fill{display: block; width: 100%; height: 100%; background: var(--cs-court); transform: scaleY(0); transform-origin: top; transition: transform 420ms linear;}
.csOfferStack .csOfferStack__seen .csOfferStack__fill{transform: none;}
.csOfferStack .csOfferStack__seen .csOfferStack__ph:nth-child(2) .csOfferStack__fill{transition-delay: 420ms;}
.csOfferStack .csOfferStack__seen .csOfferStack__ph:nth-child(3) .csOfferStack__fill{transition-delay: 840ms;}
.csOfferStack .csOfferStack__seen .csOfferStack__ph:nth-child(4) .csOfferStack__fill{transition-delay: 1260ms;}
.csOfferStack .csOfferStack__seen .csOfferStack__ph:nth-child(5) .csOfferStack__fill{transition-delay: 1680ms;}
.csOfferStack .csOfferStack__seen .csOfferStack__ph:nth-child(6) .csOfferStack__fill{transition-delay: 2100ms;}
.csOfferStack .csOfferStack__pn{display: block; font: 800 15px/1 var(--cs-display); letter-spacing: 0.06em; color: var(--cs-deep); font-variant-numeric: tabular-nums;}
.csOfferStack .csOfferStack__gt{margin: 8px 0 14px;}
.csOfferStack .csOfferStack__items{display: grid; gap: 10px; margin: 0 0 6px; padding: 0; list-style: none;}
.csOfferStack .csOfferStack__items li{display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-size: 17px; line-height: 1.5; color: var(--cs-slate);}
.csOfferStack .csOfferStack__tick{width: 20px; height: 20px; margin-top: 3px; fill: none; stroke: var(--cs-deep); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round;}
.csOfferStack .csOfferStack__inc{display: grid; gap: 14px; margin-top: 48px; padding: 22px 0; border-top: 2px solid var(--cs-ink); border-bottom: 1px solid var(--cs-rule-light);}
.csOfferStack .csOfferStack__inc-h{margin: 0; font-size: 19px;}
.csOfferStack .csOfferStack__incl{display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0; padding: 0; list-style: none;}
.csOfferStack .csOfferStack__incl li{display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; color: var(--cs-ink);}
.csOfferStack .csOfferStack__incl .csOfferStack__tick{margin: 0;}
.csOfferStack .csOfferStack__act{display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 40px;}
.csOfferStack .csOfferStack__scarce{display: inline-flex; align-items: center; gap: 10px; margin: 0; font-weight: 600; color: var(--cs-ink);}
.csOfferStack .csOfferStack__dot{width: 10px; height: 10px; border-radius: 50%; background: var(--cs-court); box-shadow: 0 0 0 4px rgba(115, 155, 48, 0.22);}
@media (min-width: 1024px){.csOfferStack .csOfferStack__ends{display: flex;}
.csOfferStack .csOfferStack__phases{display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 12px;}
.csOfferStack .csOfferStack__ph, .csOfferStack .csOfferStack__ph:last-child{padding: 30px 20px 4px 0;}
.csOfferStack .csOfferStack__ph + .csOfferStack__ph{padding-left: 20px; border-left: 1px solid var(--cs-rule-light);}
.csOfferStack .csOfferStack__bar, .csOfferStack .csOfferStack__ph:last-child .csOfferStack__bar{left: 0; right: 0; top: 0; bottom: auto; width: auto; height: 8px; border-radius: 0;}
.csOfferStack .csOfferStack__ph:first-child .csOfferStack__bar{border-radius: 4px 0 0 4px;}
.csOfferStack .csOfferStack__ph:last-child .csOfferStack__bar{border-radius: 0 4px 4px 0;}
.csOfferStack .csOfferStack__ph + .csOfferStack__ph .csOfferStack__bar{left: 3px;}
.csOfferStack .csOfferStack__fill{transform: scaleX(0); transform-origin: left;}
.csOfferStack .csOfferStack__gt{font-size: 20px;}
.csOfferStack .csOfferStack__items li{font-size: 16px;}
.csOfferStack .csOfferStack__inc{grid-template-columns: auto 1fr; align-items: center; gap: 32px;}
.csOfferStack .csOfferStack__act{flex-direction: row; align-items: center; gap: 28px;}}
@media (max-width: 480px){.csOfferStack .csOfferStack__act .csOfferStack__btn{width: 100%;}}
@media (prefers-reduced-motion: reduce){.csOfferStack .csOfferStack__fill{transition: none; transform: none;}}
/* csPageAbout */
.csPageAbout{display: block;}
.csPageAbout .csPageAbout__boot{min-height: 100vh; background: var(--cs-white);}
.csPageAbout .csPageAbout__split{display: grid; gap: 40px;}
.csPageAbout .csPageAbout__photo{max-width: 480px; box-shadow: var(--cs-shadow-lg);}
.csPageAbout .csPageAbout__photo img{display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover;}
.csPageAbout .csPageAbout__copy p:not(.csPageAbout__eyebrow):not(.csPageAbout__lead){margin: 18px 0 0; max-width: 40em;}
.csPageAbout .csPageAbout__quote{margin: 32px 0 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--cs-court); font: 600 clamp(20px, 2.2vw, 26px)/1.4 var(--cs-display); color: var(--cs-ink);}
.csPageAbout .csPageAbout__mani{display: grid; gap: 28px; margin: 40px 0 0; padding: 4px 0 4px 22px; border-left: 6px solid var(--cs-court); list-style: none;}
.csPageAbout .csPageAbout__vh{margin: 0; font: 700 clamp(32px, 6vw, 64px)/1.04 var(--cs-display); letter-spacing: -0.02em; color: var(--cs-ink); overflow-wrap: anywhere;}
.csPageAbout .csPageAbout__vb{margin: 8px 0 0; font-size: 18px; line-height: 1.5; color: var(--cs-slate);}
@media (min-width: 768px){.csPageAbout .csPageAbout__mani{gap: 0; padding-left: 40px;}
.csPageAbout .csPageAbout__val{display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: baseline; padding: 22px 0; border-top: 1px solid var(--cs-rule-light);}
.csPageAbout .csPageAbout__val:first-child{padding-top: 0; border-top: 0;}
.csPageAbout .csPageAbout__val:last-child{padding-bottom: 0;}
.csPageAbout .csPageAbout__vb{margin: 0; font-size: 20px;}}
@media (min-width: 1024px){.csPageAbout .csPageAbout__split{grid-template-columns: 420px 1fr; gap: 80px; align-items: start;}
.csPageAbout .csPageAbout__photo{position: sticky; top: calc(var(--cs-header-h) + 24px);}}
/* csPageBlueprint */
.csPageBlueprint{display: block;}
.csPageBlueprint .csPageBlueprint__boot{min-height: 100vh; background: var(--cs-white);}
.csPageBlueprint .csPageBlueprint__bp{padding: calc(var(--cs-header-h) + 28px) 0 64px; min-height: 100vh; box-sizing: border-box;}
.csPageBlueprint .csPageBlueprint__grid{display: grid; gap: 24px; grid-template-areas: "head" "main" "side";}
.csPageBlueprint .csPageBlueprint__head{grid-area: head;}
.csPageBlueprint .csPageBlueprint__main{grid-area: main; min-width: 0;}
.csPageBlueprint .csPageBlueprint__side{grid-area: side;}
.csPageBlueprint .csPageBlueprint__h1{font-size: clamp(34px, 5vw, 56px); line-height: 1.1; max-width: 18ch;}
.csPageBlueprint .csPageBlueprint__lead{margin-top: 12px; font-size: 19px;}
.csPageBlueprint .csPageBlueprint__side{padding: 24px; border-radius: var(--cs-r-card); background: var(--cs-sage); color: var(--cs-slate);}
.csPageBlueprint .csPageBlueprint__side .csPageBlueprint__h3{font-size: 20px;}
.csPageBlueprint .csPageBlueprint__steps{margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 14px;}
.csPageBlueprint .csPageBlueprint__steps li{display: flex; gap: 14px; align-items: flex-start; font-size: 17px; line-height: 1.45; color: var(--cs-ink);}
.csPageBlueprint .csPageBlueprint__n{flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--cs-white); color: var(--cs-deep); font: 700 15px var(--cs-display); box-shadow: var(--cs-shadow);}
.csPageBlueprint .csPageBlueprint__proof{display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid rgba(78, 107, 31, 0.2); font-size: 16px;}
.csPageBlueprint .csPageBlueprint__proof svg{flex: none; width: 22px; height: 22px; fill: none; stroke: var(--cs-deep); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;}
.csPageBlueprint .csPageBlueprint__pl{display: block;}
.csPageBlueprint .csPageBlueprint__pl:first-child{font: 600 15px var(--cs-display); color: var(--cs-deep);}
.csPageBlueprint .csPageBlueprint__pl + .csPageBlueprint__pl{margin-top: 2px; color: var(--cs-ink); font-weight: 600;}
@media (min-width: 1024px){.csPageBlueprint .csPageBlueprint__bp{padding: calc(var(--cs-header-h) + 56px) 0 96px;}
.csPageBlueprint .csPageBlueprint__grid{grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "head head" "main side"; column-gap: 40px; row-gap: 32px;}
.csPageBlueprint .csPageBlueprint__side{position: sticky; top: calc(var(--cs-header-h) + 24px); align-self: start; padding: 32px;}}
/* csPageClubs */
.csPageClubs{display: block;}
.csPageClubs .csPageClubs__boot{min-height: 100vh; background: var(--cs-white);}
.csPageClubs [data-anchor]{scroll-margin-top: calc(var(--cs-header-h) + 56px);}
.csPageClubs .csPageClubs__pains{display: grid; gap: 16px; margin: 40px 0 0; padding: 0; list-style: none;}
.csPageClubs .csPageClubs__pain{display: flex; flex-direction: column; padding: 28px 24px; border-radius: var(--cs-r-card); background: var(--cs-chalk); border-top: 6px solid var(--cs-court);}
.csPageClubs .csPageClubs__pn{margin-bottom: 10px; font: 700 15px/1 var(--cs-display); letter-spacing: 0.06em; color: var(--cs-deep);}
.csPageClubs .csPageClubs__pb{margin: 10px 0 0; font-size: 17px; line-height: 1.55;}
.csPageClubs .csPageClubs__fix{display: flex; gap: 10px; align-items: flex-start; margin: auto 0 0; padding-top: 18px; font: 600 17px/1.45 var(--cs-display); color: var(--cs-ink);}
.csPageClubs .csPageClubs__pb + .csPageClubs__fix{margin-top: 18px; border-top: 1px solid var(--cs-rule-light);}
.csPageClubs .csPageClubs__fix svg{flex: none; width: 22px; height: 22px; margin-top: 1px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--cs-court); fill: none; stroke: var(--cs-ink); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round;}
@media (min-width: 900px){.csPageClubs .csPageClubs__pains{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;}}
/* csPageHome */
.csPageHome{display: block;}
.csPageHome .csPageHome__boot{min-height: 100vh; background: var(--cs-white);}
/* csPageHow */
.csPageHow{display: block;}
.csPageHow .csPageHow__boot{min-height: 100vh; background: var(--cs-white);}
.csPageHow .csPageHow__top{padding-top: var(--cs-header-h); background: var(--cs-chalk);}
.csPageHow .csPageHow__sheet{margin-top: 48px; border-bottom: 1px solid var(--cs-rule-light);}
.csPageHow .csPageHow__grp{display: grid; gap: 4px; padding: 24px 0 8px; border-top: 2px solid var(--cs-ink);}
.csPageHow .csPageHow__gh .csPageHow__h3{display: flex; flex-wrap: wrap; align-items: center; gap: 10px;}
.csPageHow .csPageHow__sub{margin: 6px 0 0; font-size: 17px; line-height: 1.5; color: var(--cs-deep); font-weight: 600;}
.csPageHow .csPageHow__types{--tp: 16px; display: flex; flex-wrap: wrap; gap: 6px 0; margin: 10px 0 16px calc(-1 * var(--tp) - 1px); padding: 0; list-style: none; clip-path: inset(0 0 0 calc(var(--tp) + 1px));}
.csPageHow .csPageHow__types li{padding: 0 var(--tp); border-left: 1px solid var(--cs-rule-light); font: 700 18px/1.4 var(--cs-display); color: var(--cs-ink);}
.csPageHow .csPageHow__rows{margin: 8px 0 0; padding: 0; list-style: none;}
.csPageHow .csPageHow__row{display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 8px; padding: 18px 0; border-top: 1px solid var(--cs-rule-light);}
.csPageHow .csPageHow__num{grid-row: span 2; font: 700 15px/1.6 var(--cs-display); letter-spacing: 0.06em; color: var(--cs-deep); font-variant-numeric: tabular-nums;}
.csPageHow .csPageHow__it{margin: 0 0 4px; font: 700 19px/1.35 var(--cs-display); color: var(--cs-ink);}
.csPageHow .csPageHow__ib{margin: 0; font-size: 17px; line-height: 1.55;}
.csPageHow .csPageHow__box{display: grid; gap: 28px; padding: 32px 24px; border-radius: var(--cs-r-card); background: var(--cs-white); box-shadow: var(--cs-shadow); border-top: 6px solid var(--cs-court);}
.csPageHow .csPageHow__ticks{display: grid; gap: 16px; margin: 0; padding: 0; list-style: none;}
.csPageHow .csPageHow__ticks li{display: flex; gap: 14px; align-items: flex-start; color: var(--cs-ink); font-size: 18px; line-height: 1.45;}
.csPageHow .csPageHow__ticks svg{flex: none; width: 26px; height: 26px; margin-top: 1px; padding: 3px; border-radius: 50%; background: var(--cs-deep); fill: none; stroke: var(--cs-white); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; box-sizing: border-box;}
@media (min-width: 1024px){.csPageHow .csPageHow__grp{grid-template-columns: 300px minmax(0, 1fr); gap: 48px; padding: 32px 0 12px;}
.csPageHow .csPageHow__types{--tp: 22px; margin-top: 4px; margin-bottom: 20px;}
.csPageHow .csPageHow__types li{font-size: 20px;}
.csPageHow .csPageHow__rows{margin: 0;}
.csPageHow .csPageHow__row{grid-template-columns: 56px 240px minmax(0, 1fr); column-gap: 24px; align-items: baseline; padding: 20px 0;}
.csPageHow .csPageHow__row:first-child{padding-top: 4px; border-top: 0;}
.csPageHow .csPageHow__num{grid-row: auto;}
.csPageHow .csPageHow__it{margin: 0;}
.csPageHow .csPageHow__box{grid-template-columns: 0.9fr 1.1fr; gap: 56px; padding: 56px; align-items: center;}}
/* csPageIntro */
.csPageIntro{display: block;}
.csPageIntro .csPageIntro__intro{padding: calc(var(--cs-header-h) + 48px) 0 56px;}
.csPageIntro .csPageIntro__intro.csPageIntro__chalk{background: linear-gradient(180deg, var(--cs-sage) 0%, var(--cs-chalk) 100%);}
.csPageIntro .csPageIntro__h1{font-size: clamp(40px, 6vw, 68px); max-width: 18ch;}
.csPageIntro .csPageIntro__lead{max-width: 40em;}
@media (min-width: 1024px){.csPageIntro .csPageIntro__intro{padding: calc(var(--cs-header-h) + 72px) 0 72px;}}
/* csPagePrivacy */
.csPagePrivacy{display: block;}
.csPagePrivacy .csPagePrivacy__boot{min-height: 100vh; background: var(--cs-white);}
.csPagePrivacy .csPagePrivacy__narrow{max-width: 820px;}
.csPagePrivacy .csPagePrivacy__notice{margin: 0 0 40px; padding: 16px 18px; border-radius: var(--cs-r-input); background: #fff8db; box-shadow: inset 4px 0 0 var(--cs-flag); color: var(--cs-ink); font-size: 16px;}
.csPagePrivacy .csPagePrivacy__part{padding: 28px 0; border-top: 1px solid var(--cs-rule-light);}
.csPagePrivacy .csPagePrivacy__part p{margin: 10px 0 0;}
/* csPageSchools */
.csPageSchools{display: block;}
.csPageSchools .csPageSchools__boot{min-height: 100vh; background: var(--cs-white);}
.csPageSchools [data-anchor]{scroll-margin-top: calc(var(--cs-header-h) + 56px);}
.csPageSchools .csPageSchools__split{display: grid; gap: 36px;}
.csPageSchools .csPageSchools__photo{max-width: 360px; border-radius: var(--cs-r-card); overflow: hidden; aspect-ratio: 4/5; background: var(--cs-sage-2); box-shadow: var(--cs-shadow);}
.csPageSchools .csPageSchools__photo img{display: block; width: 100%; height: 100%; object-fit: cover;}
.csPageSchools .csPageSchools__tl{margin: 32px 0 0; padding: 0; list-style: none; border-left: 2px solid var(--cs-court);}
.csPageSchools .csPageSchools__tl li{position: relative; display: grid; gap: 2px; padding: 0 0 20px 22px;}
.csPageSchools .csPageSchools__tl li::before{content: ''; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--cs-white); border: 2px solid var(--cs-deep); box-sizing: border-box;}
.csPageSchools .csPageSchools__tl li:last-child{padding-bottom: 0;}
.csPageSchools .csPageSchools__tt{font: 700 18px/1.35 var(--cs-display); color: var(--cs-ink);}
.csPageSchools .csPageSchools__td{font-size: 17px; line-height: 1.55; color: var(--cs-slate);}
.csPageSchools .csPageSchools__stats{display: grid; gap: 24px; margin: 48px 0 0; padding: 32px 0 0; list-style: none; border-top: 2px solid var(--cs-ink);}
.csPageSchools .csPageSchools__stats li{display: grid; gap: 4px;}
.csPageSchools .csPageSchools__sn{font: 800 clamp(40px, 5vw, 56px)/1 var(--cs-display); letter-spacing: -0.02em; color: var(--cs-deep);}
.csPageSchools .csPageSchools__sl{font-size: 17px; line-height: 1.45; color: var(--cs-ink); max-width: 22em;}
.csPageSchools .csPageSchools__src{margin: 28px 0 0; font-size: 14px; line-height: 1.5; color: var(--cs-slate);}
.csPageSchools .csPageSchools__rows{margin: 40px 0 0; padding: 0; list-style: none; border-bottom: 1px solid var(--cs-rule-light);}
.csPageSchools .csPageSchools__row{display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 8px; padding: 18px 0; border-top: 1px solid var(--cs-rule-light);}
.csPageSchools .csPageSchools__row:first-child{border-top: 2px solid var(--cs-ink);}
.csPageSchools .csPageSchools__num{grid-row: span 2; font: 700 15px/1.6 var(--cs-display); letter-spacing: 0.06em; color: var(--cs-deep); font-variant-numeric: tabular-nums;}
.csPageSchools .csPageSchools__it{margin: 0 0 4px; font: 700 19px/1.35 var(--cs-display); color: var(--cs-ink);}
.csPageSchools .csPageSchools__ib{margin: 0; font-size: 17px; line-height: 1.55;}
.csPageSchools .csPageSchools__cards{display: grid; gap: 16px; margin: 40px 0 0; padding: 0; list-style: none;}
.csPageSchools .csPageSchools__card{padding: 28px 24px; border-radius: var(--cs-r-card); background: var(--cs-white); box-shadow: var(--cs-shadow); border-top: 6px solid var(--cs-court);}
.csPageSchools .csPageSchools__cn{display: block; margin-bottom: 10px; font: 700 15px/1 var(--cs-display); letter-spacing: 0.06em; color: var(--cs-deep);}
.csPageSchools .csPageSchools__card p{margin: 10px 0 0; font-size: 17px; line-height: 1.55;}
.csPageSchools .csPageSchools__proof .csPageSchools__ph{padding-bottom: 0;}
@media (min-width: 640px){.csPageSchools .csPageSchools__stats{grid-template-columns: repeat(3, minmax(0, 1fr));}
.csPageSchools .csPageSchools__cards{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (min-width: 1024px){.csPageSchools .csPageSchools__split{grid-template-columns: 360px minmax(0, 1fr); gap: 72px; align-items: start;}
.csPageSchools .csPageSchools__photo{position: sticky; top: calc(var(--cs-header-h) + 80px);}
.csPageSchools .csPageSchools__row{grid-template-columns: 56px 280px minmax(0, 1fr); column-gap: 24px; align-items: baseline; padding: 20px 0;}
.csPageSchools .csPageSchools__num{grid-row: auto;}
.csPageSchools .csPageSchools__it{margin: 0;}
.csPageSchools .csPageSchools__cards{grid-template-columns: repeat(4, minmax(0, 1fr));}}
/* csPageThankYou */
.csPageThankYou{display: block;}
.csPageThankYou .csPageThankYou__boot{min-height: 100vh; background: var(--cs-white);}
.csPageThankYou .csPageThankYou__check{display: block; width: 64px; height: 64px; margin-top: 32px;}
.csPageThankYou .csPageThankYou__check svg{width: 100%; height: 100%; fill: none; stroke-linecap: round; stroke-linejoin: round;}
.csPageThankYou .csPageThankYou__check circle{fill: var(--cs-sage-2); stroke: var(--cs-court); stroke-width: 3;}
.csPageThankYou .csPageThankYou__check path{stroke: var(--cs-deep); stroke-width: 4; stroke-dasharray: 40; stroke-dashoffset: 40; animation: csPageThankYou__draw 700ms 200ms var(--cs-ease) forwards;}
@keyframes csPageThankYou__draw{ to { stroke-dashoffset: 0; } }
.csPageThankYou .csPageThankYou__grid{display: grid; gap: 48px;}
.csPageThankYou .csPageThankYou__steps{margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 4px;}
.csPageThankYou .csPageThankYou__steps li{display: flex; gap: 18px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--cs-rule-light); color: var(--cs-ink); font-size: 19px;}
.csPageThankYou .csPageThankYou__n{flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--cs-sage); font: 700 16px var(--cs-display); color: var(--cs-deep);}
.csPageThankYou .csPageThankYou__links{display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 32px;}
.csPageThankYou .csPageThankYou__vbtn{width: 100%; aspect-ratio: 16/9; padding: 0; border: 0; cursor: pointer;}
.csPageThankYou .csPageThankYou__vbtn:hover .csPageThankYou__playbtn{transform: scale(1.08);}
.csPageThankYou .csPageThankYou__vt{margin: 14px 0 0; font: 600 18px/1.35 var(--cs-display); color: var(--cs-ink);}
@media (min-width: 1024px){.csPageThankYou .csPageThankYou__grid{grid-template-columns: 1fr 1fr; gap: 72px; align-items: start;}}
@media (prefers-reduced-motion: reduce){.csPageThankYou .csPageThankYou__check path{animation: none; stroke-dashoffset: 0;}}
.csPageThankYou .csPageThankYou__intro{padding: calc(var(--cs-header-h) + 48px) 0 56px;}
.csPageThankYou .csPageThankYou__intro.csPageThankYou__chalk{background: linear-gradient(180deg, var(--cs-sage) 0%, var(--cs-chalk) 100%);}
.csPageThankYou .csPageThankYou__h1{font-size: clamp(40px, 6vw, 68px); max-width: 18ch;}
.csPageThankYou .csPageThankYou__lead{max-width: 40em;}
@media (min-width: 1024px){.csPageThankYou .csPageThankYou__intro{padding: calc(var(--cs-header-h) + 72px) 0 72px;}}
/* csPageWork */
.csPageWork{display: block;}
.csPageWork .csPageWork__boot{min-height: 100vh; background: var(--cs-white);}
/* csPhotoDrop */
.csPhotoDrop{display: block;}
.csPhotoDrop .csPhotoDrop__zone{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 148px; padding: 22px; border: 2px dashed #b9bcae; border-radius: var(--cs-r-card); background: var(--cs-chalk); text-align: center; cursor: pointer; transition: border-color var(--cs-fast) var(--cs-ease), background-color var(--cs-fast) var(--cs-ease);}
.csPhotoDrop .csPhotoDrop__zone:hover, .csPhotoDrop .csPhotoDrop__zone.csPhotoDrop__over{border-color: var(--cs-deep); background: var(--cs-sage);}
.csPhotoDrop .csPhotoDrop__zone:focus-within{outline: 3px solid var(--cs-deep); outline-offset: 3px;}
.csPhotoDrop .csPhotoDrop__zone.csPhotoDrop__full{opacity: 0.6; cursor: default;}
.csPhotoDrop .csPhotoDrop__ic{width: 34px; height: 34px; fill: none; stroke: var(--cs-deep); stroke-width: 2; stroke-linejoin: round;}
.csPhotoDrop .csPhotoDrop__t{font: 600 17px/1.3 var(--cs-display); color: var(--cs-ink);}
.csPhotoDrop .csPhotoDrop__s{font-size: 15px; color: var(--cs-slate);}
.csPhotoDrop .csPhotoDrop__note{margin: 10px 0 0; font-size: 14px; color: var(--cs-ink);}
.csPhotoDrop .csPhotoDrop__row{display: flex; align-items: flex-end; gap: 12px; margin-top: 14px;}
.csPhotoDrop .csPhotoDrop__thumbs{display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; flex: 1; margin: 0; padding: 0; list-style: none;}
.csPhotoDrop .csPhotoDrop__thumb{position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--cs-slate);}
.csPhotoDrop .csPhotoDrop__thumb img{width: 100%; height: 100%; object-fit: cover; display: block;}
.csPhotoDrop .csPhotoDrop__thumb.csPhotoDrop__processing img, .csPhotoDrop .csPhotoDrop__thumb.csPhotoDrop__uploading img{opacity: 0.5;}
.csPhotoDrop .csPhotoDrop__thumb.csPhotoDrop__failed{box-shadow: inset 0 0 0 2px #c0392b;}
.csPhotoDrop .csPhotoDrop__file{display: grid; place-items: center; height: 100%; padding: 6px; font-size: 11px; color: var(--cs-white); word-break: break-all; text-align: center;}
.csPhotoDrop .csPhotoDrop__x{position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(14, 15, 12, 0.78); color: var(--cs-white); font: 700 18px/28px var(--cs-body); cursor: pointer; padding: 0;}
.csPhotoDrop .csPhotoDrop__spin{position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: var(--cs-line); animation: csPhotoDrop__spin 0.8s linear infinite;}
.csPhotoDrop .csPhotoDrop__ok{position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px; border-radius: 50%; background: var(--cs-court);}
.csPhotoDrop .csPhotoDrop__ok::after{content: ""; position: absolute; left: 11px; top: 6px; width: 6px; height: 12px; border-right: 3px solid var(--cs-ink); border-bottom: 3px solid var(--cs-ink); transform: rotate(45deg);}
.csPhotoDrop .csPhotoDrop__count{flex: none; font: 600 15px var(--cs-display); color: var(--cs-slate);}
@keyframes csPhotoDrop__spin{ to { transform: rotate(360deg); } }
@media (min-width: 640px){.csPhotoDrop .csPhotoDrop__thumbs{grid-template-columns: repeat(8, 1fr);}}
.csPhotoDrop .csPhotoDrop__note[hidden], .csPhotoDrop .csPhotoDrop__row[hidden]{display: none;}
/* csPlaceholder */
.csPlaceholder{display: block;}
.csPlaceholder .csPlaceholder__ph{position: relative; overflow: hidden; width: 100%;
    border-radius: inherit;
    background: linear-gradient(160deg, var(--cs-sage) 0%, var(--cs-sand) 100%);
    color: var(--cs-deep);
    isolation: isolate;}
.csPlaceholder .csPlaceholder__ph.csPlaceholder__fill{position: absolute; inset: 0;}
.csPlaceholder .csPlaceholder__ph.csPlaceholder__hero{background: var(--cs-sage);}
.csPlaceholder .csPlaceholder__art{position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; opacity: 0.55;}
.csPlaceholder .csPlaceholder__tick{display: none;}
.csPlaceholder .csPlaceholder__pill{position: absolute; left: 14px; bottom: 14px; max-width: calc(100% - 28px);
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 12px; border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--cs-shadow);
    font: 600 14px/1.25 var(--cs-display); color: var(--cs-ink);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.csPlaceholder .csPlaceholder__pill .csPlaceholder__pt{min-width: 0; overflow: hidden; text-overflow: ellipsis;}
.csPlaceholder .csPlaceholder__dot{flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--cs-court);}
.csPlaceholder .csPlaceholder__sub{position: absolute; left: 16px; bottom: 54px; font: 500 14px/1.3 var(--cs-body); color: var(--cs-slate);}
.csPlaceholder .csPlaceholder__play{position: absolute; top: 50%; left: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px;
    display: grid; place-items: center; border-radius: 50%;
    background: var(--cs-white); color: var(--cs-deep);
    box-shadow: var(--cs-shadow-lg);
    transition: transform var(--cs-fast) var(--cs-ease);}
.csPlaceholder .csPlaceholder__play svg{width: 26px; height: 26px; margin-left: 3px;}
@media (max-width: 480px){.csPlaceholder .csPlaceholder__play{width: 52px; height: 52px; margin: -26px 0 0 -26px;}}
.csPlaceholder .csPlaceholder__ph.csPlaceholder__tr .csPlaceholder__pill{left: auto; right: 14px; top: calc(var(--cs-header-h) + 18px); bottom: auto;}
@media (max-width: 767px){.csPlaceholder .csPlaceholder__ph.csPlaceholder__tr .csPlaceholder__pill{right: auto; left: var(--cs-gutter); max-width: calc(100% - 2 * var(--cs-gutter));}}
/* csProofStrip */
.csProofStrip{display: block;}
.csProofStrip .csProofStrip__proof{padding: 56px 0 64px; border-bottom: 1px solid var(--cs-rule-light);}
@media (min-width: 1024px){.csProofStrip .csProofStrip__proof{padding: 72px 0 80px;}}
.csProofStrip .csProofStrip__stats{display: grid; gap: 36px; margin: 0; padding: 0; list-style: none;}
@media (min-width: 768px){.csProofStrip .csProofStrip__stats{grid-template-columns: repeat(3, 1fr); gap: 0;}}
.csProofStrip .csProofStrip__stat{position: relative; padding: 24px 24px 26px; border-radius: var(--cs-r-card); background: var(--cs-sage);}
@media (min-width: 768px){.csProofStrip .csProofStrip__stats{gap: 24px;}
.csProofStrip .csProofStrip__stat{padding: 28px 30px 30px;}}
.csProofStrip .csProofStrip__num{display: inline-block; font: 700 clamp(48px, 5.4vw, 72px)/1 var(--cs-display); letter-spacing: -0.01em; color: var(--cs-deep); font-variant-numeric: tabular-nums;}
.csProofStrip .csProofStrip__num.csProofStrip__tok{display: block; max-width: 100%; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.3; overflow-wrap: anywhere;}
.csProofStrip .csProofStrip__label{display: block; margin-top: 12px; max-width: 22ch; font-size: 17px; line-height: 1.45; color: var(--cs-slate); font-weight: 500;}
.csProofStrip .csProofStrip__logos{margin-top: 48px; text-align: center;}
.csProofStrip .csProofStrip__logos-title{margin: 0 0 20px; font: 500 16px/1.4 var(--cs-body); color: var(--cs-concrete);}
.csProofStrip .csProofStrip__marks{display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 36px; margin: 0; padding: 0; list-style: none;}
.csProofStrip .csProofStrip__marks li{font: 700 clamp(17px, 1.6vw, 21px)/1.2 var(--cs-display); color: var(--cs-slate);}
.csProofStrip .csProofStrip__marks li.csProofStrip__flag{font: inherit;}
.csProofStrip .csProofStrip__marks a{color: inherit; text-decoration: underline; text-decoration-color: var(--cs-rule-light); text-underline-offset: 5px; text-decoration-thickness: 2px; transition: color var(--cs-fast) var(--cs-ease), text-decoration-color var(--cs-fast) var(--cs-ease);}
.csProofStrip .csProofStrip__marks a:hover{color: var(--cs-deep); text-decoration-color: var(--cs-court);}
.csProofStrip .csProofStrip__marks a:focus-visible{outline: 2px solid var(--cs-ink); outline-offset: 3px; border-radius: 2px;}
/* csSegments */
.csSegments{display: block;}
.csSegments .csSegments__grid{display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 14px; margin: 40px calc(-1 * var(--cs-gutter)) 0; padding: 6px var(--cs-gutter) 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--cs-gutter); scrollbar-width: none; list-style: none;}
.csSegments .csSegments__grid::-webkit-scrollbar{display: none;}
.csSegments .csSegments__grid > li{scroll-snap-align: start;}
@media (min-width: 640px){.csSegments .csSegments__grid{grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 56px 0 0; padding: 0; overflow: visible;}}
@media (min-width: 1024px){.csSegments .csSegments__grid{grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 72px;}}
.csSegments .csSegments__seg{display: flex; flex-direction: column; height: 100%; border-radius: var(--cs-r-card); background: var(--cs-white); box-shadow: var(--cs-shadow); color: inherit; text-decoration: none; overflow: hidden; transition: transform var(--cs-med) var(--cs-ease), box-shadow var(--cs-med) var(--cs-ease);}
.csSegments .csSegments__seg:hover{transform: translateY(-4px); box-shadow: var(--cs-shadow-lg);}
.csSegments .csSegments__media{display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--cs-sage);}
.csSegments .csSegments__media img{display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--cs-ease);}
.csSegments .csSegments__seg:hover .csSegments__media img{transform: scale(1.04);}
.csSegments .csSegments__body{display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px 24px 26px;}
.csSegments .csSegments__chip{align-self: flex-start;}
.csSegments .csSegments__t{display: block; margin-top: 4px;}
.csSegments .csSegments__line{color: var(--cs-slate); font-size: 17px; line-height: 1.5;}
.csSegments .csSegments__go{margin-top: auto; padding-top: 10px; font: 700 16px/1 var(--cs-display); color: var(--cs-deep);}
.csSegments .csSegments__seg:hover .csSegments__go{color: var(--cs-ink);}
@media (prefers-reduced-motion: reduce){.csSegments .csSegments__seg, .csSegments .csSegments__media img{transition: none;}
.csSegments .csSegments__seg:hover{transform: none;}}
/* csShell */
.csShell{display: block;}
.csShell .csShell__shell{min-height: 100vh; background: var(--cs-white); font-family: var(--cs-body); color: var(--cs-slate); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip;}
.csShell main{display: block; outline: none;}
.csShell .csShell__skip{position: absolute; z-index: 100; top: 8px; left: 8px; padding: 12px 18px; border-radius: 999px; background: var(--cs-court); color: var(--cs-ink); font: 700 14px/1 var(--cs-display); text-decoration: none; transform: translateY(-160%); transition: transform var(--cs-fast);}
.csShell .csShell__skip:focus{transform: none;}
/* csStickyCta */
.csStickyCta{display: block;}
.csStickyCta .csStickyCta__bar{position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; padding: 12px var(--cs-gutter) calc(12px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, 0.97); box-shadow: 0 -1px 0 var(--cs-rule-light), 0 -8px 24px rgba(28, 33, 23, 0.08); transform: translateY(110%); transition: transform var(--cs-med) var(--cs-ease);}
.csStickyCta .csStickyCta__bar.csStickyCta__on{transform: none;}
.csStickyCta .csStickyCta__btn{width: 100%;}
@media (min-width: 768px){.csStickyCta .csStickyCta__bar{display: none;}}
@media (prefers-reduced-motion: reduce){.csStickyCta .csStickyCta__bar{transition: none;}}
/* csTiles */
.csTiles{display: block;}
.csTiles .csTiles__tiles{display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none;}
.csTiles .csTiles__tiles li{display: flex;}
.csTiles .csTiles__tiles > :last-child{grid-column: span 2;}
.csTiles .csTiles__tile{position: relative; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; width: 100%; min-height: 128px; padding: 18px; border-radius: var(--cs-r-card); text-decoration: none; cursor: pointer; transition: transform var(--cs-fast) var(--cs-ease), background-color var(--cs-fast) var(--cs-ease), box-shadow var(--cs-fast) var(--cs-ease), color var(--cs-fast) var(--cs-ease); -webkit-tap-highlight-color: transparent; user-select: none;}
.csTiles .csTiles__ic{width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;}
.csTiles .csTiles__lbl{font: 700 17px/1.25 var(--cs-display);}
.csTiles .csTiles__arrow{position: absolute; top: 16px; right: 18px; font: 700 20px var(--cs-display); transition: transform var(--cs-fast) var(--cs-ease);}
.csTiles .csTiles__tile:hover{transform: translateY(-2px);}
.csTiles .csTiles__tile:hover .csTiles__arrow{transform: translateX(4px);}
.csTiles .csTiles__card .csTiles__tile{background: var(--cs-white); color: var(--cs-ink); box-shadow: var(--cs-shadow);}
.csTiles .csTiles__card .csTiles__tile .csTiles__ic{color: var(--cs-deep);}
.csTiles .csTiles__card .csTiles__tile .csTiles__arrow{color: var(--cs-deep);}
.csTiles .csTiles__card .csTiles__tile:hover{background: var(--cs-court); box-shadow: var(--cs-shadow-lg);}
.csTiles .csTiles__card .csTiles__tile:hover .csTiles__ic, .csTiles .csTiles__card .csTiles__tile:hover .csTiles__arrow{color: var(--cs-ink);}
.csTiles .csTiles__light .csTiles__tile{background: var(--cs-white); color: var(--cs-ink); box-shadow: inset 0 0 0 2px var(--cs-rule-light);}
.csTiles .csTiles__light .csTiles__tile .csTiles__ic{color: var(--cs-deep);}
.csTiles .csTiles__light .csTiles__tile:hover{box-shadow: inset 0 0 0 2px var(--cs-court);}
.csTiles .csTiles__light .csTiles__tile.csTiles__on{background: var(--cs-sage); color: var(--cs-ink); box-shadow: inset 0 0 0 3px var(--cs-deep);}
.csTiles .csTiles__light .csTiles__tile.csTiles__on .csTiles__ic{color: var(--cs-deep);}
.csTiles .csTiles__light.csTiles__invalid .csTiles__tile{box-shadow: inset 0 0 0 2px #c0392b;}
.csTiles .csTiles__mark{position: absolute; top: 16px; right: 16px; width: 22px; height: 22px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--cs-rule-light);}
.csTiles .csTiles__on .csTiles__mark{background: var(--cs-deep); box-shadow: none;}
.csTiles .csTiles__on .csTiles__mark::after{content: ""; position: absolute; left: 7px; top: 4px; width: 5px; height: 10px; border-right: 2.5px solid var(--cs-white); border-bottom: 2.5px solid var(--cs-white); transform: rotate(45deg);}
.csTiles .csTiles__tile[role='radio']:focus-visible{outline: 3px solid var(--cs-deep); outline-offset: 3px;}
@media (min-width: 768px){.csTiles .csTiles__tiles{grid-template-columns: repeat(4, 1fr); gap: 16px;}
.csTiles .csTiles__tile{min-height: 148px; padding: 22px;}}
@media (prefers-reduced-motion: reduce){.csTiles .csTiles__tile, .csTiles .csTiles__arrow{transition: none;}
.csTiles .csTiles__tile:hover{transform: none;}}
/* csVideoModal */
.csVideoModal{display: block;}
.csVideoModal .csVideoModal__backdrop{position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(14, 15, 12, 0.88); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); animation: csVideoModal__fade var(--cs-med) var(--cs-ease);}
.csVideoModal .csVideoModal__dialog{position: relative; width: min(1100px, 100%);}
.csVideoModal .csVideoModal__media{border-radius: var(--cs-r-card); overflow: hidden; background: var(--cs-ink); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);}
.csVideoModal iframe, .csVideoModal video{display: block; width: 100%; aspect-ratio: 16/9; border: 0; background: #000;}
.csVideoModal .csVideoModal__tall{width: min(420px, 100%);}
.csVideoModal .csVideoModal__tall iframe, .csVideoModal .csVideoModal__tall video{aspect-ratio: auto; height: min(78vh, 760px); background: #fff;}
.csVideoModal .csVideoModal__close{position: absolute; z-index: 2; top: -56px; right: 0; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.12); color: var(--cs-white); cursor: pointer;}
.csVideoModal .csVideoModal__close svg{width: 22px; height: 22px;}
.csVideoModal .csVideoModal__close:hover{background: var(--cs-court); color: var(--cs-ink);}
@keyframes csVideoModal__fade{ from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce){.csVideoModal .csVideoModal__backdrop{animation: none;}}
.csVideoModal .csVideoModal__backdrop[hidden]{display: none;}
.csVideoModal .csVideoModal__pending{display: grid; place-items: center; aspect-ratio: 16/9; padding: 24px; background: var(--cs-sage); color: var(--cs-deep); font: 600 18px/1.4 var(--cs-display); text-align: center;}
.csVideoModal .csVideoModal__pending p{margin: 0;}
/* csVideoWall */
.csVideoWall{display: block;}
.csVideoWall .csVideoWall__head{max-width: 760px;}
.csVideoWall .csVideoWall__rail{display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: 16px; margin: 48px 0 0; padding: 0 var(--cs-gutter) 12px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--cs-gutter); -webkit-overflow-scrolling: touch; scrollbar-width: none;}
.csVideoWall .csVideoWall__rail::-webkit-scrollbar{display: none;}
.csVideoWall .csVideoWall__item{scroll-snap-align: start;}
.csVideoWall .csVideoWall__card-v{display: block; width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font: inherit; color: inherit;}
.csVideoWall .csVideoWall__poster{position: relative; display: block; aspect-ratio: 9/16; border-radius: var(--cs-r-card); overflow: hidden; background: var(--cs-sand); box-shadow: var(--cs-shadow); transition: transform var(--cs-med) var(--cs-ease), box-shadow var(--cs-med) var(--cs-ease);}
.csVideoWall .csVideoWall__poster img{width: 100%; height: 100%; object-fit: cover; display: block;}
.csVideoWall .csVideoWall__card-v:hover .csVideoWall__poster{transform: translateY(-4px); box-shadow: var(--cs-shadow-lg);}
.csVideoWall .csVideoWall__card-v:hover .csVideoWall__playbtn{transform: scale(1.08);}
.csVideoWall .csVideoWall__meta{display: flex; flex-direction: column; gap: 6px; padding: 16px 4px 0;}
.csVideoWall .csVideoWall__tag{font: 600 14px var(--cs-display); color: var(--cs-deep);}
.csVideoWall .csVideoWall__title{font: 700 18px/1.3 var(--cs-display); color: var(--cs-ink);}
.csVideoWall .csVideoWall__quote{max-width: 860px; margin: 56px 0 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--cs-court);}
.csVideoWall blockquote{margin: 0; font: 600 clamp(24px, 2.8vw, 32px)/1.3 var(--cs-display); color: var(--cs-ink); text-wrap: balance;}
.csVideoWall .csVideoWall__quote figcaption{margin-top: 12px; font-size: 17px; font-weight: 600; color: var(--cs-deep);}
@media (min-width: 640px){.csVideoWall .csVideoWall__rail{grid-auto-columns: 40%;}}
@media (min-width: 1024px){.csVideoWall .csVideoWall__quote{margin-top: 72px; padding-left: 32px;}}
@media (min-width: 1024px){.csVideoWall .csVideoWall__rail{box-sizing: border-box; grid-auto-flow: row; grid-template-columns: repeat(5, 1fr); grid-auto-columns: auto; gap: 24px; max-width: calc(var(--cs-max) + 2 * var(--cs-gutter)); margin: 64px auto 0; overflow: visible;}}
@media (prefers-reduced-motion: reduce){.csVideoWall .csVideoWall__poster, .csVideoWall .csVideoWall__playbtn{transition: none;}
.csVideoWall .csVideoWall__card-v:hover .csVideoWall__poster{transform: none;}}
/* csWhoWeHelp */
.csWhoWeHelp{display: block;}
.csWhoWeHelp .csWhoWeHelp__head{max-width: 46em;}
.csWhoWeHelp .csWhoWeHelp__doors{display: grid; gap: 20px; margin: 40px 0 0; padding: 0; list-style: none;}
@media (min-width: 900px){.csWhoWeHelp .csWhoWeHelp__doors{grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 56px;}}
@media (min-width: 1100px){.csWhoWeHelp .csWhoWeHelp__doors{grid-template-columns: repeat(3, 1fr);}}
.csWhoWeHelp .csWhoWeHelp__door{display: flex; flex-direction: column; height: 100%; border-radius: var(--cs-r-card); background: var(--cs-chalk); box-shadow: var(--cs-shadow); color: inherit; text-decoration: none; overflow: hidden; border-top: 6px solid var(--cs-court); transition: transform var(--cs-med) var(--cs-ease), box-shadow var(--cs-med) var(--cs-ease);}
.csWhoWeHelp .csWhoWeHelp__door:hover{transform: translateY(-4px); box-shadow: var(--cs-shadow-lg);}
.csWhoWeHelp .csWhoWeHelp__door:focus-visible{outline: 3px solid var(--cs-ink); outline-offset: 4px;}
.csWhoWeHelp .csWhoWeHelp__media{position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--cs-sage);}
.csWhoWeHelp .csWhoWeHelp__media img{display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--cs-ease);}
.csWhoWeHelp .csWhoWeHelp__door:hover .csWhoWeHelp__media img{transform: scale(1.04);}
.csWhoWeHelp .csWhoWeHelp__media .csWhoWeHelp__chip{position: absolute; left: 16px; top: 16px; background: var(--cs-white); box-shadow: var(--cs-shadow);}
.csWhoWeHelp .csWhoWeHelp__body{display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 24px 24px 28px;}
.csWhoWeHelp .csWhoWeHelp__t{display: block; font-size: clamp(22px, 2.2vw, 28px);}
.csWhoWeHelp .csWhoWeHelp__line{color: var(--cs-slate); font-size: 18px; line-height: 1.5;}
.csWhoWeHelp .csWhoWeHelp__pts{display: grid; gap: 10px; margin: 6px 0 4px;}
.csWhoWeHelp .csWhoWeHelp__pt{display: flex; gap: 10px; align-items: flex-start; color: var(--cs-ink); font-size: 16px; line-height: 1.45; font-weight: 500;}
.csWhoWeHelp .csWhoWeHelp__pt svg{flex: none; width: 20px; height: 20px; margin-top: 1px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--cs-court); fill: none; stroke: var(--cs-ink); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round;}
.csWhoWeHelp .csWhoWeHelp__plogo{display: block; padding: 10px 0 2px;}
.csWhoWeHelp .csWhoWeHelp__plogo img{display: block; height: 28px; width: auto;}
.csWhoWeHelp .csWhoWeHelp__go{display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; font: 700 17px/1 var(--cs-display); color: var(--cs-deep);}
.csWhoWeHelp .csWhoWeHelp__go svg{width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--cs-fast) var(--cs-ease);}
.csWhoWeHelp .csWhoWeHelp__door:hover .csWhoWeHelp__go{color: var(--cs-ink);}
.csWhoWeHelp .csWhoWeHelp__door:hover .csWhoWeHelp__go svg{transform: translateX(4px);}
@media (min-width: 1024px){.csWhoWeHelp .csWhoWeHelp__body{padding: 30px 32px 34px;}}
@media (prefers-reduced-motion: reduce){.csWhoWeHelp .csWhoWeHelp__door, .csWhoWeHelp .csWhoWeHelp__media img, .csWhoWeHelp .csWhoWeHelp__go svg{transition: none;}
.csWhoWeHelp .csWhoWeHelp__door:hover{transform: none;}
.csWhoWeHelp .csWhoWeHelp__door:hover .csWhoWeHelp__go svg{transform: none;}}
/* csWorkGrid */
.csWorkGrid{display: block;}
.csWorkGrid .csWorkGrid__work{padding-top: 40px;}
.csWorkGrid .csWorkGrid__bar{display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px;}
.csWorkGrid .csWorkGrid__filters{display: flex; gap: 8px; overflow-x: auto; margin: 0 calc(-1 * var(--cs-gutter)); padding: 4px var(--cs-gutter); scrollbar-width: none;}
.csWorkGrid .csWorkGrid__filters::-webkit-scrollbar{display: none;}
.csWorkGrid .csWorkGrid__fp{flex: none; min-height: 44px; padding: 0 18px; border: 0; border-radius: var(--cs-r-pill); background: var(--cs-white); box-shadow: inset 0 0 0 1.5px #c9cbbf; font: 600 16px var(--cs-display); color: var(--cs-ink); cursor: pointer; white-space: nowrap; transition: background-color var(--cs-fast) var(--cs-ease), color var(--cs-fast) var(--cs-ease);}
.csWorkGrid .csWorkGrid__fp:hover{box-shadow: inset 0 0 0 2px var(--cs-deep);}
.csWorkGrid .csWorkGrid__fp.csWorkGrid__on{background: var(--cs-deep); color: var(--cs-white); box-shadow: none;}
.csWorkGrid .csWorkGrid__count{margin: 0; font: 500 16px var(--cs-body); color: var(--cs-concrete);}
.csWorkGrid .csWorkGrid__grid{margin: 0; padding: 0; list-style: none; columns: 1; column-gap: 20px;}
.csWorkGrid .csWorkGrid__cell{break-inside: avoid; margin: 0 0 20px;}
.csWorkGrid .csWorkGrid__card-w{display: block; width: 100%; padding: 0; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer;}
.csWorkGrid .csWorkGrid__media{position: relative; display: block; border-radius: var(--cs-r-card); overflow: hidden; background: var(--cs-sand); box-shadow: var(--cs-shadow);}
.csWorkGrid .csWorkGrid__media img{display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--cs-ease);}
.csWorkGrid .csWorkGrid__card-w:hover .csWorkGrid__media img{transform: scale(1.04);}
.csWorkGrid .csWorkGrid__card-w:hover .csWorkGrid__playbtn{transform: scale(1.08);}
.csWorkGrid .csWorkGrid__meta{display: flex; flex-direction: column; gap: 4px; padding: 14px 2px 4px;}
.csWorkGrid .csWorkGrid__cat{font: 600 14px var(--cs-display); color: var(--cs-deep);}
.csWorkGrid .csWorkGrid__t{font: 700 21px/1.25 var(--cs-display); color: var(--cs-ink);}
.csWorkGrid .csWorkGrid__cap{font-size: 16px; line-height: 1.5; color: var(--cs-slate);}
.csWorkGrid .csWorkGrid__lb{position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 16px; background: rgba(28, 33, 23, 0.82);}
.csWorkGrid .csWorkGrid__lb-in{position: relative; display: grid; gap: 20px; width: min(1100px, 100%); max-height: 100%; overflow: auto; padding: 16px; border-radius: var(--cs-r-card); background: var(--cs-white); box-sizing: border-box;}
.csWorkGrid .csWorkGrid__lb-media{aspect-ratio: 16/10; max-height: 70vh; border-radius: var(--cs-r-card); overflow: hidden; background: var(--cs-sand);}
.csWorkGrid .csWorkGrid__lb-media img{width: 100%; height: 100%; object-fit: contain; display: block;}
.csWorkGrid .csWorkGrid__lb-meta{padding: 0 8px 8px;}
.csWorkGrid .csWorkGrid__lt{margin: 6px 0;}
.csWorkGrid .csWorkGrid__lb-meta .csWorkGrid__cap{margin: 0;}
.csWorkGrid .csWorkGrid__lb-nav{display: flex; gap: 10px; margin-top: 16px;}
.csWorkGrid .csWorkGrid__close{position: absolute; top: 24px; right: 24px; z-index: 2; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--cs-white); box-shadow: var(--cs-shadow); color: var(--cs-ink); font: 700 28px/48px var(--cs-body); cursor: pointer; padding: 0;}
@media (min-width: 640px){.csWorkGrid .csWorkGrid__grid{columns: 2;}}
@media (min-width: 1024px){.csWorkGrid .csWorkGrid__work{padding-top: 56px;}
.csWorkGrid .csWorkGrid__bar{flex-direction: row; align-items: center; justify-content: space-between;}
.csWorkGrid .csWorkGrid__filters{flex-wrap: wrap; margin: 0; padding: 0; overflow: visible;}
.csWorkGrid .csWorkGrid__grid{columns: 3; column-gap: 28px;}
.csWorkGrid .csWorkGrid__cell{margin-bottom: 28px;}
.csWorkGrid .csWorkGrid__lb-in{grid-template-columns: 1fr 300px; align-items: end;}}
@media (prefers-reduced-motion: reduce){.csWorkGrid .csWorkGrid__media img, .csWorkGrid .csWorkGrid__playbtn{transition: none;}}
.csWorkGrid .csWorkGrid__cell[hidden], .csWorkGrid .csWorkGrid__lb[hidden]{display: none;}