@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@300;400;500;600&display=swap');

:root {
  --ink: #07090b;
  --ink-2: #0d1116;
  --navy: #0c1622;
  --steel: #aeb7c0;
  --steel-2: #7d8791;
  --ivory: #eee9df;
  --ivory-2: #d8d0c2;
  --paper: #f4f0e8;
  --blue: #7896b8;
  --champagne: #b5a487;
  --line-dark: rgba(255,255,255,.15);
  --line-light: rgba(8,10,12,.16);
  --sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --container: min(1460px, calc(100vw - 64px));
  --ease: cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin:0; color:#f3f2ef; background:var(--ink); font-family:var(--sans); font-weight:300; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img, video { display:block; width:100%; }
button, input, textarea { font:inherit; }
button { color:inherit; }
::selection { background:#c7d4e4; color:#0b1015; }

.container { width:var(--container); margin-inline:auto; }
.container.narrow { max-width:1050px; }
.section { position:relative; padding:150px 0; overflow:hidden; }
.section-dark { background:var(--ink); color:#f3f2ef; }
.section-navy { background:var(--navy); color:#f3f2ef; }
.section-ivory { background:var(--ivory); color:#111316; }
.section-paper { background:var(--paper); color:#111316; }
.rule { border:0; border-top:1px solid currentColor; opacity:.15; margin:0; }

.eyebrow { display:flex; align-items:center; gap:14px; font-size:11px; line-height:1; letter-spacing:.18em; text-transform:uppercase; font-weight:500; opacity:.72; }
.eyebrow::before { content:''; width:28px; height:1px; background:currentColor; opacity:.7; }
.display { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; line-height:.88; }
.display-xl { font-size:clamp(72px, 10.6vw, 190px); }
/* Заголовок первого экрана длиннее двух слов: при 10.6vw он занимал четыре строки
   и выталкивал кнопку за нижний край экрана. Меряем кегль высотой окна тоже. */
.hero-copy .display-xl { font-size:clamp(46px, min(8.6vw, 11vh), 130px); }
.display-lg { font-size:clamp(58px, 7.6vw, 126px); }
.display-md { font-size:clamp(44px, 5.5vw, 88px); }
.lead { font-size:clamp(20px, 1.7vw, 28px); line-height:1.45; font-weight:300; letter-spacing:-.02em; }
.copy { color:inherit; opacity:.72; font-size:15px; line-height:1.8; max-width:620px; }
.small { font-size:12px; line-height:1.6; opacity:.65; }
.num { font-variant-numeric:tabular-nums; }

.btn { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; padding:0 24px; border:1px solid currentColor; background:transparent; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:600; transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease); cursor:pointer; }
.btn:hover { background:#f2eee6; color:#0b0e11; border-color:#f2eee6; }
.btn.dark:hover { background:#0b0e11; color:#f2eee6; border-color:#0b0e11; }
.btn.ghost { border-color:transparent; padding-inline:0; min-height:auto; }
.btn.ghost:hover { background:transparent; color:inherit; opacity:.62; }

/* header */
.site-header { position:fixed; z-index:100; inset:0 0 auto; height:82px; transition:background .35s var(--ease), backdrop-filter .35s var(--ease), border-color .35s var(--ease); border-bottom:1px solid transparent; }
.site-header.scrolled { background:rgba(7,9,11,.76); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-color:rgba(255,255,255,.09); }
.header-inner { width:var(--container); height:100%; margin:auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; }
.brand { display:inline-flex; flex-direction:column; line-height:1; width:max-content; }
.brand-main { font-family:var(--serif); font-size:26px; letter-spacing:.03em; text-transform:uppercase; }
.brand-sub { margin-top:5px; font-size:8px; text-transform:uppercase; letter-spacing:.22em; opacity:.66; }
.main-nav { display:flex; align-items:center; gap:30px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:500; }
.main-nav a { position:relative; padding:8px 0; opacity:.72; transition:opacity .25s; }
.main-nav a::after { content:''; position:absolute; left:0; right:100%; bottom:2px; height:1px; background:currentColor; transition:right .3s var(--ease); }
.main-nav a:hover { opacity:1; }
.main-nav a:hover::after { right:0; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:18px; }
.header-phone { font-size:11px; letter-spacing:.06em; opacity:.75; }
.header-book { display:inline-flex; align-items:center; gap:10px; font-size:10px; text-transform:uppercase; letter-spacing:.13em; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:4px; }
.menu-toggle { display:none; width:42px; height:42px; border:0; background:transparent; padding:0; cursor:pointer; }
.menu-toggle span { display:block; width:26px; height:1px; background:#fff; margin:7px auto; transition:transform .25s,opacity .25s; }
.menu-open .menu-toggle span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
.mobile-menu { display:none; position:fixed; inset:0; z-index:90; background:#080b0e; padding:120px 32px 42px; }
.mobile-menu nav { display:flex; flex-direction:column; }
.mobile-menu nav a { font-family:var(--serif); font-size:clamp(44px,12vw,72px); line-height:1.03; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.mobile-menu-meta { position:absolute; left:32px; right:32px; bottom:34px; display:flex; justify-content:space-between; font-size:10px; text-transform:uppercase; letter-spacing:.12em; opacity:.6; }
.menu-open .mobile-menu { display:block; }

/* hero */
.hero { position:relative; min-height:100svh; background:#050709; overflow:hidden; }
.hero-media { position:absolute; inset:0; }
.hero-media > img, .hero-media > video,
.media-frame > img, .media-frame > video,
.video-tile > img, .video-tile > video { position:absolute; inset:0; }
.media-frame { aspect-ratio:1; }
video[hidden] { display:none; }
.hero-media video, .hero-media img { width:100%; height:100%; object-fit:cover; object-position:center center; }
.hero-media video { filter:grayscale(.96) saturate(.15) contrast(1.12) brightness(.62); transform:scale(1.025); }
.hero-media::after { content:''; position:absolute; inset:0; background:
  linear-gradient(90deg, rgba(2,4,6,.92) 0%, rgba(2,4,6,.70) 31%, rgba(2,4,6,.16) 63%, rgba(2,4,6,.15) 100%),
  linear-gradient(0deg, rgba(2,4,6,.72) 0%, transparent 35%, rgba(2,4,6,.18) 100%); }
.hero-inner { position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:155px 0 48px; }
.hero-copy { max-width:930px; padding-bottom:70px; }
.hero h1 { margin:24px 0 34px; max-width:920px; text-wrap:balance; }
.hero-sub { font-size:16px; line-height:1.7; max-width:520px; color:rgba(255,255,255,.72); }
.hero-actions { display:flex; flex-wrap:wrap; gap:18px; margin-top:34px; }
.hero-bottom { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; border-top:1px solid rgba(255,255,255,.18); padding-top:24px; }
.hero-brands { display:flex; gap:26px; flex-wrap:wrap; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.56); }
.hero-scroll { font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.5); writing-mode:vertical-rl; transform:rotate(180deg); }

/* editorial intro */
.intro-grid { display:grid; grid-template-columns:280px minmax(0,1fr); gap:8vw; align-items:start; }
.intro-statement { margin:0; max-width:1000px; }
.intro-copy { margin:56px 0 0 auto; max-width:520px; }

/* craft */
.craft-grid { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr); gap:28px; align-items:stretch; }
.media-frame { position:relative; overflow:hidden; background:#111; min-height:600px; }
.media-frame video, .media-frame img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08); }
.media-frame::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.45)); pointer-events:none; }
.media-caption { position:absolute; z-index:2; left:22px; right:22px; bottom:20px; display:flex; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.78); }
.craft-copy { display:flex; flex-direction:column; justify-content:space-between; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); padding:26px 0 30px; }
.craft-copy h2 { margin:22px 0; }
.craft-mini { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:40px; }
.craft-mini figure { margin:0; aspect-ratio:4/5; overflow:hidden; background:#111; }
.craft-mini img, .craft-mini video { width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05); }

/* services */
.services-head { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; margin-bottom:80px; }
.services-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:7vw; align-items:start; }
.service-list { border-top:1px solid var(--line-dark); }
.service-item { display:grid; grid-template-columns:54px minmax(0,1fr) auto; gap:22px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line-dark); transition:padding-left .3s var(--ease), opacity .3s; }
.service-item:hover { padding-left:12px; }
.service-item .index { font-size:10px; letter-spacing:.1em; opacity:.48; }
.service-item h3 { font-family:var(--serif); font-size:clamp(28px,2.8vw,48px); font-weight:400; letter-spacing:-.025em; margin:0; }
.service-item .meta { display:flex; align-items:center; gap:24px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; opacity:.6; }
.service-preview { position:sticky; top:118px; aspect-ratio:4/5; overflow:hidden; background:#13171c; }
.service-preview img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08); transition:opacity .25s var(--ease),transform .8s var(--ease); }
.service-preview:hover img { transform:scale(1.025); }
.service-preview-note { position:absolute; left:22px; right:22px; bottom:20px; z-index:2; display:flex; justify-content:space-between; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

/* brands */
.brands-head { display:grid; grid-template-columns:1fr .8fr; gap:10vw; align-items:end; }
.brand-cloud { margin-top:80px; border-top:1px solid var(--line-dark); }
.brand-row { display:grid; grid-template-columns:70px 1fr auto; gap:20px; align-items:center; min-height:92px; border-bottom:1px solid var(--line-dark); transition:padding-left .3s var(--ease), background .3s; }
.brand-row:hover { padding-left:14px; background:rgba(255,255,255,.025); }
.brand-row .brand-no { font-size:9px; opacity:.42; }
.brand-row .brand-name { font-family:var(--serif); font-size:clamp(33px,4vw,64px); font-weight:400; letter-spacing:-.03em; }
.brand-row .brand-tag { font-size:9px; letter-spacing:.12em; text-transform:uppercase; opacity:.48; }
.brands-note { max-width:800px; margin-top:34px; color:rgba(255,255,255,.5); font-size:11px; line-height:1.7; }

/* case */

/* process */
.process-grid { margin-top:70px; border-top:1px solid var(--line-light); }
.process-step { display:grid; grid-template-columns:90px 1fr 1fr; gap:4vw; padding:34px 0; border-bottom:1px solid var(--line-light); align-items:start; }
.process-step .n { font-size:10px; letter-spacing:.12em; opacity:.48; }
.process-step h3 { font-family:var(--serif); font-size:clamp(34px,3.6vw,58px); line-height:1; font-weight:400; margin:0; letter-spacing:-.03em; }
.process-step p { margin:4px 0 0; max-width:450px; font-size:14px; line-height:1.7; opacity:.66; }

/* video triptych */
.video-triptych { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:70px; }
.video-tile { position:relative; aspect-ratio:4/5; overflow:hidden; background:#12161a; }
.video-tile video, .video-tile img { width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08); }
.video-tile:nth-child(2) { transform:translateY(60px); }
.video-tile .label { position:absolute; left:18px; bottom:16px; z-index:2; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

/* pricing */
.price-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:10vw; align-items:start; }
.price-list { border-top:1px solid var(--line-dark); }
.price-row { display:grid; grid-template-columns:1fr auto; gap:24px; padding:22px 0; border-bottom:1px solid var(--line-dark); align-items:center; }
.price-row h3 { margin:0; font-family:var(--serif); font-weight:400; font-size:26px; }
.price-row span { font-size:11px; opacity:.56; }

/* FAQ */
.faq { margin-top:60px; border-top:1px solid var(--line-light); }
.faq-item { border-bottom:1px solid var(--line-light); }
.faq-q { width:100%; padding:26px 0; border:0; background:transparent; color:inherit; display:grid; grid-template-columns:1fr auto; gap:30px; text-align:left; cursor:pointer; align-items:center; }
.faq-q span:first-child { font-family:var(--serif); font-size:clamp(24px,2.5vw,36px); }
.faq-plus { font-size:24px; font-weight:200; transition:transform .3s var(--ease); }
.faq-a { display:grid; grid-template-rows:0fr; overflow:hidden; transition:grid-template-rows .45s var(--ease); }
.faq-item.open .faq-a { grid-template-rows:1fr; }
.faq-a-inner { min-height:0; overflow:hidden; padding:0 80px 0 0; max-width:760px; font-size:14px; line-height:1.75; opacity:.7; }
.faq-item.open .faq-a-inner { padding-bottom:28px; }
.faq-item.open .faq-plus { transform:rotate(45deg); }

/* contact */
.contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:end; }
.contact-title { margin:24px 0 0; }
.contact-panel { border-top:1px solid var(--line-dark); }
.contact-line { display:grid; grid-template-columns:120px 1fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line-dark); }
.contact-line dt { font-size:9px; text-transform:uppercase; letter-spacing:.12em; opacity:.42; }
.contact-line dd { margin:0; font-size:14px; line-height:1.6; }
.contact-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }

/* footer */
.site-footer { background:#050709; color:#f3f2ef; padding:82px 0 36px; }
.footer-grid { display:grid; grid-template-columns:1fr auto auto; gap:7vw; align-items:start; }
.footer-brand { font-family:var(--serif); font-size:clamp(42px,6vw,86px); line-height:.9; letter-spacing:-.04em; }
.footer-nav, .footer-meta { display:flex; flex-direction:column; gap:12px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; opacity:.66; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-top:30px; margin-top:70px; border-top:1px solid var(--line-dark); font-size:9px; text-transform:uppercase; letter-spacing:.1em; opacity:.4; }

/* inner pages */
.page-hero { min-height:72svh; position:relative; display:flex; align-items:flex-end; background:#080b0f; overflow:hidden; padding:160px 0 70px; }
.page-hero-media { position:absolute; inset:0; opacity:.42; }
.page-hero-media img, .page-hero-media video { width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.62); }
.page-hero-media::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,9,.9),rgba(5,7,9,.2)),linear-gradient(0deg,rgba(5,7,9,.85),transparent 55%); }
.page-hero-content { position:relative; z-index:2; width:var(--container); }
.page-hero h1 { margin:24px 0 0; max-width:1200px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:9px; text-transform:uppercase; letter-spacing:.11em; opacity:.5; margin-bottom:40px; }
.breadcrumbs a:hover { opacity:1; }
.inner-intro { display:grid; grid-template-columns:.55fr 1.45fr; gap:8vw; }
.content-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); }
.content-card { padding:44px; background:var(--ink); min-height:300px; display:flex; flex-direction:column; justify-content:space-between; }
.content-card h2,.content-card h3 { font-family:var(--serif); font-size:clamp(32px,3vw,48px); font-weight:400; line-height:1; margin:12px 0 28px; }
.content-card p { opacity:.63; font-size:13px; line-height:1.75; max-width:500px; }
.detail-layout { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.detail-sticky { position:sticky; top:120px; }
.detail-sticky img { aspect-ratio:4/5; object-fit:cover; filter:grayscale(1); }
.detail-copy > * + * { margin-top:32px; }
.detail-copy h2 { font-family:var(--serif); font-size:clamp(38px,4vw,68px); font-weight:400; letter-spacing:-.03em; line-height:1; }
.detail-copy p { font-size:15px; line-height:1.8; opacity:.7; }
.detail-list { border-top:1px solid var(--line-dark); }
.detail-list li { list-style:none; padding:16px 0; border-bottom:1px solid var(--line-dark); font-size:13px; opacity:.74; }
.brand-index-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-dark); border-left:1px solid var(--line-dark); }
.brand-index-card { min-height:210px; border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); padding:28px; display:flex; flex-direction:column; justify-content:space-between; transition:background .3s; }
.brand-index-card:hover { background:rgba(255,255,255,.03); }
.brand-index-card .name { font-family:var(--serif); font-size:35px; line-height:1; }
.price-accordion { border-top:1px solid var(--line-dark); }
.price-category { border-bottom:1px solid var(--line-dark); }
.price-category > button { width:100%; color:inherit; background:transparent; border:0; padding:28px 0; display:grid; grid-template-columns:1fr auto; align-items:center; text-align:left; cursor:pointer; }
.price-category > button span:first-child { font-family:var(--serif); font-size:36px; }
.price-category-body { display:none; padding-bottom:22px; }
.price-category.open .price-category-body { display:block; }
.price-table-row { display:grid; grid-template-columns:1fr auto; gap:20px; padding:14px 0; border-top:1px solid rgba(255,255,255,.08); font-size:12px; opacity:.72; }
.contact-form { display:grid; gap:16px; margin-top:34px; }
.field { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; padding:14px 0; outline:none; }
.field::placeholder { color:rgba(255,255,255,.42); }
textarea.field { min-height:90px; resize:vertical; }
.form-note { font-size:10px; opacity:.45; line-height:1.6; }
.toast { position:fixed; z-index:200; right:24px; bottom:24px; padding:16px 18px; background:#eee9df; color:#111; transform:translateY(120%); opacity:0; transition:.35s var(--ease); font-size:12px; }
.toast.show { transform:translateY(0); opacity:1; }

/* reveal */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.08s; }
.reveal-delay-2 { transition-delay:.16s; }

@media (max-width: 1100px) {
  :root { --container:min(100% - 40px, 1460px); }
  .main-nav, .header-phone { display:none; }
  .header-inner { grid-template-columns:1fr auto; }
  .header-actions { gap:8px; }
  .menu-toggle { display:block; }
  .intro-grid, .inner-intro { grid-template-columns:1fr; gap:40px; }
  .craft-grid, .services-layout, .price-layout, .contact-grid, .detail-layout { grid-template-columns:1fr; }
  .service-preview { position:relative; top:auto; aspect-ratio:16/8; }
  .brands-head, .services-head { grid-template-columns:1fr; gap:32px; }
  .process-step { grid-template-columns:60px 1fr; }
  .process-step p { grid-column:2; }
  .detail-sticky { position:relative; top:auto; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; margin-bottom:30px; }
  .brand-index-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 720px) {
  :root { --container:calc(100% - 32px); }
  .section { padding:92px 0; }
  .site-header { height:68px; }
  .brand-main { font-size:22px; }
  .header-book { display:none; }
  .hero-inner { padding:120px 0 28px; }
  .hero-copy { padding-bottom:52px; }
  .hero h1 { margin-top:18px; }
  .hero-sub { font-size:14px; max-width:90%; }
  .hero-actions { gap:10px; }
  .hero-actions .btn { width:100%; }
  .hero-bottom { grid-template-columns:1fr; }
  .hero-brands { gap:14px 18px; }
  .hero-scroll { display:none; }
  .hero-media video { object-position:61% center; }
  .display-xl { font-size:clamp(60px,20vw,92px); }
  .display-lg { font-size:clamp(48px,15vw,76px); }
  .display-md { font-size:clamp(40px,12vw,64px); }
  .lead { font-size:20px; }
  .intro-copy { margin-top:24px; }
  .media-frame { min-height:520px; }
  .craft-mini { grid-template-columns:1fr 1fr; }
  .service-item { grid-template-columns:38px 1fr auto; gap:10px; padding:22px 0; }
  .service-item .meta span:first-child { display:none; }
  .brand-row { grid-template-columns:34px 1fr; min-height:76px; }
  .brand-row .brand-tag { display:none; }
  .video-triptych { grid-template-columns:1fr; gap:12px; }
  .video-tile:nth-child(2) { transform:none; }
  .video-tile { aspect-ratio:4/4.8; }
  .process-step { grid-template-columns:44px 1fr; gap:16px; }
  .price-layout { gap:50px; }
  .faq-a-inner { padding-right:0; }
  .contact-line { grid-template-columns:1fr; gap:8px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; gap:12px; }
  .page-hero { min-height:62svh; padding:120px 0 48px; }
  .content-grid, .brand-index-grid { grid-template-columns:1fr; }
  .content-card { min-height:250px; padding:28px; }
  .detail-layout { gap:52px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  /* JS keeps all videos paused until an explicit user action. */
}

/* Shared spacing previously repeated in page markup. */
.mt-46 { margin-top:46px; }
.mt-34 { margin-top:34px; }
.mt-30 { margin-top:30px; }
.heading-margin-start { margin:24px 0 0; }
.mt-42 { margin-top:42px; }
.mt-110 { margin-top:110px; }
.mt-28 { margin-top:28px; }
.pt-0 { padding-top:0; }
.heading-margin-block { margin:24px 0; }
.mt-70 { margin-top:70px; }

/* Вводный блок: раньше слева стояла пустая колонка 280px, а весь текст жался
   справа. Теперь заголовок и текст занимают всю ширину, текст — в две колонки. */
.intro-wide { display:block; }
.intro-wide .eyebrow { margin-bottom:28px; }
.intro-wide .intro-statement { max-width:none; margin:0 0 56px; }
.intro-columns { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(28px,5vw,80px); align-items:start; }
.intro-columns p { margin:0; }

/* Заголовки разделов без соседней колонки — в одну строку на широком экране. */
.services-head-solo, .brands-head-solo { grid-template-columns:1fr; }
.one-line { max-width:none; }
@media (min-width:901px){
  .one-line { white-space:nowrap; }
  .services-head-solo .one-line { font-size:clamp(58px, 7.6vw, 126px); }
  .brands-head-solo .one-line { font-size:min(4.4vw, 74px); }
}
@media (max-width:900px){
  .intro-columns { grid-template-columns:1fr; gap:22px; }
}
