/* Concept 3: crisp blue panel, soft blue wash, faded interior and compact navigation. */
#site-header.selector-masthead { --header-blue:#006AB6; --header-button:#799FD3; position:relative; isolation:isolate; background:#fff; border-bottom:1px solid #E6E6E6; }
#site-header .masthead-scene { position:absolute; z-index:-2; inset:0 0 0 50%; overflow:hidden; background:#f2f5f7 url('/assets/branding/header-interior.jpg') center 48%/cover no-repeat; }
#site-header .masthead-scene::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,106,182,.65),rgba(0,106,182,.13) 22%,rgba(255,255,255,.77) 52%,rgba(255,255,255,.95) 100%); }
#site-header .masthead-blue { position:absolute; z-index:-1; inset:0 auto 0 0; width:56%; background:var(--header-blue); clip-path:polygon(0 0,96% 0,100% 100%,0 100%); }
#site-header .masthead-inner { position:relative; width:100%; max-width:1800px; margin:auto; height:clamp(170px,12.2vw,220px); }
#site-header .masthead-name { position:absolute; left:3%; top:22%; color:#fff; text-decoration:none; white-space:nowrap; font:400 clamp(36px,3.9vw,66px)/1 Georgia,'Times New Roman',serif; letter-spacing:-1.5px; text-shadow:0 1px 1px #0002; }
#site-header .masthead-name span { display:block; margin-top:12px; font:600 clamp(9px,.91vw,15px)/1.4 Montserrat,sans-serif; text-transform:uppercase; letter-spacing:2.8px; }
#site-header .masthead-tagline { position:absolute; left:33.6%; top:26%; margin:0; padding:7px 0 7px 2%; border-left:1px solid #ffffff80; color:white; font:400 clamp(14px,1.37vw,23px)/1.45 Georgia,'Times New Roman',serif; white-space:nowrap; }
#site-header .masthead-portrait { position:absolute; left:52%; bottom:0; width:14%; height:100%; overflow:hidden; pointer-events:none; }
#site-header .masthead-portrait img { display:block; width:100%; height:auto; margin-top:0; }
#site-header .masthead-contact { position:absolute; top:18%; right:2%; display:flex; align-items:center; gap:clamp(14px,2vw,34px); }
#site-header .masthead-phone { display:inline-flex; align-items:center; gap:10px; color:#006AB6; text-decoration:none; white-space:nowrap; font:500 clamp(12px,1.1vw,18px)/1.4 Montserrat,sans-serif; }
#site-header .masthead-book { display:inline-flex; justify-content:center; align-items:center; gap:18px; padding:16px 22px; background:var(--header-button); color:#fff; border:1px solid #8ab0df; border-radius:5px; text-decoration:none; font:700 clamp(13px,1.2vw,19px)/1.3 Montserrat,sans-serif; box-shadow:inset 0 1px 0 #ffffff20,0 1px 3px #25476515; white-space:nowrap; }
#site-header .masthead-book:hover { filter:brightness(.96); }
#site-header .masthead-book span { font-size:1.3em; font-weight:400; }
#site-header .masthead-menu { position:absolute; right:2%; bottom:8%; display:flex; align-items:center; gap:30px; }
#site-header .masthead-menu a,#site-header .masthead-menu button { color:#404041; font:500 clamp(12px,1vw,16px)/1.5 Montserrat,sans-serif; text-decoration:none; border:0; background:none; padding:8px 0; cursor:pointer; }
#site-header .masthead-menu [aria-current=page] { border-bottom:3px solid #FF5F00; }
#site-header .masthead-menu [data-shortlist-count] { font-size:.85em; margin-left:4px; }
#site-header .masthead-menu-toggle { display:none; }
#site-header.selector-masthead a:focus-visible,#site-header.selector-masthead button:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(min-width:1800px) { #site-header .masthead-blue { width:calc(50% + 108px); } #site-header .masthead-scene { left:calc(50% - 0px); } }
@media(min-width:761px) and (max-width:1050px) {
 #site-header .masthead-inner { height:185px; }
 #site-header .masthead-name { top:20%; font-size:clamp(31px,3.9vw,42px); }
 #site-header .masthead-name span { letter-spacing:1.4px; font-size:8px; }
 #site-header .masthead-tagline { font-size:13px; top:28%; left:34%; padding-left:1.5%; }
 #site-header .masthead-contact { gap:10px; top:16%; right:1.5%; flex-direction:column; align-items:flex-end; }
 #site-header .masthead-book { padding:12px 16px; font-size:12px; }
 #site-header .masthead-phone { font-size:12px; }
 #site-header .masthead-menu { gap:18px; right:1.5%; bottom:5%; }
 #site-header .masthead-menu a,#site-header .masthead-menu button { font-size:11px; }
 #site-header .masthead-portrait { width:15%; left:56%; }
}
@media(max-width:760px) {
 #site-header.selector-masthead { background:#006AB6; }
 #site-header .masthead-inner { height:240px; }
 #site-header .masthead-blue { width:100%; clip-path:none; }
 #site-header .masthead-scene { left:35%; opacity:.17; z-index:0; }
 #site-header .masthead-scene::after { background:linear-gradient(90deg,#006AB6,rgba(0,106,182,.2)); }
 #site-header .masthead-name { left:5%; top:16px; z-index:2; font-size:clamp(28px,7.4vw,42px); letter-spacing:-1px; }
 #site-header .masthead-name span { font-size:clamp(8px,2vw,10px); letter-spacing:1.5px; margin-top:7px; }
 #site-header .masthead-tagline { left:5%; top:93px; padding:0; border:0; z-index:2; font-size:clamp(17px,4.6vw,22px); line-height:1.4; }
 #site-header .masthead-portrait { left:auto; right:0; width:clamp(126px,35vw,190px); height:194px; z-index:1; }
 #site-header .masthead-portrait img { margin-top:0; }
 #site-header .masthead-contact { top:auto; bottom:16px; left:5%; right:17%; z-index:3; display:block; }
 #site-header .masthead-phone { display:none; }
 #site-header .masthead-book { width:100%; min-height:52px; padding:12px 8px; font-size:16px; gap:16px; background:rgba(121,159,211,.94); border-color:#97b5dc; }
 #site-header .masthead-menu-toggle { display:flex; position:absolute; right:4%; top:14px; z-index:5; width:44px; height:44px; flex-direction:column; justify-content:center; align-items:center; gap:5px; border:0; background:transparent; cursor:pointer; color:#fff; }
 #site-header .masthead-menu-toggle span { display:block; width:25px; height:3px; border-radius:1px; background:currentColor; }
 #site-header .masthead-menu { display:none; z-index:6; left:5%; right:4%; top:64px; bottom:auto; padding:12px 18px; background:#fff; border:1px solid #E6E6E6; border-radius:5px; box-shadow:0 8px 22px #0002; flex-direction:column; align-items:stretch; gap:3px; }
 #site-header .masthead-menu.is-open { display:flex; }
 #site-header .masthead-menu a,#site-header .masthead-menu button { text-align:left; font-size:14px; padding:11px 0; }
 #site-header .masthead-menu [aria-current=page] { align-self:flex-start; }
}
@media(max-width:360px) {
 #site-header .masthead-name { font-size:27px; }
 #site-header .masthead-name span { font-size:7.5px; letter-spacing:1px; }
 #site-header .masthead-tagline { font-size:16px; }
 #site-header .masthead-book { font-size:14px; }
}

#site-header .masthead-tagline > span { display:block; }
#site-header .masthead-tagline #site-header .masthead-ideas { color:#1E87F0; text-shadow:0 1px 1px rgba(0,0,0,.12); }
/* Face into the mobile header; desktop keeps the original portrait. */
@media(max-width:760px) { #site-header .masthead-portrait img { transform:scaleX(-1); } }

/* Review: balanced text, Concept 3 dark blue and the branded-blue CTA. */
#site-header.selector-masthead { --header-blue:#004B76; --header-button:#006AB6; }
#site-header .masthead-scene::after { background:linear-gradient(90deg,rgba(0,75,118,.65),rgba(0,75,118,.13) 22%,rgba(255,255,255,.77) 52%,rgba(255,255,255,.95) 100%); }
#site-header .masthead-book { border-color:#1E87F0; }
#site-header .masthead-tagline #site-header .masthead-ideas { color:#B8D8F2; text-shadow:none; }
@media(min-width:761px) {
 #site-header .masthead-name,#site-header .masthead-tagline { top:50%; transform:translateY(-50%); }
}
@media(max-width:760px) {
 #site-header.selector-masthead { background:#004B76; }
 #site-header .masthead-scene::after { background:linear-gradient(90deg,#004B76,rgba(0,75,118,.2)); }
 #site-header .masthead-book { background:#006AB6; border-color:#1E87F0; }
}


@media(max-width:760px){#site-header .masthead-contact{right:auto;width:auto}#site-header .masthead-book{width:fit-content;min-height:40px;padding:8px 12px;font-size:12px;font-weight:600;gap:8px;box-shadow:none}#site-header .masthead-tagline{font-size:clamp(15px,4.15vw,21px)}}

#site-header.selector-masthead{display:block;position:relative;width:100%;max-width:none;margin:0;padding:0;border-radius:0;box-shadow:none;font:400 15px/1.8 Montserrat,Arial,sans-serif;text-align:left;overflow:visible;flex:none;box-sizing:border-box}#site-header *{box-sizing:border-box}#site-header .masthead-menu{flex-wrap:nowrap}#site-header .masthead-menu-toggle{margin:0;padding:1px 6px;border-radius:0;min-height:0;min-width:0;box-shadow:none}#site-header .masthead-menu-toggle:hover{background:transparent}#site-header .masthead-menu a{margin:0;border-radius:0;box-shadow:none;letter-spacing:normal}#site-header .masthead-name .masthead-contractor{display:block;font:400 clamp(10px,.8vw,13px)/1.45 Montserrat,Arial,sans-serif;text-transform:none;letter-spacing:0;color:#d6e9f6;margin-top:8px;white-space:normal;max-width:100%}#site-header .contractor-builder{font:inherit!important;letter-spacing:0!important;text-transform:none!important;margin:0!important}#site-header .masthead-name{width:30%}#site-header .masthead-menu{gap:clamp(10px,1.1vw,20px)}#site-header .masthead-menu a{font-size:clamp(10px,.9vw,14px)}
@media(max-width:760px){
#site-header .masthead-inner{height:195px;min-height:195px}
#site-header .masthead-name{top:14px;left:5%;width:calc(100% - 68px);max-width:none;font-size:clamp(25px,7.1vw,39px);transform:none;z-index:2}
#site-header .masthead-name>span:first-child{margin-top:6px}
#site-header .masthead-name .masthead-contractor{font-size:10px;line-height:1.18;max-width:210px;width:auto;padding-right:0;margin-top:7px;white-space:normal;text-wrap:wrap}
#site-header .masthead-contractor .contractor-builder{display:block}
#site-header .masthead-tagline{top:130px;left:5%;font-size:clamp(13px,3.7vw,18px);line-height:1.35;max-width:66%;z-index:2;transform:none}
#site-header .masthead-portrait{width:auto;aspect-ratio:427 / 640;height:195px;left:auto;right:18px;bottom:0;overflow:visible}
#site-header .masthead-portrait img{display:block;width:100%;height:100%;max-height:none;max-width:none;margin:0;object-fit:contain;object-position:center bottom}
#site-header .masthead-menu-toggle{top:10px;z-index:4}
#site-header .masthead-menu{top:58px;z-index:5;gap:3px}
#site-header .masthead-menu a{font-size:14px;min-height:44px;padding:11px 0}
}

.tf-embedded-spec #site-header{display:none}

/* Two navigation rows beside the portrait; mobile retains its dropdown. */
@media(min-width:761px){
 #site-header .masthead-menu{display:grid;grid-template-columns:1fr .85fr 1.55fr;left:67%;right:2%;top:50%;bottom:auto;transform:translateY(-50%);column-gap:12px;row-gap:6px;align-items:center}
 #site-header .masthead-menu a{display:flex;align-items:center;min-height:44px;font-size:clamp(10px,1vw,14px);line-height:1.4;white-space:normal;padding:6px 0}
}
@media(min-width:761px) and (max-width:1050px){
 #site-header .masthead-menu{left:72%;right:1.5%;column-gap:8px}
}

/* Approved bottom-right navigation: two right-aligned rows. */
@media(min-width:761px){
 #site-header .masthead-menu{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;left:67%;right:2%;top:auto;bottom:8%;transform:none;gap:0}
 #site-header .masthead-nav-row{display:flex;justify-content:flex-end;align-items:center;gap:clamp(10px,1.1vw,20px);max-width:100%}
 #site-header .masthead-menu a{display:block;min-height:0;padding:8px 0;text-align:right;white-space:normal}
}
@media(min-width:761px) and (max-width:1050px){#site-header .masthead-menu{left:72%;right:1.5%;bottom:5%}#site-header .masthead-nav-row{gap:8px}}
@media(max-width:760px){#site-header .masthead-nav-row{display:contents}}

/* Lift the whole isolated masthead above page fields while its mobile menu is open. */
@media(max-width:760px){
 #site-header.selector-masthead:has(.masthead-menu.is-open){z-index:1000}
 #site-header .masthead-menu{border:2px solid #004b76;box-shadow:0 10px 28px rgba(0,39,63,.28);background:#fff;max-height:calc(100dvh - 74px);overflow-y:auto}
}

/* Keep the two approved desktop rows and every navigation label on one line. */
@media(min-width:1101px){
 #site-header .masthead-menu{left:auto;right:2%;width:max-content;max-width:32%}
 #site-header .masthead-nav-row,#site-header .masthead-nav-row:first-child{display:flex;width:auto;flex-wrap:nowrap;gap:clamp(8px,.8vw,14px)}
 #site-header .masthead-menu a{white-space:nowrap;flex:0 0 auto;font-size:clamp(10px,.85vw,14px)}
}
/* At tablet widths use the menu, rather than squeeze links beside the portrait. */
@media(min-width:761px) and (max-width:1100px){
 #site-header .masthead-menu-toggle{display:flex;position:absolute;top:14px;right:2%;width:44px;height:44px;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#004b76;z-index:6}
 #site-header .masthead-menu-toggle span{display:block;width:24px;height:2px;background:currentColor}
 #site-header .masthead-menu{display:none;left:auto;right:2%;top:64px;bottom:auto;transform:none;width:260px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 80px);overflow-y:auto;padding:12px 20px;background:white;border:2px solid #004b76;box-shadow:0 10px 28px #00273f47;z-index:5;align-items:stretch}
 #site-header .masthead-menu.is-open{display:flex}
 #site-header .masthead-nav-row,#site-header .masthead-nav-row:first-child{display:contents}
 #site-header .masthead-menu a{white-space:nowrap;text-align:left;font-size:14px;min-height:44px;padding:11px 0}
 #site-header.selector-masthead:has(.masthead-menu.is-open){z-index:1000}
}

/* Distinguish desktop destinations while keeping the compact menu list on smaller screens. */
@media(min-width:1101px){#site-header .masthead-nav-row,#site-header .masthead-nav-row:first-child{gap:0}#site-header .masthead-nav-row>a+a{position:relative;margin-left:clamp(7px,.6vw,10px);padding-left:0;background-image:none}#site-header .masthead-nav-row>a+a::before{content:"|" / "";position:static;display:inline-block;margin-right:clamp(7px,.6vw,10px);font:400 16px/1 Arial,sans-serif;color:#607b8c;vertical-align:baseline;pointer-events:none}}
