/* Onest variable 100–900, self-hosted from Google Fonts. */
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/onest/Onest-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/onest/Onest-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/onest/Onest-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/onest/Onest-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Manrope variable 200–800, self-hosted from Google Fonts. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope/Manrope-cyrillic-ext.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope/Manrope-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope/Manrope-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope/Manrope-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* TIKACORDO · RU / EN · approved brief v2, preview 18 */
:root {
  --font-body: "Onest", "Segoe UI", Arial, sans-serif;
  --font-heading: "Manrope", "Onest", "Segoe UI", Arial, sans-serif;
  --type-display: clamp(2.625rem, 5.556vw, 5rem);
  --type-heading: clamp(1.875rem, 3.056vw, 2.75rem);
  --type-subheading: clamp(1.375rem, 1.667vw, 1.5rem);
  --type-body: clamp(1rem, 1.25vw, 1.125rem);
  --white: #f8f5ee;
  --muted: #d1cfc6;
  --gold: #e8b867;
  --line: rgba(244, 233, 210, .23);
  --gutter: max(40px, calc((100% - 1280px) / 2));
  color: var(--white);
  background: #0c110d;
  font-family: var(--font-body);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-size: var(--type-body); line-height: 1.6; }
button, input, textarea, select { font: inherit; }
a { color: inherit; text-underline-offset: .24em; }
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 6px; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--font-heading); text-wrap: balance; }
h2 { font-size: var(--type-heading); line-height: 1.15; font-weight: 700; letter-spacing: -.035em; }
h3 { font-size: var(--type-subheading); line-height: 1.2; font-weight: 650; letter-spacing: -.025em; }
p { text-wrap: pretty; }
em { color: var(--gold); font-style: normal; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 12px 18px; color: #11170f; background: var(--white); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* A real grid keeps the language selector and the descriptor visible at every size. */
.site-header {
  position: absolute; z-index: 10; top: 0; left: var(--gutter); right: var(--gutter);
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas: "brand description language action";
  align-items: center; gap: 26px; min-height: 126px;
  padding: 22px 0; border-bottom: 1px solid var(--line);
}
.brand { grid-area: brand; padding-inline: 4px; text-decoration: none; }
.brand-wordmark {
  display: inline-block; font-family: var(--font-heading); font-size: 46px;
  font-weight: 800; font-style: italic; line-height: 1.1; letter-spacing: -.06em;
  color: #bebfba; white-space: nowrap; transform: skewX(-10deg);
  text-shadow: 0 1px 0 #fff, 1px 2px 0 #393c35;
}
.brand-description {
  grid-area: description; font-family: var(--font-heading); font-size: 11px; font-weight: 600;
  line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap;
}
.language-switch { grid-area: language; display: flex; align-items: center; }
.language-link {
  min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-heading); font-size: 13px; font-weight: 600; text-decoration: none;
  color: #d2d2c8; border-bottom: 2px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.language-link[aria-current="page"] { color: var(--gold); border-bottom-color: var(--gold); }
.language-link:hover { color: #fff; }
.header-cta {
  grid-area: action; position: relative; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 22px; min-height: 44px; border: 0; border-radius: 999px;
  color: #fff4dd; text-decoration: none; white-space: nowrap;
  font-family: var(--font-body); font-size: 14px; line-height: 1.3; font-weight: 600;
}
/* Match the contact plate while keeping a comfortable keyboard/touch target. */
.header-cta::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  left: 0; right: 0; top: 50%; transform: translateY(-50%);
  height: calc(var(--type-body) * 1.6); box-sizing: border-box;
  border: 1px solid #bc925a; border-radius: 999px; background: #2d281c;
  transition: background-color .2s ease, border-color .2s ease;
}
.header-cta:hover::before { background: #403522; border-color: var(--gold); }

/* The architecture remains clear; contrast comes from a dark overlay, never blur. */
.hero {
  position: relative; isolation: isolate; min-height: max(720px, 100svh);
  padding: 186px var(--gutter) 94px; display: flex; justify-content: center; align-items: center;
  text-align: center;
}
.hero-visual { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.hero-visual img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 66% center; }
.hero::before {
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(10,16,12,.68), rgba(13,18,13,.37) 52%, rgba(15,13,9,.24)),
              linear-gradient(0deg, rgba(7,11,8,.68), rgba(8,12,8,.08) 62%, rgba(8,12,8,.22));
}
.hero-copy { width: min(100%, 1100px); }
.hero h1 { font-weight: 700; letter-spacing: -.045em; line-height: 1.08; }
.hero-question { display: block; font-size: var(--type-display); }
.hero-statement {
  display: block; margin-top: 28px; font-size: var(--type-heading);
  font-weight: 600; line-height: 1.2; letter-spacing: -.035em;
}
.hero-statement > span, .hero-statement em { display: block; }
.hero-lead { max-width: 760px; margin: 28px auto 0; color: #f1eee6; line-height: 1.65; }
.hero-pilot-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 44px; margin-top: 18px; padding: 4px 8px;
  color: var(--gold); font-weight: 600; text-decoration-thickness: 1px;
  text-decoration-color: rgba(232,184,103,.62); transition: color .2s ease;
}
.hero-pilot-link:hover { color: var(--white); }
.hero-pilot-link span { text-decoration: none; }

/* Benefits and the AI statement share one continuous panel. */
.section { padding: 96px var(--gutter); position: relative; isolation: isolate; }
.directions {
  background: #11180f url("../hotel-reflections-process.png") center / cover no-repeat;
}
.directions::before, .process::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.directions::before {
  background: linear-gradient(180deg, rgba(8,14,10,.83), rgba(10,17,11,.46) 48%, rgba(9,14,10,.86)),
              linear-gradient(90deg, rgba(8,14,9,.48), rgba(9,13,9,.1));
}
.section-intro { max-width: 1000px; margin: 0 auto 40px; text-align: center; }
.direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); background: rgba(12,18,12,.72); }
.direction-card { padding: 28px 30px 32px; border-right: 1px solid var(--line); min-width: 0; }
.direction-card:last-child { border-right: 0; }
.card-number { display: block; margin-bottom: 18px; font-family: var(--font-heading); font-size: 13px; line-height: 1; font-weight: 650; letter-spacing: .1em; color: var(--gold); }
.direction-card h3 { text-wrap: pretty; }
.direction-card p { margin-top: 16px; color: var(--muted); }
.ai-amplifier {
  margin: 0; padding: 30px 36px; text-align: center;
  border: 1px solid var(--line); border-top: 0; background: rgba(11,17,11,.88);
}
.ai-amplifier h3 { max-width: 1030px; margin: auto; line-height: 1.4; }
.ai-amplifier em { display: block; }

/* Four concise parts of a task, not a second wall of text. */
.process {
  background: #21170f url("../hotel-waterfront-system.png") left center / auto 160% no-repeat;
}
.process::before {
  background: linear-gradient(180deg, rgba(25,17,11,.7), rgba(22,17,11,.62) 50%, rgba(17,16,11,.88)),
              linear-gradient(90deg, rgba(20,17,11,.38), rgba(21,15,10,.12));
}
.process-head { text-align: center; }
.process-head h2 { max-width: 1020px; margin: auto; }
.process-head h2 em { display: block; }
.process-intro { max-width: 820px; margin: 26px auto 0; color: #e4ded3; }
.principle-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 36px;
  border: 1px solid var(--line); background: rgba(25,19,13,.76);
}
.principle-grid article { min-width: 0; padding: 28px; border-right: 1px solid var(--line); }
.principle-grid article:last-child { border-right: 0; }
.principle-grid h3 { text-wrap: nowrap; }
.principle-grid p { margin-top: 16px; color: var(--muted); }
.requirement-proof {
  padding: 30px 36px; text-align: center; border: 1px solid var(--line);
  border-top: 0; background: rgba(37,26,17,.88);
}
.requirement-proof p { max-width: 900px; margin: 16px auto 0; color: var(--muted); }

/* Pilot steps lead directly to the invitation. */
.pilot {
  padding-block: 80px 64px; scroll-margin-top: 24px; overflow: clip;
  background: #0c110d url("../hotel-reflections-process.png") center top / 100% auto no-repeat;
}
.pilot::before {
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(9,15,10,.85), rgba(10,17,11,.77) 24%, #0c110d 65%);
}
.pilot-intro { max-width: 960px; margin-inline: auto; text-align: center; }
.pilot-intro h2 { max-width: 900px; margin-inline: auto; }
.pilot-lead { max-width: 760px; margin: 24px auto 0; color: var(--muted); }
.pilot-fit { margin-top: 18px; color: var(--gold); font-weight: 600; }
.pilot-priority { margin-top: 6px; color: var(--muted); }
.pilot-steps {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px; margin: 38px 0 0; padding: 0; list-style: none;
}
.pilot-steps li { min-width: 0; padding-top: 22px; border-top: 1px solid var(--line); }
.pilot-steps h3 { text-wrap: pretty; }
.pilot-steps p { margin-top: 14px; color: var(--muted); }
.pilot-action {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  gap: 24px 40px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line);
}
.pilot-action p { max-width: 720px; color: var(--muted); }
.pilot-cta {
  position: relative; isolation: isolate; display: inline-flex; flex-shrink: 0;
  align-items: center; justify-content: center; min-height: 44px; min-width: 230px;
  padding: 0 28px; border-radius: 999px; color: #fff4dd; font-weight: 600;
  text-align: center; text-decoration: none;
}
.pilot-cta::before {
  content: ""; position: absolute; z-index: -1; inset: 50% 0 auto; pointer-events: none;
  height: 34px; transform: translateY(-50%); border: 1px solid #bc925a;
  border-radius: 999px; background: #2d281c;
  transition: background-color .2s ease, border-color .2s ease;
}
.pilot-cta:hover::before { background: #403522; border-color: var(--gold); }

/* One clear star field. The contact details carry the same weight as the AI note. */
.galaxy-contact { position: relative; isolation: isolate; min-height: max(680px, 100svh); background: #0c110d; }
#galaxy-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 0; }
.galaxy-contact::before {
  content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(7,11,8,.7), rgba(8,12,9,.5) 36%, rgba(9,13,10,.12) 58%, transparent 76%);
}
.final-grid {
  position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: space-between;
  min-height: inherit; padding: 96px var(--gutter);
}
.final-ai { width: 44%; max-width: 430px; }
.final-ai h2 { font-size: var(--type-subheading); line-height: 1.3; font-weight: 650; letter-spacing: -.025em; text-wrap: pretty; }
.final-details { width: 48%; max-width: 570px; margin-top: 220px; }
.final-details h3 { margin-bottom: 24px; }
.final-details dl { margin: 0; display: grid; gap: 18px; }
.final-details dl > div { display: grid; grid-template-columns: 94px minmax(0, 1fr); column-gap: 20px; align-items: baseline; }
.final-details dt { color: #dcb575; font-size: 14px; }
.final-details dd { margin: 0; font-weight: 600; line-height: 1.6; }
.final-details a { text-decoration-color: rgba(249,239,211,.34); transition: color .2s ease; }
.final-details a:hover { color: var(--gold); }
.final-details a[href^="tel:"] { white-space: nowrap; }
.contact-note { white-space: nowrap; }

/* Library entry: one open composition with Contacts, never a separate quadrant. */
.final-bottom {
  display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.3fr);
  align-items: start; gap: clamp(40px, 7vw, 112px); margin-top: 220px;
}
.final-bottom .final-details { width: 100%; max-width: none; margin-top: 0; }
.final-library { min-width: 0; max-width: 620px; text-shadow: 0 2px 14px #080d08; }
.final-library h3 { margin-bottom: 24px; }
.final-library p { color: var(--muted); max-width: 55ch; }
.library-entry-link {
  display: inline-flex; align-items: center; gap: 14px; min-height: 44px;
  margin-top: 14px; color: var(--gold); font-weight: 600; text-decoration-thickness: 1px;
}
.library-entry-link:hover { color: var(--white); }

@media (max-width: 1190px) {
  :root { --gutter: 32px; }
  .site-header { gap: 18px; }
  .brand-wordmark { font-size: 36px; }
  .brand-description { white-space: normal; max-width: 270px; }
  .header-cta { padding-inline: 18px; }
  .principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principle-grid article:nth-child(2) { border-right: 0; }
  .principle-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 900px) {
  .site-header { column-gap: 14px; }
  .brand-wordmark { font-size: 32px; }
  .brand-description { font-size: 10px; letter-spacing: .05em; }
  .header-cta { padding-inline: 14px; }
  .section { padding-block: 72px; }
  .direction-grid { grid-template-columns: 1fr; }
  .direction-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .direction-card:last-child { border-bottom: 0; }
  .direction-card p { max-width: 64ch; }
  .final-details { width: 62%; }
  .final-bottom { grid-template-columns: minmax(285px, 1fr) minmax(0, 1fr); gap: 32px; }
  .pilot-steps { gap: 24px; }
  .pilot-action { align-items: start; }
  .pilot-cta { min-width: 200px; padding-inline: 24px; }
}
@media (max-width: 700px) {
  :root { --gutter: 24px; }
  .site-header {
    grid-template-areas: "brand language" "description action";
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: minmax(44px, auto) auto;
    min-height: 0; gap: 12px 16px; padding: 18px 0 20px;
  }
  .brand-wordmark { font-size: clamp(26px, 7.5vw, 32px); }
  .brand-description { font-size: 12px; line-height: 1.45; letter-spacing: .025em; max-width: none; text-transform: none; }
  .language-switch { justify-self: end; }
  .header-cta { justify-self: end; padding-inline: 14px; }
  .hero { min-height: 100svh; padding-top: 210px; padding-bottom: 72px; }
  .hero-question { line-height: 1.12; }
  .hero-statement { margin-top: 24px; line-height: 1.18; }
  .hero-lead { margin-top: 28px; }
  .hero::before {
    background: linear-gradient(90deg, rgba(9,16,11,.76), rgba(12,18,12,.42)),
                linear-gradient(0deg, rgba(7,12,8,.74), rgba(7,12,8,.05) 68%, rgba(7,12,8,.28));
  }
  .section { padding-block: 64px; }
  .section-intro { margin-bottom: 28px; }
  .direction-card { padding: 24px 22px; }
  .card-number { margin-bottom: 16px; }
  .ai-amplifier, .requirement-proof { padding: 26px 22px; }
  .ai-amplifier h3 { line-height: 1.35; }
  .process { background-position: left top; background-size: auto 125%; }
  .process-intro { margin-top: 24px; }
  .principle-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .principle-grid article { padding: 24px 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .principle-grid article:last-child { border-bottom: 0; }
  .galaxy-contact { min-height: 100svh; }
  .galaxy-contact::before { background: linear-gradient(180deg, rgba(7,11,8,.75), rgba(7,11,8,.08) 37%, rgba(7,11,8,.13) 63%, rgba(7,11,8,.88)); }
  .final-grid { padding-block: 60px 56px; }
  .final-ai { width: 100%; max-width: 390px; }
  .final-details { width: 100%; margin-top: 280px; }
  .final-bottom { grid-template-columns: 1fr; margin-top: 280px; gap: 40px; }
  .final-library { max-width: 520px; }
  .final-library h3 { margin-bottom: 18px; }
  .final-details dl > div { grid-template-columns: 1fr; gap: 4px; }
  .final-details dl { gap: 18px; }
  .hero-pilot-link { margin-top: 16px; }
  .pilot { padding-block: 60px 52px; background-size: auto 640px; background-position: 58% top; }
  .pilot-intro { text-align: left; }
  .pilot-intro h2, .pilot-lead { margin-inline: 0; }
  .pilot-lead { margin-top: 20px; }
  .pilot-fit { margin-top: 18px; }
  .pilot-priority { margin-top: 8px; }
  .pilot-steps { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
  .pilot-steps li { padding-top: 20px; }
  .pilot-steps p { margin-top: 12px; }
  .pilot-action { flex-direction: column; gap: 18px; margin-top: 28px; padding-top: 24px; }
  .pilot-cta { min-width: 230px; max-width: 100%; }
}
@media (max-width: 359px) {
  :root { --gutter: 20px; }
  .site-header { column-gap: 12px; }
  .header-cta { padding-inline: 10px; }
  .hero-question { font-size: 38px; }
  .hero-statement { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
