:root {
  --ink: #183247;
  --ink-soft: #607486;
  --paper: #f4f6f8;
  --panel: #ffffff;
  --line: #d9e1e7;
  --accent: #2563eb;
  --accent-deep: #1d4ed8;
  --blueprint: #dce7ed;
  --gateway-blue: #e8f1f5;
  --gateway-blue-deep: #dce8ee;
  --gateway-ink: #183247;
  --gateway-muted: #607486;
  --gateway-accent: #2563eb;
  color-scheme: light dark;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.welcome-shell { height: 100svh; min-height: 0; display: grid; grid-template-columns: 60% 40%; grid-template-rows: minmax(0, 1fr); overflow: hidden; }
.showcase { position: relative; display: flex; flex-direction: column; min-height: 0; height: 100%; padding: max(30px, env(safe-area-inset-top)) clamp(32px, 5vw, 88px) max(36px, env(safe-area-inset-bottom)); overflow: hidden; border-right: 1px solid var(--line); background: var(--paper); }
.showcase::before { content: ""; position: absolute; width: 48vw; height: 48vw; right: -18vw; bottom: -25vw; border: 1px solid var(--line); border-radius: 50%; opacity: .7; pointer-events: none; }
.brand-bar, .showcase-copy, .mockup { position: relative; z-index: 1; }
.brand-bar { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.wordmark { font-size: 17px; font-weight: 800; letter-spacing: .18em; text-decoration: none; }
.wordmark span, .gateway-mark span { color: var(--accent); }
.brand-kicker { color: var(--ink-soft); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.showcase-copy { max-width: 540px; margin: clamp(42px, 7vh, 88px) 0 24px; }
.eyebrow { margin: 0 0 15px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
h1, h2 { margin: 0; font-family: inherit; font-weight: 750; letter-spacing: -.055em; line-height: .98; }
h1 { font-size: clamp(48px, 5.4vw, 86px); }
h1 em, h2 em { color: var(--accent); font-style: normal; }
.lede { max-width: 430px; margin: 25px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }

.mockup { width: min(100%, 640px); margin: auto auto 0; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: 0 22px 50px rgb(24 50 71 / .12); overflow: hidden; transform: rotate(-1.4deg); }
.mockup-toolbar { display: flex; align-items: center; gap: 6px; height: 33px; padding: 0 13px; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.mockup-toolbar > span { width: 6px; height: 6px; border-radius: 50%; background: var(--line); }
.mockup-toolbar strong { margin-left: 10px; font-size: 7px; letter-spacing: .11em; }
.mockup-toolbar i { width: 12px; height: 7px; margin-left: auto; border: 1px solid var(--line); border-radius: 2px; }.mockup-toolbar i + i { margin-left: 2px; }
.mockup-canvas { position: relative; height: clamp(190px, 20vw, 268px); background: var(--blueprint); color: #7690a0; }
.mockup-canvas::before { content: ""; position: absolute; inset: 0; opacity: .5; background-image: linear-gradient(rgb(255 255 255 / .5) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .5) 1px, transparent 1px); background-size: 20px 20px; }
.plan { position: absolute; width: 72%; height: 90%; left: 7%; top: 5%; }
.mock-callout { position: absolute; display: flex; align-items: center; gap: 7px; padding: 6px 8px; border: 1px solid rgb(37 99 235 / .25); border-radius: 4px; background: rgb(255 255 255 / .82); box-shadow: 0 4px 9px rgb(24 50 71 / .08); color: var(--ink); font-size: clamp(8px, 1vw, 11px); white-space: nowrap; }.mock-callout b { color: var(--accent); font-size: 8px; }.callout-one { top: 12%; right: 5%; }.callout-two { top: 46%; right: 2%; }.callout-three { bottom: 5%; left: 21%; }
.mockup-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; padding: 11px; background: var(--panel); }.mockup-cards article { min-width: 0; }.card-image { height: 38px; margin-bottom: 6px; border-radius: 3px; background: #b6875d; }.image-light { background: linear-gradient(135deg, #d4c8ad, #f0eadc); }.image-stone { background: linear-gradient(135deg, #8c9490, #c5c8be); }.mockup-cards strong, .mockup-cards small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.mockup-cards strong { font-size: 9px; }.mockup-cards small { margin-top: 3px; color: var(--ink-soft); font-size: 7px; }

.gateway { display: flex; flex-direction: column; justify-content: center; gap: 32px; min-height: 0; height: 100%; padding: max(34px, 5vh) clamp(28px, 6vw, 92px); background: var(--gateway-blue); color: var(--gateway-ink); }
.gateway-inner { width: min(100%, 385px); margin: 0; }.gateway-mark { margin: 0 0 clamp(32px, 6vh, 62px); color: var(--gateway-ink); font-size: 24px; font-weight: 800; letter-spacing: .12em; }.gateway-mark span { font-size: 32px; }.gateway .eyebrow { color: var(--gateway-accent); }.gateway h2 { font-size: clamp(42px, 4.2vw, 68px); }.gateway-copy { margin: 25px 0 18px; color: var(--gateway-muted); font-size: 14px; }.gateway-actions { display: grid; gap: 10px; }.button { display: flex; align-items: center; justify-content: space-between; min-height: 49px; padding: 0 17px; border: 1px solid transparent; border-radius: 4px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }.button span { font-size: 19px; font-weight: 400; }.button-primary { background: var(--accent); color: white; }.button-primary:hover { background: var(--accent-deep); }.button-secondary { border-color: color-mix(in srgb, var(--gateway-accent) 55%, var(--gateway-blue)); color: var(--gateway-ink); }.button-secondary:hover { border-color: var(--gateway-accent); background: rgb(255 255 255 / .52); }.button:focus-visible { outline: 3px solid var(--gateway-accent); outline-offset: 4px; }.button:active { transform: translateY(1px); }.gateway-note { margin: 21px 0 0; color: var(--gateway-muted); font-size: 11px; line-height: 1.55; }.gateway-footer { display: flex; justify-content: space-between; gap: 15px; color: color-mix(in srgb, var(--gateway-muted) 82%, var(--gateway-blue)); font-size: 9px; letter-spacing: .04em; }

@media (max-width: 820px) { .welcome-shell { height: auto; min-height: 100svh; grid-template-columns: 1fr; overflow: visible; }.showcase { min-height: auto; height: auto; padding-bottom: 42px; overflow: visible; }.showcase-copy { margin-top: 65px; }.mockup { margin-top: 25px; transform: rotate(-.8deg); }.gateway { min-height: auto; height: auto; padding-top: 65px; padding-bottom: max(28px, env(safe-area-inset-bottom)); }.gateway-inner { margin: 0; }.gateway-mark { margin-bottom: 60px; }.gateway-footer { margin-top: 70px; } }
@media (min-width: 821px) and (max-height: 680px) { .welcome-shell { height: auto; min-height: 100svh; overflow: visible; }.showcase, .gateway { min-height: 100svh; height: auto; overflow: visible; } }
@media (min-width: 821px) and (max-height: 850px) { .showcase { padding-block: max(22px, env(safe-area-inset-top)) 22px; }.showcase-copy { margin: 22px 0 12px; }.eyebrow { margin-bottom: 10px; }.showcase h1 { font-size: clamp(52px, 4.25vw, 68px); }.lede { margin-top: 16px; line-height: 1.48; }.mockup { width: min(100%, 570px); }.mockup-toolbar { height: 29px; }.mockup-canvas { height: 190px; }.mockup-cards { gap: 7px; padding: 8px; }.card-image { height: 28px; margin-bottom: 4px; }.gateway { gap: 24px; padding-block: 28px; }.gateway-mark { margin-bottom: 25px; }.gateway h2 { font-size: clamp(42px, 3.7vw, 58px); }.gateway-copy { margin: 17px 0 14px; }.gateway-note { margin-top: 15px; }.gateway-footer { font-size: 8px; } }
@media (max-width: 440px) { .showcase { padding-inline: 21px; }.brand-kicker { display: none; }.showcase-copy { margin-top: 55px; }.showcase-copy h1 { font-size: clamp(43px, 14vw, 62px); }.lede { font-size: 14px; }.mockup-canvas { height: 205px; }.mock-callout { padding: 5px; gap: 4px; }.gateway { padding-inline: 21px; }.gateway h2 { font-size: 45px; }.gateway-footer { flex-direction: column; gap: 6px; } }
@media (prefers-color-scheme: dark) { :root { --ink: #e8f0f2; --ink-soft: #9cb0ba; --paper: #142633; --panel: #1b3342; --line: #35505e; --blueprint: #294552; --gateway-blue: #1b3342; --gateway-blue-deep: #142633; --gateway-ink: #e8f0f2; --gateway-muted: #b5c7cf; --gateway-accent: #b9ebff; }.showcase { background: var(--paper); }.mockup { box-shadow: 0 22px 50px rgb(0 0 0 / .3); }.mockup-canvas::before { background-image: linear-gradient(rgb(255 255 255 / .08) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .08) 1px, transparent 1px); }.mock-callout { background: rgb(20 38 51 / .86); color: var(--ink); }.gateway { background: var(--gateway-blue-deep); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }.mockup { transform: none; } }

/* Long-form welcome page: compact, white, and editorial like the reference
   landing page while keeping Callio's warm accent and visual vocabulary. */
.welcome-site { min-height: 100svh; background: #fff; }
.welcome-site .welcome-shell { height: 100svh; min-height: 680px; background: #fff; }
.welcome-site .showcase,
.welcome-site .gateway { background: #fff; }
.welcome-site .gateway { border-left: 1px solid var(--line); }
.welcome-site .gateway-inner { width: min(100%, 400px); }
.welcome-site .gateway-mark { color: var(--ink); }
.welcome-site .gateway .eyebrow { color: var(--accent); }
.welcome-site .button-secondary { border-color: var(--line); }

.welcome-section { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: clamp(86px, 12vw, 160px) 0; }
.welcome-section h2 { max-width: 900px; font-size: clamp(42px, 6vw, 82px); }
.section-lede { max-width: 540px; margin: 25px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }
.statement-section { border-top: 1px solid var(--line); }
.statement-section h2 { max-width: 820px; }
.process-section { border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 64px; }
.section-heading h2 { max-width: 620px; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); }
.process-grid article { min-height: 220px; padding: 20px 22px 0 0; border-right: 1px solid var(--line); }
.process-grid article + article { padding-left: 22px; }
.process-grid article:last-child { border-right: 0; }
.process-grid b { color: var(--accent); font-size: 12px; letter-spacing: .1em; }
.process-grid h3 { margin: 50px 0 12px; font-size: 18px; letter-spacing: -.02em; }
.process-grid p { max-width: 220px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.feature-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(45px, 8vw, 130px); border-top: 1px solid var(--line); }
.feature-copy h2 { font-size: clamp(38px, 5vw, 66px); }
.feature-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.feature-list span { padding: 9px 11px; border: 1px solid var(--line); color: var(--ink); font-size: 10px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.feature-diagram { position: relative; min-height: 0; overflow: hidden; background: #f4f6f8; border: 1px solid var(--line); }
.feature-diagram::before { display: none; }
.feature-overview-image { display: block; width: 100%; height: auto; }
.feature-diagram figcaption { padding: 10px 13px; border-top: 1px solid var(--line); background: #fff; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hero-image-frame { transform: rotate(-1.1deg); }
.hero-image-frame img { display: block; width: 100%; height: auto; }
.section-image { margin: 58px 0 0; border: 1px solid var(--line); background: #f4f6f8; overflow: hidden; }
.section-image img { display: block; width: 100%; height: auto; }
.section-image figcaption { padding: 10px 13px; border-top: 1px solid var(--line); background: #fff; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.report-image-showcase { margin: 0 0 28px; }
.listing-section { border-top: 1px solid var(--line); }
.listing-image-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.listing-image-pair .section-image { margin-top: 0; }
.usecase-section { background-image: linear-gradient(rgb(255 255 255 / .82), rgb(255 255 255 / .82)), url("assets/6 callio-blueprint-texture.png"); background-size: cover; background-position: center; }
.feature-diagram::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px); background-size: 24px 24px; }
.feature-sheet { position: absolute; width: 43%; height: 45%; left: 29%; top: 27%; padding: 28px 20px; background: #fff; border: 1px solid #cbd5db; box-shadow: 0 18px 35px rgb(24 50 71 / .11); transform: rotate(-3deg); }
.feature-sheet span { display: block; height: 2px; margin: 12px 0; background: #bccbd3; }.feature-sheet i { display: inline-block; width: 42%; height: 28px; margin: 10px 4% 0 0; border: 1px solid #cbd5db; }.feature-sheet i + i { margin-right: 0; }
.feature-diagram-line { position: absolute; height: 1px; background: var(--accent); transform-origin: left center; }.line-one { width: 26%; left: 25%; top: 36%; transform: rotate(-24deg); }.line-two { width: 28%; left: 48%; top: 58%; transform: rotate(28deg); }.line-three { width: 25%; left: 34%; top: 68%; transform: rotate(155deg); }
.feature-node { position: absolute; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--accent); color: #fff; font-size: 9px; font-weight: 800; }.node-one { left: 21%; top: 30%; }.node-two { right: 20%; top: 67%; background: #276fd2; }.node-three { left: 27%; bottom: 14%; background: #188c78; }
.feature-card { position: absolute; width: 150px; padding: 12px; background: #fff; border: 1px solid var(--line); box-shadow: 0 9px 20px rgb(24 50 71 / .1); }.feature-card b { color: var(--accent); font-size: 10px; }.feature-card strong, .feature-card small { display: block; margin-top: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.feature-card strong { font-size: 11px; }.feature-card small { color: var(--ink-soft); font-size: 9px; }.card-a { left: 6%; top: 13%; }.card-b { right: 5%; top: 17%; }.card-c { left: 8%; bottom: 9%; }
.usecase-section { border-top: 1px solid var(--line); }.usecase-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 58px; }.usecase-grid article { display: grid; gap: 28px; min-height: 160px; padding: 18px; border: 1px solid var(--line); }.usecase-grid strong { font-size: 14px; }.usecase-grid span { align-self: end; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.report-section { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: end; border-top: 1px solid var(--line); }.report-copy { max-width: 340px; color: var(--ink-soft); font-size: 15px; line-height: 1.6; }.text-link { display: inline-flex; gap: 10px; margin-top: 20px; color: var(--ink); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }.text-link span { color: var(--accent); font-size: 18px; }
.final-cta { display: grid; justify-items: start; gap: 28px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.final-cta .gateway-actions { width: min(100%, 390px); grid-template-columns: 1fr 1fr; }.final-cta .button { min-height: 52px; }

@media (max-width: 820px) {
  .welcome-site .welcome-shell { height: auto; min-height: 0; }
  .welcome-site .gateway { border-left: 0; border-top: 1px solid var(--line); }
  .welcome-section { width: min(100% - 42px, 600px); padding-block: 78px; }
  .section-heading, .feature-section, .report-section { display: block; }
  .section-heading { margin-bottom: 42px; }
  .section-heading h2 { margin-top: 18px; }
  .process-grid, .usecase-grid { grid-template-columns: 1fr 1fr; }
  .process-grid article { min-height: 190px; border-bottom: 1px solid var(--line); }
  .process-grid article:nth-child(2) { border-right: 0; }
  .process-grid article:nth-child(3), .process-grid article:nth-child(4) { border-bottom: 0; }
  .process-grid article + article { padding-left: 14px; }.process-grid article { padding-right: 14px; }
  .feature-diagram { margin-top: 48px; min-height: 0; }.feature-card { width: 125px; }
  .report-copy { margin-top: 32px; }
}
@media (max-width: 500px) {
  .welcome-site .welcome-shell { min-height: 100svh; }
  .process-grid, .usecase-grid { grid-template-columns: 1fr; }
  .process-grid article, .process-grid article:nth-child(2), .process-grid article:nth-child(3) { min-height: 0; padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .process-grid article:last-child { border-bottom: 0; }
  .process-grid h3 { margin-top: 28px; }
  .usecase-grid article { min-height: 135px; }
  .final-cta .gateway-actions { grid-template-columns: 1fr; }
  .feature-diagram { min-height: 0; }.feature-card { width: 112px; padding: 9px; }.feature-card strong { font-size: 10px; }
  .listing-image-pair { grid-template-columns: 1fr; }
}

/* The generated Canvas image replaces the earlier code-native diagram. */
.feature-diagram::before { display: none; }
