*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:clip;color:#111;background:#fff;font-family:'Open Sans',Arial,sans-serif;font-size:14px;font-weight:300;line-height:23px;letter-spacing:.004em}
img{display:block;max-width:100%;height:auto}
a{color:#2e5c99}
a:hover{color:#004587}
a:focus-visible,button:focus-visible,.slide-track:focus-visible{outline:2px solid #2e5c99;outline-offset:2px}
p{margin:0 0 12px;text-wrap:pretty}
b,strong{font-weight:600}
h1,h2,h3{text-wrap:balance}
.vis-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mb-10{margin-bottom:10px !important}

div.wrapper,header.site-head div.wrapper{display:table;width:100%;max-width:1200px;margin:0 auto;padding:0 10px}
div.wrapper::after{content:'';display:table;clear:both}

div.top-bar{height:30px;background:#2e5c99;color:#fff;font-size:12px;font-weight:600;line-height:30px;letter-spacing:.8px}
div.top-bar a{margin-right:22px;color:#fff;text-decoration:none}
div.top-bar a svg{display:inline-block;margin-right:4px;vertical-align:-1px}
div.top-bar span.top-bar-note{float:right}

header.site-head{position:sticky;top:0;z-index:8010;height:70px;background:#fff;box-shadow:0 5px 5px -5px rgba(0,0,0,.2)}
header.site-head div.wrapper{height:70px}
#logo{float:left;margin-top:10px}
#logo img{width:165px}
header.site-head span.logo-rule{float:left;width:0;height:44px;margin:13px 18px 0;border-left:1px dotted #ccc}
header.site-head span.head-claim{float:left;margin-top:16px;color:#2e5c99;font-size:11px;font-weight:600;line-height:17px;letter-spacing:1px;text-transform:uppercase}
header.site-head ul.head-links{float:right;margin:15px 0 0;padding:0;list-style:none}
header.site-head ul.head-links li{position:relative;float:left;margin-left:24px}
header.site-head ul.head-links li::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:#2e5c99;transition:width .3s ease}
header.site-head ul.head-links li:hover::after{width:100%}
header.site-head ul.head-links a{display:block;color:#222;font-size:13px;font-weight:600;line-height:40px;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;transition:color .3s ease}
header.site-head ul.head-links a:hover,#active{color:#2e5c99 !important}
header.site-head button.head-toggle{display:none}

div.photo-band img{width:100%;height:320px;object-fit:cover}

div.service-container{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:40px auto}
div.service-container div.group-head{flex:1 1 100%;text-align:center}
div.service-container div.group-head p,div.service-container div.group-head h1{max-width:820px;margin-left:auto;margin-right:auto}
div.service-container div.group-head h1,div.text-block h2,div.service-container h2.group-title{margin:0 0 14px;color:#333;font-size:clamp(24px,3vw,30px);font-weight:800;line-height:38px}
div.service-container div.group-head p{color:#333}
div.service-container.group-intro{margin-top:44px}
div.service-container.group-intro div.group-head p{max-width:900px}

ul.usp-row{display:flex;flex:1 1 100%;flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0 0;padding:0;list-style:none}
ul.usp-row li{padding:6px 16px;border-radius:4px;background:#2e5c99;color:#fff;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}

div.service-container .box{flex:0 1 calc(33% - 10px);padding:10px;border-radius:6px;background:#fff;color:#111;text-align:center;text-decoration:none;box-shadow:0 5px 5px 5px rgba(0,0,0,.1);transition:box-shadow .3s ease-in}
div.service-container .box:hover{box-shadow:0 5px 5px 5px rgba(0,0,0,.2)}
div.service-container .box img{width:100%;height:150px;aspect-ratio:8/3;object-fit:cover;border-radius:6px}
div.service-container .box h3{margin:0;padding-top:10px;color:#111;font-size:15px;font-weight:400;line-height:22px;letter-spacing:.5px;text-transform:uppercase}
div.service-container .box p{margin:6px 0 4px;color:#444}
div.service-container .box-doc{flex-basis:calc(50% - 10px);text-align:left}
div.service-container .box-doc h3,div.service-container .box-doc p{padding-left:6px;padding-right:6px}
ul.doc-lines{margin:10px 6px 4px;padding:0;list-style:none}
ul.doc-lines li{padding:6px 0;border-top:1px dotted #ccc}
ul.doc-lines li b{display:block;color:#2e5c99;font-size:12px;letter-spacing:.5px;text-transform:uppercase}
div.service-container .box-sheet{flex-basis:calc(25% - 15px);padding:20px 14px}
span.sheet-when{display:block;color:#2e5c99;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
div.service-container .box-cycle{display:flex;flex-direction:column;gap:2px;padding:22px 10px}
span.cycle-month{color:#333;font-size:22px;font-weight:800;line-height:30px}
div.service-container .box-cycle small{color:#555;font-size:12px}
div.service-container .box-step{padding:18px 14px}
span.step-n{display:inline-block;width:34px;height:34px;border-radius:50%;background:#2e5c99;color:#fff;font-size:15px;font-weight:600;line-height:34px}

div.slide-frame{display:flex;flex:1 1 100%;align-items:center;gap:10px;min-width:0}
div.slide-track{display:flex;flex:1;gap:20px;min-width:0;padding:10px 6px 16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
div.slide-track .box{flex:0 0 calc(33% - 12px);scroll-snap-align:start}
button.slide-btn{flex:none;width:34px;height:34px;padding:0;border:1px solid #2e5c99;border-radius:6px;background:#fff;color:#2e5c99;font-size:22px;line-height:30px;cursor:pointer;transition:background .5s ease,color .5s ease}
button.slide-btn:hover{background:#2e5c99;color:#fff}

div.text-block{margin:2em 0;padding:2.8em 0}
ul.limits{margin:0;padding:0;list-style:none;-moz-column-gap:40px;column-gap:40px;columns:2}
ul.limits li{margin-bottom:10px;break-inside:avoid}
ul.limits li b{color:#2e5c99}
ul.limits li.limit-real b{color:#b04a1a}
div.city-block{display:flex;align-items:center;gap:40px;border-top:1px dotted #ccc}
div.city-block div.city-text{flex:0 1 60%}
div.city-block img.city-photo{flex:0 1 40%;width:40%;border-radius:6px;box-shadow:0 5px 5px 5px rgba(0,0,0,.1)}
dl.faq-list{margin:0;-moz-column-gap:40px;column-gap:40px;columns:2}
dl.faq-list dt{margin-top:14px;color:#2e5c99;font-weight:600;break-after:avoid}
dl.faq-list dd{margin:2px 0 0;break-inside:avoid}

footer.site-foot{margin-top:20px;padding:30px 0;border-top:#ddd;background:#f1f1f1;color:#2e5c99}
div.foot-cols{display:flex !important;gap:10px}
div.foot-col{flex:1 1 25%}
div.foot-col h3{margin:0 0 8px;font-size:20px;font-weight:400}
div.foot-col ul{margin:0;padding:0;list-style:none}
div.foot-col li{padding:5px 0}
div.foot-col li a{display:inline-block;color:#2e5c99;font-size:11px;font-weight:600;line-height:26px;letter-spacing:1px;text-decoration:none;text-transform:uppercase}
div.foot-col li a::before{content:'›';display:inline-block;margin:0 8px 0 0;transition:margin .3s ease}
div.foot-col li a:hover::before{margin:0 4px 0 4px}
p.foot-contact a{color:#2e5c99}
p.copyright{margin:20px 0 0;color:#666;font-size:11px;line-height:17px;text-align:center}
button.cookie-reopen{padding:6px 0;border:0;background:none;color:#666;font:inherit;text-decoration:underline;cursor:pointer}

div.cookie-box{position:fixed;left:20px;bottom:20px;z-index:9000;max-width:28.5em;padding:1.2em 1.4em;border:1px solid #d8dee4;border-radius:6px;background:#fff;font-size:13px;line-height:20px;box-shadow:0 5px 10px rgba(0,0,0,.1)}
div.cookie-box[hidden]{display:none}
div.cookie-box label{display:block;margin-bottom:10px}
div.cookie-actions{display:flex;flex-wrap:wrap;gap:6px}
.btn-fill,.btn-line{display:inline-block;padding:9px 16px;border:1px solid #2e5c99;border-radius:6px;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.5px;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:background .5s ease,color .5s ease}
.btn-fill{background:#2e5c99;color:#fff}
.btn-fill:hover{background:#004587;color:#fff}
.btn-line{background:#fff;color:#2e5c99}
.btn-line:hover{background:#2e5c99;color:#fff}

div.page-title{padding:34px 0 10px}
div.page-title h1{margin:0 0 20px;color:#333;font-size:30px;font-weight:800;line-height:38px}
div.page-title p.kick{margin:0 0 6px;color:#2e5c99;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
p.page-lead{max-width:760px;font-size:15px;line-height:24px}
div.page-body{padding:10px 0 40px}
div.page-body h2{margin:30px 0 10px;color:#333;font-size:22px;font-weight:800}
div.split{display:flex;gap:40px}
div.split.mid{align-items:center}
div.split-half{flex:1 1 50%;min-width:0}
img.photo-card{border-radius:6px;box-shadow:0 5px 5px 5px rgba(0,0,0,.1)}
div.band-soft{padding:10px 0 30px;background:#f1f1f1}
figure.photo-wide{margin:24px 0}
figure.photo-wide img{width:100%;border-radius:6px}
figure.photo-wide figcaption{margin-top:8px;color:#666;font-size:12px}
div.legal-copy{max-width:860px}
div.legal-copy h3{margin:26px 0 6px;color:#2e5c99;font-size:20px;font-weight:400}

div.form-wrap{max-width:50em;margin-bottom:2em;padding:1.7em;border-radius:6px;box-shadow:0 5px 5px 5px rgba(0,0,0,.1)}
ol.form-marks{display:flex;gap:10px;margin:0 0 20px;padding:0;list-style:none}
ol.form-marks li{flex:1;padding-top:6px;border-top:3px solid #ddd;color:#555;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
ol.form-marks li.on{border-top-color:#2e5c99;color:#2e5c99}
form.form-steps fieldset{margin:0;padding:0;border:0}
form.form-steps legend{margin-bottom:6px;color:#333;font-size:20px;font-weight:800}
.form-lab{display:block;margin:14px 0 4px;color:#2e5c99;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
form.form-steps select,form.form-steps input[type=text],form.form-steps input[type=email]{width:100%;padding:9px 10px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px}
form.form-steps select:focus,form.form-steps input:focus{border-color:#2e5c99;outline:0}
div.form-opts{display:flex;flex-wrap:wrap;gap:6px 20px}
label.form-ok{display:block;margin-top:16px;font-size:13px}
div.form-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
div.off-screen{position:absolute;left:-9999px}
p.form-reply{margin-top:12px;color:#2e5c99;font-weight:600}
div.after-send{margin-top:20px}

@media (min-width:769px) and (max-width:1440px){
div.service-container{margin:40px 10px}
}
@media (min-width:320px) and (max-width:768px){
div.wrapper,header.site-head div.wrapper{display:block}
body{font-size:14px;line-height:22px}
div.top-bar span.top-bar-note{display:none}
header.site-head,header.site-head div.wrapper{height:55px}
#logo{margin-top:9px}
#logo img{width:118px}
header.site-head span.logo-rule,header.site-head span.head-claim{display:none}
header.site-head button.head-toggle{display:flex;float:right;flex-direction:column;justify-content:space-between;width:44px;height:38px;margin-top:8px;padding:10px 7px;border:0;background:none;cursor:pointer}
header.site-head button.head-toggle span:not(.vis-hidden){display:block;height:2px;background:#2e5c99}
header.site-head ul.head-links{display:none;position:absolute;top:55px;left:0;right:0;float:none;margin:0;padding:0 0 5px 5px;background:#fff;box-shadow:0 5px 5px -5px rgba(0,0,0,.2)}
header.site-head ul.head-links.open{display:block}
header.site-head ul.head-links li{float:none;margin:0 10px;border-bottom:1px solid #d8dee4}
div.photo-band img{height:190px}
div.service-container{gap:12px;margin:20px auto}
div.service-container div.group-head h1,div.text-block h2,div.service-container h2.group-title{font-size:26px;line-height:32px}
div.service-container .box{flex-basis:calc(33% - 8px);padding:5px;box-shadow:0 3px 3px 3px rgba(0,0,0,.1)}
div.service-container .box img{height:85px}
div.service-container .box h3{font-size:11px;line-height:16px}
div.service-container .box p{font-size:12px;line-height:18px}
div.service-container .box-doc,div.service-container .box-cycle,div.service-container .box-step{flex-basis:100%}
div.service-container .box-sheet{flex-basis:calc(50% - 6px)}
div.slide-track .box{flex-basis:78%}
button.slide-btn{display:none}
div.text-block{margin:10px 0;padding:24px 0}
ul.limits,dl.faq-list{columns:1}
div.city-block,div.split{flex-direction:column;gap:20px}
div.city-block img.city-photo{order:-1;width:100%}
div.foot-cols{flex-direction:column;row-gap:20px}
div.cookie-box{left:10px;right:10px;bottom:10px;max-width:none}
div.page-title h1{font-size:26px;line-height:32px}
}
@media (min-width:320px) and (max-width:440px){
div.top-bar #email{display:none}
div.service-container .box-sheet{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{transition:none !important;scroll-behavior:auto !important}
}
