@font-face{font-family:Montserrat;src:url("/fonts/Montserrat-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("/fonts/Montserrat-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("/fonts/Montserrat-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --ink:#021A26;--ink-2:#052A3D;--ink-3:#073E58;
  --deep:#065073;--teal:#5DAAB4;--sand:#C3A696;--paper:#FFFDF6;
  --plane:#021A26;--plate:#052A3D;--caption:rgba(255,253,246,.62);--plate-light:#F3EFE6;
  --bg:var(--ink);--fg:var(--paper);--muted:rgba(255,253,246,.62);
  --line:rgba(255,253,246,.14);--line-2:rgba(255,253,246,.28);
  --mute:rgba(255,253,246,.62);--mute-2:rgba(255,253,246,.42);
  --max:1680px;--frame:1680px;--gut:clamp(20px,3.2vw,64px);--head:98px;
  --font:Montserrat,system-ui,-apple-system,sans-serif;
  --e:cubic-bezier(.16,1,.3,1);
}
html[data-theme="light"]{
  --bg:var(--paper);--fg:#04222E;--muted:rgba(4,34,46,.72);--caption:rgba(4,34,46,.66);
  --line:rgba(4,34,46,.16);--line-2:rgba(4,34,46,.28);
  --mute:rgba(4,34,46,.66);--mute-2:rgba(4,34,46,.5);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:dark}
html[data-theme="light"]{background:var(--paper);color-scheme:light}
html.is-locked,html.is-locked body{overflow:hidden}
body{
  margin:0;padding-top:var(--head);
  background:var(--bg);color:var(--fg);
  font-family:var(--font);font-size:17px;font-weight:400;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
html[data-theme="light"] body{background:var(--paper);color:#04222E}
body:has(.hero){padding-top:0}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit;border-radius:0}
button{background:none;border:0;cursor:pointer}
strong,b{font-weight:500}
::selection{background:var(--teal);color:#054F73}
:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.wrap{width:min(var(--frame),100%);max-width:var(--frame);margin-inline:auto;padding-inline:var(--gut)}
h1,h2,h3,h4{font-weight:700;text-transform:none;line-height:1.04;letter-spacing:-.028em;overflow-wrap:break-word;hyphens:manual}
.eyebrow{margin:0 0 12px;font-size:12px;font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--caption)}
.page-head{padding:clamp(28px,4vh,56px) 0 0}
.page-head h1,.read > h1{margin:0;max-width:18em;font-weight:500;font-size:clamp(40px,3.2vw,56px);line-height:1.12;overflow-wrap:break-word;hyphens:manual}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;color:var(--caption);font-size:14px;font-weight:500}
.crumbs a{color:inherit}

.top{position:fixed;inset:0 0 auto 0;z-index:90;height:auto;background:rgba(2,24,31,.72);color:var(--paper);backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid var(--line)}
html[data-theme="light"] .top{background:rgba(255,253,246,.96);color:#04222E}
body:has(.hero) .top:not(.is-solid):not(.is-open){background:transparent;color:#FFFDF6}
html[data-theme="light"] body:has(.hero) .top:not(.is-solid):not(.is-open){background:transparent;color:#FFFDF6}
body:has(.hero) .top.is-solid,body:has(.hero) .top.is-open,.top.is-open{background:#054F73;color:#FFFDF6}
html[data-theme="light"] body:has(.hero) .top.is-solid,html[data-theme="light"] .top.is-open{background:var(--paper);color:#054F73}
.bar{display:flex;align-items:center;height:var(--head);gap:12px}
.brand{display:flex;align-items:center;line-height:0;flex:0 1 auto;min-width:0}
.brand img{display:block;width:auto;height:34px}
.brand .for-light{display:none}
html[data-theme="light"] .brand .for-dark{display:none}
html[data-theme="light"] .brand .for-light{display:block}
.phone{display:none;align-items:center;min-height:44px;padding:8px 0;font-size:15px;font-weight:500;line-height:1.2;white-space:nowrap;color:inherit}
.nav{display:flex;align-items:center;gap:clamp(12px,1.3vw,22px);margin:0 0 0 auto;padding:0;list-style:none}
.nav > li{position:relative;display:flex;align-items:center}
.nav > li > a,.nav-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:15px;font-weight:500;line-height:1.2;white-space:nowrap;color:inherit}
.nav > li > a[aria-current="page"],.nav-link[aria-current="page"]{font-weight:500}
.drop,.theme,.menu,.back,.group-toggle{min-width:44px;min-height:44px}
.drop{position:relative;width:44px;height:44px;flex:0 0 44px;font-size:0;color:inherit}
.drop::after,.group-toggle::after{
  content:"";position:absolute;top:16px;left:17px;width:8px;height:8px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);
}
.drop[aria-expanded="true"]::after{top:20px;transform:rotate(225deg)}
.theme{position:relative;width:44px;height:44px;flex:0 0 44px;color:inherit}
.theme::before{content:"";position:absolute;inset:12px;border:1.5px solid currentColor;border-radius:50%}
html:not([data-theme="light"]) .theme::after{content:"";position:absolute;width:16px;height:16px;right:8px;top:8px;border-radius:50%;background:#054F73}
body:has(.hero) .top:not(.is-solid):not(.is-open) .theme::after{background:transparent}
.menu{position:relative;width:44px;height:44px;flex:0 0 44px;margin-left:0;color:inherit}
.menu span,.menu span::before,.menu span::after{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .2s ease,top .2s ease}
.menu span{top:21px}
.menu span::before,.menu span::after{content:"";left:0;right:0}
.menu span::before{top:-7px}
.menu span::after{top:7px}
.top.is-open .menu span{background:transparent}
.top.is-open .menu span::before{top:0;transform:rotate(45deg)}
.top.is-open .menu span::after{top:0;transform:rotate(-45deg)}
.tools{display:flex;align-items:center}
hr.rule{display:none}

.sub{display:none}
.sub a{text-decoration:none}
.sub .group span,.foot .idx{display:none}
.back{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 8px;padding:0;
  font-size:17px;font-weight:500;text-align:left;
}
.back::before{
  content:"";width:8px;height:8px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);
}
.group-toggle{position:relative;width:44px;height:44px;font-size:0}
.group-toggle[aria-expanded="true"]::after{top:18px;transform:rotate(225deg)}
.sub .group,.sub a.group{
  display:block;margin:0 0 12px;font-size:18px;font-weight:500;line-height:1.3;color:inherit;text-decoration:none;
  overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none;
}
.sub .group-body a,.sub a:not(.group){display:block;padding:7px 0;font-size:17px;font-weight:400;line-height:1.4;color:var(--caption)}
.sub a:not(.group):hover,.sub .group-body a:hover{color:var(--fg)}
html[data-theme="light"] .sub a:not(.group):hover,html[data-theme="light"] .sub .group-body a:hover{color:#054F73}
.sub .group-body a.branch{margin-top:16px;padding-top:14px;border-top:1px solid rgba(169,203,208,.45);font-weight:500;color:inherit}
html[data-theme="light"] .sub .group-body a.branch{border-top-color:rgba(5,79,115,.22)}
.sub .group-body a.branch:hover{color:var(--fg)}
html[data-theme="light"] .sub .group-body a.branch:hover{color:#054F73}

.foot{background:var(--ink-2);color:#FFFDF6;padding:14px 0 12px}
.foot a,.foot p{color:#FFFDF6}
html[data-theme="light"] .foot,html[data-theme="light"] .foot a,html[data-theme="light"] .foot p{color:#FFFDF6}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 28px;font-size:16px;line-height:1.4}
.foot-top a{font-weight:500}
.foot-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:15px;line-height:1.4}
.foot-top .foot-links{margin:0;padding:0;border:0;flex:1 1 auto}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(169,203,208,.28);color:#A9CBD0;font-size:14px;line-height:1.45}
html[data-theme="light"] .foot-legal,html[data-theme="light"] .foot-legal a{color:#A9CBD0}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-grid{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline}
.foot-grid h2{margin:0;font-size:16px;font-weight:500}
.foot-grid a,.foot-grid p{margin:0;font-size:15px;font-weight:400}

a.action{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:0 20px;
  border:1px solid currentColor;font-size:16px;font-weight:500;line-height:1.2;text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
a.action:hover{background:var(--teal);border-color:var(--teal);color:#054F73}


.feature,article.feature{
  margin:0 0 8px;padding:0 0 36px;border-bottom:1px solid var(--line);
}
article.feature > a,.feature > a{
  display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:12px 40px;align-items:center;
  color:inherit;text-decoration:none;
}
article.feature img,.feature img{grid-column:1;grid-row:1 / span 3}
article.feature time,.feature time,article.feature strong,.feature strong{grid-column:2}
article.feature img,.feature img{
  display:block;width:min(480px,100%);max-width:480px;aspect-ratio:16/10;height:auto;object-fit:contain;background:transparent;
}
html[data-theme="light"] article.feature img,html[data-theme="light"] .feature img{background:transparent}
article.feature time,.feature time{display:block;margin:0 0 10px;color:var(--caption);font-size:15px;line-height:1.4}
article.feature h2,.feature h2,article.feature h1{margin:0;font-size:clamp(26px,2.4vw,36px);font-weight:500;line-height:1.2;text-transform:none}

.news-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.news-list > li{border-bottom:1px solid var(--line)}
.news-list > li > a{
  display:grid;grid-template-columns:110px minmax(0,1fr) 160px;gap:12px 24px;align-items:center;
  padding:20px 0;text-decoration:none;
}
.news-list time{grid-column:1;margin:0;color:var(--caption);font-size:15px;line-height:1.4}
.news-list > li > a > :not(time):not(img){grid-column:2;font-size:20px;font-weight:500;line-height:1.35;overflow-wrap:break-word;hyphens:manual}
.news-list img{grid-column:3;justify-self:end;width:160px;height:100px;object-fit:contain;background:transparent}
html[data-theme="light"] .news-list img{background:transparent}
nav.years{display:flex;flex-wrap:wrap;gap:4px 18px;margin:20px 0 28px}
nav.years a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:500}
nav.years a[aria-current="page"]{box-shadow:inset 0 -1px 0 currentColor}

.read{
  width:min(760px,100%);max-width:760px;margin-inline:auto;
  padding-top:clamp(20px,3vh,32px);padding-bottom:clamp(48px,6vh,80px);
  font-size:18px;line-height:29px;overflow-wrap:break-word;
}
main > .read{width:min(760px,calc(100% - 2 * var(--gut)))}
.read p{margin:0 0 18px}
.read h2,.read h3{font-weight:500;text-transform:none;overflow-wrap:break-word;hyphens:manual}
.read h2{margin:1.4em 0 .5em;font-size:clamp(26px,2.4vw,32px);line-height:1.2}
.read h3{margin:1.2em 0 .4em;font-size:22px;line-height:1.3}
.read ul,.read ol{margin:0 0 18px;padding-left:1.2em}
.read li{margin:.35em 0}
.read a{text-decoration:underline;text-underline-offset:3px}
.read a.action{text-decoration:none}
.read > figure{
  width:min(1120px,calc(100vw - 2 * var(--gut)));max-width:none;
  margin-left:calc((100% - min(1120px,calc(100vw - 2 * var(--gut)))) / 2);
}
.read > figure.film,.read > figure:has(video){width:100%;max-width:100%;margin-left:0}
body:has(.read) .page-head .wrap{width:min(760px,calc(100% - 2 * var(--gut)))}
figure{margin:24px 0}
figure img,.read img,.prose img{display:block;width:auto;max-width:100%;height:auto;object-fit:contain}
figcaption{margin-top:8px;color:var(--caption);font-size:15px;line-height:1.45}
.table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.table-wrap table{width:max-content;min-width:100%;max-width:none;border-collapse:collapse}
nav.pager{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 24px;
  width:min(760px,calc(100% - 2 * var(--gut)));margin:8px auto clamp(72px,10vh,112px);
}
nav.pager a{max-width:100%;font-weight:500;overflow-wrap:anywhere}

.contact-grid{
  display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);align-items:start;
  width:min(var(--frame),calc(100% - 2 * var(--gut)));margin:clamp(28px,4vh,48px) auto clamp(72px,8vh,112px);
}
.wrap .contact-grid{width:100%;margin-inline:0}
.contact-grid > p{grid-column:1}
.contact-grid > figure,.contact-grid > .office{grid-column:2;grid-row:1 / span 8;margin:0}
.contact-grid p{margin:0 0 16px;font-size:18px;line-height:29px}
iframe.map-frame,.contact-grid iframe{display:block;width:100%;height:460px;border:0;background:var(--plate)}
html[data-theme="light"] iframe.map-frame,html[data-theme="light"] .contact-grid iframe{background:var(--plate-light)}
.map-link,a.map-link{display:inline-block;margin-top:12px;font-weight:500}
.contact-grid .map-link{grid-column:2}

main{min-width:0;overflow-x:clip}
section[id]{scroll-margin-top:calc(var(--head) + 12px)}

.prose{padding-top:clamp(22px,3vh,40px);padding-bottom:clamp(72px,10vh,112px);font-size:18px;line-height:29px;overflow-wrap:break-word}
.prose > p,.prose > ul,.prose > ol,.prose > h1,.prose > h2,.prose > h3,.prose > h4,.prose > blockquote,.prose > .sheet-link{max-width:760px}
.prose > figure,.prose > .film,.prose > img,.prose p:has(img){max-width:min(1120px,100%)}
.prose > .table-wrap{max-width:100%}
.prose h1,.prose h2{margin:1.2em 0 .4em;font-size:clamp(26px,2.2vw,32px);font-weight:500;line-height:1.2}
.prose h1{margin-top:0}
.prose h3{margin:1.2em 0 .35em;font-size:22px;font-weight:500;line-height:1.3}
.prose p{margin:0 0 18px}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose a.doc,.file a.pdf,.prose a.pdf{
  display:inline-flex;align-items:center;gap:8px;margin:12px 0;padding:12px 18px;
  background:#FFFDF6;color:#054F73;font-weight:500;font-size:15px;text-decoration:none;
}
html[data-theme="light"] .prose a.doc,html[data-theme="light"] .file a.pdf,html[data-theme="light"] .prose a.pdf{background:#054F73;color:#FFFDF6}
.prose a.doc:hover,.file a.pdf:hover,.prose a.pdf:hover{background:var(--teal);color:#054F73}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin:.35em 0}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.prose.shots{display:block}
.prose.aside{display:grid;grid-template-columns:minmax(0,40rem) minmax(260px,1fr);column-gap:clamp(28px,4vw,64px);align-items:start}
.prose.aside > .copy,.prose.aside > .rail{min-width:0;max-width:none}
.prose.aside .copy > :is(p,ul,ol,h1,h2,h3,h4,blockquote,dl,.sheet-link){max-width:none}
.prose.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;align-items:start}
.prose.shots > h1,.prose.shots > h2,.prose.shots > h3{grid-column:1 / -1;max-width:20em}
.prose.shots .shot{display:flex;flex-direction:column;gap:12px;min-width:0;color:inherit;text-decoration:none}
.shot span{font-weight:500;font-size:clamp(22px,2vw,28px);line-height:1.25}
.film{margin:28px 0;max-width:min(1120px,100%)}
.film iframe,.film video,.read video,.read iframe:not(.map-frame){display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;background:var(--plane);object-fit:contain}
.film iframe,.film video,.read video,.read iframe:not(.map-frame){width:min(100%,1120px,124.444vh);width:min(100%,1120px,124.444svh)}
.lead-photo{margin:1.4em 0}
figure.plate{margin:0 0 24px;padding:12px 12px 16px;background:transparent;color:#FFFDF6}
html[data-theme="light"] figure.plate{background:transparent;color:#054F73}
figure.plate figcaption{color:var(--caption)}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.card{display:flex;flex-direction:column;min-width:0;color:inherit}
.card strong,.news-grid strong{margin-top:8px;font-weight:500;font-size:20px;line-height:1.3}
.card time,.news-grid time{margin-top:12px;color:var(--caption);font-size:15px}
.cards.board{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.cards.board .card{
  display:grid;grid-template-columns:110px minmax(0,1fr) 160px;gap:12px 24px;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.cards.board .card time{grid-column:1;grid-row:1;margin:0}
.cards.board .card strong{grid-column:2;grid-row:1;margin:0}
.cards.board .card img{grid-column:3;grid-row:1;width:160px;height:100px;object-fit:contain;background:transparent}
html[data-theme="light"] .cards.board .card img{background:transparent}
.albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;align-items:start}
.album{display:flex;flex-direction:column;min-width:0;color:inherit}
.album img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:transparent}
.fit{width:100%;object-fit:contain;display:block;background:transparent}
html[data-theme="light"] .album img{background:transparent}
.album span{padding-top:12px;font-weight:500;font-size:20px;line-height:1.3}
.album small{display:block;margin-top:8px;color:var(--caption);font-size:14px}
.mosaic{columns:3 240px;column-gap:8px}
.mosaic a,.mosaic figure{display:block;margin:0 0 8px;break-inside:avoid}
.mosaic img{width:100%;height:auto;object-fit:contain;background:transparent}
html[data-theme="light"] .mosaic img{background:transparent}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);color:#054F73}
.fact{padding:clamp(28px,4vw,48px) clamp(16px,2vw,28px)}
.fact svg,.fact .mark,.fact img{width:72px;height:72px;min-width:66px;min-height:66px;object-fit:contain}
.fact p{margin:16px 0 0;font-size:clamp(18px,1.5vw,24px);font-weight:500;line-height:1.25;color:#054F73}
.atlas{background:var(--paper);color:#054F73;padding:clamp(64px,8vh,96px) 0}
.atlas-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,64px);align-items:start}
.atlas svg{width:100%;height:auto;display:block}
.atlas-list{margin:0;padding:0;list-style:none;max-height:560px;overflow:auto}
.atlas-list a{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(69,101,114,.28);color:#054F73;font-weight:500;font-size:16px;line-height:1.35}
.dot{width:8px;height:8px;border-radius:50%;background:var(--teal);display:inline-block;flex:0 0 auto}
.dot.office{background:var(--sand)}
.office{margin:28px 0}
.office svg{width:100%;height:auto;display:block}
.logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 20px;align-items:center}
.logos img{width:100%;height:72px;object-fit:contain}
.files{margin:0;padding:8px 0 0;list-style:none;border-bottom:1px solid var(--line)}
.file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
.file div{display:grid;gap:4px;min-width:0}
.file strong{font-weight:500;font-size:20px;line-height:1.3}
.file span{color:var(--caption);font-size:14px}
.sheet{max-width:860px;margin:0 auto clamp(48px,8vh,96px);padding:28px 36px 72px;background:#fff;color:#054F73}
.sheet .letterhead{width:100%;height:auto;display:block}
.sheet h1{margin:22px 0 8px;font-size:clamp(28px,3vw,40px);line-height:1.15;text-align:center}
.sheet h2{margin:1.4em 0 .4em;font-size:18px;font-weight:500}
.sheet p,.sheet li{font-size:15px;line-height:1.55}
.sheet a{color:#054F73;text-decoration:underline;text-underline-offset:3px}
.ask{display:grid;grid-template-columns:1fr .9fr;gap:clamp(24px,4vw,64px);align-items:start}
.ask h2{margin:0;font-size:clamp(32px,3vw,44px);font-weight:500;color:#FFFDF6}
.ask p{margin:16px 0 0;max-width:40rem}
.ask form{display:grid;gap:8px}
.ask label{display:grid;gap:4px;font-size:15px}
.ask input,.ask textarea{width:100%;padding:10px 0;border:0;border-bottom:1px solid rgba(169,203,208,.45);background:transparent;color:#FFFDF6}
.ask textarea{min-height:96px;resize:vertical}
.ask button{justify-self:start;min-height:44px;margin-top:12px;padding:0 20px;background:#FFFDF6;color:#054F73;font-weight:500}
.ask button:disabled{opacity:.4}
.ask .fine,.ask a{color:#FFFDF6}
.ask label.check{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.ask .check input{width:22px;height:22px;flex:0 0 auto}
.map{min-height:0}
.map script{display:none}

html.viewer-open{overflow:hidden}
img.zoom{cursor:zoom-in}
.viewer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:76px 20px 24px;background:var(--plane)}
.viewer[hidden]{display:none}
.viewer-frame{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:14px;width:min(1200px,100%);height:100%;min-height:0}
.viewer img{max-width:100%;max-height:100%;min-height:0;width:100%;height:100%;object-fit:contain}
.viewer p{margin:0;max-width:42rem;max-height:30dvh;overflow:auto;color:#FFFDF6;font-size:15px;line-height:1.45;text-align:center}
.viewer-close{position:fixed;top:16px;right:16px;z-index:81;min-height:44px;padding:0 16px;background:#FFFDF6;color:#054F73;font-weight:500}

@media (min-width:1100px){
  .menu{display:none}
  .phone{display:inline-flex;margin-left:8px}
  .phone:hover{color:var(--sand)}
  .nav{height:100%}
  .nav > li{height:100%}
  .nav > li > a{font-size:15px}
  .nav > li > a:hover,.nav-link:hover{color:var(--sand)}
  .sub{
    position:absolute;z-index:50;top:calc(100% - 8px);left:0;min-width:280px;padding:12px 22px 16px;
    background:#054F73;color:#FFFDF6;
  }
  html[data-theme="light"] .sub{background:var(--paper);color:#054F73}
  .sub:has(.col),#services-panel{
    position:fixed;top:var(--head);left:0;right:0;min-width:0;
    max-height:calc(100dvh - var(--head));overflow:auto;
    padding:28px max(var(--gut),calc((100% - var(--frame)) / 2 + var(--gut))) 36px;
    border-bottom:1px solid rgba(169,203,208,.35);
    column-gap:clamp(24px,3vw,48px);
  }
  .nav > li:hover > .sub,.nav > li.is-open > .sub,.nav > li:focus-within > .sub{display:block}
  .nav > li:hover > .sub:has(.col),.nav > li.is-open > .sub:has(.col),.nav > li:focus-within > .sub:has(.col),
  .nav > li:hover > #services-panel,.nav > li.is-open > #services-panel,.nav > li:focus-within > #services-panel{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nav > li.is-shut > .sub,.nav > li.is-shut:hover > .sub,.nav > li.is-shut:focus-within > .sub,
  .nav > li.is-shut:hover > .sub:has(.col),.nav > li.is-shut:focus-within > .sub:has(.col),
  .nav > li.is-shut > #services-panel,.nav > li.is-shut:hover > #services-panel,.nav > li.is-shut:focus-within > #services-panel{display:none}
  .back,.group-toggle{display:none}
  .group-body,.sub .col .group-body{display:block}
  #services-panel .col,.sub:has(.col) .col{margin:0;padding:0;border:0}
  .sub .col + .col{margin-top:0}
}
@media (min-width:1100px) and (max-width:1240px){
  .nav{gap:10px}
  .nav > li > a,.nav-link{font-size:14px}
}
@media (max-width:1099px){
  :root{--head:64px;--gut:32px}
  .brand img{max-width:min(200px,calc(100vw - var(--gut) * 2 - 60px));height:auto;max-height:36px}
  .menu{display:block;margin-left:auto}
  button.drop[aria-controls="company-panel"]{display:none}
  .top.is-open .phone{
    display:inline-flex;position:fixed;z-index:48;
    right:max(var(--gut),env(safe-area-inset-right));
    bottom:calc(12px + env(safe-area-inset-bottom));
  }
  .top:not(.is-open) .theme{display:none}
  .top.is-open .theme{
    display:block;position:fixed;z-index:48;left:max(var(--gut),env(safe-area-inset-left));
    bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;
  }
  .nav{display:none}
  .nav.is-open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;z-index:45;
    top:var(--head);right:0;bottom:0;left:0;height:auto;margin:0;overflow:auto;
    padding:8px max(var(--gut),env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(var(--gut),env(safe-area-inset-left));
    background:#054F73;color:#FFFDF6;overscroll-behavior:contain;
  }
  html[data-theme="light"] .nav.is-open,html[data-theme="light"] .sub.level.is-open{background:var(--paper);color:#054F73}
  .nav.is-open > li{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid rgba(169,203,208,.28)}
  .nav.is-open > li > a,.nav.is-open > li > .nav-link{flex:1 1 auto;padding:10px 0;font-size:26px;font-weight:500;line-height:1.25;white-space:normal}
  .nav.is-open .sub:not(.level){display:block;position:static;flex:1 0 100%;padding:0 0 12px;background:transparent}
  .nav.is-open #services-panel{display:none}
  .nav.is-open #services-panel.is-open{
    display:flex;flex-direction:column;position:fixed;z-index:60;top:var(--head);right:0;bottom:0;left:0;
    overflow:auto;background:#054F73;color:#FFFDF6;
    padding:16px max(var(--gut),env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(var(--gut),env(safe-area-inset-left));
    overscroll-behavior:contain;
  }
  .sub .col{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:8px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(169,203,208,.28)}
  .sub .col .group{grid-column:1;grid-row:1;margin:0}
  .sub .col .group-toggle{grid-column:2;grid-row:1}
  .sub .col .group-body{display:none;grid-column:1 / -1;grid-row:2;padding:4px 0 8px}
  .sub .col.is-open .group-body,.group-body.is-open{display:block}
  .group-body a{min-height:44px;padding:10px 0 10px 12px;font-size:17px}
}
@media (max-width:800px){
  :root{--gut:20px}
  body,.read,.prose,.contact-grid p{font-size:17px;line-height:27px}
  .page-head h1,.read > h1{font-size:clamp(28px,8vw,34px)}
  .albums,.cards,.ask,.atlas-grid,.prose.shots{grid-template-columns:1fr}
  .feature,article.feature,article.feature > a,.feature > a{display:block}
  article.feature img,.feature img,article.feature time,.feature time,article.feature strong,.feature strong{grid-column:auto;grid-row:auto}
  article.feature img,.feature img{margin-bottom:16px}
  .news-list > li > a,.cards.board .card{grid-template-columns:minmax(0,1fr) 104px;gap:8px 16px}
  .news-list time,.cards.board .card time{grid-column:1;grid-row:1}
  .news-list img,.cards.board .card img{grid-column:2;grid-row:1;width:104px;height:72px}
  .news-list > li > a > :not(time):not(img),.cards.board .card strong{grid-column:1 / -1;grid-row:2}
  .contact-grid{grid-template-columns:1fr;width:min(var(--frame),calc(100% - 2 * var(--gut)))}
  .contact-grid > p,.contact-grid > figure,.contact-grid > .office{grid-column:1;grid-row:auto}
  iframe.map-frame,.contact-grid iframe{height:340px}
  .contact-grid .map-link{grid-column:1}
  .foot-top{flex-direction:column;align-items:flex-start;gap:8px}
  .foot-top a{display:inline-flex;align-items:center;min-height:40px}
  .foot-links,.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
  .foot-legal{display:block}
  .foot-legal a{display:inline-block;margin-top:8px}
  .file{grid-template-columns:1fr}
  .mosaic{columns:2 140px}
  .sheet{padding:16px 16px 48px}
}
@media (max-width:359px){:root{--gut:16px}}
@media (max-width:1099px) and (max-height:500px){
  .nav.is-open > li > a{font-size:22px;padding:6px 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .menu span,.menu span::before,.menu span::after,a.action{transition:none}
}
@media print{
  .top,.foot,.page-head .crumbs{display:none}
  body{padding:0;background:#fff;color:#04222E}
  .sheet{max-width:none;margin:0;padding:0}
}

.kick{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font-size:12px;font-weight:500;letter-spacing:.28em;line-height:1.3;text-transform:uppercase;color:var(--teal)}
.kick::before{content:"";width:34px;height:1px;background:currentColor}
.band{padding:clamp(64px,8vw,150px) 0;background:transparent;color:inherit}
.band.tight{padding:clamp(40px,5vw,84px) 0}
.wrap.band{width:100%;max-width:none;padding-inline:max(var(--gut),calc((100% - var(--frame)) / 2 + var(--gut)))}
.band.paper{background:var(--paper);color:#04222E;--caption:rgba(4,34,46,.66);--mute:rgba(4,34,46,.66);--line:rgba(4,34,46,.16);--fg:#04222E;--plate:var(--plate-light)}
.band.ink2{background:var(--ink-2);color:var(--paper)}
.band.deep{background:var(--deep);color:var(--paper)}
.band.paper .kick{color:var(--deep)}
.band.paper .kick::before{background:var(--deep)}
h2.big{max-width:18em;margin:0;font-size:clamp(30px,4.6vw,72px);font-weight:700;letter-spacing:-.028em;line-height:1.04}
h2.big em,h1 em{font-style:normal}
.grad{color:var(--teal)}
.band.paper .grad{color:var(--deep)}
.lead{max-width:64ch;margin:22px 0 0;font-size:clamp(17px,1.45vw,22px);font-weight:400;line-height:1.55;color:var(--mute)}
.band.paper .lead{color:rgba(4,34,46,.72)}
.lead a{text-decoration:underline;text-underline-offset:4px}
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,80px);align-items:center}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:clamp(28px,3vw,40px);padding:13px 24px;background:var(--teal);color:#04303F;font-size:14.5px;font-weight:700;line-height:1.2;white-space:nowrap;text-decoration:none}
.cta:hover{background:var(--paper);color:var(--deep)}
.bar .cta{margin-top:0}
.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;border-top:1px solid var(--line)}
.fig{min-width:0;padding:clamp(26px,3vw,44px) clamp(18px,2vw,32px) clamp(26px,3vw,44px) 0;border-right:1px solid var(--line)}
.fig:last-child{border-right:0}
.fig b{display:block;font-size:clamp(28px,3.2vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.02}
.fig b i{font-style:normal;color:var(--teal)}
.fig b a{color:inherit;text-decoration:none}
.fig span{display:block;margin-top:14px;max-width:28ch;font-size:14.5px;font-weight:400;line-height:1.45;color:var(--mute)}
.fig.word b{font-size:clamp(22px,2.1vw,34px);line-height:1.12}
.band.paper .figures,.band.paper .fig{border-color:rgba(4,34,46,.16)}
.band.paper .fig span{color:rgba(4,34,46,.66)}
.band.deep .figures,.band.deep .fig{border-color:rgba(255,253,246,.22)}
.band.deep .figures{grid-template-columns:repeat(3,minmax(0,1fr))}
.band.deep .fig b{font-size:clamp(20px,1.8vw,32px);line-height:1.15;overflow-wrap:anywhere}
.page-head h1,.read > h1{font-weight:700;font-size:clamp(32px,4vw,64px);line-height:1.04;letter-spacing:-.028em}
.page-head.phero{margin:0;padding:clamp(28px,4vw,56px) 0 clamp(32px,4vw,64px);background:transparent;color:inherit;border-bottom:1px solid var(--line)}
.page-head .kick{margin-bottom:14px}
.crumbs{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--mute)}
.params{max-width:760px;margin:8px 0 28px;border-top:1px solid var(--line)}
.params div{padding:14px 0;border-bottom:1px solid var(--line)}
.params dt{font-size:15px;font-weight:500;color:var(--mute)}
.params dd{margin:4px 0 0;font-size:17px}
a.contact-link{font-weight:500}
.news-list > li > a > :not(time):not(img),article.feature strong{font-weight:700;letter-spacing:-.02em}
html[data-theme="light"] .hero{background:var(--paper);color:#04222E}
html[data-theme="light"] .hero h1{color:#04222E}
html[data-theme="light"] .hero .lead,html[data-theme="light"] .lead{color:rgba(4,34,46,.72)}
html[data-theme="light"] .kick{color:var(--deep)}
html[data-theme="light"] .band.ink2,html[data-theme="light"] .band.deep{background:#E7F0F2;color:#04222E}
html[data-theme="light"] .band.paper{background:#F6F1EA}
html[data-theme="light"] .figures,html[data-theme="light"] .fig,html[data-theme="light"] .tiles,html[data-theme="light"] .tile,html[data-theme="light"] .logo-row,html[data-theme="light"] .logo-row img{border-color:rgba(4,34,46,.16)}
html[data-theme="light"] .fig b i{color:var(--deep)}
html[data-theme="light"] body:has(.hero) .top:not(.is-solid):not(.is-open),
html[data-theme="light"] body:has(.hero) .top.is-solid,
html[data-theme="light"] body:has(.hero) .top.is-open,
html[data-theme="light"] .top.is-open,
html[data-theme="light"] .top.is-solid{background:rgba(255,253,246,.97);color:#04222E}
body:has(.hero) .top.is-solid,body:has(.hero) .top.is-open,.top.is-open,.top.is-solid{background:transparent;color:var(--paper)}
.top{background:transparent;backdrop-filter:none}
.top::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(2,24,31,.82);backdrop-filter:blur(18px) saturate(1.2)}
.top.is-solid::before,.top.is-open::before{background:rgba(2,24,31,.97)}
html[data-theme="light"] .top::before,html[data-theme="light"] .top.is-solid::before,html[data-theme="light"] .top.is-open::before{background:rgba(255,253,246,.96)}
html[data-theme="light"] body:has(.hero) .top.is-solid,
html[data-theme="light"] body:has(.hero) .top.is-open,
html[data-theme="light"] .top.is-open,
html[data-theme="light"] .top.is-solid{background:rgba(255,253,246,.97);color:#04222E}
.top.is-solid .bar{height:var(--head)}
@media (min-width:1100px){
  html:has(.top.is-solid){--head:76px}
  .nav > li > a:hover,.nav-link:hover,.nav > li > a[aria-current="page"],.nav-link[aria-current="page"]{color:var(--paper);border-bottom:2px solid var(--teal)}
  html[data-theme="light"] .nav > li > a:hover,html[data-theme="light"] .nav-link:hover,html[data-theme="light"] .nav > li > a[aria-current="page"],html[data-theme="light"] .nav-link[aria-current="page"]{color:#04222E}
  .sub,#services-panel{background:#021A26;color:var(--paper)}
  html[data-theme="light"] .sub,html[data-theme="light"] #services-panel{background:var(--paper);color:#04222E}
  #company-panel .back{display:none}
}
@media (max-width:1099px){
  button.drop[aria-controls="company-panel"]{display:inline-flex}
  .nav.is-open{background:var(--ink);color:var(--paper);padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  .nav.is-open #services-panel.is-open,.nav.is-open #company-panel.is-open{display:flex;flex-direction:column;position:fixed;z-index:100;top:var(--head);right:0;bottom:0;left:0;overflow:auto;background:var(--ink);color:var(--paper);padding:16px max(var(--gut),env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) max(var(--gut),env(safe-area-inset-left))}
  .nav.is-open #company-panel{display:none}
  .nav.is-open #company-panel.is-open{display:flex}
  .nav.is-open #company-panel a{display:flex;align-items:center;min-height:44px;padding:12px 0;font-size:18px;color:inherit}
  .nav.is-open .sub:not(.level){display:none}
  html[data-theme="light"] .nav.is-open,html[data-theme="light"] .nav.is-open #services-panel.is-open,html[data-theme="light"] .nav.is-open #company-panel.is-open,html[data-theme="light"] .sub.level.is-open{background:var(--paper);color:#04222E}
  .cta{display:none}
  .top.is-open .cta{display:inline-flex;position:fixed;z-index:110;left:max(var(--gut),env(safe-area-inset-left));right:max(var(--gut),env(safe-area-inset-right));bottom:calc(64px + env(safe-area-inset-bottom));margin:0}
  .figures{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .fig{border-right:0;border-bottom:1px solid var(--line)}
}

/* ===== главная · 25.10 · сцены ===== */
body:has(.hero){padding-top:0}
.scene{position:relative;display:flex;align-items:flex-end;min-height:100svh;background:var(--ink);color:var(--paper);overflow:hidden}
.scene.dir{min-height:88svh}
.scene-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(2,26,38,.92) 0%,rgba(2,26,38,.55) 42%,rgba(2,26,38,.08) 72%,rgba(2,26,38,0) 100%)}
.scene.hero::after{background:linear-gradient(to top,rgba(2,26,38,.94) 0%,rgba(2,26,38,.6) 40%,rgba(2,26,38,.12) 70%,rgba(2,26,38,.28) 100%)}
.scene-copy{position:relative;z-index:1;width:100%;padding-top:clamp(120px,18vh,200px);padding-bottom:clamp(48px,7vh,88px)}
.scene .kick{margin-bottom:18px}
.scene h1,.scene h2{margin:0;max-width:19ch;font-size:clamp(32px,3.9vw,60px);font-weight:700;line-height:1.06;letter-spacing:-.025em;color:var(--paper);overflow-wrap:break-word;hyphens:manual}
.scene h2{font-size:clamp(30px,3.4vw,52px)}
.scene .lead{max-width:56ch;margin:22px 0 0;font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:rgba(255,253,246,.82)}
.scene a.action{margin-top:30px;color:var(--paper)}
.scene ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,56px);row-gap:0;max-width:880px;margin:26px 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,253,246,.28)}
.scene li{border-bottom:1px solid rgba(255,253,246,.22)}
.scene li a{display:flex;align-items:center;min-height:46px;padding:9px 0;font-size:16px;line-height:1.3;color:rgba(255,253,246,.9)}
.scene li a:hover,.scene h2 a:hover{color:var(--teal)}
.scenes{display:block}
.scenes .scene + .scene{border-top:1px solid rgba(255,253,246,.1)}
.intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:start}
.intro-copy p{margin:0 0 16px;max-width:60ch;font-size:clamp(18px,1.45vw,22px);line-height:1.5}
.intro-copy p:last-child{margin-bottom:0}
.facts-col{display:grid;gap:0;border-top:1px solid rgba(4,34,46,.2)}
.facts-col p{margin:0;padding:14px 0;border-bottom:1px solid rgba(4,34,46,.2);font-size:16px;font-weight:500;line-height:1.35}
.sect{margin:0;font-size:clamp(28px,2.8vw,44px);font-weight:700;line-height:1.08;letter-spacing:-.025em}
.sect-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px}
.sect-head .more{margin:0 0 6px;font-size:16px;font-weight:500;line-height:1.3;border-bottom:1px solid currentColor}
.sect-head .more:hover{color:var(--teal)}
.home-news .news-list{margin-top:clamp(24px,3vw,44px)}
.geo-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,80px);align-items:center}
.geo-wrap .sect{max-width:14ch}
.geo-wrap .more{display:inline-block;margin-top:22px;font-size:16px;font-weight:500;border-bottom:1px solid currentColor}
.geo-wrap .geo-map svg{display:block;width:100%;height:auto}
.band .albums{margin-top:clamp(36px,4vw,64px)}
.band .album img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;background:transparent}
.band.paper .album img{background:transparent}
.band.clients{border-top:1px solid rgba(4,34,46,.14);padding-top:clamp(36px,4vw,64px)}
.logo-strip{display:flex;flex-wrap:wrap;align-items:center;gap:28px clamp(32px,4vw,72px);margin-top:clamp(28px,3.2vw,52px)}
.logo-strip img{display:block;width:auto;height:56px;max-width:170px;object-fit:contain}
.band.deep .figures{margin-top:clamp(28px,3vw,48px)}
html[data-theme="light"] .scene{color:var(--paper)}
@media (max-width:1099px){
  .scene,.scene.dir{min-height:0}
  .scene-copy{padding-top:clamp(240px,52vh,420px);padding-bottom:40px}
  .scene h1{font-size:clamp(28px,7.4vw,40px);max-width:none}
  .scene h2{font-size:clamp(26px,6.8vw,36px);max-width:none}
  .scene ul{grid-template-columns:1fr;max-width:none}
  .scene .lead{font-size:17px}
  .scene::after,.scene.hero::after{background:linear-gradient(to top,rgba(2,26,38,.96) 0%,rgba(2,26,38,.9) 34%,rgba(2,26,38,.35) 62%,rgba(2,26,38,.05) 100%)}
  .intro-grid{grid-template-columns:1fr}
  .geo-wrap{grid-template-columns:1fr}
  .logo-strip img{height:44px;max-width:140px}
}
@media (max-width:800px){
  .sect{font-size:clamp(26px,7vw,34px)}
  .scene-copy{padding-top:clamp(220px,48vh,360px)}
}
.page-head h1,.read > h1{font-size:clamp(30px,3.2vw,52px)}
body:has(.read) .page-head h1{font-size:clamp(26px,2.4vw,38px);line-height:1.12}
@media (max-width:800px){.page-head h1,.read > h1,body:has(.read) .page-head h1{font-size:clamp(26px,7vw,32px)}}
/* сцена над заголовком внутренних страниц */
body:has(.page-scene){padding-top:0}
.page-scene{min-height:min(62svh,620px);align-items:flex-end}
.page-scene .scene-copy{padding-top:clamp(140px,22vh,220px);padding-bottom:clamp(32px,4vh,52px)}
.page-scene .crumbs{color:rgba(255,253,246,.72)}
.page-scene .crumbs a:hover{color:var(--paper)}
.page-scene .kick{color:var(--teal)}
.page-scene h1{max-width:20ch;font-size:clamp(32px,3.6vw,56px);font-weight:700;line-height:1.06;letter-spacing:-.025em;color:var(--paper)}
body:has(.page-scene) .prose,body:has(.page-scene) .read{padding-top:clamp(40px,5vh,64px)}
html[data-theme="light"] .page-scene h1,html[data-theme="light"] .page-scene .crumbs{color:var(--paper)}
@media (max-width:1099px){
  .page-scene{min-height:0}
  .page-scene .scene-copy{padding-top:clamp(180px,38vh,300px);padding-bottom:28px}
  .page-scene h1{font-size:clamp(28px,7.4vw,40px);max-width:none}
}
.prose.shots .shot img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;background:transparent}

/* ===== бренд · светлая основа по гайдлайну и брошюрам ===== */
html[data-theme="light"]{--text:#13303E;--blue:#054F73;--teal:#5DAAB4;--sand:#C3A696;--paper:#FFFDF6;--line:rgba(5,79,115,.18);--line-2:rgba(5,79,115,.32);--mute:rgba(19,48,62,.7);--caption:rgba(19,48,62,.62)}
html[data-theme="light"] body{color:var(--text)}
html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3,html[data-theme="light"] h4{font-weight:500;letter-spacing:-.01em;color:var(--blue)}
html[data-theme="light"] .page-head h1,html[data-theme="light"] .read > h1{font-weight:500}
html[data-theme="light"] .kick{color:var(--teal);font-weight:500}
html[data-theme="light"] .kick::before{background:var(--teal)}
html[data-theme="light"] .sect{display:flex;align-items:center;gap:14px;font-size:clamp(22px,2vw,30px);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}
html[data-theme="light"] .sect::before{content:"";flex:0 0 auto;width:18px;height:26px;background:var(--blue);clip-path:polygon(0 0,60% 0,100% 50%,60% 100%,0 100%)}
html[data-theme="light"] .sect-head .more,html[data-theme="light"] .geo-wrap .more{color:var(--blue);border-bottom-color:var(--blue)}
html[data-theme="light"] .top::before{background:rgba(255,253,246,.96)}
html[data-theme="light"] .cta,html[data-theme="light"] a.cta{background:var(--blue);color:#fff;border-radius:12px;padding:0 20px;min-height:42px;display:inline-flex;align-items:center;font-weight:500}
html[data-theme="light"] .cta:hover{background:#0A6A99}
html[data-theme="light"] a.action{border:2px solid var(--blue);border-radius:12px;color:var(--blue);font-weight:500}
html[data-theme="light"] a.action:hover{background:var(--blue);border-color:var(--blue);color:#fff}
/* герой: фото и диагональный синий блок, как шапка брошюры */
html[data-theme="light"] .hero.home-hero{position:relative;display:flex;align-items:center;min-height:min(78vh,760px);padding:calc(var(--head) + 24px) 0 48px;background:var(--blue);color:#fff;overflow:hidden}
html[data-theme="light"] .hero.home-hero .scene-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% 18%}
html[data-theme="light"] .hero.home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(284deg,var(--blue) 0,var(--blue) 46%,rgba(5,79,115,.55) 46.2%,rgba(5,79,115,0) 62%)}
html[data-theme="light"] .hero.home-hero .hero-copy{position:relative;z-index:1;display:flex;justify-content:flex-end}
html[data-theme="light"] .hero.home-hero .hero-panel{max-width:620px}
html[data-theme="light"] .hero.home-hero .kick{color:var(--teal)}
html[data-theme="light"] .hero.home-hero h1{margin:0;font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.14;letter-spacing:-.01em;color:#fff;overflow-wrap:break-word;hyphens:manual}
html[data-theme="light"] .hero.home-hero .lead{max-width:52ch;margin:20px 0 0;font-size:17px;line-height:1.6;color:rgba(255,255,255,.88)}
html[data-theme="light"] .hero.home-hero a.action{margin-top:28px;border-color:#fff;color:#fff}
html[data-theme="light"] .hero.home-hero a.action:hover{background:#fff;color:var(--blue)}
/* вводный текст и факты с песочной полосой */
html[data-theme="light"] .intro-copy p{color:var(--text)}
html[data-theme="light"] .facts-col{border-top:0}
html[data-theme="light"] .facts-col p{padding:10px 0 10px 18px;border-bottom:0;border-left:4px solid var(--sand);margin-bottom:14px;font-weight:500;color:var(--blue)}
/* рамки с ярлыком из гайдлайна */
.boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.6vw,40px);margin-top:clamp(36px,4vw,56px)}
.box{position:relative;display:flex;flex-direction:column;padding:34px 24px 26px;border:2px solid var(--blue);border-radius:16px;background:#fff}
.box .tab{position:absolute;top:-19px;left:18px;max-width:calc(100% - 36px);padding:7px 16px;border:2px solid var(--blue);border-radius:10px;background:#fff;color:var(--blue);font-size:15px;font-weight:500;line-height:1.25}
.box .pic{display:block;border-radius:12px;overflow:hidden;background:transparent}
.box .pic img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}
.box ul{margin:18px 0 0;padding:0;list-style:none}
.box li{position:relative;padding:7px 0 7px 20px;font-size:16px;line-height:1.35}
.box li::before{content:"";position:absolute;left:0;top:14px;border-left:9px solid var(--blue);border-top:5px solid transparent;border-bottom:5px solid transparent}
.box li a{color:var(--text)}
.box li a:hover{color:var(--blue)}
.box > a.action{align-self:flex-start;margin-top:auto;padding-top:0;margin-top:22px}
/* новости, карта, клиенты, контакты */
html[data-theme="light"] .news-list time,html[data-theme="light"] .feature time{color:var(--blue);font-weight:500}
html[data-theme="light"] .news-list > li > a > :not(time):not(img),html[data-theme="light"] article.feature strong{font-weight:500;color:var(--text)}
html[data-theme="light"] .band .album img,html[data-theme="light"] .album img{border-radius:12px}
html[data-theme="light"] .album span{color:var(--blue)}
html[data-theme="light"] .band.deep{background:var(--blue);color:#fff;border-radius:0}
html[data-theme="light"] .band.deep .sect,html[data-theme="light"] .band.deep .sect::before{color:#fff;background:none}
html[data-theme="light"] .band.deep .sect::before{background:#fff}
html[data-theme="light"] .band.deep .kick{color:var(--teal)}
html[data-theme="light"] .band.deep .lead,html[data-theme="light"] .band.deep .fig span{color:rgba(255,255,255,.8)}
html[data-theme="light"] .band.deep .fig b,html[data-theme="light"] .band.deep .fig b a{color:#fff;font-weight:500}
html[data-theme="light"] .band.deep .figures,html[data-theme="light"] .band.deep .fig{border-color:rgba(255,255,255,.3)}
html[data-theme="light"] .foot,html[data-theme="light"] .foot a,html[data-theme="light"] .foot p{background:var(--blue);color:#fff}
html[data-theme="light"] .foot-legal{border-top-color:rgba(255,255,255,.3);color:rgba(255,255,255,.75)}
/* шапка внутренних страниц: фото и синий диагональный блок */
html[data-theme="light"] .page-scene{min-height:340px;align-items:center;background:var(--blue)}
html[data-theme="light"] .page-scene::after{background:linear-gradient(104deg,var(--blue) 0,var(--blue) 48%,rgba(5,79,115,.5) 48.2%,rgba(5,79,115,0) 64%)}
html[data-theme="light"] .page-scene .scene-copy{padding-top:calc(var(--head) + 28px);padding-bottom:40px}
html[data-theme="light"] .page-scene .crumbs{color:rgba(255,255,255,.75)}
html[data-theme="light"] .page-scene h1{max-width:18ch;font-size:clamp(28px,3vw,42px);font-weight:500;color:#fff}
html[data-theme="light"] .page-scene .scene-photo{object-position:70% 50%}
html[data-theme="light"] .prose h2,html[data-theme="light"] .read h2{font-weight:500;color:var(--blue)}
html[data-theme="light"] .prose a.doc,html[data-theme="light"] .file a.pdf{border-radius:10px}
@media (max-width:1099px){
  .boxes{grid-template-columns:1fr}
  html[data-theme="light"] .hero.home-hero{min-height:0;display:block;padding:var(--head) 0 0}
  html[data-theme="light"] .hero.home-hero .scene-photo{position:relative;display:block;height:56vw;min-height:220px;max-height:420px;object-position:60% 50%}
  html[data-theme="light"] .hero.home-hero::after{display:none}
  html[data-theme="light"] .hero.home-hero .hero-copy{background:var(--blue);padding-top:28px;padding-bottom:40px}
  html[data-theme="light"] .hero.home-hero h1{font-size:clamp(26px,7vw,36px)}
  html[data-theme="light"] .page-scene{min-height:0;display:block}
  html[data-theme="light"] .page-scene::after{display:none}
  html[data-theme="light"] .page-scene .scene-photo{position:relative;display:block;height:46vw;min-height:180px;max-height:360px}
  html[data-theme="light"] .page-scene .scene-copy{padding-top:20px;padding-bottom:28px;background:var(--blue)}
}
@media (max-width:1099px){html[data-theme="light"] .top:not(.is-open) .cta{display:none}}

/* ===== тёмная тема в фирменных цветах: тот же макет, синий фон ===== */
html[data-theme="dark"]{--ink:#054F73;--ink-2:#043E5C;--ink-3:#032F45;--bg:#054F73;--fg:#FFFDF6;--plane:#043E5C;--plate:#043E5C;--blue:#FFFDF6;--text:#FFFDF6;--line:rgba(255,253,246,.22);--line-2:rgba(255,253,246,.4);--mute:rgba(255,253,246,.74);--caption:rgba(255,253,246,.68)}
html[data-theme="dark"]{background:#054F73}
html[data-theme="dark"] body{background:#054F73;color:#FFFDF6}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4{font-weight:500;letter-spacing:-.01em;color:#FFFDF6}
html[data-theme="dark"] .top::before,html[data-theme="dark"] .top.is-solid::before,html[data-theme="dark"] .top.is-open::before{background:rgba(5,79,115,.94)}
html[data-theme="dark"] .nav.is-open,html[data-theme="dark"] .nav.is-open #services-panel.is-open,html[data-theme="dark"] .nav.is-open #company-panel.is-open,html[data-theme="dark"] .sub,html[data-theme="dark"] #services-panel{background:#043E5C;color:#FFFDF6}
html[data-theme="dark"] .cta,html[data-theme="dark"] a.cta{background:#FFFDF6;color:#054F73;border-radius:12px;padding:0 20px;min-height:42px;display:inline-flex;align-items:center;font-weight:500}
html[data-theme="dark"] .cta:hover{background:var(--teal);color:#054F73}
html[data-theme="dark"] a.action{border:2px solid #FFFDF6;border-radius:12px;color:#FFFDF6;font-weight:500}
html[data-theme="dark"] a.action:hover{background:#FFFDF6;border-color:#FFFDF6;color:#054F73}
html[data-theme="dark"] .kick{color:var(--teal)}
html[data-theme="dark"] .kick::before{background:var(--teal)}
html[data-theme="dark"] .sect{display:flex;align-items:center;gap:14px;font-size:clamp(22px,2vw,30px);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#FFFDF6}
html[data-theme="dark"] .sect::before{content:"";flex:0 0 auto;width:18px;height:26px;background:var(--teal);clip-path:polygon(0 0,60% 0,100% 50%,60% 100%,0 100%)}
html[data-theme="dark"] .sect-head .more,html[data-theme="dark"] .geo-wrap .more{color:#FFFDF6;border-bottom-color:var(--teal)}
html[data-theme="dark"] .hero.home-hero{position:relative;display:flex;align-items:center;min-height:min(78vh,760px);padding:calc(var(--head) + 24px) 0 48px;background:#043E5C;color:#fff;overflow:hidden}
html[data-theme="dark"] .hero.home-hero .scene-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% 18%}
html[data-theme="dark"] .hero.home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(284deg,#043E5C 0,#043E5C 46%,rgba(4,62,92,.55) 46.2%,rgba(4,62,92,0) 62%)}
html[data-theme="dark"] .hero.home-hero .hero-copy{position:relative;z-index:1;display:flex;justify-content:flex-end}
html[data-theme="dark"] .hero.home-hero .hero-panel{max-width:620px}
html[data-theme="dark"] .hero.home-hero h1{margin:0;font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.14;color:#fff;overflow-wrap:break-word;hyphens:manual}
html[data-theme="dark"] .hero.home-hero .lead{max-width:52ch;margin:20px 0 0;font-size:17px;line-height:1.6;color:rgba(255,255,255,.88)}
html[data-theme="dark"] .hero.home-hero a.action{margin-top:28px}
html[data-theme="dark"] .band.paper{background:#054F73;color:#FFFDF6;--caption:rgba(255,253,246,.68);--mute:rgba(255,253,246,.74)}
html[data-theme="dark"] .band.paper .kick{color:var(--teal)}
html[data-theme="dark"] .band.paper .kick::before{background:var(--teal)}
html[data-theme="dark"] .band.paper .album img{background:transparent}
html[data-theme="dark"] .band.clients{background:#FFFDF6;color:#054F73;border-top:0}
html[data-theme="dark"] .band.clients .sect{color:#054F73}
html[data-theme="dark"] .band.clients .sect::before{background:#054F73}
html[data-theme="dark"] .intro-copy p{color:#FFFDF6}
html[data-theme="dark"] .facts-col{border-top:0}
html[data-theme="dark"] .facts-col p{padding:10px 0 10px 18px;border-bottom:0;border-left:4px solid var(--sand);margin-bottom:14px;font-weight:500;color:#FFFDF6}
html[data-theme="dark"] .box{border-color:rgba(255,253,246,.75);background:rgba(255,253,246,.05)}
html[data-theme="dark"] .box .tab{border-color:rgba(255,253,246,.75);background:#054F73;color:#FFFDF6}
html[data-theme="dark"] .box .pic{background:transparent}
html[data-theme="dark"] .box li::before{border-left-color:var(--teal)}
html[data-theme="dark"] .box li a{color:#FFFDF6}
html[data-theme="dark"] .box li a:hover{color:var(--teal)}
html[data-theme="dark"] .news-list time,html[data-theme="dark"] .feature time{color:var(--teal);font-weight:500}
html[data-theme="dark"] .news-list > li > a > :not(time):not(img),html[data-theme="dark"] article.feature strong{font-weight:500;color:#FFFDF6}
html[data-theme="dark"] .news-list img,html[data-theme="dark"] article.feature img{background:transparent}
html[data-theme="dark"] .geo-map svg > rect:first-child{fill:#043E5C}
html[data-theme="dark"] .geo-map svg > path{fill:#FFFDF6}
html[data-theme="dark"] .geo-map{border-radius:12px;overflow:hidden}
html[data-theme="dark"] .band .album img,html[data-theme="dark"] .album img{border-radius:12px}
html[data-theme="dark"] .album span{color:#FFFDF6}
html[data-theme="dark"] .band.deep{background:#043E5C;color:#FFFDF6}
html[data-theme="dark"] .band.deep .sect::before{background:var(--teal)}
html[data-theme="dark"] .foot,html[data-theme="dark"] .foot a,html[data-theme="dark"] .foot p{background:#032F45;color:#FFFDF6}
html[data-theme="dark"] .page-scene{min-height:340px;align-items:center;background:#043E5C}
html[data-theme="dark"] .page-scene::after{background:linear-gradient(104deg,#043E5C 0,#043E5C 48%,rgba(4,62,92,.5) 48.2%,rgba(4,62,92,0) 64%)}
html[data-theme="dark"] .page-scene .scene-copy{padding-top:calc(var(--head) + 28px);padding-bottom:40px}
html[data-theme="dark"] .page-scene .crumbs{color:rgba(255,255,255,.75)}
html[data-theme="dark"] .page-scene h1{max-width:18ch;font-size:clamp(28px,3vw,42px);font-weight:500;color:#fff}
html[data-theme="dark"] .page-scene .scene-photo{object-position:70% 50%}
html[data-theme="dark"] .prose h2,html[data-theme="dark"] .read h2,html[data-theme="dark"] .prose h3,html[data-theme="dark"] .read h3{font-weight:500;color:#FFFDF6}
html[data-theme="dark"] .prose a.doc,html[data-theme="dark"] .file a.pdf,html[data-theme="dark"] .prose a.pdf{background:#FFFDF6;color:#054F73;border-radius:10px}
html[data-theme="dark"] figure.plate,html[data-theme="dark"] .mosaic img,html[data-theme="dark"] .cards.board .card img{background:transparent}
html[data-theme="dark"] iframe.map-frame{background:#043E5C}
html[data-theme="dark"] .viewer{background:#032F45}
@media (max-width:1099px){
  html[data-theme="dark"] .top:not(.is-open) .cta{display:none}
  html[data-theme="dark"] .hero.home-hero{min-height:0;display:block;padding:var(--head) 0 0}
  html[data-theme="dark"] .hero.home-hero .scene-photo{position:relative;display:block;height:56vw;min-height:220px;max-height:420px;object-position:60% 50%}
  html[data-theme="dark"] .hero.home-hero::after{display:none}
  html[data-theme="dark"] .hero.home-hero .hero-copy{background:#043E5C;padding-top:28px;padding-bottom:40px}
  html[data-theme="dark"] .hero.home-hero h1{font-size:clamp(26px,7vw,36px)}
  html[data-theme="dark"] .page-scene{min-height:0;display:block}
  html[data-theme="dark"] .page-scene::after{display:none}
  html[data-theme="dark"] .page-scene .scene-photo{position:relative;display:block;height:46vw;min-height:180px;max-height:360px}
  html[data-theme="dark"] .page-scene .scene-copy{padding-top:20px;padding-bottom:28px;background:#043E5C}
}
html[data-theme="dark"] .band.intro{background:#043E5C}
html[data-theme="dark"] .band.home-news{background:#043E5C}
/* контакты на главной: рамки гайдлайна, подвал отдельно */
.ask-band .lead{max-width:60ch;margin:14px 0 0;font-size:17px;line-height:1.55;color:var(--mute)}
.ask-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);margin-top:clamp(32px,3.6vw,52px)}
.ask-boxes .box{padding:30px 22px 22px;gap:6px}
.ask-boxes .box > a,.ask-boxes .box > span:not(.tab){font-size:clamp(18px,1.4vw,22px);font-weight:500;line-height:1.3;color:var(--blue)}
.ask-boxes .box > a:hover{color:var(--teal)}
.ask-boxes .box small{margin-top:6px;font-size:14px;color:var(--mute)}
.ask-boxes .box small a{text-decoration:underline;text-underline-offset:3px}
html[data-theme="light"] .ask-band{background:var(--paper)}
html[data-theme="dark"] .ask-band{background:#054F73}
html[data-theme="dark"] .ask-boxes .box > a,html[data-theme="dark"] .ask-boxes .box > span:not(.tab){color:#FFFDF6}
.foot{padding:22px 0 18px}
html[data-theme="light"] .foot{background:var(--blue)}
html[data-theme="dark"] .foot,html[data-theme="dark"] .foot a,html[data-theme="dark"] .foot p{background:#032F45}
.foot-top{align-items:center}
.foot-legal{margin-top:12px;padding-top:12px}
@media (max-width:1099px){.ask-boxes{grid-template-columns:1fr}}
html[data-theme="dark"] .ask-band .lead{color:rgba(255,253,246,.8)}
html[data-theme="dark"] .ask-boxes .box small{color:rgba(255,253,246,.7)}
.band.clients{padding-bottom:clamp(28px,3vw,48px)}
.ask-band{padding-top:clamp(40px,4.5vw,64px);padding-bottom:clamp(40px,4.5vw,64px)}
/* контакты на главной — тихо: текст в колонки */
.ask-band{border-top:1px solid var(--line)}
.ask-band .sect{font-size:clamp(20px,1.7vw,26px)}
.ask-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,72px);align-items:start}
.ask-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.ask-list dt{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.ask-list dd{margin:8px 0 0;font-size:17px;line-height:1.5;font-weight:500}
.ask-list dd a:hover{color:var(--teal)}
.ask-list small{font-size:14px;font-weight:400;color:var(--mute)}
.ask-list small a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1099px){.ask-grid{grid-template-columns:1fr}.ask-list{grid-template-columns:1fr;gap:18px}}
/* новости на главной — компактные строки */
.home-news .sect{font-size:clamp(20px,1.7vw,26px)}
.home-news .news-list{margin-top:20px;border-top:1px solid var(--line)}
.home-news .news-list > li > a{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 20px;padding:14px 0;align-items:start}
.home-news .news-list img{grid-column:1;grid-row:1 / span 2;justify-self:start;width:120px;height:76px;object-fit:cover;border-radius:6px;background:transparent}
.home-news .news-list time{grid-column:2;grid-row:1;font-size:13px;font-weight:400;color:var(--mute)}
.home-news .news-list > li > a > :not(time):not(img){grid-column:2;grid-row:2;font-size:17px;font-weight:500;line-height:1.35}
.home-news .news-list > li > a:hover > :not(time):not(img){color:var(--teal)}
@media (max-width:800px){.home-news .news-list > li > a{grid-template-columns:96px minmax(0,1fr)}.home-news .news-list img{width:96px;height:64px}}
html[data-theme="light"] .ask-band{background:var(--paper)}
html[data-theme="dark"] .ask-band{background:#054F73}
html[data-theme="dark"] .home-news .news-list img{background:transparent}
.home-news .news-list img{object-fit:contain;background:transparent}
.home-news .news-list > li > a{align-items:center}
/* рамки направлений — приглушённые */
.box{border:1px solid rgba(5,79,115,.22);background:#FFFFFF;border-radius:14px;padding:30px 22px 24px}
.box .tab{top:-16px;left:16px;padding:6px 14px;border:1px solid rgba(5,79,115,.22);border-radius:8px;background:#F3F6F7;color:var(--blue);font-size:14px;font-weight:500}
.box .pic{border-radius:10px;background:transparent}
.box li{padding:6px 0 6px 18px;font-size:16px;color:var(--text)}
.box li::before{top:13px;border-left:7px solid var(--teal);border-top:4px solid transparent;border-bottom:4px solid transparent}
.box li a{color:var(--text)}
.box li a:hover{color:var(--blue)}
.box > a.action{border:1px solid rgba(5,79,115,.35);border-radius:10px;color:var(--blue);font-weight:500;font-size:15px;min-height:40px}
.box > a.action:hover{background:var(--blue);border-color:var(--blue);color:#fff}
html[data-theme="light"] a.action{border-width:1px;border-color:rgba(5,79,115,.35)}
html[data-theme="light"] .sect{color:var(--blue);font-weight:500}
html[data-theme="light"] .sect::before{background:var(--teal)}
html[data-theme="light"] .cta,html[data-theme="light"] a.cta{background:var(--blue);opacity:.92}
html[data-theme="light"] .facts-col p{border-left-color:rgba(195,166,150,.7);color:var(--text)}
html[data-theme="dark"] .box{border-color:rgba(255,253,246,.28);background:rgba(255,253,246,.04)}
html[data-theme="dark"] .box .tab{border-color:rgba(255,253,246,.28);background:#0A5A80;color:#FFFDF6}
html[data-theme="dark"] .box > a.action{border-color:rgba(255,253,246,.45);color:#FFFDF6}
html[data-theme="dark"] .box > a.action:hover{background:#FFFDF6;color:#054F73}

/* ===== внутренние страницы · единая шапка и разделы ресурсов ===== */
.page-head:not(.page-scene){padding:clamp(24px,3vw,40px) 0 clamp(18px,2vw,28px);border-bottom:1px solid var(--line)}
.page-head .kick{display:none}
.page-head h1,.read > h1{max-width:24ch;font-size:clamp(26px,2.6vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.01em}
body:has(.read) .page-head h1{font-size:clamp(24px,2.2vw,32px)}
.crumbs{margin:0 0 12px;font-size:13px;color:var(--mute)}
nav.years{gap:2px 14px;margin:18px 0 0}
nav.years a{min-height:36px;padding:0 2px;font-size:15px;font-weight:500;color:var(--mute);border-bottom:2px solid transparent}
nav.years a[aria-current="page"]{box-shadow:none;color:var(--blue);border-bottom-color:var(--teal)}
/* новости: выделенная + компактные строки */
.wrap.band.paper:has(> .feature){background:transparent;padding-top:clamp(24px,3vw,40px)}
article.feature,.feature{margin:0 0 20px;padding:0 0 24px;border-bottom:1px solid var(--line)}
article.feature > a,.feature > a{grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:8px 32px;align-items:center}
article.feature img,.feature img{width:min(360px,100%);max-width:360px;aspect-ratio:16/10;object-fit:contain;background:transparent;border-radius:10px}
article.feature time,.feature time{margin:0 0 6px;font-size:13px;color:var(--mute)}
article.feature strong,.feature strong{font-size:clamp(20px,1.7vw,24px);font-weight:500;line-height:1.3;letter-spacing:0;color:var(--text)}
.news-list{border-top:1px solid var(--line)}
.news-list > li > a{grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 20px;padding:14px 0;align-items:center}
.news-list img{grid-column:1;grid-row:1 / span 2;justify-self:start;width:120px;height:76px;object-fit:contain;border-radius:6px;background:transparent}
.news-list time{grid-column:2;grid-row:1;font-size:13px;font-weight:400;color:var(--mute)}
.news-list > li > a > :not(time):not(img){grid-column:2;grid-row:2;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:0;color:var(--text)}
.news-list > li > a:hover > :not(time):not(img){color:var(--blue)}
/* доклады по годам */
.wrap.band:has(> .talks){padding-top:clamp(20px,2.6vw,36px)}
.talks{margin:0 0 clamp(28px,3vw,44px)}
.talks .year{margin:0 0 6px;font-size:14px;font-weight:500;letter-spacing:.08em;color:var(--mute)}
.talk-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.talk-list li{border-bottom:1px solid var(--line)}
.talk-list a{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 20px;align-items:baseline;padding:14px 0}
.talk-list time{font-size:13px;color:var(--mute)}
.talk-list span{font-size:17px;font-weight:500;line-height:1.35}
.talk-list a:hover span{color:var(--blue)}
/* публикации: карточки с обложкой */
.cards{gap:32px 24px}
.card img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;border-radius:10px;background:transparent}
.card time{margin-top:12px;font-size:13px;color:var(--mute)}
.card strong{margin-top:6px;font-size:17px;font-weight:500;line-height:1.35;color:var(--text)}
.card:hover strong{color:var(--blue)}
/* материалы: строки файлов */
.files-wrap{padding-top:clamp(16px,2vw,28px);padding-bottom:clamp(56px,7vh,96px)}
.files{padding:0;border-bottom:1px solid var(--line)}
.file{padding:16px 0;gap:12px 24px}
.file strong{font-size:17px;font-weight:500;line-height:1.35}
.file span{font-size:13px;color:var(--mute)}
.file a.pdf,.prose a.doc,.prose a.pdf{padding:9px 14px;border:1px solid rgba(5,79,115,.35);border-radius:10px;background:transparent;color:var(--blue);font-size:14px;font-weight:500}
.file a.pdf:hover,.prose a.doc:hover,.prose a.pdf:hover{background:var(--blue);border-color:var(--blue);color:#fff}
/* чтение */
.prose,.read{font-size:17px;line-height:1.65}
.prose > p,.prose > ul,.prose > ol,.prose > h2,.prose > h3,.prose > blockquote{max-width:720px}
.prose h2,.read h2{font-size:clamp(20px,1.7vw,24px);font-weight:500;margin:1.5em 0 .5em}
.prose h3,.read h3{font-size:18px;font-weight:500}
.lead-photo img{max-width:min(720px,100%);height:auto;border-radius:10px}
figure.plate{padding:0;background:transparent}
figure.plate img{border-radius:10px}
figcaption{font-size:13px;color:var(--mute)}
.prose th,.prose td{padding:10px 12px;font-size:15px}
nav.pager a{font-size:15px;color:var(--blue)}
/* тёмная тема для разделов */
html[data-theme="dark"] .news-list img,html[data-theme="dark"] article.feature img,html[data-theme="dark"] .card img{background:transparent}
html[data-theme="dark"] .news-list > li > a > :not(time):not(img),html[data-theme="dark"] article.feature strong,html[data-theme="dark"] .card strong,html[data-theme="dark"] .talk-list span,html[data-theme="dark"] .file strong{color:#FFFDF6}
html[data-theme="dark"] .news-list > li > a:hover > :not(time):not(img),html[data-theme="dark"] .talk-list a:hover span,html[data-theme="dark"] .card:hover strong{color:var(--teal)}
html[data-theme="dark"] nav.years a[aria-current="page"]{color:#FFFDF6}
html[data-theme="dark"] .file a.pdf,html[data-theme="dark"] .prose a.doc,html[data-theme="dark"] .prose a.pdf{border-color:rgba(255,253,246,.45);background:transparent;color:#FFFDF6}
html[data-theme="dark"] .file a.pdf:hover,html[data-theme="dark"] .prose a.doc:hover{background:#FFFDF6;color:#054F73}
@media (max-width:800px){
  article.feature > a,.feature > a{display:block}
  article.feature img,.feature img{width:100%;max-width:none;margin-bottom:10px}
  .news-list > li > a{grid-template-columns:96px minmax(0,1fr)}
  .news-list img{width:96px;height:64px}
  .news-list > li > a > :not(time):not(img){grid-column:2;grid-row:2}
  .talk-list a{grid-template-columns:1fr;gap:2px}
}
body:has(.read) .page-head .wrap{width:min(var(--frame),100%)}
main > .read,nav.pager{margin-left:0;width:min(760px,100%)}
.read{margin-inline:0}
.talk-list.plain a{grid-template-columns:1fr;padding:16px 0}
html[data-theme="light"] .file a.pdf,html[data-theme="light"] .prose a.doc,html[data-theme="light"] .prose a.pdf{background:transparent;color:var(--blue);border:1px solid rgba(5,79,115,.35)}
html[data-theme="light"] .file a.pdf:hover,html[data-theme="light"] .prose a.doc:hover,html[data-theme="light"] .prose a.pdf:hover{background:var(--blue);color:#fff}
@media (max-width:800px){.file{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
.prose.aside figure.plate,
html[data-theme="light"] .prose.aside figure.plate,
html[data-theme="dark"] .prose.aside figure.plate{margin:0 0 28px;padding:0;background:transparent;border:0;color:inherit}
.prose.aside figure.plate img{display:block;width:100%;max-width:100%;height:auto;margin:0 0 12px;object-fit:contain;background:transparent;border-radius:0}
.prose.aside figure.plate img:last-of-type{margin-bottom:0}
.prose.aside figure.plate figcaption{margin:8px 0 0;color:var(--mute);font-size:14px;line-height:1.45}
.nav > li > .resources-toggle{width:auto;flex:0 1 auto;padding:8px 34px 8px 0;font-size:15px;line-height:1.2;font-weight:500;text-align:left}
.resources-toggle::after{left:auto;right:10px}
@media(min-width:1100px){#resources-panel .back{display:none}}
@media(max-width:1099px){
 .nav.is-open #resources-panel.is-open{display:flex;flex-direction:column;position:fixed;z-index:100;top:var(--head);right:0;bottom:0;left:0;overflow:auto;background:var(--ink);color:var(--paper);padding:16px max(var(--gut),env(safe-area-inset-right)) calc(132px + env(safe-area-inset-bottom)) max(var(--gut),env(safe-area-inset-left))}
 .nav.is-open #resources-panel a{display:flex;align-items:center;min-height:44px;padding:12px 0;font-size:18px;color:inherit}
 html[data-theme="light"] .nav.is-open #resources-panel.is-open{background:var(--paper);color:#04222E}
 html[data-theme="dark"] .nav.is-open #resources-panel.is-open{background:#043E5C;color:#FFFDF6}
}
.news-index > .page-head .wrap,.news-index > .wrap{max-width:1320px}
.news-index .years{gap:4px 16px;flex-wrap:wrap}
.news-index .feature{margin:0 0 40px;padding:0 0 40px}
.news-index .feature > a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:14px 48px;align-items:end}
.news-index .feature img{grid-column:1;grid-row:1 / 3;width:100%;max-width:none;height:auto;aspect-ratio:2/1;object-fit:contain;border-radius:0;margin:0}
.news-index .feature time{grid-column:2;grid-row:1;margin:0;align-self:end;font-size:14px}
.news-index .feature strong{grid-column:2;grid-row:2;align-self:start;font-size:clamp(22px,2.2vw,32px);line-height:1.3;max-width:25ch}
.news-index .news-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 32px;border:0;margin:0;padding:0;list-style:none}
.news-index .news-list > li{border:0;min-width:0}
.news-index .news-list > li > a{display:flex;flex-direction:column;gap:0;padding:0 0 24px;height:100%;align-items:stretch;border-bottom:1px solid var(--line)}
.news-index .news-list img{order:-1;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;border-radius:0;margin:0 0 18px}
.news-index .news-list time{margin:0 0 10px;font-size:13px;color:var(--mute)}
.news-index .news-list > li > a > span{font-size:17px;line-height:1.5;font-weight:500}
.news-index .news-list a.text-news{padding-top:24px;border-top:1px solid var(--line)}
.news-article > .page-head .wrap,.news-article > .read{width:100%;max-width:900px;margin-inline:auto}
.news-article > .page-head{border:0;padding-bottom:0}
.news-article > .page-head h1{max-width:none;font-size:clamp(25px,2.5vw,38px);line-height:1.25;hyphens:none}
.news-article > .page-head time{display:block;margin-top:24px;color:var(--mute);font-size:14px}
.news-article > .read{padding-top:32px;padding-bottom:48px}
.news-article .read > p,.news-article .read > ul,.news-article .read > ol{max-width:none}
.news-article .lead-photo{margin:0 0 32px;width:100%}
.news-article .lead-photo img{width:auto;max-width:100%;max-height:600px;height:auto;margin:auto;object-fit:contain}
.news-article > .pager{max-width:900px;margin-inline:auto;padding:28px var(--gut) 56px;border-top:1px solid var(--line);font-size:14px;line-height:1.5}
.careers-page .page-head .wrap,.vacancies{max-width:1320px}
.vacancies{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:clamp(32px,5vw,88px);padding-top:44px;padding-bottom:72px;align-items:start}
.vacancy-contact{position:sticky;top:calc(var(--head) + 28px);font-size:16px;line-height:1.7;color:var(--mute);padding-left:22px;border-left:2px solid var(--teal)}
.vacancy-contact p{margin:0}
.vacancy-contact a{display:inline-block;color:var(--fg);text-decoration:underline;text-underline-offset:5px;font-weight:500}
.vacancy{border-top:1px solid var(--line);scroll-margin-top:calc(var(--head) + 20px)}
.vacancy summary{display:flex;align-items:center;gap:24px;justify-content:space-between;cursor:pointer;list-style:none;padding:26px 0}
.vacancy summary::-webkit-details-marker{display:none}
.vacancy summary::after{content:'+';font-size:28px;line-height:1;font-weight:400;color:var(--teal);flex:0 0 24px;text-align:center}
.vacancy[open] summary::after{content:'−'}
.vacancy summary h2{margin:0;font-size:clamp(19px,1.8vw,25px);line-height:1.35;letter-spacing:-.015em;font-weight:500;max-width:34ch;hyphens:none}
.vacancy-body{padding:0 36px 32px 0;font-size:16px;line-height:1.7}
.vacancy-body h3{margin:28px 0 12px;font-size:15px;font-weight:700;color:var(--mute)}
.vacancy-body h3:first-child{margin-top:0}
.vacancy-body ul{padding-left:20px;margin:0}
.vacancy-body li{margin:0 0 8px;padding-left:5px}
.vacancy-report{border-top:1px solid var(--line);padding-top:28px;margin-top:20px;font-size:15px}
.vacancy-report h2{font-size:19px;font-weight:500;line-height:1.4}
.vacancy-report a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.vacancy-report .sout-pdf{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.sout-pdf svg{flex:0 0 20px;width:20px;height:24px}
.consult .ask > div > a{display:block;width:fit-content;margin-top:12px}
.consult{padding:clamp(36px,5vw,72px) 0;background:#054F73;color:#FFFDF6}
.consult .ask{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.consult .ask h2,html[data-theme="light"] .consult .ask h2{font-size:clamp(26px,2.4vw,36px);line-height:1.2;color:#FFFDF6}
.consult{scroll-margin-top:var(--head)}
.consult-form{position:relative;min-width:0}
.consult-form .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.consult-form .form-fields label{display:grid;gap:8px;font-size:14px;line-height:1.4}
.consult-form .field-wide{grid-column:1 / -1}
.consult-form .form-fields input,.consult-form .form-fields textarea{width:100%;min-width:0;min-height:44px;padding:12px;border:1px solid var(--line-2);background:transparent;color:inherit;outline-offset:4px}
.consult-form .form-fields textarea{resize:vertical;min-height:110px}.consult-form .form-fields [aria-invalid]{border-color:#E0623A;box-shadow:inset 0 0 0 1px #E0623A}
.consult .consult-form .form-fields input,.consult .consult-form .form-fields textarea{border-color:rgba(255,253,246,.5)}
.consult-form .form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consult-form label.form-consent{display:flex;align-items:flex-start;gap:12px;margin:24px 0 20px;font-size:12px;line-height:1.6}
.consult-form .form-consent input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:var(--teal)}
.consult-form .form-consent a{text-decoration:underline;text-underline-offset:3px}
.consult-form .form-actions{display:flex;align-items:stretch;justify-content:space-between;gap:16px;flex-wrap:wrap}
.consult-form .form-actions button{margin:0;min-height:48px;padding:12px 18px;font-size:14px;line-height:1.4}
.consult-form .form-actions .human-check{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:inherit;border:1px solid var(--line-2);font-weight:400}
.consult .consult-form .form-actions .human-check{border-color:rgba(255,253,246,.5)}
.human-check .human-box{position:relative;flex:0 0 20px;width:20px;height:20px;border:1.5px solid currentColor;border-radius:2px}.human-check.is-verified .human-box{background:var(--teal);border-color:var(--teal)}.human-check.is-verified .human-box::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #FFFDF6;border-width:0 2px 2px 0;transform:rotate(45deg)}.human-check:disabled{cursor:progress}.human-check.is-verified:disabled{cursor:default}
.consult-form .form-actions .human-check.is-verified{border-color:var(--teal);opacity:1}
.consult-form .form-actions .form-submit{background:var(--blue);color:#FFFDF6;min-width:135px;border:1px solid transparent}
.consult .consult-form .form-actions .form-submit{background:#FFFDF6;color:#054F73}
html[data-theme="dark"] .ask-band .consult-form .form-actions .form-submit{background:#FFFDF6;color:#054F73}
.consult-form .form-submit:disabled{opacity:.6;cursor:wait}
.consult-form .form-status{font-size:14px;line-height:1.5;margin:14px 0 0;min-height:21px}
.consult-form .form-status:empty{display:none}
.ask-grid .ask-list{grid-template-columns:1fr;margin-top:30px;gap:16px}
@media(max-width:1099px){.consult .ask{grid-template-columns:1fr}.ask-grid .ask-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}}
@media(max-width:700px){.consult-form .form-fields{grid-template-columns:1fr;gap:18px}.consult-form .form-actions{flex-direction:column}.ask-grid .ask-list{grid-template-columns:1fr}.consult-form .form-actions button{width:100%;justify-content:center}.consult-form .form-consent{font-size:12px}}
@media(max-width:1099px){
 .nav > li > .resources-toggle{width:100%;font-size:24px;min-height:60px;padding-right:44px}
 .resources-toggle::after{top:24px;right:17px}
 .resources-toggle[aria-expanded="true"]::after{top:28px}
 .news-index .news-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
 .news-index .feature > a{gap:12px 28px}
 .vacancies{grid-template-columns:220px minmax(0,1fr);gap:32px}
}
@media(max-width:700px){
 .news-index .feature{margin-bottom:28px;padding-bottom:28px}
 .news-index .feature > a{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .news-index .feature img{margin-bottom:8px}
 .news-index .feature time{align-self:flex-start}
 .news-index .feature strong{max-width:none;font-size:22px}
 .news-index .news-list{grid-template-columns:1fr;gap:24px}
 .news-index .news-list > li > a{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto 1fr;gap:6px 16px;padding-bottom:24px}
 .news-index .news-list img{grid-column:1;grid-row:1 / 3;width:96px;height:76px;aspect-ratio:auto;margin:0}
 .news-index .news-list time{grid-column:2;grid-row:1;margin:0;font-size:12px}
 .news-index .news-list > li > a > span{grid-column:2;grid-row:2;font-size:15px;line-height:1.5}
 .news-index .news-list a.text-news{display:flex}
 .news-article > .read{font-size:16px;padding-top:24px}
 .vacancies{display:block;padding-top:28px;padding-bottom:44px}
 .vacancy-contact{position:static;margin:0 0 32px;font-size:15px}
 .vacancy summary{padding:22px 0;gap:16px}
 .vacancy-body{padding-right:0;font-size:15px}
}
@media (max-width:1099px){
  .prose.aside{display:block}
  .prose.aside > .copy,.prose.aside > .rail{max-width:760px}
  .prose.aside > .rail{margin-top:8px}
}

@media (min-width:1100px){
  html[data-theme] .hero.home-hero{display:grid;grid-template-columns:55% minmax(0,45%);padding:var(--head) 0 0;align-items:stretch}
  html[data-theme] .hero.home-hero .scene-photo{inset:var(--head) auto 0 0;width:55%;height:calc(100% - var(--head));object-fit:cover;object-position:20% 50%;clip-path:polygon(0 0,100% 0,85% 100%,0 100%)}
  html[data-theme] .hero.home-hero::after{display:none}
  html[data-theme] .hero.home-hero .hero-copy{grid-column:2;display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:none;min-width:0;padding:40px var(--gut)}
  html[data-theme] .hero.home-hero .hero-panel{width:100%;max-width:620px;min-width:0}
  html[data-theme] .hero.home-hero h1{font-size:clamp(30px,2.7vw,46px)}
}

/* Topic images occupy their own area; diagrams and instruments stay complete. */
html[data-theme] .page-scene::after{display:none}
html[data-theme] .page-scene .scene-photo{object-position:center;background:transparent}
html[data-theme] .page-scene[data-fit="contain"] .scene-photo{object-fit:contain;clip-path:none;padding:16px}
html[data-theme] .shots .shot img[data-fit="contain"]{object-fit:contain;background:transparent}
html[data-theme] .page-scene .scene-media{margin:0;min-width:0;display:flex;flex-direction:column;align-self:stretch}
html[data-theme] .page-scene .scene-media .scene-photo{position:relative;inset:auto;display:block;width:100%;height:240px;min-height:240px;max-height:none;flex:1 1 auto}
html[data-theme] .page-scene .scene-media figcaption{padding:0 24px 18px;color:rgba(255,253,246,.85);font-size:13px;line-height:1.5;text-align:center}
@media (min-width:1100px){
  html[data-theme] .page-scene{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:var(--head)}
  html[data-theme] .page-scene .scene-media{grid-column:2;grid-row:1}
  html[data-theme] .page-scene .scene-photo{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
  html[data-theme] .page-scene[data-fit="contain"] .scene-photo{clip-path:none}
  html[data-theme] .page-scene .scene-copy{grid-column:1;grid-row:1;width:100%;max-width:none;margin:0;padding:36px var(--gut)}
  html[data-theme] .page-scene h1{max-width:none}
}
@media (max-width:1099px){
  html[data-theme] .page-scene{padding-top:var(--head)}
  html[data-theme] .page-scene .scene-media .scene-photo{height:clamp(180px,46vw,360px);min-height:0;flex:none}
}

/* Service headers share one full-bleed crop; the viewer retains the complete source and caption. */
html[data-theme] .page-scene[data-service] .scene-media figcaption{display:none}
html[data-theme] .page-scene[data-service] .scene-media .scene-photo{object-fit:cover;padding:0}
html[data-theme] .page-scene[data-service][data-position="upper"] .scene-photo{object-position:50% 25%}
html[data-theme] .page-scene[data-service][data-position="lower"] .scene-photo{object-position:50% 70%}
.service-request{margin-top:32px;grid-column:1 / -1}
.prose .service-request a.action{text-decoration:none}
.viewer-frame > p{white-space:pre-line}

/* Brochures on /materialy/: the cover is the first page of the PDF itself. */
.brochures-wrap{padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(56px,7vh,96px)}
.brochures{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px)}
.brochure{display:grid;grid-template-rows:auto 1fr auto;gap:10px;height:100%;color:inherit;text-decoration:none}
.brochure-cover{display:flex;align-items:center;aspect-ratio:210/297;margin-bottom:6px}
.brochure-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;outline:1px solid var(--line);outline-offset:-1px;color:transparent;transition:transform .25s ease,box-shadow .25s ease}
.brochure-cover.is-landscape img{height:auto;object-fit:contain}.brochure strong{font-size:16px;font-weight:500;line-height:1.35}
.brochure-meta{font-size:13px;color:var(--mute);letter-spacing:.02em}
.brochure:hover .brochure-cover img,.brochure:focus-visible .brochure-cover img{transform:translateY(-4px);box-shadow:0 14px 28px -18px rgba(2,26,38,.55)}
.brochure:hover strong{text-decoration:underline;text-underline-offset:3px}
html[data-theme="dark"] .brochure strong{color:#FFFDF6}
@media(max-width:1000px){.brochures{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.brochures{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.brochure strong{font-size:15px}}
.files-wrap .files{max-width:880px}

/* /uslugi/: two groups as in the Services panel, four compact tiles per row. */
.service-index{padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(56px,7vh,96px)}
.service-group + .service-group{margin-top:clamp(44px,5vw,72px)}
.service-group h2{margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:clamp(20px,1.7vw,24px);font-weight:500;line-height:1.3;color:var(--blue)}
.service-group h2 a{color:inherit;text-decoration:none}
.service-group h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.service-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.service-tiles .shot{display:grid;grid-template-rows:auto 1fr;gap:12px;min-width:0;color:inherit;text-decoration:none}
.service-tiles .shot img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:transparent;transition:transform .25s ease}
.service-tiles .shot img[data-fit="contain"]{object-fit:cover}
.service-tiles .shot span{font-size:16px;font-weight:500;line-height:1.35}
.service-tiles .shot:hover span{text-decoration:underline;text-underline-offset:3px}
.service-tiles .shot:hover img{transform:translateY(-3px)}
.service-index .service-request{margin-top:clamp(40px,4vw,56px)}
html[data-theme="dark"] .service-group h2{color:#FFFDF6}
@media(max-width:1000px){.service-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.service-tiles .shot span{font-size:15px}}

/* /contacts/: labelled list beside the map, the same pattern as the home consultation band. */
.contact-grid.prose{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,64px);align-items:start;padding:clamp(28px,3vw,44px) 0 clamp(48px,6vw,80px);margin-top:0;max-width:none}
.contact-list{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.contact-list > div{padding:20px 0;border-bottom:1px solid var(--line)}
.contact-list dt{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);font-weight:400}
.contact-list dd{margin:8px 0 0;font-size:clamp(17px,1.4vw,20px);line-height:1.45;font-weight:500}
.contact-list dd a{color:inherit;text-decoration:none}
.contact-list dd a:hover{color:var(--teal)}
.contact-grid.prose > .office{grid-column:2;grid-row:1;margin:0}
.contact-grid.prose iframe{height:clamp(340px,32vw,460px)}
.contact-grid.prose .map-link{margin:12px 0 0;font-size:14px}
html[data-theme="dark"] .contact-list dd{color:#FFFDF6}
@media(max-width:900px){.contact-grid.prose{grid-template-columns:1fr}.contact-grid.prose > .office{grid-column:1;grid-row:auto}}

/* The Yandex widget reserves a bottom strip for its own ad slot, which stays an empty grey bar;
   the frame is drawn taller and that strip is clipped off. The attribution line stays visible. */
.contact-grid.prose iframe.map-frame{height:calc(clamp(340px,32vw,460px) + 112px);clip-path:inset(0 0 112px 0);margin-bottom:-112px}

/* /contacts/: still OSM map instead of the widget; the whole picture opens Yandex Maps. */
.contact-grid.prose .office-map{display:block;border:1px solid var(--line);overflow:hidden}
.contact-grid.prose .office-map img{display:block;width:100%;height:auto;aspect-ratio:1440/930;transition:transform .4s ease}
.contact-grid.prose .office-map:hover img{transform:scale(1.015)}
.contact-grid.prose .map-link{margin:16px 0 0}
.contact-grid.prose .map-link a.action{text-decoration:none}
@media(max-width:700px){.contact-grid.prose .office-map img{aspect-ratio:1/1;object-fit:cover;object-position:52% 58%}}
.contact-grid.prose .map-credit{margin:6px 0 0;font-size:11px;line-height:1.4;color:var(--mute)}
@media(max-width:1099px){span.group{cursor:pointer}}

/* Language buttons (RU · EN · 中文), right of the phone. Markup, inserted by scripts/localize-site.py:
   <nav class="lang-switch" aria-label="Язык сайта"><a href="…" lang="ru" hreflang="ru" aria-current="page">RU</a>
   <a href="/en/…" lang="en" hreflang="en">EN</a><a href="/zh/…" lang="zh-Hans" hreflang="zh-Hans">中文</a></nav>
   The current language has the same teal rule as the active menu item. On phones it sits in the open menu. */
.lang-switch{display:none;align-items:stretch;flex:none;color:inherit}
.lang-switch a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;padding:0 8px;font-size:14px;font-weight:500;letter-spacing:.06em;line-height:1;color:inherit;opacity:.62;text-decoration:none;transition:opacity .2s ease}
.lang-switch a[lang="zh-Hans"]{letter-spacing:.02em;font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Montserrat,sans-serif}
.lang-switch a::after{content:"";position:absolute;left:7px;right:7px;bottom:9px;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .2s ease}
.lang-switch a:hover,.lang-switch a:focus-visible,.lang-switch a[aria-current]{opacity:1}
.lang-switch a[aria-current]::after,.lang-switch a:hover::after{transform:scaleX(1)}
.lang-switch a + a::before{content:"";position:absolute;left:0;top:50%;width:1px;height:12px;margin-top:-6px;background:currentColor;opacity:.28}
@media(min-width:1100px){.lang-switch{display:inline-flex;margin-left:18px;padding-left:12px;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent)}}
@media(max-width:1099px){.top.is-open .lang-switch{display:inline-flex;position:fixed;z-index:48;left:calc(max(var(--gut),env(safe-area-inset-left)) - 8px);bottom:calc(60px + env(safe-area-inset-bottom))}}
