html { scroll-behavior: smooth; }
body { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.hero-background { background: radial-gradient(ellipse at 15% 20%, #dbeafe 0, transparent 45%), linear-gradient(135deg, #f8fbff, #fff 70%); }
.field { display: block; width: 100%; margin-top: .5rem; padding: .85rem 1rem; border: 1px solid #cbd5e1; border-radius: .8rem; background: white; color: #0f172a; font-size: 1rem; transition: border-color .2s, box-shadow .2s; }
.field:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px #dbeafe; }
.success-enter { animation: appear .5s ease-out both; }
@keyframes appear { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .success-enter { animation: none; } .field { transition: none; } }

/* Переменные и атрибуты варианта подставляются сервером из сохранённой темы домена. */
:root { --accent:#2563eb; --accent-hover:#1d4ed8; --soft:#eff6ff; --line:#bfdbfe; --glow:#dbeafe; --radius:24px; }
body .text-blue-600, body .text-blue-700 { color:var(--accent); }
body .bg-blue-600, body .bg-blue-500 { background-color:var(--accent); }
body .bg-blue-50, body .bg-blue-100 { background-color:var(--soft); }
body .border-blue-100 { border-color:var(--line); }
body #submit-button:hover { background-color:var(--accent-hover); }
body header a[href="#application"]:hover { background-color:var(--glow); }
body .field:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--soft); }
body #submit-button:focus-visible { outline-color:var(--accent); }
body #application, body .steps-section article { border-radius:var(--radius); }
body .field, body #submit-button { border-radius:clamp(6px, calc(var(--radius) / 2), 16px); }
.hero-background { background:radial-gradient(ellipse at 15% 20%,var(--glow),transparent 55%),linear-gradient(135deg,var(--soft),white 80%); }
body[data-font="humanist"] { font-family:"Trebuchet MS",Verdana,sans-serif; }
body[data-font="classic"] h1, body[data-font="classic"] h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; }
body[data-pattern="grid"] .hero-background { background-color:var(--soft); background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:56px 56px; }
body[data-pattern="diagonal"] .hero-background { background:linear-gradient(125deg,var(--soft) 0 48%,white 48% 72%,var(--glow) 72%); }
body[data-pattern="dots"] .hero-background { background-color:var(--soft); background-image:radial-gradient(var(--line) 1.5px,transparent 1.5px); background-size:22px 22px; }
.hero-copy { min-width:0; }
body[data-cards="filled"] .steps-section article { background:var(--soft); border-color:transparent; }
body[data-cards="numbered"] .steps-section article { border:0; border-top:3px solid var(--accent); border-radius:0; }
body[data-cards="numbered"] .steps-section article > span { display:block; font-size:1.1rem; letter-spacing:.06em; }
body:not([data-version="3"])[data-layout="editorial"] header { border-bottom:3px solid var(--accent); }
body:not([data-version="3"])[data-layout="editorial"] .hero-copy h1 { letter-spacing:-.055em; }
body:not([data-version="3"])[data-layout="editorial"] .hero-copy > p:first-child { border-radius:4px; }
@media (min-width:1024px) {
  body:not([data-version="3"])[data-layout="reversed"] #application { grid-column:1; grid-row:1; }
  body:not([data-version="3"])[data-layout="reversed"] .hero-copy { grid-column:2; grid-row:1; }
  body:not([data-version="3"])[data-layout="centered"] .hero-grid { grid-template-columns:1fr; max-width:960px; gap:36px; }
  body:not([data-version="3"])[data-layout="centered"] .hero-copy { text-align:center; }
  body:not([data-version="3"])[data-layout="centered"] .hero-copy > p { margin-left:auto; margin-right:auto; }
  body:not([data-version="3"])[data-layout="centered"] .hero-copy ul { display:flex; justify-content:center; gap:18px; font-size:14px; }
  body:not([data-version="3"])[data-layout="centered"] .hero-copy ul li { margin-top:0; flex:1; text-align:left; }
  body:not([data-version="3"])[data-layout="centered"] #application { width:100%; max-width:700px; margin:auto; }
  body:not([data-version="3"])[data-layout="editorial"] .hero-grid { grid-template-columns:1.2fr 1fr; gap:72px; }
  body:not([data-version="3"])[data-layout="editorial"] #application { border-top:5px solid var(--accent); box-shadow:12px 12px 0 var(--line); }
}
@media (max-width:639px) {
  .hero-grid { gap:28px; }
  body #application { padding:24px 20px; }
  .hero-copy h1 { font-size:clamp(2rem,9vw,3rem); }
}

/* Структурные шаблоны v2: общий адаптивный контракт для всех композиций. */
body:is([data-version="2"],[data-version="3"]) { margin:0; line-height:1.6; color:#172338; background:#fff; }
.v-main *, .v-header * { box-sizing:border-box; min-width:0; }
.v-header { background:#fff; position:relative; z-index:1; }
.v-header-inner { max-width:1240px; margin:auto; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.v-brand { display:inline-flex; align-items:center; gap:6px; font-size:23px; text-decoration:none; letter-spacing:-1px; color:#172338; white-space:nowrap; }
.v-brand > span { display:grid; place-items:center; background:var(--accent); color:white; width:38px; height:38px; border-radius:var(--radius); margin-right:6px; }
.v-brand strong { color:var(--accent); }
.v-header nav { display:flex; gap:24px; align-items:center; font-size:14px; }
.v-header a { text-decoration:none; }
.v-nav-cta { background:var(--soft); color:var(--accent); padding:11px 17px; border-radius:var(--radius); font-weight:700; }
.v-header-line { border-bottom:1px solid var(--line); }
.v-header-pill .v-header-inner { max-width:1160px; border:1px solid var(--line); border-radius:99px; margin:18px auto; padding:12px 22px; }
.v-header-minimal .v-brand > span { background:none; color:var(--accent); font-size:36px; }
.v-hero { background:var(--soft); overflow:hidden; }
.v-hero-inner { max-width:1240px; margin:auto; padding:72px 28px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:60px; }
.v-eyebrow { display:block; font-size:11px; font-weight:800; letter-spacing:.15em; color:var(--accent); margin-bottom:20px; }
.v-hero h1 { font-size:clamp(36px,4.5vw,64px); line-height:1.08; letter-spacing:-.045em; font-weight:750; margin:0 0 24px; overflow-wrap:anywhere; }
.v-hero h1 em { font-style:normal; color:var(--accent); display:block; }
.v-lead { font-size:18px; line-height:1.75; color:#475569; max-width:560px; }
.v-hero-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:28px; }
.v-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 23px; background:var(--accent); color:white; text-decoration:none; border-radius:var(--radius); font-weight:700; font-size:15px; }
.v-button:hover { background:var(--accent-hover); }
.v-text-link { color:var(--accent); text-decoration:underline; text-underline-offset:5px; font-size:14px; }
.v-disclaimer { font-size:12px; color:#526273; max-width:450px; line-height:1.7; margin-top:28px; }
.v-hero-reversed .v-hero-copy { order:2; }
.v-hero-reversed .v-art, .v-hero-reversed .v-form { order:1; }
.v-hero-centered .v-hero-inner { grid-template-columns:1fr; gap:40px; max-width:940px; }
.v-hero-centered .v-hero-copy { text-align:center; }
.v-hero-centered .v-lead, .v-hero-centered .v-disclaimer { margin-left:auto; margin-right:auto; }
.v-hero-centered .v-hero-actions { justify-content:center; }
.v-hero-centered .v-form, .v-hero-centered .v-art { width:100%; max-width:700px; margin:auto; }
.v-hero-editorial .v-hero-inner { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:start; }
.v-hero-editorial h1 { font-family:Georgia,serif; font-weight:400; }
.v-hero-editorial .v-form { border-top:5px solid var(--accent); }
.v-hero-banner { background:var(--accent); }
.v-hero-banner .v-eyebrow,.v-hero-banner h1,.v-hero-banner h1 em,.v-hero-banner .v-lead,.v-hero-banner .v-disclaimer,.v-hero-banner .v-text-link { color:white; }
.v-hero-banner .v-hero-actions .v-button { background:white; color:var(--accent); }
.v-hero-banner .v-hero-inner { gap:48px; }
.v-hero-compact .v-hero-inner { padding-top:44px; padding-bottom:44px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.v-hero-compact h1 { font-size:clamp(34px,3.7vw,52px); }
body[data-pattern="grid"] .v-hero:not(.v-hero-banner) { background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:60px 60px; }
body[data-pattern="dots"] .v-hero:not(.v-hero-banner) { background-image:radial-gradient(var(--line) 1px,transparent 1px); background-size:20px 20px; }
body[data-pattern="diagonal"] .v-hero:not(.v-hero-banner) { background:linear-gradient(120deg,var(--soft) 55%,white 55% 70%,var(--glow) 70%); }
body[data-pattern="glow"] .v-hero:not(.v-hero-banner) { background:radial-gradient(ellipse at 20% 20%,var(--glow),transparent 70%),var(--soft); }
.v-content { max-width:1240px; margin:auto; padding:0 28px; }
.v-section { padding:64px 0; border-bottom:1px solid #e5eaf0; }
.v-section-heading { margin-bottom:30px; max-width:700px; }
.v-section-heading .v-eyebrow { margin-bottom:12px; }
.v-main h2 { font-size:clamp(26px,3vw,38px); line-height:1.2; letter-spacing:-.035em; font-weight:700; margin:0 0 14px; }
.v-main h3 { font-size:19px; font-weight:700; line-height:1.4; margin:0 0 10px; }
.v-main p { overflow-wrap:anywhere; }
.v-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.v-card-grid article { padding:28px; border:1px solid var(--line); border-radius:var(--radius); }
.v-card-grid article p { font-size:15px; color:#526273; line-height:1.7; margin:0; }
.v-number { display:block; color:var(--accent); font-size:34px; font-weight:750; margin-bottom:30px; }
.v-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--soft); color:var(--accent); font-size:26px; margin-bottom:24px; }
.v-mini-label { display:block; font-size:12px; font-weight:800; color:var(--accent); margin-bottom:24px; }
.v-style-tiles .v-card-grid article { background:var(--soft); border:0; }
.v-style-tiles .v-card-grid article:nth-child(2) { background:var(--accent); color:white; }
.v-style-tiles .v-card-grid article:nth-child(2) p,.v-style-tiles .v-card-grid article:nth-child(2) .v-number,.v-style-tiles .v-card-grid article:nth-child(2) .v-mini-label { color:white; }
.v-style-rows .v-card-grid { grid-template-columns:1fr; gap:0; }
.v-style-rows .v-card-grid article { border:0; border-top:1px solid var(--line); border-radius:0; display:grid; grid-template-columns:80px minmax(0,1fr) minmax(0,1.4fr); align-items:start; gap:24px; padding:24px 0; }
.v-style-rows .v-number,.v-style-rows .v-icon,.v-style-rows .v-mini-label { margin:0; }
.v-benefits.v-style-rows article { grid-template-columns:64px 1fr; }
.v-checklist { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.v-checklist > div > p,.v-signup-copy > p { color:#526273; line-height:1.8; }
.v-checklist ul { list-style:none; padding:0; margin:0; }
.v-checklist li { display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.v-checklist li span { color:var(--accent); font-weight:800; }
.v-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; }
.v-faq details { border-bottom:1px solid var(--line); padding:18px 0; }
.v-faq summary { cursor:pointer; font-size:17px; font-weight:650; padding-right:10px; }
.v-faq details p { color:#526273; font-size:15px; margin:16px 0 0; }
.v-contact { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.v-contact .v-button { flex-shrink:0; }
.v-contact.v-style-tiles { background:var(--soft); padding:36px; border-radius:var(--radius); margin:36px 0; }
.v-signup { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:60px; align-items:center; padding:64px 0; }
.v-signup-copy h2 { font-size:clamp(32px,4vw,52px); }
body:is([data-version="2"],[data-version="3"]) .v-form { width:100%; margin:0; padding:32px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 20px 60px #102d4a0d; scroll-margin-top:20px; }
.v-form h2 { font-size:25px; }
.v-form .field { min-height:48px; }
.v-art { min-height:320px; }
.v-journey-card,.v-orbit-card,.v-notes-card,.v-ticket-card { position:relative; min-height:340px; height:100%; border-radius:var(--radius); background:#fff; border:1px solid var(--line); padding:38px; overflow:hidden; }
.v-journey-card strong { font-size:94px; line-height:1.1; letter-spacing:-.07em; color:var(--accent); }
.v-route { display:flex; gap:14px; align-items:center; margin:30px 0; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.v-route i { flex:1; border-top:2px dashed var(--line); }
.v-journey-card p { color:#526273; }
.v-orbit-card { background:var(--accent); color:white; display:flex; flex-direction:column; justify-content:space-between; }
.v-orbit { position:absolute; width:250px; height:250px; border:1px solid #ffffff50; border-radius:50%; right:-35px; top:35px; box-shadow:0 0 0 30px #ffffff10,0 0 0 70px #ffffff08; }
.v-orbit-label { position:relative; font-size:12px; letter-spacing:.2em; }
.v-orbit-card p { position:relative; font-size:36px; line-height:1.15; letter-spacing:-.04em; margin-top:150px; }
.v-notes-card { background:var(--soft); transform:rotate(-2deg); }
.v-notes-card > span:first-child { font-size:12px; letter-spacing:.15em; color:var(--accent); }
.v-notes-card h2 { font-family:Georgia,serif; font-size:48px; font-weight:400; margin:32px 0; }
.v-notes-card p { font-size:13px; }
.v-art-arrow { position:absolute; right:26px; bottom:16px; font-size:80px; color:var(--accent); }
.v-ticket-card strong { display:block; font-size:48px; line-height:1.15; color:var(--accent); margin:24px 0; letter-spacing:-.05em; }
.v-ticket-bottom { border-top:1px dashed var(--line); padding-top:18px; display:flex; justify-content:space-between; font-size:12px; letter-spacing:.15em; }
.v-main a:focus-visible,.v-header a:focus-visible,.v-faq summary:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
@media (min-width:640px) and (max-width:1023px) {
  .v-hero-inner,.v-hero-editorial .v-hero-inner,.v-hero-compact .v-hero-inner { grid-template-columns:1fr; max-width:850px; gap:36px; padding:48px 32px; }
  .v-hero .v-hero-copy { max-width:700px; order:0; }
  .v-hero .v-form { max-width:700px; }
  .v-hero .v-art { max-width:600px; width:100%; }
  .v-signup { gap:28px; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
  .v-card-grid { gap:14px; }
  .v-card-grid article { padding:20px; }
  .v-faq,.v-checklist { gap:28px; }
  .v-header-pill .v-header-inner { margin:16px 24px; }
}
@media (max-width:639px) {
  .v-header-inner { padding:16px 20px; gap:10px; }
  .v-brand { font-size:20px; }
  .v-brand > span { width:30px; height:30px; margin-right:2px; }
  .v-header nav { gap:0; font-size:12px; }
  .v-header nav > a:first-child { display:none; }
  .v-nav-cta { padding:10px 12px; }
  .v-header-pill .v-header-inner { margin:10px; padding:12px; border-radius:20px; }
  .v-hero-inner,.v-hero-editorial .v-hero-inner,.v-hero-compact .v-hero-inner { grid-template-columns:1fr; padding:36px 20px; gap:32px; }
  .v-hero .v-hero-copy { order:0; }
  .v-hero .v-art,.v-hero .v-form { order:1; }
  .v-hero h1,.v-hero-compact h1 { font-size:clamp(32px,9vw,48px); }
  .v-lead { font-size:16px; }
  .v-hero-actions { gap:16px; }
  .v-hero-actions .v-button { width:100%; }
  .v-content { padding:0 20px; }
  .v-section { padding:38px 0; }
  .v-card-grid,.v-checklist,.v-faq,.v-signup { grid-template-columns:1fr; gap:20px; }
  .v-card-grid article { padding:24px; }
  .v-style-rows .v-card-grid article { grid-template-columns:48px 1fr; gap:12px; }
  .v-style-rows .v-card-grid article > p { grid-column:2; }
  .v-style-rows .v-number { font-size:25px; }
  .v-contact { flex-direction:column; align-items:stretch; }
  .v-contact.v-style-tiles { padding:24px; }
  .v-signup { padding:40px 0; }
  body:is([data-version="2"],[data-version="3"]) .v-form { padding:24px 20px; }
  .v-art { min-height:260px; }
  .v-journey-card,.v-orbit-card,.v-notes-card,.v-ticket-card { min-height:280px; padding:28px; }
  .v-orbit-card p { margin-top:110px; }
  .v-notes-card { transform:none; }
  .v-notes-card h2,.v-ticket-card strong { font-size:40px; }
  .v-art-arrow { font-size:56px; }
  .v-journey-card strong { font-size:76px; }
}
.language-picker { display:flex; justify-content:flex-end; align-items:center; gap:.5rem; max-width:1200px; margin:0 auto; padding:.4rem 1.25rem .7rem; }
.language-picker select { max-width:10rem; background:white; color:#14213d; padding:.5rem; border:1px solid #cad4e0; border-radius:.5rem; }
.language-picker button { padding:.5rem .8rem; border:1px solid #cad4e0; border-radius:.5rem; }
html[dir="rtl"] body { text-align:right; }
html[dir="rtl"] input[type="tel"], html[dir="rtl"] input[type="email"] { direction:ltr; text-align:left; }
.v-hero h1, .v-section h2, .v-form h2 { overflow-wrap:anywhere; }
.doc-section { border:0; border-top:1px solid var(--line); padding:24px 0 0; margin:28px 0 0; min-width:0; }
.doc-section legend { font-size:22px; font-weight:700; padding:0 8px 0 0; }
.doc-section > p { font-size:13px; line-height:1.7; color:#526273; }
.doc-grid { display:grid; grid-template-columns:1fr; gap:16px; margin:20px 0; }
.doc-section label { display:block; font-size:14px; line-height:1.5; }
.doc-section .field { min-width:0; max-width:100%; }
.doc-photos { display:grid; grid-template-columns:1fr; gap:14px; margin:20px 0; }
.doc-photo { border:1px dashed var(--line); border-radius:12px; padding:16px; min-width:0; background:var(--soft); }
.doc-photo input[type="file"] { display:block; width:100%; max-width:100%; font-size:12px; margin-top:12px; }
.doc-photo small { display:block; font-size:11px; color:#526273; margin-top:8px; }
.doc-preview { max-width:100%; max-height:180px; object-fit:contain; margin-top:12px; border-radius:6px; }
.doc-remove { padding:8px 12px; margin-top:10px; border:1px solid var(--line); border-radius:8px; background:white; color:var(--accent); cursor:pointer; }
.doc-photo-status { font-size:12px; overflow-wrap:anywhere; margin-top:8px; }
.doc-section .doc-check { display:flex!important; align-items:flex-start; gap:10px; margin:20px 0; font-size:13px!important; }
.doc-check input { flex:0 0 auto; width:18px; height:18px; margin-top:3px; }
.doc-section [hidden] { display:none!important; }
.doc-confirm { padding:16px; border:1px solid var(--line); border-radius:10px; }

/* v3: самостоятельные архитектуры. Общие поля и JS не зависят от композиции. */
.c-main { --space:64px; max-width:1440px; margin:auto; padding:0 40px 64px; }
.c-density-airy { --space:88px; } .c-density-compact { --space:44px; }
.c-main .c-intro { padding:0; background:none!important; overflow:visible; }
.c-main .v-hero-copy { max-width:780px; }
.c-main h1 { font-size:clamp(40px,5vw,78px); }
.c-main .v-section { padding:36px 0; }
.c-panel { container-type:inline-size; }
.c-panel .v-card-grid { grid-template-columns:1fr; }
.c-panel .v-card-grid article { padding:24px; }
.c-panel .v-style-rows article { grid-template-columns:52px minmax(0,1fr); }
.c-panel .v-style-rows article > p { grid-column:2; }
.c-panel .v-benefits.v-style-rows article { grid-template-columns:48px minmax(0,1fr); }
.c-panel .v-faq,.c-panel .v-checklist { grid-template-columns:1fr; gap:20px; }
.c-panel .v-contact { flex-direction:column; align-items:stretch; }
.c-panel .v-number { font-size:26px; margin-bottom:14px; }
.c-application { min-width:0; scroll-margin-top:24px; }
.c-main .v-form { color:#172338; background:white; }
.c-main .v-form h2 { font-size:26px; line-height:1.3; }
.c-main .v-form p { line-height:1.65; }
.c-main #application-form > .grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.c-main #application-form label { display:block; font-size:14px; font-weight:600; line-height:1.5; }
.c-main #application-form label:nth-child(n+3) { grid-column:1/-1; }
.c-main #submit-button { display:block; width:100%; min-height:52px; padding:14px 20px; margin-top:24px; border:0; background:var(--accent); color:white; font-size:15px; font-weight:700; cursor:pointer; }
.c-main #submit-button:disabled { opacity:.6; cursor:wait; }
.c-main #form-error { color:#b91c1c; margin:16px 0; }
.c-main #application-form > p:last-child { font-size:12px; color:#526273; margin-top:18px; }
.c-main #success-message { padding:32px 0; text-align:center; }
.c-main #success-message a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.c-main .v-hero-actions > a:not(.v-button) { color:var(--accent); text-underline-offset:4px; }
.c-atlas-cover .v-hero-actions > a:not(.v-button),.c-welcome .v-hero-actions > a:not(.v-button) { color:white; }
.c-illustration { color:var(--accent); background:var(--soft); padding:24px; border-radius:var(--radius); overflow:hidden; }
.c-illustration svg { width:100%; max-height:380px; display:block; }
.c-illustration > span { display:block; font:11px ui-monospace,monospace; letter-spacing:.18em; }
.c-dot { fill:currentColor; }
.c-header nav { flex-wrap:wrap; }
.c-header .language-picker { margin:0 auto; }
.c-main .c-dock { align-self:start; position:static; }
@container (min-width:760px) {
  .c-panel .v-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .c-panel .v-style-rows .v-card-grid { grid-template-columns:1fr; }
}
/* Atlas: плакат на всю ширину, далее статья и закреплённая боковая заявка. */
.c-atlas-cover { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; background:var(--accent); padding:var(--space); margin:0 -40px; }
.c-atlas-cover .v-eyebrow,.c-atlas-cover h1,.c-atlas-cover h1 em,.c-atlas-cover .v-lead,.c-atlas-cover .v-disclaimer,.c-atlas-cover a { color:white; }
.c-atlas-cover .v-button { background:white; color:var(--accent); }
.c-atlas-cover .c-illustration { border-radius:50% 50% 4px 4px; }
.c-atlas-body { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; padding-top:var(--space); }
.c-atlas .c-story .v-card-grid article { border-radius:0; border-width:0 0 1px; }
.c-atlas .c-dock { border-top:7px solid var(--accent); }
/* Journal: журнальная полоса, крупный боковой индекс и узкие колонки. */
.c-header-journal { border-top:8px solid var(--accent); border-bottom:1px solid #172338; }
.c-journal-lead { display:grid; grid-template-columns:180px 1fr; gap:56px; padding:var(--space) 0; border-bottom:3px solid #172338; }
.c-issue { font:22px/1.7 ui-monospace,monospace; border-inline-end:1px solid var(--line); }
.c-issue b { display:block; margin-top:30px; font-weight:400; color:var(--accent); }
.c-journal h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(44px,6.5vw,90px); }
.c-journal-columns { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:var(--space) 0; }
.c-journal-columns > div + div { border-inline-start:1px solid var(--line); padding-inline-start:48px; }
.c-journal .c-illustration { margin-bottom:32px; border-radius:0; }
.c-journal .v-form { border-radius:0; box-shadow:none; border:2px solid #172338; }
.c-journal-end { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
/* Concierge: отдельная тёмная приветственная панель и светлая панель формы. */
.c-concierge { background:var(--soft); }
.c-concierge-entry { display:grid; grid-template-columns:1.15fr 1fr; gap:0; padding:40px 0; align-items:stretch; }
.c-welcome { padding:44px; background:#152c3a; border-radius:var(--radius) 0 0 var(--radius); }
.c-welcome .c-illustration { background:transparent; color:var(--glow); padding:0; max-width:270px; margin-bottom:32px; }
.c-welcome .c-illustration svg { max-height:170px; }
.c-welcome :is(h1,h1 em,.v-lead,.v-disclaimer,.v-eyebrow,a) { color:white; }
.c-concierge h1 { font-size:clamp(38px,4vw,58px); }
.c-concierge-entry > .c-application { background:white; padding:32px; display:flex; align-items:center; border-radius:0 var(--radius) var(--radius) 0; }
.c-concierge .v-form { box-shadow:none; border:0; padding:16px; }
.c-concierge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.c-concierge-grid .c-panel { background:white; padding:24px; border-radius:var(--radius); }
/* Studio: асимметричная мозаика, форма — самостоятельная ячейка сетки. */
.c-studio { padding-top:32px; }
.c-studio-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:24px; }
.c-studio-grid > .c-intro { padding:48px!important; background:var(--soft)!important; border-radius:var(--radius); }
.c-studio-art .c-illustration { height:100%; min-height:360px; background:var(--accent); color:var(--glow); display:flex; flex-direction:column; justify-content:center; }
.c-studio-grid > .c-application { grid-column:2; grid-row:2; }
.c-studio-note { grid-column:1; grid-row:2; padding:28px; background:#f5f5f3; border-radius:var(--radius); }
.c-studio-panels { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.c-studio-panels .c-panel { padding:28px; border:1px solid var(--line); border-radius:var(--radius); }
/* Journey: маршрут из разделов с отдельной колонкой заявки. */
.c-journey-title { display:grid; grid-template-columns:1.6fr 1fr; gap:64px; padding:var(--space) 0; align-items:center; }
.c-journey-track { display:grid; grid-template-columns:1fr 1fr; gap:64px; border-top:1px solid var(--line); padding-top:48px; }
.c-stop { position:relative; padding-inline-start:48px; border-inline-start:2px solid var(--line); }
.c-stop-no { position:absolute; inset-inline-start:-22px; top:30px; border-radius:50%; display:grid; place-items:center; width:42px; height:42px; background:var(--accent); color:white; font:14px ui-monospace,monospace; }
.c-journey .c-illustration { border-radius:50%; }
.c-journey .v-card-grid article { background:transparent; color:#172338; border:0; padding:20px 0; }
.c-journey .v-card-grid article p { color:#526273; }
.c-journey .v-style-tiles .v-card-grid article:nth-child(2) p { color:#526273; }
.c-journey .v-style-tiles .v-card-grid article:nth-child(2) .v-number,.c-journey .v-style-tiles .v-card-grid article:nth-child(2) .v-mini-label { color:var(--accent); }
/* Folio: обложка, широкие пронумерованные развороты, форма завершает страницу. */
.c-folio { max-width:1280px; }
.c-folio-cover { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; min-height:620px; padding:var(--space) 0; }
.c-folio-cover .c-illustration { border-radius:180px 180px 0 0; border-bottom:12px solid var(--accent); }
.c-folio h1 { font-family:Georgia,serif; font-weight:400; }
.c-spread { display:grid; grid-template-columns:160px 1fr; gap:48px; padding:24px 0; border-top:1px solid #172338; }
.c-spread > span { font-size:56px; color:var(--accent); padding-top:24px; }
.c-folio-application { margin:64px -40px 0; padding:var(--space); background:var(--accent); }
.c-folio-application > div { max-width:720px; margin:auto; }
/* Terminal: табло и билет с общей формой, последующие секции — отдельная лента. */
.c-header-terminal { background:var(--soft); border-bottom:2px dashed var(--line); }
.c-terminal-board { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding:var(--space) 0; }
.c-terminal h1 { text-transform:uppercase; font-size:clamp(38px,4.3vw,66px); }
.c-terminal .v-eyebrow { font-family:ui-monospace,monospace; letter-spacing:.25em; }
.c-ticket { box-shadow:12px 12px 0 var(--soft); border:2px solid var(--accent); }
.c-ticket-top { display:flex; justify-content:space-between; gap:12px; background:var(--accent); color:white; padding:24px; font:16px ui-monospace,monospace; }
.c-ticket .v-form { border-radius:0; border:0; border-top:2px dashed var(--line); box-shadow:none; }
.c-terminal-panels { border-top:2px dashed var(--line); display:grid; grid-template-columns:1fr 1fr; gap:48px; }
/* Courtyard: большая графическая обложка и перекрывающая её панель контакта. */
.c-courtyard-cover { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; padding:var(--space) 0 120px; align-items:center; }
.c-courtyard-cover .c-illustration { aspect-ratio:1; display:flex; flex-direction:column; justify-content:center; border-radius:50% 8px 50% 8px; }
.c-courtyard-center { display:grid; grid-template-columns:1fr 1fr; gap:64px; background:var(--soft); padding:48px; margin:0 -16px; border-radius:var(--radius); }
.c-courtyard-center > .c-application { margin-top:-110px; }
.c-courtyard-end { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-top:48px; }
@media(min-width:1100px) {
  .c-direction-reverse :is(.c-atlas-body,.c-journey-track,.c-concierge-entry,.c-terminal-board)>:first-child { order:2; }
  .c-direction-reverse :is(.c-atlas-body,.c-journey-track,.c-concierge-entry,.c-terminal-board)>:last-child { order:1; }
}
@media(max-width:1099px) {
  .c-main { padding:0 28px 48px; --space:40px; }
  .c-main .c-dock { position:static; }
  .c-main h1 { font-size:clamp(36px,5vw,62px); }
  .c-atlas-cover { margin:0 -28px; padding:40px 28px; }
  .c-atlas-body,.c-journal-columns,.c-journey-track,.c-terminal-board,.c-courtyard-center { gap:28px; }
  .c-main .v-form { padding:24px; }
  .c-main #application-form > .grid { grid-template-columns:1fr; }
  .c-main .v-form label { grid-column:auto; }
  .c-concierge-entry>.c-application,.c-welcome { padding:24px; }
  .c-journal-columns>div+div { padding-inline-start:24px; }
  .c-spread { grid-template-columns:80px 1fr; gap:24px; }
  .c-folio-application { margin-inline:-28px; }
  .c-studio-grid>.c-intro { padding:28px!important; }
}
@media(max-width:767px) {
  .c-main { padding:0 20px 40px; --space:36px; }
  .c-main h1 { font-size:clamp(34px,9vw,52px); }
  .c-main .v-hero-copy { order:initial; }
  .c-main .v-hero-actions { gap:16px; }
  .c-main .v-hero-actions .v-button { width:100%; }
  .c-main .v-form { padding:24px 20px; }
  .c-header .v-header-inner { flex-wrap:wrap; }
  .c-header nav { max-width:100%; }
  .c-header .v-nav-cta { white-space:normal; overflow-wrap:anywhere; }
  .c-atlas-cover,.c-atlas-body,.c-journal-lead,.c-journal-columns,.c-journal-end,.c-concierge-entry,.c-concierge-grid,.c-studio-grid,.c-studio-panels,.c-journey-title,.c-journey-track,.c-folio-cover,.c-terminal-board,.c-terminal-panels,.c-courtyard-cover,.c-courtyard-center,.c-courtyard-end { grid-template-columns:1fr; gap:28px; }
  .c-atlas-cover { margin:0 -20px; padding:36px 20px; }
  .c-atlas-cover .c-illustration { max-height:240px; }
  .c-illustration svg { max-height:240px; }
  .c-issue { border:0; font-size:14px; display:flex; gap:16px; }
  .c-issue br { display:none; } .c-issue b { margin:0; }
  .c-journal-columns>div+div { border:0; padding:0; }
  .c-concierge-entry { padding-top:20px; gap:0; }
  .c-welcome { border-radius:var(--radius) var(--radius) 0 0; }
  .c-concierge-entry>.c-application { padding:8px; border-radius:0 0 var(--radius) var(--radius); }
  .c-concierge-grid .c-panel { padding:20px; }
  .c-studio { padding-top:20px; }
  .c-studio-grid>.c-application,.c-studio-note { grid-column:auto; grid-row:auto; }
  .c-studio-art .c-illustration { min-height:220px; }
  .c-studio-grid>.c-intro,.c-studio-note,.c-studio-panels .c-panel { padding:24px!important; }
  .c-stop { padding-inline-start:28px; margin-inline-start:16px; }
  .c-folio-cover { min-height:0; }
  .c-folio-cover>.c-illustration { max-width:300px; margin:auto; }
  .c-spread { grid-template-columns:1fr; gap:0; }
  .c-spread>span { font-size:32px; }
  .c-folio-application { padding:28px 20px; margin:28px -20px 0; }
  .c-ticket { box-shadow:6px 6px 0 var(--soft); }
  .c-ticket-top { padding:20px; font-size:13px; }
  .c-courtyard-cover { padding-bottom:40px; }
  .c-courtyard-cover>.c-illustration { aspect-ratio:auto; border-radius:var(--radius); }
  .c-courtyard-center { padding:20px; margin:0 -10px; }
  .c-courtyard-center>.c-application { margin:0; }
}
