:root{font-family:Arial,Helvetica,sans-serif;color:#082783;background:#e6f1fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%;height:auto}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.page{max-width:1060px;margin:auto;background:#fff;box-shadow:0 0 40px #133f6820}.site-header{min-height:114px;padding:17px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e4eff8}.brand{width:340px}.contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:9px 21px;border:2px solid #0758ff;border-radius:30px;color:#07229b;text-decoration:none;font-size:21px;font-weight:600;white-space:nowrap}.contact:hover{background:#edf6ff}.hero{position:relative;min-height:548px;overflow:hidden;background:linear-gradient(110deg,#fff 43%,#e1f2ff 68%,#28445b 100%)}.hero-copy{position:relative;z-index:2;width:53%;padding:36px 0 34px 36px}.eyebrow{font-size:17px;letter-spacing:6px;text-transform:uppercase;margin:0 0 12px}.membership-logo{width:100%;max-width:500px;mix-blend-mode:multiply;margin-left:-3px}h1{font-size:37px;letter-spacing:-1.3px;line-height:1.04;margin:22px 0 12px;color:#082b6c}.intro{font-size:20px;line-height:1.35;margin:0;max-width:510px}.accent-line{height:2px;width:76px;background:#1235e5;margin:20px 0 16px}.highlights{display:flex;list-style:none;padding:0;margin:0;width:540px;max-width:105%;gap:9px}.highlights li{display:flex;align-items:center;gap:4px;font-size:14px;line-height:1.4;flex:1}.highlights li+li{border-left:1px solid #cce4ff;padding-left:10px}.highlights img{width:65px;mix-blend-mode:multiply}.hero-art{position:absolute;inset:0 0 0 43%;display:flex;align-items:flex-end}.hero-art img{max-width:none;width:100%;height:100%;object-fit:cover;object-position:right bottom;mask-image:linear-gradient(to right,transparent,#000 17%)}.hero-motto{position:absolute;right:15px;top:18px;text-align:center;color:white;z-index:1}.hero-motto{right:12px;max-width:125px}.hero-motto span{font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:bold;line-height:1.6}.information{position:relative;z-index:3;margin:0 18px;padding:25px 18px 20px 0;display:grid;grid-template-columns:32% 1fr;align-items:center;gap:10px;background:linear-gradient(120deg,#ebf6ff,#e2f1ff);border-radius:24px;box-shadow:0 -6px 0 0 #fff;scroll-margin-top:20px}.devices{width:100%;max-height:210px;object-fit:contain}.information-content{min-width:0}.information h2{font-size:36px;line-height:1.1;letter-spacing:-1px;margin:0 0 4px;color:#071e96}.form-intro{font-size:18px;line-height:1.4;margin:0 0 18px;color:#194dc8}.form-fields{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px;align-items:center}.input-wrap{position:relative;min-width:0}.input-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#8090b1}input{width:100%;height:52px;border:1px solid #aebed3;border-radius:11px;background:#fff;padding:12px 10px 12px 43px;font:inherit;font-size:16px;color:#12254c;box-shadow:0 1px 3px #12254c08}input::placeholder{color:#6f7fa0;font-size:14px}.submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 17px;border:0;border-radius:32px;color:#fff;background:linear-gradient(#0878ff,#0050dd);font:inherit;font-size:16px;white-space:nowrap;cursor:pointer;box-shadow:0 4px 14px #0064f53b}.submit:hover{background:linear-gradient(#0066e8,#003fba)}.submit:disabled{opacity:.65;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #145eea;outline-offset:4px}.privacy{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5;color:#3456a8;margin:12px 0 0}.privacy svg{width:18px;height:18px;color:#082783}.form-status{font-size:14px;line-height:1.4;margin:12px 0 0}.benefits{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 18px 0}.benefits article{text-align:center;padding:0 20px;position:relative}.benefits article+article:before{content:"";position:absolute;left:0;top:15px;bottom:0;width:1px;background:#cce3ff}.benefits img{width:124px;margin:-8px auto 0}.benefits h2{font-size:21px;letter-spacing:-.6px;margin:2px 0 5px;color:#071e96}.benefits p{font-size:18px;line-height:1.4;margin:0;color:#294cc1}.skyline{height:210px;background:url('assets/csm-footer.webp') center bottom / 100% 100% no-repeat}.footer-content{display:flex;align-items:center;justify-content:space-between;padding:0 36px 35px;margin-top:-5px;gap:24px}.footer-content p{font-size:14px;margin:0}.footer-content img{width:240px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1200px){body{padding:0 30px}}
@media(max-width:1000px) and (min-width:761px){.hero-copy{width:57%;padding-left:28px}h1{font-size:32px}.hero-motto{display:none}.highlights{max-width:110%}.information{grid-template-columns:27% 1fr}.information h2{font-size:30px}.form-fields{grid-template-columns:1fr 1fr}.submit{grid-column:1/-1}.benefits article{padding:0 12px}.benefits h2{font-size:18px}.benefits p{font-size:16px}.desktop-break{display:none}}
@media(max-width:760px){.site-header{padding:16px 20px;min-height:85px;gap:14px}.brand{width:270px;min-width:0}.contact{font-size:14px;padding:8px 12px;gap:6px;flex-shrink:0}.contact svg{width:18px;height:18px}.hero{display:flex;flex-direction:column;background:linear-gradient(#fff 55%,#d6eaff)}.hero-copy{width:100%;padding:28px 24px 0}.eyebrow{font-size:14px;letter-spacing:5px}.membership-logo{max-width:480px}h1{font-size:clamp(29px,5.5vw,39px);max-width:570px;margin-top:20px}.intro{font-size:18px;max-width:570px}.highlights{max-width:100%;width:540px;gap:6px}.highlights li{font-size:13px;gap:2px}.highlights img{width:55px}.highlights li+li{padding-left:6px}.hero-art{position:relative;inset:auto;order:2;width:100%;height:auto;justify-content:center;margin-top:18px}.hero-art img{width:100%;max-width:none;height:auto;mask-image:none}.hero-motto{display:none}.information{grid-template-columns:1fr;margin:0 14px;padding:22px;gap:10px}.devices{width:240px;margin:-10px auto -8px}.information h2{font-size:30px;text-align:center}.form-intro{font-size:16px;text-align:center}.desktop-break{display:none}.form-fields{grid-template-columns:1fr;gap:12px}input{height:54px}.submit{width:100%;font-size:16px}.privacy{font-size:12px;align-items:flex-start;justify-content:center}.benefits{grid-template-columns:1fr 1fr;gap:28px 0;padding:30px 14px 0}.benefits article{padding:0 15px}.benefits article:nth-child(3):before{display:none}.benefits img{width:105px}.benefits h2{font-size:19px}.benefits p{font-size:16px}.skyline{height:145px;background-size:auto 190px}.footer-content{padding:5px 24px 28px;flex-direction:column-reverse;gap:18px}.footer-content img{width:230px}.footer-content p{font-size:12px}}
@media(max-width:380px){.site-header{padding:14px 12px;gap:10px}.contact{font-size:12px;padding:8px 10px}.contact svg{width:16px}.hero-copy{padding:25px 18px 0}.highlights img{width:42px}.highlights li{font-size:11px}.information{padding:20px 16px}.information h2{font-size:26px}.benefits article{padding:0 8px}.benefits h2{font-size:17px}.benefits p{font-size:14px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.contact,.submit{transition:background .15s,box-shadow .15s}}
/* Keep the motto in the open space above the right-hand portrait. */
@media(min-width:1001px){.hero-motto span{font-size:10px;line-height:1.4}.highlights li:last-child{flex:1.35}.highlights{width:520px}.hero-copy{padding-top:30px;padding-bottom:28px}h1{font-size:36px}.membership-logo{max-width:480px}}

.motto-lettering{width:140px;height:auto;margin:0 auto 12px;transform:translateX(10px)}

.hero-motto{width:140px;max-width:140px}

/* Let the white cutout finish its curve at both edges of the hero. */
.hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 36px;
  background: #fff;
  border-radius: 36px 36px 0 0;
  pointer-events: none;
}
.information {
  margin-top: -30px;
  box-shadow: none;
}

.hero-motto span{display:block;text-align:right;text-shadow:0 1px 3px #082b6c,0 0 6px #082b6c}

/* Anchor the photo to every edge, independent of its intrinsic aspect ratio. */
@media (min-width: 761px) {
  .hero-art img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Opt-in dialog: keep the existing site form and its integration hooks intact. */
.open-optin{width:fit-content;min-width:270px;margin-top:20px}
body.modal-open{overflow:hidden}
.optin-modal{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:40px 32px 30px;border:1px solid #d1e5fa;border-radius:24px;background:linear-gradient(120deg,#f6fbff,#e2f1ff);color:#082783;box-shadow:0 20px 80px #00173b55;overflow-y:auto;overscroll-behavior:contain}
.optin-modal::backdrop{background:rgb(3 22 49 / 65%)}
.optin-modal h2{margin:0 28px 12px 0;font-size:30px;line-height:1.15;letter-spacing:-.7px;color:#071e96}
.optin-modal .form-intro{text-align:left;font-size:17px;line-height:1.5;margin-bottom:24px}
.optin-modal .form-fields{grid-template-columns:1fr;gap:14px}
.optin-modal .submit{width:100%;white-space:normal}
.optin-modal .privacy{align-items:flex-start}
.modal-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#082783;font-size:30px;cursor:pointer}
.modal-close:hover{background:#d5e9fc}
@media(max-width:760px){.open-optin{width:100%;min-width:0}}
@media(max-width:480px){.optin-modal{padding:48px 22px 24px}.optin-modal h2{font-size:27px;margin-right:0}}

/* Branded introduction inside the opt-in popup. */
.optin-modal .modal-logo{width:340px;max-width:100%;height:auto;margin:4px auto 24px}
.optin-modal #optin-title{margin:0 0 16px;text-align:center;color:#000;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.5px}
.optin-modal #optin-title span{display:block}
.optin-modal #optin-title .modal-membership-title{color:#087b2d;margin-top:6px}
.optin-modal #optin-description{color:#444;font-size:16px;text-align:center;margin:0 0 24px;line-height:1.5}
@media(max-width:480px){.optin-modal #optin-title{font-size:24px}.optin-modal .modal-logo{margin-bottom:20px}.optin-modal #optin-description{font-size:15px}}



#showProcessing, #processMsg, #errorcss {
	text-align: center;
	display: none;
}

#processMsg {
	color:darkgreen;
}