/* Source 2 site and questionnaire, with Source 1 consultation styling. */
:root { --wr-header-height:145px; }
html { scroll-padding-top:calc(var(--wr-header-height) + 24px); }
.edition { padding-top:var(--wr-header-height); }
.edition .header { position:fixed!important; top:0; left:0; right:0; width:100%; margin:0; padding-left:4%; padding-right:4%; z-index:40; background:var(--paper); box-shadow:0 1px 0 var(--rule); transform:none!important; box-sizing:border-box; }
.edition .nav.open { max-height:calc(100dvh - var(--wr-header-height)); overflow-y:auto; }
.wrq-overlay { z-index:100; }
.wrq-card { width:min(680px,calc(100vw - 32px)); max-height:90dvh; overflow:auto; border:1px solid #ccd3da; border-radius:0; background:#fcfcfa; color:#23374d; padding:35px; box-shadow:0 24px 80px #0003; }
.wrq-title { color:#23374d; font-size:24px; font-weight:600; letter-spacing:-.8px; line-height:1.4; }
.wrq-eyebrow { color:#75818d; letter-spacing:1.5px; font-size:11px; }
.wrq-sub { color:#596779; font-size:14px; line-height:1.8; }
.wrq-offer { color:#526170; background:#edf1f5; border:1px solid #d5dce3; border-radius:0; }
.wrq-card form { border:1px solid #ccd3da; background:#fff; padding:24px; margin-top:24px; gap:18px; }
.wrq-field label,.wrq-label { color:#596779; font-size:13px; font-weight:400; }
.wrq-field input { color:#23374d; background:#f8f9fa; border:1px solid #d5dce3; border-radius:0; min-height:46px; padding:10px 12px; font-size:16px; box-shadow:none; }
.wrq-chips { gap:8px; }
.wrq-chip { color:#435568; background:#fff; border:1px solid #d3dbe2; border-radius:0; padding:10px 12px; font-size:13px; }
.wrq-chip[aria-checked="true"] { color:#23374d; background:#edf1f5; border-color:#23374d; box-shadow:inset 0 0 0 1px #23374d; }
.wrq-consent { color:#4f657e; font-size:13px; align-items:flex-start; }
.wrq-consent input { accent-color:#23374d; }
.wrq-privacy { color:#607489; font-size:12px; }
.wrq-submit { color:#fff; background:#23374d; border:1px solid #23374d; border-radius:0; padding:14px 18px; font-size:14px; }
.wrq-submit:hover { background:#344c64; }
.wrq-submit:disabled { opacity:.6; cursor:wait; }
.wrq-next { background:#fff; border:1px solid #ccd3da; border-radius:0; padding:24px; }
.wrq-next b { color:#23374d; }
.wrq-ghost { color:#526170; border-radius:0; }
.wrq-check { color:#23374d; background:#edf1f5; }
.wrq-close { color:#526170; }
.wrq-card :is(button,input):focus-visible { outline:2px solid #23374d; outline-offset:3px; }
.consult-dialog { color:#23374d!important; background:#fcfcfa!important; border-radius:0!important; max-width:980px!important; width:calc(100vw - 32px); max-height:90dvh!important; padding:35px!important; }
.consult-dialog .dialog-title { color:#23374d; }
.consult-dialog .solid-button { background:#23374d; }
.consult-dialog .topic-options .selected { background:#edf1f5; border-color:#23374d; }
.paper-brief { color:#23374d; background:#fff; border:1px solid #ccd3da; margin-top:25px; padding:28px; }
.brief-page-tabs { position:static; display:flex; gap:8px; margin:20px 0; background:#fff; }
.brief-page-tabs button { color:#526170; background:#fff; border:1px solid #ccd3da; flex:1; padding:12px 10px; font-size:13px; }
.brief-page-tabs button[aria-pressed=true] { color:#fff; background:#23374d; border-color:#23374d; }
.brief-paper-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.paper-brief .brief-question { border:0; border-top:1px solid #b4bfca; min-width:0; margin:0 0 20px; padding:16px 0 0; }
.paper-brief .brief-question legend { float:left; display:flex; gap:9px; width:100%; margin:0 0 16px; font-size:14px; font-weight:600; line-height:1.6; }
.paper-brief .brief-question legend>b { color:#8393a4; font:italic 19px Georgia; }
.paper-brief .form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.paper-brief .form-fields>label { color:#596779; font-size:12px; font-weight:400; min-width:0; display:flex; flex-direction:column; gap:7px; }
.paper-brief input:not([type=checkbox]):not([type=radio]) { color:#23374d; background:#f8f9fa; border:1px solid #d5dce3; border-radius:0; width:100%; box-sizing:border-box; margin-top:5px; padding:10px 12px; font-size:16px; min-height:44px; }
.paper-brief input::placeholder { color:#929da7; }
.paper-brief .brief-choices { display:flex; flex-wrap:wrap; gap:7px; }
.paper-brief .brief-choices label { color:#435568; background:#fff; border:1px solid #d3dbe2; padding:8px 10px; font-size:13px; }
.paper-brief .brief-choices input { accent-color:#23374d; }
.paper-brief .brief-choices label:has(:checked) { background:#edf1f5; border-color:#23374d; }
.brief-style-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.brief-style-image { aspect-ratio:1.45; }
.brief-style-grid>label>div:last-child { font-size:11px; }
.brief-pagination { position:static; margin-top:24px; background:#fff; gap:12px; }
.brief-pagination button:not(:disabled) { color:#23374d; background:#fff; border:1px solid #ccd3da; font-weight:400; }
.brief-sheet[hidden] { display:none!important; }
@media(max-width:1000px) { :root { --wr-header-height:110px; } }
@media(max-width:600px) {
  :root { --wr-header-height:88px; }
  .edition .header { padding-left:var(--mobile-gutter,20px); padding-right:var(--mobile-gutter,20px); }
  .wrq-card { padding:26px 18px; width:calc(100vw - 24px); }
  .wrq-title { font-size:22px; padding-right:20px; }
  .wrq-card form { padding:16px; grid-template-columns:1fr; }
  .wrq-field { min-width:0; }
  .wrq-chip { font-size:12px; padding:10px 8px; }
  .wrq-next { padding:18px; }
  .consult-dialog { width:calc(100vw - 24px); padding:24px 18px!important; }
  .paper-brief { padding:16px; }
  .brief-paper-grid,.paper-brief .form-fields { grid-template-columns:1fr; }
  .brief-page-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .brief-page-tabs button { font-size:12px; padding:12px 6px; }
  .brief-style-grid { grid-template-columns:1fr 1fr; }
  .paper-brief .brief-question legend { font-size:16px; }
}

/* Overlapping hero composition and balanced bilingual header logo. */
.edition .header .brand { font-size:clamp(34px,3.35vw,52px); letter-spacing:-2px; gap:14px; }
.edition .header .brand small { font-size:22px; line-height:1.25; letter-spacing:0; padding-left:14px; }
@media(min-width:901px) {
  .edition .hero-v3 { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:0; min-height:760px; padding:65px 4% 110px; isolation:isolate; }
  .edition .hero-v3>.hero-content { grid-area:1/1; width:72%; max-width:1000px; z-index:3; align-self:center; }
  .edition .hero-v3>.hero-feature { grid-area:1/1; justify-self:end; align-self:center; width:80%; max-width:none; margin:0 -4% 0 0; z-index:1; opacity:.82; -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 24%,rgba(0,0,0,.55) 52%,#000 76%); mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 24%,rgba(0,0,0,.55) 52%,#000 76%); }
  .edition .hero-v3 .hero-heading { font-size:clamp(38px,4.05vw,70px); }
  .edition .hero-v3 .hero-description { max-width:560px; color:var(--ink); opacity:.78; }
  .edition .hero-v3 .hero-offer { background:var(--paper); }
  .edition .hero-v3 .hero-bottom { z-index:4; }
}
@media(min-width:601px) and (max-width:1100px) {
  .edition .header .brand { font-size:34px; gap:10px; letter-spacing:-1.3px; }
  .edition .header .brand small { font-size:18px; padding-left:10px; }
}
@media(max-width:900px) {
  .edition .hero-v3 { display:grid; grid-template-columns:minmax(0,1fr); gap:0; align-items:center; min-height:660px; padding:48px 6% 90px; isolation:isolate; overflow:hidden; }
  .edition .hero-v3>.hero-content { grid-area:1/1; position:relative; z-index:3; width:100%; min-width:0; }
  .edition .hero-v3>.hero-feature { grid-area:1/1; justify-self:end; align-self:center; width:115%; max-width:none; margin:0 -30% 0 0; z-index:1; opacity:.52!important; -webkit-mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.18) 20%,rgba(0,0,0,.6) 55%,#000); mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.18) 20%,rgba(0,0,0,.6) 55%,#000); }
  .edition .hero-v3 .hero-description { color:var(--ink); opacity:.85; }
  .edition .hero-v3 .hero-offer { background:var(--paper); }
  .edition .hero-v3 .hero-bottom { z-index:4; }
}
@media(max-width:600px) {
  .edition .header>a:first-child { flex:1 1 auto; width:auto; }
  .edition .header .brand { font-size:clamp(25px,6.4vw,34px); width:auto; gap:8px; letter-spacing:-1.2px; }
  .edition .header .brand small { font-size:15px; padding-left:8px; line-height:1.3; }
  .edition .hero-v3 { min-height:600px; padding:40px 20px 85px; }
  .edition .hero-v3>.hero-feature { width:135%; margin:0 -43% 0 0; }
}
