*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-size:18px;line-height:1.6;color:var(--ink);background:var(--bg)}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{line-height:1.12;margin:0 0 .5em}p{margin:0 0 1em}
.w{max-width:1200px;margin:0 auto;padding:0 28px}.btn{display:inline-block;padding:15px 26px;font-weight:700;text-decoration:none;border-radius:var(--r);min-height:48px}
.ph{background:repeating-linear-gradient(135deg,var(--ph1) 0 14px,var(--ph2) 14px 28px);display:flex;align-items:center;justify-content:center;text-align:center;min-height:260px}
.ph span{background:rgba(0,0,0,.62);color:#fff;font:600 12px/1.5 ui-monospace,Menlo,monospace;letter-spacing:.06em;padding:10px 14px;max-width:80%}
h1 .since{display:block}
header .w{display:flex;align-items:center;gap:28px;padding-top:10px;padding-bottom:10px}header nav{display:flex;gap:26px;margin-left:auto;font-size:16px}header nav a{text-decoration:none}
header img{height:76px;width:auto}.tel{font-weight:800;text-decoration:none;white-space:nowrap}
footer{font-size:15px;padding:56px 0 0}footer .w.cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}footer h3{font-size:14px;letter-spacing:.14em}footer a{display:block;text-decoration:none;padding:3px 0}
footer .copyright{margin:44px 0 0;padding:18px 28px;text-align:center;font-size:14px}
@media(max-width:820px){header nav{display:none}header .w{gap:12px}header img{height:56px}.tel{margin-left:auto}.w{padding:0 20px}footer .w.cols{grid-template-columns:1fr;gap:24px}}
:root{--ink:#1a2540;--bg:#fff;--acc:#1e6f8f;--sky:#e3f1f5;--deep:#1a2540;--r:999px;--ph1:#a9bcc6;--ph2:#b4c6cf}
body{font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif}h1,h2,h3{font-weight:600;letter-spacing:-.02em}
.top{background:var(--sky);font-size:14px}.top .w{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}header{background:#fff}header nav{font-weight:500}.tel{color:var(--acc)}
.btn{background:var(--acc);color:#fff;font-size:16px}.btn.o{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.ey{font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
.hero{padding:56px 0 0}.hero .w{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end}.hero .t{grid-column:1/8;padding-bottom:64px}.hero h1{font-size:64px;line-height:1.02}.hero .since{font-size:24px;font-weight:500;letter-spacing:0;color:var(--acc);margin-top:18px;padding-left:18px;border-left:4px solid var(--acc)}
.hero p{font-size:20px;max-width:30em;color:#3a4763}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero .pic{grid-column:8/13;position:relative}.hero .pic .ph{min-height:560px;border-radius:220px 220px 0 0}
.hero .tag{position:absolute;left:-70px;bottom:60px;background:#fff;padding:18px 22px;border-radius:14px;box-shadow:0 10px 30px rgba(26,37,64,.14);font-size:15px;max-width:230px}.hero .tag b{display:block;font-size:30px;color:var(--acc);line-height:1.1}
.band{background:var(--sky)}.band .w{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:30px;padding-bottom:30px;font-size:16px}.band b{display:block;font-size:19px}
section{padding:104px 0}h2{font-size:44px;max-width:17em}.lead{max-width:58ch;font-size:20px;color:#3a4763}
.svc .list{margin-top:48px}.svc .item{display:grid;grid-template-columns:90px 5fr 6fr 150px;gap:32px;align-items:center;padding:30px 0;border-top:1px solid #d6dee8}.svc .item:last-child{border-bottom:1px solid #d6dee8}.svc .no{font:500 15px ui-monospace,Menlo,monospace;color:var(--acc)}.svc h3{font-size:27px;margin:0}.svc p{margin:0;font-size:17px;color:#3a4763}.svc .item>a{justify-self:end;font-weight:600;color:var(--acc);text-decoration:none}
.signs{background:var(--deep);color:#fff}.signs .ey{color:#7fd0ea}.signs .g{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.signs .ph{min-height:560px;border-radius:18px}.signs ul{list-style:none;margin:28px 0 0;padding:0}.signs li{padding:18px 0;border-top:1px solid #33415f}.signs li b{display:block;font-size:20px;font-weight:600}.signs li span{font-size:16px;color:#c2ccdc}.signs a{color:#7fd0ea}
.proc .g{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:52px;position:relative}.proc .g:before{content:"";position:absolute;left:0;right:0;top:21px;height:2px;background:#d6dee8}.proc .st i{position:relative;display:flex;width:44px;height:44px;border-radius:50%;background:var(--acc);color:#fff;align-items:center;justify-content:center;font:600 17px ui-monospace,Menlo,monospace;font-style:normal;margin-bottom:22px}.proc h3{font-size:22px}.proc p{font-size:16px;color:#3a4763}
.wide.ph{min-height:440px;border-radius:18px;margin:0 28px}
.area .g{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}.area ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.area li a{display:block;padding:11px 20px;border-radius:999px;background:var(--sky);text-decoration:none;font-weight:500}
.faq{background:#f5f8fb}.faq .g{display:grid;grid-template-columns:4fr 8fr;gap:64px}.faq details{background:#fff;border-radius:14px;padding:22px 26px;margin-bottom:12px}.faq summary{font-size:21px;font-weight:600;cursor:pointer}.faq details p{margin:12px 0 0;font-size:17px;color:#3a4763}
.end .w{background:var(--acc);color:#fff;border-radius:22px;padding:64px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;max-width:1144px}.end h2{margin:0;font-size:40px}.end .btn{background:#fff;color:var(--deep)}.end{padding:0 28px 104px}
footer{background:#f5f8fb;color:#3a4763;border-top:1px solid #d6dee8}footer h3{color:var(--ink)}footer .copyright{border-top:1px solid #d6dee8}
@media(max-width:820px){.hb{display:none}.top .w span:last-child{display:none}.hero{padding-top:28px}.hero .w{display:block}.hero .t{padding-bottom:26px}.hero h1{font-size:40px}.hero .since{font-size:18px;margin-top:12px;padding-left:12px}.hero p{font-size:18px}.hero .pic .ph{min-height:280px;border-radius:140px 140px 0 0}.hero .tag{left:12px;bottom:14px;padding:12px 16px;max-width:180px;font-size:13px}.hero .tag b{font-size:22px}.cta .btn{flex:1 1 100%;text-align:center}
.band .w{grid-template-columns:1fr;gap:12px}section{padding:60px 0}h2,.end h2{font-size:30px}.svc .list{margin-top:26px}.svc .item{grid-template-columns:1fr;gap:6px;padding:22px 0}.svc h3{font-size:23px}.svc .item>a{justify-self:start}
.signs .g{grid-template-columns:1fr;gap:26px}.signs .ph{min-height:230px;order:-1}.proc .g{grid-template-columns:1fr;gap:6px;margin-top:28px}.proc .g:before{left:21px;right:auto;top:0;bottom:0;width:2px;height:auto}.proc .st{padding-left:64px;position:relative;min-height:64px}.proc .st i{position:absolute;left:0;top:0}
.wide.ph{min-height:220px;margin:0 20px}.area .g,.faq .g{grid-template-columns:1fr;gap:22px}.area li a{padding:9px 15px;font-size:16px}.end{padding:0 20px 60px}.end .w{padding:36px 24px}.faq summary{font-size:18px}}header{position:relative;z-index:20}header nav{align-items:center}.dd{position:relative}.ddt{display:inline-flex;align-items:center;gap:7px;padding:22px 0}
.sub{position:absolute;left:-22px;top:100%;min-width:330px;background:#fff;border-radius:14px;box-shadow:0 14px 36px rgba(26,37,64,.16);padding:10px;display:none}
.dd:hover .sub,.dd:focus-within .sub{display:block}.sub a{display:block;padding:11px 14px;border-radius:9px;font-size:16px}.sub a:hover,.sub a:focus{background:var(--sky)}
.mnav{display:none}
@media(max-width:1000px){header nav{display:none}header .tel{margin-left:auto}.mnav{display:block;position:static}header .w{position:relative}}
@media(max-width:1000px){.mnav{display:block}.mnav summary{list-style:none;width:48px;height:48px;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer;border-radius:12px;background:var(--sky)}.mnav summary::-webkit-details-marker{display:none}.mnav summary span{display:block;width:22px;height:2px;background:var(--ink)}
.mlist{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 14px 30px rgba(26,37,64,.16);padding:10px 20px 20px}.mlist a{display:block;padding:13px 0;text-decoration:none;font-weight:600;border-top:1px solid #e3e9f0}.msub a{font-weight:400;padding:11px 0 11px 18px;font-size:16px}}

.crumb{font-size:14px;color:#52607a;padding:18px 0 0}.crumb a{text-decoration:none;color:var(--acc)}.crumb span{margin:0 8px;color:#9aa6b8}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #f0a500;outline-offset:2px}
.prose p,.prose li{max-width:66ch;color:#2f3b55}.prose h2{font-size:34px;margin-top:0}.prose h3{font-size:23px;margin-top:1.4em}.prose a{color:var(--acc)}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.pills a{display:block;padding:11px 20px;border-radius:999px;background:var(--sky);text-decoration:none;font-weight:500}
.dark .pills a{background:#2a3858;color:#fff}
.rel{background:#f5f8fb}.rel .g{display:grid;grid-template-columns:1fr 1fr;gap:64px}.rel h2{font-size:30px}
.shero{background:var(--sky);padding:20px 0 0}.shero .g{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:start;padding:36px 0 56px}.shero h1{font-size:54px;line-height:1.05}.shero .lede{font-size:20px;color:#3a4763;max-width:34em}
.card{background:#fff;border-radius:18px;padding:30px 32px;box-shadow:0 10px 30px rgba(26,37,64,.08)}.card h2{font-size:14px;font-family:ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}.card ul{margin:0;padding:0;list-style:none}.card li{padding:11px 0;border-top:1px solid #e3e9f0;font-size:16px}.card li:first-child{border-top:0;padding-top:0}.card .btn{display:block;text-align:center;margin-top:18px}
.lift{margin-top:-1px;background:linear-gradient(var(--sky) 50%,#fff 50%)}.lift .ph{min-height:420px;border-radius:18px}
.two{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.checks li{padding:16px 0 16px 34px;border-top:1px solid #d6dee8;position:relative;font-size:17px}.checks li:before{content:"";position:absolute;left:2px;top:22px;width:14px;height:8px;border-left:3px solid var(--acc);border-bottom:3px solid var(--acc);transform:rotate(-45deg)}
.tbl{width:100%;border-collapse:collapse;margin-top:36px}.tbl th{text-align:left;font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);padding:0 24px 12px 0}.tbl td{vertical-align:top;padding:22px 24px 22px 0;border-top:1px solid #d6dee8;font-size:17px;color:#2f3b55}.tbl td:first-child{font-weight:600;font-size:20px;color:var(--ink);width:26%}
.dark{background:var(--deep);color:#fff}.dark .ey{color:#7fd0ea}.dark p{color:#c9d3e2}.dark .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}.dark .cols div{border:1px solid #33415f;border-radius:18px;padding:30px}.dark h3{font-size:24px}.dark li{color:#c9d3e2;margin-bottom:6px}
.lhero{background:var(--deep);color:#fff;padding:20px 0 0}.lhero .crumb,.lhero .crumb a{color:#9fd8ec}.lhero .g{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:44px 0 72px}.lhero h1{font-size:54px;line-height:1.05}.lhero p{font-size:20px;color:#c9d3e2}.lhero .ph{min-height:420px;border-radius:18px}.lhero .btn.o{background:none;color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
figure{margin:0}figcaption{font-size:14px;color:#52607a;margin-top:10px}.lhero figcaption{color:#9fb0c8}
.facts{background:var(--sky);border-radius:18px;padding:30px 32px}.facts h2{font-size:20px}.facts dl{margin:0}.facts dt{font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-top:16px}.facts dd{margin:2px 0 0;font-size:16px}
.svl{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.svl li{border-top:1px solid #d6dee8;padding:20px 0}.svl a{font-size:21px;font-weight:600;text-decoration:none;color:var(--ink)}.svl a:after{content:" →";color:var(--acc)}.svl p{margin:4px 0 0;font-size:16px;color:#3a4763}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split .ph{min-height:440px;border-radius:18px}
.map{background:#f5f8fb}.map iframe{width:100%;height:420px;border:0;border-radius:18px;display:block}
.hub .row{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center;padding:56px 0;border-top:1px solid #d6dee8}.hub .row:nth-child(even) .ph{order:2}.hub .row .ph{min-height:300px;border-radius:18px}.hub .row h2{font-size:32px}.hub .row h2 a{text-decoration:none}.hub .row .more{font-weight:600;color:var(--acc);text-decoration:none}
.phero{padding:20px 0 64px;border-bottom:1px solid #d6dee8}.phero h1{font-size:54px;line-height:1.05;margin-top:36px;max-width:16em}.phero .lede{font-size:21px;color:#3a4763;max-width:36em}
.towns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.towns a{display:block;text-decoration:none;border:1px solid #d6dee8;border-radius:18px;padding:24px 26px}.towns a:hover{border-color:var(--acc)}.towns b{display:block;font-size:22px;font-weight:600}.towns span{font-size:15px;color:#52607a}
.read{max-width:760px}.read h2{font-size:32px;margin-top:1.6em}.read p{font-size:19px;color:#2f3b55}.aboutg{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:start}.aboutg .ph{min-height:520px;border-radius:260px 260px 18px 18px;position:sticky;top:24px}
.year{font:600 92px/1 "Avenir Next",Avenir,system-ui,sans-serif;color:var(--acc);letter-spacing:-.03em}
.contact{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}.contact .big{font-size:34px;font-weight:600;color:var(--acc);text-decoration:none;display:block}.contact dl{margin:28px 0 0}.contact dt{font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-top:22px}.contact dd{margin:4px 0 0;font-size:19px}
form.lead{background:#f5f8fb;border-radius:22px;padding:40px}form.lead h2{font-size:28px}form.lead label{display:block;font-weight:600;font-size:15px;margin:18px 0 6px}form.lead input,form.lead select,form.lead textarea{width:100%;font:inherit;font-size:17px;padding:13px 15px;border:1.5px solid #c3cedb;border-radius:12px;background:#fff;color:var(--ink)}form.lead textarea{min-height:130px;resize:vertical}form.lead .r2{display:grid;grid-template-columns:1fr 1fr;gap:18px}form.lead button{margin-top:24px;border:0;cursor:pointer;font:inherit;font-weight:700;width:100%}.hp{position:absolute;left:-9999px}
.faqg{display:grid;grid-template-columns:3fr 9fr;gap:64px;align-items:start}.faqg nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:4px}.faqg nav a{text-decoration:none;padding:9px 0;border-top:1px solid #d6dee8;font-weight:500}.faqg h2{font-size:28px;margin:1.6em 0 .6em}.faqg h2:first-child{margin-top:0}.faqg details{border:1px solid #d6dee8;border-radius:14px;padding:20px 24px;margin-bottom:12px}.faqg summary{font-size:19px;font-weight:600;cursor:pointer}.faqg details p{margin:12px 0 0;font-size:17px;color:#2f3b55;max-width:64ch}.faqg details a{color:var(--acc)}
.stepsv{counter-reset:s;list-style:none;margin:32px 0 0;padding:0}.stepsv li{counter-increment:s;position:relative;padding:0 0 28px 68px}.stepsv li:before{content:counter(s);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;font:600 17px ui-monospace,Menlo,monospace}.stepsv li:after{content:"";position:absolute;left:21px;top:48px;bottom:4px;width:2px;background:#d6dee8}.stepsv li:last-child:after{display:none}.stepsv h3{font-size:22px;margin:0 0 4px;padding-top:8px}.stepsv p{margin:0;font-size:17px;color:#3a4763}
@media(max-width:820px){.shero .g,.two,.rel .g,.lhero .g,.split,.hub .row,.aboutg,.contact,.faqg,.dark .cols,.svl,.checks,.towns{grid-template-columns:1fr;gap:22px}.shero h1,.lhero h1,.phero h1{font-size:36px}.shero .g{padding:20px 0 36px}.lhero .g{padding:24px 0 44px}.lift .ph,.lhero .ph,.split .ph{min-height:230px}
.hub .row{padding:32px 0}.hub .row:nth-child(even) .ph{order:0}.hub .row .ph{min-height:200px}.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:auto}.tbl thead{display:none}.tbl td:first-child{width:auto;padding-bottom:4px;border-top:1px solid #d6dee8}.tbl td{border:0;padding:16px 0 0}.tbl tr{padding-bottom:16px}
.towns{gap:10px;margin-top:24px}.towns a{padding:16px 18px}.aboutg .ph{min-height:260px;position:static;order:-1}.year{font-size:64px}form.lead{padding:24px 20px}form.lead .r2{grid-template-columns:1fr;gap:0}.faqg nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}.faqg nav a{border:0;background:var(--sky);border-radius:999px;padding:8px 14px;font-size:15px}.map iframe{height:300px}.prose h2{font-size:27px}.contact .big{font-size:28px}}

/* production */
.ph.media{background:#cfdbe2;display:block;position:relative;overflow:hidden;min-height:0;aspect-ratio:var(--ar,4/3)}.ph.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .pic .ph.media{border-radius:220px 220px 0 0}.aboutg .ph.media{border-radius:260px 260px 18px 18px}
.credit,.lhero p.credit{font-size:12px;color:#52607a;margin:6px 0 0}.credit a{color:inherit}.lhero p.credit{color:#9fb0c8}
.locality-map iframe{width:100%;border:0;display:block;background:#cfdbe2;border-radius:18px}
header nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--acc)}
.why .g{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:start}.why p{max-width:62ch;color:#2f3b55}.covers{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;font-size:16px;font-weight:600}.covers li{border-top:1px solid #d6dee8;padding:12px 0}
.legal{max-width:70ch}.legal h2{font-size:26px;margin-top:1.4em}.legal p{color:#2f3b55}
.note{font-size:15px;color:#52607a;margin-top:14px}.note a{color:var(--acc)}
.callbar{display:none}
.logo{display:block;width:76px;height:76px;background:url(/assets/images/logo.webp) center/contain no-repeat;flex:none}
.spacer{height:104px;background:#f5f8fb}
@media(max-width:820px){.why .g{grid-template-columns:1fr;gap:24px}.covers{grid-template-columns:1fr}.callbar{display:block;position:fixed;left:0;right:0;bottom:0;background:var(--acc);color:#fff;text-align:center;font-weight:700;padding:15px;text-decoration:none;z-index:30}body{padding-bottom:54px}.hero .pic .ph.media{border-radius:140px 140px 0 0}.spacer{height:60px}.logo{width:56px;height:56px}}
footer .fh{font-size:14px;letter-spacing:.14em;color:var(--ink);max-width:none;margin:0 0 .5em}
