/* Site header: the one masthead and main navigation used by the home page and every inner page. */
@font-face{font-family:Playfair;src:url('/assets/fonts/PlayfairDisplay-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Playfair;src:url('/assets/fonts/PlayfairDisplay-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Oswald;src:url('/assets/fonts/Oswald-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Oswald;src:url('/assets/fonts/Oswald-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('/assets/fonts/Lato-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('/assets/fonts/Lato-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
.masthead{--navy:#0b2340;--blue:#4f7198;--muted:#52677e;position:relative;z-index:60;color:var(--navy);font:16px/1.8 Lato,Arial,sans-serif;text-align:left;box-sizing:border-box}.masthead *,.masthead *:before,.masthead *:after{box-sizing:border-box}.masthead a{color:inherit;text-decoration:none}.masthead button{font:inherit;cursor:pointer}.masthead svg{display:block}.masthead :focus-visible{outline:3px solid #789fc6;outline-offset:5px}.masthead [hidden]{display:none!important}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px 20px}
.skip-link:focus{top:15px}
.masthead{height:110px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:white}
.brand{display:flex;align-items:center;gap:14px;font:700 27px/1.2 Playfair,Georgia,serif;white-space:nowrap}
.brand small{font:10px/1.2 Lato,Arial,sans-serif;display:block;letter-spacing:2.1px;margin-top:8px}
.brand-emblem{font:italic 48px/1 Georgia,serif;border:1px solid #0b234080;border-radius:50%;width:65px;height:43px;display:flex;align-items:center;justify-content:center;letter-spacing:-8px;padding-right:10px;transform:rotate(-10deg)}
.brand-emblem span{font-size:29px;transform:translateY(8px)}
.header-invitation{margin-left:auto;text-align:right;font:400 22px/1.3 Playfair,Georgia,serif;color:var(--blue)}
.header-invitation strong{font-weight:700;display:block}
.header-invitation>span{font-size:20px}
.header-phone{font:400 30px/1 Playfair,Georgia,serif;white-space:nowrap}
.menu-toggle{display:none}
.primary-nav{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:30px;padding:15px 60px;color:#fff;font:400 17px/1.4 Oswald,Arial,sans-serif;z-index:20;min-height:70px}
.primary-nav>a,.practice-menu{min-height:44px;display:flex;align-items:center}
.primary-nav>a:hover,.primary-nav>a[aria-current]{color:#b9cfe3}
.primary-nav.is-fixed{position:fixed;background:#0b2340f5;backdrop-filter:blur(14px);box-shadow:0 5px 20px #06192f15}
.practice-menu{border:0;background:none;color:inherit;padding:0;gap:12px;font:inherit}
.nav-group{position:relative}
.nav-dropdown{position:absolute;top:calc(100% + 8px);left:-20px;min-width:270px;padding:12px 0;background:#fff;color:var(--navy);box-shadow:0 12px 40px #06192f25;font:15px/1.6 Lato,Arial,sans-serif}
.nav-dropdown a{display:block;padding:12px 20px}
.nav-dropdown a:hover{background:#edf2f7}
.language-link{margin-left:auto;font-size:14px}
@media(max-width:1200px){.masthead{padding-inline:28px;gap:22px}.brand{font-size:23px}.brand-emblem{width:55px;font-size:43px}.header-invitation{font-size:17px}.header-invitation>span{font-size:16px}.header-phone{font-size:26px}.primary-nav{padding-inline:40px;gap:25px}}
@media(max-width:950px) and (min-width:701px){.header-invitation{display:none}.header-phone{margin-left:auto}.primary-nav{gap:20px;font-size:15px}}
@media(max-width:700px){.masthead{height:90px;padding:0 0 0 20px;gap:10px;position:sticky;top:0;z-index:50}.brand{font-size:19px;gap:9px}.brand small{font-size:7px;letter-spacing:1.2px}.brand-emblem{width:43px;height:32px;font-size:33px;letter-spacing:-6px;padding-right:8px}.brand-emblem>span{font-size:21px;transform:translateY(5px)}.header-invitation,.header-phone{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:80px;height:90px;flex-shrink:0;background:var(--blue);color:#fff;border:0;margin-left:auto}.menu-toggle>span{font:700 15px/1 Playfair,serif;margin-bottom:13px}.menu-toggle>i{display:block;width:34px;height:3px;background:#fff;margin:3px 0;transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true]>i:nth-of-type(1){transform:translateY(9px) rotate(45deg)}.menu-toggle[aria-expanded=true]>i:nth-of-type(2){opacity:0}.menu-toggle[aria-expanded=true]>i:nth-of-type(3){transform:translateY(-9px) rotate(-45deg)}.primary-nav,.primary-nav.is-fixed{position:fixed;top:90px;left:0;right:0;padding:15px 25px 25px;background:#0b2340;display:none;max-height:calc(100dvh - 90px);overflow-y:auto;font-size:18px}.primary-nav.is-open{display:flex;flex-direction:column;gap:3px;align-items:stretch}.primary-nav>a,.practice-menu{min-height:49px}.practice-menu{width:100%;justify-content:space-between}.nav-dropdown{position:static;box-shadow:none;margin:4px 0 10px;background:#173757;color:white;font-size:13px;padding:5px 0;min-width:0}.nav-dropdown a{padding:12px 16px}.nav-dropdown a:hover{background:#254967}.language-link{margin-left:0}}
@media(max-width:360px){.masthead{padding-left:14px}.brand{font-size:16px;gap:7px}.brand small{font-size:6px}.brand-emblem{width:35px;font-size:29px;height:27px}.brand-emblem>span{font-size:18px}.menu-toggle{width:68px}}
.primary-nav:not(.is-fixed){background:linear-gradient(90deg,#071a2de0 0%,#071a2d88 45%,#071a2d08 85%)}
.header-invitation{max-width:360px;font-size:17px;line-height:1.35}
.header-invitation strong{font-weight:600}
.header-invitation>span{font:400 14px/1.5 Lato,Arial,sans-serif;letter-spacing:.7px;color:var(--muted)}
.header-phone{font-size:25px;letter-spacing:.2px;color:var(--navy)}
.practice-menu svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.practice-menu[aria-expanded=true] svg{transform:rotate(180deg)}
.primary-nav.is-fixed{background:transparent;backdrop-filter:none;box-shadow:none}
.primary-nav,.primary-nav:not(.is-fixed),.primary-nav.is-fixed { background:transparent!important; backdrop-filter:none!important; box-shadow:none!important; }
.primary-nav:not(.is-fixed) { background:transparent!important; backdrop-filter:none!important; box-shadow:none!important; }
.primary-nav.is-fixed { background:#0b2340!important; backdrop-filter:none!important; box-shadow:0 5px 20px rgba(6,25,47,.15)!important; }
/* The navigation lives inside the masthead and overlays the top of the hero below it. */
@media(min-width:701px){.primary-nav{top:100%}.primary-nav.is-fixed{top:0}}
.practice-menu[data-active=true]{color:#b9cfe3}
/* Pages without a dark hero get a solid bar so the white links stay readable. */
@media(min-width:701px){body.page-plain .primary-nav:not(.is-fixed){background:#0b2340!important}body.page-plain #main{padding-top:70px}}
/* Over a photo the links sit on a soft navy fade so they stay readable on light images. */
@media(min-width:701px){body:not(.page-plain) .primary-nav:not(.is-fixed){background:linear-gradient(180deg,rgba(6,25,47,.6),rgba(6,25,47,.28) 70%,rgba(6,25,47,0))!important}}
/* Phone as a clear call button: icon, "call now" label and lining figures. */
.masthead .header-phone{display:flex;align-items:center;gap:13px;padding:7px 20px 7px 7px;border:1px solid #d3dfe9;border-radius:999px;background:#fff;color:var(--navy);transition:background .25s,border-color .25s,box-shadow .25s}
.masthead .header-phone-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;transition:background .25s}
.masthead .header-phone-icon svg{width:20px;height:20px}
.masthead .header-phone-text{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.masthead .header-phone small{font:400 11px/1 Oswald,Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue)}
.masthead .header-phone strong{font:700 19px/1 Lato,Arial,sans-serif;letter-spacing:.3px;color:var(--navy)}
.masthead .header-phone:hover{background:#f0f4f8;border-color:#b9cfe3;box-shadow:0 6px 18px #0b234012}
.masthead .header-phone:hover .header-phone-icon{background:var(--navy)}
@media(max-width:1200px){.masthead .header-phone{padding-right:16px;gap:11px}.masthead .header-phone strong{font-size:17px}}
/* Mobile keeps the masthead to logo + menu button, as before. */
@media(max-width:700px){.masthead .header-phone{display:none}}
/* Desktop menu: centred links, slightly larger, language link pinned to the right edge. */
@media(min-width:701px){.primary-nav{justify-content:center}.primary-nav>.language-link{position:absolute;right:60px;top:50%;transform:translateY(-50%);margin-left:0}}
@media(min-width:951px){.primary-nav{gap:38px}.primary-nav>a,.primary-nav .practice-menu{font-size:18.5px;letter-spacing:.3px}.primary-nav>.language-link{font-size:15px}}
@media(max-width:1200px) and (min-width:701px){.primary-nav>.language-link{right:40px}}
@media(min-width:701px){body:not(.page-plain) .primary-nav:not(.is-fixed){background:linear-gradient(180deg,rgba(6,25,47,.72),rgba(6,25,47,.36) 70%,rgba(6,25,47,0))!important}}
