:root{ --ink:#1a1a18; --paper:#fcfcfb; --soft:#f2f2ed; --edge:#d4d4cc; --mid:#6e6e66 }
*{box-sizing:border-box; margin:0}
body{font-family:Georgia,"Times New Roman",serif; color:var(--ink); background:var(--paper); line-height:1.7; font-size:17.5px}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px}
h1{font-size:clamp(30px,3.8vw,48px); line-height:1.12; font-weight:600}
h1.big{font-size:clamp(34px,4.6vw,58px)}
h2{font-size:clamp(24px,2.6vw,32px); font-weight:600; margin-bottom:14px}
h3{font-size:19px; font-weight:700; margin-bottom:6px}
p{margin-bottom:14px}
.kicker{font-family:Helvetica,Arial,sans-serif; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--mid); margin-bottom:14px}
.btn{display:inline-block; background:var(--ink); color:var(--paper); font-family:inherit; font-size:17px; padding:14px 32px; border:none; cursor:pointer; text-decoration:none}
.btn:hover{background:#3a3a36}
.btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--soft)}
.photo{background:repeating-linear-gradient(45deg,#f0f0ea,#f0f0ea 14px,#e4e4dd 14px,#e4e4dd 28px); border:1px solid var(--edge); color:#8a8a80; display:flex; align-items:center; justify-content:center; text-align:center; font-style:italic; font-size:14.5px; padding:14px}
section{padding:80px 0}
.band{background:var(--soft); border-top:1px solid var(--edge); border-bottom:1px solid var(--edge)}

header{position:sticky; top:0; background:var(--paper); border-bottom:3px double var(--edge); z-index:10}
.bar{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 32px; max-width:1320px; margin:0 auto}
.brand{display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--ink)}
.brand img{width:52px; height:52px; border-radius:50%}
.brand b{font-size:19px; letter-spacing:.05em; font-weight:700; white-space:nowrap}
nav{display:flex; flex-wrap:wrap; gap:2px; align-items:center}
nav a{font-family:Helvetica,Arial,sans-serif; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); text-decoration:none; padding:10px 14px}
nav a.on{border-bottom:2px solid var(--ink); font-weight:700}
nav a:hover{background:var(--soft)}
nav .lang{font-size:11px; color:var(--mid); border-left:1px solid var(--edge); margin-left:8px; padding-left:14px}
nav .lang a{padding:4px 5px; font-size:11px}

.hero{position:relative; text-align:center; padding:92px 0 150px; overflow:hidden}
.hero .seal{width:min(250px,60vw); border-radius:50%; margin-bottom:34px}
.hero p.lede{font-size:21px; max-width:60ch; margin:22px auto 34px; color:#3c3c37}
.skyline{position:absolute; left:0; right:0; bottom:-2px; width:100%; height:130px; opacity:.10; pointer-events:none; object-fit:cover}
.hero>*{position:relative}
.hero .skyline{position:absolute}

.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stat{padding:34px 20px; text-align:center; border-right:1px solid var(--edge)}
.stat:last-child{border-right:none}
.stat b{display:block; font-size:40px; font-weight:600}
.stat span{font-family:Helvetica,Arial,sans-serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--mid)}
@media(max-width:720px){ .stat{border-right:none; border-bottom:1px solid var(--edge)} .stat:last-child{border-bottom:none} }

.two{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center}
@media(max-width:820px){ .two{grid-template-columns:1fr} }

.people{display:flex; gap:48px; justify-content:center; flex-wrap:wrap; margin-top:40px}
.person{text-align:center; width:250px}
.person .photo{width:230px; height:270px; margin:0 auto 14px}
.person img.face{width:230px; height:270px; object-fit:cover; object-position:top; display:block; margin:0 auto 14px; border:1px solid var(--edge); filter:grayscale(1); background:#fff}
.person b{display:block; font-size:19px}
.person span{font-size:15px; color:var(--mid); font-style:italic}

table{border-collapse:collapse; width:100%; margin:14px 0}
td,th{padding:13px 16px; border:1px solid var(--edge); text-align:left}
th{background:var(--soft); font-family:Helvetica,Arial,sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.1em}
.price td:nth-child(2){font-size:22px; font-weight:700}

form .grid2{display:grid; grid-template-columns:1fr 1fr; gap:0 22px}
@media(max-width:640px){ form .grid2{grid-template-columns:1fr} }
form .row{margin-bottom:15px}
label{display:block; font-family:Helvetica,Arial,sans-serif; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:5px; font-weight:700}
input,select,textarea{width:100%; padding:12px 13px; font-size:16.5px; border:1px solid var(--edge); background:#fff; font-family:Georgia,serif}
.hp{position:absolute; left:-9999px; top:-9999px}
.thanks{background:var(--soft); border:1.5px solid var(--ink); padding:13px 15px; display:none; margin-top:14px; font-weight:700}
.err{background:#fff; border:1.5px solid #8a2f2f; color:#8a2f2f; padding:13px 15px; display:none; margin-top:14px}

.addr-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:26px 0}
@media(max-width:640px){ .addr-grid{grid-template-columns:1fr} }
.addr{border:1px solid var(--edge); background:#fff; padding:24px 26px}
.addr h3{border-bottom:1px solid var(--edge); padding-bottom:8px; margin-bottom:10px}
.map{width:100%; height:230px; border:1px solid var(--edge); display:block}

footer{background:var(--ink); color:#b9b9b2; padding:44px 0; font-size:14.5px}
footer .wrap{display:flex; align-items:center; gap:22px; flex-wrap:wrap; justify-content:space-between}
footer img{width:64px; height:64px; border-radius:50%; opacity:.9}
footer a{color:#d8d8d2}
.rule{border:none; border-top:1px solid var(--edge); margin:34px 0}
