:root {
  color-scheme: light;
  --ink: #121212;
  --paper: #f0ece3;
  --paper-bright: #fffaf1;
  --blue: #2742e7;
  --acid: #d7ff45;
  --orange: #ff5b35;
  --line: rgba(18, 18, 18, .2);
  --sans: Arial, "Noto Sans Armenian", "DejaVu Sans", sans-serif;
  --serif: Georgia, "Noto Serif Armenian", "DejaVu Serif", serif;
  --mono: "Courier New", "Noto Sans Armenian", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; overflow-x: clip; font-family: var(--sans); color: var(--ink); background: var(--paper); }
body, button, a { font-size: 16px; }
button, a { font-family: inherit; }
a { color: inherit; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
h1, h2, h3, p, blockquote { margin-top: 0; }
button { color: inherit; }
section { content-visibility: auto; contain-intrinsic-size: auto 900px; }
.studio-hero, .concept-page main > section:first-child { content-visibility: visible; contain-intrinsic-size: none; }
.skip-link { position: fixed; z-index: 200; left: 16px; top: 12px; padding: 10px 14px; transform: translateY(-180%); background: var(--acid); color: var(--ink); font-weight: 800; }
.skip-link:focus { transform: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--acid); outline-offset: 4px; }
.eyebrow { display: block; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }

/* Studio */
.studio-page {
  --hero-leading: .92;
  --display-leading: .95;
  --display-tracking: -.068em;
  background: var(--paper);
}
.studio-page h1, .studio-page h2 {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
html[lang="hy"] .studio-page {
  --hero-leading: 1.02;
  --display-leading: 1.04;
  --display-tracking: -.045em;
}
html[lang="ru"] .studio-page h2 { font-size: clamp(46px, 7vw, 106px); }
html[lang="hy"] .studio-page h1 { font-size: clamp(64px, 9vw, 140px); }
html[lang="hy"] .studio-page h2 { font-size: clamp(42px, 5.4vw, 84px); }
.studio-header { position: sticky; z-index: 80; top: 0; min-height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 0 clamp(18px, 3vw, 48px); border-bottom: 1px solid var(--line); background: rgba(240, 236, 227, .94); backdrop-filter: blur(14px); }
.wordmark { width: max-content; justify-self: start; display: grid; justify-items: center; align-content: center; gap: 7px; text-decoration: none; }
.wordmark strong { font-size: 20px; font-weight: 900; line-height: 1; letter-spacing: -.055em; }
.wordmark small { display: block; padding-left: .08em; font-size: 7px; font-weight: 800; line-height: 1; letter-spacing: .15em; text-align: center; text-transform: uppercase; }
.studio-nav { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 26px); }
.studio-nav a { font-size: 12px; font-weight: 900; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.language-switch { justify-self: end; display: flex; align-items: center; gap: 3px; }
.language-switch a { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid transparent; font-size: 11px; font-weight: 900; text-decoration: none; }
.language-switch a[aria-current="page"] { background: var(--ink); color: var(--paper); }
.menu-button { display: none; min-width: 44px; min-height: 44px; border: 1px solid var(--ink); background: transparent; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.menu-close { display: none; }

.studio-hero { position: relative; min-height: calc(100svh - 72px); padding: clamp(22px, 3vw, 48px); isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-kicker { font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.studio-hero h1 { position: relative; z-index: 3; margin: 5.5vh 0 2.5vh; display: flex; flex-direction: column; font-size: clamp(72px, 11.7vw, 180px); line-height: var(--hero-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.hero-line-2 { align-self: center; }
.hero-line-3 { align-self: end; color: var(--blue); }
.hero-intro { position: relative; z-index: 6; width: min(710px, 60vw); margin-left: auto; display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 34px; align-items: end; }
.hero-intro p { margin: 0; font-size: clamp(17px, 1.35vw, 22px); line-height: 1.3; }
.hero-actions { display: grid; gap: 14px; }
.signal-button { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 17px; background: var(--acid); font-size: 12px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.text-link { font-size: 12px; font-weight: 900; text-decoration-thickness: 1px; text-underline-offset: 5px; text-transform: uppercase; }
.studio-hero-image { position: absolute; z-index: 1; left: 2vw; bottom: -4vw; width: min(31vw, 470px); aspect-ratio: 1; clip-path: polygon(4% 0, 100% 8%, 93% 100%, 0 91%); transform: rotate(-4deg); background: var(--ink); }
.studio-hero-image::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); }
.studio-hero-image img { object-position: 78% center; }
.hero-price { position: absolute; z-index: 8; right: 3vw; bottom: 2.5vw; display: grid; min-width: 228px; padding: 14px 17px; transform: rotate(2deg); background: var(--ink); color: var(--paper); }
.hero-price small, .hero-price span { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-price strong { margin: 7px 0 5px; font-size: 28px; letter-spacing: -.04em; }
.hero-orbit { position: absolute; right: -85px; top: 42%; width: 270px; height: 270px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; transform: rotate(76deg); font-size: 10px; font-weight: 900; letter-spacing: .14em; }

.proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.proof-strip > div { min-height: 150px; display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 24px clamp(18px, 3vw, 48px); border-right: 1px solid var(--line); }
.proof-strip > div:last-child { border-right: 0; }
.proof-strip strong { font-size: clamp(42px, 5vw, 78px); line-height: .8; letter-spacing: -.065em; }
.proof-strip span { max-width: 120px; font-size: 11px; font-weight: 800; line-height: 1.15; text-align: right; text-transform: uppercase; }

.quick-flow-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(42px, 8vw, 130px); padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--acid); }
.quick-flow-section header { align-self: start; }
.quick-flow-section h2 { max-width: 780px; margin: 15px 0 28px; font-size: clamp(42px, 6.7vw, 102px); line-height: var(--display-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.quick-flow-section header p { max-width: 560px; font-size: 18px; line-height: 1.4; }
.quick-flow-section ol { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.quick-flow-section li { display: grid; grid-template-columns: 58px .55fr 1fr; gap: 22px; align-items: baseline; min-height: 150px; padding: 24px 0; border-bottom: 1px solid var(--ink); }
.quick-flow-section li > span { font: 700 12px/1 var(--mono); }
.quick-flow-section li h3 { margin: 0; font-size: clamp(24px, 2.6vw, 40px); letter-spacing: -.05em; }
.quick-flow-section li p { margin: 0; line-height: 1.45; }

.directions-section, .process-section, .pricing-section, .faq-section { padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); }
.section-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 9vw, 150px); align-items: end; margin-bottom: 58px; }
.section-intro h2, .benefit-section h2, .faq-section h2 { margin: 12px 0 0; max-width: 980px; font-size: clamp(48px, 7.6vw, 118px); line-height: var(--display-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.section-intro > p, .section-intro > div > p { max-width: 540px; margin-bottom: 14px; font-size: 18px; line-height: 1.35; }
.section-intro small { display: block; max-width: 560px; padding-top: 16px; border-top: 1px solid var(--line); color: #5c5a55; font-size: 12px; line-height: 1.4; }

.concept-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 56px 18px; }
.concept-card { grid-column: span 6; min-width: 0; text-decoration: none; }
.concept-card:nth-child(3n + 1) { grid-column: span 7; }
.concept-card:nth-child(3n + 2) { grid-column: span 5; }
.concept-card:nth-child(3n) { grid-column: 3 / span 8; }
.preview-shell { overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 0 16px 42px rgba(35, 26, 15, .08); transition: transform .25s ease, box-shadow .25s ease; }
.concept-card:hover .preview-shell { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(35, 26, 15, .16); }
.preview-browser { height: 28px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; background: #f5f3ef; color: #68645e; font: 700 9px/1 var(--mono); letter-spacing: .08em; }
.preview { position: relative; height: auto; aspect-ratio: 1.5; overflow: hidden; }
.preview-image { position: absolute; inset: 0; }
.preview-copy, .preview-top { position: absolute; z-index: 3; }
.concept-meta { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: start; padding-top: 14px; }
.concept-meta > span { color: #65625d; font: 700 11px/1 var(--mono); }
.concept-meta h3 { margin: 0; font-family: var(--serif); font-size: 25px; line-height: 1; letter-spacing: -.035em; }
.concept-meta p { margin: 6px 0 0; color: #65625d; font-size: 12px; }
.concept-meta b { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.concept-meta .concept-fit, .concept-meta .concept-structure { grid-column: 2 / -1; display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 12px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--ink); line-height: 1.35; }
.concept-meta .concept-fit small, .concept-meta .concept-structure small { color: #77736c; font: 800 9px/1.4 var(--sans); letter-spacing: .08em; text-transform: uppercase; }

.preview-heritage { background: #201610; color: #fff4df; font-family: var(--serif); }
.preview-heritage .preview-image::after, .preview-wine::after, .preview-rooftop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 12, 8, .82), transparent 70%); }
.preview-heritage .preview-top { left: 16px; right: 16px; top: 14px; display: flex; justify-content: space-between; align-items: center; font: 700 9px/1 var(--sans); text-transform: uppercase; }
.preview-heritage .preview-top b { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.preview-heritage .preview-copy { left: 18px; bottom: 18px; }
.preview-heritage small, .preview-wine small { display: block; color: #f0a757; font: 800 9px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.preview-heritage strong { display: block; margin-top: 8px; font-size: clamp(30px, 5vw, 70px); line-height: .78; letter-spacing: -.07em; }

.preview-coffee { display: grid; grid-template-columns: 52% 48%; background: #f6f0e2; color: #183cc0; }
.preview-coffee .preview-image { position: relative; }
.preview-coffee .preview-copy { position: relative; padding: 15px; display: flex; flex-direction: column; }
.preview-coffee .preview-copy b { font-size: 22px; letter-spacing: -.2em; }
.preview-coffee .preview-copy small { margin-top: auto; color: #f25c32; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.preview-coffee .preview-copy strong { margin-top: 5px; color: #111; font-size: clamp(27px, 4vw, 57px); line-height: .76; letter-spacing: -.08em; }
.preview-coffee .preview-time { position: absolute; z-index: 4; right: calc(48% - 23px); bottom: 14px; width: 47px; height: 47px; display: grid; place-items: center; border-radius: 50%; background: #ff653d; color: #fff; font-size: 9px; font-weight: 900; }

.preview-street { background: #ff5d32; font-family: Impact, "Arial Black", var(--sans); }
.preview-street .preview-image { top: 30px; bottom: 58px; height: auto; }
.preview-street .preview-street-head, .preview-basalt .preview-street-head { height: 30px; display: flex; justify-content: space-between; align-items: center; padding: 0 10px; border-bottom: 2px solid #111; font: 800 9px/1 var(--sans); }
.preview-street .preview-ticker { position: absolute; z-index: 3; left: 0; right: 0; bottom: 46px; height: 18px; overflow: hidden; padding: 4px 8px; background: #111; color: #fff7df; font: 800 8px/1 var(--sans); white-space: nowrap; }
.preview-street > strong { position: absolute; z-index: 3; left: 10px; bottom: 5px; font-size: clamp(25px, 4vw, 54px); line-height: .72; letter-spacing: -.04em; }

.preview-bakery { background: #ead6b4; color: #55291e; font-family: var(--serif); }
.preview-bakery .preview-copy { left: 16px; top: 16px; width: 42%; }
.preview-bakery .preview-copy small { display: block; font: 800 8px/1 var(--sans); letter-spacing: .12em; }
.preview-bakery .preview-copy strong { display: block; margin: 8px 0 12px; color: #b8422c; font-size: clamp(28px, 5vw, 66px); font-style: italic; line-height: .75; }
.preview-bakery .preview-copy span { font-size: 10px; }
.preview-bakery .preview-image { left: 44%; border-radius: 46% 0 0 46%; }
.preview-bakery .preview-card { position: absolute; z-index: 4; right: 12px; bottom: 12px; padding: 10px 12px; background: #fff8e9; box-shadow: 4px 4px 0 #b8422c; font: 800 8px/1.5 var(--sans); }

.preview-wine { background: #210808; color: #f7ead9; }
.preview-wine aside { position: absolute; z-index: 4; inset: 0 auto 0 0; width: 48px; display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 14px 0; border-right: 1px solid rgba(255,255,255,.35); font: 700 8px/1 var(--sans); }
.preview-wine aside b { margin-bottom: auto; font-family: var(--serif); font-size: 19px; }
.preview-wine aside span { writing-mode: vertical-rl; transform: rotate(180deg); }
.preview-wine .preview-copy { left: 70px; bottom: 18px; }
.preview-wine .preview-copy strong { display: block; margin-top: 6px; font: 400 clamp(48px, 8vw, 105px)/.7 var(--serif); }

.preview-basalt { background: #171717; color: #eee8db; font-family: var(--mono); }
.preview-basalt .preview-street-head { border-color: #777; }
.preview-basalt .preview-image { left: 0; right: 43%; top: 31px; }
.preview-basalt .preview-copy { left: 60%; right: 10px; top: 50px; }
.preview-basalt .preview-copy small { color: #ff5238; font-size: 8px; }
.preview-basalt .preview-copy strong { display: block; margin-top: 18px; font: 900 clamp(21px, 3.5vw, 47px)/.78 var(--sans); }

.preview-rooftop { color: #fff; }
.preview-rooftop::after { background: linear-gradient(180deg, rgba(12,35,74,.22), transparent 48%, rgba(12,35,74,.34)); }
.preview-rooftop .preview-top { left: 15px; right: 15px; top: 14px; display: flex; justify-content: space-between; font-size: 9px; letter-spacing: .1em; }
.preview-rooftop .preview-copy { left: 16px; bottom: 16px; max-width: 65%; }
.preview-rooftop .preview-copy small { color: #ffe0a2; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.preview-rooftop .preview-copy strong { display: block; margin-top: 5px; font-size: clamp(22px, 3.7vw, 49px); line-height: .86; letter-spacing: -.055em; }

.preview-garden { display: grid; grid-template-columns: 40% 60%; background: #d9e4cd; color: #174d30; }
.preview-garden .preview-image { position: relative; border-radius: 45% 0 0 45%; }
.preview-garden .preview-copy { position: relative; padding: 16px; }
.preview-garden .preview-copy b { display: block; font-size: 12px; }
.preview-garden .preview-copy strong { display: block; color: #d94b35; font: 800 clamp(53px, 9vw, 120px)/.72 var(--serif); }
.preview-garden .preview-copy span { display: block; margin-top: 20px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.preview-garden i { position: absolute; z-index: 4; left: 33%; bottom: 12px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #174d30; color: #fff; font: normal 18px/1 var(--serif); }

.preview-gelato { background: #1547ca; color: #fff4dc; font-family: "Arial Black", var(--sans); }
.preview-gelato .preview-image { left: 40%; }
.preview-gelato .preview-top { left: 12px; right: 12px; top: 12px; display: flex; justify-content: space-between; font-size: 9px; }
.preview-gelato .preview-top b { color: #ffd52b; font-size: 17px; transform: rotate(-4deg); }
.preview-gelato > strong { position: absolute; z-index: 4; left: 12px; top: 42%; font-size: clamp(24px, 4vw, 52px); line-height: .75; letter-spacing: -.06em; }
.preview-gelato i { position: absolute; z-index: 5; right: 12px; bottom: 12px; width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; background: #ff5a42; font-style: normal; }

.benefit-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--ink); color: var(--paper); }
.benefit-section header p { max-width: 520px; color: rgba(240,236,227,.68); font-size: 18px; line-height: 1.4; }
.benefit-section header > a { display: inline-block; margin-top: 22px; color: var(--acid); font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; text-underline-offset: 5px; }
.benefit-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.2); }
.benefit-grid article { min-height: 230px; padding: 22px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.benefit-grid article:nth-child(2n) { border-right: 0; }
.benefit-grid span { color: var(--acid); font: 700 12px/1 var(--mono); }
.benefit-grid h3 { margin: 70px 0 10px; font-size: 23px; letter-spacing: -.035em; }
.benefit-grid p { max-width: 300px; margin: 0; color: rgba(240,236,227,.68); font-size: 13px; line-height: 1.4; }

.process-section { background: #dcd4c6; }
.process-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.process-list li { display: grid; grid-template-columns: 80px .7fr 1fr; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.process-list span { font: 700 13px/1 var(--mono); }
.process-list h3 { margin: 0; font-size: clamp(24px, 3vw, 44px); letter-spacing: -.05em; }
.process-list p { max-width: 580px; margin: 0; color: #5e5b55; line-height: 1.45; }

.pricing-section { background: var(--paper-bright); }
.package-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ink); border: 1px solid var(--ink); }
.package { min-height: 590px; display: flex; flex-direction: column; padding: clamp(24px, 4vw, 60px); background: var(--paper-bright); }
.package-1 { background: var(--blue); color: #fff; }
.package > span { font: 700 12px/1 var(--mono); }
.package h3 { margin: 64px 0 12px; font-size: clamp(34px, 5vw, 72px); line-height: 1; letter-spacing: -.055em; text-wrap: balance; }
.package > strong { font-size: clamp(30px, 4vw, 58px); letter-spacing: -.055em; }
.package > p { max-width: 490px; margin: 20px 0; color: #5d5952; font-size: 14px; line-height: 1.4; }
.package-1 > p { color: rgba(255,255,255,.72); }
.package ul { list-style: none; margin: auto 0 28px; padding: 0; }
.package li { padding: 10px 0; border-top: 1px solid currentColor; font-size: 13px; }
.package-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.package-actions a { width: max-content; font-size: 11px; font-weight: 900; text-transform: uppercase; text-underline-offset: 5px; }
.package-actions a:first-child { padding: 13px 15px; border: 1px solid currentColor; text-decoration: none; }
.extras { margin-top: 48px; border-top: 2px solid var(--ink); }
.extras h3 { margin: 0; padding: 18px 0; font-size: 13px; text-transform: uppercase; }
.extras > div { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 17px 0; border-top: 1px solid var(--line); }
.extras > div span { font-size: 14px; }
.extras > div strong { font-size: clamp(16px, 2vw, 25px); letter-spacing: -.035em; text-align: right; }
.pricing-fine { max-width: 760px; margin: 28px 0 0; color: #605d56; font-size: 12px; line-height: 1.5; }

.faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 76px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 16px; cursor: pointer; font-size: 18px; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font: 700 11px/1 var(--mono); }
.faq-list summary b { font-size: 26px; font-weight: 400; transition: transform .2s ease; }
.faq-list details[open] summary b { transform: rotate(45deg); }
.faq-list details p { max-width: 650px; margin: -4px 0 22px 58px; color: #5c5953; line-height: 1.5; }

.contact-section { display: grid; grid-template-columns: .35fr 1.05fr .6fr; gap: 44px; min-height: 590px; padding: clamp(56px, 7vw, 110px) clamp(16px, 3vw, 48px); background: var(--orange); color: var(--ink); }
.contact-section > span { font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contact-section h2 { margin: 0; font-size: clamp(56px, 8.5vw, 132px); line-height: var(--display-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.contact-section > div { align-self: end; }
.contact-section > div > p:first-child { max-width: 500px; font-size: 18px; line-height: 1.4; }
.contact-actions { display: grid; gap: 10px; }
.contact-actions a { min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; border: 1px solid var(--ink); font-size: 12px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.contact-actions a:first-child { background: var(--ink); color: var(--paper); }
.contact-section small { font-size: 11px; }
.studio-footer, .demo-footer { min-height: 110px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px clamp(16px, 3vw, 48px); background: var(--ink); color: var(--paper); }
.footer-brand { display: grid; gap: 7px; }
.footer-brand > a, .demo-footer > a { font-weight: 900; text-decoration: none; }
.footer-brand > a:last-child { font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.footer-brand > span, .demo-footer > span { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.studio-footer > nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; }
.studio-footer > nav a { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; text-underline-offset: 5px; }
.studio-footer .language-switch a { color: var(--paper); }
.studio-footer .language-switch a[aria-current="page"] { background: var(--paper); color: var(--ink); }

.telegram-fixed { position: fixed; z-index: 100; right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); min-height: 52px; display: flex; align-items: center; gap: 28px; padding: 0 18px; background: var(--blue); color: #fff; box-shadow: 0 14px 38px rgba(0,0,0,.23); font-size: 11px; font-weight: 900; letter-spacing: .03em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease; }
.telegram-fixed:hover { transform: translateY(-2px); box-shadow: 0 18px 44px rgba(0,0,0,.28); }

.privacy-banner { position: fixed; z-index: 120; left: max(14px, env(safe-area-inset-left)); bottom: max(14px, env(safe-area-inset-bottom)); width: min(620px, calc(100vw - 28px)); padding: 16px; border: 1px solid var(--ink); background: var(--paper); box-shadow: 0 18px 50px rgba(0,0,0,.2); }
.privacy-banner[hidden] { display: none; }
.privacy-banner p { max-width: 560px; margin: 0 0 14px; font-size: 13px; line-height: 1.45; }
.privacy-banner > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.privacy-banner button, .privacy-banner a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font: 800 10px/1 var(--sans); letter-spacing: .04em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.privacy-banner [data-consent-allow] { background: var(--ink); color: var(--paper); }

.privacy-main { min-height: 100svh; padding: clamp(56px, 8vw, 120px) clamp(16px, 6vw, 96px) 120px; }
.privacy-main > h1 { max-width: 1180px; margin: 18px 0 34px; font-size: clamp(58px, 10vw, 156px); line-height: var(--display-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.privacy-intro { max-width: 760px; margin: 0 0 70px auto; font-size: clamp(19px, 2vw, 28px); line-height: 1.35; }
.privacy-sections { border-top: 2px solid var(--ink); }
.privacy-sections section { display: grid; grid-template-columns: 55px .7fr 1.3fr; gap: 24px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.privacy-sections section > span { font: 700 11px/1 var(--mono); }
.privacy-sections h2 { margin: 0; font-size: clamp(24px, 3vw, 42px); letter-spacing: -.05em; }
.privacy-sections p { max-width: 720px; margin: 0; line-height: 1.5; }
.privacy-back { width: max-content; margin-top: 50px; }

/* Why a site */
.why-page { --why-blue: #2742e7; }
.why-hero { min-height: calc(100svh - 72px); display: grid; grid-template-columns: 1.25fr .75fr; align-content: space-between; gap: 40px; padding: clamp(34px, 4vw, 64px) clamp(16px, 3vw, 48px) clamp(55px, 7vw, 110px); overflow: hidden; background: var(--paper); }
.why-hero > .eyebrow { grid-column: 1 / -1; }
.why-hero h1 { grid-column: 1 / -1; margin: 4vh 0; display: flex; flex-direction: column; font-size: clamp(72px, 11.4vw, 175px); line-height: var(--hero-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.why-line-2 { align-self: center; }
.why-line-3 { align-self: end; color: var(--why-blue); }
.why-hero > div { grid-column: 2; }
.why-hero > div > p:first-child { max-width: 650px; font-size: clamp(19px, 1.8vw, 28px); line-height: 1.28; }
.why-actions { display: flex; align-items: center; gap: 24px; margin: 28px 0 0; }
.why-journey { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--ink); color: var(--paper); }
.why-journey h2, .why-compare h2, .why-gains h2, .why-honest h2, .why-offer h2 { margin: 16px 0 24px; font-size: clamp(46px, 7vw, 108px); line-height: var(--display-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.why-journey header p { max-width: 520px; color: rgba(240,236,227,.68); font-size: 18px; line-height: 1.4; }
.why-journey ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.35); }
.why-journey li { display: grid; grid-template-columns: 55px .55fr 1fr; gap: 18px; min-height: 170px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.why-journey li > span { color: var(--acid); font: 700 12px/1 var(--mono); }
.why-journey li h3 { margin: 0; font-size: clamp(26px, 3vw, 44px); letter-spacing: -.05em; }
.why-journey li p { margin: 0; color: rgba(240,236,227,.72); line-height: 1.45; }
.why-compare { padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--orange); }
.why-compare header { max-width: 1150px; }
.why-compare > div { display: grid; grid-template-columns: 1fr 1fr; margin-top: 58px; border: 1px solid var(--ink); }
.why-compare article { min-height: 460px; padding: clamp(24px, 4vw, 60px); }
.why-compare article + article { background: var(--acid); border-left: 1px solid var(--ink); }
.why-compare h3 { margin-bottom: 65px; font-size: clamp(30px, 4vw, 58px); letter-spacing: -.055em; }
.why-compare ul { margin: 0; padding: 0; list-style: none; }
.why-compare li { padding: 15px 0; border-top: 1px solid var(--ink); line-height: 1.35; }
.why-gains { padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); }
.why-gains header { display: grid; grid-template-columns: .4fr 1.6fr; align-items: start; gap: 40px; }
.why-gains h2 { margin-top: 0; }
.why-gains > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 55px; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.why-gains article { min-height: 280px; padding: 22px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.why-gains article > span { color: var(--why-blue); font: 700 12px/1 var(--mono); }
.why-gains h3 { margin: 90px 0 12px; font-size: 25px; letter-spacing: -.04em; }
.why-gains p { max-width: 330px; margin: 0; color: #5e5a54; line-height: 1.42; }
.why-honest { display: grid; grid-template-columns: .55fr 1.45fr; gap: 50px; align-items: center; padding: clamp(70px, 9vw, 130px) clamp(16px, 3vw, 48px); background: var(--why-blue); color: #fff; }
.why-honest > span { font-size: clamp(50px, 8vw, 120px); font-weight: 900; letter-spacing: -.07em; writing-mode: vertical-rl; transform: rotate(180deg); }
.why-honest h2 { max-width: 1000px; }
.why-honest p { max-width: 760px; font-size: clamp(19px, 2vw, 30px); line-height: 1.35; }
.why-offer { padding: clamp(72px, 10vw, 155px) clamp(16px, 8vw, 125px); background: var(--acid); }
.why-offer h2 { max-width: 1150px; font-size: clamp(56px, 9vw, 140px); }
.why-offer > p { max-width: 760px; font-size: clamp(18px, 1.8vw, 28px); line-height: 1.4; }
.why-offer > div { display: flex; gap: 26px; align-items: center; margin-top: 38px; }
.why-offer .signal-button { background: var(--ink); color: var(--paper); }
.why-contact { font-size: 12px; font-weight: 900; text-transform: uppercase; text-underline-offset: 5px; }

/* Service pages */
.service-page { --service-accent: var(--blue); }
.service-bespoke { --service-accent: var(--orange); }
.breadcrumb { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 clamp(16px, 3vw, 48px); border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.breadcrumb a { text-underline-offset: 4px; }
.breadcrumb span:last-child { color: #68645d; }
.service-hero { min-height: calc(100svh - 120px); display: grid; grid-template-columns: 1.35fr .65fr; align-content: space-between; gap: 32px 60px; padding: clamp(36px, 5vw, 72px) clamp(16px, 3vw, 48px) clamp(60px, 8vw, 120px); overflow: hidden; content-visibility: visible; contain-intrinsic-size: none; }
.service-hero > .eyebrow, .service-hero h1 { grid-column: 1 / -1; }
.service-hero h1 { margin: 3vh 0; display: flex; flex-direction: column; font-size: clamp(68px, 10.8vw, 166px); line-height: var(--hero-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.service-hero h1 span:nth-child(2) { align-self: center; color: var(--service-accent); }
.service-hero h1 span:nth-child(3) { align-self: end; }
.service-hero-lead { align-self: end; }
.service-hero-lead > p { max-width: 760px; margin-bottom: 26px; font-size: clamp(18px, 1.7vw, 27px); line-height: 1.34; }
.service-facts { align-self: end; display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.service-facts > div { min-height: 125px; display: flex; flex-direction: column; justify-content: space-between; padding: 17px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.service-facts dt { font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.service-facts dd { margin: 0; font-size: clamp(18px, 2.1vw, 32px); font-weight: 900; letter-spacing: -.045em; }
.service-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--ink); color: var(--paper); }
.service-fit h2, .service-included h2, .service-steps h2, .service-result h2, .service-cta h2 { margin: 16px 0 24px; font-size: clamp(48px, 7.4vw, 112px); line-height: var(--display-leading); letter-spacing: var(--display-tracking); text-transform: uppercase; }
.service-fit header p { max-width: 600px; color: rgba(240,236,227,.68); font-size: 18px; line-height: 1.45; }
.service-fit ul, .service-result ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid currentColor; }
.service-fit li, .service-result li { min-height: 82px; display: flex; align-items: center; padding: 16px 4px; border-bottom: 1px solid currentColor; font-size: clamp(17px, 1.7vw, 25px); line-height: 1.3; }
.service-fit li::before, .service-result li::before { content: "↗"; flex: 0 0 38px; color: var(--service-accent); font-weight: 900; }
.service-included { padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--paper-bright); }
.service-included header { max-width: 1180px; }
.service-included > div { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 55px; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.service-included article { min-height: 330px; display: flex; flex-direction: column; padding: 20px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.service-included article > span { color: var(--service-accent); font: 700 11px/1 var(--mono); }
.service-included h3 { margin: auto 0 12px; font-size: 24px; letter-spacing: -.04em; }
.service-included p { margin: 0; color: #5e5a54; font-size: 13px; line-height: 1.45; }
.service-steps { display: grid; grid-template-columns: .75fr 1.25fr; gap: 65px; padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: #dcd4c6; }
.service-steps ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.service-steps li { min-height: 155px; display: grid; grid-template-columns: 50px .6fr 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--ink); }
.service-steps li > span { color: var(--service-accent); font: 700 11px/1 var(--mono); }
.service-steps h3 { margin: 0; font-size: clamp(24px, 2.8vw, 42px); letter-spacing: -.05em; }
.service-steps p { margin: 0; color: #5e5a54; line-height: 1.45; }
.service-result { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--service-accent); }
.service-result li::before { color: var(--ink); }
.service-faq { background: var(--paper); }
.service-cta { display: grid; grid-template-columns: .42fr 1.58fr; gap: 55px; padding: clamp(72px, 9vw, 140px) clamp(16px, 3vw, 48px); background: var(--acid); }
.service-cta > span { font-size: clamp(48px, 7vw, 105px); font-weight: 900; letter-spacing: -.075em; writing-mode: vertical-rl; transform: rotate(180deg); }
.service-cta h2 { max-width: 1100px; }
.service-cta p { max-width: 740px; font-size: clamp(18px, 1.8vw, 27px); line-height: 1.42; }
.service-cta > div > div { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 28px; margin-top: 30px; }
.service-cta .signal-button { background: var(--ink); color: var(--paper); }

/* Demonstration sites */
.concept-page { --demo-bg: #f4efe6; --demo-ink: #15120f; --demo-accent: #c04731; background: var(--demo-bg); color: var(--demo-ink); }
.demo-notice { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 7px 16px; background: var(--demo-accent); color: #fff; font-size: 10px; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.demo-header { position: sticky; z-index: 70; top: 0; min-height: 64px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; padding: 0 clamp(14px, 2.5vw, 40px); border-bottom: 1px solid color-mix(in srgb, var(--demo-ink) 20%, transparent); background: color-mix(in srgb, var(--demo-bg) 92%, transparent); backdrop-filter: blur(14px); }
.demo-back, .demo-name { font-size: 11px; font-weight: 900; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.demo-name { justify-self: center; font-size: 15px; }
.concept-page .language-switch a[aria-current="page"] { background: var(--demo-ink); color: var(--demo-bg); }
.demo-blueprint { display: grid; grid-template-columns: .55fr 1.45fr; gap: 28px; padding: 22px clamp(14px, 2.5vw, 40px); background: #121212; color: #f4efe6; font-family: var(--sans); }
.demo-blueprint > div > span { display: block; margin-bottom: 7px; color: var(--demo-accent); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.demo-blueprint > div p { margin: 0; max-width: 480px; font-size: 13px; line-height: 1.35; }
.demo-blueprint ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-left: 1px solid rgba(255,255,255,.25); }
.demo-blueprint li { display: grid; align-content: space-between; gap: 14px; min-height: 74px; padding: 9px 14px; border-right: 1px solid rgba(255,255,255,.25); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.demo-blueprint li span { color: var(--demo-accent); font: 700 9px/1 var(--mono); }
.demo-picture { display: block; overflow: hidden; }
.demo-sample { margin: 22px 0 0; font-size: 10px; opacity: .58; }
.demo-item-price { display: block; margin-top: 15px; color: inherit; font-family: var(--sans); font-size: 11px; font-weight: 900; letter-spacing: .03em; }
.demo-visit { min-height: 390px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; padding: clamp(46px, 7vw, 100px) clamp(18px, 5vw, 76px); background: var(--demo-ink); color: var(--demo-bg); }
.demo-visit span { font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.demo-visit h2 { max-width: 850px; margin: 26px 0 10px; font-size: clamp(38px, 6vw, 90px); line-height: .9; letter-spacing: -.06em; }
.demo-visit p { margin: 0; opacity: .68; }
.demo-client-action { min-width: 210px; padding: 16px 18px; border: 1px solid currentColor; }
.demo-client-action small { display: block; margin-bottom: 8px; opacity: .58; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.demo-client-action strong { display: block; font-size: 12px; text-transform: uppercase; }
.demo-visit > a { min-height: 54px; display: flex; align-items: center; padding: 0 18px; border: 1px solid currentColor; font-size: 11px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.demo-footer { min-height: 82px; border-top: 1px solid rgba(255,255,255,.18); }

/* 01 Heritage */
.concept-heritage { --demo-bg:#e9dfcf; --demo-ink:#211813; --demo-accent:#a5382b; font-family: var(--serif); }
.concept-heritage .demo-header, .concept-heritage .demo-notice, .concept-heritage .demo-footer, .concept-heritage .telegram-fixed { font-family: var(--sans); }
.heritage-hero { min-height: calc(100svh - 98px); display: grid; grid-template-columns: .82fr 1.18fr; position: relative; }
.heritage-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 7vw, 110px) clamp(22px, 5vw, 74px); }
.heritage-hero > div > span { color: var(--demo-accent); font: 800 11px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.heritage-hero h1 { margin: 34px 0 26px; font-size: clamp(64px, 8.5vw, 132px); line-height: .79; letter-spacing: -.072em; }
.heritage-hero p { max-width: 550px; font-size: 17px; line-height: 1.45; }
.heritage-hero a { width: max-content; margin-top: 25px; font: 900 11px/1 var(--sans); text-transform: uppercase; }
.heritage-hero .demo-picture { min-height: 640px; }
.heritage-hero > b { position: absolute; left: 47%; bottom: 30px; width: 90px; height: 90px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; background: var(--demo-bg); font-size: 44px; }
.heritage-menu { padding: clamp(70px, 9vw, 140px) clamp(20px, 5vw, 76px); background: #231713; color: #f3e8d8; }
.heritage-menu header { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.28); }
.heritage-menu header span { font: 800 10px/1 var(--sans); text-transform: uppercase; }
.heritage-menu header h2 { font-size: clamp(42px, 6vw, 90px); letter-spacing: -.055em; }
.heritage-menu > div { display: grid; grid-template-columns: repeat(3,1fr); }
.heritage-menu article { min-height: 250px; padding: 24px; border-right: 1px solid rgba(255,255,255,.2); }
.heritage-menu article:last-child { border-right: 0; }
.heritage-menu article span { color: #e9a056; font: 700 11px/1 var(--sans); }
.heritage-menu article h3 { margin-top: 100px; font-size: 25px; font-weight: 400; }
.heritage-story { display: grid; grid-template-columns: .35fr 1fr; gap: 50px; padding: clamp(70px, 9vw, 140px) clamp(20px, 5vw, 76px); }
.heritage-story > span { font: 800 10px/1 var(--sans); text-transform: uppercase; }
.heritage-story blockquote { max-width: 1000px; margin: 0; font-size: clamp(36px, 5vw, 75px); line-height: .98; letter-spacing: -.045em; }

/* 02 Coffee */
.concept-coffee { --demo-bg:#f3efe4; --demo-ink:#111c36; --demo-accent:#2451dd; }
.coffee-hero { min-height: calc(100svh - 98px); display: grid; grid-template-columns: 52% 48%; position: relative; }
.coffee-type { padding: clamp(40px, 6vw, 96px) clamp(18px, 5vw, 70px); display: flex; flex-direction: column; justify-content: center; }
.coffee-type > span { color: #ff6338; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.coffee-type h1 { margin: 35px 0 22px; color: #204fe0; font-size: clamp(75px, 10vw, 150px); line-height: .72; letter-spacing: -.09em; }
.coffee-type p { max-width: 500px; font-size: 17px; line-height: 1.45; }
.coffee-type a { width: max-content; margin-top: 24px; padding: 14px 17px; background: #204fe0; color: #fff; font-size: 11px; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.coffee-hero .demo-picture { min-height: 640px; }
.coffee-hours { position: absolute; left: calc(52% - 54px); bottom: 36px; width: 108px; height: 108px; display: grid; place-items: center; border-radius: 50%; background: #ff6338; color: #fff; font-size: 18px; font-weight: 900; line-height: 1.15; text-align: center; }
.coffee-menu { padding: clamp(68px,8vw,120px) clamp(18px,5vw,70px); background: #204fe0; color: #fff; }
.coffee-menu header { display: flex; justify-content: space-between; gap: 30px; align-items: end; }
.coffee-menu header h2 { max-width: 900px; font-size: clamp(46px,7vw,105px); line-height: .86; letter-spacing: -.07em; }
.coffee-menu header span { font: 700 11px/1 var(--mono); }
.coffee-menu > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.coffee-menu article { min-height: 220px; padding: 20px; background: #f4efe4; color: #111c36; }
.coffee-menu article span { color: #ff6338; font-weight: 900; }
.coffee-menu article h3 { margin-top: 95px; font-size: 24px; }
.coffee-story { min-height: 450px; display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; padding: 70px 6vw; }
.coffee-story strong { color: #204fe0; font-size: clamp(90px,15vw,220px); letter-spacing: -.18em; }
.coffee-story p { max-width: 780px; margin: 0; font-size: clamp(28px,4vw,60px); line-height: 1; letter-spacing: -.05em; }

/* 03 Street */
.concept-street { --demo-bg:#ff6033; --demo-ink:#16120f; --demo-accent:#1d4bd8; font-family: Arial Black, Impact, var(--sans); }
.concept-street .demo-header, .concept-street .demo-notice, .concept-street .demo-footer, .concept-street .telegram-fixed, .concept-street p, .concept-street .demo-sample { font-family: var(--sans); }
.street-hero { min-height: calc(100svh - 98px); position: relative; display: grid; grid-template-rows: 46px minmax(320px, 1fr) auto; }
.street-mast { display: flex; justify-content: space-between; padding: 15px 18px; border-bottom: 3px solid var(--demo-ink); font-size: 13px; }
.street-hero .demo-picture { min-height: 420px; }
.street-title { position: absolute; z-index: 4; left: 18px; right: 18px; bottom: 22px; display: grid; grid-template-columns: 1fr .45fr auto; gap: 24px; align-items: end; }
.street-title h1 { margin: 0; max-width: 950px; font-size: clamp(68px,10vw,160px); line-height: .72; letter-spacing: -.055em; text-transform: uppercase; text-shadow: 3px 3px 0 var(--demo-bg); }
.street-title p { margin: 0; padding: 14px; background: var(--demo-bg); font-size: 14px; line-height: 1.35; }
.street-title a { padding: 15px; background: var(--demo-accent); color: white; font: 900 11px/1 var(--sans); text-decoration: none; text-transform: uppercase; }
.street-ticker { overflow: hidden; padding: 12px 0; border-top: 3px solid var(--demo-ink); border-bottom: 3px solid var(--demo-ink); background: var(--demo-ink); color: #fff8df; font-size: clamp(24px,4vw,60px); white-space: nowrap; }
.street-menu { padding: clamp(65px,8vw,120px) 18px; }
.street-menu header { display: flex; justify-content: space-between; align-items: end; }
.street-menu header h2 { margin: 0; font-size: clamp(70px,12vw,180px); line-height: .72; }
.street-menu > div { display: grid; grid-template-columns: repeat(3,1fr); border: 3px solid var(--demo-ink); }
.street-menu article { min-height: 230px; padding: 18px; border-right: 3px solid var(--demo-ink); }
.street-menu article:last-child { border-right: 0; }
.street-menu article h3 { margin-top: 110px; font-size: 24px; }
.street-story { min-height: 420px; display: grid; grid-template-columns: .4fr 1fr; align-items: center; padding: 60px 5vw; background: var(--demo-accent); color: white; }
.street-story strong { font-size: clamp(100px,18vw,270px); line-height: .7; }
.street-story p { margin: 0; font-size: clamp(28px,4.5vw,68px); line-height: .9; letter-spacing: -.055em; }

/* 04 Bakery */
.concept-bakery { --demo-bg:#edddbd; --demo-ink:#532c21; --demo-accent:#b9422e; font-family: var(--serif); }
.concept-bakery .demo-header, .concept-bakery .demo-notice, .concept-bakery .demo-footer, .concept-bakery .telegram-fixed, .concept-bakery .demo-sample { font-family: var(--sans); }
.bakery-hero { min-height: calc(100svh - 98px); position: relative; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; padding: 4vw; }
.bakery-hero > div { z-index: 3; }
.bakery-hero > div > span { font: 800 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.bakery-hero h1 { margin: 22px 0 24px; color: var(--demo-accent); font-size: clamp(80px,12vw,180px); font-style: italic; line-height: .72; letter-spacing: -.08em; }
.bakery-hero p { max-width: 520px; font-size: clamp(24px,3vw,42px); line-height: 1; }
.bakery-hero a { font: 900 11px/1 var(--sans); text-transform: uppercase; }
.bakery-hero .demo-picture { aspect-ratio: 1; border-radius: 50%; }
.bakery-hero > i { position: absolute; right: 42%; bottom: 24px; color: var(--demo-accent); font-size: 90px; }
.bakery-batches { padding: clamp(70px,8vw,120px) 5vw; background: #fff7e8; }
.bakery-batches header h2 { max-width: 920px; font-size: clamp(42px,6vw,90px); line-height: .95; letter-spacing: -.05em; }
.bakery-batches > div { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--demo-ink); }
.bakery-batches article { min-height: 210px; padding: 22px 22px 22px 0; border-right: 1px solid rgba(83,44,33,.25); }
.bakery-batches article + article { padding-left: 22px; }
.bakery-batches article span { color: var(--demo-accent); font: 800 16px/1 var(--sans); }
.bakery-batches article h3 { margin-top: 95px; font-size: 24px; font-weight: 400; }
.bakery-story { min-height: 500px; display: grid; grid-template-columns: .35fr 1fr; gap: 50px; align-items: center; padding: 70px 5vw; }
.bakery-story > span { font-size: clamp(120px,20vw,300px); color: var(--demo-accent); }
.bakery-story blockquote { margin: 0; font-size: clamp(32px,5vw,72px); line-height: 1; }

/* 05 Wine */
.concept-wine { --demo-bg:#260a0b; --demo-ink:#f1e3cf; --demo-accent:#a63932; color-scheme:dark; font-family: var(--serif); }
.concept-wine .demo-header, .concept-wine .demo-notice, .concept-wine .demo-footer, .concept-wine .telegram-fixed, .concept-wine .demo-sample { font-family: var(--sans); }
.wine-hero { min-height: calc(100svh - 98px); position: relative; display: grid; grid-template-columns: 62px 1fr 1fr; }
.wine-hero aside { display: flex; flex-direction: column; align-items: center; gap: 34px; padding: 20px 0; border-right: 1px solid rgba(255,255,255,.22); font: 800 10px/1 var(--sans); }
.wine-hero aside b { margin-bottom: auto; font: 36px/1 var(--serif); }
.wine-hero aside span { writing-mode: vertical-rl; transform: rotate(180deg); }
.wine-hero .demo-picture { min-height: 640px; }
.wine-hero > div { display: flex; flex-direction: column; justify-content: center; padding: 5vw; }
.wine-hero > div > span { color: #d8a365; font: 800 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.wine-hero h1 { margin: 28px 0 18px; font-size: clamp(110px,16vw,240px); font-weight: 400; line-height: .68; letter-spacing: -.035em; }
.wine-hero > div p { font-size: clamp(26px,3vw,48px); }
.wine-hero a { width: max-content; font: 900 11px/1 var(--sans); }
.wine-intro { padding: 100px 20vw; }
.wine-intro p { margin: 0; font-size: clamp(36px,5.5vw,82px); line-height: .95; }
.wine-menu { padding: 80px 6vw; border-top: 1px solid rgba(255,255,255,.2); }
.wine-menu > div { display: grid; grid-template-columns: repeat(3,1fr); }
.wine-menu article { min-height: 280px; padding: 24px; border: 1px solid rgba(255,255,255,.2); }
.wine-menu article span { color: #d8a365; font: 700 12px/1 var(--sans); }
.wine-menu article h3 { margin-top: 140px; font-size: 28px; font-weight: 400; }
.wine-story { display: grid; grid-template-columns: .3fr 1fr; gap: 50px; padding: 100px 6vw; background: #160606; }
.wine-story span { font: 800 10px/1 var(--sans); text-transform: uppercase; }
.wine-story blockquote { margin: 0; font-size: clamp(34px,5vw,75px); line-height: 1; }

/* 06 Basalt */
.concept-basalt { --demo-bg:#191919; --demo-ink:#eee8db; --demo-accent:#dc4935; color-scheme:dark; font-family: var(--mono); }
.basalt-hero { min-height: calc(100svh - 98px); display: grid; grid-template-columns: 1fr 1fr; position: relative; padding-top: 46px; }
.basalt-hero > header { position: absolute; inset: 0 0 auto; height: 46px; display: flex; justify-content: space-between; align-items: center; padding: 0 16px; border-bottom: 1px solid #777; font-size: 11px; }
.basalt-hero > div { order: 2; display: flex; flex-direction: column; justify-content: center; padding: 5vw; border-left: 1px solid #777; }
.basalt-hero > div > span { color: var(--demo-accent); font-size: 10px; }
.basalt-hero h1 { margin: 35px 0; font-family: var(--sans); font-size: clamp(58px,8vw,120px); line-height: .78; letter-spacing: -.075em; text-transform: uppercase; }
.basalt-hero p { max-width: 530px; line-height: 1.5; }
.basalt-hero a { width: max-content; margin-top: 25px; font-weight: 700; }
.basalt-hero .demo-picture { min-height: 620px; }
.basalt-menu { padding: 80px 4vw; }
.basalt-menu header { display: flex; justify-content: space-between; align-items: start; }
.basalt-menu header h2 { margin: 0; font-family: var(--sans); font-size: clamp(72px,11vw,170px); line-height: .72; }
.basalt-menu > div { border-top: 1px solid #777; }
.basalt-menu article { min-height: 84px; display: grid; grid-template-columns: 100px 1fr; align-items: center; border-bottom: 1px solid #555; }
.basalt-menu article span { color: var(--demo-accent); }
.basalt-menu article h3 { margin: 0; font: 700 clamp(20px,3vw,42px)/1 var(--sans); }
.basalt-story { min-height: 440px; display: grid; grid-template-columns: .35fr 1fr; align-items: center; padding: 70px 6vw; background: #e9e3d8; color: #181818; }
.basalt-story p { margin: 0; max-width: 1000px; font: 800 clamp(34px,5vw,72px)/.95 var(--sans); letter-spacing: -.05em; }

/* 07 Rooftop */
.concept-rooftop { --demo-bg:#dceaf3; --demo-ink:#102b4a; --demo-accent:#f06f4d; }
.rooftop-hero { min-height: calc(100svh - 98px); position: relative; color: #fff; }
.rooftop-hero .demo-picture { position: absolute; inset: 0; }
.rooftop-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,30,55,.26),transparent 45%,rgba(10,30,55,.32)); }
.rooftop-nav { position: absolute; z-index: 3; left: 24px; right: 24px; top: 20px; display: flex; justify-content: space-between; font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.rooftop-copy { position: absolute; z-index: 3; left: 5vw; bottom: 6vw; max-width: 900px; }
.rooftop-copy > span { color: #ffe0aa; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.rooftop-copy h1 { margin: 22px 0; font-size: clamp(70px,10vw,155px); font-weight: 300; line-height: .78; letter-spacing: -.075em; }
.rooftop-copy p { max-width: 620px; font-size: 17px; line-height: 1.45; }
.rooftop-copy a { color:#fff; font-size: 11px; font-weight:900; text-transform:uppercase; }
.rooftop-times { display: grid; grid-template-columns: repeat(3,1fr); padding: 0 4vw 70px; background: #edf5f9; }
.rooftop-times article { min-height: 240px; padding: 26px; border-right: 1px solid rgba(16,43,74,.2); }
.rooftop-times article span { color: var(--demo-accent); font-size: 18px; font-weight: 900; }
.rooftop-times article h3 { margin-top: 100px; font-size: 26px; }
.rooftop-times .demo-sample { grid-column:1/-1; }
.rooftop-story { display: grid; grid-template-columns: .3fr 1fr; gap: 50px; padding: 100px 6vw; }
.rooftop-story span { font-size: 10px; font-weight: 900; text-transform: uppercase; }
.rooftop-story p { margin: 0; font-size: clamp(35px,5vw,75px); line-height: .98; letter-spacing: -.05em; }

/* 08 Garden */
.concept-garden { --demo-bg:#dbe7d2; --demo-ink:#174a30; --demo-accent:#d8513a; }
.garden-hero { min-height: calc(100svh - 98px); display: grid; grid-template-columns: .72fr 1.28fr; position: relative; }
.garden-hero > div { display:flex; flex-direction:column; justify-content:center; padding:5vw; }
.garden-hero > div > span { font-size:10px; font-weight:900; text-transform:uppercase; }
.garden-hero h1 { margin:28px 0 24px; font-size:clamp(70px,10vw,150px); line-height:.72; letter-spacing:-.075em; }
.garden-hero h1 b { display:block; color:var(--demo-accent); font-family:var(--serif); font-size:1.6em; }
.garden-hero p { font: 500 clamp(24px,3vw,44px)/1.05 var(--serif); }
.garden-hero a { width:max-content; font-size:11px; font-weight:900; text-transform:uppercase; }
.garden-hero .demo-picture { min-height:640px; border-radius:45% 0 0 45%; }
.garden-hero > i { position:absolute; z-index:4; left:44%; bottom:35px; width:96px; height:96px; display:grid; place-items:center; border-radius:50%; background:var(--demo-ink); color:white; font:normal 42px/1 var(--serif); }
.garden-intro { padding:100px 12vw; }
.garden-intro h2 { margin:0; font:500 clamp(38px,6vw,88px)/.98 var(--serif); }
.garden-menu { padding:80px 5vw; background:#f4efe4; }
.garden-menu > div { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.garden-menu article { min-height:250px; padding:24px; border-radius:48px 48px 8px 8px; background:#dbe7d2; }
.garden-menu article:nth-child(2) { background:#f0a48c; }
.garden-menu article span { font-size:11px; font-weight:900; }
.garden-menu article h3 { margin-top:120px; font:500 25px/1.1 var(--serif); }
.garden-story { display:grid; grid-template-columns:.35fr 1fr; gap:50px; padding:100px 6vw; }
.garden-story > span { font-size:10px; font-weight:900; }
.garden-story blockquote { margin:0; font:500 clamp(35px,5vw,72px)/1 var(--serif); }

/* 09 Gelato */
.concept-gelato { --demo-bg:#1749ca; --demo-ink:#fff4df; --demo-accent:#ff5a40; color-scheme:dark; font-family:"Arial Black",var(--sans); }
.concept-gelato .demo-header, .concept-gelato .demo-notice, .concept-gelato .demo-footer, .concept-gelato .telegram-fixed, .concept-gelato p, .concept-gelato .demo-sample { font-family:var(--sans); }
.gelato-hero { min-height:calc(100svh - 98px); display:grid; grid-template-columns:.78fr 1.22fr; position:relative; }
.gelato-hero > div { display:flex; flex-direction:column; justify-content:center; padding:5vw; z-index:3; }
.gelato-hero > div > span { color:#ffd42b; font-size:11px; text-transform:uppercase; }
.gelato-hero h1 { margin:20px 0; color:#ffd42b; font-size:clamp(78px,12vw,180px); line-height:.72; letter-spacing:-.08em; transform:rotate(-2deg); }
.gelato-hero p { max-width:550px; font-size:clamp(27px,4vw,58px); font-weight:900; line-height:.9; }
.gelato-hero a { width:max-content; padding:15px 18px; background:#ffd42b; color:#1749ca; font-size:11px; text-decoration:none; text-transform:uppercase; }
.gelato-hero .demo-picture { min-height:640px; clip-path:circle(65% at 55% 52%); }
.gelato-hero > i { position:absolute; z-index:4; right:3vw; top:3vw; width:100px; height:100px; display:grid; place-items:center; border-radius:50%; background:var(--demo-accent); color:#fff; font-style:normal; font-size:34px; }
.gelato-menu { padding:90px 5vw; background:#ffd42b; color:#1749ca; }
.gelato-menu header h2 { max-width:970px; font-size:clamp(40px,6vw,88px); line-height:.88; letter-spacing:-.065em; }
.gelato-menu > div { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.gelato-menu article { min-height:180px; display:flex; flex-direction:column; justify-content:space-between; padding:16px; border:3px solid #1749ca; border-radius:50%; text-align:center; }
.gelato-menu article span { font:800 11px/1 var(--sans); }
.gelato-menu article h3 { margin:auto 0; font-size:18px; }
.gelato-story { min-height:480px; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:50px; padding:70px 5vw; background:var(--demo-accent); }
.gelato-story strong { font-size:clamp(50px,8vw,120px); line-height:.72; }
.gelato-story p { margin:0; font-size:clamp(27px,4vw,58px); font-weight:900; line-height:.9; }

/* Localized display copy needs enough leading for Cyrillic and Armenian forms. */
.heritage-hero h1,
.coffee-menu header h2,
.street-title h1,
.basalt-hero h1,
.rooftop-copy h1,
.gelato-menu header h2 {
  line-height: .95;
  text-wrap: balance;
}
html[lang="hy"] .heritage-hero h1,
html[lang="hy"] .coffee-menu header h2,
html[lang="hy"] .street-title h1,
html[lang="hy"] .basalt-hero h1,
html[lang="hy"] .rooftop-copy h1,
html[lang="hy"] .gelato-menu header h2 { line-height: 1.05; }

/* Legacy query links */
.legacy-active { --legacy-accent:#b33f2f; margin:0; background:#eee7db; color:#171513; }
.legacy-active.legacy-nairi-coffee { --legacy-accent:#274fd8; }
.legacy-active.legacy-yerevan-bite { --legacy-accent:#ff5c33; }
.legacy-active.legacy-gini-wine { --legacy-accent:#8e282b; background:#21100f; color:#f1e5d4; }
.legacy-active.legacy-basalt-kitchen { --legacy-accent:#d94834; background:#191919; color:#eee8db; }
.legacy-active.legacy-cascade-rooftop { --legacy-accent:#e87555; background:#dceaf3; color:#102b4a; }
.legacy-active.legacy-garden-brunch { --legacy-accent:#d6523b; background:#dce7d3; color:#174a30; }
.legacy-active.legacy-citrus-gelato { --legacy-accent:#ffd42b; background:#1749ca; color:#fff4df; }
.legacy-banner { min-height:34px; display:flex; align-items:center; justify-content:center; padding:7px 16px; background:var(--legacy-accent); color:#fff; font-size:10px; font-weight:800; letter-spacing:.05em; text-align:center; text-transform:uppercase; }
.legacy-citrus-gelato .legacy-banner { color:#1749ca; }
.legacy-header { min-height:64px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(14px,3vw,44px); border-bottom:1px solid currentColor; }
.legacy-header > a, .legacy-header > b { font-size:11px; text-decoration:none; text-transform:uppercase; }
.legacy-header > b { justify-self:center; font-size:16px; }
.legacy-main section { content-visibility:auto; }
.legacy-hero { min-height:calc(100svh - 98px); display:grid; grid-template-columns:.9fr 1.1fr; }
.legacy-hero > div { display:flex; flex-direction:column; justify-content:center; padding:clamp(45px,7vw,110px) clamp(18px,5vw,72px); }
.legacy-hero > div > span { color:var(--legacy-accent); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.legacy-citrus-gelato .legacy-hero > div > span { color:#ffd42b; }
.legacy-hero h1 { margin:30px 0 24px; overflow-wrap:anywhere; font-size:clamp(62px,9vw,140px); line-height:.78; letter-spacing:-.075em; }
.legacy-hero p { max-width:540px; line-height:1.5; }
.legacy-hero a { width:max-content; margin-top:24px; padding:15px 18px; background:var(--legacy-accent); color:#fff; font-size:11px; font-weight:900; text-decoration:none; text-transform:uppercase; }
.legacy-citrus-gelato .legacy-hero a { color:#1749ca; }
.legacy-hero picture { min-height:600px; }
.legacy-info { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; padding:clamp(70px,9vw,140px) clamp(18px,5vw,72px); }
.legacy-info header span { font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.legacy-info h2 { margin:24px 0 0; font-size:clamp(44px,7vw,105px); line-height:.84; letter-spacing:-.06em; overflow-wrap:anywhere; }
.legacy-info > p { max-width:700px; margin:0; align-self:end; font-size:clamp(22px,3vw,42px); line-height:1.05; }
.legacy-details { padding:80px clamp(18px,5vw,72px); background:#171513; color:#eee7db; }
.legacy-details h2 { font-size:clamp(38px,6vw,88px); letter-spacing:-.055em; }
.legacy-details > div { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.3); }
.legacy-details article { min-height:190px; padding:20px; border-right:1px solid rgba(255,255,255,.2); }
.legacy-details article:last-child { border-right:0; }
.legacy-details article span { display:block; font-size:10px; font-weight:900; text-transform:uppercase; }
.legacy-details article strong { display:block; margin-top:70px; overflow-wrap:anywhere; font-size:18px; }
.legacy-contact { min-height:430px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; padding:70px clamp(18px,5vw,72px); background:var(--legacy-accent); color:#fff; }
.legacy-citrus-gelato .legacy-contact { color:#1749ca; }
.legacy-contact h2 { margin:0; max-width:850px; font-size:clamp(52px,8vw,120px); line-height:.8; letter-spacing:-.075em; }
.legacy-contact a { padding:16px 18px; border:1px solid currentColor; font-size:11px; font-weight:900; text-decoration:none; text-transform:uppercase; }
.legacy-error { min-height:100svh; display:grid; place-content:center; justify-items:center; text-align:center; padding:24px; }
.legacy-error > span { color:var(--legacy-accent); font-size:clamp(100px,20vw,260px); font-weight:900; line-height:.8; }
.legacy-error h1 { font-size:clamp(40px,6vw,80px); }

.error-page { min-height:100svh; display:grid; place-items:center; background:var(--ink); color:var(--paper); }
.error-page main { display:grid; text-align:center; }
.error-page main > span { margin-top:50px; color:var(--acid); font-size:clamp(90px,20vw,270px); font-weight:900; line-height:.8; }
.error-page h1 { font-size:clamp(36px,6vw,80px); }

@media (max-width: 900px) {
  .studio-header { grid-template-columns: 1fr auto auto; }
  .studio-header .studio-nav { display: none; }
  .menu-button { display: block; }
  .studio-header.menu-is-open { background: var(--ink); color: var(--paper); }
  .studio-header.menu-is-open .menu-open { display: none; }
  .studio-header.menu-is-open .menu-close { display: inline; }
  .studio-header.menu-is-open .menu-button { border-color: var(--paper); }
  .studio-header.menu-is-open .language-switch a[aria-current="page"] { background: var(--paper); color: var(--ink); }
  .studio-header.menu-is-open .studio-nav { position: fixed; top: 72px; left: 0; right: 0; display: grid; align-content: center; gap: 0; min-height: calc(100svh - 72px); padding: 30px; background: var(--ink); color: var(--paper); }
  .studio-header.menu-is-open .studio-nav a { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.2); font-size: clamp(34px,8vw,64px); letter-spacing: -.05em; }
  .studio-hero h1 { font-size: clamp(68px, 14vw, 124px); }
  .studio-hero-image { width: 40vw; }
  .quick-flow-section, .why-journey { grid-template-columns: 1fr; }
  .why-gains > div { grid-template-columns: 1fr 1fr; }
  .service-hero { grid-template-columns: 1fr; }
  .service-hero-lead, .service-facts { grid-column: 1 / -1; }
  .service-fit, .service-result { grid-template-columns: 1fr; }
  .service-included > div { grid-template-columns: repeat(3, 1fr); }
  .service-steps { grid-template-columns: 1fr; }
  .concept-card, .concept-card:nth-child(n) { grid-column: span 6; }
  .benefit-section, .faq-section { grid-template-columns: 1fr; }
  .contact-section { grid-template-columns: .35fr 1fr; }
  .contact-section > div { grid-column: 2; }
  .heritage-hero, .coffee-hero, .wine-hero, .basalt-hero, .garden-hero, .gelato-hero { grid-template-columns: 1fr 1fr; }
  .wine-hero { grid-template-columns: 50px 1fr 1fr; }
  .wine-hero h1 { font-size: 105px; }
  .gelato-menu > div { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 64px; }
  section { contain-intrinsic-size: auto 680px; }
  .studio-header { min-height: 64px; grid-template-columns: 1fr auto auto; gap: 8px; padding: 0 12px; }
  .wordmark strong { font-size: 18px; }
  .wordmark small { display: none; }
  .studio-header .language-switch a { min-width: 36px; }
  .studio-header.menu-is-open .studio-nav { top: 64px; min-height: calc(100svh - 64px); }
  .studio-hero { min-height: calc(100svh - 64px); padding: 18px 14px 165px; }
  .hero-kicker { max-width: 180px; line-height: 1.25; }
  .studio-hero h1 { margin-top: 8vh; font-size: clamp(58px, 19vw, 92px); }
  .hero-line-2, .hero-line-3 { align-self: start; }
  .hero-intro { width: 100%; margin-top: 32px; grid-template-columns: 1fr; gap: 18px; }
  .hero-intro p { max-width: 95%; font-size: 15px; }
  .hero-actions { grid-template-columns: auto; justify-items: start; }
  .signal-button { min-height: 48px; }
  .studio-hero-image { left: auto; right: -14vw; bottom: 3vh; width: 62vw; opacity: .84; }
  .hero-price { left: 14px; right: auto; bottom: 20px; min-width: 202px; }
  .hero-price strong { font-size: 24px; }
  .hero-orbit { display: none; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-strip > div { min-height: 98px; padding: 18px 14px; border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-strip > div:last-child { border-bottom: 0; }
  .proof-strip strong { font-size: 44px; }
  .quick-flow-section { grid-template-columns: 1fr; gap: 35px; padding: 72px 14px; }
  .quick-flow-section h2 { font-size: clamp(46px, 14vw, 72px); }
  .quick-flow-section header p { font-size: 16px; }
  .quick-flow-section li { grid-template-columns: 38px 1fr; gap: 12px; min-height: 175px; }
  .quick-flow-section li p { grid-column: 2; }
  .directions-section, .process-section, .pricing-section, .faq-section { padding: 72px 14px; }
  .section-intro { grid-template-columns: 1fr; gap: 26px; margin-bottom: 38px; }
  .section-intro h2, .benefit-section h2, .faq-section h2 { font-size: clamp(46px, 14vw, 72px); }
  .section-intro > p, .section-intro > div > p { font-size: 16px; }
  .concept-grid { display: grid; grid-template-columns: 1fr; gap: 38px; }
  .concept-card, .concept-card:nth-child(n) { grid-column: 1; }
  .preview { aspect-ratio: 1.22; }
  .concept-meta { grid-template-columns: 27px 1fr; }
  .concept-meta b { grid-column: 2; }
  .concept-meta .concept-fit, .concept-meta .concept-structure { grid-column: 2; grid-template-columns: 1fr; gap: 5px; }
  .benefit-section { padding: 72px 14px; gap: 35px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-grid article { min-height: 180px; border-right: 0; }
  .benefit-grid h3 { margin-top: 44px; }
  .process-list li { grid-template-columns: 42px 1fr; gap: 12px; }
  .process-list li p { grid-column: 2; }
  .package-grid { grid-template-columns: 1fr; }
  .package { min-height: 560px; padding: 28px 20px; }
  .package h3 { margin-top: 44px; }
  .package-actions { align-items: flex-start; flex-direction: column; }
  .extras > div { grid-template-columns: 1fr; gap: 5px; }
  .extras > div strong { text-align: left; }
  .faq-list summary { grid-template-columns: 30px 1fr auto; font-size: 16px; }
  .faq-list details p { margin-left: 46px; }
  .contact-section { min-height: 620px; grid-template-columns: 1fr; gap: 28px; padding: 60px 14px 100px; }
  .contact-section h2 { font-size: clamp(54px, 16vw, 82px); }
  .contact-section > div { grid-column: auto; align-self: start; }
  .studio-footer, .demo-footer { align-items: flex-start; flex-direction: column; padding-bottom: 94px; }
  .studio-footer > nav { justify-content: flex-start; flex-direction: column; gap: 10px; }
  .telegram-fixed { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); min-height: 48px; max-width: calc(100vw - 20px); gap: 18px; }
  .privacy-banner { left: 10px; bottom: 68px; width: calc(100vw - 20px); }
  .privacy-banner > div { align-items: stretch; flex-direction: column; }
  .privacy-banner button, .privacy-banner a { justify-content: center; }
  .privacy-main { padding: 54px 14px 100px; }
  .privacy-main > h1 { font-size: clamp(52px, 15vw, 78px); }
  .privacy-intro { margin-bottom: 50px; font-size: 18px; }
  .privacy-sections section { grid-template-columns: 34px 1fr; gap: 14px; }
  .privacy-sections section p { grid-column: 2; }

  .why-hero { min-height: calc(100svh - 64px); display: block; padding: 28px 14px 80px; }
  .why-hero h1 { margin: 12vh 0 42px; font-size: clamp(58px, 18vw, 88px); }
  .why-line-2, .why-line-3 { align-self: start; }
  .why-hero > div { width: 100%; }
  .why-hero > div > p:first-child { font-size: 18px; }
  .why-actions, .why-offer > div { align-items: flex-start; flex-direction: column; }
  .why-journey { grid-template-columns: 1fr; gap: 35px; padding: 72px 14px; }
  .why-journey h2, .why-compare h2, .why-gains h2, .why-honest h2, .why-offer h2 { font-size: clamp(46px, 14vw, 72px); }
  .why-journey li { grid-template-columns: 38px 1fr; min-height: 190px; }
  .why-journey li p { grid-column: 2; }
  .why-compare { padding: 72px 14px; }
  .why-compare > div { grid-template-columns: 1fr; }
  .why-compare article { min-height: 400px; padding: 28px 20px; }
  .why-compare article + article { border-top: 1px solid var(--ink); border-left: 0; }
  .why-gains { padding: 72px 14px; }
  .why-gains header, .why-gains > div { grid-template-columns: 1fr; }
  .why-gains article { min-height: 230px; }
  .why-gains h3 { margin-top: 58px; }
  .why-honest { grid-template-columns: 1fr; padding: 72px 14px; }
  .why-honest > span { font-size: 52px; writing-mode: initial; transform: none; }
  .why-offer { padding: 72px 14px 110px; }

  .breadcrumb { min-height: 44px; padding: 0 14px; }
  .service-hero { min-height: calc(100svh - 108px); display: block; padding: 28px 14px 72px; }
  .service-hero h1 { margin: 11vh 0 42px; font-size: clamp(56px, 17vw, 86px); }
  .service-hero h1 span:nth-child(2), .service-hero h1 span:nth-child(3) { align-self: start; }
  .service-hero-lead > p { font-size: 18px; }
  .service-facts { margin-top: 48px; grid-template-columns: 1fr; }
  .service-facts > div { min-height: 105px; }
  .service-fit, .service-result { grid-template-columns: 1fr; gap: 38px; padding: 72px 14px; }
  .service-fit h2, .service-included h2, .service-steps h2, .service-result h2, .service-cta h2 { font-size: clamp(46px, 14vw, 72px); }
  .service-included { padding: 72px 14px; }
  .service-included > div { grid-template-columns: 1fr; margin-top: 36px; }
  .service-included article { min-height: 220px; }
  .service-included h3 { margin-top: 75px; }
  .service-steps { grid-template-columns: 1fr; gap: 35px; padding: 72px 14px; }
  .service-steps li { grid-template-columns: 36px 1fr; min-height: 195px; }
  .service-steps li p { grid-column: 2; }
  .service-cta { grid-template-columns: 1fr; padding: 72px 14px 96px; }
  .service-cta > span { font-size: 50px; writing-mode: initial; transform: none; }
  .service-cta > div > div { align-items: flex-start; flex-direction: column; }

  /* Long Russian and Armenian words must stay whole on narrow screens. */
  .studio-page main > section > * { min-width: 0; }
  html[lang="ru"] .studio-page h1 { font-size: clamp(48px, 14.5vw, 76px); }
  .studio-page h2 { font-size: clamp(30px, 10vw, 58px); }
  html[lang="ru"] .studio-page h2 { font-size: clamp(30px, 10vw, 58px); }
  html[lang="hy"] .studio-page h1 { font-size: clamp(28px, 8.8vw, 52px); }
  html[lang="hy"] .studio-page h2 { font-size: clamp(24px, 7.6vw, 44px); }

  .demo-notice { align-items: flex-start; flex-direction: column; gap: 3px; text-align: left; }
  .demo-header { min-height: 58px; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 4px; padding: 0 10px; }
  .demo-back { display: grid; place-items: center; width: 44px; height: 44px; font-size: 0; }
  .demo-back::before { content: "←"; font-size: 20px; }
  .demo-name { justify-self: start; font-size: 12px; }
  .demo-header .language-switch a { min-width: 37px; min-height: 42px; }
  .demo-blueprint { grid-template-columns: 1fr; padding: 18px 10px; }
  .demo-blueprint ol { grid-template-columns: 1fr 1fr; }
  .demo-blueprint li { min-height: 72px; border-bottom: 1px solid rgba(255,255,255,.25); }
  .demo-visit { min-height: 470px; grid-template-columns: 1fr; padding: 58px 16px 94px; }
  .demo-visit > a { width: max-content; max-width: 100%; }
  .demo-client-action { min-width: 0; width: max-content; max-width: 100%; }

  .heritage-hero, .coffee-hero, .basalt-hero, .garden-hero, .gelato-hero { grid-template-columns: minmax(0, 1fr); }
  .heritage-hero > div { min-height: 580px; padding: 60px 16px 110px; }
  .heritage-hero h1 { font-size: clamp(50px, 15.5vw, 82px); }
  .heritage-hero .demo-picture, .coffee-hero .demo-picture, .garden-hero .demo-picture, .gelato-hero .demo-picture { min-height: 380px; }
  .heritage-hero > b { left: 16px; bottom: 330px; width: 72px; height: 72px; }
  .heritage-menu, .heritage-story { padding: 68px 16px; }
  .heritage-menu header { display: block; }
  .heritage-menu > div { grid-template-columns: 1fr; }
  .heritage-menu article { min-height: 150px; padding: 20px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .heritage-menu article h3 { margin-top: 55px; }
  .heritage-story { grid-template-columns: 1fr; }

  .coffee-hero { display: flex; flex-direction: column; }
  .coffee-type { min-height: 600px; padding: 55px 16px 100px; }
  .coffee-type h1 { font-size: clamp(72px, 22vw, 104px); }
  .coffee-hours { left: auto; right: 16px; bottom: 340px; width: 82px; height: 82px; }
  .coffee-menu { padding: 68px 16px; }
  .coffee-menu header { display: block; }
  .coffee-menu > div { grid-template-columns: 1fr; }
  .coffee-menu article { min-height: 150px; }
  .coffee-menu article h3 { margin-top: 58px; }
  .coffee-story { min-height: 430px; grid-template-columns: 1fr; padding: 60px 16px; }
  .coffee-story strong { font-size: 130px; }

  .street-hero { min-height: 760px; }
  .street-title { grid-template-columns: 1fr; bottom: 14px; }
  .street-title h1 { font-size: clamp(65px, 20vw, 100px); }
  .street-title p { max-width: 320px; }
  .street-title a { width: max-content; }
  .street-menu { padding: 65px 10px; }
  .street-menu > div { grid-template-columns: 1fr; }
  .street-menu article { min-height: 150px; border-right: 0; border-bottom: 3px solid var(--demo-ink); }
  .street-menu article:last-child { border-bottom: 0; }
  .street-menu article h3 { margin-top: 55px; }
  .street-story { grid-template-columns: 1fr; padding: 60px 16px; }
  .street-story strong { font-size: 120px; }

  .bakery-hero { min-height: 760px; grid-template-columns: 1fr; overflow: hidden; padding: 52px 16px; }
  .bakery-hero .demo-picture { position: absolute; right: -25vw; bottom: 30px; width: 78vw; aspect-ratio: 1; opacity: .76; }
  .bakery-hero h1 { font-size: clamp(72px, 22vw, 110px); }
  .bakery-hero > i { right: auto; left: 16px; bottom: 25px; }
  .bakery-batches { padding: 68px 16px; }
  .bakery-batches > div { grid-template-columns: 1fr; }
  .bakery-batches article { min-height: 150px; padding: 20px 0; border-right: 0; border-bottom: 1px solid rgba(83,44,33,.25); }
  .bakery-batches article + article { padding-left: 0; }
  .bakery-batches article h3 { margin-top: 52px; }
  .bakery-story { grid-template-columns: 1fr; padding: 60px 16px; }
  .bakery-story > span { font-size: 150px; }

  .wine-hero { min-height: 790px; grid-template-columns: 42px 1fr; }
  .wine-hero .demo-picture { grid-column: 2; min-height: 430px; }
  .wine-hero > div { grid-column: 2; padding: 45px 16px 70px; }
  .wine-hero aside { grid-row: 1 / span 2; }
  .wine-hero h1 { font-size: 100px; }
  .wine-intro { padding: 72px 16px; }
  .wine-menu { padding: 68px 16px; }
  .wine-menu > div { grid-template-columns: 1fr; }
  .wine-menu article { min-height: 160px; }
  .wine-menu article h3 { margin-top: 65px; }
  .wine-story { grid-template-columns: 1fr; padding: 70px 16px; }

  .basalt-hero { padding-top: 44px; }
  .basalt-hero > div { order: initial; min-height: 610px; padding: 70px 16px; border-left: 0; }
  .basalt-hero .demo-picture { min-height: 380px; }
  .basalt-menu { padding: 68px 16px; }
  .basalt-menu article { grid-template-columns: 60px 1fr; }
  .basalt-story { grid-template-columns: 1fr; gap: 30px; padding: 65px 16px; }

  .rooftop-hero { min-height: 760px; }
  .rooftop-copy { left: 16px; right: 16px; bottom: 45px; }
  .rooftop-copy h1 { font-size: clamp(62px, 18vw, 92px); }
  .rooftop-times { grid-template-columns: 1fr; padding: 0 16px 60px; }
  .rooftop-times article { min-height: 150px; border-right: 0; border-bottom: 1px solid rgba(16,43,74,.2); }
  .rooftop-times article h3 { margin-top: 58px; }
  .rooftop-story { grid-template-columns: 1fr; padding: 70px 16px; }

  .garden-hero > div { min-height: 590px; padding: 60px 16px 90px; }
  .garden-hero .demo-picture { border-radius: 45% 45% 0 0; }
  .garden-hero > i { left: 16px; bottom: 345px; width: 76px; height: 76px; }
  .garden-intro { padding: 72px 16px; }
  .garden-menu { padding: 68px 16px; }
  .garden-menu > div { grid-template-columns: 1fr; }
  .garden-menu article { min-height: 180px; }
  .garden-menu article h3 { margin-top: 72px; }
  .garden-story { grid-template-columns: 1fr; padding: 70px 16px; }

  .gelato-hero > div { min-height: 570px; padding: 60px 16px 90px; }
  .gelato-hero .demo-picture { min-height: 380px; clip-path: circle(70% at 50% 58%); }
  .gelato-hero h1 { font-size: clamp(70px, 23vw, 110px); }
  .gelato-hero > i { width: 70px; height: 70px; }
  .gelato-menu { padding: 68px 12px; }
  .gelato-menu > div { grid-template-columns: 1fr 1fr; }
  .gelato-menu article { min-height: 150px; }
  .gelato-story { grid-template-columns: 1fr; padding: 65px 16px; }

  .legacy-banner { align-items:flex-start; text-align:left; }
  .legacy-header { grid-template-columns:1fr auto; padding:0 10px; }
  .legacy-header > a { display:none; }
  .legacy-header > b { justify-self:start; }
  .legacy-header .language-switch a { min-width:37px; }
  .legacy-hero { grid-template-columns:1fr; }
  .legacy-hero > div { min-height:560px; padding:60px 16px 90px; }
  .legacy-hero h1 { font-size:clamp(58px,18vw,92px); }
  .legacy-hero picture { min-height:360px; }
  .legacy-info { grid-template-columns:1fr; gap:35px; padding:70px 16px; }
  .legacy-details { padding:70px 16px; }
  .legacy-details > div { grid-template-columns:1fr; }
  .legacy-details article { min-height:120px; padding:18px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }
  .legacy-details article strong { margin-top:35px; }
  .legacy-contact { min-height:500px; grid-template-columns:1fr; padding:65px 16px 95px; }
  .legacy-contact a { width:max-content; max-width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
