/* Generated from source-static/en-home.html by migration/tools/build-theme-css.pl. */
body{
  --paper:#fff; --surface:#f4f8fd; --soft:#e8f0fb;
  --ink:#0d1321; --body:#3a465e; --muted:#5f6c85;
  --rule:#e2e9f4; --rule-strong:#6b7789;
  --brand:#4576bb; --brand-ink:#2f5b96; --brand-soft:#e4edfa; --on-brand:#fff;
  --display:"Poppins","Segoe UI",system-ui,sans-serif;
  --text:"Be Vietnam Pro","Segoe UI",system-ui,sans-serif;
  --measure:36rem; --shell:1280px; --rail:9rem;
  --r-md:8px; --r-lg:16px; --r-xl:22px;
  --sky-air-top:#f2f7fd;--sky-air-bot:#fff;--sky4-top:#e3edf9;--sky4-bot:#eef4fc;
  --sky3-top:#d3e1f4;--sky3-bot:#e0ecf9;--sky2-top:#bed2ec;--sky2-bot:#d0e0f4;
  --sky1-top:#a3c0e6;--sky1-bot:#8eb2dc;--sky-lit:#fff;--tex:#4576bb;
  box-sizing:border-box;background:var(--paper);color:var(--body);
  font-family:var(--text);font-size:17px;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
p{margin:0}
:where(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}
::selection{background:var(--brand-soft);color:var(--ink)}

.wrap{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:20px}
.band{position:relative;padding-block:clamp(48px,3vw + 30px,88px)}
.band-tint{background:var(--surface)}
.band-line{border-top:1px solid var(--rule)}
.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px 40px;align-items:start}
.col{max-width:var(--measure)}
.col>*+*{margin-top:18px}
.col>h2+p,.col>h1+p{margin-top:22px}
.full{grid-column:1/-1}
@media (min-width:62rem){
  .grid{grid-template-columns:var(--rail) minmax(0,1fr);gap:0 56px}
  .col,.full{grid-column:2}
  .eyebrow{grid-column:1;grid-row:1/span 14;align-self:start;padding-top:10px;border-top:2px solid var(--brand)}
}
.eyebrow{margin:0;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

h1,h2,h3,h4{font-family:var(--display);font-weight:600;color:var(--ink);text-wrap:balance;margin:0;letter-spacing:-.02em;line-height:1.18}
h1{font-size:clamp(32px,2.6vw + 20px,54px);line-height:1.12}
h2{font-size:clamp(25px,1.4vw + 16px,37px)}
h3{font-size:20px;line-height:1.35;letter-spacing:-.015em}
.lead{font-size:19px;line-height:1.7}
.mute{color:var(--muted)}
.pull{font-family:var(--display);font-size:20px;font-weight:500;line-height:1.45;letter-spacing:-.015em;color:var(--brand-ink)}
strong{font-weight:600;color:var(--ink)}

.lockup{display:inline-block;font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--ink);text-decoration:none;white-space:nowrap}
.lockup svg{height:1.019em;width:auto;margin-left:.053em;vertical-align:-.522em;color:var(--brand)}
.lockup-head{font-size:21px}
.lockup-foot{font-size:23px}

.site-head{border-bottom:1px solid var(--rule);background:var(--paper)}
.head-in{display:flex;align-items:center;gap:16px;min-height:72px}
.head-sp{flex:1}
.nav{display:none;align-items:center;gap:22px;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
@media (min-width:78rem){.nav{display:flex}}
.nav a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;padding-block:6px;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand)}
.head-act{display:flex;align-items:center;gap:8px}
.lang{display:inline-flex;align-items:center;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--muted);border:1px solid var(--rule);border-radius:999px;padding:7px 12px;text-decoration:none}
.lang:hover{color:var(--ink);border-color:var(--rule-strong)}
.mobnav{display:flex;flex-wrap:wrap;gap:6px 16px;padding-block:12px;border-top:1px solid var(--rule)}
@media (min-width:78rem){.mobnav{display:none}}
.mobnav a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none}

.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:var(--text);font-size:15px;font-weight:600;line-height:1;padding:15px 23px;border-radius:var(--r-md);border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);text-decoration:none;cursor:pointer}
.btn:hover{background:#3a639f;border-color:#3a639f;color:var(--on-brand)}
.btn-sm{padding:10px 16px;font-size:14px}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.btn-ghost:hover{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-login{background:transparent;color:var(--brand-ink);border-color:var(--brand-soft)}
.btn-login:hover{background:var(--brand-soft);border-color:var(--brand-soft);color:var(--brand-ink)}
.btn-login svg{width:13px;height:13px;flex:none}
.cta-link{display:inline-flex;align-items:baseline;gap:6px;font-size:15px;font-weight:600;color:var(--brand-ink);text-decoration:none;border-bottom:1px solid rgba(47,91,150,.35);padding-bottom:2px}
.cta-link:hover{border-bottom-color:var(--brand-ink)}
@media (max-width:30rem){main .btn,.ctaband .btn{white-space:normal;text-align:center}}

/* skyline + texture */
.scene{position:relative;overflow:hidden;isolation:isolate}
.scene>.skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:58%;min-height:150px;z-index:0;pointer-events:none}
.scene>.wrap,.scene>.inner{position:relative;z-index:1}
.scene-tall>.skyline{height:70%}
.tex{position:absolute;inset:0;z-index:0;opacity:.05;pointer-events:none}
.ctaband .tex{opacity:.14;--tex:#fff}

/* hero */
.hero{padding-block:clamp(40px,3vw + 24px,80px) clamp(40px,2vw + 24px,64px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
@media (min-width:60rem){.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}}
.hero-eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:16px}
.hero-body{max-width:34rem;margin-top:26px}
.hero-body>*+*{margin-top:18px}
.figure{border-radius:var(--r-xl);overflow:hidden;background:var(--soft);margin:0;box-shadow:0 2px 20px rgba(13,19,33,.08)}
.figure img{width:100%;aspect-ratio:3/2;object-fit:cover}

.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin:0}
@media (min-width:46rem){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{display:flex;flex-direction:column;gap:5px}
.stat dt{order:2;font-size:13px;line-height:1.35;color:var(--muted)}
.stat dd{order:1;margin:0;font-family:var(--display);font-size:clamp(27px,1.2vw + 20px,36px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1;color:var(--brand-ink)}
.trust-head{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}

.chips{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:13px;font-weight:500;line-height:1;padding:9px 14px;border:1px solid var(--rule);border-radius:999px;color:var(--muted);background:var(--paper)}

.timing{margin:40px 0 0;padding:24px 20px 21px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg)}
@media (min-width:46rem){.timing{padding:30px 28px 26px}}
.t-rail{position:relative;padding-top:30px}
.t-dead{position:absolute;top:22px;bottom:6px;right:0;width:0;border-left:1px dashed var(--rule-strong)}
.t-dead span,.t-dead>p{position:absolute;top:-24px;right:0;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.track+.track{margin-top:30px}
.t-name{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:11px}
.t-viz{position:relative;height:13px}
.t-viz .bar{position:absolute;top:50%;left:0;height:3px;transform:translateY(-50%);border-radius:3px}
.t-viz .dot{position:absolute;top:50%;width:11px;height:11px;border-radius:999px;transform:translate(-50%,-50%)}
.t-viz .room{position:absolute;top:50%;height:13px;transform:translateY(-50%);background:var(--brand-soft);border-radius:4px}
.bar-late{width:100%;background:var(--muted)}.dot-late{left:100%;background:var(--ink)}
.bar-ahead{width:46%;background:var(--brand)}.dot-ahead{left:46%;background:var(--brand)}.room-ahead{left:46%;right:0}
.t-note{margin-top:11px;padding-right:18px;font-size:14px;line-height:1.55;color:var(--muted)}
.t-note b{font-weight:600;color:var(--ink)}
.t-cap{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--rule);font-size:13px;line-height:1.55;color:var(--muted)}

.chain{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 11px;margin:32px 0 0;padding:0}
.chain li{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.chain li::after{content:"\2192";color:var(--brand);font-weight:400}
.chain li:last-child::after{content:none}

.tiers{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:36px}
@media (min-width:52rem){.tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.tier{display:flex;flex-direction:column;gap:13px;padding:28px 24px 29px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg)}
.tier:hover{border-color:var(--brand)}
.chip{align-self:flex-start;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 11px;border-radius:999px;border:1px solid var(--rule-strong);color:var(--muted)}
.tier-2 .chip{border-color:transparent;background:var(--brand-soft);color:var(--brand-ink)}
.tier-3 .chip{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}
.tier-promise{font-family:var(--display);font-size:17px;font-weight:500;line-height:1.4;color:var(--brand-ink)}
.tier-body{font-size:15px;line-height:1.65;color:var(--muted)}
.tier-price{margin-top:auto;padding-top:16px;border-top:1px solid var(--rule);font-family:var(--display);font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}
.tier-price span{display:block;font-family:var(--text);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.tier-price em{font-style:normal;font-size:15px;font-weight:500;color:var(--muted)}

.split{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:36px;padding-top:28px;border-top:1px solid var(--rule)}
@media (min-width:46rem){.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}}
.split h3{font-family:var(--text);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.split ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.split li{position:relative;padding-left:21px;font-size:15px;line-height:1.6}
.split li::before{content:"";position:absolute;left:0;top:.65em;width:9px;height:2px;border-radius:2px;background:var(--rule-strong)}
.split-you li::before{background:var(--ink)}
.split-we li::before{background:var(--brand)}

.panel{padding:26px 22px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg)}
@media (min-width:46rem){.panel{padding:32px}}
.panel>*+*{margin-top:16px}
.panel-label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink)}
.quote{margin:32px 0 0;padding-top:26px;border-top:1px solid var(--rule)}
.quote blockquote{margin:0;font-family:var(--display);font-size:clamp(20px,1vw + 15px,25px);font-weight:500;line-height:1.45;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.quote figcaption{margin-top:14px;font-size:13px;font-weight:500;color:var(--muted)}

.tablewrap{overflow-x:auto;margin-top:32px;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--paper)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px;margin:0}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
thead th{background:var(--paper);font-family:var(--display);font-size:15px;font-weight:600;color:var(--ink);border-bottom:2px solid var(--brand)}
thead th:first-child{font-family:var(--text);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
tbody th{font-weight:500;color:var(--body);width:34%}
td{color:var(--muted)}
td.y{color:var(--brand-ink);font-weight:600}
td.n{color:var(--muted);opacity:.5}
tr.row-price th,tr.row-price td{font-family:var(--display);font-weight:600;color:var(--ink);background:var(--surface)}

.faq{margin-top:32px;border-top:1px solid var(--rule)}
details{border-bottom:1px solid var(--rule)}
summary{list-style:none;cursor:pointer;padding:19px 40px 19px 0;position:relative;font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink);line-height:1.45}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:26px;width:9px;height:9px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg)}
details[open] summary::after{transform:rotate(-135deg)}
.faq-body{padding:0 0 21px;max-width:var(--measure)}
.faq-body>*+*{margin-top:14px}

.team{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
@media (min-width:40rem){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64rem){.team{grid-template-columns:repeat(3,minmax(0,1fr))}}
.member{padding:22px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:9px}
.member .role{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-ink)}
.member .bio{font-size:14px;line-height:1.6;color:var(--muted)}
.member .count{font-size:13px;line-height:1.55;color:var(--body);padding-top:10px;border-top:1px solid var(--rule)}
.member .count b{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}

.reach{margin-top:32px;padding:24px;background:var(--soft);border-radius:var(--r-lg);display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:46rem){.reach{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:28px}}
.reach div{display:flex;flex-direction:column;gap:4px}
.reach dt{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.reach dd{margin:0;font-size:15px;line-height:1.5}
.reach a{color:var(--brand-ink);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(47,91,150,.3)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:32px 0 0;padding:22px 0 0;border-top:1px solid var(--rule)}
@media (min-width:46rem){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.facts div{display:flex;flex-direction:column;gap:5px}
.facts dt{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;font-size:15px;line-height:1.45}

form.consult{margin-top:32px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);padding:24px}
@media (min-width:46rem){form.consult{padding:32px}}
fieldset{border:0;padding:0;margin:0;min-width:0}
fieldset+fieldset{margin-top:28px;padding-top:26px;border-top:1px solid var(--rule)}
legend{padding:0;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:16px}
.fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:40rem){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field{display:flex;flex-direction:column;gap:6px}
.field.wide{grid-column:1/-1}
.field label{font-size:13px;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{font-family:var(--text);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r-md);padding:11px 13px;width:100%;max-width:100%}
.field textarea{min-height:100px;resize:vertical;line-height:1.6}
.form-foot{margin-top:26px;display:flex;flex-direction:column;gap:13px}
.form-note{font-size:13px;line-height:1.6;color:var(--muted)}
.form-note a{color:var(--brand-ink);text-underline-offset:3px}
.form-err{font-size:14px;color:#b3261e;font-weight:500}

/* Privacy policy */
.legal-hero{padding-block:clamp(52px,5vw,88px);background:var(--surface);border-bottom:1px solid var(--rule)}
.legal-hero__inner{max-width:56rem}
.legal-hero .eyebrow{margin-bottom:14px;color:var(--brand-ink)}
.legal-hero .lead{max-width:46rem;margin-top:20px;color:var(--body)}
.legal-effective{margin-top:22px;font-size:14px;color:var(--muted)}
.legal-content{max-width:50rem}
.legal-content>.legal-section+.legal-section{margin-top:clamp(40px,5vw,64px);padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--rule)}
.legal-section{scroll-margin-top:96px}
.legal-section>*+*{margin-top:14px}
.legal-section h2{font-size:clamp(24px,1.2vw + 17px,32px)}
.legal-section h3{margin-top:24px;font-size:18px}
.legal-section :where(ul,ol){margin:16px 0 0;padding-inline-start:1.35em}
.legal-section li+li{margin-top:8px}
.legal-section a{color:var(--brand-ink);text-underline-offset:3px}
.legal-contact{margin-top:22px;padding:24px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg)}
.legal-contact>*+*{margin-top:8px}

.posts{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:32px}
@media (min-width:52rem){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.post-card{display:flex;flex-direction:column;gap:9px;padding:24px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-lg);text-decoration:none}
.post-card:hover{border-color:var(--brand)}
.post-meta{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.post-card p{font-size:15px;line-height:1.65;color:var(--muted)}

.ctaband{position:relative;overflow:hidden;isolation:isolate;background:var(--brand);color:var(--on-brand);border-radius:var(--r-xl);padding:32px 24px;margin-top:40px}
@media (min-width:46rem){.ctaband{padding:44px 40px}}
.ctaband>*{position:relative;z-index:1}
.ctaband h2,.ctaband h3{color:var(--on-brand)}
.ctaband p{color:rgba(255,255,255,.9);margin-top:14px;max-width:38rem}
.ctaband .btn{background:var(--on-brand);color:var(--brand-ink);border-color:var(--on-brand);margin-top:24px}
.ctaband .btn:hover{background:#eaf1fb;border-color:#eaf1fb;color:var(--brand-ink)}

.site-foot{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid var(--rule);background:var(--surface)}
.foot-in{position:relative;z-index:1;padding-block:44px 32px;display:flex;flex-direction:column;gap:32px}
@media (min-width:52rem){.foot-in{flex-direction:row;justify-content:space-between;gap:48px}}
.foot-brand{display:flex;flex-direction:column;gap:11px;max-width:22rem}
.foot-tag{font-size:13px;font-weight:500;color:var(--brand-ink)}
.foot-note{font-size:13px;line-height:1.65;color:var(--muted)}
.foot-cols{display:flex;flex-wrap:wrap;gap:28px 48px}
.foot-col{display:flex;flex-direction:column;gap:9px}
.foot-col h2{font-family:var(--text);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 3px}
.foot-col a,.foot-col span{font-size:14px;line-height:1.55;color:var(--muted);text-decoration:none}
.foot-col a:hover{color:var(--ink)}
.foot-base{position:relative;z-index:1;border-top:1px solid var(--rule);padding-block:18px 28px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:12px;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- photographic heroes ------------------------------------------------ */
.phero{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;
  min-height:clamp(420px,46vw,580px);padding-block:56px}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.phero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none}
.phero-light .phero-scrim{background:linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 36%,rgba(255,255,255,.58) 58%,rgba(255,255,255,.04) 84%)}
.phero-dark  .phero-scrim{background:linear-gradient(100deg,rgba(13,19,33,.95) 0%,rgba(13,19,33,.89) 38%,rgba(13,19,33,.56) 62%,rgba(13,19,33,.18) 92%)}
@media (max-width:60rem){
  .phero-light .phero-scrim{background:rgba(255,255,255,.94)}
  .phero-dark  .phero-scrim{background:rgba(13,19,33,.91)}
}
.phero-in{position:relative;z-index:2;width:100%}
.phero-copy{max-width:40rem}
.phero-copy .lead{margin-top:22px}
.phero-copy .hero-body{margin-top:18px}
.phero-copy .actions{margin-top:32px}
.phero-foot{margin-top:24px;font-size:14px;color:var(--muted)}
.phero-dark h1,.phero-dark .lead,.phero-dark .phero-foot,
.phero-dark .mute,.phero-dark p{color:#fff}
.phero-dark .hero-eyebrow{color:#c3d7f2}
.phero-dark .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.phero-dark .btn-ghost:hover{border-color:#fff;color:#fff}

.ctaband-photo{padding-block:clamp(40px,4vw,60px)}
.cta-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cta-wash{position:absolute;inset:0;z-index:0;background:linear-gradient(105deg,rgba(43,85,144,.96),rgba(60,105,172,.90))}
.btn-onblue{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-onblue:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}

/* ---- narrow screens: the header keeps brand, language and Client Login --- */
@media (max-width:95.99rem){.head-act .btn-book{display:none}}
.mobnav .mob-book{color:var(--brand-ink);font-weight:600}
@media (max-width:32rem){
  .lockup-head{font-size:17px}
  .btn-login{padding:8px 10px;font-size:12px;gap:5px}
  .btn-login svg{width:12px;height:12px}
  .lang{padding:6px 9px;font-size:12px}
  .head-in{gap:8px;min-height:62px}
  .head-act{gap:6px}
}
@media (max-width:23.5rem){
  .wrap{padding-inline:16px}
  .btn-login span{display:none}
  .btn-login{padding:8px 9px}
}


/* WordPress block markup adaptations. */
:root { --brand-gray: #8e8e8e; --brand-deep: #244a7c; }
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
}
.wp-site-blocks > main {
  flex: 1 0 auto;
  width: 100%;
}
.admin-bar .wp-site-blocks {
  min-height: calc(100svh - 32px);
}
html.wp-admin-bar-gdl-live-site-banner-enabled .wp-site-blocks {
  min-height: calc(100svh - 75px);
}
@media (max-width:48.875rem) {
  .admin-bar .wp-site-blocks {
    min-height: calc(100svh - 46px);
  }
  html.wp-admin-bar-gdl-live-site-banner-enabled .wp-site-blocks {
    min-height: calc(100svh - 87px);
  }
}
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content { margin: 0; }

/*
 * Core's flow layout removes the start margin from a first child with a
 * higher-specificity :first-child rule. These source components deliberately
 * keep their own breathing room even when they are the sole child of a wrap.
 */
.wp-block-group.faq { margin-block-start: 32px; }
.wp-block-group.ctaband { margin-block-start: 40px; }
.wp-block-group.band-cta-compact {
  padding-block-start: clamp(24px, 1.5vw + 15px, 44px);
}
.wp-block-group.band-cta-compact .ctaband { margin-block-start: 20px; }
@media (max-width:37.49rem) {
  /* Keep one 64px content-to-panel transition instead of stacking three gaps. */
  .wp-block-group.band:not(.band-cta-compact) > .wrap > .ctaband:first-child {
    margin-block-start: calc(64px - clamp(48px, 3vw + 30px, 88px) - clamp(48px, 3vw + 30px, 88px));
  }
  .wp-block-group.band-cta-compact > .wrap > .ctaband:first-child {
    margin-block-start: calc(64px - clamp(48px, 3vw + 30px, 88px) - clamp(24px, 1.5vw + 15px, 44px));
  }
}
@media (min-width:37.5rem) {
  /* Give the larger layouts one deliberate 96px transition. */
  .wp-block-group.band:not(.band-cta-compact) > .wrap > .ctaband:first-child {
    margin-block-start: calc(96px - clamp(48px, 3vw + 30px, 88px) - clamp(48px, 3vw + 30px, 88px));
  }
  .wp-block-group.band-cta-compact > .wrap > .ctaband:first-child {
    margin-block-start: calc(96px - clamp(48px, 3vw + 30px, 88px) - clamp(24px, 1.5vw + 15px, 44px));
  }
}
/* The home-page CTA follows a tinted contact band, so preserve a visible
   neutral transition between the colour fields at every viewport size. */
body.home .wp-block-group.band:not(.band-cta-compact) > .wrap > .ctaband:first-child {
  margin-block-start: calc(48px - clamp(48px, 3vw + 30px, 88px));
}

/* Rebuild the source timing graphic without non-block decorative markup. */
.t-rail > .track:nth-child(2) .t-viz::before,
.t-rail > .track:nth-child(2) .t-viz::after,
.t-rail > .track:nth-child(3) .t-viz::before,
.t-rail > .track:nth-child(3) .t-viz::after {
  content: "";
  position: absolute;
  top: 50%;
}
.t-rail > .track:nth-child(2) .t-viz::before {
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 3px;
  background: var(--muted);
  transform: translateY(-50%);
}
.t-rail > .track:nth-child(2) .t-viz::after {
  right: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--ink);
  transform: translate(50%, -50%);
}
.t-rail > .track:nth-child(3) .t-viz::before {
  left: 0;
  right: 0;
  height: 13px;
  border-radius: 4px;
  background:
    linear-gradient(to right, var(--brand) 0 46%, transparent 46%) center / 100% 3px no-repeat,
    linear-gradient(to right, transparent 0 46%, var(--brand-soft) 46% 100%) center / 100% 13px no-repeat;
  transform: translateY(-50%);
}
.t-rail > .track:nth-child(3) .t-viz::after {
  left: 46%;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--brand);
  transform: translate(-50%, -50%);
}

.phero > .phero-img,
.ctaband > .cta-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 0;
}
.phero > .phero-img img,
.ctaband > .cta-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width:60.01rem) {
  .phero-light .phero-scrim {
    background: linear-gradient(
      100deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.98) 44%,
      rgba(255,255,255,.92) 62%,
      rgba(255,255,255,.62) 76%,
      rgba(255,255,255,.10) 94%
    );
  }
  .phero-dark .phero-scrim {
    background: linear-gradient(
      100deg,
      rgba(13,19,33,.98) 0%,
      rgba(13,19,33,.96) 44%,
      rgba(13,19,33,.90) 62%,
      rgba(13,19,33,.62) 76%,
      rgba(13,19,33,.18) 94%
    );
  }
}
.phero-copy { max-width: 60rem; }
.phero-copy .hero-body { max-width: 51rem; }
.ctaband > h2,
.ctaband > h3,
.ctaband > p,
.ctaband > .actions { max-width: 50rem; }
.figure > .wp-block-image { margin: 0; }

.wp-block-buttons.actions { gap: 12px; }
.wp-block-button.btn {
  padding: 0;
  border: 0;
  background: transparent;
}
.wp-block-button.btn:hover {
  border-color: transparent;
  background: transparent;
  color: inherit;
}
.wp-block-button.btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-family: var(--text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  padding: 15px 23px;
  border-radius: var(--r-md);
  border: 1px solid var(--brand);
  background: var(--brand);
  color: var(--on-brand);
  text-decoration: none;
  max-width: 100%;
}
.wp-block-button.btn .wp-block-button__link:hover {
  background: #3a639f;
  border-color: #3a639f;
  color: var(--on-brand);
}
.wp-block-button.btn-sm .wp-block-button__link { padding: 10px 16px; font-size: 14px; }
.wp-block-button.btn-ghost .wp-block-button__link {
  background: transparent;
  color: var(--ink);
  border-color: var(--rule-strong);
}
.wp-block-button.btn-ghost .wp-block-button__link:hover {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}
.ctaband .wp-block-button.btn .wp-block-button__link {
  background: var(--on-brand);
  color: var(--brand-ink);
  border-color: var(--on-brand);
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}
.ctaband .wp-block-button.btn-onblue .wp-block-button__link {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.6);
}
.ctaband .wp-block-button.btn:not(.btn-onblue) .wp-block-button__link:hover,
.ctaband .wp-block-button.btn:not(.btn-onblue) .wp-block-button__link:focus-visible {
  background: var(--brand-soft);
  border-color: var(--brand-soft);
  color: var(--brand-deep);
}
.ctaband .wp-block-button.btn-onblue .wp-block-button__link:hover,
.ctaband .wp-block-button.btn-onblue .wp-block-button__link:focus-visible {
  background: rgba(255,255,255,.14);
  border-color: #fff;
  color: #fff;
}

.stat .definition-term { order: 2; font-size: 13px; line-height: 1.35; color: var(--muted); }
.stat .definition-description {
  order: 1;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(27px,1.2vw + 20px,36px);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.03em;
  line-height: 1;
  color: var(--brand-ink);
}
.facts > .wp-block-group,
.reach > .wp-block-group { display: flex; flex-direction: column; gap: 4px; }
.grid > .facts { margin-top: 32px; }
.grid > .full > .reach { margin-top: 32px; }
.facts .definition-term,
.reach .definition-term {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
}
.facts .definition-description,
.reach .definition-description { margin: 0; font-size: 15px; line-height: 1.5; }

.posts-query {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: 20px;
}
@media (max-width:23.5rem) {
  .posts-query { padding-inline: 16px; }
}
.post-card { overflow: hidden; }
.post-card .wp-block-post-featured-image { margin: -24px -24px 10px; }
.post-card .wp-block-post-featured-image img { width: 100%; object-fit: cover; }
.post-card .wp-block-post-title { font-size: 20px; }
.post-card .wp-block-post-title a { text-decoration: none; }
.wp-block-query-pagination { margin-top: 32px; }

/* Single posts use a wider header and media frame around a readable text measure. */
.article-page {
  padding-block: clamp(52px, 5vw, 96px) clamp(64px, 6vw, 112px);
}
.single-post__inner {
  width: calc(100% - 40px);
  max-width: 50rem;
  margin-inline: auto;
}
.single-post__header {
  padding-bottom: clamp(24px, 3vw, 36px);
  border-bottom: 1px solid var(--rule);
}
.single-post__title {
  max-width: 20ch;
  margin: 0;
  font-size: clamp(34px, 3.4vw, 56px);
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.single-post__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  line-height: 1.5;
}
.single-post__meta > * {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.single-post__meta > * + *::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--rule-strong);
}
.single-post__meta a {
  color: inherit;
  text-decoration-color: rgba(95,108,133,.45);
  text-underline-offset: 3px;
}
.single-post__featured {
  overflow: hidden;
  margin: clamp(32px, 4vw, 48px) 0 0;
  border-radius: var(--r-lg);
  background: var(--surface);
}
.single-post__featured img {
  width: 100%;
  object-fit: cover;
}
.single-post__content {
  width: 100%;
  max-width: 44rem;
  margin: clamp(32px, 4vw, 48px) auto 0;
  font-size: 18px;
  line-height: 1.78;
}
.single-post__featured:empty + .single-post__content {
  margin-top: clamp(32px, 4vw, 48px);
}
.single-post__content > * {
  margin-block: 0;
}
.single-post__content > * + * {
  margin-block-start: 1.45em;
}
.single-post__content > :is(h2,h3,h4) {
  margin-block-start: clamp(36px, 5vw, 56px);
}
.single-post__content > :is(h2,h3,h4) + * {
  margin-block-start: .75em;
}
.single-post__content > p:first-child {
  color: var(--body);
  font-size: 1.08em;
  line-height: 1.72;
}
.single-post__content :where(ul,ol) {
  padding-inline-start: 1.4em;
}
.single-post__content li + li {
  margin-top: .5em;
}
.single-post__content a {
  color: var(--brand-ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.single-post__content blockquote {
  margin-inline: 0;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--brand);
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(20px, 2vw, 25px);
  font-weight: 500;
  line-height: 1.55;
}
.single-post__content figure {
  margin-inline: 0;
}
.single-post__content figcaption {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  text-align: left;
}
.single-post__content :where(pre,.wp-block-table) {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
.single-post__navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  width: 100%;
  max-width: 44rem;
  margin: clamp(48px, 6vw, 72px) auto 0;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
}
.single-post__navigation:not(:has(a)) {
  display: none;
}
.single-post__nav-link {
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
.single-post__nav-link a {
  color: var(--brand-ink);
  text-decoration: none;
}
.single-post__nav-link a:hover,
.single-post__nav-link a:focus-visible {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.single-post__nav-link--next {
  grid-column: 2;
  text-align: right;
}
@media (max-width: 37.49rem) {
  .single-post__inner { width: calc(100% - 32px); }
  .single-post__content { font-size: 17px; }
  .single-post__navigation { grid-template-columns: minmax(0,1fr); }
  .single-post__nav-link--next { grid-column: 1; text-align: left; }
}

.tablewrap {
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.tablewrap .wp-block-table {
  margin: 0;
  overflow: visible;
}
.tablewrap .wp-block-table table {
  border: 0;
  border-collapse: collapse;
}
.tablewrap .wp-block-table thead { border: 0; }
.tablewrap .wp-block-table th,
.tablewrap .wp-block-table td {
  border: 0;
  border-bottom: 1px solid var(--rule);
  padding: 13px 16px;
}
.tablewrap .wp-block-table thead th {
  border-bottom: 2px solid var(--brand);
}
.tablewrap .wp-block-table tbody tr:last-child th,
.tablewrap .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.tier,
.panel,
.member,
.post-card,
.foot-brand,
.foot-cols,
.foot-col { min-width: 0; }
.foot-note,
.foot-col a,
.foot-col span,
.foot-base p { overflow-wrap: anywhere; }
.site-foot .foot-base {
  justify-content: center;
  padding-block: 24px;
  text-align: center;
}
.site-foot .foot-base p { margin: 0; }
.site-foot .wrap.foot-in {
  flex-direction: column;
  align-items: stretch;
}
.site-foot .foot-in > .foot-cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 32px;
  width: 100%;
}
.foot-col { align-items: flex-start; text-align: left; }
.site-foot .foot-col h2 { font-size: 11px; }
.foot-col p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted);
}
.foot-nav .wp-block-navigation__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: flex-start;
  row-gap: 9px;
  width: 100%;
}
.site-foot .foot-nav .wp-block-navigation-item__content.wp-block-navigation-item__content {
  font-size: 14px;
  line-height: 1.55;
  color: var(--muted);
}
.site-foot .foot-nav .wp-block-navigation-item__label {
  color: inherit;
}
.site-foot .foot-nav .wp-block-navigation-item__content:hover,
.site-foot .foot-nav .wp-block-navigation-item__content:focus-visible {
  color: var(--ink) !important;
}
@media (min-width:48rem) {
  .site-foot .foot-in > .foot-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(32px, 4vw, 64px);
  }
}
@media (min-width:64rem) {
  .site-foot .wrap.foot-in {
    display: grid;
    grid-template-columns: minmax(18rem, .8fr) minmax(36rem, 1.45fr);
    align-items: start;
    column-gap: clamp(64px, 7vw, 112px);
  }
}

.form-hp {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
form.consult .field input:not([type="hidden"]),
form.consult .field select,
form.consult .field textarea {
  border: 1px solid #b8c5d6 !important;
  border-radius: var(--r-md) !important;
  background-color: var(--paper) !important;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.field-required {
	margin-inline-start: 3px;
	color: #b3261e;
	font-weight: 700;
}
form.consult .field input:not([type="hidden"]):hover,
form.consult .field select:hover,
form.consult .field textarea:hover {
  border-color: #93a5bc !important;
}
form.consult .field input:not([type="hidden"]):focus,
form.consult .field select:focus,
form.consult .field textarea:focus {
  border-color: var(--brand) !important;
}
form.consult .field select {
  -webkit-appearance: none;
  appearance: none;
  padding-inline: 13px 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1.5 1.5 4.5 4.5 4.5-4.5' fill='none' stroke='%235f6c85' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px 8px !important;
}
form.consult .form-foot button.btn {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 15px 23px !important;
  border: 1px solid var(--brand) !important;
  border-radius: var(--r-md) !important;
  background: var(--brand) !important;
  color: var(--on-brand) !important;
  font-family: var(--text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
form.consult .form-foot button.btn:hover {
  border-color: #3a639f !important;
  background: #3a639f !important;
  color: var(--on-brand) !important;
}
.form-status {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--rule);
	border-radius: var(--r-md);
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	opacity: 1 !important;
	visibility: visible !important;
	scroll-margin-top: 96px;
}
.form-status__message {
	display: block !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.form-status--sent { background: #eef8f1; border-color: #9bc9a8; color: #245d34 !important; }
.form-status--failed,
.form-status--invalid { background: #fff3f1; border-color: #e2aaa3; color: #8c251d !important; }
.u-radius-md { border-radius: 8px; }
.u-mt-0 { margin-top: 0 !important; }
.u-mt-16 { margin-top: 16px !important; }
.u-mt-20 { margin-top: 20px !important; }
.u-mt-24 { margin-top: 24px !important; }
.u-mt-26 { margin-top: 26px !important; }
.u-mt-32 { margin-top: 32px !important; }
.col,
.u-measure,
.faq-body {
  width: 100%;
  max-width: none;
}
.u-text-sm { font-size: 13px; }
.u-stack-actions { flex-direction: column; align-items: flex-start; gap: 10px; }
.chips.u-stack-actions > li { border-radius: var(--r-md); }

/* One header implementation; separate translated navigation entities supply content. */
.site-head { position: relative; z-index: 20; }
@media (min-width:37.5rem) {
  .wp-site-blocks > .wp-block-template-part:first-child { position: sticky; top: 0; z-index: 20; }
  .admin-bar .wp-site-blocks > .wp-block-template-part:first-child { top: 32px; }
  html.wp-admin-bar-gdl-live-site-banner-enabled .wp-site-blocks > .wp-block-template-part:first-child { top: 75px; }
}
@media (min-width:37.5rem) and (max-width:48.875rem) {
  .admin-bar .wp-site-blocks > .wp-block-template-part:first-child { top: 46px; }
  html.wp-admin-bar-gdl-live-site-banner-enabled .wp-site-blocks > .wp-block-template-part:first-child { top: 87px; }
}
.site-head .head-in {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  max-width: var(--shell);
}
.site-head .nav { display: flex; justify-content: flex-end; overflow: visible; }
.site-head .nav .wp-block-navigation__container { gap: 32px; flex-wrap: nowrap; }
.site-head .nav .is-style-mobile-action,
.site-head .nav .is-style-mobile-secondary { display: none; }
.site-head .nav .wp-block-navigation-item__content {
  font-size: 14px;
  font-weight: 500;
  color: var(--muted);
  text-decoration: none;
  padding-block: 6px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
.site-head .nav .wp-block-navigation-item:not(.is-style-mobile-action) > .wp-block-navigation-item__content:hover,
.site-head .nav .wp-block-navigation-item:not(.is-style-mobile-action) > .wp-block-navigation-item__content:focus-visible {
  color: var(--ink) !important;
}
.site-head .nav .current-menu-item > .wp-block-navigation-item__content,
.site-head .nav .current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--ink);
  border-bottom-color: var(--brand);
}
.site-head .head-act { flex-wrap: nowrap; gap: 12px; }
.site-head .head-actions .wp-block-navigation__container { gap: 12px; flex-wrap: nowrap; }
.site-head .head-actions .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
  gap: 7px;
  border: 1px solid var(--brand-soft);
  border-radius: var(--r-md);
  padding: 10px 16px;
  color: var(--brand-ink);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
	white-space: nowrap;
	min-height: 44px;
}
.site-head .head-actions .is-style-login .wp-block-navigation-item__content::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4M10 17l5-5-5-5M15 12H3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4M10 17l5-5-5-5M15 12H3' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.site-head .head-actions .is-style-book .wp-block-navigation-item__content {
  border-color: var(--brand);
  background: var(--brand);
  color: #fff;
}
.site-head .head-actions .is-style-book > .wp-block-navigation-item__content:hover,
.site-head .head-actions .is-style-book > .wp-block-navigation-item__content:focus-visible,
.site-head .nav .is-style-mobile-book > .wp-block-navigation-item__content:hover,
.site-head .nav .is-style-mobile-book > .wp-block-navigation-item__content:focus-visible {
  border-color: #3a639f !important;
  background: #3a639f !important;
  color: var(--on-brand) !important;
}
.site-head .head-actions .is-style-login > .wp-block-navigation-item__content:hover,
.site-head .head-actions .is-style-login > .wp-block-navigation-item__content:focus-visible,
.site-head .nav .is-style-mobile-login > .wp-block-navigation-item__content:hover,
.site-head .nav .is-style-mobile-login > .wp-block-navigation-item__content:focus-visible {
  border-color: var(--brand-deep) !important;
  background: transparent !important;
  color: var(--brand-deep) !important;
}
.brand-lockup { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 0; }
.brand-lockup__logo { display: block; width: auto; max-width: none; height: auto; }
.brand-lockup--header .brand-lockup__logo { width: 146px; }
.brand-lockup--footer .brand-lockup__logo { width: min(160px, 100%); }

.language-switcher { display: inline-flex; }
.language-switcher__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .06em;
  color: var(--muted);
  border: 1px solid var(--rule);
  border-radius: 50%;
  padding: 0;
  text-decoration: none;
  min-height: 44px;
}
.language-switcher__link:hover,
.language-switcher__link:focus-visible {
  color: var(--body);
  border-color: var(--rule-strong);
}

.site-head .nav .wp-block-navigation__responsive-container-open,
.site-head .nav .wp-block-navigation__responsive-container-close {
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--rule);
  border-radius: var(--r-md);
  color: var(--ink);
  line-height: 0;
}
.site-head .nav .wp-block-navigation__responsive-container-close {
  display: inline-flex;
}
.site-head .nav .wp-block-navigation__responsive-container-open:hover,
.site-head .nav .wp-block-navigation__responsive-container-close:hover {
  border-color: var(--rule-strong);
  background: var(--surface);
}
.site-head .nav .wp-block-navigation__responsive-container-open svg,
.site-head .nav .wp-block-navigation__responsive-container-close svg {
  display: block;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin: 0;
}

@media (min-width:78rem) {
  .site-head .head-act { margin-left: 16px; }
}

@media (max-width:77.99rem) {
  .site-head .head-in {
	grid-template-columns: auto 1fr auto;
	min-height: 64px;
  }
  .site-head .head-actions { display: none; }
  .site-head .brand-lockup,
  .site-head .head-act {
	position: relative;
	z-index: 100001;
  }
  .site-head .nav {
	grid-column: 2;
	grid-row: 1;
	justify-content: flex-end;
	border: 0;
	padding: 0;
  }
  .site-head .nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .site-head .nav .wp-block-navigation__responsive-container-open { display: flex !important; }
  .site-head .nav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: 0;
	display: flex;
	width: 100%;
	height: 100dvh;
	padding: 0;
	background: var(--paper);
	color: var(--ink);
	overflow: hidden;
	z-index: 100000;
  }
  .site-head .nav .wp-block-navigation__responsive-close {
	width: min(100%, var(--shell));
	height: 100%;
	margin-inline: auto;
	padding: 0;
  }
  .site-head .nav .wp-block-navigation__responsive-dialog {
	height: 100%;
	min-height: 0;
	overflow: hidden;
  }
  .site-head .nav .wp-block-navigation__responsive-container-close {
	top: 10px;
	right: 80px;
	padding: 0;
  }
  .site-head .nav .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	justify-content: flex-start !important;
	width: min(100%, 34rem);
	height: 100%;
	margin-inline: auto;
	padding: 96px 20px 36px !important;
	box-sizing: border-box;
	overflow-y: auto;
	overscroll-behavior: contain;
  }
  .site-head .nav .wp-block-navigation__container {
	align-items: stretch;
	width: 100%;
	gap: 0;
	flex-direction: column;
	flex-wrap: nowrap;
  }
  .site-head .nav .wp-block-navigation-item { width: 100%; }
  .site-head .nav .wp-block-navigation-item__content {
	width: 100%;
	padding: 13px 0;
	border-bottom: 0;
	font-family: var(--display);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
  }
  .site-head .nav .current-menu-item > .wp-block-navigation-item__content,
  .site-head .nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--brand-ink);
  }
  .site-head .nav .is-style-mobile-action { display: flex; }
  .site-head .nav .is-style-mobile-secondary { display: flex; }
  .site-head .nav .is-style-mobile-book { margin-top: 20px; }
  .site-head .nav .is-style-mobile-action .wp-block-navigation-item__content {
	display: flex;
	justify-content: center;
	padding: 13px 18px;
	border: 1px solid var(--brand);
	border-radius: var(--r-md);
	font-family: var(--text);
	font-size: 15px;
	text-align: center;
  }
  .site-head .nav .is-style-mobile-book .wp-block-navigation-item__content {
	background: var(--brand);
	color: #fff;
  }
  .site-head .nav .is-style-mobile-login { margin-top: 10px; }
  .site-head .nav .is-style-mobile-login .wp-block-navigation-item__content {
	background: var(--paper);
	color: var(--brand-ink);
  }
}
/* Phones keep the full-width overlay; tablets from 600px use a narrow drawer. */
@media (min-width:37.5rem) and (max-width:77.99rem) {
  .site-head .nav .wp-block-navigation__responsive-container.is-menu-open {
	inset: 0 0 0 auto;
	width: min(480px, 100%);
	max-width: 480px;
	box-shadow: -100vw 0 0 rgb(11 19 36 / 18%), -16px 0 40px rgb(11 19 36 / 12%);
  }
  .site-head .nav .wp-block-navigation__responsive-close {
	width: 100%;
	margin-inline: 0;
  }
  .site-head .nav .wp-block-navigation__responsive-container-content {
	width: 100%;
	margin-inline: 0;
	padding-inline: 32px !important;
  }
}
@media (max-width:30rem) {
  .wp-block-buttons.actions { width: 100%; }
  .wp-block-buttons.actions > .wp-block-button,
  .wp-block-buttons.actions .wp-block-button__link {
	width: 100%;
	justify-content: center;
  }
  .foot-cols { flex-direction: column; align-items: flex-start; width: 100%; }
}
@media (max-width:32rem) {
  .brand-lockup--header .brand-lockup__logo { width: 132px; }
  .site-head .head-in { gap: 8px; }
  .site-head .nav .wp-block-navigation__responsive-container-close { right: 72px; }
  .site-head .head-actions .wp-block-navigation-item__content { padding: 8px 10px; font-size: 12px; }
  .language-switcher__link { font-size: 12px; }
}
@media (max-width:23.5rem) {
  .site-head .nav .wp-block-navigation__responsive-container-content { padding-inline: 16px !important; }
  .site-head .nav .wp-block-navigation__responsive-container-close { right: 68px; }
}
