
:root{--r:18px;--shadow:0 6px 30px rgba(0,0,0,.15);--ink:#1f2937;--muted:#374151}
html{-webkit-text-size-adjust:100%}*{box-sizing:border-box}
body{margin:0;font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"PT Serif",Georgia,"Times New Roman",serif;letter-spacing:-.015em}
h1{font-size:clamp(28px,4.6vw,52px);line-height:1.08;margin:0 0 8px}.lead{font-size:clamp(16px,2.1vw,20px);color:var(--muted)}
.container{max-width:1120px;margin:0 auto;padding:0 16px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.header{position:sticky;top:0;z-index:30;background:#ffffffcc;backdrop-filter:blur(8px);border-bottom:1px solid #eee}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:800}
.brand img{height:36px;width:auto}.header .nav a{color:#374151;text-decoration:none;margin-left:16px;font-weight:600}
.header .nav a:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:999px;border:0;background:#111827;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.hero{padding:12px 0 0}.hero .frame{position:relative;overflow:hidden;border-radius:clamp(12px,1.4vw,20px);box-shadow:var(--shadow);min-height:min(72vh,820px);isolation:isolate}
.hero .frame .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.02) saturate(1.05);z-index:-2}
.hero .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.45) 100%);z-index:-1}
.hero .content{position:absolute;inset:0;display:grid;place-items:end start;padding:clamp(16px,4vw,48px)}
.hero h1,.hero .lead{color:#fff}.hero .lead{max-width:860px;margin:0 0 18px}
.section{padding:clamp(28px,5vw,64px) 0}.section h2{margin:0 0 12px}
.cards{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:18px}
@media (min-width:720px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:block;overflow:hidden;border-radius:var(--r);box-shadow:var(--shadow);text-decoration:none;color:inherit;background:#fff}
/* Не режем фото в карточках: равные рамки 4:3 и object-fit:contain */
.card .thumb{width:100%;aspect-ratio:4/3;height:auto;object-fit:contain;display:block;background:#f3f4f6}
.card .body{padding:14px 14px 16px}.card h3{margin:0 0 6px 0;font-size:20px}
.footer{border-top:1px solid #eee;color:#6b7280;padding:18px 0;font-size:14px}
/* О нас: галерея и отзывы */
.gallery{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px}
@media (min-width:720px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.gallery{grid-template-columns:repeat(4,1fr)}}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);background:#fff}
.testimonials{margin-top:32px;display:grid;gap:16px}
@media (min-width:720px){.testimonials{grid-template-columns:repeat(2,1fr)}}
.quote{border-radius:18px;box-shadow:var(--shadow);padding:16px;background:#fff}
.quote .who{margin-top:8px;color:#6b7280;font-size:14px}
