@font-face{font-family:"Source Serif 4";font-weight:500 600;font-display:swap;src:url(f/serif.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-weight:400 600;font-display:swap;src:url(f/sans.woff2) format("woff2")}
:root{--bg:#D5D9CD;--bg2:#C5CBBA;--ink:#18211C;--ink2:#36443B;--field:#2B4036;--fi:#E8EBDF;--fi2:#C3CCBC;--brass:#C79A3B;--bar:56px;--w:1200px;--g:clamp(20px,4vw,48px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 "Public Sans",system-ui,sans-serif;overflow-x:clip}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;font-weight:600;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,4.6vw,4.2rem);line-height:1.04}
h2{font-size:clamp(1.8rem,3.4vw,2.9rem);line-height:1.08}
h3{font-size:1.5rem;line-height:1.2}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.on-field :focus-visible{outline-color:var(--fi)}
.wrap{max-width:var(--w);margin:0 auto;padding-inline:var(--g)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--fi);padding:10px 16px;z-index:2000}
.skip:focus{left:8px}
.hd{position:sticky;top:var(--bar);z-index:60;background:var(--bg)}
.hd .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand svg{width:34px;height:34px;flex:none}
.brand b{display:block;font:600 1.5rem/1 "Source Serif 4",serif;letter-spacing:-.02em}
.brand small{display:block;font-size:.875rem;color:var(--ink2);margin-top:3px}
.nav{display:flex;gap:4px;align-items:center}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;font-weight:500}
.nav a:hover{text-decoration:underline}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;background:var(--brass);color:var(--ink);font:600 1rem/1 "Public Sans",sans-serif;border:0;text-decoration:none;cursor:pointer;transition:transform .2s,background-color .2s;touch-action:manipulation}
.btn:hover{background:#D8AB4A;transform:translateY(-2px)}
.btn:active{transform:none}
.btn.alt{background:transparent;box-shadow:inset 0 0 0 2px currentColor}
.btn.alt:hover{background:rgba(24,33,28,.1)}
.on-field .btn.alt:hover{background:rgba(232,235,223,.14)}
.menu-btn{display:none;min-height:44px;padding:0 16px;background:var(--ink);color:var(--fi);border:0;font:600 1rem "Public Sans",sans-serif;cursor:pointer}
@media(max-width:1020px){
 .menu-btn{display:inline-flex;align-items:center}
 .hd .btn{display:none}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--bg);padding:8px var(--g) 20px;gap:0}
 .nav.open{display:flex;animation:drop .25s ease-out}
 .nav a{border-bottom:1px solid var(--bg2);min-height:52px;font-size:1.125rem}
 .nav .btn{display:inline-flex;margin-top:16px}
}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
.sec{padding-block:clamp(56px,9vw,120px)}
.field{background:var(--field);color:var(--fi)}
.field p{color:var(--fi2)}
.tone{background:var(--bg2)}
.hero{min-height:calc(100svh - var(--bar) - 72px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch}
.hero .copy{padding:clamp(32px,6vw,72px) var(--g) clamp(32px,6vw,72px) max(var(--g),calc((100vw - var(--w))/2 + var(--g)));display:flex;flex-direction:column;justify-content:center}
.hero .lead{font-size:1.25rem;margin-top:24px;color:var(--ink2);max-width:34ch}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero .art{background:var(--field);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.hero .art svg{width:100%;height:100%;max-height:calc(100svh - var(--bar) - 120px)}
.l{animation:rise .8s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(var(--d,0)*.18s)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@media(max-width:820px){.hero{grid-template-columns:1fr;min-height:0}.hero .art{height:300px}.hero .copy{padding:36px var(--g)}}
.figs{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--g);align-items:end}
.fig-big b{display:block;font:600 clamp(3.4rem,9vw,8rem)/.95 "Source Serif 4",serif;letter-spacing:-.03em}
.fig-big span{display:block;font-size:1.25rem;margin-top:12px;max-width:26ch}
.figs dl{margin:0;display:grid;gap:20px}
.figs dl div{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:16px;align-items:baseline;padding-top:20px;border-top:3px solid var(--bg2)}
.figs dt{font:600 2rem/1 "Source Serif 4",serif}
.figs dd{margin:0}
.note{font-size:.9375rem;color:var(--ink2);margin-top:28px}
.field .note{color:var(--fi2)}
@media(max-width:820px){.figs{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--g);align-items:start}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.rows{margin:0;padding:0;list-style:none}
.rows>li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:var(--g);padding:28px 0;border-top:2px solid var(--ink)}
.rows>li:last-child{padding-bottom:0}
.rows h3{font-size:clamp(1.6rem,3vw,2.4rem)}
.rows p{margin:0}
@media(max-width:820px){.rows>li{grid-template-columns:1fr;gap:8px}}
.steps{counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{counter-increment:s;padding:18px 20px 18px 60px;margin-bottom:6px;background:#355043;position:relative;font:600 1.5rem/1.25 "Source Serif 4",serif}
.steps li::before{content:counter(s);position:absolute;left:22px;top:18px;font:600 1.5rem/1.25 "Source Serif 4",serif;color:var(--brass)}
.projs{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:var(--g)}
.projs article:first-child{grid-row:span 2}
.projs figure,.fig{margin:0;background:var(--bg2);padding:16px;display:block}
.projs svg,.fig svg{display:block;width:100%;height:auto}
.projs h3{margin:16px 0 8px}
.projs a.more{font-weight:600}
@media(max-width:820px){.projs{grid-template-columns:1fr}.projs article:first-child{grid-row:auto}}
.cta{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--g);align-items:end}
.cta h2{font-size:clamp(1.9rem,3.8vw,3.2rem)}
@media(max-width:820px){.cta{grid-template-columns:1fr}}
.ph{padding-block:clamp(40px,7vw,96px) clamp(24px,4vw,48px)}
.ph p.lead{font-size:1.25rem;margin-top:20px;color:var(--ink2)}
.blk{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--g);padding-block:clamp(32px,5vw,64px);border-top:2px solid var(--ink)}
.blk dl,.facts{margin:0;display:grid;gap:12px}
.blk dt,.facts dt{font-weight:600}
.blk dd,.facts dd{margin:0}
.price{font:600 1.75rem/1.2 "Source Serif 4",serif;margin-top:8px}
@media(max-width:820px){.blk{grid-template-columns:1fr}}
.faq details{border-top:1px solid var(--ink);padding:4px 0}
.faq summary{min-height:56px;display:flex;align-items:center;cursor:pointer;font:600 1.25rem/1.3 "Source Serif 4",serif;list-style:none;padding-right:32px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;font-size:1.6rem;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:16px;margin:0}
ul.plain{margin:0;padding-left:1.2em}
ul.plain li{margin-bottom:.4em}
.study{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--g);padding-block:clamp(32px,5vw,64px);border-top:2px solid var(--ink)}
.study:nth-of-type(even){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.study:nth-of-type(even) .fig{order:-1}
@media(max-width:820px){.study,.study:nth-of-type(even){grid-template-columns:1fr}.study:nth-of-type(even) .fig{order:0}}
.job{padding:28px 0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--g);border-top:2px solid var(--ink)}
.job h2{font-size:clamp(1.6rem,3vw,2.3rem)}
@media(max-width:820px){.job{grid-template-columns:1fr}}
.art-list a{display:block;padding:20px 0;text-decoration:none;border-top:2px solid var(--ink)}
.art-list h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.art-list a:hover h2{text-decoration:underline}
.article{padding-block:clamp(40px,6vw,80px);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--g);scroll-margin-top:140px}
.article:target h2{text-decoration:underline;text-decoration-color:var(--brass);text-decoration-thickness:4px}
.article p{max-width:64ch}
@media(max-width:820px){.article{grid-template-columns:1fr}}
.kontak{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--g);align-items:start}
@media(max-width:820px){.kontak{grid-template-columns:1fr}}
form{display:grid;gap:18px}
label{display:block;font-weight:600;margin-bottom:6px}
input,select,textarea{width:100%;min-height:48px;padding:10px 14px;font:400 1rem/1.4 "Public Sans",sans-serif;color:var(--ink);background:#EEF0E8;border:2px solid var(--ink2);border-radius:0}
textarea{min-height:140px;resize:vertical}
[aria-invalid=true]{border-color:#8E2A1B;background:#F3E4DE}
.err{color:#7A2010;font-weight:600;margin:6px 0 0;min-height:0}
.err:empty{display:none}
#sum{font-weight:600}
.ok{background:var(--field);color:var(--fi);padding:20px;margin:0}
.map{background:var(--bg2);padding:12px;margin:24px 0 0}
.map svg{display:block;width:100%;height:auto}
.map figcaption{font-size:.9375rem;margin-top:8px}
footer.ft{background:var(--ink);color:var(--fi2);padding-block:48px}
footer.ft .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--g)}
footer.ft b{font:600 clamp(2rem,6vw,4.5rem)/1 "Source Serif 4",serif;color:var(--fi);display:block;margin-bottom:12px;letter-spacing:-.02em}
footer.ft p{max-width:44ch}
footer.ft a{color:var(--fi)}
footer.ft .fl{display:grid;gap:4px;align-content:start}
footer.ft .fl a{display:inline-flex;align-items:center;min-height:44px}
footer.ft .bt{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.9375rem}
@media(max-width:820px){footer.ft .wrap{grid-template-columns:1fr}}
svg text{font-family:"Public Sans",sans-serif}
@media(prefers-reduced-motion:reduce){.l,.nav.open{animation:none}.btn{transition:none}html{scroll-behavior:auto}}
