:root{--accent:#dc005c;--accent-dark:#af0049;--text:#24252b;--muted:#666a73;--light:#f7f7f9;--border:#e8e8eb;--max:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font:16px/1.6 Arial,Helvetica,sans-serif}
img{max-width:100%}
a{color:inherit}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid var(--border)}
.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{display:block;width:188px;height:auto}
.main-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.main-nav a{text-decoration:none;font-size:14px;font-weight:700}
.main-nav a:hover,.main-nav a:focus-visible,.text-link:hover{color:var(--accent)}
.nav-contact{padding:10px 16px;border:1px solid var(--accent);border-radius:3px;color:var(--accent)!important}
.nav-contact:hover{color:#fff!important;background:var(--accent)}
.hero{position:relative;display:flex;align-items:center;min-height:540px;color:#fff;background:#343b41 url('assets/hero.jpg') center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,27,.78) 0%,rgba(14,20,27,.42) 56%,rgba(14,20,27,.08) 100%)}
.hero .wrap{position:relative;padding:85px 0}
.eyebrow{display:block;margin-bottom:10px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero .eyebrow{color:#fff}
h1,h2,h3,p{margin-top:0}
h1{max-width:680px;margin-bottom:20px;font-size:clamp(38px,5.8vw,70px);line-height:1.07;letter-spacing:-.03em}
.hero p{max-width:530px;margin-bottom:30px;font-size:19px}
.button{display:inline-block;padding:13px 23px;border:1px solid var(--accent);border-radius:3px;color:#fff;background:var(--accent);font-weight:700;text-decoration:none;transition:background .15s,color .15s}
.button:hover,.button:focus-visible{background:var(--accent-dark);border-color:var(--accent-dark)}
.button-outline{color:var(--accent);background:#fff}
.button-outline:hover,.button-outline:focus-visible{color:#fff}
.section{padding:78px 0}
.section-light{background:var(--light)}
.section-heading{max-width:690px;margin-bottom:32px}
.section-heading h2,.content-block h2{margin-bottom:12px;font-size:clamp(30px,3.3vw,43px);line-height:1.18;letter-spacing:-.02em}
.section-heading p,.content-block p{color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{overflow:hidden;border:1px solid var(--border);border-radius:5px;background:#fff;box-shadow:0 10px 28px rgba(20,20,35,.045)}
.card>a.card-image{display:block;overflow:hidden}
.card img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .25s}
.card>a:hover img,.card>a:focus-visible img{transform:scale(1.04)}
.card-body{padding:22px}
.card-kicker{display:block;margin-bottom:8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.card h3{margin-bottom:9px;font-size:21px;line-height:1.27}
.card p{min-height:50px;margin-bottom:18px;color:var(--muted);font-size:14px}
.text-link{color:var(--accent);font-weight:700;text-decoration:none}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:56px}
.split img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:5px}
.reference-grid{display:grid;grid-template-columns:1fr;gap:24px}
.reference{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.45fr);overflow:hidden;border:1px solid var(--border);border-radius:5px;background:#fff}
.reference-image{display:grid;place-items:center;min-height:270px;padding:12px;background:#f3f3f5}
.reference-image:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.reference img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain}
.reference .caption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px}
.reference .caption span{display:block;color:var(--accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.reference h3{margin:7px 0 16px;font-size:24px;line-height:1.25}
.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:37px 40px;border-radius:5px;background:#24252b;color:#fff}
.contact-panel h2{margin:0 0 5px;font-size:30px;line-height:1.2}
.contact-panel p{margin:0;color:#d8d8df}
.site-footer{padding:28px 0;background:#191a1e;color:#dadbe1;font-size:14px}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.detail-hero{padding:64px 0 36px;background:var(--light)}
.breadcrumb{margin-bottom:20px;color:var(--muted);font-size:14px}
.breadcrumb a{text-decoration:none}
.detail-hero h1{max-width:900px;margin-bottom:12px;font-size:clamp(34px,4.5vw,54px)}
.detail-hero p{max-width:730px;margin:0;color:var(--muted);font-size:18px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:44px}
.detail-main>img{display:block;width:100%;max-height:530px;object-fit:cover;border-radius:5px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 38px}
.gallery a{display:block;overflow:hidden;border-radius:4px}
.gallery img{display:block;width:100%;height:145px;object-fit:cover}
.detail-main h2{font-size:28px}
.detail-main p{color:var(--muted)}
.facts{margin:0 0 24px;padding:25px;border:1px solid var(--border);border-radius:5px;background:#fff}
.facts h2{margin-bottom:16px;font-size:22px}
.facts ul{margin:0;padding-left:20px}
.facts li+li{margin-top:7px}
.sticky-card{position:sticky;top:25px}
.detail-phone{margin:16px 0 0;color:var(--muted)}
.detail-phone a{color:var(--accent);font-weight:700;text-decoration:none}
@media(max-width:850px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference{grid-template-columns:1fr}.reference-image{min-height:0}.reference .caption{padding:20px 24px 24px}.detail-layout{grid-template-columns:1fr}.sticky-card{position:static}}
@media(max-width:650px){.header-inner{padding:17px 0;align-items:flex-start;flex-direction:column;gap:14px}.main-nav{gap:11px 20px}.nav-contact{padding:5px 9px}.hero{min-height:460px}.hero .wrap{padding:65px 0}.section{padding:55px 0}.card-grid,.split{grid-template-columns:1fr}.split{gap:26px}.contact-panel{display:block;padding:28px}.contact-panel .button{margin-top:21px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:130px}}
