@font-face {
  font-family: 'Inter';
  src: url('fonts/inter-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant Garamond';
  src: url('fonts/cormorant-garamond-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

/* _base.css */
:root {
  --color-bg: #151217;
  --color-section: #221e25;
  --color-text: #f8f7f8;
  --color-muted: #b9b2bc;
  --color-accent: #a649d4;
  --color-accent-2: #5a4ec6;
  --color-accent-text: #fff;
  --color-line: rgba(248, 247, 248, .16);
  --color-line-strong: rgba(166, 73, 212, .48);
  --container: 1220px;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 40px;
  --space-5: 64px;
  --space-6: 96px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --shadow-panel: 0 26px 70px rgba(0, 0, 0, .24);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; overflow-x: hidden; background: var(--color-bg); color: var(--color-text); font: 400 16px/1.65 "Inter", Arial, sans-serif; }
img, svg { display: block; max-width: 100%; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 720px) { .container { width: min(calc(100% - 32px), var(--container)); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

/* _logo.css */
.logo-root { display: inline-flex; align-items: center; gap: 10px; height: 34px; color: var(--color-text); text-decoration: none; white-space: nowrap; }
.logo-mark { width: 26px; height: 26px; flex: 0 0 auto; color: var(--color-accent); }
.logo-name { font: 600 25px/1 "Cormorant Garamond", Georgia, serif; letter-spacing: .01em; }
@media (max-width: 720px) { .logo-root { height: 30px; } .logo-name { font-size: 23px; } }

/* _header.css */
.hdr-contact { height: 32px; border-bottom: 1px solid var(--color-line); background: #100e12; }
.hdr-contact__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.hdr-contact__inner a { color: var(--color-muted); font-size: 12px; text-decoration: none; transition: color 180ms cubic-bezier(.22,1,.36,1); }
.hdr-contact__inner a:hover { color: var(--color-text); }
.hdr-root { position: sticky; top: 0; z-index: 30; background: rgba(21,18,23,.96); backdrop-filter: blur(16px); box-shadow: 0 1px var(--color-line); transition: transform 180ms cubic-bezier(.22,1,.36,1), opacity 180ms cubic-bezier(.22,1,.36,1); }
.hdr-brand { height: 72px; }
.hdr-brand__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.hdr-cta, .hdr-mobile__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 22px; border: 1px solid var(--color-accent); border-radius: var(--radius-sm); color: var(--color-text); text-decoration: none; font-size: 14px; transition: background 180ms cubic-bezier(.22,1,.36,1), transform 180ms cubic-bezier(.22,1,.36,1); }
.hdr-cta:hover, .hdr-mobile__cta:hover { background: rgba(166,73,212,.16); transform: translateY(-1px); }
.hdr-nav-row { height: 44px; border-top: 1px solid var(--color-line); }
.hdr-nav { height: 44px; display: flex; align-items: center; gap: 32px; }
.hdr-nav a { color: var(--color-muted); text-decoration: none; font-size: 13px; transition: color 180ms cubic-bezier(.22,1,.36,1); }
.hdr-nav a:hover { color: var(--color-text); }
.hdr-burger, .hdr-mobile { display: none; }
@media (max-width: 720px) {
  .hdr-contact, .hdr-nav-row, .hdr-cta { display: none; }
  .hdr-brand { height: 64px; }
  .hdr-burger { display: grid; width: 44px; height: 44px; padding: 12px; place-content: center; gap: 6px; border: 0; background: transparent; color: var(--color-text); }
  .hdr-burger span { width: 20px; height: 1px; background: currentColor; transition: transform 180ms cubic-bezier(.22,1,.36,1); }
  .hdr-burger[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .hdr-burger[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .hdr-mobile { position: absolute; inset: 64px 0 auto; padding: 24px; background: var(--color-section); border-top: 1px solid var(--color-line); box-shadow: var(--shadow-panel); }
  .hdr-mobile.is-open { display: grid; gap: 16px; }
  .hdr-mobile nav { display: grid; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--color-line); }
  .hdr-mobile a { color: var(--color-text); text-decoration: none; }
  .hdr-mobile__cta { margin-top: 4px; }
}

/* _main.css */
.pg-main-hero { padding: clamp(78px, 10vw, 136px) 0 80px; }
.pg-main-hero__copy { max-width: 930px; text-align: center; }
.pg-main-hero__note { margin: 0 0 18px; color: var(--color-muted); font-size: 14px; }
.pg-main-hero h1 { max-width: 900px; margin: 0 auto; font: 500 clamp(52px, 8vw, 104px)/.88 "Cormorant Garamond", Georgia, serif; letter-spacing: -.035em; }
.pg-main-hero__copy > p:not(.pg-main-hero__note) { max-width: 680px; margin: 28px auto 0; color: var(--color-muted); font-size: clamp(16px, 2vw, 19px); }
.pg-main-action { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 30px; padding: 0 26px; border: 1px solid var(--color-accent); border-radius: var(--radius-sm); background: var(--color-accent); color: var(--color-accent-text); text-decoration: none; font-weight: 600; transition: transform 180ms cubic-bezier(.22,1,.36,1), background 180ms cubic-bezier(.22,1,.36,1); }
.pg-main-action:hover { transform: translateY(-1px); background: #9340bd; }
.pg-main-action--outline { margin: 0; background: transparent; }
.pg-main-hero__media { position: relative; width: min(calc(100% - 48px), 1080px); margin-top: 64px; padding: 18px; border: 1px solid var(--color-line-strong); }
.pg-main-hero__media img { width: 100%; aspect-ratio: 16/9; object-fit: contain; background: var(--color-bg); }
.pg-main-offers, .pg-main-cases, .pg-main-facts, .pg-main-cta, .pg-main-contacts { padding: clamp(72px, 10vw, 126px) 0; }
.pg-main-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: end; margin-bottom: 64px; }
.pg-main-heading h2, .pg-main-cases h2, .pg-main-facts > .container > h2, .pg-main-cta h2 { margin: 0; font: 500 clamp(42px, 6vw, 76px)/.96 "Cormorant Garamond", Georgia, serif; letter-spacing: -.02em; }
.pg-main-heading p { margin: 0; color: var(--color-muted); }
.pg-main-offers__grid, .pg-main-facts__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; }
.pg-main-offers__grid article, .pg-main-facts__grid article { padding: 30px 0; border-top: 1px solid var(--color-line); }
.pg-main-offers__grid h3, .pg-main-facts__grid h3, .pg-main-cases__rows h3 { margin: 0 0 10px; font: 500 clamp(25px, 3vw, 34px)/1.05 "Cormorant Garamond", Georgia, serif; }
.pg-main-offers__grid p, .pg-main-facts__grid p, .pg-main-cases__rows p { margin: 0; color: var(--color-muted); }
.pg-main-cases { background: #eee9ef; color: #201c22; }
.pg-main-cases__layout { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; }
.pg-main-cases__rows article { padding: 28px 0; border-top: 1px solid rgba(32,28,34,.22); }
.pg-main-cases__rows article:first-child { border-top: 0; padding-top: 0; }
.pg-main-cases__rows p { color: #5b535e; }
.pg-main-facts > .container > h2 { max-width: 700px; margin-bottom: 54px; }
.pg-main-cta { padding-block: 76px; border-block: 1px solid var(--color-line-strong); background: rgba(90,78,198,.13); }
.pg-main-cta__grid { display: grid; grid-template-columns: 8fr 4fr; gap: 64px; align-items: center; }
.pg-main-cta p { max-width: 650px; margin: 18px 0 0; color: var(--color-muted); }
.pg-main-cta .pg-main-action { justify-self: end; }
.pg-main-contacts { padding-block: 68px; }
.pg-main-contacts__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.pg-main-contacts__grid div { display: grid; gap: 8px; padding-top: 18px; border-top: 1px solid var(--color-line); }
.pg-main-contacts__grid span { color: var(--color-muted); font-size: 13px; }
.pg-main-contacts__grid a { color: var(--color-text); text-decoration: none; font: 500 clamp(24px, 3.6vw, 44px)/1 "Cormorant Garamond", Georgia, serif; }
.pg-main-reveal { opacity: 0; transform: translateY(4px); transition: opacity 400ms cubic-bezier(.22,1,.36,1), transform 400ms cubic-bezier(.22,1,.36,1); }
.pg-main-reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 760px) {
  .pg-main-hero { padding-top: 64px; }
  .pg-main-hero h1 { font-size: clamp(46px, 15vw, 70px); }
  .pg-main-hero__media { width: min(calc(100% - 32px), 1080px); margin-top: 42px; padding: 8px; }
  .pg-main-heading, .pg-main-cases__layout, .pg-main-cta__grid { grid-template-columns: 1fr; gap: 28px; }
  .pg-main-offers__grid, .pg-main-facts__grid, .pg-main-contacts__grid { grid-template-columns: 1fr; }
  .pg-main-cta .pg-main-action { justify-self: start; }
}

/* _catalog.css */
.pg-catalog-intro, .pg-catalog-grid, .pg-catalog-cases, .pg-catalog-process, .pg-catalog-cta, .pg-catalog-contacts { padding: clamp(72px, 10vw, 128px) 0; }
.pg-catalog-intro__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: end; }
.pg-catalog-intro h1 { margin: 0; font: 500 clamp(52px, 7vw, 92px)/.9 "Cormorant Garamond", Georgia, serif; letter-spacing: -.035em; }
.pg-catalog-intro p { max-width: 620px; margin: 0 0 14px; color: var(--color-muted); font-size: 18px; }
.pg-catalog-grid { background: rgba(166,73,212,.16); }
.pg-catalog-grid h2, .pg-catalog-cases h2, .pg-catalog-process h2, .pg-catalog-cta h2 { margin: 0 0 50px; font: 500 clamp(42px, 6vw, 74px)/.96 "Cormorant Garamond", Georgia, serif; }
.pg-catalog-grid__items { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--color-line-strong); border-radius: var(--radius-md); overflow: hidden; }
.pg-catalog-grid__items article { display: grid; align-content: start; min-height: 330px; padding: 38px; background: var(--color-section); border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
.pg-catalog-grid__items article:nth-child(2n) { border-right: 0; }
.pg-catalog-grid__items article:nth-child(n+3) { border-bottom: 0; }
.pg-catalog-grid__items h3 { margin: 0 0 16px; font: 500 clamp(28px, 3vw, 38px)/1.04 "Cormorant Garamond", Georgia, serif; }
.pg-catalog-grid__items p { margin: 0; color: var(--color-muted); }
.pg-catalog-grid__items strong { margin-top: auto; padding-top: 34px; color: var(--color-text); font-size: 20px; font-weight: 500; }
.pg-catalog-grid__items a { margin-top: 12px; color: var(--color-accent); text-decoration: none; font-size: 14px; }
.pg-catalog-cases { background: #eee9ef; color: #201c22; }
.pg-catalog-cases__layout { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; }
.pg-catalog-cases h2 { max-width: 430px; }
.pg-catalog-cases__rows article { padding: 30px 0; border-top: 1px solid rgba(32,28,34,.22); }
.pg-catalog-cases__rows article:first-child { padding-top: 0; border-top: 0; }
.pg-catalog-cases__rows h3 { margin: 0 0 14px; font: 500 clamp(27px, 3vw, 38px)/1.05 "Cormorant Garamond", Georgia, serif; }
.pg-catalog-cases__rows p { margin: 5px 0 0; color: #5b535e; }
.pg-catalog-cases__rows b { color: #201c22; font-weight: 600; }
.pg-catalog-process h2 { max-width: 650px; }
.pg-catalog-process__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; margin: 0; padding: 0; list-style: none; }
.pg-catalog-process__grid li { display: grid; grid-template-columns: 52px 1fr; gap: 0 18px; padding: 30px 0; border-top: 1px solid var(--color-line); }
.pg-catalog-process__grid span { grid-row: 1 / span 2; color: var(--color-accent); font-size: 13px; }
.pg-catalog-process__grid h3 { margin: 0 0 8px; font: 500 30px/1.05 "Cormorant Garamond", Georgia, serif; }
.pg-catalog-process__grid p { margin: 0; color: var(--color-muted); }
.pg-catalog-cta { padding-block: 84px; text-align: center; background: var(--color-accent-2); }
.pg-catalog-cta .container { max-width: 860px; }
.pg-catalog-cta h2 { margin-bottom: 16px; }
.pg-catalog-cta p { margin: 0; color: rgba(255,255,255,.78); }
.pg-catalog-cta a { display: inline-flex; align-items: center; min-height: 48px; margin-top: 28px; padding: 0 24px; border: 1px solid rgba(255,255,255,.65); border-radius: var(--radius-sm); color: #fff; text-decoration: none; transition: transform 180ms cubic-bezier(.22,1,.36,1), background 180ms cubic-bezier(.22,1,.36,1); }
.pg-catalog-cta a:hover { transform: translateY(-1px); background: rgba(255,255,255,.1); }
.pg-catalog-contacts__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.pg-catalog-contacts__grid div { display: grid; gap: 8px; padding-top: 18px; border-top: 1px solid var(--color-line); }
.pg-catalog-contacts__grid span { color: var(--color-muted); font-size: 13px; }
.pg-catalog-contacts__grid a { color: var(--color-text); text-decoration: none; font: 500 clamp(24px, 3.6vw, 44px)/1 "Cormorant Garamond", Georgia, serif; }
.pg-catalog-reveal { opacity: 0; transform: translateY(4px); transition: opacity 400ms cubic-bezier(.22,1,.36,1), transform 400ms cubic-bezier(.22,1,.36,1); }
.pg-catalog-reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 760px) {
  .pg-catalog-intro__grid, .pg-catalog-cases__layout { grid-template-columns: 1fr; gap: 30px; }
  .pg-catalog-grid__items, .pg-catalog-process__grid, .pg-catalog-contacts__grid { grid-template-columns: 1fr; }
  .pg-catalog-grid__items article { min-height: 290px; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .pg-catalog-grid__items article:nth-child(n+3) { border-bottom: 1px solid var(--color-line); }
  .pg-catalog-grid__items article:last-child { border-bottom: 0; }
}

/* _contact-form.css */
.frm-root { padding: clamp(72px, 10vw, 132px) 0; background: var(--color-section); }
.frm-shell { width: min(calc(100% - 48px), 820px); }
.frm-intro { margin-bottom: 38px; }
.frm-intro h2 { margin: 0 0 8px; font: 500 clamp(42px, 6vw, 72px)/.98 "Cormorant Garamond", Georgia, serif; }
.frm-intro p { margin: 0; color: var(--color-muted); }
.frm-form { display: grid; gap: 30px; padding: 38px; background: #1a161c; border: 1px solid var(--color-line); border-radius: var(--radius-md); box-shadow: var(--shadow-panel); }
.frm-field { display: grid; gap: 8px; color: var(--color-muted); font-size: 13px; }
.frm-field input, .frm-field textarea { width: 100%; border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; padding: 10px 0 14px; outline: 0; background: transparent; color: var(--color-text); font: inherit; }
.frm-field textarea { min-height: 140px; resize: vertical; }
.frm-field input:focus, .frm-field textarea:focus { border-bottom: 2px solid var(--color-accent); padding-bottom: 13px; }
.frm-field input::placeholder, .frm-field textarea::placeholder { color: #847d87; }
.frm-submit { width: 210px; min-height: 48px; border: 1px solid var(--color-accent); border-radius: var(--radius-sm); background: var(--color-accent); color: var(--color-accent-text); font: 600 14px/1 "Inter", Arial, sans-serif; cursor: pointer; transition: transform 180ms cubic-bezier(.22,1,.36,1), background 180ms cubic-bezier(.22,1,.36,1); }
.frm-submit:hover { transform: translateY(-1px); background: #9340bd; }
.frm-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--color-muted); font-size: 12px; }
.frm-consent input { margin-top: 3px; accent-color: var(--color-accent); }
.frm-success { margin: 0; color: var(--color-text); }
.frm-form.is-invalid input:invalid, .frm-form.is-invalid textarea:invalid { border-bottom-color: #e77e90; }
@media (max-width: 720px) { .frm-shell { width: min(calc(100% - 32px), 820px); } .frm-form { padding: 24px 20px; } .frm-submit { width: 100%; } }

/* _footer.css */
.ftr-root { padding: 80px 0 32px; border-top: 1px solid var(--color-line); background: #100e12; }
.ftr-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 54px 72px; }
.ftr-brand { display: grid; justify-items: start; gap: 24px; }
.ftr-brand p { max-width: 520px; margin: 0; color: var(--color-muted); }
.ftr-nav { display: flex; gap: 28px; }
.ftr-nav a { color: var(--color-text); text-decoration: none; font-size: 14px; }
.ftr-panel { display: grid; align-content: center; gap: 12px; padding: 30px; background: var(--color-section); border-radius: var(--radius-md); }
.ftr-panel span { color: var(--color-muted); font-size: 13px; }
.ftr-panel a { color: var(--color-text); text-decoration: none; font: 500 clamp(18px, 2vw, 25px)/1.2 "Cormorant Garamond", Georgia, serif; }
.ftr-legal, .ftr-copy { padding-top: 24px; border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: 12px; }
.ftr-legal { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.ftr-legal b { color: inherit; font-weight: 400; }
.ftr-copy { text-align: right; }
@media (max-width: 760px) { .ftr-root { padding-top: 56px; } .ftr-grid { grid-template-columns: 1fr; gap: 32px; } .ftr-panel { order: 2; } .ftr-nav { order: 3; flex-direction: column; gap: 12px; } .ftr-legal { order: 4; } .ftr-copy { order: 5; text-align: left; } }
