/* piste « institut » — générée par hors-serveur/build_assets.py : ne pas modifier ici */
@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/public-sans-latin.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2")}
:root{
--bg:#fff;--surface:#f3f6fa;--line:#dbe2ea;--line-strong:#b9c5d2;
--ink:#0b2341;--text:#2b3a4a;--muted:#5a6a7b;
--accent:#0b5cad;--accent-strong:#08396d;--accent-soft:#e7f0fa;--on-accent:#fff;
--font-display:"Public Sans",system-ui,sans-serif;--font-ui:"Public Sans",system-ui,sans-serif;--font-text:"Public Sans",system-ui,sans-serif;
--radius:4px;--button-radius:4px;--card-radius:6px;--title-weight:700;
--header-h:116px;--header-h-mobile:70px;--footer-bg:#0b2341;--footer-highlight:#9cc3ea;--tabs-h:54px;
}
body[data-typo="2"]{--font-display:"Source Serif 4",Georgia,serif;--title-weight:600}
body[data-typo="3"]{--font-display:"Inter",system-ui,sans-serif;--font-ui:"Inter",system-ui,sans-serif;--font-text:"Inter",system-ui,sans-serif}
html{scroll-padding-top:calc(var(--header-h) + 20px)}
body{background:var(--bg);color:var(--text);font-family:var(--font-text)}
a,p a{color:var(--accent)}
a:hover,a:focus,p a:hover{color:var(--accent-strong)}
:focus-visible{outline-color:var(--accent)}
.skip-link{background:var(--accent);color:var(--on-accent)}
main{padding-top:var(--header-h)}
.header{background:var(--bg);box-shadow:none;border-bottom:1px solid var(--line)}
.header__logo{font-family:var(--font-display);color:var(--ink)}
.header__logo:hover{color:var(--accent)}
.header__logo span{font-family:var(--font-ui);color:var(--muted)}
.menu li a{font-family:var(--font-ui);color:var(--ink)}
.menu li a:hover,.menu li.current-menu-ancestor>.link-wrap a{color:var(--accent)}
.menu li .sub-menu{border-radius:var(--radius);box-shadow:0 18px 40px rgba(0,0,0,.12);overflow:hidden}
.menu li .sub-menu li a{background:var(--bg)}
.menu li .sub-menu li a:hover,
.menu li.current-menu-ancestor .sub-menu .current-menu-item a,
.menu li.current-menu-ancestor .sub-menu .current-menu-ancestor>.link-wrap a{background:var(--surface);color:var(--accent)}
.menu li .sub-menu li:not(:last-child){border-color:var(--line)}
#search svg path{fill:var(--ink)}
#open-navigation span{background:var(--ink)}
#open-navigation span:last-child{background:var(--accent)}
.search-form{background:var(--ink)}
.search-form .close-form{border-color:var(--ink)}
.search-form .close-form::before,.search-form .close-form::after{background:var(--ink)}
.header__cta{display:inline-flex;align-items:center;margin-left:28px;padding:11px 18px;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font:600 14px/1 var(--font-ui);white-space:nowrap;transition:background .2s}
.header__cta:hover,.header__cta:focus{background:var(--accent-strong);color:var(--on-accent)}
.topbar{background:var(--ink);color:rgba(255,255,255,.75);font:500 13px/1 var(--font-ui)}
.topbar__content{justify-content:flex-end;align-items:center;min-height:36px}
.topbar__places{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.topbar__places a{color:#fff;font-weight:600;margin-left:6px}
.topbar__places a:hover{color:#fff;text-decoration:underline}
.page-container .wrapper-page__title{font-family:var(--font-display);color:var(--ink);text-transform:none}
.page-container .wrapper-page__title::after{background:var(--accent)}
.page-container aside .name{font-family:var(--font-display);color:var(--ink)}
.page-container aside .role{font-family:var(--font-ui);color:var(--muted)}
.page-container aside .address .single-address::before,.page-container aside .doctolib::before{background:var(--line)}
.page-container aside .address .single-address span{color:var(--ink)}
.page-container aside .doctolib a{background:var(--accent);color:var(--on-accent);border-radius:var(--radius);font-family:var(--font-ui);font-weight:600}
.page-container aside .doctolib a:hover{background:var(--accent-strong)}
#breadcrumbs{font-family:var(--font-ui)}
#breadcrumbs li{color:var(--muted)}
#breadcrumbs a{color:var(--accent)}
.entry,.entry p,.entry li{color:var(--text);font-family:var(--font-text)}
.entry a{color:var(--accent)}
.entry a:hover{color:var(--accent-strong)}
.entry .heading{font-family:var(--font-display);color:var(--ink)}
.entry h5.heading,.entry h6.heading{font-family:var(--font-text);color:var(--muted)}
.entry h3:not(.heading),.entry h2:not(.heading),.entry h4:not(.heading){color:var(--ink);font-family:var(--font-display)}
.entry .text-sep{font-family:var(--font-ui);color:var(--ink)}
.entry .text-sep::before,.entry .text-sep::after,.entry hr,.entry .sep{border-color:var(--line)}
.entry blockquote{border-left-color:var(--accent);background:var(--surface)}
.entry .box{background:var(--surface);border-radius:var(--radius)}
.entry .box p{color:var(--text)}
.entry .note{background:var(--accent-soft);border-left-color:var(--accent)}
.entry .note::before{background:var(--accent);color:var(--on-accent)}
.entry .note p{color:var(--ink)}
.entry .accordion{border-color:var(--line);border-radius:var(--radius)}
.entry .accordion details + details{border-color:var(--line)}
.entry .accordion summary{font-family:var(--font-ui);color:var(--ink);background:var(--surface)}
.entry .accordion summary::after{border-top-color:var(--accent)}
.entry .accordion details[open] summary{background:var(--bg);color:var(--accent)}
.entry .accordion summary:hover{background:var(--accent-soft)}
.entry .video,.entry .map{border-radius:var(--radius)}
.entry .video__play::before,.entry .map__load{background:var(--accent)}
.entry .map__load{color:var(--on-accent);font-family:var(--font-ui);border-radius:var(--radius)}
.entry .map__load:hover{background:var(--accent-strong)}
.entry .figure--shadow img,.post-image img,.post-card__img{border-radius:var(--radius)}
.subpages a{background:var(--surface);font-family:var(--font-ui);color:var(--ink);border-radius:var(--radius)}
.subpages a:hover{background:var(--accent-soft);color:var(--accent)}
.page-meta{border-color:var(--line);color:var(--muted)}
.post-card{border-color:var(--line)}
.post-card__title{font-family:var(--font-display)}
.post-card__title a{color:var(--ink)}
.post-card__title a:hover,.post-card__meta a{color:var(--accent)}
.post-card__meta,.tags{color:var(--muted)}
.post-card p,.search-count{color:var(--text)}
.read-more,.post-nav{font-family:var(--font-ui)}
.post-nav{border-color:var(--line)}
.pagination a,.pagination span{font-family:var(--font-ui);background:var(--surface);border-radius:var(--radius)}
.pagination span{background:var(--accent);color:var(--on-accent)}
.search-page button,.btn{background:var(--accent);color:var(--on-accent);font-family:var(--font-ui);border-radius:var(--radius);text-transform:none;letter-spacing:0}
.search-page button:hover,.btn:hover{background:var(--accent-strong)}
.search-page input{border-color:var(--line);border-radius:var(--radius)}
.contact-form{background:var(--surface);border-radius:var(--radius)}
.contact-form label{font-family:var(--font-ui);color:var(--ink)}
.contact-form .consent label{font-family:var(--font-text);color:var(--text)}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{border-color:var(--line);border-radius:var(--radius);background:var(--bg)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);outline-color:var(--accent-soft)}
.welcome__content .text-part .author-presentation .name{font-family:var(--font-display);color:var(--ink)}
.welcome__content .text-part .author-presentation .role{font-family:var(--font-ui);color:var(--muted)}
.welcome__content .title-part .site-title{font-family:var(--font-display)}
.single-subject__title{font-family:var(--font-display);color:var(--ink)}
.single-subject:hover .single-subject__title{color:var(--accent)}
.single-subject__content p{color:var(--text)}
.footer{background:var(--footer-bg,var(--ink))}
.footer__content .site-name,.footer__content .address .single-address__title,.footer .copyright__content .legal-links a{font-family:var(--font-display)}
.footer .copyright__content .legal-links a{font-family:var(--font-ui);text-transform:none;letter-spacing:0}
.footer__content .left .doctolib a{color:var(--footer-bg,var(--ink));border-radius:var(--radius);font-family:var(--font-ui);font-weight:600}
.footer__content .address .single-address__title span,.footer .single-address__title .small{color:var(--footer-highlight,rgba(255,255,255,.7))}
@media (max-width: 991.98px){
.header__cta{display:none}
.topbar{display:none}
.menu{background:var(--bg)}
.menu li .menu-with-sub .toggle-sub-menu{background:var(--accent)}
.menu li .menu-with-sub .toggle-sub-menu::before{border-top-color:var(--on-accent)}
.menu li .sub-menu li .menu-with-sub,.menu li .sub-menu li a{background:var(--surface)}
.menu li .sub-menu li .menu-with-sub .toggle-sub-menu{background:var(--line)}
.menu li .sub-menu li .menu-with-sub .toggle-sub-menu::before{border-top-color:var(--ink)}
.menu li .sub-menu li:not(:last-child),.menu li:not(:last-child){border-color:var(--line)}
main{padding-top:var(--header-h-mobile,var(--header-h))}
}
body{overflow-x:clip}
.header{overflow-x:clip}
:root{--cw-in:920px}
@media (min-width:1200px){:root{--cw-in:1100px}}
@media (min-width:1400px){:root{--cw-in:1280px}}
@media (min-width:992px){
.mega .header .menu > li{position:static !important}
.mega .header .menu > li > .link-wrap{position:relative}
.mega .header .menu > li > .sub-menu{position:absolute;left:0;right:0;top:100%;width:auto;min-width:0;max-width:none;
display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:start;gap:28px 48px;
padding:36px calc((100% - var(--cw-in)) / 2) 44px;transform:translateY(8px);
background:var(--panel-bg,var(--bg));border-radius:0;border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.14)}
.mega .header .menu > li:hover > .sub-menu,.mega .header .menu > li.focus > .sub-menu,.mega .header .menu > li:focus-within > .sub-menu{transform:translateY(0)}
.mega .header .menu > li > .sub-menu > li{border:0 !important;padding:0;margin:0}
.mega .header .menu > li > .sub-menu > li > .link-wrap a{padding:0 0 10px;background:none !important;font-family:var(--font-display);font-size:17px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink);border-bottom:2px solid var(--accent);display:block}
.mega .header .menu > li > .sub-menu > li > .link-wrap a::after{display:none}
.mega .header .menu > li > .sub-menu > li > .link-wrap a:hover{color:var(--accent)}
.mega .header .menu .sub-menu .sub-menu{position:static;opacity:1;pointer-events:inherit;transform:none;max-width:none;width:auto;background:none;box-shadow:none;border:0;border-radius:0;padding:8px 0 0;margin:0}
.mega .header .menu .sub-menu .sub-menu li{border:0 !important}
.mega .header .menu .sub-menu .sub-menu li a{min-height:0;padding:6px 0;background:none !important;font-family:var(--font-text);font-size:14px;font-weight:400;line-height:1.35;color:var(--text);display:block}
.mega .header .menu .sub-menu .sub-menu li a:hover,.mega .header .menu .sub-menu .sub-menu li a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.mega .header .menu > li > .sub-menu > li:not(.menu-item-has-children) > .link-wrap a{border-bottom-width:1px;border-color:var(--line);font-size:15px;font-weight:600}
}
.toc__title{font:700 12px/1 var(--font-ui);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.toc li{margin:0}
.toc a{display:block;padding:7px 0 7px 14px;border-left:2px solid var(--line);font:500 14px/1.35 var(--font-ui);color:var(--text);text-decoration:none}
.toc a:hover{color:var(--accent);border-color:var(--accent)}
.toc a.is-active{color:var(--ink);font-weight:700;border-color:var(--accent)}
.contact-card{display:grid;gap:14px;padding:20px;border-radius:var(--radius);background:var(--surface);font:14px/1.45 var(--font-ui)}
.contact-card__title{margin:0;font:700 15px/1.3 var(--font-display);color:var(--ink)}
.contact-card__place{display:grid;gap:2px}
.contact-card__place strong{color:var(--ink);font-weight:600}
.contact-card__map{color:var(--text)}
.contact-card__phone{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.contact-card__cta{display:block;text-align:center;padding:12px 16px;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-weight:700}
.contact-card__cta:hover{background:var(--accent-strong);color:var(--on-accent)}
.entry .video__play:hover::before,.entry .video__play:focus-visible::before{background:var(--accent-strong)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:2px solid var(--accent);border-radius:var(--button-radius,var(--radius));background:var(--accent);color:var(--on-accent);font:600 16px/1.1 var(--font-ui);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.button:hover,.button:focus{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}
.button--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong,var(--ink))}
.button--ghost:hover,.button--ghost:focus{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.eyebrow{margin:0 0 16px;font:600 13px/1.3 var(--font-ui);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.section-title{margin:0 0 28px;font:var(--title-weight,700) clamp(28px,3vw,40px)/1.15 var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.section-lead{margin:-14px 0 32px;max-width:62ch;font-size:18px;line-height:1.6;color:var(--text)}
.home-search{margin-top:32px;max-width:640px}
.home-search label{display:block;margin-bottom:10px;font:600 14px/1.3 var(--font-ui);color:var(--muted)}
.home-search__field{display:flex;align-items:stretch;background:var(--bg);border:2px solid var(--search-border,var(--ink));border-radius:var(--button-radius,var(--radius));overflow:hidden}
.home-search__field input{flex:1;min-width:0;border:0;padding:17px 20px;font:18px var(--font-text);background:transparent;color:var(--ink);outline:none}
.home-search__field input::-webkit-search-cancel-button{display:none}
.home-search__field button{border:0;background:var(--accent);color:var(--on-accent);padding:0 26px;font:600 16px var(--font-ui)}
.home-search__field:focus-within{box-shadow:0 0 0 4px var(--accent-soft)}
.search-label{display:none}
.page-head{background:var(--head-bg,var(--surface));border-bottom:1px solid var(--line)}
.page-head__inner{padding-top:36px;padding-bottom:36px}
.page-head #breadcrumbs{margin:0 0 14px !important;font-size:13px;text-transform:none;letter-spacing:0}
#breadcrumbs li{letter-spacing:0}
.page-head__title{margin:0;max-width:22ch;font:var(--title-weight,700) clamp(32px,4vw,52px)/1.08 var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.page-head__by{margin:14px 0 0;font:500 15px/1.4 var(--font-ui);color:var(--muted)}
.tabs{position:sticky;top:var(--header-h);z-index:20;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tabs ol{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.tabs li{flex:0 0 auto}
.tabs a{display:block;padding:16px 0;margin-right:30px;border-bottom:3px solid transparent;font:600 15px/1.2 var(--font-ui);color:var(--muted);white-space:nowrap;text-decoration:none}
.tabs a:hover{color:var(--ink)}
.tabs a.is-active{color:var(--ink);border-bottom-color:var(--accent)}
.page-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:start;padding-top:48px;padding-bottom:80px}
.page-body__main{min-width:0;max-width:740px}
.page-body__side{position:sticky;top:calc(var(--header-h) + var(--tabs-h,0px) + 24px);display:grid;gap:28px;min-width:0}
.page-body .entry p,.page-body .entry li{font-size:18px;line-height:1.75;font-weight:400;letter-spacing:0}
.page-body .entry p[style*=justify]{text-align:left !important}
.page-body .entry .heading{margin-top:52px;font-weight:var(--title-weight,700);letter-spacing:-.01em}
.page-body .entry h2.heading{font-size:30px}
.page-body .entry h3.heading{font-size:26px}
.page-body .entry h4.heading{font-size:21px}
.page-body .entry strong{color:var(--ink);font-weight:600}
.page-body .entry a{font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.related ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.related a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font:500 14px/1.35 var(--font-ui);color:var(--ink)}
.related a:hover{color:var(--accent)}
.page-cta{margin-top:48px;padding:32px;border-radius:var(--card-radius,var(--radius));background:var(--accent-soft)}
.page-cta__title{margin:0 0 8px;font:var(--title-weight,700) 26px/1.2 var(--font-display);color:var(--ink)}
.page-cta p{font-size:16px !important}
.page-cta__button{display:inline-block;margin-top:8px;padding:13px 22px;border-radius:var(--button-radius,var(--radius));background:var(--accent);color:var(--on-accent) !important;font:600 15px/1 var(--font-ui);text-decoration:none !important}
.page-cta__button:hover{background:var(--accent-strong)}
.contact-card__title{font-size:17px}
.mobile-cta{display:none}
@media (max-width: 1199.98px){
.header__cta{display:none !important}
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px max(12px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
.mobile-cta a,.mobile-cta button{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:var(--button-radius,var(--radius));font:600 15px/1 var(--font-ui);text-decoration:none}
.mobile-cta a{background:var(--accent);color:var(--on-accent)}
.mobile-cta button{background:var(--bg);color:var(--ink);border:1.5px solid var(--line-strong,var(--ink))}
body{padding-bottom:70px}
.piste-switch{bottom:78px}
}
@media (max-width: 991.98px){
.page-body{grid-template-columns:1fr;gap:40px;padding-top:32px}
.page-body__side{position:static}
.page-body__side .toc{display:none}
.page-head__inner{padding-top:24px;padding-bottom:24px}
}
@media (max-width: 767.98px){
.page-body .entry p,.page-body .entry li{font-size:16px}
.page-body .entry h2.heading{font-size:25px}
.page-body .entry h3.heading{font-size:22px}
.entry .grid{display:block}
}
.page-container .wrapper-page,.page-container > *{min-width:0}
.page-body .entry p a,.hero__lead p a,.about__text p a{text-decoration:underline !important;text-decoration-thickness:1px !important;text-underline-offset:3px}
.hero__grid > *,.about__grid > *,.page-body > *{min-width:0}
.page-body .entry .link-cards a{text-decoration:none !important;border-color:var(--line);border-radius:var(--card-radius,var(--radius))}.page-body .entry .link-cards a:hover{border-color:var(--accent)}.entry .link-cards strong{font-family:var(--font-display);color:var(--accent)}.entry .link-cards span{color:var(--muted);font-family:var(--font-ui)}
.topbar{background:var(--ink)}
.topbar__content{justify-content:space-between;min-height:36px}
.topbar__lead{margin:0;color:rgba(255,255,255,.72);font-size:13px}
.topbar__lead sup{font-size:.7em}
.topbar__places{gap:24px;color:rgba(255,255,255,.72)}
.header{border-bottom:1px solid var(--line)}
.header__logo{font-size:20px;font-weight:800;letter-spacing:-.2px;color:var(--ink);line-height:1.1}
.header__logo span{font-size:13px;font-weight:500;margin-top:3px}
.menu li{margin-right:28px;padding:28px 0}
.menu li a{text-transform:none;font-size:16px;font-weight:600;letter-spacing:0}
.menu li.menu-item-has-children>.link-wrap a::after{border-width:4px 3.5px 0;opacity:.55}
.menu li.current-menu-ancestor>.link-wrap a::before{height:3px}
@media (min-width:992px){
.mega .header .menu > li{padding:0}
.mega .header .menu > li > .link-wrap{padding:28px 0}
#search{display:flex;align-items:center;gap:10px;margin-left:8px;padding:10px 14px !important;width:180px;border:1px solid var(--line-strong) !important;border-radius:var(--radius);background:var(--bg) !important;line-height:1}
#search:hover{border-color:var(--accent) !important}
#search svg{width:16px;height:16px}
#search svg path{fill:var(--muted)}
.search-label{display:inline;font:500 15px/1 var(--font-ui);color:var(--muted)}
}
.header__cta{margin-left:14px;padding:13px 18px;font-size:15px}
@media (min-width:992px){.menu li a{white-space:nowrap}}
@media (min-width:1200px) and (max-width:1439.98px){
.menu li{margin-right:22px}
#search{width:auto !important;padding:10px 12px !important}
.search-label{display:none !important}
.header__cta{padding:12px 16px}
}
.hero{background:linear-gradient(180deg,var(--surface),var(--bg));border-bottom:1px solid var(--line)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;align-items:start;padding-top:64px;padding-bottom:72px}
.hero__title{margin:0;max-width:20ch;font:var(--title-weight) clamp(34px,4vw,54px)/1.1 var(--font-display);letter-spacing:-.025em;color:var(--ink)}
.hero__title b{color:var(--accent);font-weight:inherit}
.hero__popular{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;font:15px/1.4 var(--font-ui);color:var(--muted)}
.hero__popular a{font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.hero__card{background:var(--bg);border:1px solid var(--line);border-radius:var(--card-radius);padding:22px;box-shadow:0 10px 30px rgba(11,35,65,.07)}
.hero__portrait{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);margin-bottom:16px;background:var(--surface)}
.hero__portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.hero__name{margin:0;font:700 20px/1.2 var(--font-display);color:var(--ink)}
.hero__role{margin:4px 0 18px;font-size:14px;line-height:1.45;color:var(--muted)}
.hero__card .button{width:100%}
.hero__phones{list-style:none;margin:16px 0 0;padding:0;font-size:14px}
.hero__phones li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.hero__phones span{color:var(--muted)}
.hero__phones a{font-weight:700;font-variant-numeric:tabular-nums}
.regions{padding:72px 0}
.regions__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.region{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:var(--card-radius);color:var(--text);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.region:hover{border-color:var(--accent);box-shadow:0 10px 26px rgba(11,35,65,.08);color:var(--text)}
.region__title{font:700 20px/1.25 var(--font-display);color:var(--accent);margin-bottom:10px}
.region__text{font-size:15px;line-height:1.6;flex:1}
.region__more{margin-top:16px;font:600 14px/1 var(--font-ui);color:var(--ink)}
.region__more::after{content:" ›"}
.az{padding:72px 0;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.az__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}
.az__head .section-title{margin:0}
.az__letters{display:flex;flex-wrap:wrap;gap:4px}
.az__letters a,.az__letters span{display:inline-grid;place-items:center;width:30px;height:32px;border-radius:var(--radius);font:700 14px/1 var(--font-ui)}
.az__letters a{background:var(--bg);border:1px solid var(--line);color:var(--accent)}
.az__letters a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.az__letters span{color:var(--line-strong)}
.az__list{columns:3;column-gap:48px}
.az__group{break-inside:avoid;margin-bottom:22px;scroll-margin-top:calc(var(--header-h) + 20px)}
.az__letter{margin:0 0 6px;padding-bottom:6px;border-bottom:2px solid var(--ink);font:800 22px/1 var(--font-display);color:var(--ink)}
.az__group ul{list-style:none;margin:0;padding:0}
.az__group a{display:block;padding:6px 0;font:500 15px/1.4 var(--font-ui);color:var(--accent)}
.az__group a:hover{text-decoration:underline}
.about{padding:72px 0}
.about__grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:64px}
.about__text{max-width:720px}
.about__text p{font-size:18px;line-height:1.75;color:var(--text)}
.page-head{background:var(--surface)}
.contact-card{background:var(--bg);border:1px solid var(--line);box-shadow:0 10px 30px rgba(11,35,65,.06)}
@media (max-width: 1199.98px){
.menu li{margin-right:18px}.menu li a{font-size:15px}
#search{width:auto !important}
.search-label{display:none !important}
.regions__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero__grid{grid-template-columns:minmax(0,1fr) 300px;gap:48px}
}
@media (max-width: 991.98px){
.header{padding:14px 0}
.hero__grid{grid-template-columns:1fr;padding-top:36px;padding-bottom:44px;gap:36px}
.hero__card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 16px;align-items:center}
.hero__portrait{grid-row:span 2;aspect-ratio:1;margin:0}
.hero__card .button,.hero__phones{grid-column:1 / -1}
.hero__card .button{margin-top:16px}
.hero__role{margin-bottom:0}
.az__list{columns:2}
.about__grid{grid-template-columns:1fr;gap:16px}
.regions,.az,.about{padding:48px 0}
}
@media (max-width: 767.98px){
.regions__grid{grid-template-columns:1fr}
.az__list{columns:1}
.home-search__field button{padding:0 16px}
}
