/* V40 — a full-height emblem and readable navigation, with space reserved for every action. */
:is(body.home-photo,body.metier-photo,body) .site-header{display:grid;grid-template-columns:350px minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;max-width:none;min-height:124px;padding:8px 3%;margin:0}
:is(body.home-photo,body.metier-photo,body) .site-header .identity-row{display:contents}
:is(body.home-photo,body.metier-photo,body) .site-header .brand-lockup{grid-column:1;grid-row:1;min-width:0}
:is(body.home-photo,body.metier-photo,body) .site-header .brand-promise{display:none}
:is(body.home-photo,body.metier-photo,body) .site-header .brand{gap:15px;min-width:0}
:is(body.home-photo,body.metier-photo,body) .site-header .brand-word{font-size:38px;letter-spacing:.055em}
:is(body.home-photo,body.metier-photo,body) .site-header .brand-word small{font-size:10px;letter-spacing:.08em;line-height:1.4}
:is(body.home-photo,body.metier-photo,body) .site-header .brand-emblem{width:108px;height:108px;flex-basis:108px;border-radius:23px;object-fit:contain}
:is(body.home-photo,body.metier-photo,body) .site-header .public-header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:9px;justify-self:end;margin:0;min-width:0}
.site-header .header-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:11px 14px;border:1px solid #8aaec168;border-radius:14px;background:#18394dc9;color:#f4fbff;font:600 15px/1.3 var(--sans,system-ui,sans-serif);text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px #ffffff1f;transition:background .15s,border-color .15s;position:relative}
.site-header .header-action:hover{background:#285873;border-color:#a4dcf0}
.site-header .header-action svg{width:21px;height:21px;flex:none}
.site-header .header-register{background:#51456973;border-color:#b4a0d56b}
.site-header .header-cart{background:#1a564caa;border-color:#70b9a27d}
.site-header .header-action[hidden]{display:none}
.site-header .header-action:focus-visible{outline:3px solid #9ad9ff;outline-offset:3px}
.site-header .header-cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:20px;background:#bcf3d6;color:#124536;font-size:12px;font-variant-numeric:tabular-nums}
.site-header .header-cart-count[hidden]{display:none}
:is(body.home-photo,body.metier-photo,body) .site-header .motion-control{display:none}
:is(body.home-photo,body.metier-photo,body) .site-header .menu-toggle{display:none}
:is(body.home-photo,body.metier-photo,body) .site-header .main-nav{grid-column:2;grid-row:1;display:flex;justify-content:space-between;align-self:stretch;min-width:0;width:100%;margin:0;padding:0;border:0;gap:0}
:is(body.home-photo,body.metier-photo,body) .site-header .main-nav>a{flex:1 1 auto;font-size:18px;min-width:0;padding:14px 10px;white-space:normal;text-align:center;line-height:1.35}
@media(max-width:1919px){
 :is(body.home-photo,body.metier-photo,body) .site-header{grid-template-columns:minmax(310px,1fr) auto;gap:4px 20px;padding:8px 4% 0}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-emblem{width:96px;height:96px;flex-basis:96px;border-radius:21px}
 :is(body.home-photo,body.metier-photo,body) .site-header .public-header-actions{grid-column:2;grid-row:1}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav{grid-column:1/-1;grid-row:2;justify-content:space-between}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav>a{font-size:18px;min-height:56px;padding:13px 10px}
}
@media(max-width:980px){
 :is(body.home-photo,body.metier-photo,body) .site-header{grid-template-columns:minmax(0,1fr) 48px;gap:12px;padding:9px 4% 14px;min-height:0}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-word{font-size:34px;letter-spacing:.055em}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-word small{font-size:9px;letter-spacing:.06em}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-emblem{width:84px;height:84px;flex-basis:84px;border-radius:19px}
 :is(body.home-photo,body.metier-photo,body) .site-header .menu-toggle{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;min-width:48px;margin:0;padding:11px;align-self:center;justify-self:end;border:1px solid #8edaff61;border-radius:12px;background:#18394dc9;color:#f4fbff}
 :is(body.home-photo,body.metier-photo,body) .site-header .public-header-actions{grid-column:1/-1;grid-row:2;display:flex;justify-self:stretch;gap:10px;width:100%}
 .site-header .header-action{flex:1 1 0;min-width:0;padding:12px 8px;gap:7px;min-height:48px;font-size:15px;border-radius:12px}
 .site-header .header-action svg{width:20px;height:20px}
 .site-header .header-cart-count{position:absolute;right:5px;top:-6px;border:2px solid #17394b;min-width:23px;height:23px}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav{grid-column:1/-1;grid-row:3;display:none;position:static;inset:auto;padding:9px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #8aaec13b;gap:4px;max-height:none;width:100%;background:none}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav.open{display:grid}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav>a{font-size:17px;min-height:52px;padding:12px 8px;justify-content:center}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav>a::after{left:50%;right:auto;transform:translateX(-50%);width:44px;bottom:3px}
}
@media(max-width:520px){
 :is(body.home-photo,body.metier-photo,body) .site-header .brand{gap:10px}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-word{font-size:27px;letter-spacing:.04em}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-word small{font-size:7px;letter-spacing:.03em}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-emblem{width:76px;height:76px;flex-basis:76px;border-radius:17px}
 .site-header .header-action{font-size:13px;padding:11px 6px;gap:5px}
 .site-header .header-action svg{width:18px;height:18px}
}
@media(max-width:380px){
 :is(body.home-photo,body.metier-photo,body) .site-header{gap:10px;grid-template-columns:minmax(0,1fr) 44px}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand{gap:8px}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-word{font-size:23px;letter-spacing:.025em}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-word small{font-size:6px;letter-spacing:0}
 :is(body.home-photo,body.metier-photo,body) .site-header .brand-emblem{width:64px;height:64px;flex-basis:64px;border-radius:15px}
 :is(body.home-photo,body.metier-photo,body) .site-header .menu-toggle{width:44px;height:44px;min-width:44px}
 :is(body.home-photo,body.metier-photo,body) .site-header .public-header-actions{gap:6px}
 .site-header .header-action{font-size:12px;gap:5px}
 .site-header .header-action svg{display:none}
 :is(body.home-photo,body.metier-photo,body) .site-header .main-nav>a{font-size:16px}
}
.public-account-dialog{position:fixed;inset:0;width:min(560px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #b0cad7;border-radius:21px;background:#f2f7fa;color:#213b4b;box-shadow:0 24px 100px #00152266;overflow:auto;overscroll-behavior:contain;font:16px/1.55 var(--sans,system-ui,sans-serif)}
.public-account-dialog::backdrop{background:#0b2236bb;backdrop-filter:blur(6px)}
.public-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:23px 25px;border-bottom:1px solid #c4d6e0;background:#e7f0f6}
.public-account-dialog h2{font:750 25px/1.25 var(--sans,system-ui,sans-serif);margin:0;letter-spacing:-.02em;color:#213b4b}
.public-account-dialog .public-account-kicker{font-size:10px;font-weight:700;letter-spacing:.13em;color:#527080;margin:0 0 7px}
.public-account-body{padding:25px;min-width:0}
.public-account-body>p{margin:0 0 20px;overflow-wrap:anywhere}
.public-account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.public-account-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:650}
.public-account-field.full{grid-column:1/-1}
.public-account-dialog input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;min-height:47px;border:1px solid #9eb8c8;border-radius:10px;background:#fff;color:#213b4b;font:400 16px/1.4 var(--sans,system-ui,sans-serif);padding:11px 12px}
.public-account-dialog input:focus-visible{outline:3px solid #3f8fc5;outline-offset:2px}
.public-account-hint{font-size:12px;color:#526d7e;font-weight:400;margin:0}
.public-account-check{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;font-size:13px;margin:20px 0}
.public-account-check input{width:19px;height:19px;margin:2px 0 0;accent-color:#267d68;flex:none}
.public-account-check span{flex:1;min-width:0}
.public-account-check .public-field-error{flex:1 0 100%}
.public-account-dialog .public-account-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:11px 18px;border:1px solid #538ab4;border-radius:12px;background:#245f91;color:white;font:650 14px/1.4 var(--sans,system-ui,sans-serif);cursor:pointer;text-decoration:none;white-space:normal;text-align:center}
.public-account-dialog .public-account-close{flex:none;min-height:40px;padding:8px 12px;background:#a12649;border-color:#c45c78;font-size:13px}
.public-account-close svg{width:17px;height:17px}
.public-account-dialog .public-account-submit{width:100%;margin-top:20px}
.public-account-dialog .public-account-register{background:#24765f;border-color:#72b49e}
.public-account-dialog .public-account-secondary{background:#735091;border-color:#a78bbf}
.public-account-dialog .public-account-button:focus-visible{outline:3px solid #1974bb;outline-offset:3px}
.public-account-dialog .public-account-button:disabled{opacity:.65;cursor:wait}
.public-account-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:20px;padding-top:18px;border-top:1px solid #c4d6e0}
.public-account-links button{border:0;padding:3px 0;background:none;color:#265b83;font:600 13px/1.5 var(--sans,system-ui,sans-serif);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.public-account-notice{padding:13px 15px;border:1px solid #afd1c0;background:#e1f3e9;color:#285c49;border-radius:10px;white-space:pre-line;font-size:14px}
.public-account-feedback{font-size:14px;color:#a02344;white-space:pre-line}
.public-account-feedback:empty{display:none}
.public-field-error{display:block;font-size:12px;line-height:1.45;color:#af294b;font-weight:600;margin-top:5px}
.public-account-dialog [aria-invalid=true],.contact-form [aria-invalid=true],.event-registration-dialog [aria-invalid=true],.newsletter-dialog [aria-invalid=true]{border-color:#c63758!important;background:#fff1f3!important;box-shadow:0 0 0 2px #d0446226!important;outline-color:#bc294b}
@media(max-width:480px){.public-account-head{padding:20px;gap:12px}.public-account-dialog h2{font-size:23px}.public-account-body{padding:20px}.public-account-fields{grid-template-columns:1fr}.public-account-field.full{grid-column:1}.public-account-links{gap:12px 18px}}
@media(prefers-reduced-motion:reduce){.site-header .header-action{transition:none}}
