:root{--navy:#102c46;--blue:#245e87;--pale:#f2f5f7;--ink:#344c60}
.cabsl-image-brand{flex:0 1 340px;min-width:220px}.cabsl-image-brand img{display:block;width:100%;height:auto;max-width:340px}header{flex-wrap:wrap}.cabsl-image-brand:focus-visible{outline:3px solid #245e87}@media(max-width:760px){.cabsl-image-brand{flex:0 0 auto;width:min(330px,100%);min-width:0}}
body{background:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--navy);-webkit-font-smoothing:antialiased}
header,section,footer,.strip{padding-left:max(7vw,calc((100vw - 1240px)/2));padding-right:max(7vw,calc((100vw - 1240px)/2))}
header{min-height:112px;background:#fff;gap:32px;border-bottom:1px solid #e6ebef}
.brand{font-size:36px;letter-spacing:-1.5px}.brand span{font-size:11px;line-height:1.6;max-width:190px}
nav{gap:30px;font-size:13px;font-weight:600}nav a{transition:color .2s}nav a:hover{color:#377ca7}
.button{border-radius:2px;background:#173d5c;box-shadow:none;padding:18px 25px;letter-spacing:.2px;transition:background .2s,transform .2s}.button:hover{background:#28658e;transform:translateY(-2px)}.button.small{padding:14px 20px}
.hero{background:linear-gradient(105deg,#f5f7f8 0%,#fcfcfb 61%,#eef3f5 100%);grid-template-columns:1.16fr 1fr;gap:70px;padding-top:90px;padding-bottom:90px;min-height:690px}
.eyebrow{font-size:10px;letter-spacing:2.5px;line-height:1.9;color:#3b6b8c;font-weight:700}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.8px}h1{font-size:clamp(48px,5.1vw,76px);line-height:1.08;margin:25px 0 28px}h2{font-size:clamp(35px,3.5vw,51px);line-height:1.15}h3{font-size:20px;font-weight:600;letter-spacing:-.5px;line-height:1.4}
.intro{font-size:17px;line-height:1.85;max-width:460px;color:#586b78;margin-bottom:32px}.textlink{font-size:13px;font-weight:600;text-decoration-thickness:1px;text-underline-offset:6px}.hero .textlink{display:inline-block;margin-left:0}
.landscape{height:490px;border-radius:2px 100px 2px 2px;background:linear-gradient(155deg,#d9e5ea,#afc7d4);box-shadow:20px 20px 0 #e5edf0}.sun{background:#f8f1dc;width:66px;height:66px;top:57px;right:65px}.back{background:#7897a8;top:90px}.front{background:#31576b;top:180px}.lake{height:120px;background:linear-gradient(173deg,#829eaa,#1a394d)}.landscape-label{font-family:Georgia,serif;font-size:25px;letter-spacing:.3px;left:32px;bottom:30px}.landscape-label strong{font-weight:400}.landscape-label:before{content:'';display:block;width:36px;height:1px;background:#d8e5ec;margin-bottom:18px}
.strip{background:#fff;border-bottom:1px solid #e1e8ed;padding-top:28px;padding-bottom:28px;font-size:12px;font-weight:600;letter-spacing:.4px}.strip span:before{content:'✓';color:#3a7892;margin-right:12px}
#services{padding-top:85px;padding-bottom:75px}.section-heading{gap:65px}.section-heading p{font-size:15px;line-height:1.9;max-width:350px}.cards{gap:0;margin-top:38px;border-top:1px solid #dbe4e9;border-bottom:1px solid #dbe4e9}.cards article{border:0;border-right:1px solid #dbe4e9;border-radius:0;padding:34px 30px 35px;transition:background .2s}.cards article:first-child{padding-left:0}.cards article:last-child{border-right:0}.cards article:hover{background:#f6f9fa}.cards article span{font-size:10px;letter-spacing:1.8px}.cards h3{margin-top:32px}.cards p{font-size:14px;line-height:1.9}.note{font-size:11px;line-height:1.8}
.about{margin-top:0;padding-top:80px;padding-bottom:85px;background:#eef3f5;gap:5px 90px}.about p{font-size:15px;line-height:1.95}.about h2{margin-top:12px}.about .eyebrow{font-size:10px;color:#3b6b8c}
.portal-banner{padding-top:65px;padding-bottom:65px;background:#142f45;gap:48px}.portal-banner h2{font-size:43px}.portal-banner p:not(.eyebrow){font-size:14px;color:#ccd9e3;max-width:460px}.portal-banner .button{background:#f0f5f8;color:#183c57;white-space:nowrap}.portal-banner .button:hover{background:#fff}
#contact{padding-top:85px;padding-bottom:90px;background:#fafbf9}#contact p:not(.eyebrow){max-width:600px;color:#5d6e79;font-size:14px}footer{background:#fff;padding-top:38px;padding-bottom:38px;color:#617382;font-size:11px;flex-wrap:wrap}footer .brand{color:#173b56;font-size:28px}.page{padding-top:25px;padding-bottom:35px}.page h1{font-family:Georgia,serif;font-size:48px}.notice{background:#f1f5f7;border-color:#367491}
@media(min-width:761px) and (max-width:1050px){header{gap:20px}.brand span{display:none}nav{gap:20px}.hero{gap:35px;min-height:620px}.landscape{height:430px}.cards article{padding:25px 20px}h1{font-size:53px}}
@media(max-width:760px){header{min-height:0;padding-top:24px;padding-bottom:22px;gap:24px}.brand{font-size:32px}.brand span{font-size:10px}nav{width:100%;gap:17px;font-size:12px;justify-content:flex-start;flex-wrap:wrap}.button.small{padding:11px 15px}.hero{padding-top:48px;padding-bottom:55px;gap:40px;min-height:0;grid-template-columns:1fr}h1{font-size:48px;letter-spacing:-1.5px}.intro{font-size:16px}.landscape{height:340px;margin-right:12px;box-shadow:12px 12px 0 #e5edf0}.strip{gap:12px;padding-top:24px;padding-bottom:24px}.cards{grid-template-columns:1fr}.cards article,.cards article:first-child{padding:28px 0;border-right:0;border-bottom:1px solid #dbe4e9}.cards article:last-child{border-bottom:0}.section-heading{display:block}.section-heading p{max-width:none}.about{grid-template-columns:1fr;gap:12px;padding-top:55px;padding-bottom:55px}.portal-banner{display:block;padding-top:50px;padding-bottom:50px}.portal-banner h2{font-size:38px}#services,#contact{padding-top:55px;padding-bottom:55px}.page h1{font-size:39px}footer{gap:15px}}
@media(prefers-reduced-motion:reduce){.button,nav a,.cards article{transition:none}.button:hover{transform:none}}
