:root {
  --ink: #17162c;
  --paper: #f7f5ef;
  --white: #fffefa;
  --pink: #f2c9e8;
  --coral: #ff8e8e;
  --yellow: #f1efb7;
  --lilac: #d9d2ff;
  --line: rgba(23, 22, 44, .16);
  --radius: 28px;
  font-family: "DM Sans", sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--paper); }
body, button, a { font-family: inherit; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, .brand { font-family: "Manrope", sans-serif; }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 50%;
  width: min(1440px, calc(100% - 64px));
  height: 92px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid rgba(23, 22, 44, .24);
}

.brand { font-size: 28px; font-weight: 700; letter-spacing: -.07em; text-decoration: none; }
.site-nav { display: flex; gap: 36px; align-items: center; }
.site-nav a { padding: 8px 0; font-size: 14px; font-weight: 500; text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { border-bottom: 1px solid; }
.header-cta { justify-self: end; font-size: 14px; font-weight: 600; text-decoration: none; }
.header-cta span { display: inline-grid; width: 30px; height: 30px; margin-left: 8px; place-items: center; border: 1px solid; border-radius: 50%; }
.menu-button { display: none; border: 0; background: transparent; font-size: 14px; }

.hero {
  position: relative;
  min-height: 840px;
  padding: 150px max(32px, calc((100vw - 1376px) / 2)) 88px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(112deg, #f7f5ef 0 51%, #efcbe7 51% 100%);
}

.hero-copy { position: relative; z-index: 3; max-width: 780px; padding-right: 28px; }
.kicker { margin-bottom: 24px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.kicker::before { content: ""; display: inline-block; width: 28px; height: 1px; margin: 0 12px 4px 0; background: currentColor; }
.hero h1, .tech-hero h1 { margin-bottom: 36px; font-size: clamp(68px, 7vw, 116px); font-weight: 500; letter-spacing: -.075em; line-height: .91; }
.hero h1 span, .tech-hero h1 span { font-weight: 400; font-style: italic; }
.hero-intro { max-width: 660px; font-size: clamp(18px, 1.5vw, 23px); line-height: 1.55; }
.button-row { margin-top: 42px; display: flex; gap: 28px; align-items: center; }
.button { display: inline-flex; padding: 15px 22px; align-items: center; gap: 22px; border-radius: 100px; font-size: 14px; font-weight: 600; text-decoration: none; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: var(--white); background: var(--ink); }
.button-dark:hover { background: #302e4f; }
.text-link { font-size: 14px; font-weight: 600; text-underline-offset: 5px; }
.text-link span { margin-left: 8px; }

.hero-visual { position: relative; z-index: 2; height: 650px; display: grid; grid-template-columns: minmax(280px, 1fr) 230px; gap: 42px; align-items: center; }
.hero-image-wrap { position: relative; z-index: 2; height: 650px; display: flex; align-items: center; justify-content: center; }
.hero-product { width: auto; height: 585px; max-width: 100%; object-fit: contain; filter: drop-shadow(0 30px 36px rgba(34, 19, 43, .18)); }
.visual-orbit { position: absolute; border: 1px solid rgba(23, 22, 44, .35); border-radius: 50%; }
.visual-orbit-one { width: 560px; height: 560px; }
.visual-orbit-two { width: 710px; height: 370px; transform: rotate(35deg); }
.floating-note { position: absolute; z-index: 3; padding: 13px 18px; background: rgba(255,255,255,.92); border-radius: 100px; box-shadow: 0 10px 30px rgba(23,22,44,.08); font-size: 12px; font-weight: 600; }
.floating-note span { margin-right: 8px; color: #8d879d; }
.note-top { top: 12%; right: 2%; }
.note-bottom { bottom: 9%; left: -2%; }
.hero-foot { position: absolute; right: max(32px, calc((100vw - 1376px) / 2)); bottom: 32px; left: max(32px, calc((100vw - 1376px) / 2)); display: flex; justify-content: space-between; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.hero-foot p { margin: 0; }
.scroll-cue { display: flex; gap: 10px; align-items: center; }
.scroll-cue span { display: block; width: 5px; height: 5px; background: var(--ink); border-radius: 50%; }

.proof-strip { min-height: 96px; padding: 24px; display: flex; gap: 34px; align-items: center; justify-content: center; color: var(--white); background: var(--ink); }
.proof-strip p { margin: 0; font-size: clamp(16px, 2vw, 22px); }
.proof-strip span { color: var(--coral); font-size: 24px; }

.hero-download { position: relative; z-index: 4; width: 230px; padding: 4px 0 4px 30px; border-left: 1px solid rgba(23, 22, 44, .4); }
.hero-download > p { margin-bottom: 18px; font-family: "Manrope", sans-serif; font-size: 27px; font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.hero-download > span { display: block; margin-bottom: 22px; font-size: 12px; opacity: .62; }
.store-badges { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.store-badge { width: 220px; min-width: 220px; max-width: 220px; display: block; transition: transform .2s ease; }
.store-badge:hover { transform: translateY(-3px); }
.store-badge-apple img, .store-badge-google img { width: 220px; max-width: none; height: auto; }

/* Smart download page */
.download-page { min-height: 100vh; background: linear-gradient(112deg, var(--paper) 0 51%, var(--pink) 51% 100%); }
.download-header { width: min(1240px, calc(100% - 64px)); height: 92px; margin: 0 auto; display: flex; align-items: center; border-bottom: 1px solid rgba(23, 22, 44, .24); }
.download-main { width: min(1240px, calc(100% - 64px)); min-height: calc(100vh - 92px); margin: 0 auto; padding: 80px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.download-copy { max-width: 650px; }
.download-copy h1 { margin-bottom: 30px; font-size: clamp(76px, 8vw, 128px); font-weight: 500; letter-spacing: -.075em; line-height: .88; }
.download-copy h1 span { font-weight: 400; font-style: italic; }
.download-copy > p:last-child { max-width: 560px; margin-bottom: 0; font-size: clamp(18px, 1.4vw, 22px); line-height: 1.6; }
.download-actions { justify-self: center; width: 280px; padding-left: 38px; display: flex; flex-direction: column; gap: 18px; border-left: 1px solid rgba(23, 22, 44, .4); }
.download-store-link { width: 240px; display: block; transition: transform .2s ease; }
.download-store-link:hover { transform: translateY(-3px); }
.download-store-link img { width: 240px; max-width: none; height: auto; }

.section { width: min(1376px, calc(100% - 64px)); margin: 0 auto; padding: 140px 0; }
.section-heading { display: grid; grid-template-columns: .7fr 1.3fr; margin-bottom: 72px; }
.section-heading h2, .experience-intro h2, .campaign-copy h2, .technology-cta h2, .tech-detail h2, .privacy-copy h2, .integration-copy h2 { margin: 0; font-size: clamp(44px, 5vw, 76px); font-weight: 500; letter-spacing: -.06em; line-height: 1.02; }
.section-heading em { font-weight: 400; }
.value-grid { display: grid; grid-template-columns: 1.35fr .825fr .825fr; gap: 16px; }
.value-card { min-height: 500px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.value-card-feature { background: var(--pink); }
.value-card-dark { color: var(--white); background: var(--ink); }
.card-number { font-size: 12px; }
.value-card h3 { margin-bottom: 14px; font-size: 27px; letter-spacing: -.04em; }
.value-card p { margin-bottom: 0; line-height: 1.6; opacity: .75; }
.value-card > a { width: 44px; height: 44px; display: grid; place-items: center; align-self: flex-end; border: 1px solid; border-radius: 50%; text-decoration: none; }
.context-visual { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-rows: auto auto auto; gap: 10px; align-items: center; }
.context-tile, .context-result { padding: 18px; border: 1px solid; border-radius: 16px; font-size: 14px; font-weight: 600; }
.context-plus { text-align: center; font-size: 24px; }
.context-equals { grid-column: 1 / -1; text-align: center; font-size: 24px; }
.context-result { grid-column: 1 / -1; color: var(--white); text-align: center; background: var(--ink); border-color: var(--ink); }
.signal-bars { height: 120px; display: flex; gap: 8px; align-items: flex-end; }
.signal-bars i { flex: 1; min-height: 18%; background: var(--coral); border-radius: 8px 8px 0 0; }
.signal-bars i:nth-child(2) { height: 45%; }.signal-bars i:nth-child(3) { height: 72%; }.signal-bars i:nth-child(4) { height: 57%; }.signal-bars i:nth-child(5) { height: 100%; }

.campaign-section { min-height: 920px; padding: 0 max(32px, calc((100vw - 1376px) / 2)); display: grid; grid-template-columns: 1fr 1fr; color: var(--white); overflow: hidden; background: var(--ink); }
.campaign-copy { padding: 140px 8vw 120px 0; align-self: center; }
.campaign-copy > p:not(.kicker) { max-width: 600px; margin: 32px 0 44px; line-height: 1.7; opacity: .75; }
.kicker-light { color: var(--white); }
.clean-list { margin: 0; padding: 0; list-style: none; }
.clean-list li { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.18); font-size: 16px; }
.clean-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.clean-list span { display: inline-block; width: 44px; color: var(--coral); font-size: 11px; }
.campaign-visual { position: relative; min-height: 920px; padding: 42px; display: grid; place-items: center; background: linear-gradient(160deg, var(--pink), var(--yellow)); }
.campaign-visual img { width: 100%; height: auto; max-height: 836px; object-fit: contain; filter: drop-shadow(0 24px 40px rgba(23,22,44,.16)); }

.experience-intro { max-width: 880px; margin-bottom: 70px; }
.experience-intro > p:last-child { max-width: 650px; margin: 28px 0 0 auto; line-height: 1.7; }
.experience-showcase { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.experience-card { position: relative; height: 700px; padding: 28px; overflow: hidden; border-radius: var(--radius); background: #ded8ff; }
.exp-tryon { background: var(--pink); }.exp-plan { background: var(--yellow); }
.experience-card img { position: absolute; top: 190px; left: 50%; width: auto; height: calc(100% - 215px); max-width: calc(100% - 56px); object-fit: contain; transform: translateX(-50%); filter: drop-shadow(0 22px 26px rgba(23,22,44,.18)); }
.experience-copy { position: relative; z-index: 2; }
.experience-copy span { font-size: 11px; }
.experience-copy h3 { margin: 14px 0 8px; font-size: 30px; }
.experience-copy p { max-width: 340px; line-height: 1.5; opacity: .7; }

.technology-cta { position: relative; min-height: 650px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; border-top: 1px solid var(--line); overflow: hidden; }
.tech-orb { position: relative; height: 500px; display: grid; place-items: center; }
.tech-orb::before, .tech-orb::after, .tech-orb div { content: ""; position: absolute; border: 1px solid rgba(23,22,44,.3); border-radius: 50%; }
.tech-orb::before { width: 420px; height: 420px; }.tech-orb::after { width: 300px; height: 300px; }.tech-orb div { width: 140px; height: 140px; background: var(--coral); border: 0; box-shadow: 0 0 80px rgba(255,142,142,.65); }
.technology-cta-copy { max-width: 620px; }
.technology-cta-copy > p:not(.kicker) { margin: 30px 0; line-height: 1.7; }

.site-footer { padding: 110px max(32px, calc((100vw - 1376px) / 2)) 32px; color: var(--white); background: #0e0d1d; }
.footer-lead h2 { margin-bottom: 46px; font-size: clamp(54px, 7vw, 100px); font-weight: 500; letter-spacing: -.07em; line-height: .95; }
.button-light { color: var(--ink); background: var(--white); }
.footer-bottom { margin-top: 110px; padding-top: 28px; display: grid; grid-template-columns: 1fr auto auto auto auto; gap: 32px; align-items: center; border-top: 1px solid rgba(255,255,255,.2); font-size: 12px; }
.footer-bottom p { margin: 0; }.footer-bottom a:not(.brand) { text-underline-offset: 4px; }.brand-light { color: var(--white); }

/* Technology */
.tech-hero { min-height: 940px; padding: 180px max(32px, calc((100vw - 1376px) / 2)) 80px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; background: linear-gradient(125deg, #f7f5ef 0 62%, #d9d2ff 62%); }
.tech-hero-copy { max-width: 840px; }
.tech-hero-copy > p:last-child { max-width: 670px; font-size: 21px; line-height: 1.65; }
.tech-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 34px; }
.tech-tags span { padding: 9px 13px; border: 1px solid var(--line); border-radius: 100px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.tech-hero-demo { position: relative; width: 480px; height: 670px; margin-left: auto; padding: 56px 72px 0; overflow: hidden; border: 1px solid rgba(23,22,44,.25); border-radius: 240px 240px 24px 24px; background: rgba(255,255,255,.42); }
.tech-hero-demo img { width: 100%; height: auto; filter: drop-shadow(0 22px 28px rgba(23,22,44,.2)); }
.demo-label { position: absolute; z-index: 2; top: 25px; left: 50%; width: max-content; transform: translateX(-50%); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.demo-label span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: #53a974; border-radius: 50%; }
.demo-status { position: absolute; right: 18px; bottom: 18px; left: 18px; padding: 18px 20px; display: flex; justify-content: space-between; color: white; background: var(--ink); border-radius: 14px; }
.demo-status strong, .demo-status small { font-size: 11px; }
.demo-status small { opacity: .6; }
.pipeline { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 18px; align-items: center; }
.pipeline-step { min-height: 440px; padding: 26px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.pipeline-step > span { font-size: 11px; }
.pipeline-step h3 { margin: auto 0 12px; font-size: 26px; }
.pipeline-step p { margin: 0; line-height: 1.6; opacity: .7; }
.pipeline-arrow { font-size: 26px; }
.pipeline-icon { position: relative; width: 150px; height: 150px; margin: 48px auto 0; }
.icon-garment { border: 1px solid; border-radius: 45% 45% 12px 12px; transform: scale(.68); }
.icon-garment::before { content: ""; position: absolute; top: -36px; left: 50%; width: 70px; height: 70px; border: 1px solid; border-bottom: 0; border-radius: 50% 50% 0 0; transform: translateX(-50%); }
.icon-intelligence { display: grid; place-items: center; border: 1px solid; border-radius: 50%; }
.icon-intelligence::before, .icon-intelligence::after { content: ""; position: absolute; border: 1px solid; border-radius: 50%; }.icon-intelligence::before { width: 100px; height: 100px; }.icon-intelligence::after { width: 48px; height: 48px; background: var(--coral); border: 0; }
.icon-intelligence i { position: absolute; width: 7px; height: 7px; background: var(--ink); border-radius: 50%; }.icon-intelligence i:first-child { top: 13px; }.icon-intelligence i:nth-child(2) { right: 13px; }.icon-intelligence i:last-child { bottom: 13px; }
.icon-result { overflow: hidden; border: 1px solid; border-radius: 24px; background: linear-gradient(135deg, var(--lilac) 50%, var(--pink) 50%); }
.icon-result::after { content: "✓"; position: absolute; right: 14px; bottom: 14px; width: 34px; height: 34px; display: grid; place-items: center; color: white; background: var(--ink); border-radius: 50%; }
.tech-detail-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; padding-top: 0; }
.tech-detail { min-height: 620px; padding: 42px; display: flex; flex-direction: column; border-radius: var(--radius); background: var(--ink); color: var(--white); }
.detail-accent { color: var(--ink); background: var(--coral); }
.tech-detail > p:not(.kicker) { max-width: 700px; margin-top: 28px; line-height: 1.7; opacity: .75; }
.metric-row { margin-top: auto; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.metric-row div { padding: 24px 12px 0 0; }.metric-row strong, .metric-row span { display: block; }.metric-row strong { margin-bottom: 7px; font-size: 14px; }.metric-row span { font-size: 11px; opacity: .6; }
.intelligence-map { position: relative; min-height: 280px; margin-top: auto; }
.intelligence-map span { position: absolute; padding: 9px 13px; border: 1px solid; border-radius: 100px; font-size: 11px; }.intelligence-map span:nth-child(1) { top: 0; left: 8%; }.intelligence-map span:nth-child(2) { top: 16%; right: 0; }.intelligence-map span:nth-child(3) { bottom: 8%; left: 0; }.intelligence-map span:nth-child(4) { right: 4%; bottom: 0; }.intelligence-map b { position: absolute; top: 50%; left: 50%; width: 124px; height: 124px; display: grid; place-items: center; text-align: center; background: var(--paper); border-radius: 50%; transform: translate(-50%, -50%); }
.privacy-section { padding: 140px max(32px, calc((100vw - 1376px) / 2)); display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; color: white; background: #0e0d1d; }
.privacy-mark { min-height: 360px; display: grid; place-items: center; }
.privacy-mark::before, .privacy-mark::after, .privacy-mark span { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }.privacy-mark::before { width: 340px; height: 340px; }.privacy-mark::after { width: 240px; height: 240px; }.privacy-mark span { width: 110px; height: 110px; background: var(--lilac); border: 0; box-shadow: 0 0 80px rgba(217,210,255,.3); }
.privacy-copy { align-self: center; max-width: 700px; }.privacy-copy > p:last-child { margin-top: 28px; font-size: 19px; line-height: 1.65; opacity: .7; }
.privacy-points { grid-column: 1 / -1; margin-top: 50px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.2); }
.privacy-points article { padding: 34px 46px 0 0; }.privacy-points article + article { padding-left: 46px; border-left: 1px solid rgba(255,255,255,.2); }.privacy-points span { color: var(--coral); font-size: 11px; }.privacy-points h3 { margin: 26px 0 12px; }.privacy-points p { margin: 0; line-height: 1.6; opacity: .6; }
.integration-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.integration-copy > p:last-child { max-width: 520px; margin-top: 28px; line-height: 1.7; }
.integration-list > div { padding: 28px 0; display: grid; grid-template-columns: 50px 1fr; border-top: 1px solid var(--line); }.integration-list > div:last-child { border-bottom: 1px solid var(--line); }.integration-list span { grid-row: 1 / 3; font-size: 11px; }.integration-list h3 { margin-bottom: 8px; font-size: 22px; }.integration-list p { margin: 0; line-height: 1.5; opacity: .65; }

/* AI page */
.diffusion-explainer { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.denoise-sequence { display: grid; grid-template-columns: repeat(7, auto); gap: 10px; align-items: center; }
.denoise-sequence > i { font-style: normal; opacity: .45; }
.noise-frame { position: relative; width: 120px; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background-color: var(--lilac); }
.noise-frame::before, .noise-frame::after { content: ""; position: absolute; inset: 0; }
.noise-frame::before { background-image: radial-gradient(circle at 20% 20%, #17162c 0 2px, transparent 3px), radial-gradient(circle at 70% 30%, #ff8e8e 0 3px, transparent 4px), radial-gradient(circle at 45% 75%, white 0 4px, transparent 5px); background-size: 18px 18px, 25px 25px, 31px 31px; }
.noise-frame::after { background: linear-gradient(145deg, transparent 30%, rgba(255,255,255,.7) 31% 55%, transparent 56%); opacity: 0; }
.noise-2::before { opacity: .65; filter: blur(1px); }.noise-2::after { opacity: .22; }.noise-3::before { opacity: .28; filter: blur(2px); }.noise-3::after { opacity: .55; }.noise-4::before { opacity: .08; }.noise-4::after { opacity: .9; }
.noise-frame span { position: absolute; z-index: 2; right: 8px; bottom: 8px; left: 8px; padding: 6px; border-radius: 8px; background: rgba(255,255,255,.86); font-size: 9px; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.primer-copy p { line-height: 1.75; }.primer-copy p + p { margin-top: 22px; }
.conditioning-section { padding: 140px max(32px, calc((100vw - 1376px) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; color: white; background: var(--ink); }
.conditioning-copy h2, .challenge-head h2, .model-copy h2, .inner-hero h1, .contact-hero h1 { font-size: clamp(48px, 6vw, 88px); font-weight: 500; letter-spacing: -.065em; line-height: .98; }
.conditioning-copy em { font-weight: 400; }.conditioning-copy > p:last-child { max-width: 600px; margin-top: 32px; line-height: 1.7; opacity: .68; }
.condition-stack article { padding: 24px 0; display: grid; grid-template-columns: 50px 1fr; border-top: 1px solid rgba(255,255,255,.2); }.condition-stack article:last-child { border-bottom: 1px solid rgba(255,255,255,.2); }.condition-stack span { grid-row: 1 / 3; color: var(--coral); font-size: 11px; }.condition-stack h3 { margin-bottom: 7px; font-size: 22px; }.condition-stack p { margin: 0; line-height: 1.5; opacity: .58; }.condition-stack .condition-output { margin-top: 16px; padding: 24px; color: var(--ink); background: var(--coral); border: 0; border-radius: 16px; }.condition-stack .condition-output span, .condition-stack .condition-output p { color: var(--ink); opacity: 1; }
.pipeline-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.pipeline-list li { min-height: 150px; padding: 28px 0; display: grid; grid-template-columns: 90px 1fr 100px; gap: 20px; align-items: center; border-bottom: 1px solid var(--line); }.pipeline-list li > span, .pipeline-list small { font-size: 11px; }.pipeline-list small { justify-self: end; padding: 7px 10px; border: 1px solid var(--line); border-radius: 100px; text-transform: uppercase; }.pipeline-list h3 { margin-bottom: 8px; font-size: 25px; }.pipeline-list p { max-width: 720px; margin: 0; line-height: 1.6; opacity: .66; }.pipeline-note { max-width: 720px; margin: 28px 0 0 110px; font-size: 12px; line-height: 1.6; opacity: .55; }
.challenge-head { max-width: 900px; margin-bottom: 70px; }.challenge-head > p:last-child { max-width: 680px; margin: 28px 0 0 auto; line-height: 1.7; }.challenge-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.challenge-grid article { min-height: 320px; padding: 32px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.challenge-grid article:nth-child(2), .challenge-grid article:nth-child(3) { background: var(--pink); }.challenge-grid span { font-size: 11px; }.challenge-grid h3 { margin: auto 0 12px; font-size: 27px; }.challenge-grid p { max-width: 520px; margin: 0; line-height: 1.6; opacity: .66; }
.model-section { padding: 140px max(32px, calc((100vw - 1376px) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: 100px; color: white; background: #0e0d1d; }.model-copy > p:last-child { margin-top: 30px; line-height: 1.7; opacity: .65; }.model-diagram { display: flex; flex-direction: column; justify-content: center; }.model-diagram div { padding: 26px; display: flex; justify-content: space-between; gap: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; }.model-diagram div + div { margin-top: -1px; }.model-diagram div:nth-child(2) { margin-right: 24px; margin-left: 24px; background: var(--coral); color: var(--ink); border: 0; }.model-diagram small { opacity: .55; }.model-diagram strong { text-align: right; }
.research-list { border-top: 1px solid var(--line); }.research-list a { padding: 24px 0; display: grid; grid-template-columns: 100px 1fr auto; align-items: center; border-bottom: 1px solid var(--line); text-decoration: none; }.research-list a:hover strong { transform: translateX(8px); }.research-list span, .research-list small { font-size: 11px; }.research-list strong { font-size: 24px; transition: transform .2s; }

/* Supporting pages */
.inner-hero { min-height: 780px; padding: 190px max(32px, calc((100vw - 1376px) / 2)) 100px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(125deg, var(--paper) 0 67%, var(--pink) 67%); }.inner-hero h1 { max-width: 1100px; }.inner-hero h1 span, .contact-hero h1 span { font-weight: 400; font-style: italic; }.inner-hero > p:last-child { max-width: 650px; margin: 18px 0 0 auto; font-size: 20px; line-height: 1.65; }
.manifesto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-left: 35%; }.manifesto-grid p { font-size: 19px; line-height: 1.75; }.principles-section { display: grid; grid-template-columns: repeat(3, 1fr); color: white; background: var(--ink); }.principles-section article { min-height: 420px; padding: 50px; display: flex; flex-direction: column; }.principles-section article + article { border-left: 1px solid rgba(255,255,255,.2); }.principles-section article:nth-child(2) { color: var(--ink); background: var(--coral); }.principles-section span { font-size: 11px; }.principles-section h2 { margin-top: auto; font-size: 34px; }.principles-section p { line-height: 1.6; opacity: .65; }
.career-content { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }.career-content h2 { font-size: clamp(48px, 5vw, 76px); letter-spacing: -.06em; }.career-copy p { margin-bottom: 35px; font-size: 19px; line-height: 1.75; }.career-email { display: inline-block; padding-bottom: 7px; border-bottom: 1px solid; font-size: 21px; font-weight: 600; text-decoration: none; }.role-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.role-strip div { min-height: 220px; padding: 30px; display: flex; flex-direction: column; justify-content: space-between; }.role-strip div + div { border-left: 1px solid var(--line); }.role-strip span { font-size: 11px; }.role-strip strong { font-size: 21px; }
.contact-hero { min-height: 850px; padding: 190px max(32px, calc((100vw - 1376px) / 2)) 100px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; background: linear-gradient(125deg, var(--paper) 0 60%, var(--lilac) 60%); }.contact-card { padding: 42px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.65); }.contact-card > p { line-height: 1.65; }.contact-card > a { display: flex; justify-content: space-between; margin: 42px 0 80px; padding-bottom: 14px; border-bottom: 1px solid; font-size: 22px; text-decoration: none; }.contact-card small, .contact-card strong { display: block; }.contact-card small { margin-bottom: 8px; opacity: .55; }

/* Privacy policy */
.legal-hero { min-height: 520px; padding: 180px max(32px, calc((100vw - 1080px) / 2)) 80px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(125deg, var(--paper) 0 70%, var(--pink) 70%); }.legal-hero h1 { margin-bottom: 24px; font-size: clamp(60px, 8vw, 110px); font-weight: 500; letter-spacing: -.07em; line-height: .95; }.legal-hero > p:last-child { margin: 0; font-size: 13px; opacity: .58; }
.legal-content { width: min(1080px, calc(100% - 64px)); margin: 0 auto; padding: 100px 0 140px; }.legal-content section { padding: 54px 0; border-bottom: 1px solid var(--line); }.legal-content .legal-intro { padding-top: 0; font-size: 18px; }.legal-content h2 { display: grid; grid-template-columns: 70px 1fr; margin-bottom: 28px; font-size: 34px; letter-spacing: -.04em; }.legal-content h2 span { padding-top: 9px; color: var(--coral); font-family: "DM Sans", sans-serif; font-size: 11px; letter-spacing: 0; }.legal-content h3 { margin: 30px 0 10px 70px; font-size: 18px; }.legal-content p, .legal-content ul, .legal-content address { max-width: 760px; margin-right: 0; margin-left: 70px; font-size: 15px; font-style: normal; line-height: 1.75; }.legal-content ul { padding-left: 20px; }.legal-content a { text-underline-offset: 4px; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }.reveal-delay { transition-delay: .12s; }.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .site-header { width: calc(100% - 40px); grid-template-columns: 1fr auto; }
  .site-nav { position: absolute; top: 78px; right: 0; left: 0; padding: 24px; display: none; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; }
  .site-nav.is-open { display: flex; }.menu-button { display: block; justify-self: end; }.header-cta { display: none; }
  .hero { min-height: auto; padding-top: 150px; grid-template-columns: 1fr; background: linear-gradient(165deg, #f7f5ef 0 48%, #efcbe7 48%); }
  .hero-copy { max-width: 820px; }.hero-visual { height: 660px; grid-template-columns: minmax(300px, 1fr) 250px; }.hero-image-wrap { width: 100%; height: 630px; }.hero-product { height: 567px; }.hero-download { right: auto; }.hero-foot { display: none; }
  .section-heading { grid-template-columns: 1fr; }.section-heading h2 { margin-top: 18px; }
  .value-grid { grid-template-columns: 1fr 1fr; }.value-card-feature { grid-column: 1 / -1; }.value-card { min-height: 440px; }
  .campaign-section { grid-template-columns: 1fr; }.campaign-copy { padding-right: 0; }.campaign-visual { min-height: 720px; }
  .experience-showcase { grid-template-columns: 1fr 1fr; }.experience-card:last-child { grid-column: 1 / -1; }
  .tech-hero { padding-top: 150px; grid-template-columns: 1fr; gap: 60px; background: linear-gradient(165deg, #f7f5ef 0 55%, #d9d2ff 55%); }.tech-hero-demo { margin: 0 auto; }
  .pipeline { grid-template-columns: 1fr; }.pipeline-arrow { transform: rotate(90deg); text-align: center; }.pipeline-step { min-height: 390px; }
  .tech-detail-grid { grid-template-columns: 1fr; }.privacy-section { grid-template-columns: 1fr; }.privacy-copy { grid-row: 1; }.privacy-mark { grid-row: 2; }.privacy-points { grid-row: 3; }
  .diffusion-explainer, .conditioning-section, .model-section, .career-content, .contact-hero { grid-template-columns: 1fr; }.denoise-sequence { justify-content: center; }.manifesto-grid { margin-left: 0; }.principles-section { grid-template-columns: 1fr; }.principles-section article + article { border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }.role-strip { grid-template-columns: 1fr 1fr; }.contact-hero { background: linear-gradient(165deg, var(--paper) 0 60%, var(--lilac) 60%); }
  .download-page { background: linear-gradient(165deg, var(--paper) 0 48%, var(--pink) 48%); }.download-main { grid-template-columns: 1fr; gap: 70px; }.download-actions { justify-self: start; }
}

@media (max-width: 700px) {
  .site-header { height: 74px; }.section { width: calc(100% - 32px); padding: 90px 0; }
  .hero { padding: 120px 16px 70px; }.hero h1, .tech-hero h1 { font-size: clamp(54px, 17vw, 78px); }.hero-intro { font-size: 17px; }.button-row { align-items: flex-start; flex-direction: column; }
  .hero-visual { height: auto; padding: 54px 0 20px; grid-template-columns: 1fr; grid-template-rows: 450px auto; gap: 28px; }.hero-image-wrap { width: 100%; height: 450px; }.hero-product { height: 450px; }
  .proof-strip { padding: 28px 18px; gap: 10px; flex-wrap: wrap; }.proof-strip p { font-size: 14px; }
  .hero-download { right: auto; bottom: auto; width: min(340px, calc(100vw - 32px)); margin: 0 auto; padding: 20px 0; border-top: 1px solid rgba(23, 22, 44, .4); border-bottom: 1px solid rgba(23, 22, 44, .4); border-left: 0; transform: none; }.hero-download > p { margin-bottom: 14px; font-size: 24px; }.store-badges { flex-direction: row; gap: 10px; flex-wrap: nowrap; }.store-badge { width: 155px; min-width: 155px; max-width: 155px; }.store-badge-apple img, .store-badge-google img { width: 155px; max-width: none; height: auto; }
  .section-heading h2, .experience-intro h2, .campaign-copy h2, .technology-cta h2, .tech-detail h2, .privacy-copy h2, .integration-copy h2 { font-size: 43px; }
  .value-grid, .experience-showcase { grid-template-columns: 1fr; }.value-card-feature, .experience-card:last-child { grid-column: auto; }.value-card { min-height: 430px; }
  .campaign-section { padding: 0 16px; }.campaign-copy { padding: 90px 0; }.campaign-visual { min-height: 530px; padding: 24px; }.campaign-visual img { max-height: 600px; object-fit: contain; }
  .experience-card { height: 620px; }.technology-cta { min-height: auto; grid-template-columns: 1fr; }.tech-orb { height: 420px; }.tech-orb::before { width: 330px; height: 330px; }
  .footer-lead h2 { font-size: 54px; }.footer-bottom { grid-template-columns: 1fr; gap: 20px; }
  .tech-hero { padding: 120px 16px 80px; }.tech-hero-demo { width: 100%; max-width: 430px; height: 590px; padding-right: 56px; padding-left: 56px; }
  .pipeline-step { min-height: 400px; }.tech-detail { min-height: 590px; padding: 28px; }.metric-row { grid-template-columns: 1fr; gap: 8px; }.metric-row div { padding-top: 12px; }
  .privacy-section { padding: 90px 16px; }.privacy-mark { min-height: 300px; }.privacy-mark::before { width: 280px; height: 280px; }.privacy-points { grid-template-columns: 1fr; }.privacy-points article { padding: 28px 0; }.privacy-points article + article { padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .integration-section { grid-template-columns: 1fr; gap: 50px; }
  .download-header { width: calc(100% - 32px); height: 74px; }.download-main { width: calc(100% - 32px); min-height: calc(100vh - 74px); padding: 70px 0; gap: 55px; }.download-copy h1 { font-size: clamp(64px, 22vw, 92px); }.download-actions { width: 100%; padding: 26px 0 0; border-top: 1px solid rgba(23, 22, 44, .4); border-left: 0; }.download-store-link, .download-store-link img { width: 220px; }
  .diffusion-explainer { gap: 48px; }.denoise-sequence { grid-template-columns: repeat(4, 1fr); gap: 6px; }.denoise-sequence > i { display: none; }.noise-frame { width: 100%; }.conditioning-section, .model-section { padding: 90px 16px; }.challenge-grid, .manifesto-grid { grid-template-columns: 1fr; }.pipeline-list li { grid-template-columns: 44px 1fr; }.pipeline-list small { display: none; }.pipeline-note { margin-left: 64px; }.research-list a { grid-template-columns: 60px 1fr; }.research-list small { grid-column: 2; margin-top: 6px; }.inner-hero { min-height: 680px; padding: 150px 16px 80px; background: linear-gradient(165deg, var(--paper) 0 70%, var(--pink) 70%); }.inner-hero h1, .contact-hero h1 { font-size: 53px; }.principles-section article { min-height: 340px; padding: 32px 16px; }.role-strip { grid-template-columns: 1fr; }.role-strip div { min-height: 150px; }.role-strip div + div { border-top: 1px solid var(--line); border-left: 0; }.contact-hero { min-height: auto; padding: 150px 16px 80px; }.contact-card { padding: 28px; }
  .legal-hero { min-height: 440px; padding: 140px 16px 60px; }.legal-content { width: calc(100% - 32px); padding: 60px 0 90px; }.legal-content h2 { grid-template-columns: 42px 1fr; font-size: 27px; }.legal-content h3, .legal-content p, .legal-content ul, .legal-content address { margin-left: 42px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; } }
