@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500&family=Manrope:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");

:root {
  --ink: #0a0a0a;
  --ink-soft: #5f5a53;
  --ivory: #f3eee7;
  --ivory-deep: #e5ddd2;
  --paper: #fbf8f3;
  --clay: #c5ad9e;
  --clay-deep: #94715f;
  --white: #ffffff;
  --line: rgba(10, 10, 10, 0.13);
  --line-dark: rgba(255, 255, 255, 0.14);
  --success: #496555;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--ivory);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select {
  font: inherit;
}

button {
  font-family: "Manrope", Inter, system-ui, sans-serif;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  color: inherit;
}

.ui-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

button:not(:disabled),
a {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

button:not(:disabled):hover {
  transform: translateY(-2px);
}

.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

:focus-visible {
  outline: 3px solid var(--clay-deep);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 50;
  padding: 10px 14px;
  color: var(--white);
  background: var(--ink);
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.project-code-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  padding: 24px;
  place-items: center;
  overflow-y: auto;
  background: rgba(8, 6, 4, 0.72);
  backdrop-filter: blur(12px);
  animation: dialog-backdrop 260ms ease both;
}

.project-code-dialog {
  position: relative;
  width: min(100%, 490px);
  padding: 44px;
  color: var(--ink);
  background:
    radial-gradient(circle at 100% 0, rgba(216, 169, 135, 0.28), transparent 15rem),
    var(--paper);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28);
  animation: dialog-arrival 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes dialog-backdrop {
  from {
    opacity: 0;
  }
}

@keyframes dialog-arrival {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
  }
}

.dialog-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 34px;
  height: 34px;
  padding: 0;
  font-size: 22px;
  font-weight: 400;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.dialog-wordmark {
  display: block;
  margin-bottom: 48px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 23px;
  letter-spacing: -0.04em;
}

.project-code-dialog h1 {
  max-width: 370px;
  margin: 0;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(38px, 7vw, 54px);
  font-weight: 300;
  letter-spacing: -0.045em;
  line-height: 1;
}

.project-code-dialog > p {
  max-width: 350px;
  margin: 18px 0 30px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.65;
}

.project-code-dialog form label {
  display: block;
  margin-bottom: 9px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.project-code-dialog input {
  width: 100%;
  min-height: 58px;
  padding: 0 2px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 0;
  border-bottom: 1px solid rgba(10, 10, 10, 0.34);
  border-radius: 0;
  outline: none;
  background: transparent;
}

.project-code-dialog input::placeholder {
  color: rgba(10, 10, 10, 0.28);
  letter-spacing: 0;
  text-transform: none;
}

.project-code-dialog input:focus {
  border-color: var(--clay-deep);
  box-shadow: 0 2px 0 var(--clay-deep);
}

.project-code-error {
  min-height: 18px;
  margin: 7px 0 5px;
  color: #7a1f1f;
  font-size: 11px;
}

.dialog-submit {
  width: 100%;
}

.visitor-action {
  display: block;
  margin: 18px auto 0;
  padding: 8px 0;
  color: var(--ink-soft);
  font-size: 12px;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  cursor: pointer;
}

.visitor-action:hover {
  color: var(--ink);
  border-color: var(--ink);
}

.landing-page {
  overflow: hidden;
  background: var(--paper);
}

.landing-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 28px clamp(24px, 4vw, 72px);
  color: var(--white);
}

.landing-wordmark {
  color: inherit;
  font-family: "Fraunces", Georgia, serif;
  font-size: 28px;
  letter-spacing: -.05em;
  text-decoration: none;
}
.landing-header .landing-wordmark:hover{color:var(--clay)}

.landing-header nav { display: flex; justify-self:end; gap: 34px; }
.landing-header nav a, .header-cta {
  color: inherit;
  font-family: "Manrope", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
.landing-header nav a { opacity: .74; }
.landing-header nav a:hover { opacity: 1; }
.header-cta { justify-self: end; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.6); }
.header-cta span { margin-left: 8px; }

.landing-hero {
  position: relative;
  display: flex;
  min-height: 860px;
  padding: 180px clamp(24px, 8vw, 150px) 90px;
  align-items: center;
  color: var(--white);
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 45%, rgba(190,194,198,.11), transparent 27rem),
    linear-gradient(128deg, #070707 0%, #15120f 55%, #070707 100%);
}

.hero-copy { position: relative; z-index: 2; width: min(770px, 68vw); }
.landing-kicker {
  margin: 0 0 22px;
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.landing-hero h1 {
  margin: 0;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(58px, 7.2vw, 112px);
  font-weight: 300;
  letter-spacing: -.055em;
  line-height: .91;
}
.hero-copy > p:not(.landing-kicker) {
  max-width: 690px;
  margin: 36px 0 0;
  color: rgba(255,255,255,.63);
  font-size: 15px;
  line-height: 1.75;
}
.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 38px; }
.light-action, .process-content a, .onboarding-callout a {
  display: inline-flex;
  min-height: 54px;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  gap: 30px;
  color: var(--ink);
  background: var(--white);
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}
.light-action:hover{color:white;background:var(--clay-deep);transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.18)}.onboarding-callout a:hover{color:var(--ink);background:var(--white);transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.22)}.text-action:hover{color:var(--clay);transform:translateX(3px)}.demo-frame-top a:hover{color:white}.system-card{transition:transform .25s ease,box-shadow .25s ease}.system-card:hover{transform:translateY(-5px);box-shadow:0 38px 95px rgba(36,27,19,.18)}
.text-action {
  display: inline-flex;
  min-height: 54px;
  padding: 0 4px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--white);
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}
.text-action .ui-icon { margin: 0; flex-shrink: 0; }
.hero-actions .light-action,
.hero-actions .text-action {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  min-height: 54px;
  align-items: center;
}
.hero-actions .text-action {
  padding: 0 4px;
  gap: 12px;
}
.hero-actions .light-action {
  gap: 14px;
}
.text-action span { margin-left: 12px; }
.hero-orbit { position: absolute; right: -7vw; top: 22%; width: min(44vw, 650px); aspect-ratio: 1; border-radius: 50%; background:
  radial-gradient(circle, transparent 0 28.7%, rgba(205,209,212,.018) 28.9%, rgba(205,209,212,.052) 29.35%, rgba(205,209,212,.018) 29.8%, transparent 30.05%),
  radial-gradient(circle, transparent 0 42.2%, rgba(205,209,212,.016) 42.4%, rgba(205,209,212,.046) 42.85%, rgba(205,209,212,.016) 43.3%, transparent 43.55%),
  radial-gradient(circle, transparent 0 49.05%, rgba(205,209,212,.012) 49.2%, rgba(205,209,212,.04) 49.55%, rgba(205,209,212,.012) 49.9%, transparent 50.1%);
  filter: drop-shadow(0 0 18px rgba(205,209,212,.025));
}
.hero-orbit::before { position: absolute; inset: 7%; border-radius: 50%; background: radial-gradient(circle at 43% 40%, rgba(205,209,212,.035), transparent 61%); content: ""; filter: blur(20px); }
.hero-orbit b { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(220,223,225,.03); font-family: "Fraunces", Georgia, serif; font-size: 150px; font-weight: 300; }
.hero-orbit span, .hero-orbit i { position:absolute; width:10px; height:10px; border-radius:50%; background:rgba(196,199,201,.15); box-shadow:0 0 24px rgba(196,199,201,.06); }
.hero-orbit span { left:7%; top:30%; }.hero-orbit i { right:15%; bottom:17%; }
.hero-status { position:absolute; left:clamp(24px, 4vw, 72px); right:clamp(24px, 4vw, 72px); bottom:30px; display:flex; justify-content:flex-end; gap:28px; }
.hero-status span { color:rgba(255,255,255,.46); font-family:"Manrope"; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }

.system-section, .demo-section, .process-section, .faq-section { padding: 130px clamp(24px, 6vw, 100px); }
.section-intro { max-width: 980px; margin-bottom: 76px; }
.section-intro h2, .demo-heading h2, .process-heading h2, .onboarding-callout h2, .faq-heading h2 {
  margin:0;
  font-family:"Fraunces", Georgia, serif;
  font-size:clamp(46px, 6vw, 88px);
  font-weight:300;
  letter-spacing:-.055em;
  line-height:.98;
}
.section-intro > p:last-child, .demo-heading > p:last-child { max-width:680px; margin:26px 0 0; color:var(--ink-soft); font-size:15px; line-height:1.75; }
.system-pair { display:grid; grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr); align-items:stretch; max-width:1300px; margin:auto; }
.system-card { position:relative; height:620px; min-width:0; overflow:hidden; background:#0a0a0a; box-shadow:0 30px 80px rgba(0,0,0,.28); }
.source-platform-image{height:410px;overflow:hidden;background:#111}.source-platform-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.system-card.os-card{padding:0}
.browser-chrome { display:flex; height:42px; align-items:center; gap:6px; padding:0 16px; background:#171717; }
.browser-chrome i { width:6px;height:6px;border-radius:50%;background:#6b6865}.browser-chrome span{margin:auto;color:#8b8782;font-size:7px}
.mini-site { display:flex; min-height:350px; padding:44px; flex-direction:column; color:white; background:linear-gradient(145deg,rgba(31,22,16,.24),rgba(10,10,10,.8)),radial-gradient(circle at 70% 45%,#af8b71,#201611 62%); }
.mini-site span{font-family:"Manrope";font-size:8px;letter-spacing:.2em}.mini-site b{margin:auto 0;font-family:"Fraunces";font-size:42px;font-weight:300;line-height:1}.mini-site i{width:60px;border-top:1px solid var(--clay)}
.system-copy { position:absolute; inset:auto 0 0; height:210px; padding:30px 32px; color:#fff; background:#0a0a0a; }
.system-title{display:flex;align-items:center;gap:15px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.035em}.system-title b{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;font-family:"Manrope",sans-serif;font-size:11px;font-weight:600;letter-spacing:0}.system-title strong{font-size:24px;font-weight:500;line-height:1.08;color:#fff}
.system-copy p { margin:18px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.72; }
.system-connector { position:relative; z-index:2; display:grid; place-items:center}.system-connector i{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:var(--ink);color:white;font-style:normal}
.os-card{background:#161616;padding:30px;color:white}.os-top{display:flex;justify-content:space-between}.os-top b{font-family:"Fraunces";font-size:20px}.os-top span{font-size:8px;color:#888}.os-layout{display:grid;grid-template-columns:70px 1fr;gap:20px;margin-top:40px}.os-layout>i{height:250px;background:#222}.os-layout div{display:grid;gap:12px}.os-layout span{display:block;background:linear-gradient(90deg,#292929,#3e3129);border:1px solid #36302c}

.commercial-section{position:relative;overflow:hidden;background:#090909}.commercial-section video{display:block;width:100%;height:auto;max-height:900px;object-fit:cover;cursor:pointer}.commercial-section video:focus-visible{outline:2px solid var(--clay);outline-offset:-4px}.video-note{margin:0;padding:10px 18px 12px;color:#777;background:#090909;font-family:"Manrope",sans-serif;font-size:9px;letter-spacing:.04em;text-align:center}.video-loading,.frame-loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;color:#aaa;background:#111;font-family:"Manrope",sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.demo-section { color:white; background:#0a0a0a; }
.demo-heading { display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:end;margin-bottom:70px}.demo-heading .landing-kicker{align-self:start}.demo-heading>p:last-child{grid-column:2;color:#87827c}
.demo-frame { position:relative;border:1px solid #343434;background:#151515;box-shadow:0 28px 90px rgba(0,0,0,.35) }
.demo-frame-top { display:flex;height:58px;padding:0 22px;align-items:center;justify-content:space-between;border-bottom:1px solid #343434;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px;font-weight:500;letter-spacing:-.015em}
.demo-frame-top a{display:inline-flex;align-items:center;gap:9px;color:var(--clay);font:inherit;text-decoration:none}.demo-frame-top a .ui-icon{width:13px;height:13px}.demo-frame iframe{display:block;width:100%;height:680px;border:0;background:white}.demo-frame .frame-loading{top:58px}.mobile-demo-launch{display:none}

.process-section{background:#e6ddd2}.process-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:70px}.process-heading h2{max-width:760px}.process-panel{border-top:1px solid rgba(10,10,10,.28);border-bottom:1px solid rgba(10,10,10,.28)}
.process-tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(10,10,10,.2)}.process-tabs button{position:relative;display:flex;min-height:112px;padding:24px 18px;align-items:center;gap:18px;color:rgba(10,10,10,.42);border:0;border-right:1px solid rgba(10,10,10,.16);background:transparent;text-align:left;font-size:24px;letter-spacing:-.035em;cursor:pointer;transition:color .2s ease,background .2s ease}.process-tabs button:last-child{border-right:0}.process-tabs button span{display:grid;width:34px;height:34px;place-items:center;color:var(--ink-soft);border:1px solid rgba(10,10,10,.24);border-radius:50%;font-family:"Manrope",sans-serif;font-size:10px;letter-spacing:0}.process-tabs button:after{position:absolute;left:18px;right:18px;bottom:-1px;height:3px;background:var(--clay-deep);content:"";transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.process-tabs button:hover{color:var(--ink);background:rgba(255,255,255,.25)}.process-tabs button.is-active{color:var(--ink);background:rgba(255,255,255,.45)}.process-tabs button.is-active:after{transform:scaleX(1)}.process-tabs button.is-active span{color:white;border-color:var(--ink);background:var(--ink)}.process-content{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(280px,1fr);min-height:250px;padding:52px 28px;align-items:center;gap:40px}.process-current{align-self:start;color:var(--ink-soft);font-family:"Manrope",sans-serif;font-size:11px;letter-spacing:.12em}.process-content h3{margin:0;font-family:"Fraunces";font-size:clamp(54px,7vw,92px);font-weight:300;line-height:.9}.process-content>p:not(.landing-kicker){max-width:600px;margin:0;color:var(--ink-soft);font-size:16px;line-height:1.75}

.onboarding-callout{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;padding:130px clamp(24px,8vw,150px);color:white;background:var(--clay-deep)}.onboarding-callout p{max-width:520px;font-size:16px;line-height:1.8}.onboarding-callout a{margin-top:24px}
.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-heading{position:sticky;top:40px;height:fit-content}.faq-list details{border-top:1px solid var(--line);transition:background-color .2s ease,padding .2s ease}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list details:hover{padding:0 18px;background:rgba(216,169,135,.1)}.faq-list summary{display:flex;padding:28px 0;align-items:center;justify-content:space-between;gap:20px;font-family:"Manrope";font-size:15px;font-weight:600;cursor:pointer;list-style:none;transition:color .2s ease}.faq-list summary:hover{color:var(--clay-deep)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;font-weight:400;transition:transform .2s ease}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:700px;margin:-5px 0 28px;color:var(--ink-soft);font-size:14px;line-height:1.8}
.landing-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px;padding:70px clamp(24px,6vw,100px);color:#9d9994;background:#0a0a0a}.landing-footer p{margin:0;font-size:10px;line-height:1.8}.landing-footer p:last-child{text-align:right}.landing-footer .landing-wordmark{color:white}

.project-code-launcher{position:fixed;right:22px;bottom:22px;z-index:90;display:grid;width:50px;height:50px;padding:0;place-items:center;color:white;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:#111;box-shadow:0 14px 40px rgba(0,0,0,.22);cursor:pointer}.project-code-launcher:hover{color:#0a0a0a;background:white}.project-code-launcher>span{position:relative;display:block;width:17px;height:17px;border:2px solid currentColor;border-radius:50%;transform:translate(-1px,-2px)}.project-code-launcher>span:after{position:absolute;right:-7px;bottom:-4px;width:8px;height:2px;border-radius:2px;background:currentColor;content:"";transform:rotate(45deg)}
.client-preview-shell{position:fixed;inset:0;z-index:120;display:grid;grid-template-rows:54px minmax(0,1fr);color:white;background:#0a0a0a}.client-preview-shell>header{display:flex;padding:0 18px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #303030;font-family:"Manrope",sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.client-preview-shell>header div{display:flex;gap:8px}.client-preview-shell button{padding:9px 13px;color:white;border:1px solid #444;background:#171717;cursor:pointer}.client-preview-shell iframe{position:relative;z-index:3;width:100%;height:100%;border:0;background:white}.client-preview-shell .frame-loading{top:54px}

.landing-page h1,
.landing-page h2,
.landing-page h3,
.project-code-dialog h1,
.ops-shell h1,
.ops-shell h2,
.ops-shell h3,
.ops-split strong,
.ops-no-code h2 {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 400;
  letter-spacing: -.065em;
}

.ops-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh;background:var(--paper)}
.ops-rail{position:sticky;top:0;display:flex;height:100vh;padding:36px 28px 28px;flex-direction:column;color:white;background:#0b0b0b}
.ops-rail-copy{margin:110px 0 52px}.ops-rail-copy p:last-child{max-width:225px;margin:0;color:#999;font-size:12px;line-height:1.7}
.ops-rail nav{display:grid;gap:4px}.ops-rail nav button{display:flex;min-height:47px;padding:0;align-items:center;gap:12px;color:#858585;border:0;background:transparent;font-size:12px;text-align:left;cursor:pointer}.ops-rail nav button span{width:17px;color:var(--clay)}.ops-rail nav button.is-current{color:white}.ops-rail nav button:disabled{cursor:default}
.ops-journey{min-width:0}.ops-header{display:flex;height:82px;padding:0 clamp(30px,6vw,90px);align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-family:"Manrope";font-size:9px;letter-spacing:.1em;text-transform:uppercase}.ops-header>div{display:flex;width:220px;align-items:center;gap:12px}.ops-header div:before{display:block;width:100%;height:2px;background:#ded7cf;content:""}.ops-header i{position:absolute;height:2px;background:var(--clay-deep)}.ops-header div span{color:var(--ink-soft)}
.ops-content{width:min(840px,calc(100% - 60px));margin:0 auto;padding:110px 0 80px;outline:none}.ops-content h1{max-width:790px;margin:0;font-family:"Fraunces";font-size:clamp(50px,7vw,86px);font-weight:300;letter-spacing:-.055em;line-height:.96}.ops-lead{max-width:650px;margin:26px 0 50px;color:var(--ink-soft);font-size:16px;line-height:1.75}
.ops-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ops-split button{display:flex;min-height:175px;padding:28px;flex-direction:column;align-items:flex-start;justify-content:flex-end;border:1px solid var(--line);background:white;text-align:left;cursor:pointer}.ops-split button:hover{border-color:var(--clay-deep);transform:translateY(-2px)}.ops-split strong{font-family:"Fraunces";font-size:25px;font-weight:400}.ops-split span{margin-top:12px;color:var(--ink-soft);font-size:12px}
.ops-code-entry,.ops-no-code{max-width:660px;padding:40px;background:white;border:1px solid var(--line)}.ops-code-entry label{display:block;margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ops-code-entry input{width:100%;height:64px;margin-bottom:26px;padding:0;border:0;border-bottom:1px solid #999;background:transparent;font-size:22px;letter-spacing:0;text-transform:none}.ops-code-entry .primary-action,.ops-no-code .primary-action{width:100%}.ops-text-button{display:block;margin:16px auto 0;padding:7px;border:0;background:transparent;color:var(--ink-soft);font-size:12px;cursor:pointer}.ops-no-code h2{margin:0;font-family:"Fraunces";font-size:36px;font-weight:300}.ops-no-code p{color:var(--ink-soft);font-size:14px;line-height:1.7}
.ops-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ops-choices button{display:flex;min-height:88px;padding:0 22px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:white;cursor:pointer}.ops-choices button[aria-pressed=true]{border-color:var(--clay-deep);box-shadow:inset 3px 0 var(--clay-deep)}.ops-choices button span{font-size:14px}.ops-choices button i{color:var(--clay-deep);font-size:15px;font-style:normal}
.ops-select,.ops-notes{display:block;margin-top:30px}.ops-select>span,.ops-notes>span{display:block;margin-bottom:10px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ops-select select,.ops-notes textarea{width:100%;padding:16px;border:1px solid var(--line);border-radius:0;background:white}.ops-notes textarea{resize:vertical}.ops-notes em{color:var(--ink-soft);font-style:normal;font-weight:400}
.ops-actions{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.ops-actions>p,.form-notice{min-height:22px;margin:0 0 8px;color:#7a1f1f;font-size:12px}.ops-actions>div{display:flex;align-items:center;justify-content:space-between}.ops-actions>div>button:first-child{padding:12px 0;border:0;background:transparent;color:var(--ink-soft);font-size:12px;cursor:pointer}.ops-actions .primary-action{min-width:190px}
.ops-review{margin:52px 0 0;border-top:1px solid var(--line)}.ops-review div{display:grid;grid-template-columns:220px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.ops-review dt{color:var(--ink-soft);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.ops-review dd{margin:0;font-size:14px}.ops-complete>span{display:grid;width:54px;height:54px;margin-bottom:35px;place-items:center;border-radius:50%;color:white;background:var(--success)}.ops-complete>p:not(.phase-kicker){max-width:600px;color:var(--ink-soft);font-size:15px;line-height:1.7}.ops-complete a{display:inline-block;margin-top:25px;color:var(--ink);font-size:12px;font-weight:700;text-transform:uppercase}
.application-form,.application-confirmation{margin-top:46px;padding-top:38px;border-top:1px solid var(--line)}.application-form h2,.application-confirmation h2{max-width:560px;margin:14px 0 0;font-size:clamp(36px,5vw,60px);line-height:1}.field-label{font-family:"Manrope",sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 30px;margin-top:36px}.contact-grid label{display:block}.contact-grid label.full{grid-column:1/-1}.contact-grid label>span{display:block;margin-bottom:10px;font-family:"Manrope",sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.contact-grid label em{color:var(--ink-soft);font-style:normal;font-weight:400}.contact-grid input,.contact-grid textarea{width:100%;padding:16px 2px;border:0;border-bottom:1px solid rgba(10,10,10,.25);border-radius:0;background:transparent;font-size:15px;outline:none}.contact-grid textarea{padding:16px;border:1px solid var(--line);font-size:14px;line-height:1.6;resize:vertical}.contact-grid input:focus,.contact-grid textarea:focus{border-color:var(--clay-deep)}.application-confirmation p{color:var(--ink-soft);font-size:15px;line-height:1.7}.application-confirmation a{display:inline-block;margin-top:20px;color:var(--ink);font-size:12px;font-weight:700;text-transform:uppercase}

@media (max-width: 900px) {
  .landing-header{grid-template-columns:1fr auto}.landing-header nav{display:none}
  .landing-hero{min-height:760px;padding-top:150px}.hero-copy{width:100%}.hero-orbit{right:-32%;top:37%;width:600px;opacity:.5}
  .system-pair{grid-template-columns:1fr}.system-connector{padding:20px}.system-connector i{transform:rotate(90deg)}
  .demo-heading,.faq-section,.onboarding-callout{grid-template-columns:1fr}.demo-heading>p:last-child{grid-column:auto}.faq-heading{position:static}
  .process-content{grid-template-columns:minmax(160px,.55fr) 1fr;gap:28px}
  .ops-shell{grid-template-columns:220px 1fr}.ops-rail{padding:28px 20px}.ops-content{padding-top:80px}
}

@media (max-width: 600px) {
  .landing-header{padding:24px}.header-cta{font-size:8px}
  .landing-hero{min-height:720px;padding:140px 24px 75px;background:#090909}.landing-hero h1{font-size:54px}.hero-copy>p:not(.landing-kicker){font-size:14px}.hero-actions{width:100%;align-items:flex-start;flex-direction:column;gap:12px}.hero-actions>a{display:flex;width:100%;max-width:310px;min-height:58px;padding:0 20px;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.68);font-family:"Manrope",sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.hero-actions .text-action{color:white;background:transparent}.hero-actions .text-action .ui-icon{margin:0}
  .hero-orbit{right:-104px;top:55%;width:300px;opacity:.22;filter:none}.hero-orbit::before{display:none}.hero-orbit b{font-size:68px;color:rgba(220,223,225,.018)}.hero-orbit span,.hero-orbit i{display:none}
  .hero-status{display:none}.system-section,.demo-section,.process-section,.faq-section{padding:90px 24px}.section-intro h2,.demo-heading h2,.process-heading h2,.onboarding-callout h2,.faq-heading h2{font-size:46px}
  .system-card{height:540px}.source-platform-image{height:340px}.system-copy{height:200px;padding:25px 24px}.system-title strong{font-size:20px}.system-copy p{font-size:13px}.demo-section{padding-top:78px;padding-bottom:78px}.demo-heading{display:block;margin-bottom:36px}.demo-heading .landing-kicker{margin-bottom:18px}.demo-heading>p:last-child{margin-top:24px}.demo-frame{border:1px solid #343434;background:#151515;box-shadow:0 22px 60px rgba(0,0,0,.34)}.demo-frame-top{display:flex;height:58px;padding:0 14px;font-size:11px}.demo-frame-top>a{gap:6px}.demo-frame iframe{display:block;width:100%;height:620px}.demo-frame .frame-loading{display:grid;top:58px}.mobile-demo-launch{display:none}.process-heading{display:block}.process-tabs button{min-height:88px;padding:16px 10px;justify-content:center;gap:8px;font-size:15px}.process-tabs button span{width:28px;height:28px;font-size:9px}.process-content{grid-template-columns:1fr;padding:34px 10px;gap:14px}.process-current{display:none}.process-content h3{font-size:56px}.process-content>p:not(.landing-kicker){font-size:15px}
  .onboarding-callout{padding:90px 24px;gap:30px}.landing-footer{grid-template-columns:1fr}.landing-footer p:last-child{text-align:left}
  .project-code-dialog{padding:36px 26px}
  .ops-shell{display:block}.ops-rail{position:static;height:auto;padding:24px}.ops-rail-copy,.ops-rail nav{display:none}.ops-header{height:64px;padding:0 24px}.ops-header>div{width:130px}.ops-content{width:calc(100% - 48px);padding:70px 0}.ops-content h1{font-size:50px}.ops-split,.ops-choices{grid-template-columns:1fr}.ops-review div{grid-template-columns:1fr;gap:8px}.ops-code-entry,.ops-no-code{padding:28px 22px}.ops-actions>div{align-items:stretch;flex-direction:column-reverse;gap:12px}.ops-actions .primary-action{width:100%;min-width:0}.ops-actions>div>button:first-child{width:100%;min-height:46px;text-align:center}
  .contact-grid{grid-template-columns:1fr;gap:24px}.contact-grid label.full{grid-column:auto}.contact-grid input,.contact-grid textarea{font-size:16px}.contact-grid textarea{min-height:150px}
}

.onboarding-shell {
  display: grid;
  grid-template-columns: 284px minmax(480px, 1fr) 340px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 68% 2%, rgba(216, 169, 135, 0.2), transparent 28rem),
    var(--ivory);
}

.project-rail {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 34px 28px 26px;
  color: var(--white);
  overflow: hidden;
  background:
    linear-gradient(160deg, rgba(216, 169, 135, 0.1), transparent 35%),
    var(--ink);
}

.project-rail::after {
  position: absolute;
  right: -110px;
  bottom: -140px;
  width: 290px;
  height: 290px;
  border: 1px solid rgba(216, 169, 135, 0.16);
  border-radius: 50%;
  content: "";
}

.wordmark {
  width: fit-content;
  color: var(--white);
  font-family: "Fraunces", Georgia, serif;
  font-size: 27px;
  font-weight: 400;
  letter-spacing: -0.04em;
  text-decoration: none;
}

.rail-intro {
  margin: 64px 0 30px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line-dark);
}

.micro-label,
.phase-kicker {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rail-intro .micro-label {
  color: var(--clay);
}

.rail-intro h2 {
  margin: 12px 0 7px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 23px;
  font-weight: 300;
  line-height: 1.18;
}

.rail-intro > p:last-child {
  margin: 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 11px;
}

.phase-nav {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 3px;
}

.phase-nav button {
  display: grid;
  grid-template-columns: 25px 1fr;
  align-items: center;
  min-height: 37px;
  padding: 0 8px;
  color: rgba(255, 255, 255, 0.42);
  font-size: 12px;
  text-align: left;
  border: 0;
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.phase-nav button:hover:not(:disabled),
.phase-nav button.is-current {
  color: var(--white);
  background: rgba(255, 255, 255, 0.07);
}

.phase-nav button:disabled {
  cursor: default;
}

.phase-marker {
  color: var(--clay);
  font-size: 13px;
}

.rail-support {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 11px;
  align-items: flex-start;
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid var(--line-dark);
}

.support-dot {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--clay);
  box-shadow: 0 0 0 5px rgba(216, 169, 135, 0.12);
}

.rail-support strong,
.rail-support span {
  display: block;
}

.rail-support strong {
  margin-bottom: 4px;
  font-size: 10px;
}

.rail-support div span {
  color: rgba(255, 255, 255, 0.46);
  font-size: 9px;
  line-height: 1.45;
}

.journey {
  min-width: 0;
  border-right: 1px solid var(--line);
}

.journey-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  padding: 22px clamp(28px, 4vw, 70px);
  border-bottom: 1px solid var(--line);
}

.journey-header .micro-label {
  color: var(--ink-soft);
}

.mobile-phase {
  display: none;
}

.progress-readout {
  display: grid;
  grid-template-columns: auto auto;
  gap: 4px 18px;
  width: 188px;
}

.progress-readout::after {
  grid-column: 1 / -1;
  width: 100%;
  height: 2px;
  background:
    linear-gradient(
      90deg,
      var(--ink) 0,
      var(--ink) var(--progress, 0%),
      rgba(10, 10, 10, 0.12) var(--progress, 0%)
    );
  content: "";
}

.progress-readout span,
.progress-readout strong {
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.progress-readout strong {
  justify-self: end;
}

.progress-readout[aria-valuenow="0"] {
  --progress: 0%;
}
.progress-readout[aria-valuenow="13"] {
  --progress: 13%;
}
.progress-readout[aria-valuenow="25"] {
  --progress: 25%;
}
.progress-readout[aria-valuenow="38"] {
  --progress: 38%;
}
.progress-readout[aria-valuenow="50"] {
  --progress: 50%;
}
.progress-readout[aria-valuenow="63"] {
  --progress: 63%;
}
.progress-readout[aria-valuenow="75"] {
  --progress: 75%;
}
.progress-readout[aria-valuenow="88"] {
  --progress: 88%;
}
.progress-readout[aria-valuenow="100"] {
  --progress: 100%;
}

.phase-stage {
  width: min(780px, 100%);
  margin: 0 auto;
  padding: clamp(48px, 7vh, 84px) clamp(28px, 5vw, 76px) 64px;
  animation: phase-reveal 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes phase-reveal {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.phase-heading {
  max-width: 640px;
  margin-bottom: 40px;
}

.phase-kicker {
  margin-bottom: 18px;
  color: var(--clay-deep);
}

.phase-heading h1,
.arrival-panel h1,
.success-panel h1 {
  max-width: 660px;
  margin: 0;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(40px, 5.2vw, 68px);
  font-weight: 300;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.phase-heading > p:last-child {
  max-width: 560px;
  margin: 22px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.7;
}

.arrival-panel,
.success-panel {
  padding-top: 3vh;
}

.arrival-ornament {
  display: grid;
  width: 64px;
  height: 64px;
  margin-bottom: 42px;
  place-items: center;
  border: 1px solid rgba(10, 10, 10, 0.28);
  border-radius: 50%;
}

.arrival-ornament span {
  font-family: "Fraunces", Georgia, serif;
  font-size: 30px;
  font-weight: 300;
}

.display-copy {
  max-width: 590px;
  margin: 24px 0 0;
  font-family: "Fraunces", Georgia, serif;
  font-size: 25px;
  font-weight: 300;
  line-height: 1.3;
}

.body-copy {
  max-width: 590px;
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.75;
}

.arrival-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 42px 0 38px;
  background: var(--line);
  border: 1px solid var(--line);
}

.arrival-meta div {
  min-height: 86px;
  padding: 20px;
  background: rgba(251, 248, 243, 0.72);
}

.arrival-meta span,
.arrival-meta strong {
  display: block;
}

.arrival-meta span {
  margin-bottom: 9px;
  color: var(--ink-soft);
  font-size: 8px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.arrival-meta strong {
  font-family: "Fraunces", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
}

.primary-action,
.back-action,
.text-action,
.quiet-reset {
  border: 0;
  cursor: pointer;
}

.primary-action {
  display: inline-flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 0 24px;
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  background: var(--ink);
  transition:
    background 180ms ease,
    transform 180ms ease;
}

.primary-action:hover {
  background: #2b2723;
  transform: translateY(-1px);
}

.primary-action .ui-icon {
  color: var(--clay);
}

.privacy-note {
  margin: 16px 0 0;
  color: var(--ink-soft);
  font-size: 9px;
}

.focused-fields {
  display: grid;
  gap: 24px;
  max-width: 570px;
}

.focused-fields label > span,
.number-pair label > span,
.social-confirm label > span {
  display: block;
  margin-bottom: 9px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.focused-fields em {
  color: var(--ink-soft);
  font-size: 8px;
  font-style: normal;
  font-weight: 500;
}

.focused-fields input,
.handle-field input,
.number-pair select {
  width: 100%;
  min-height: 58px;
  padding: 0 3px;
  border: 0;
  border-bottom: 1px solid rgba(10, 10, 10, 0.3);
  border-radius: 0;
  outline: none;
  background: transparent;
}

.focused-fields input {
  font-family: "Fraunces", Georgia, serif;
  font-size: 24px;
  font-weight: 300;
}

.focused-fields input::placeholder,
.handle-field input::placeholder {
  color: rgba(10, 10, 10, 0.28);
}

.focused-fields input:focus,
.handle-field input:focus,
.number-pair select:focus {
  border-color: var(--clay-deep);
  box-shadow: 0 2px 0 var(--clay-deep);
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--line);
}

.choice-grid > button {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 82px;
  padding: 16px 18px;
  text-align: left;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(251, 248, 243, 0.52);
  cursor: pointer;
  transition:
    background 180ms ease,
    color 180ms ease;
}

.choice-grid > button:nth-child(even) {
  border-right: 0;
}

.choice-grid > button:hover,
.choice-grid > button[aria-pressed="true"] {
  color: var(--white);
  background: var(--ink);
}

.choice-grid strong {
  font-family: "Fraunces", Georgia, serif;
  font-size: 18px;
  font-weight: 400;
}

.choice-check {
  font-size: 16px;
}

.featured-choice,
.booking-block {
  margin: 30px 0 0;
  padding: 0;
  border: 0;
}

.featured-choice legend,
.booking-block legend {
  margin-bottom: 14px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.featured-choice > div,
.segmented-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.featured-choice input,
.segmented-choices input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.featured-choice label span,
.segmented-choices label span {
  display: block;
  padding: 10px 13px;
  font-size: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.34);
  cursor: pointer;
}

.featured-choice input:checked + span,
.segmented-choices input:checked + span {
  color: var(--white);
  background: var(--ink);
}

.featured-choice input:focus-visible + span,
.segmented-choices input:focus-visible + span {
  outline: 3px solid var(--clay-deep);
  outline-offset: 3px;
}

.number-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 30px;
}

.number-pair select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, var(--ink) 50%) calc(100% - 12px)
      27px / 5px 5px no-repeat,
    linear-gradient(135deg, var(--ink) 50%, transparent 50%) calc(100% - 7px)
      27px / 5px 5px no-repeat;
}

.booking-promise,
.review-assurance {
  display: flex;
  gap: 15px;
  margin-top: 34px;
  padding: 18px;
  color: var(--ink);
  background: rgba(216, 169, 135, 0.2);
}

.booking-promise > span,
.review-assurance > span {
  color: var(--clay-deep);
}

.booking-promise p,
.review-assurance p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 10px;
  line-height: 1.55;
}

.booking-promise strong,
.review-assurance strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ink);
}

.binary-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.binary-choice button {
  min-height: 180px;
  padding: 24px;
  text-align: left;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.3);
  cursor: pointer;
}

.binary-choice button:hover,
.binary-choice button.is-selected {
  border-color: var(--ink);
}

.binary-choice button.is-selected {
  box-shadow: inset 0 -3px 0 var(--clay-deep);
}

.binary-mark {
  display: block;
  width: 33px;
  height: 33px;
  margin-bottom: 38px;
  border: 1px solid var(--ink);
  border-radius: 50%;
}

.binary-choice button.is-selected .binary-mark {
  border: 9px solid var(--ink);
  background: var(--clay);
}

.binary-choice strong,
.binary-choice small {
  display: block;
}

.binary-choice strong {
  margin-bottom: 8px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 18px;
  font-weight: 400;
}

.binary-choice small {
  color: var(--ink-soft);
  font-size: 9px;
  line-height: 1.55;
}

.social-confirm {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 28px;
  align-items: center;
  padding: 26px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.34);
}

.social-avatar {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  color: var(--white);
  font-family: "Fraunces", Georgia, serif;
  font-size: 34px;
  font-weight: 300;
  border-radius: 50%;
  background: var(--ink);
}

.handle-field {
  display: flex;
  align-items: center;
}

.handle-field > span {
  font-family: "Fraunces", Georgia, serif;
  font-size: 26px;
}

.handle-field input {
  min-width: 0;
  font-family: "Fraunces", Georgia, serif;
  font-size: 23px;
}

.social-safety {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

.social-safety span {
  padding: 8px 10px;
  color: var(--ink-soft);
  font-size: 8px;
  letter-spacing: 0.05em;
  border: 1px solid var(--line);
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.review-card {
  min-height: 164px;
  padding: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.32);
}

.review-card > div {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 25px;
}

.review-card button {
  padding: 0;
  font-size: 9px;
  text-decoration: underline;
  text-underline-offset: 3px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.review-card h2 {
  margin: 0 0 10px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 20px;
  font-weight: 400;
}

.review-card p {
  margin: 3px 0;
  color: var(--ink-soft);
  font-size: 9px;
  line-height: 1.45;
}

.phase-actions {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.phase-actions > div {
  display: flex;
  gap: 16px;
  align-items: center;
}

.back-action,
.text-action,
.quiet-reset {
  padding: 11px 0;
  font-size: 10px;
  background: transparent;
}

.validation-message {
  max-width: 230px;
  margin: 0;
  color: #7a1f1f;
  font-size: 9px;
  line-height: 1.45;
}

.success-panel {
  text-align: center;
}

.success-panel h1,
.success-panel .display-copy {
  margin-right: auto;
  margin-left: auto;
}

.success-seal {
  display: grid;
  width: 82px;
  height: 82px;
  margin: 0 auto 38px;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
}

.success-seal span {
  display: grid;
  width: 54px;
  height: 54px;
  color: var(--white);
  place-items: center;
  border-radius: 50%;
  background: var(--success);
}

.project-timeline {
  max-width: 540px;
  margin: 44px auto 28px;
  text-align: left;
}

.project-timeline > div {
  position: relative;
  display: grid;
  grid-template-columns: 26px 72px 1fr;
  align-items: center;
  min-height: 49px;
}

.project-timeline > div:not(:last-child)::after {
  position: absolute;
  top: 31px;
  bottom: -18px;
  left: 7px;
  width: 1px;
  background: var(--line);
  content: "";
}

.timeline-dot {
  z-index: 1;
  display: grid;
  width: 15px;
  height: 15px;
  color: var(--white);
  font-size: 8px;
  place-items: center;
  border: 1px solid var(--ink);
  border-radius: 50%;
  background: var(--ivory);
}

.project-timeline > div:first-child .timeline-dot {
  background: var(--success);
}

.project-timeline small {
  color: var(--clay-deep);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.project-timeline strong {
  font-family: "Fraunces", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
}

.completion-window {
  max-width: 540px;
  margin: 0 auto 20px;
  padding: 22px;
  border: 1px solid var(--line);
}

.completion-window span,
.completion-window strong,
.completion-window small {
  display: block;
}

.completion-window span {
  margin-bottom: 7px;
  color: var(--ink-soft);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.completion-window strong {
  margin-bottom: 5px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 22px;
  font-weight: 400;
}

.completion-window small {
  color: var(--ink-soft);
  font-size: 8px;
}

.text-action {
  margin-right: 20px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.quiet-reset {
  color: var(--ink-soft);
}

.project-preview {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 32px 28px;
  overflow-y: auto;
  background: var(--paper);
}

.preview-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.live-status {
  display: flex;
  gap: 6px;
  align-items: center;
  color: var(--ink-soft);
}

.live-status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--success);
}

.site-card {
  min-height: 292px;
  color: var(--white);
  overflow: hidden;
  background: #151412;
  box-shadow: 0 24px 60px rgba(28, 22, 17, 0.16);
  transition: background 300ms ease;
}

.site-card.tone-warm-editorial {
  background: #7d4938;
}

.site-card.tone-modern-clinical {
  color: #14251e;
  background: #bcc9c2;
}

.site-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.tone-modern-clinical .site-card-head {
  border-color: rgba(20, 37, 30, 0.16);
}

.mini-wordmark {
  max-width: 190px;
  overflow: hidden;
  font-family: "Fraunces", Georgia, serif;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-card-head > span {
  font-size: 7px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mini-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 178px;
  padding: 30px 18px 22px;
}

.mini-hero span {
  margin-bottom: 15px;
  color: var(--clay);
  font-size: 7px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tone-modern-clinical .mini-hero span {
  color: #405b50;
}

.mini-hero strong {
  position: relative;
  z-index: 1;
  max-width: 230px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.mini-hero i {
  position: absolute;
  right: -22px;
  bottom: -36px;
  width: 135px;
  height: 135px;
  border: 1px solid rgba(216, 169, 135, 0.34);
  border-radius: 50%;
}

.mini-service-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.tone-modern-clinical .mini-service-row {
  border-color: rgba(20, 37, 30, 0.16);
}

.mini-service-row span {
  padding: 13px 8px;
  overflow: hidden;
  font-size: 6px;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.tone-modern-clinical .mini-service-row span {
  border-color: rgba(20, 37, 30, 0.16);
}

.mini-service-row span:last-child {
  border: 0;
}

.build-list {
  margin-top: 28px;
  border-top: 1px solid var(--line);
}

.build-list > div {
  display: grid;
  grid-template-columns: 21px 1fr auto;
  gap: 8px;
  align-items: center;
  min-height: 43px;
  color: var(--ink-soft);
  font-size: 9px;
  border-bottom: 1px solid var(--line);
}

.build-list > div.is-complete {
  color: var(--ink);
}

.preview-check {
  color: var(--clay-deep);
}

.build-list small {
  color: var(--ink-soft);
  font-size: 7px;
  text-transform: uppercase;
}

.next-milestone {
  margin-top: 30px;
  padding: 18px;
  border-left: 2px solid var(--clay);
  background: rgba(216, 169, 135, 0.13);
}

.next-milestone span,
.next-milestone strong {
  display: block;
}

.next-milestone span {
  margin-bottom: 8px;
  color: var(--ink-soft);
  font-size: 7px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.next-milestone strong {
  font-family: "Fraunces", Georgia, serif;
  font-size: 16px;
  font-weight: 400;
}

.next-milestone p {
  margin: 8px 0 0;
  color: var(--ink-soft);
  font-size: 8px;
  line-height: 1.55;
}

@media (max-width: 1120px) {
  .onboarding-shell {
    grid-template-columns: 244px 1fr;
  }

  .project-preview {
    display: none;
  }

  .journey {
    border-right: 0;
  }
}

@media (max-width: 760px) {
  .project-code-backdrop {
    align-items: end;
    padding: 0;
  }

  .project-code-dialog {
    width: 100%;
    padding: 36px 22px 30px;
  }

  .dialog-wordmark {
    margin-bottom: 34px;
  }

  .onboarding-shell {
    display: block;
    min-height: 100vh;
  }

  .project-rail {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 68px;
    padding: 0 20px;
  }

  .project-rail::after,
  .rail-intro,
  .phase-nav,
  .rail-support {
    display: none;
  }

  .journey-header {
    min-height: 75px;
    padding: 15px 20px;
  }

  .journey-header .micro-label {
    display: none;
  }

  .mobile-phase {
    display: block;
    font-family: "Fraunces", Georgia, serif;
    font-size: 15px;
  }

  .progress-readout {
    width: 145px;
  }

  .phase-stage {
    padding: 45px 20px 48px;
  }

  .phase-heading h1,
  .arrival-panel h1,
  .success-panel h1 {
    font-size: clamp(40px, 13vw, 58px);
  }

  .arrival-meta,
  .number-pair,
  .binary-choice,
  .review-grid {
    grid-template-columns: 1fr;
  }

  .arrival-meta div {
    min-height: 65px;
  }

  .choice-grid {
    grid-template-columns: 1fr;
  }

  .choice-grid > button {
    border-right: 0;
  }

  .social-confirm {
    grid-template-columns: 58px 1fr;
    gap: 17px;
    padding: 18px;
  }

  .social-avatar {
    width: 58px;
    height: 58px;
    font-size: 25px;
  }

  .phase-actions {
    align-items: stretch;
  }

  .phase-actions > div {
    flex-direction: column;
    align-items: flex-end;
  }

  .validation-message {
    text-align: right;
  }

  .project-timeline > div {
    grid-template-columns: 25px 62px 1fr;
  }
}

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

.hero-orbit{display:none!important}


/* ---- mobile / responsive fixes (syngine polish) ---- */
@media (max-width: 900px) {
  .source-platform-image {
    height: auto;
    aspect-ratio: 16 / 10;
    min-height: 240px;
  }
  .source-platform-image img {
    object-fit: contain;
    object-position: center center;
  }
  .system-card {
    height: auto;
    min-height: 0;
  }
  .system-copy {
    position: relative;
    inset: auto;
    height: auto;
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .hero-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .hero-actions > a {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    min-height: 56px;
    padding: 0 20px !important;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 0;
  }
  .hero-actions .light-action {
    color: var(--ink);
    background: var(--white);
    gap: 16px;
  }
  .hero-actions .text-action {
    color: #fff !important;
    background: transparent;
    border: 1px solid rgba(255,255,255,.68);
    gap: 16px;
  }
  .hero-actions .text-action,
  .hero-actions .light-action {
    line-height: 1;
  }
  .hero-actions .ui-icon {
    margin: 0 !important;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
  }
  .source-platform-image {
    aspect-ratio: 4 / 3;
    min-height: 200px;
  }
  .source-platform-image img {
    object-fit: contain;
    object-position: center center;
  }
}

.process-current { display: none !important; }
