:root {
  --ink:#111820;
  --muted:#65707b;
  --steel:#d8dde1;
  --line:#dfe3e6;
  --blue:#6f97a8;
  --dark:#10171d;
  --paper:#f5f6f4;
  --warm:#a9875d;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }

.nav { height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:14px; }
.brand img { width:72px; height:52px; object-fit:cover; object-position:center; border-radius:6px; mix-blend-mode:multiply; }
.brand span { color:var(--muted); font-size:12px; line-height:1.25; width:85px; }
nav { display:flex; gap:28px; font-size:14px; }
nav a { transition:.2s; }
nav a:hover { color:#537f91; }
.navPhone { font-weight:700; letter-spacing:.02em; }

.hero { overflow:hidden; border-top:1px solid var(--line); background:linear-gradient(120deg,#f6f7f5 0%,#edf0f0 65%,#d8dee0 100%); }
.heroGrid { min-height:680px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; }
.heroCopy { position:relative; z-index:4; padding:72px 0; }
.eyebrow,.kicker { font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:700; color:#547785; }
.eyebrow { display:flex; gap:10px; align-items:center; }
.eyebrow span { width:28px; height:1px; background:#547785; }
h1 { font-size:clamp(49px,5.6vw,80px); line-height:.95; letter-spacing:-.055em; max-width:760px; margin:22px 0 28px; }
.lead { font-size:18px; line-height:1.62; color:#4f5b64; max-width:680px; }
.heroActions { display:flex; gap:12px; margin:38px 0 46px; }
.button { padding:16px 22px; border:1px solid var(--ink); font-size:14px; font-weight:700; transition:.2s; }
.button.primary { background:var(--ink); color:white; }
.button.primary:hover { background:#355765; border-color:#355765; }
.button.ghost:hover { background:white; }
.proof { display:flex; gap:42px; }
.proof div { display:flex; flex-direction:column; gap:5px; }
.proof b { font-size:20px; }
.proof span { font-size:12px; color:var(--muted); }

.heroVisual { height:100%; min-height:680px; position:relative; display:flex; align-items:center; justify-content:center; }
.heroCanister { width:76%; max-height:500px; object-fit:contain; border-radius:2px; box-shadow:0 32px 70px #1b2c3440; transform:rotate(-3deg); position:relative; z-index:2; }
.steelDisc { position:absolute; border:1px solid #9aa6ab66; border-radius:50%; }
.discOne { width:520px; height:520px; background:#d7dcdd; right:-120px; top:46px; }
.discTwo { width:350px; height:350px; border-color:white; right:-40px; top:130px; }
.samovarBadge { position:absolute; z-index:4; width:188px; left:-22px; bottom:62px; background:#fff; padding:13px; box-shadow:0 20px 48px #18222930; transform:rotate(2deg); }
.samovarBadge img { width:100%; aspect-ratio:1; object-fit:contain; }
.samovarBadge span { display:block; padding-top:10px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.made { position:absolute; z-index:5; bottom:82px; right:6px; width:104px; height:104px; display:grid; place-items:center; text-align:center; border-radius:50%; background:var(--ink); color:white; font-size:12px; text-transform:uppercase; letter-spacing:.12em; line-height:1.5; }

.catalog { padding:110px 0 120px; }
.sectionHead { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:80px; margin-bottom:70px; }
.sectionHead h2,.about h2,.contact h2 { font-size:clamp(38px,5vw,64px); letter-spacing:-.045em; margin:12px 0 0; line-height:1; }
.sectionHead>p { color:var(--muted); font-size:16px; line-height:1.6; max-width:500px; }
.catalogBlock { scroll-margin-top:32px; }
.catalogBlock + .catalogBlock { margin-top:110px; }
.catalogTitle { display:flex; justify-content:space-between; align-items:end; gap:40px; padding:0 0 26px; border-bottom:1px solid var(--ink); margin-bottom:22px; }
.catalogTitle>div { display:flex; align-items:baseline; gap:18px; }
.catalogTitle span { color:#547785; font-size:12px; font-weight:700; letter-spacing:.14em; }
.catalogTitle h3 { margin:0; font-size:36px; letter-spacing:-.035em; }
.catalogTitle>p { max-width:520px; margin:0; color:var(--muted); font-size:14px; line-height:1.55; }

.productGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.productCard { background:white; border:1px solid var(--line); }
.productImage { height:300px; background:#e9ebeb; position:relative; overflow:hidden; }
.productImage img { width:100%; height:100%; object-fit:contain; transition:.4s; }
.productCard:hover .productImage img { transform:scale(1.03); }
.productImage span { position:absolute; left:18px; top:18px; background:#ffffffdd; padding:8px 10px; font-size:11px; }
.productBadge { position:absolute; right:18px; top:18px; padding:8px 11px; background:var(--ink); color:#fff; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.productInfo { display:flex; justify-content:space-between; gap:15px; padding:22px; border-top:1px solid var(--line); }
.productInfo p,.price span { margin:0 0 5px; color:var(--muted); font-size:12px; }
.productInfo h3 { margin:0; font-size:28px; }
.price { text-align:right; display:flex; flex-direction:column; }
.price b { font-size:18px; }
.productCard>a { display:flex; justify-content:space-between; padding:17px 22px; border-top:1px solid var(--line); font-size:13px; font-weight:700; }
.productCard>a:hover { background:var(--ink); color:white; }

.canisterDetails { display:grid; grid-template-columns:1.08fr .92fr .92fr; grid-template-rows:auto 280px 280px; gap:18px; margin-top:68px; }
.detailsIntro { grid-column:1; grid-row:1; padding:34px 8px 30px 0; align-self:end; }
.detailsIntro .kicker { margin:0 0 14px; }
.detailsIntro h3 { font-size:34px; line-height:1.05; letter-spacing:-.035em; margin:0 0 18px; max-width:470px; }
.detailsIntro>p:last-child { color:var(--muted); font-size:14px; line-height:1.65; max-width:500px; }
.detailPhoto { position:relative; margin:0; overflow:hidden; background:#fff; border:1px solid var(--line); min-height:0; }
.detailPhoto img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.detailPhoto:hover img { transform:scale(1.025); }
.detailPhoto figcaption { position:absolute; left:16px; bottom:16px; padding:10px 12px; background:#10171de8; color:#fff; font-size:11px; letter-spacing:.06em; }
.detailMain { grid-column:1; grid-row:2 / 4; }
.detailMain img { object-fit:contain; padding:20px; }
.canisterDetails>.detailPhoto:nth-of-type(2) { grid-column:2; grid-row:1 / 3; }
.canisterDetails>.detailPhoto:nth-of-type(3) { grid-column:3; grid-row:1 / 3; }
.detailOval { grid-column:2 / 4; grid-row:3; }
.ovalGallery { display:grid; grid-template-columns:1fr 1fr; width:100%; height:100%; }
.detailOval .ovalGallery img { width:100%; height:100%; object-fit:cover; object-position:center; }

.samovarShowcase { display:grid; grid-template-columns:1fr 1fr; min-height:570px; border:1px solid var(--line); background:#fff; }
.samovarPhoto { position:relative; display:grid; place-items:center; padding:44px; background:radial-gradient(circle at 50% 45%,#fff 0%,#f0f1ef 58%,#d9dedf 100%); border-right:1px solid var(--line); }
.samovarPhoto img { width:min(82%,460px); aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 24px 26px #35404730); }
.samovarPhoto>span { position:absolute; left:24px; bottom:20px; font-size:11px; color:#56616a; text-transform:uppercase; letter-spacing:.13em; }
.samovarProducts { display:flex; flex-direction:column; }
.samovarCard { display:grid; grid-template-columns:42px 1fr auto 44px; align-items:center; gap:18px; padding:28px; border-bottom:1px solid var(--line); }
.samovarCard .productNumber { color:#547785; font-size:11px; font-weight:700; }
.samovarCard p { margin:0 0 5px; font-size:12px; color:var(--muted); }
.samovarCard h3 { margin:0; font-size:32px; }
.samovarCard>a { width:42px; height:42px; border:1px solid var(--ink); display:grid; place-items:center; transition:.2s; }
.samovarCard>a:hover { background:var(--ink); color:#fff; }
.samovarSpecs { padding:30px; margin-top:auto; background:#f0f2f1; }
.samovarSpecs .kicker { margin:0 0 20px; }
.samovarSpecs dl { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; margin:0; }
.samovarSpecs dl div { display:flex; justify-content:space-between; gap:15px; padding:12px 0; border-top:1px solid #cfd5d7; }
.samovarSpecs dt { color:var(--muted); font-size:12px; }
.samovarSpecs dd { margin:0; font-size:13px; font-weight:700; }

.about { background:var(--dark); color:white; padding:110px 0; }
.aboutGrid { display:grid; grid-template-columns:1fr 1fr; gap:110px; }
.kicker.light { color:#8db5c4; }
.about h2 { max-width:530px; }
.aboutCopy>p { color:#b6bfc4; font-size:17px; line-height:1.7; margin:0 0 40px; }
.aboutCopy ul { list-style:none; margin:0; padding:0; }
.aboutCopy li { display:grid; grid-template-columns:1fr 1.2fr; gap:20px; padding:22px 0; border-top:1px solid #ffffff22; }
.aboutCopy li:last-child { border-bottom:1px solid #ffffff22; }
.aboutCopy li span { color:#909da4; font-size:13px; line-height:1.5; }

.contact { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding:110px 0; align-items:start; }
.contact>div>p:last-child { color:var(--muted); font-size:16px; line-height:1.6; max-width:470px; }
.contactLinks { border-top:1px solid var(--ink); }
.contactLinks a { padding:20px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; align-items:center; }
.contactLinks a:hover b { color:#4f7f91; }
.contactLinks span { font-size:12px; color:var(--muted); }
.contactLinks b { font-size:15px; }

footer { background:#e1e5e5; padding:45px 0; }
footer .shell { display:flex; align-items:center; gap:20px; }
footer img { width:78px; height:56px; object-fit:cover; mix-blend-mode:multiply; }
footer p { font-size:12px; color:var(--muted); line-height:1.5; }
footer a { margin-left:auto; font-size:13px; font-weight:700; }

@media (max-width:980px) {
  nav { display:none; }
  .heroGrid { grid-template-columns:1fr; }
  .heroCopy { padding-bottom:26px; }
  .heroVisual { min-height:500px; }
  .heroCanister { width:65%; max-height:400px; }
  .discOne { right:0; }
  .samovarBadge { left:9%; bottom:48px; }
  .made { right:11%; }
  .productGrid { grid-template-columns:repeat(2,1fr); }
  .canisterDetails { grid-template-columns:1fr 1fr; grid-template-rows:auto 430px 300px 300px; }
  .detailsIntro { grid-column:1 / 3; grid-row:1; }
  .detailMain { grid-column:1 / 3; grid-row:2; }
  .canisterDetails>.detailPhoto:nth-of-type(2) { grid-column:1; grid-row:3; }
  .canisterDetails>.detailPhoto:nth-of-type(3) { grid-column:2; grid-row:3; }
  .detailOval { grid-column:1 / 3; grid-row:4; }
  .aboutGrid,.contact { grid-template-columns:1fr; gap:50px; }
  .sectionHead { gap:30px; }
}

@media (max-width:720px) {
  .catalogTitle { align-items:start; flex-direction:column; gap:14px; }
  .samovarShowcase { grid-template-columns:1fr; }
  .samovarPhoto { min-height:450px; border-right:0; border-bottom:1px solid var(--line); }
}

@media (max-width:620px) {
  .shell { width:min(100% - 28px,1180px); }
  .nav { height:74px; }
  .brand span { display:none; }
  .brand img { width:62px; height:44px; }
  .navPhone { font-size:13px; }
  h1 { font-size:47px; }
  .lead { font-size:16px; }
  .heroActions { flex-direction:column; }
  .button { text-align:center; }
  .proof { gap:16px; justify-content:space-between; }
  .proof b { font-size:17px; }
  .proof span { font-size:10px; }
  .heroVisual { min-height:420px; }
  .heroCanister { width:78%; max-height:320px; }
  .samovarBadge { width:132px; left:0; bottom:35px; padding:9px; }
  .samovarBadge span { font-size:8px; }
  .made { width:78px; height:78px; right:0; bottom:34px; font-size:9px; }
  .sectionHead { grid-template-columns:1fr; margin-bottom:54px; }
  .catalog { padding:80px 0; }
  .catalogBlock + .catalogBlock { margin-top:80px; }
  .catalogTitle h3 { font-size:31px; }
  .productGrid { grid-template-columns:1fr; }
  .productImage { height:330px; }
  .canisterDetails { display:flex; flex-direction:column; margin-top:52px; }
  .detailsIntro { padding:0 0 18px; }
  .detailsIntro h3 { font-size:29px; }
  .detailPhoto { height:300px; }
  .detailMain { height:370px; }
  .detailOval { height:300px; }
  .samovarPhoto { min-height:380px; padding:28px; }
  .samovarCard { grid-template-columns:30px 1fr 42px; gap:12px; padding:22px 18px; }
  .samovarCard .price { grid-column:2; text-align:left; }
  .samovarCard>a { grid-column:3; grid-row:1 / span 2; }
  .samovarSpecs { padding:24px 18px; }
  .samovarSpecs dl { grid-template-columns:1fr; }
  .about { padding:80px 0; }
  .aboutCopy li { grid-template-columns:1fr; gap:7px; }
  .contact { padding:80px 0; }
  .contactLinks a { align-items:flex-start; flex-direction:column; gap:7px; }
  .contactLinks b { word-break:break-word; }
}
