@font-face {
  font-family: "Geist";
  src: url("assets/fonts/geist.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Geist Mono";
  src: url("assets/fonts/geist-mono.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --font-geist-sans: "Geist";
  --font-geist-mono: "Geist Mono";
  --ink: #050505;
  --space: #080a12;
  --navy: #111827;
  --paper: #fffdf8;
  --ivory: #f8f2ea;
  --sand: #efe1cf;
  --gold: #d9a441;
  --champagne: #e8c98a;
  --rose: #d96c75;
  --blue: #7ba7c9;
  --line-dark: rgba(10, 10, 10, .18);
  --line-light: rgba(255, 255, 255, .18);
  --muted: #8d8f96;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--font-geist-sans), Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
::selection { background: var(--paper); color: var(--ink); }

.site-header { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 126px; padding: 34px 48px; display: flex; align-items: flex-start; justify-content: space-between; color: #fff; }
.brand { display: inline-flex; flex-direction: column; font-family: var(--font-geist-mono), monospace; font-size: 15px; line-height: .88; letter-spacing: .16em; font-weight: 700; }
.brand em { color: var(--gold); font-size: .62em; font-style: normal; vertical-align: top; margin-left: 2px; }
.desktop-nav { margin-left: auto; margin-right: 44px; display: flex; align-items: center; gap: 32px; padding-top: 13px; }
.desktop-nav a, .language { color: #9c9ca3; font-family: var(--font-geist-mono), monospace; font-size: 11px; letter-spacing: .11em; transition: color .2s ease; }
.desktop-nav a:hover { color: #fff; }
.header-actions { display: flex; align-items: center; gap: 26px; }
.language { padding-top: 16px; white-space: nowrap; }.language span { color: #4b4b51; }
.mobile-menu { display: none; }

.button { min-height: 51px; padding: 0 28px; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; gap: 32px; font-family: var(--font-geist-mono), monospace; font-size: 12px; letter-spacing: .1em; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 51px; padding: 0 28px; }
.button--light { color: var(--ink); background: #fff; border-color: #fff; }
.button--light:hover { color: #fff; background: transparent; }
.button--ghost { color: #d7d7d7; border-color: #343438; background: transparent; }
.button--ghost:hover { border-color: #fff; }
.button--dark { color: #fff; background: var(--ink); border-color: var(--ink); width: 100%; }
.button--dark:hover { color: var(--ink); background: transparent; }

.hero { min-height: 100svh; height: 980px; max-height: 1100px; position: relative; overflow: hidden; padding: 160px 48px 60px; display: flex; align-items: flex-end; background: #050505; }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(circle at 72% 31%, rgba(123,167,201,.13), transparent 27%), radial-gradient(circle at 80% 15%, rgba(232,201,138,.07), transparent 20%), linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px); background-size: auto, auto, 90px 90px, 90px 90px; mask-image: linear-gradient(to bottom, #000 0%, transparent 82%); }
.hero::after { content: ""; position: absolute; inset: 0; opacity: .42; background-image: radial-gradient(circle at 12% 18%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 46% 11%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 34% 38%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 61% 22%, #e8c98a 0 1px, transparent 1.5px), radial-gradient(circle at 83% 44%, #fff 0 1px, transparent 1.5px), radial-gradient(circle at 92% 18%, #fff 0 1px, transparent 1.5px); }
.corner { position: absolute; z-index: 4; width: 17px; height: 17px; opacity: .42; }
.corner--tl { top: 24px; left: 24px; border-top: 1px solid #fff; border-left: 1px solid #fff; }.corner--tr { top: 24px; right: 24px; border-top: 1px solid #fff; border-right: 1px solid #fff; }.corner--bl { bottom: 24px; left: 24px; border-bottom: 1px solid #fff; border-left: 1px solid #fff; }.corner--br { bottom: 24px; right: 24px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; }
.hero-content { position: relative; z-index: 5; width: 68%; max-width: 980px; }
.hero-kicker { margin-bottom: 22px; display: flex; align-items: center; gap: 9px; color: #73737b; font-family: var(--font-geist-mono), monospace; font-size: 10px; letter-spacing: .1em; }
.ready-dot { width: 14px; height: 14px; display: inline-block; position: relative; background: var(--gold); }.ready-dot::before { content: "✦"; position: absolute; inset: 0; color: #0a0a0a; text-align: center; font-size: 8px; line-height: 14px; }
.section-code { display: flex; align-items: center; gap: 12px; color: #6f7078; font-family: var(--font-geist-mono), monospace; font-size: 10px; letter-spacing: .08em; }
.section-code i { width: 40px; height: 1px; display: block; background: currentColor; opacity: .55; }
.section-code--dark { color: #6a645f; }
.hero h1 { margin: 28px 0 24px; max-width: 980px; color: #fff; font-size: clamp(54px, 5.25vw, 81px); font-weight: 500; line-height: 1.03; letter-spacing: -.055em; }
.hero-content > p { max-width: 590px; margin: 0; color: #96969e; font-size: 18px; line-height: 1.65; }
.hero-actions { margin-top: 34px; display: flex; gap: 14px; }
.hero-meta { margin-top: 18px; display: flex; gap: 22px; color: #57575e; font-family: var(--font-geist-mono), monospace; font-size: 9px; letter-spacing: .08em; }.hero-meta span + span::before { content: "·"; margin-right: 22px; }
.hero-orbit { position: absolute; z-index: 1; right: 4%; top: 6%; width: 620px; height: 620px; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; }
.hero-orbit::before,.hero-orbit::after,.hero-orbit span { content: ""; position: absolute; inset: 11%; border: 1px solid rgba(255,255,255,.05); border-radius: 50%; }.hero-orbit::after { inset: 24%; }.hero-orbit span:nth-child(1) { inset: 38%; border-color: rgba(232,201,138,.12); }.hero-orbit span:nth-child(2) { width: 5px; height: 5px; inset: auto; top: 18%; left: 18%; background: var(--champagne); box-shadow: 0 0 16px var(--champagne); }.hero-orbit span:nth-child(3) { width: 3px; height: 3px; inset: auto; bottom: 19%; right: 20%; background: #fff; }
.hero-poster { position: absolute; z-index: 3; top: 166px; right: 8.2%; width: 300px; transform: rotate(2.2deg); filter: drop-shadow(0 30px 65px rgba(0,0,0,.72)); }
.frame { padding: 10px; background: #c8bba9; border: 10px solid #171515; box-shadow: inset 0 0 0 1px #4e4941; }
.map-status { position: absolute; right: -100px; bottom: 104px; width: 170px; padding: 14px; color: #a7a7ad; background: rgba(7,7,8,.93); border: 1px solid #303036; transform: rotate(-2.2deg); font-family: var(--font-geist-mono), monospace; }.map-status span,.map-status i { display: block; font-size: 8px; font-style: normal; letter-spacing: .08em; }.map-status strong { display: block; margin: 7px 0; color: #fff; font-size: 15px; font-weight: 400; }

.poster { aspect-ratio: 4 / 5.55; min-width: 0; padding: 8.5% 7.5% 7%; display: flex; flex-direction: column; align-items: center; color: #e9e3d7; background: #0b1019; box-shadow: 0 10px 25px rgba(0,0,0,.18); }
.poster--light { color: #293444; background: #fbf7ef; }.poster__eyebrow { align-self: stretch; padding-bottom: 5%; border-bottom: 1px solid currentColor; opacity: .58; text-align: center; font-family: var(--font-geist-mono), monospace; font-size: clamp(4px, .5vw, 7px); letter-spacing: .13em; }
.star-field { width: 86%; height: auto; margin: auto; color: currentColor; overflow: visible; }.star-field text { fill: currentColor; opacity: .5; font-family: var(--font-geist-mono), monospace; font-size: 7px; }
.poster__copy { align-self: stretch; text-align: center; }.poster__copy strong { display: block; font-size: clamp(7px, .9vw, 14px); font-weight: 500; letter-spacing: .06em; }.poster__copy span,.poster__copy i { display: block; margin-top: 4%; opacity: .65; font-family: var(--font-geist-mono), monospace; font-size: clamp(4px, .45vw, 6px); font-style: normal; letter-spacing: .08em; }

.signal-bar { height: 64px; padding: 0 48px; border-top: 1px solid #202024; border-bottom: 1px solid #202024; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #8d8d94; background: #0b0b0c; font-family: var(--font-geist-mono), monospace; font-size: 9px; letter-spacing: .1em; white-space: nowrap; overflow: hidden; }.signal-bar i { color: var(--gold); font-style: normal; }

.section { padding: 130px 48px; }.section--warm { color: #111; background: var(--ivory); }.section--paper { color: #111; background: var(--paper); }.section--ink { color: #fff; background: var(--ink); }
.section-heading h2,.workflow-intro h2,.delivery-heading h2,.faq-heading h2,.final-cta h2,.accuracy h2 { margin: 28px 0 0; font-size: clamp(48px, 5.4vw, 82px); font-weight: 500; line-height: 1.02; letter-spacing: -.055em; }.section-heading p { max-width: 460px; color: #67615c; font-size: 17px; line-height: 1.65; }
.split-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 70px; align-items: end; }
.split-heading > p { margin: 0 0 10px; }

.moment-grid { margin-top: 88px; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); display: grid; grid-template-columns: repeat(3, 1fr); }
.moment-card { min-height: 345px; padding: 28px; position: relative; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); display: flex; flex-direction: column; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }.moment-card:hover { z-index: 2; transform: translateY(-5px); box-shadow: 0 24px 50px rgba(38,30,19,.15); }.moment-card--navy { color: #fff; background: #192235; }.moment-card--sand { background: #ead9c3; }.moment-card--rose { background: #dca8a8; }.moment-card--blue { background: #b5cad8; }.moment-card--ivory { background: #f9f3e8; }.moment-card--gold { background: #dfbd79; }
.moment-card__index { font-family: var(--font-geist-mono), monospace; font-size: 10px; opacity: .55; }.mini-sky { position: absolute; top: 26px; right: 26px; width: 112px; height: 112px; border: 1px solid currentColor; border-radius: 50%; opacity: .6; }.mini-sky::before,.mini-sky::after { content: ""; position: absolute; inset: 18%; border: 1px solid currentColor; border-radius: 50%; opacity: .45; }.mini-sky::after { inset: 42%; background: currentColor; }.mini-sky i { width: 3px; height: 3px; position: absolute; border-radius: 50%; background: currentColor; }.mini-sky i:nth-child(1){left:18%;top:37%}.mini-sky i:nth-child(2){left:59%;top:18%}.mini-sky i:nth-child(3){left:75%;top:57%}.mini-sky i:nth-child(4){left:38%;top:75%}.mini-sky i:nth-child(5){left:48%;top:43%}
.moment-card > div { margin-top: auto; max-width: 260px; }.moment-card h3 { margin: 0 0 11px; font-size: 25px; font-weight: 550; letter-spacing: -.03em; }.moment-card p { margin: 0; opacity: .68; font-size: 14px; line-height: 1.55; }.moment-card > span[aria-hidden] + div + span,.moment-card > span:last-child { position: absolute; right: 28px; bottom: 28px; }

.workflow { border-top: 1px solid #1e1e22; }.workflow-intro { margin-top: 30px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; }.workflow-intro p { max-width: 450px; margin: 0 0 8px; color: #87878e; font-size: 17px; line-height: 1.65; }.steps { margin-top: 86px; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); display: grid; grid-template-columns: repeat(3,1fr); }.step { min-height: 390px; padding: 28px; position: relative; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }.step > span,.step small { color: #6f6f76; font-family: var(--font-geist-mono), monospace; font-size: 9px; letter-spacing: .08em; }.step b { position: absolute; top: 24px; right: 25px; color: #222228; font-size: 68px; font-weight: 500; line-height: 1; }.step h3 { margin: 182px 0 13px; font-size: 26px; font-weight: 520; letter-spacing: -.025em; }.step p { max-width: 330px; margin: 0; color: #85858d; font-size: 14px; line-height: 1.6; }.step small { position: absolute; left: 28px; bottom: 28px; }.section-button { margin-top: 38px; }

.creator-heading { max-width: 980px; }.creator-heading h2 em,.accuracy h2 em { font-family: Georgia, serif; font-weight: 400; }.creator-heading > p { margin-top: 26px; }
.creator-shell { margin-top: 74px; display: grid; grid-template-columns: 1.35fr .65fr; border: 1px solid #c8c1b6; background: #ebe5dc; box-shadow: 0 40px 90px rgba(48,35,18,.12); }
.creator-preview { min-width: 0; border-right: 1px solid #c8c1b6; }.creator-toolbar,.creator-caption,.control-head { height: 52px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: #746e66; background: #f7f2eb; border-bottom: 1px solid #c8c1b6; font-family: var(--font-geist-mono), monospace; font-size: 9px; letter-spacing: .08em; }.creator-toolbar i { padding: 5px 9px; border: 1px solid #c8c1b6; font-style: normal; }.creator-canvas { height: 685px; padding: 60px; display: grid; place-items: center; background-image: linear-gradient(rgba(70,60,48,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(70,60,48,.055) 1px,transparent 1px); background-size: 34px 34px; }.creator-canvas .poster { width: 345px; box-shadow: 0 25px 50px rgba(25,20,15,.28); }.creator-caption { border-top: 1px solid #c8c1b6; border-bottom: 0; }
.creator-controls { padding: 0 28px 28px; background: #f8f3ec; }.control-head { margin: 0 -28px 16px; background: #f8f3ec; }.creator-controls label { padding: 17px 0; border-bottom: 1px solid #d5cec4; display: block; }.creator-controls label span,.swatches > span { display: block; margin-bottom: 7px; color: #868078; font-family: var(--font-geist-mono), monospace; font-size: 8px; letter-spacing: .1em; }.creator-controls label strong { display: block; font-size: 13px; font-weight: 500; }.control-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.swatches { padding: 18px 0; border-bottom: 1px solid #d5cec4; }.swatches div { display: flex; gap: 10px; }.swatches i { width: 25px; height: 25px; border: 1px solid #c1b8ab; background: #0c111c; }.swatches i:nth-child(2){background:#f7f1e8}.swatches i:nth-child(3){background:#8c3d46}.swatches i:nth-child(4){background:#567189}.swatches i:nth-child(5){background:#b79a6c}.swatches i.active { outline: 1px solid #111; outline-offset: 3px; }
.toggles { padding: 18px 0; }.toggles span { padding: 8px 0; display: flex; align-items: center; gap: 9px; color: #46413d; font-family: var(--font-geist-mono), monospace; font-size: 8px; letter-spacing: .06em; }.toggles i { width: 24px; height: 12px; position: relative; border-radius: 8px; background: #171717; }.toggles i::after { content:""; position:absolute; width:8px;height:8px;right:2px;top:2px;border-radius:50%;background:#fff; }.creator-controls small { display: block; margin-top: 13px; text-align: center; color:#8a847c; font-family:var(--font-geist-mono),monospace;font-size:8px;letter-spacing:.08em; }

.template-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 60px; align-items: end; }.template-heading p { color: #85858c; margin-bottom: 8px; }.template-grid { margin-top: 80px; display: grid; grid-template-columns: repeat(3,1fr); gap: 58px 24px; }.template-art { height: 560px; padding: 48px; display: grid; place-items: center; overflow: hidden; }.template-art--ink { background: #15181f; }.template-art--paper { background: #ded6c9; }.template-art--peach { background: #cba599; }.template-art--linen { background: #d7c9b6; }.template-art--deep { background: #11172a; }.template-art--sage { background: #9da79a; }.template-art .poster { width: 260px; transition: transform .35s ease; }.template-card:hover .poster { transform: scale(1.025) rotate(-1deg); }.template-info { padding-top: 18px; border-top: 1px solid #333338; display: grid; grid-template-columns: 32px 1fr auto; gap: 14px; align-items: start; }.template-info > span,.template-info p { color:#68686f;font-family:var(--font-geist-mono),monospace;font-size:8px;letter-spacing:.08em; }.template-info h3 { margin:0 0 7px;font-size:20px;font-weight:520; }.template-info p { margin:0; }.template-info a { width:36px;height:36px;border:1px solid #333338;display:grid;place-items:center;transition:.2s ease; }.template-info a:hover{color:#111;background:#fff;}.template-section .section-button { display: flex; width: max-content; margin-left: auto; margin-right: auto; }

.accuracy { min-height: 820px; display: grid; grid-template-columns: 1fr 1fr; background: #090b10; }.accuracy-copy { padding: 120px 7vw 110px 48px; display: flex; flex-direction: column; justify-content: center; }.accuracy h2 { font-size: clamp(47px,4.7vw,72px); }.accuracy-copy > p { max-width:540px;color:#919198;font-size:17px;line-height:1.7; }.accuracy ul { margin:32px 0;padding:0;list-style:none;border-top:1px solid #29292f; }.accuracy li { padding:15px 0;border-bottom:1px solid #29292f;color:#77777f;font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.09em; }.accuracy li::before{content:"+";color:var(--gold);margin-right:16px;}.text-link{width:max-content;margin-top:12px;padding-bottom:7px;border-bottom:1px solid #fff;font-family:var(--font-geist-mono),monospace;font-size:10px;letter-spacing:.08em;}.text-link span{margin-left:30px;}
.accuracy-visual {
  position: relative;
  overflow: hidden;
  border-left: 1px solid #22232a;
  background:
    linear-gradient(180deg, rgba(3,5,10,.08) 0%, rgba(3,5,10,.2) 45%, rgba(3,5,10,.78) 100%),
    url("images/accuracy/observatory-night.webp") center / cover no-repeat;
  display: grid;
  place-items: center;
}
.accuracy-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .16;
  pointer-events: none;
}
.accuracy-visual::after {
  content: "";
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(transparent calc(50% - .5px), rgba(232,201,138,.28) 50%, transparent calc(50% + .5px)),
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(232,201,138,.28) 50%, transparent calc(50% + .5px));
  box-shadow: inset 0 0 80px rgba(0,0,0,.2);
  pointer-events: none;
}
.accuracy-sky {
  position: absolute;
  z-index: 2;
  top: 14%;
  right: 8%;
  width: min(48%, 360px);
  aspect-ratio: 1;
  padding: 20px;
  border: 1px solid rgba(232,201,138,.48);
  border-radius: 50%;
  background: rgba(3,6,12,.64);
  box-shadow: 0 22px 70px rgba(0,0,0,.48), inset 0 0 45px rgba(74,102,144,.16);
  backdrop-filter: blur(7px);
}
.accuracy-sky::before {
  content: "РАСЧЁТ НЕБА · ДАТА · ВРЕМЯ · КООРДИНАТЫ";
  position: absolute;
  top: -30px;
  right: 0;
  color: rgba(255,255,255,.82);
  font-family: var(--font-geist-mono), monospace;
  font-size: 10px;
  letter-spacing: .09em;
  white-space: nowrap;
}
.accuracy-sky .star-field { width: 100%; height: 100%; margin: 0; }
.coordinate {
  position: absolute;
  z-index: 3;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.64);
  background: rgba(3,6,12,.62);
  backdrop-filter: blur(6px);
  font-family: var(--font-geist-mono), monospace;
  font-size: 8px;
  letter-spacing: .08em;
}
.coordinate strong { display:block;margin-top:6px;color:#fff;font-size:12px;font-weight:400 }
.coordinate--a { top: 11%; left: 8%; }
.coordinate--b { right: 8%; bottom: 16%; text-align: right; }
.calculation-line {
  position: absolute;
  z-index: 3;
  left: 8%;
  right: 8%;
  bottom: 7%;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.16);
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.72);
  background: rgba(3,6,12,.7);
  backdrop-filter: blur(6px);
  font-family: var(--font-geist-mono), monospace;
  font-size: 8px;
  letter-spacing: .08em;
}
.calculation-line i { height:1px;flex:1;background:rgba(232,201,138,.48); }

.delivery-grid{margin-top:70px;display:grid;grid-template-columns:1.15fr repeat(3,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.delivery-grid>div,.delivery-grid article{min-height:430px;padding:28px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.delivery-heading h2{font-size:clamp(44px,4vw,64px)}.delivery-heading p{max-width:300px;color:#706a64;line-height:1.6}.delivery-grid article{position:relative}.delivery-grid article>span{font-family:var(--font-geist-mono),monospace;font-size:9px;color:#8a837b}.delivery-grid h3{margin:190px 0 12px;font-size:22px;font-weight:520}.delivery-grid article p{color:#6f6963;font-size:14px;line-height:1.6}.delivery-icon{position:absolute;top:65px;right:35px;width:95px;height:95px;border:1px solid #77716a;border-radius:50%}.delivery-icon::before,.delivery-icon::after{content:"";position:absolute}.delivery-icon--download::before{left:46px;top:22px;width:1px;height:39px;background:#555}.delivery-icon--download::after{left:37px;top:48px;width:18px;height:18px;border-right:1px solid #555;border-bottom:1px solid #555;transform:rotate(45deg)}.delivery-icon--print::before{inset:25px 19px;border:1px solid #555}.delivery-icon--print::after{left:28px;right:28px;top:17px;height:60px;border-top:1px solid #555;border-bottom:1px solid #555}.delivery-icon--gift::before{inset:31px 19px 18px;border:1px solid #555}.delivery-icon--gift::after{left:46px;top:18px;width:1px;height:59px;background:#555;box-shadow:-27px 17px 0 -0.5px #555}

.use-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end}.use-heading p{margin-bottom:7px}.use-grid{margin-top:72px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.use-grid article{min-height:360px;padding:30px;border:1px solid #d6cfc5;display:flex;flex-direction:column}.use-grid article span{color:#8c857c;font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.08em}.use-grid h3{margin:auto 0 16px;font-size:29px;font-weight:510;letter-spacing:-.035em;line-height:1.08}.use-grid p{margin:0;color:#716b64;font-size:14px;line-height:1.6}

.faq{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px}.faq-heading{position:sticky;top:90px;align-self:start}.faq-heading h2{font-size:clamp(46px,4.5vw,70px)}.faq-list{border-top:1px solid #c8c0b5}.faq-list details{border-bottom:1px solid #c8c0b5}.faq-list summary{min-height:92px;padding:24px 0;display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:14px;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#999187;font-family:var(--font-geist-mono),monospace;font-size:9px}.faq-list summary strong{font-size:18px;font-weight:520}.faq-list summary i{width:16px;height:16px;position:relative}.faq-list summary i::before,.faq-list summary i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:1px;background:#111;transition:.2s}.faq-list summary i::after{transform:rotate(90deg)}.faq-list details[open] summary i::after{transform:rotate(0)}.faq-list details p{max-width:640px;margin:-8px 40px 28px 58px;color:#6e6861;font-size:15px;line-height:1.7}

.final-cta{min-height:760px;padding:120px 48px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#050505}.final-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 28%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 38% 16%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 68% 24%,#e8c98a 0 1px,transparent 1.4px),radial-gradient(circle at 86% 62%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 28% 78%,#fff 0 1px,transparent 1.4px);opacity:.5}.final-stars::before,.final-stars::after{content:"";position:absolute;left:50%;top:50%;width:650px;aspect-ratio:1;border:1px solid rgba(255,255,255,.055);border-radius:50%;transform:translate(-50%,-50%)}.final-stars::after{width:430px}.final-cta>*:not(.corner,.final-stars){position:relative;z-index:2}.final-cta h2{max-width:1050px}.final-cta p{margin:24px 0 34px;color:#888890;font-size:18px}.final-note{margin-top:18px;color:#54545b;font-family:var(--font-geist-mono),monospace;font-size:8px;letter-spacing:.08em}

footer{padding:70px 48px 35px;background:#050505;border-top:1px solid #1c1c20;display:grid;grid-template-columns:1fr 1fr;gap:70px}.brand--footer{font-size:22px}.footer-links{display:flex;justify-content:flex-end;gap:28px}.footer-links a,.footer-meta{color:#76767e;font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.08em}.footer-links a:hover{color:#fff}.footer-meta{grid-column:1/-1;padding-top:32px;border-top:1px solid #1c1c20;display:flex;justify-content:space-between}

@media (max-width: 1100px){
  .desktop-nav{display:none}.hero-content{width:72%}.hero-poster{right:5%;width:260px}.map-status{display:none}.hero h1{font-size:58px}.moment-grid,.template-grid{grid-template-columns:repeat(2,1fr)}.creator-shell{grid-template-columns:1fr .72fr}.creator-canvas{height:600px;padding:40px}.delivery-grid{grid-template-columns:1fr 1fr}.delivery-heading{grid-column:1/-1;min-height:260px!important}.delivery-grid h3{margin-top:170px}
}

@media (max-width: 960px){
  .site-header{height:84px;padding:24px 20px;align-items:flex-start}.brand{font-size:13px}.header-actions{display:none}.mobile-menu{display:block}.mobile-menu summary{width:44px;height:36px;border:1px solid #34343a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{width:16px;height:1px;background:#fff}.mobile-menu[open] summary span:first-child{transform:translateY(3.5px) rotate(45deg)}.mobile-menu[open] summary span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu__panel{position:absolute;top:72px;left:12px;right:12px;padding:22px;background:#0a0a0b;border:1px solid #313136;display:flex;flex-direction:column;gap:0}.mobile-menu__panel>a:not(.button){padding:15px 4px;border-bottom:1px solid #252529;color:#aaa;font-family:var(--font-geist-mono),monospace;font-size:10px;letter-spacing:.08em}.mobile-menu__panel .button{margin-top:18px}
  .hero{height:auto;min-height:920px;max-height:none;padding:420px 20px 45px;align-items:flex-end}.hero::before{background-size:auto,auto,54px 54px,54px 54px}.hero-poster{top:104px;right:50%;width:205px;transform:translateX(50%) rotate(1.2deg)}.hero-orbit{width:410px;height:410px;right:50%;top:28px;transform:translateX(50%)}.hero-content{width:100%}.hero-kicker{margin-bottom:15px}.hero h1{margin:20px 0;font-size:43px;line-height:1.02}.hero h1 br{display:none}.hero-content>p{font-size:15px;line-height:1.6}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-meta{gap:7px;justify-content:space-between;font-size:7px}.hero-meta span+span::before{display:none}.corner--tl,.corner--tr{top:12px}.corner--bl,.corner--br{bottom:12px}.corner--tl,.corner--bl{left:12px}.corner--tr,.corner--br{right:12px}
  .signal-bar{height:52px;padding:0 20px;gap:20px;justify-content:flex-start;font-size:8px}.signal-bar span:nth-of-type(n+3),.signal-bar i:nth-of-type(n+2){display:none}
  .section{padding:88px 20px}.section-heading h2,.workflow-intro h2,.delivery-heading h2,.faq-heading h2,.final-cta h2,.accuracy h2{font-size:43px}.split-heading,.workflow-intro,.template-heading,.use-heading{grid-template-columns:1fr;gap:28px}.section-heading p,.workflow-intro p{font-size:15px}.moment-grid{margin-top:52px;grid-template-columns:1fr}.moment-card{min-height:270px}.steps{margin-top:50px;grid-template-columns:1fr}.step{min-height:330px}.step h3{margin-top:130px}
  .creator-shell{margin-top:48px;grid-template-columns:1fr}.creator-preview{border-right:0;border-bottom:1px solid #c8c1b6}.creator-canvas{height:500px;padding:38px 24px}.creator-canvas .poster{width:250px}.creator-controls{padding:0 20px 22px}.control-head{margin:0 -20px 16px}.creator-heading h2 br{display:none}
  .template-grid{margin-top:52px;grid-template-columns:1fr;gap:44px}.template-art{height:500px;padding:42px}.template-art .poster{width:235px}
  .accuracy{grid-template-columns:1fr}.accuracy-copy{padding:88px 20px}.accuracy-visual{min-height:560px;border-left:0;border-top:1px solid #22232a}.accuracy-sky{width:76%}
  .delivery-grid{margin-top:48px;grid-template-columns:1fr}.delivery-heading{grid-column:auto;min-height:260px!important}.delivery-grid>div,.delivery-grid article{min-height:360px}.delivery-grid h3{margin-top:145px}.use-grid{margin-top:48px;grid-template-columns:1fr}.use-grid article{min-height:300px}.faq{grid-template-columns:1fr;gap:48px}.faq-heading{position:static}.faq-list summary{grid-template-columns:34px 1fr 22px;min-height:82px}.faq-list summary strong{font-size:16px}.faq-list details p{margin:-5px 30px 26px 48px}.final-cta{min-height:650px;padding:90px 20px}.final-cta h2 br{display:none}.final-stars::before{width:480px}.final-stars::after{width:290px}footer{padding:55px 20px 28px;grid-template-columns:1fr;gap:36px}.footer-links{justify-content:flex-start;flex-wrap:wrap}.footer-meta{grid-column:auto;flex-direction:column;gap:12px}
}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Russian emotional edition */
.starfield-canvas {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .8;
  mask-image: linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
}

.hero::after { opacity: .15; }
.desktop-nav { margin-right: 26px; gap: 22px; }

.moment-grid { border-color: rgba(255,255,255,.12); }
.moment-card {
  min-height: 470px;
  padding: 30px;
  color: #fff;
  background: #111;
  border-color: rgba(255,255,255,.14);
  isolation: isolate;
}
.moment-card__image,
.moment-card__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.moment-card__image { z-index: -2; object-fit: cover; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.moment-card__shade { z-index: -1; background: linear-gradient(to bottom, rgba(4,5,8,.08) 16%, rgba(4,5,8,.18) 48%, rgba(4,5,8,.94) 100%); }
.moment-card:hover .moment-card__image { transform: scale(1.045); }
.moment-card__index { padding: 6px 8px; width: max-content; color: #fff; background: rgba(5,5,5,.54); backdrop-filter: blur(10px); opacity: 1; }
.moment-card > div { position: relative; z-index: 1; max-width: 88%; }
.moment-card h3 { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.moment-card p { color: rgba(255,255,255,.88); opacity: 1; }
.moment-card > span:last-child { z-index: 2; color: #fff; }

/* All supporting typography is deliberately 50% larger; display headings stay unchanged. */
.desktop-nav a { font-size: 16.5px; }
.button { font-size: 18px; }
.hero-kicker,
.section-code { font-size: 15px; }
.hero-content > p { max-width: 700px; font-size: 27px; line-height: 1.48; }
.hero-meta { font-size: 13.5px; }
.map-status span,
.map-status i { font-size: 12px; }
.map-status strong { font-size: 22.5px; }
.poster__eyebrow { font-size: clamp(6px, .75vw, 10.5px); }
.poster__copy span,
.poster__copy i { font-size: clamp(6px, .68vw, 9px); }
.signal-bar { height: 74px; font-size: 13.5px; }
.section-heading p,
.workflow-intro p { font-size: 25.5px; line-height: 1.5; }
.moment-card__index { font-size: 15px; }
.moment-card p { font-size: 21px; line-height: 1.5; }
.step > span,
.step small { font-size: 13.5px; }
.step p { max-width: 390px; font-size: 21px; line-height: 1.5; }
.template-info > span,
.template-info p { font-size: 12px; }
.accuracy-copy > p { font-size: 25.5px; line-height: 1.5; }
.accuracy li { font-size: 13.5px; }
.text-link { font-size: 15px; }
.coordinate,
.calculation-line { font-size: 12px; }
.coordinate strong { font-size: 18px; }
.delivery-heading p { max-width: 420px; font-size: 24px; }
.delivery-grid article > span { font-size: 13.5px; }
.delivery-grid article p { font-size: 21px; line-height: 1.5; }
.use-grid article span { font-size: 13.5px; }
.use-grid p { font-size: 21px; line-height: 1.5; }
.faq-list summary span { font-size: 13.5px; }
.faq-list summary strong { font-size: 27px; }
.faq-list details p { font-size: 22.5px; line-height: 1.55; }
.final-cta p { font-size: 27px; }
.final-note { font-size: 12px; }
.footer-links a,
.footer-meta { font-size: 13.5px; }

/* Hero artwork is deliberately oversized so the product is visible immediately. */
.hero-poster {
  top: 138px;
  right: 6.5%;
  width: clamp(340px, 21vw, 430px);
}
.map-status { right: -82px; bottom: 116px; }

/* Interior template gallery: room first, full design on hover. */
.template-art {
  height: auto;
  aspect-ratio: 1;
  padding: 0;
  position: relative;
  isolation: isolate;
  background-color: #cfc6ba;
  background-image: url("images/interiors/template-rooms.webp");
  background-repeat: no-repeat;
  background-size: 300% 200%;
}
.template-art::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(5,5,7,.82);
  opacity: 0;
  transition: opacity .5s ease;
}
.template-art .poster {
  z-index: 2;
  width: auto;
  height: 49%;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(0,0,0,.38);
  transform: translateY(-28%);
  transition: transform .55s cubic-bezier(.2,.75,.2,1), box-shadow .55s ease;
}
.template-card:nth-child(2) .template-art .poster { height: 54%; }
.template-card:nth-child(3) .template-art .poster { height: 52%; }
.template-card:nth-child(4) .template-art .poster { height: 53%; }
.template-card:nth-child(5) .template-art .poster { height: 52%; }
.template-card:nth-child(6) .template-art .poster { height: 53%; }
.template-art .poster__eyebrow { font-size: 5px; }
.template-art .poster__copy strong { font-size: 7px; }
.template-art .poster__copy span,
.template-art .poster__copy i { font-size: 4px; }
.template-art .star-field { min-height: 0; flex: 1; }
.template-card:hover .template-art::after { opacity: 1; }
.template-card:hover .template-art .poster {
  transform: translateY(0) scale(1.62);
  box-shadow: 0 30px 75px rgba(0,0,0,.65);
}

/* Typography refinement: stronger contrast, calmer spacing, fewer "technical" small labels. */
body { font-weight: 430; }
.desktop-nav a,
.button,
.hero-kicker,
.section-code,
.hero-meta,
.signal-bar,
.step > span,
.step small,
.template-info > span,
.template-info p,
.accuracy li,
.text-link,
.delivery-grid article > span,
.use-grid article span,
.footer-links a,
.footer-meta {
  font-weight: 540;
  letter-spacing: .065em;
}
.hero-content > p,
.workflow-intro p,
.accuracy-copy > p,
.final-cta p { color: #b0b0b8; }
.template-heading p { color: #aaaab2; }
.section-heading p,
.delivery-heading p,
.delivery-grid article p,
.use-grid p,
.faq-list details p { color: #56504a; }
.template-section .template-heading p { color: #aaaab2; }
.template-section .template-info > span,
.template-section .template-info p { color: #9a9aa3; }
.template-card:first-child .template-art .poster { transform: translate(12%, -28%); }
.template-card:first-child:hover .template-art .poster { transform: translateY(0) scale(1.62); }
.template-info h3 { font-size: 24px; }
.template-info > span,
.template-info p { font-size: 15px; line-height: 1.4; }
.template-info { padding-top: 22px; }

@media (max-width: 1100px) {
  .hero-poster { right: 4%; width: 300px; }
}

@media (max-width: 960px) {
  .mobile-menu__panel > a:not(.button) { font-size: 15px; }
  .hero { min-height: 1080px; }
  .hero-content > p,
  .section-heading p,
  .workflow-intro p,
  .accuracy-copy > p { font-size: 22.5px; }
  .hero-meta { font-size: 10.5px; }
  .signal-bar { height: 64px; font-size: 12px; }
  .moment-card { min-height: 440px; }
  .moment-card p,
  .step p,
  .delivery-grid article p,
  .use-grid p { font-size: 19px; }
  .faq-list summary strong { font-size: 22px; }
  .faq-list details p { font-size: 20px; }
  .footer-links a,
  .footer-meta { font-size: 12px; }
  .hero-poster { top: 88px; width: 250px; }
  .template-art { height: auto; padding: 0; }
  .template-art .poster { width: auto; }
  .template-info > span,
  .template-info p { font-size: 14px; }
}

/* Final CTA: richer sky and editorial type contrast */
.final-cta h2 { font-weight: 440; }
.final-cta h2 em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.045em;
}

.final-stars {
  opacity: .78;
  background-image:
    radial-gradient(circle at 5% 12%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 12% 44%, #fff 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 18% 71%, #e8c98a 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 25% 24%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 31% 88%, #fff 0 1.4px, transparent 2px),
    radial-gradient(circle at 39% 37%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 46% 13%, #e8c98a 0 1px, transparent 1.6px),
    radial-gradient(circle at 53% 69%, #fff 0 1.3px, transparent 1.9px),
    radial-gradient(circle at 61% 31%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 68% 84%, #e8c98a 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 74% 16%, #fff 0 1.4px, transparent 2px),
    radial-gradient(circle at 81% 53%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 88% 76%, #fff 0 1.3px, transparent 1.9px),
    radial-gradient(circle at 94% 29%, #e8c98a 0 1.2px, transparent 1.8px);
}

.final-stars::before {
  box-shadow:
    -430px -180px 0 -324px rgba(255,255,255,.55),
    390px -135px 0 -324px rgba(255,255,255,.45),
    -360px 205px 0 -324px rgba(232,201,138,.55),
    430px 190px 0 -324px rgba(255,255,255,.5);
}

/* Final interaction and hierarchy pass */
.desktop-nav a { font-size: 14.5px; font-weight: 430; }
.button { font-size: 16px; font-weight: 440; letter-spacing: .075em; }

.moment-card:hover { transform: none; }
.moment-card__image,
.moment-card:hover .moment-card__image { transform: none; transition: none; }

.hero-lead {
  max-width: 610px !important;
  padding-left: 22px;
  border-left: 2px solid var(--gold);
  color: #898991 !important;
  font-size: 22px !important;
  line-height: 1.52 !important;
}
.hero-lead strong,
.hero-lead span { display: block; }
.hero-lead strong {
  margin-bottom: 8px;
  color: #f4f4f5;
  font-size: 1.08em;
  font-weight: 540;
  letter-spacing: -.018em;
}

.accuracy h2 { font-weight: 440; }
.accuracy h2 em { font-weight: 360; }

.signal-bar { padding: 0; display: block; }
.signal-bar__track {
  width: max-content;
  height: 100%;
  display: flex;
  align-items: center;
  animation: signal-marquee 25s linear infinite;
  will-change: transform;
}
.signal-bar__group {
  padding-left: 38px;
  display: flex;
  align-items: center;
  gap: 38px;
  flex-shrink: 0;
}
.signal-bar__group::after {
  content: "✦";
  margin-right: 0;
  color: var(--gold);
}
@keyframes signal-marquee { to { transform: translateX(-50%); } }

.template-art::after { background: rgba(0,0,0,.8); transition: opacity .25s ease; }
.template-art .poster,
.template-card:first-child .template-art .poster {
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

/* Denser final sky, no decorative corner brackets */
.final-cta > .corner { display: none; }
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .48;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.95) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(232,201,138,.8) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(255,255,255,.72) 0 1.2px, transparent 1.9px),
    radial-gradient(circle, rgba(255,255,255,.68) 0 .8px, transparent 1.5px);
  background-position: 17px 31px, 103px 77px, 211px 143px, 278px 52px;
  background-size: 293px 227px, 347px 269px, 419px 311px, 251px 193px;
}

/* Cleaner pictograms for the delivery section */
.delivery-icon {
  width: 112px;
  height: 112px;
  border-color: rgba(45,40,35,.42);
  background: rgba(255,255,255,.34);
  box-shadow: inset 0 0 0 10px rgba(255,255,255,.18);
}
.delivery-icon::before {
  content: "";
  position: absolute;
  inset: 27px;
  width: auto;
  height: auto;
  border: 0;
  box-shadow: none;
  transform: none;
  background: #38332e;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.delivery-icon::after { display: none; }
.delivery-icon--download::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");
}
.delivery-icon--print::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E");
}
.delivery-icon--gift::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v9H4v-9'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M12 7H7.5A2.5 2.5 0 1 1 10 4.5C10 7 12 7 12 7Z'/%3E%3Cpath d='M12 7h4.5A2.5 2.5 0 1 0 14 4.5C14 7 12 7 12 7Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v9H4v-9'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M12 7H7.5A2.5 2.5 0 1 1 10 4.5C10 7 12 7 12 7Z'/%3E%3Cpath d='M12 7h4.5A2.5 2.5 0 1 0 14 4.5C14 7 12 7 12 7Z'/%3E%3C/svg%3E");
}
.template-card:hover .template-art .poster,
.template-card:first-child:hover .template-art .poster,
.template-card:focus-within .template-art .poster,
.template-card:first-child:focus-within .template-art .poster {
  opacity: 1;
  height: calc(100% - 44px);
  max-width: calc(100% - 44px);
  transform: none;
  box-shadow: 0 24px 60px rgba(0,0,0,.65);
}

.template-card:focus-within .template-art::after { opacity: 1; }

@media (hover: none) {
  .template-card:hover .template-art .poster,
  .template-card:focus-within .template-art .poster { opacity: 0; }
  .template-card:hover .template-art::after,
  .template-card:focus-within .template-art::after { opacity: 0; }
}

@media (max-width: 960px) {
  .accuracy-visual { background-position: 54% center; }
  .accuracy-sky {
    top: 17%;
    right: 7%;
    width: min(62%, 360px);
    padding: 16px;
  }
  .accuracy-sky::before {
    top: -25px;
    max-width: 62vw;
    overflow: hidden;
    font-size: 8px;
    text-overflow: ellipsis;
  }
  .coordinate { padding: 8px 10px; }
  .coordinate--a { top: 7%; left: 6%; }
  .coordinate--b { right: 6%; bottom: 18%; }
  .calculation-line { left: 6%; right: 6%; bottom: 6%; }
}

@media (max-width: 960px) {
  .mobile-menu__panel > a:not(.button) { font-size: 13px; font-weight: 430; }
  .button { font-size: 14px; }
  .hero-lead { padding-left: 16px; font-size: 19px !important; }
  .signal-bar__group { padding-left: 28px; gap: 28px; }
  .signal-bar__group::after { margin-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .signal-bar__track { animation-play-state: paused; }
}

/* Second refinement: smoother hero, seamless ticker, clearer section rhythm */
.starfield-canvas {
  opacity: .96;
  mask-image: none;
  -webkit-mask-image: none;
}

.hero {
  align-items: center;
  padding-top: 150px;
  padding-bottom: 54px;
}

.hero-content { width: 52%; max-width: 900px; }
.hero h1 { margin-top: 24px; margin-bottom: 26px; }
.hero-lead { max-width: 570px !important; }

.signal-bar__track {
  animation-name: signal-marquee-seamless;
  animation-duration: 42s;
}

@keyframes signal-marquee-seamless {
  to { transform: translateX(calc(-1 * var(--marquee-distance, 1000px))); }
}

.moment-card__image,
.moment-card:hover .moment-card__image {
  transition: transform .65s cubic-bezier(.2,.8,.2,1);
}
.moment-card:hover .moment-card__image { transform: scale(1.055); }

.workflow {
  color: #111;
  background: var(--paper);
  border-top-color: #d8d1c7;
}
.workflow .section-code { color: #6a645f; }
.workflow-intro p,
.workflow .step p { color: #67615c; }
.workflow .steps { border-color: var(--line-dark); }
.workflow .step {
  min-height: 460px;
  display: flex;
  flex-direction: column;
  border-color: var(--line-dark);
}
.workflow .step h3 { margin: 170px 0 13px; }
.workflow .step p { margin-bottom: 28px; }
.workflow .step small {
  position: static;
  display: block;
  margin-top: auto;
  line-height: 1.45;
}
.workflow .step b { color: #e6dfd5; }
.workflow .step > span,
.workflow .step small { color: #7d766d; }
.workflow .button--light {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}
.workflow .button--light:hover {
  color: var(--ink);
  background: transparent;
}

.partner-program {
  padding: 120px 48px;
  color: #111;
  background: #f1dfad;
  border-top: 1px solid #d2b96f;
  border-bottom: 1px solid #d2b96f;
}
.partner-program__head {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 80px;
  align-items: end;
}
.partner-program h2 {
  max-width: 900px;
  margin: 28px 0 0;
  font-size: clamp(48px, 5vw, 78px);
  font-weight: 460;
  line-height: 1.02;
  letter-spacing: -.055em;
}
.partner-program__intro {
  max-width: 560px;
  margin: 0 0 8px;
  color: #554821;
  font-size: 22px;
  line-height: 1.55;
}
.partner-program__grid {
  margin-top: 70px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(56,42,17,.34);
  border-left: 1px solid rgba(56,42,17,.34);
}
.partner-option {
  min-height: 390px;
  padding: 34px;
  position: relative;
  border-right: 1px solid rgba(56,42,17,.34);
  border-bottom: 1px solid rgba(56,42,17,.34);
}
.partner-option > span {
  color: #786229;
  font-family: var(--font-geist-mono), monospace;
  font-size: 13px;
  letter-spacing: .07em;
}
.partner-option h3 {
  max-width: 520px;
  margin: 150px 0 16px;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: -.035em;
}
.partner-option p {
  max-width: 600px;
  margin: 0;
  color: #554821;
  font-size: 20px;
  line-height: 1.55;
}
.partner-program .button { width: max-content; margin-top: 38px; }

@media (max-width: 1100px) {
  .hero-content { width: 56%; }
}

@media (max-width: 960px) {
  .hero { align-items: flex-end; padding-top: 420px; }
  .hero-content { width: 100%; }
  .partner-program { padding: 88px 20px; }
  .partner-program__head,
  .partner-program__grid { grid-template-columns: 1fr; }
  .partner-program__head { gap: 28px; }
  .partner-program h2 { font-size: 43px; }
  .partner-program__intro { font-size: 19px; }
  .partner-program__grid { margin-top: 48px; }
  .partner-option { min-height: 330px; padding: 26px; }
  .partner-option h3 { margin-top: 110px; font-size: 28px; }
  .partner-option p { font-size: 18px; }
}

/* Responsive QA pass: keep navigation available on landscape tablets and
   resolve the portrait/mobile artwork conflict introduced by later overrides. */
@media (min-width: 961px) and (max-width: 1100px) {
  .site-header { justify-content: flex-start; }
  .header-actions { margin-left: auto; }
  .mobile-menu { display: block; margin-left: 14px; }
  .mobile-menu summary {
    width: 51px;
    height: 51px;
    border: 1px solid #34343a;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    list-style: none;
  }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { width: 17px; height: 1px; background: #fff; }
  .mobile-menu[open] summary span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .mobile-menu[open] summary span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu__panel {
    position: absolute;
    top: 100px;
    left: 32px;
    right: 32px;
    padding: 24px;
    background: #0a0a0b;
    border: 1px solid #313136;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 28px;
  }
  .mobile-menu__panel > a:not(.button) {
    padding: 16px 4px;
    border-bottom: 1px solid #252529;
    color: #aaa;
    font-family: var(--font-geist-mono), monospace;
    font-size: 13px;
    letter-spacing: .08em;
  }
  .mobile-menu__panel .button { grid-column: 1 / -1; margin-top: 20px; }
}

@media (max-width: 960px) {
  .mobile-menu:not([open]) .mobile-menu__panel { display: none; }
  .mobile-menu summary { min-height: 44px; }
  .hero-poster {
    right: 50%;
    transform: translateX(50%) rotate(1.2deg);
  }
  .hero h1,
  .section-heading h2,
  .workflow-intro h2,
  .delivery-heading h2,
  .faq-heading h2,
  .final-cta h2,
  .accuracy h2,
  .partner-program h2 {
    font-size: clamp(36px, 11vw, 43px);
  }
  .section-button {
    max-width: 100%;
    padding-right: 14px;
    padding-left: 14px;
    gap: 14px;
    white-space: normal;
    text-align: center;
  }
  .workflow .section-button,
  .template-section .section-button { width: 100%; }
  .template-section .section-button { font-size: 13px; }
  .template-info a { width: 44px; height: 44px; }
  .text-link {
    min-height: 44px;
    padding-bottom: 0;
    display: inline-flex;
    align-items: center;
  }
}

.mobile-menu:not([open]) .mobile-menu__panel { display: none; }

@media (min-width: 640px) and (max-width: 960px) {
  .moment-grid,
  .template-grid,
  .delivery-grid,
  .use-grid,
  .partner-program__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .delivery-heading { grid-column: 1 / -1 !important; }
  .moment-card { min-height: 400px; }
}

@media (max-width: 1100px) {
  .template-info a { width: 44px; height: 44px; }
  .text-link {
    min-height: 44px;
    padding-bottom: 0;
    display: inline-flex;
    align-items: center;
  }
}
