@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/dm-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-latin-800-normal.woff2) format('woff2')}
html{-webkit-text-size-adjust:100%;background:#192940}
body{margin:0;font-family:'DM Sans',system-ui,sans-serif;background:#fff}

body{margin:0}
a{color:#195787}a:hover{color:#192940}.tile{transition:box-shadow .15s ease,transform .15s ease}.tile:hover,.tile:focus-visible{box-shadow:0 0 0 3px #EDBC48,0 10px 24px rgba(25,41,64,.14);transform:translateY(-2px);outline:none}
.mnav,.mbar{display:none}
@media (max-width:640px){

h1{font-size:40px!important;line-height:1.05!important}
h2[style*="font-size:4"],h2[style*="font-size:5"],h2[style*="font-size:6"]{font-size:28px!important;line-height:1.1!important}
h2[style*="font-size:32px"]{font-size:24px!important}
section > div[style*="max-width"]:not([style*="padding:16px 40px"]):not([style*="padding:18px 40px"]){padding:36px 20px!important;gap:24px!important}
section > div[style*="padding:16px 40px"]{padding:12px 20px!important}
[style*="width: 619px"]{width:auto!important}
[style*="min-height:520px"],[style*="min-height:440px"],[style*="min-height:400px"],[style*="min-height:340px"],[style*="min-height:320px"]{display:none!important}
[style*="padding:40px"]{padding:22px 18px!important}
[style*="padding:36px"]{padding:18px!important}
[style*="color:#DCE6F0"]{display:none!important}
[style*="gap:14px;align-items:flex-start"][style*="flex:1 1 240px"]{flex:1 1 44%!important}
[style*="display:flex;gap:28px;flex-wrap:wrap;color:#ffffff;font-size:15px"],a[href="#services"]{display:none!important}
a.tile[style*="flex:1 1 260px"]{padding:14px 16px!important;gap:2px!important;border-radius:12px!important}
a.tile[style*="flex:1 1 260px"] svg{display:none!important}
a.tile[style*="flex:1 1 260px"] h3{font-size:18px!important}
[style*="width:56px;height:56px"],[style*="flex:0 0 160px;width:160px"]{display:none!important}
[style*="gap:8px;flex-wrap:wrap"]{display:none!important}
[style*="flex:1 1 440px"][style*="gap:12px"],[style*="flex:1 1 440px"][style*="gap:10px;flex-wrap:wrap"]{display:none!important}
footer > div{padding:32px 20px 28px!important;display:flex!important;flex-direction:column!important;gap:28px!important}
footer > div > div:first-child{display:contents!important}
footer > div > div:first-child > div:nth-child(2){order:1}
footer > div > div:first-child > div:nth-child(3){order:2}
footer > div > div:nth-child(2){order:3;border-top:none!important;padding-top:0!important}
footer > div > div:first-child > div:nth-child(1){order:4;border-top:1px solid #34465F;padding-top:24px}
footer > div > div:first-child > div{flex:0 0 auto!important}
footer p{display:none!important}
}

@media (max-width:900px){
header{position:relative}
header > div{padding:12px 20px!important;flex-wrap:nowrap!important}
header nav{display:none!important}
header a[href="/"] span:first-child{font-size:22px!important;white-space:nowrap}
.mnav{display:block;margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid #192940;border-radius:10px;box-sizing:border-box;position:relative;z-index:110;background:#ffffff}
.mnav summary::-webkit-details-marker{display:none}
.mnav .ic-close{display:none}
.mnav[open] .ic-open{display:none}
.mnav[open] .ic-close{display:block}
.mnav[open] summary{border-color:#ffffff;background:transparent}
.mnav-panel{position:fixed;left:0;right:0;top:0;height:min(100dvh,920px);z-index:100;display:flex;flex-direction:column;padding:12px 20px 24px;box-sizing:border-box;background:#192940;animation:mnavIn .25s ease-out}
.mnav-top{min-height:44px;display:flex;align-items:center}
.mnav-word{display:flex;flex-direction:column;gap:4px;color:#ffffff;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:22px;line-height:1;white-space:nowrap;width:max-content}
.mnav-word i{display:block;height:4px;background:#EDBC48;border-radius:2px}
.mnav-randy{flex:1 1 auto;min-height:0;margin:20px 0 8px;border:2px dashed #EDBC48;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#ffffff;padding:16px;animation:mnavUp .5s ease-out both}
.mnav-links a{display:flex;align-items:center;justify-content:center;min-height:60px;margin-top:12px;border-radius:12px;font-size:19px;font-weight:700;text-decoration:none;color:#ffffff;border:2px solid #ffffff;box-sizing:border-box;animation:mnavUp .45s ease-out both}
.mnav-links a:nth-child(1){animation-delay:.08s}
.mnav-links a:nth-child(2){animation-delay:.16s}
.mnav-links a:nth-child(3){animation-delay:.24s;background:#EDBC48;border-color:#EDBC48;color:#192940}
@keyframes mnavIn{from{opacity:0}to{opacity:1}}
@keyframes mnavUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mnav-panel,.mnav-randy,.mnav-links a{animation:none!important}}
}

/* ---------- request form ---------- */
.hr-card{max-width:760px;margin:0 auto;background:#ffffff;border:1px solid #E3E8EE;border-radius:20px;padding:40px;box-sizing:border-box;display:flex;flex-direction:column;gap:28px;color:#192940;font-family:'DM Sans',system-ui,sans-serif;line-height:1.5}
.hr-top{display:flex;flex-direction:column;gap:12px}
.hr-toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}
.hr-back{background:transparent;border:none;padding:0;font:inherit;font-size:16px;font-weight:700;color:#195787;cursor:pointer}
.hr-stepno{font-size:14px;color:#3A4A5E;margin-left:auto}
.hr-bar{height:6px;background:#E3E8EE;border-radius:3px}
.hr-bar i{display:block;height:6px;background:#EDBC48;border-radius:3px}
.hr-body,.hr-done,.hr-urgent{display:flex;flex-direction:column;gap:24px}
.hr-qwrap{display:flex;flex-direction:column;gap:8px}
.hr-q{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:36px;line-height:1.1;letter-spacing:-0.02em;outline:none}
.hr-q.big{font-size:44px;line-height:1.05}
.hr-sub{margin:0;font-size:17px;color:#3A4A5E}
.hr-eyebrow{font-size:13px;font-weight:700;letter-spacing:0.12em;color:#195787}
.hr-opts{display:flex;flex-direction:column;gap:12px}
.hr-opts.two{flex-direction:row;flex-wrap:wrap}
.hr-opts.two .hr-opt{flex:1 1 260px;width:auto}
.hr-opt{display:flex;align-items:center;width:100%;min-height:56px;padding:0 20px;border-radius:12px;font-family:inherit;font-size:17px;font-weight:500;text-align:left;cursor:pointer;box-sizing:border-box;background:#ffffff;color:#192940;border:2px solid #8393A8}
.hr-opt:hover{border-color:#192940}
.hr-opt.on,.hr-pill.on,.hr-scale.on{background:#192940;color:#ffffff;border-color:#192940}
.hr-opt:focus-visible,.hr-pill:focus-visible,.hr-scale:focus-visible,.hr-btn:focus-visible,.hr-link:focus-visible,.hr-back:focus-visible,.hr-field input:focus-visible{outline:3px solid #EDBC48;outline-offset:2px}
.hr-scalewrap{display:flex;flex-direction:column;gap:8px}
.hr-scalerow{display:flex;gap:12px;flex-wrap:wrap}
.hr-scale{width:60px;height:60px;border-radius:50%;font-family:inherit;font-size:20px;font-weight:700;cursor:pointer;background:#ffffff;color:#192940;border:2px solid #8393A8}
.hr-scalelabels{display:flex;justify-content:space-between;max-width:372px;font-size:14px;color:#3A4A5E}
.hr-field{display:flex;flex-direction:column;gap:8px}
.hr-field label,.hr-label{font-size:16px;font-weight:700}
.hr-opt-note{font-weight:400;color:#3A4A5E}
.hr-field input{width:100%;box-sizing:border-box;min-height:56px;padding:0 16px;border:1.5px solid #8393A8;border-radius:12px;font-family:inherit;font-size:17px;color:#192940;background:#ffffff}
.hr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hr-err{font-size:15px;font-weight:700;color:#9B2C0F}
.hr-btn{align-self:flex-start;min-height:56px;padding:0 36px;background:#EDBC48;color:#192940;border:none;border-radius:10px;font-family:inherit;font-weight:700;font-size:18px;cursor:pointer}
.hr-btn:disabled{opacity:.6;cursor:wait}
.hr-btn.dark{background:#192940;color:#ffffff;min-height:52px;font-size:16px;padding:0 24px}
.hr-btn.ghost{background:#ffffff;color:#192940;border:2px solid #192940;min-height:48px;font-size:16px;padding:0 24px}
.hr-link{background:transparent;border:none;color:#195787;font:inherit;font-weight:700;font-size:16px;text-decoration:underline;cursor:pointer;min-height:48px;padding:0 12px}
.hr-small{margin:0;font-size:14px;color:#3A4A5E;max-width:560px}
.hr-small a,.hr-urgent a{color:#195787}
.hr-group{display:flex;flex-direction:column;gap:10px}
.hr-pills{display:flex;gap:10px;flex-wrap:wrap}
.hr-pill{min-height:48px;padding:0 20px;border-radius:999px;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;background:#ffffff;color:#192940;border:2px solid #8393A8}
.hr-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.hr-urgent{background:#FFF8E5;border:2px solid #EDBC48;border-radius:16px;padding:28px}
.hr-urgent p{margin:0;font-size:18px}
.hr-urgent .hr-q{font-size:32px}
.hr-check{width:64px;height:64px;border-radius:50%;background:#EDBC48;display:flex;align-items:center;justify-content:center}
.hr-lead{margin:0;font-size:19px;line-height:1.5}
.hr-recap{background:#F4F7FA;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}
.hr-row{display:flex;gap:16px;flex-wrap:wrap}
.hr-row .k{flex:0 0 180px;font-size:15px;font-weight:700;color:#3A4A5E}
.hr-row .v{flex:1 1 240px;font-size:16px}
@media (max-width:640px){
.hr-card{padding:22px 18px;gap:22px}
.hr-q{font-size:26px}.hr-q.big{font-size:32px}
.hr-urgent{padding:20px}.hr-urgent .hr-q{font-size:24px}
.hr-row .k{flex-basis:100%}
.hr-btn{width:100%;align-self:stretch}
}

/* ---------- pop-up ---------- */
.hr-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px 16px;box-sizing:border-box}
.hr-modal[hidden]{display:none}
.hr-modal-bg{position:fixed;inset:0;background:rgba(25,41,64,0.72)}
.hr-modal-box{position:relative;width:100%;max-width:760px;margin:auto}
.hr-modal-x{position:absolute;right:10px;top:10px;z-index:2;width:44px;height:44px;border-radius:50%;border:none;background:#F4F7FA;color:#192940;font-size:26px;line-height:1;cursor:pointer}
.hr-modal .hr-card{box-shadow:0 20px 50px rgba(25,41,64,0.35);padding-top:56px}
.hr-modal .hr-toprow{padding-right:48px}

/* ---------- menu mascot and focus ---------- */
.mnav-randy{border:none!important;padding:16px!important;background:#ffffff!important;border-radius:20px!important}
.mnav-randy img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
a:focus-visible,summary:focus-visible{outline:3px solid #EDBC48;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* ---------- tap targets, short screens, very narrow phones ---------- */
header > div > a[href="/"]{padding:8px 0}
header nav > a:not([href="/book/"]){display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
@media (max-height:520px){.mnav-randy{display:none!important}.mnav-links a{min-height:52px}}
@media (max-width:640px){
footer a{display:inline-block;padding:8px 0}
}
@media (max-width:380px){
[style*="gap:14px;align-items:flex-start"][style*="flex:1 1 240px"]{flex:1 1 100%!important}
}

section a[style*="display:inline-flex;align-items:center;gap:8px"]{min-height:44px}
a[href="#services"]{display:inline-flex;align-items:center;min-height:44px}
.hero-link{display:inline-flex;align-items:center;min-height:44px}
/* Cookie notice (#cookie-notice, assets/consent.js): its inline display:flex would otherwise beat the hidden attribute */
#cookie-notice[hidden]{display:none!important}
@media (max-width:640px){#cookie-notice{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-width:none!important}}
