:root { --bg:#0b0b0b; --ink:#f1eee8; --muted:#aaa69e; --gold:#c69a5b; --gold-light:#e0c189; --line:rgba(241,238,232,.17); --panel:#161616; --serif:Georgia, "Times New Roman", serif; --sans:"Segoe UI", Arial, sans-serif; --mono:Consolas, "Courier New", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.skip-link { position:absolute; left:1rem; top:-4rem; background:var(--gold); color:#111; padding:.6rem .9rem; z-index:10; } .skip-link:focus { top:1rem; }
.site-header { height:84px; padding:0 clamp(1.2rem,4vw,5rem); display:flex; align-items:center; gap:2rem; border-bottom:1px solid var(--line); position:relative; z-index:4; }
.brand { display:flex; align-items:center; gap:.7rem; letter-spacing:.17em; font-family:var(--serif); font-size:1rem; white-space:nowrap; }.brand-mark { color:var(--gold); font-size:1.7rem; line-height:1; }
.site-nav { display:flex; gap:1.8rem; margin:auto; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }.site-nav a:hover,.site-nav a:focus-visible { color:var(--gold-light); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; padding:.95rem 1.25rem; background:var(--gold); color:#16120d; font-weight:700; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; transition:transform .2s, background .2s; }.button:hover { background:var(--gold-light); transform:translateY(-2px); }.button-small { padding:.68rem .9rem; font-size:.66rem; }.button-outline { background:transparent; border:1px solid rgba(198,154,91,.75); color:var(--gold-light); }.button-outline:hover { background:var(--gold); color:#16120d; }.menu-toggle { display:none; }
.hero { min-height:calc(100vh - 84px); padding:clamp(4rem,9vw,9rem) clamp(1.2rem,7vw,9rem); display:grid; grid-template-columns:1.05fr .95fr; align-items:center; overflow:hidden; position:relative; }.hero:before { content:""; position:absolute; width:55vw; height:55vw; right:-20vw; top:-17vw; border-radius:50%; background:radial-gradient(circle,rgba(198,154,91,.15),transparent 68%); filter:blur(15px); }
.hero-copy { position:relative; z-index:1; }.eyebrow { color:var(--gold); font:500 .7rem/1 var(--mono); text-transform:uppercase; letter-spacing:.16em; margin:0 0 1.3rem; }.hero h1,.section h2 { font:500 clamp(2.85rem,5.2vw,6rem)/.96 var(--serif); letter-spacing:-.045em; margin:0; }.hero h1 em,.section h2 em { color:var(--gold-light); font-weight:500; }.hero-lead { max-width:32rem; color:var(--muted); margin:2rem 0; font-size:1.04rem; }.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; }.text-link { color:var(--gold-light); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid rgba(224,193,137,.45); padding-bottom:.18rem; }.text-link:hover { border-color:var(--gold-light); }
.hero-visual { position:relative; z-index:1; min-height:420px; display:grid; place-items:center; }.hero-visual img { width:min(92%,530px); filter:drop-shadow(0 20px 35px rgba(0,0,0,.55)); }.hero-orbit { position:absolute; border:1px solid rgba(198,154,91,.22); border-radius:50%; }.orbit-one { width:76%; aspect-ratio:1; }.orbit-two { width:105%; aspect-ratio:1; }
.section { padding:clamp(5rem,10vw,10rem) clamp(1.2rem,9vw,11rem); }.manifesto { background:#e7e0d4; color:#181715; }.manifesto .eyebrow { color:#866234; }.manifesto-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:4rem; align-items:start; }.manifesto h2 em { color:#806038; }.manifesto p { margin:0 0 1rem; color:#4e4a43; }
.services { background:var(--panel); }.section-heading { display:flex; gap:4rem; justify-content:space-between; align-items:end; margin-bottom:3.8rem; }.section-heading > p { color:var(--muted); max-width:24rem; margin:0; }.service-list { border-top:1px solid var(--line); margin-bottom:2.5rem; }.service-row { display:grid; grid-template-columns:70px minmax(170px,.8fr) 1fr 34px; align-items:center; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line); transition:padding .2s, color .2s; }.service-row:hover { color:var(--gold-light); padding-left:.6rem; }.service-index { color:var(--gold); font:400 .72rem var(--mono); }.service-title { font:500 clamp(1.5rem,2.4vw,2.45rem)/1.1 var(--serif); }.service-copy { color:var(--muted); font-size:.9rem; }.service-arrow { color:var(--gold); font-size:1.4rem; }
.space { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2.2rem,7vw,9rem); }.space-photo { overflow:hidden; }.space-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; filter:contrast(.92) saturate(.78); transition:transform .8s ease; }.space-photo:hover img { transform:scale(1.04); }.space-copy p:not(.eyebrow) { color:var(--muted); max-width:28rem; margin:1.8rem 0 2.3rem; }.facts { display:flex; gap:1.2rem; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:1rem; color:var(--gold-light); font:400 .67rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.appointment { text-align:center; padding-left:1rem; padding-right:1rem; background:linear-gradient(135deg,#17130e,#302214 50%,#111); }.appointment h2 { margin-bottom:1.5rem; }.appointment > p { color:#d0c5b4; max-width:31rem; margin:0 auto 2rem; }
.contacts { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; background:#e7e0d4; color:#181715; }.contacts .eyebrow { color:#806038; }.contacts h2 em { color:#806038; }.contact-panel { border-top:1px solid rgba(24,23,21,.25); padding-top:1.1rem; }.contact-label { font:500 .67rem var(--mono); color:#806038; letter-spacing:.14em; text-transform:uppercase; }.address { margin:1.2rem 0 2.5rem; font:500 clamp(2.1rem,4vw,4.3rem)/1.05 var(--serif); letter-spacing:-.04em; }.contact-actions { display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; }.contacts .text-link { color:#5f4527; }
.site-footer { padding:3rem clamp(1.2rem,7vw,9rem) 2rem; background:#050505; color:var(--muted); }.footer-top,.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.footer-top { padding-bottom:2rem; border-bottom:1px solid var(--line); }.footer-top p { margin:0; font:400 .7rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }.footer-bottom { padding-top:1.2rem; font-size:.72rem; }.footer-bottom p { margin:0; }.footer-bottom div { display:flex; gap:1.2rem; }.footer-bottom a:hover { color:var(--gold-light); }.requisites { margin:.8rem 0 0; font-size:.62rem; color:#77736c; }
.legal-page { max-width:900px; margin:0 auto; padding:clamp(3rem,7vw,7rem) 1.2rem; }.legal-page h1 { font:500 clamp(2.5rem,5vw,5rem)/1 var(--serif); margin:0 0 2rem; }.legal-page h2 { font:500 1.55rem var(--serif); margin:2.5rem 0 .6rem; color:var(--gold-light); }.legal-page p,.legal-page li { color:#cbc7c0; }.legal-page a { color:var(--gold-light); text-decoration:underline; }.legal-note { border-left:2px solid var(--gold); padding:.2rem 1rem; background:#141210; }.back-link { display:inline-block; margin-bottom:3rem; color:var(--gold-light); font-size:.8rem; }
@media (max-width:760px) { .site-header { height:68px; gap:.8rem; }.site-header > .button { display:none; }.menu-toggle { display:grid; gap:5px; margin-left:auto; width:35px; height:35px; place-content:center; background:transparent; border:1px solid var(--line); color:var(--ink); }.menu-toggle span:not(.visually-hidden) { display:block; width:15px; height:1px; background:currentColor; }.site-nav { display:none; position:absolute; top:67px; left:0; right:0; margin:0; padding:1.1rem 1.2rem 1.4rem; background:#121212; border-bottom:1px solid var(--line); flex-direction:column; gap:1rem; }.site-nav.is-open { display:flex; }.hero { min-height:auto; padding-top:4.5rem; grid-template-columns:1fr; }.hero h1,.section h2 { font-size:clamp(2.75rem,12vw,4.3rem); }.hero-visual { min-height:310px; margin-top:1.5rem; }.manifesto-grid,.space,.contacts { grid-template-columns:1fr; gap:2.5rem; }.section-heading { display:block; margin-bottom:2.6rem; }.section-heading > p { margin-top:1.4rem; }.service-row { grid-template-columns:42px 1fr 25px; gap:.7rem; }.service-copy { grid-column:2/3; margin-top:-.4rem; font-size:.78rem; }.service-arrow { grid-column:3; grid-row:1/3; }.space { padding-left:0; padding-right:0; }.space-copy { padding:0 1.2rem; }.contacts { gap:2rem; }.footer-top,.footer-bottom { align-items:flex-start; flex-direction:column; }.footer-bottom div { flex-wrap:wrap; }.requisites { line-height:1.6; }.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } }
