
:root{
  --night:#241b38;      /* глубокий тёмный фон, как на исходном сайте */
  --night2:#2f2449;
  --gold:#c2a15f;
  --gold-2:#d9bc7f;
  --cream:#f5f1e8;
  --paper:#faf8f2;
  --text:#2c2735;
  --muted:#6d6579;
  --line:#e7e1d3;
  --radius:16px;
  --w:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;background:var(--paper);color:var(--text);line-height:1.65;font-size:16.5px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.12;color:var(--night)}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#fff;text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;border-radius:999px;border:0;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--gold-2);color:var(--night);transform:translateY(-1px)}
.btn.line{background:transparent;box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold)}
.btn.line:hover{background:var(--gold);color:#fff}

/* topbar */
.topbar{background:var(--night);color:#cfc8dd;font-size:13.5px;border-bottom:1px solid rgba(194,161,95,.25)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 24px;flex-wrap:wrap}
.topbar a{color:var(--gold-2);text-decoration:none;font-weight:600}

/* header */
header.site{position:sticky;top:0;z-index:60;background:rgba(36,27,56,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(194,161,95,.22)}
header.site .wrap{display:flex;align-items:center;gap:26px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:40px;width:auto}
.brand strong{font-family:"Playfair Display",serif;font-size:20px;color:#fff;letter-spacing:.02em}
nav.main{margin-left:auto;display:flex;align-items:center;gap:26px}
nav.main a.navlink{text-decoration:none;font-weight:500;font-size:15px;color:#e8e2f2}
nav.main a.navlink:hover{color:var(--gold-2)}
.lang{display:flex;gap:3px;border:1px solid rgba(194,161,95,.4);border-radius:999px;padding:3px}
.lang button{border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px;cursor:pointer;color:#cfc8dd}
.lang button.on{background:var(--gold);color:var(--night)}

/* hero — как на исходном сайте: фото во весь экран, серифный заголовок по центру, золотые кнопки */
.hero{position:relative;min-height:92vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;
  background:
    radial-gradient(900px 500px at 50% -10%, rgba(194,161,95,.16), transparent 60%),
    radial-gradient(700px 500px at 85% 100%, rgba(194,161,95,.08), transparent 60%),
    linear-gradient(165deg,#332752 0%, #241b38 55%, #1c1530 100%);}
.hero .bg-art{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.hero .bg-art svg{width:min(680px,84vw,54vh);height:auto;aspect-ratio:200/240;opacity:.16;display:block}
.hero .corner{position:absolute;width:120px;height:120px;border:1.5px solid rgba(194,161,95,.35);pointer-events:none}
.hero .corner.tl{top:26px;left:26px;border-right:0;border-bottom:0}
.hero .corner.br{bottom:26px;right:26px;border-left:0;border-top:0}
.hero .inner{padding:110px 24px;max-width:900px}
.hero h1{color:#fff;font-size:clamp(44px,7vw,84px);font-weight:800;letter-spacing:.01em;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.hero .rule{width:64px;height:2px;background:var(--gold);margin:26px auto}
.hero .sub{font-size:18px;color:#e6dff2;max-width:640px;margin:0 auto 34px}
.hero .cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero .chips{margin-top:64px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero .chips span{border:1px solid rgba(194,161,95,.5);border-radius:999px;padding:9px 20px;font-size:13.5px;color:var(--gold-2);letter-spacing:.06em;background:rgba(36,27,56,.35);backdrop-filter:blur(4px)}

section{padding:96px 0}

/* services with Themis photo */
.services .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.services figure{position:sticky;top:110px}
.art-panel{width:100%;aspect-ratio:3/4.1;border-radius:var(--radius);display:grid;place-items:center;
  background:
    radial-gradient(420px 300px at 50% 18%, rgba(194,161,95,.18), transparent 65%),
    linear-gradient(165deg,#332853,#241b38 70%,#1d1631);
  box-shadow:0 24px 60px rgba(36,27,56,.28);border:1px solid rgba(194,161,95,.28);position:relative;overflow:hidden}
.art-panel::before{content:"";position:absolute;inset:14px;border:1px solid rgba(194,161,95,.3);border-radius:10px}
.art-panel svg{width:74%;height:auto;position:relative;display:block}
.services h2{font-size:clamp(30px,3.6vw,44px);margin:14px 0 10px}
.services .lead{color:var(--muted);margin-bottom:8px}
.svc{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
.svc:last-child{border-bottom:0}
.svc .ic{flex:0 0 46px;height:46px;border-radius:50%;border:1.5px solid var(--gold);display:grid;place-items:center;color:var(--gold)}
.svc .ic svg{width:22px;height:22px}
.svc p{font-size:16px}

/* stats band on photo */
.band{color:#fff;text-align:center;position:relative;
  background:
    radial-gradient(700px 320px at 20% 0%, rgba(194,161,95,.16), transparent 60%),
    radial-gradient(700px 320px at 80% 100%, rgba(194,161,95,.12), transparent 60%),
    linear-gradient(120deg,#2f2449,#241b38)}
.band .wrap{position:relative}
.band .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.band b{display:block;font-family:"Playfair Display",serif;font-size:clamp(44px,5vw,64px);color:var(--gold-2);line-height:1}
.band span{display:block;margin-top:10px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#ddd6ea}

/* departments */
.depts{background:var(--paper)}
.depts .head{text-align:center;max-width:720px;margin:0 auto 46px}
.depts h2{font-size:clamp(30px,3.6vw,44px);margin-top:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(36,27,56,.16)}
.card .art{aspect-ratio:16/10;display:grid;place-items:center;position:relative;
  background:
    radial-gradient(320px 200px at 50% 30%, rgba(194,161,95,.2), transparent 70%),
    linear-gradient(160deg,#332853,#241b38)}
.card .art::before{content:"";position:absolute;inset:10px;border:1px solid rgba(194,161,95,.3);border-radius:8px}
.card .art svg{width:44%;height:auto;max-height:74%;position:relative;display:block}
.card .body{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .tag{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.card h3{font-size:21px}
.card a.tel{margin-top:auto;padding-top:14px;text-decoration:none;font-weight:700;color:var(--night);font-size:17px;display:inline-flex;align-items:center;gap:8px}
.card a.tel svg{width:17px;height:17px;color:var(--gold)}
.card a.tel:hover{color:var(--gold)}

/* call band */
.callband{background:var(--night);color:#fff;text-align:center;position:relative;overflow:hidden}
.callband::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0%,rgba(194,161,95,.14),transparent)}
.callband .wrap{position:relative}
.callband h2{color:#fff;font-size:clamp(28px,3.4vw,42px);max-width:780px;margin:0 auto 30px}
.callband .nums{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.callband .nums a{font-family:"Playfair Display",serif;font-size:26px;color:var(--gold-2);text-decoration:none;border:1px solid rgba(194,161,95,.45);border-radius:999px;padding:12px 30px;transition:background .2s}
.callband .nums a:hover{background:rgba(194,161,95,.14)}

/* contact */
.contact .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.contact h2{font-size:clamp(28px,3.4vw,40px);margin:14px 0 22px}
.contact form{display:grid;gap:14px}
.contact label{font-size:13px;font-weight:600;color:var(--night);letter-spacing:.04em}
.contact input,.contact textarea{width:100%;font:inherit;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}
.contact input:focus,.contact textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.contact textarea{min-height:130px;resize:vertical}
.addr{background:var(--night);color:#e6dff2;border-radius:var(--radius);overflow:hidden}
.addr img{width:100%;aspect-ratio:16/8.2;object-fit:cover}
.addr .pad{padding:30px}
.addr b{color:#fff;font-weight:600}
.addr p{margin-bottom:12px}
.addr a{color:var(--gold-2);font-weight:600;text-decoration:none}
.addr .btn{margin-top:10px}

footer{background:var(--night);color:#a79fb8;font-size:14px;border-top:1px solid rgba(194,161,95,.22)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:26px;padding-bottom:26px;flex-wrap:wrap}
footer a{color:#e6dff2;text-decoration:none}
footer a:hover{color:var(--gold-2)}

@media (max-width:920px){
  section{padding:64px 0}
  .services .wrap,.contact .wrap{grid-template-columns:1fr}
  .services figure{position:static;max-width:440px;margin:0 auto}
  .cards{grid-template-columns:1fr}
  .band .wrap{grid-template-columns:1fr;gap:36px}
  nav.main a.navlink{display:none}
  .hero{min-height:78vh}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}
