/* ===== マーケティングサイト層（歓迎ページ専用）=====
 * 既存の styles.css / theme.css には触れない、完全に独立した追加レイヤー。
 * .site-page でスコープしてあるので、アプリ本体の画面には一切影響しない。
 * ブランド（黒＋ライム）は流用しつつ、アプリのカードUIより余白の大きい
 * 「製品サイト」らしい組み方にする。
 */

body.site-active{ background:#f3f5f2; color:#121510; }
body.site-active #app{ max-width:none; padding-bottom:0; }
body.site-active .view{ width:100%; padding:0; animation:none; }

.site-page{
  --site-bg:#f3f5f2; --site-paper:#fff; --site-ink:#121510; --site-muted:#596056;
  --site-line:#d6dcd3; --site-lime:#b9f34a; --site-coral:#ff7c65; --site-blue:#ddecf6;
  width:100%; min-height:100vh; overflow:hidden; background:var(--site-bg); color:var(--site-ink);
}
.site-page button{ color:inherit; }
.site-page button:focus-visible,.site-page summary:focus-visible{ outline:3px solid #2988d8; outline-offset:3px; }
.site-page svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* URLから入った瞬間だけ見せる、製品サイトの入口演出 */
.site-entry-intro{
  position:fixed; inset:0; z-index:100; display:flex; align-items:center; overflow:hidden;
  background:#0b0e0b; opacity:0; visibility:hidden; pointer-events:auto; touch-action:none; overscroll-behavior:contain;
}
.site-entry-intro::before{
  content:""; position:absolute; inset:-5%; background:url("assets/hero-lab-water-mist-v1.jpg") center/cover no-repeat;
  filter:brightness(.68) saturate(.76) contrast(1.08); transform:scale(1.14);
}
.site-entry-intro::after{ content:""; position:absolute; inset:0; background:rgba(6,9,7,.5); opacity:1; }
.site-entry-intro-content{
  position:relative; z-index:1; width:100%; max-width:1320px; margin:0 auto; padding:0 56px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
}
.site-entry-intro-mark{
  position:absolute; left:50%; top:50%; z-index:0; color:rgba(185,243,74,.075);
  font-family:Arial,Helvetica,sans-serif; font-size:480px; font-weight:900; line-height:.75;
  -webkit-text-stroke:2px rgba(185,243,74,.42); transform:translate(-50%,-50%) scale(.9); opacity:0;
}
.site-entry-intro-rule{ position:relative; z-index:1; display:block; width:128px; height:3px; background:var(--site-lime); transform-origin:center; }
.site-entry-intro-copy{
  position:relative; z-index:1; margin:28px 0 0; color:#f8faf6;
  font-family:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  font-weight:700; line-height:1.12; letter-spacing:0; text-shadow:0 12px 42px rgba(0,0,0,.35);
}
.site-entry-intro-copy span{ display:block; white-space:nowrap; }
.site-entry-intro-copy span:first-child{ color:var(--site-lime); font-size:76px; }
.site-entry-intro-copy span:last-child{ margin-top:8px; font-size:112px; }
.site-entry-intro-flare{
  position:absolute; left:50%; top:calc(50% + 16px); z-index:3; width:110px; height:2px; opacity:0;
  background:#e7ffb8; box-shadow:0 0 24px rgba(185,243,74,.85); transform:translate(-50%,-50%) scaleX(0); transform-origin:center;
}

/* 製品サイト専用ヘッダー */
.site-header{
  position:sticky; top:0; z-index:50; height:68px; display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:24px; padding:0 max(24px,calc((100vw - 1180px)/2));
  background:rgba(243,245,242,.94); backdrop-filter:blur(16px); border-bottom:1px solid var(--site-line);
}
.site-brand{ display:inline-flex; align-items:center; justify-self:start; gap:10px; font-size:16px; font-weight:850; white-space:nowrap; }
.site-brand-mark{ width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; background:var(--site-ink); color:var(--site-lime); font-size:15px; font-weight:900; }
.site-nav{ display:flex; align-items:center; justify-content:center; gap:24px; }
.site-nav-link,.site-login{ font-size:13px; font-weight:700; color:var(--site-muted); white-space:nowrap; }
.site-nav-link:hover,.site-login:hover{ color:var(--site-ink); }
.site-header-actions{ justify-self:end; display:flex; align-items:center; gap:14px; }

.site-button{
  min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 22px;
  border:1px solid var(--site-ink); border-radius:6px; background:var(--site-ink); color:#fff!important;
  font-size:14px; font-weight:800; white-space:nowrap; transition:transform .15s,background .15s;
}
.site-button:hover{ background:#252a22; }
.site-button:active{ transform:translateY(1px); }
.site-button-small{ min-height:38px; padding:0 15px; font-size:12.5px; }
.site-button-outline{ background:transparent; color:var(--site-ink)!important; }
.site-button-outline:hover{ background:#e7ebe5; }
.site-button-light{ background:#fff; border-color:#fff; color:var(--site-ink)!important; }
.site-button-light:hover{ background:#eef2eb; }

/* ヒーロー。分析室と水の屈折を背景に、実際の製品UIを主役として見せる */
.site-hero{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:calc(100svh - 68px); display:flex; flex-direction:column; justify-content:space-between;
  padding:54px 24px 0; border-bottom:1px solid var(--site-line); background:#edf3f3;
}
.site-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(243,245,242,.48); pointer-events:none; }
.site-hero-atmosphere{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center; }
.site-hero-copy,.site-product-stage{ position:relative; z-index:1; }
.site-hero-copy{ max-width:850px; margin:0 auto; text-align:center; }
.site-kicker{ margin:0 0 12px; color:#477413; font-size:12px; font-weight:850; letter-spacing:0; }
.site-product-name{ margin:0; font-size:18px; line-height:1.4; font-weight:900; letter-spacing:0; }
.site-hero-statement{ margin-top:10px; font-size:54px; line-height:1.18; font-weight:900; letter-spacing:0; }
.site-hero-lead{ max-width:680px; margin:20px auto 0; color:var(--site-muted); font-size:16px; line-height:1.85; }
.site-hero-actions{ display:flex; justify-content:center; gap:10px; margin-top:25px; }
.site-trust-row{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-top:16px; color:var(--site-muted); font-size:11.5px; font-weight:700; }
.site-trust-row span{ display:inline-flex; align-items:center; gap:7px; }
.site-trust-row span::before{ content:""; width:6px; height:6px; border-radius:50%; background:#619922; }

.site-product-stage{ width:100%; max-width:1120px; height:340px; margin:42px auto 0; overflow:hidden; border-radius:8px 8px 0 0; background:#121510; color:#f7f8f5; box-shadow:0 24px 70px rgba(18,21,16,.2); }
.site-stage-bar{ height:50px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; padding:0 18px; border-bottom:1px solid #33382f; }
.site-stage-brand{ display:flex; align-items:center; gap:8px; font-size:12px; font-weight:850; }
.site-stage-brand span{ width:8px; height:8px; border-radius:50%; background:var(--site-lime); }
.site-stage-tabs{ display:flex; align-items:center; gap:22px; color:#8f968b; font-size:10.5px; }
.site-stage-tabs b{ position:relative; font-weight:750; }
.site-stage-tabs b.on{ color:var(--site-lime); }
.site-stage-tabs b.on::after{ content:""; position:absolute; left:0; right:0; bottom:-16px; height:2px; background:var(--site-lime); }
.site-stage-user{ justify-self:end; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:6px; background:#2a3026; color:var(--site-lime); font-size:11px; font-weight:900; }
.site-stage-body{ height:calc(100% - 50px); display:grid; grid-template-columns:180px minmax(0,1fr) 170px; }
.site-demo-side,.site-demo-memo{ padding:20px 17px; background:#181c16; }
.site-demo-side{ border-right:1px solid #33382f; }
.site-demo-memo{ border-left:1px solid #33382f; }
.site-demo-caption{ color:#8f968b; font-size:9.5px; font-weight:800; }
.site-demo-side strong{ display:block; margin-top:6px; font-size:16px; }
.site-demo-side small{ display:block; margin-top:3px; color:#8f968b; font-size:10px; }
.site-demo-side p{ margin-top:7px; color:#c3c8bf; font-size:11px; line-height:1.65; }
.site-demo-divider{ height:1px; margin:18px 0; background:#33382f; }
.site-demo-main{ min-width:0; padding:20px 22px; }
.site-demo-heading{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.site-demo-heading small{ display:block; color:#8f968b; font-size:9.5px; }
.site-demo-heading strong{ display:block; margin-top:3px; font-size:14px; }
.site-demo-heading>span{ flex:none; padding:4px 8px; border:1px solid #454b41; border-radius:999px; color:#c3c8bf; font-size:9.5px; }
.site-demo-issue{ display:flex; align-items:center; gap:10px; margin-top:17px; padding:9px 11px; border-left:3px solid var(--site-lime); background:#20251d; }
.site-demo-issue span{ color:#8f968b; font-size:9px; }
.site-demo-issue b{ font-size:11.5px; }
.site-demo-track{ display:grid; grid-template-columns:repeat(4,minmax(105px,1fr)); gap:8px; margin-top:14px; }
.site-demo-step{ min-width:0; height:105px; display:flex; flex-direction:column; padding:10px; border:1px solid #353b31; border-radius:6px; background:#1b2018; }
.site-demo-step small{ color:#8f968b; font-size:9px; }
.site-demo-step b{ margin-top:8px; font-size:10.5px; line-height:1.45; }
.site-demo-step span{ margin-top:auto; font-size:9px; font-weight:850; }
.site-demo-step.fail span{ color:#ff8b78; }
.site-demo-step.hold span{ color:#f0c85a; }
.site-demo-step.success{ border-color:#5b8a2a; }
.site-demo-step.success span{ color:#9ddf59; }
.site-demo-step.current{ border-style:dashed; }
.site-demo-step.current span{ color:#8fbce8; }
.site-demo-memo strong{ display:block; margin:10px 0 16px; font-size:15px; line-height:1.45; }
.site-demo-memo button{ width:100%; padding:8px 7px; margin-top:7px; border:1px solid #3d4438; border-radius:6px; background:#23281f; color:#d8dbd5; font-size:10px; font-weight:750; text-align:left; }
.site-demo-memo button:first-of-type{ border-color:#78ac3d; color:var(--site-lime); }

/* 共通セクション */
.site-section{ padding:104px 24px; border-bottom:1px solid var(--site-line); scroll-margin-top:68px; }
.site-section-inner{ max-width:760px; margin:0 auto; }
.site-section-inner.site-wide{ max-width:1120px; }
.site-section-heading{ max-width:760px; margin:0 auto; text-align:center; }
.site-heading-left{ margin:0; text-align:left; }
.site-heading-left .site-lead{ margin-left:0; }
.site-h2{ font-size:40px; line-height:1.35; font-weight:900; letter-spacing:0; }
.site-lead{ max-width:650px; margin:18px auto 0; color:var(--site-muted); font-size:16px; line-height:1.85; }
.site-split{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:76px; }

.site-value{ background:var(--site-paper); }
.site-value-grid{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:58px; border-top:1px solid var(--site-line); border-bottom:1px solid var(--site-line); }
.site-value-grid article{ padding:30px 28px 34px; border-left:1px solid var(--site-line); }
.site-value-grid article:first-child{ border-left:0; }
.site-value-grid article>span{ color:#689c2c; font-size:12px; font-weight:900; }
.site-value-grid h3{ margin-top:22px; font-size:19px; line-height:1.45; }
.site-value-grid p{ margin-top:10px; color:var(--site-muted); font-size:14px; line-height:1.8; }

.site-how{ background:#121510; color:#f6f8f3; border-color:#121510; }
.site-how .site-kicker{ color:var(--site-lime); }
.site-how .site-lead{ color:#aeb5aa; }
.site-flow{ display:grid; grid-template-columns:repeat(9,auto); align-items:center; justify-content:space-between; gap:10px; margin-top:48px; }
.site-flow-step{ width:150px; min-height:130px; display:flex; flex-direction:column; justify-content:center; padding:18px; border:1px solid #3b4237; border-radius:8px; background:#1d211a; }
.site-flow-step span{ color:#7f897a; font-size:10px; font-weight:900; }
.site-flow-step small{ margin-top:18px; color:#9fa79b; font-size:10.5px; }
.site-flow-step b{ margin-top:3px; font-size:16px; }
.site-flow-step.accent{ border-color:#8fbd45; background:var(--site-lime); color:#121510; }
.site-flow-step.accent span,.site-flow-step.accent small{ color:#426112; }
.site-flow-arrow{ color:#747d70; font-size:17px; }
.site-flow-note{ margin-top:24px; color:#9fa79b; font-size:12.5px; text-align:center; }

/* スクロールに沿って、試行錯誤から収束へ進むビジュアルストーリー */
.site-story-visual{ position:relative; isolation:isolate; height:clamp(360px,48vw,620px); overflow:hidden; border-bottom:1px solid var(--site-line); }
.site-story-visual>img:not(.site-water-motion){ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transform:scale(1.05); }
.site-story-visual::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; }
.site-story-copy{ position:relative; z-index:1; height:100%; max-width:1120px; margin:0 auto; padding:54px 24px; }
.site-story-copy small{ display:block; font-size:11px; font-weight:850; }
.site-story-copy p{ margin-top:12px; font-size:34px; line-height:1.35; font-weight:900; letter-spacing:0; }
.site-story-trials{ background:#111510; color:#f5f7f3; }
.site-story-trials::before{ background:rgba(11,14,11,.18); }
.site-story-trials .site-story-copy small{ color:var(--site-lime); }
.site-story-convergence{ background:#eef4f6; color:var(--site-ink); }
.site-story-convergence::before{ background:rgba(243,245,242,.18); }
.site-story-convergence>img{ object-position:center; }
.site-story-convergence .site-story-copy small{ color:#477413; }

@media(prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .site-story-visual>img:not(.site-water-motion),.site-final-atmosphere{ animation:site-story-rise linear both; animation-timeline:view(); animation-range:entry 0% exit 100%; }
  }
}
@keyframes site-story-rise{
  from{ transform:translateY(1%) scale(1.05); }
  to{ transform:translateY(-1%) scale(1.05); }
}

.site-journey{ background:#e9eef7; }
.site-journey .site-kicker{ color:#3b68a0; }
.site-journey-board{ min-width:0; padding:22px; border-radius:8px; background:#171a20; color:#f5f6f8; overflow-x:auto; }
.site-journey-person{ min-width:560px; padding-bottom:16px; border-bottom:1px solid #383d46; }
.site-journey-person small{ display:block; color:#949ca8; font-size:10px; }
.site-journey-person b{ display:block; margin-top:4px; font-size:15px; }
.site-journey-person p{ margin-top:7px; color:#bbc1ca; font-size:11px; }
.site-journey-row{ min-width:560px; display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:8px; align-items:stretch; padding-top:12px; }
.site-journey-row strong,.site-journey-row span{ display:flex; align-items:center; min-height:48px; padding:9px; border-radius:6px; font-size:10.5px; }
.site-journey-row strong{ background:#22262e; }
.site-journey-row span{ justify-content:center; border:1px solid #414752; font-weight:800; }
.site-journey-row .bad{ color:#ff9382; }
.site-journey-row .hold{ color:#efd06d; }
.site-journey-row .good{ color:#9ade6b; border-color:#5f8d3e; }
.site-journey-row .now{ color:#9bc6ef; border-style:dashed; }

.site-ai{ background:#fff; }
.site-ai-steps{ border-top:1px solid var(--site-line); }
.site-ai-steps>div{ display:grid; grid-template-columns:54px 1fr; gap:18px; align-items:center; padding:24px 0; border-bottom:1px solid var(--site-line); }
.site-ai-steps span{ color:#699b2f; font-size:12px; font-weight:900; }
.site-ai-steps p{ font-size:15px; font-weight:750; line-height:1.6; }

.site-plaza{ background:#f5eee9; }
.site-plaza .site-kicker{ color:#a44937; }
.site-text-link{ display:inline-flex; align-items:center; gap:8px; margin-top:24px; padding-bottom:4px; border-bottom:1px solid var(--site-ink); font-size:14px; font-weight:850; }
.site-text-link span{ font-size:18px; }
.site-plaza-preview{ padding:25px; border-radius:8px; background:#151714; color:#f5f6f3; }
.site-plaza-user{ display:flex; align-items:center; gap:11px; padding-bottom:18px; border-bottom:1px solid #363a33; }
.site-plaza-user>span{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#2b3028; color:var(--site-lime); font-weight:900; }
.site-plaza-user b,.site-plaza-user small{ display:block; }
.site-plaza-user b{ font-size:13px; }
.site-plaza-user small{ margin-top:2px; color:#9ea59a; font-size:10.5px; }
.site-plaza-preview>small{ display:block; margin-top:19px; color:#92998e; font-size:10px; }
.site-plaza-preview h3{ margin-top:5px; font-size:20px; line-height:1.45; }
.site-plaza-preview>p{ margin-top:12px; color:#bbc0b8; font-size:12px; }
.site-plaza-status,.site-plaza-reactions{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.site-plaza-status span,.site-plaza-reactions span,.site-plaza-reactions strong{ padding:6px 9px; border:1px solid #40463c; border-radius:999px; color:#bfc5bb; font-size:10px; }
.site-plaza-reactions{ padding-top:16px; border-top:1px solid #363a33; }
.site-plaza-reactions strong{ color:var(--site-lime); border-color:#648c34; }

.site-domains{ padding:44px 24px; background:var(--site-coral); color:#1c1715; }
.site-domains .site-section-inner{ display:grid; grid-template-columns:180px 1fr; gap:30px; align-items:start; }
.site-domains p{ font-size:14px; font-weight:900; }
.site-domains div>div{ display:flex; flex-wrap:wrap; gap:8px; }
.site-domains span{ padding:7px 10px; border:1px solid rgba(28,23,21,.6); border-radius:999px; font-size:11.5px; font-weight:750; }

.site-privacy{ background:#121510; color:#f6f8f3; border-color:#121510; }
.site-privacy .site-kicker{ color:var(--site-lime); }
.site-privacy-grid{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:52px; border-top:1px solid #3b4237; }
.site-privacy-grid article{ padding:28px 28px 0 0; border-right:1px solid #3b4237; }
.site-privacy-grid article+article{ padding-left:28px; }
.site-privacy-grid article:last-child{ border-right:0; }
.site-privacy-grid span{ color:var(--site-lime); font-size:11px; font-weight:850; }
.site-privacy-grid h3{ margin-top:18px; font-size:18px; line-height:1.5; }
.site-privacy-grid p{ margin-top:10px; color:#aeb5aa; font-size:13.5px; line-height:1.8; }

.site-faq{ background:#fff; }
.site-faq-layout{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:90px; align-items:start; }
.site-faq-list{ border-top:1px solid var(--site-line); }
.site-faq-list details{ border-bottom:1px solid var(--site-line); }
.site-faq-list summary{ position:relative; padding:22px 40px 22px 0; cursor:pointer; list-style:none; font-size:15px; font-weight:800; }
.site-faq-list summary::-webkit-details-marker{ display:none; }
.site-faq-list summary::after{ content:"＋"; position:absolute; right:2px; top:21px; font-size:18px; font-weight:400; }
.site-faq-list details[open] summary::after{ content:"−"; }
.site-faq-list details p{ padding:0 40px 22px 0; color:var(--site-muted); font-size:13.5px; line-height:1.8; }

.site-final{ position:relative; isolation:isolate; min-height:560px; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:92px 24px; background:#eef4f6; color:var(--site-ink); text-align:center; }
.site-final::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(243,245,242,.34); pointer-events:none; }
.site-final-atmosphere{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:58% center; transform:scale(1.05); }
.site-final-content{ position:relative; z-index:1; }
.site-final .site-kicker{ color:#466817; }
.site-final h2{ font-size:46px; line-height:1.28; letter-spacing:0; }
.site-final-content>p:not(.site-kicker){ margin-top:16px; font-size:15px; }
.site-final .site-button{ margin-top:28px; }

/* 元画像を薄く重ねて動かし、光と水面だけがゆっくり揺れるように見せる */
.site-water-motion{
  position:absolute; top:-4%; left:-4%; z-index:0; width:108%; height:108%; object-fit:cover;
  opacity:var(--site-water-min,.07); filter:brightness(1.15) contrast(1.05);
  mix-blend-mode:soft-light; pointer-events:none;
}
.site-hero{ --site-water-min:.08; --site-water-max:.30; }
.site-water-motion-hero{ object-position:center; }
.site-hero-mist{
  position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:1; filter:blur(10px) brightness(1.1) saturate(.68); transform:scale(1.1); pointer-events:none;
}
.site-story-trials{ --site-water-min:.08; --site-water-max:.27; }
.site-story-trials .site-water-motion{ object-position:center; mix-blend-mode:screen; }
.site-story-convergence{ --site-water-min:.07; --site-water-max:.25; }
.site-story-convergence .site-water-motion{ object-position:center; }
.site-final{ --site-water-min:.07; --site-water-max:.27; }
.site-final .site-water-motion{ object-position:58% center; }

@media(prefers-reduced-motion:no-preference){
  .site-entry-intro{ opacity:1; visibility:visible; animation:site-entry-intro-exit 5s ease-out forwards; }
  .site-entry-intro::before{ animation:site-entry-intro-image 5s cubic-bezier(.2,.72,.22,1) both; }
  .site-entry-intro::after{ animation:site-entry-intro-veil 5s ease-out both; }
  .site-entry-intro-mark{ animation:site-entry-intro-mark 4.8s cubic-bezier(.2,.72,.22,1) both; }
  .site-entry-intro-rule{ animation:site-entry-intro-rule 4.2s cubic-bezier(.2,.72,.22,1) .1s both; }
  .site-entry-intro-copy span{ animation:site-entry-intro-copy 4.5s cubic-bezier(.2,.72,.22,1) both; }
  .site-entry-intro-copy span:first-child{ animation-delay:.1s; }
  .site-entry-intro-copy span:last-child{ animation-delay:.2s; }
  .site-entry-intro-flare{ animation:site-entry-intro-flare 5s cubic-bezier(.2,.72,.22,1) both; }
  .site-water-motion{
    animation:site-water-drift 10s ease-in-out infinite alternate,site-light-breathe 4.5s linear infinite;
    animation-play-state:paused;
  }
  .site-water-motion.is-water-active{ animation-play-state:running; will-change:transform,opacity; }
  .site-hero-atmosphere{
    animation:site-hero-water-drift 10s ease-in-out infinite alternate,site-hero-clarify 3.4s ease-out 1 both;
    animation-play-state:paused,running;
  }
  .site-hero.is-water-active .site-hero-atmosphere{ animation-play-state:running,running; will-change:transform,filter; }
  .site-hero.is-water-seen .site-hero-mist{ animation:site-hero-mist-clear 3.4s cubic-bezier(.22,.72,.2,1) .08s forwards; }
  .site-entry-playing .site-hero-atmosphere{ animation-delay:0s,4.55s; }
  .site-entry-playing .site-hero.is-water-seen .site-hero-mist{ animation-delay:4.55s; }
}
@media(prefers-reduced-motion:reduce){ .site-entry-intro,.site-water-motion,.site-hero-mist{ display:none; } }
@keyframes site-entry-intro-exit{
  0%,70%{ opacity:1; visibility:visible; }
  100%{ opacity:0; visibility:hidden; }
}
@keyframes site-entry-intro-image{
  from{ transform:scale(1.14); }
  to{ transform:scale(1.02); }
}
@keyframes site-entry-intro-veil{
  0%,60%{ opacity:1; }
  88%{ opacity:.38; }
  100%{ opacity:.12; }
}
@keyframes site-entry-intro-mark{
  0%{ opacity:0; transform:translate(-50%,-50%) scale(.82); }
  22%,70%{ opacity:.72; transform:translate(-50%,-50%) scale(1); }
  100%{ opacity:0; transform:translate(-50%,-50%) scale(1.06); }
}
@keyframes site-entry-intro-rule{
  0%{ opacity:0; transform:scaleX(0); }
  18%,72%{ opacity:1; transform:scaleX(1); }
  100%{ opacity:0; transform:scaleX(1); }
}
@keyframes site-entry-intro-copy{
  0%{ opacity:0; clip-path:inset(0 50%); transform:translateY(20px) scale(.96); }
  22%,68%{ opacity:1; clip-path:inset(0); transform:translateY(0) scale(1); }
  100%{ opacity:0; clip-path:inset(0); transform:translateY(-8px) scale(1.02); }
}
@keyframes site-entry-intro-flare{
  0%,66%{ opacity:0; transform:translate(-50%,-50%) scaleX(0); }
  74%{ opacity:1; transform:translate(-50%,-50%) scaleX(1); }
  90%{ opacity:.72; transform:translate(-50%,-50%) scaleX(16); }
  100%{ opacity:0; transform:translate(-50%,-50%) scaleX(22); }
}
@keyframes site-water-drift{
  0%{ transform:translate3d(-2.5%,1.2%,0) scale(1.035); }
  50%{ transform:translate3d(.8%,-1.8%,0) scale(1.065); }
  100%{ transform:translate3d(2.4%,.4%,0) scale(1.045); }
}
@keyframes site-light-breathe{
  0%,100%{ opacity:var(--site-water-min,.07); }
  50%{ opacity:var(--site-water-max,.27); }
}
@keyframes site-hero-water-drift{
  from{ transform:translate3d(-.8%,.3%,0) scale(1.025); }
  to{ transform:translate3d(.9%,-.5%,0) scale(1.055); }
}
@keyframes site-hero-clarify{
  from{ filter:brightness(1.08) saturate(.82) contrast(.9); }
  to{ filter:brightness(1) saturate(1) contrast(1); }
}
@keyframes site-hero-mist-clear{
  0%{ opacity:1; filter:blur(10px) brightness(1.1) saturate(.68); transform:translateY(0) scale(1.1); visibility:visible; }
  35%{ opacity:.68; filter:blur(6px) brightness(1.06) saturate(.78); }
  72%{ opacity:.22; filter:blur(2.5px) brightness(1.02) saturate(.92); }
  100%{ opacity:0; filter:blur(1px) brightness(1) saturate(1); transform:translateY(-8%) scale(1.16); visibility:hidden; }
}

.site-footer{ padding:42px 24px 38px; background:#0d0f0c; color:#f5f6f3; }
.site-footer-inner{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:start; }
.site-footer-brand{ display:grid; grid-template-columns:30px auto; gap:0 10px; align-items:center; }
.site-footer-brand small{ grid-column:2; margin-top:4px; color:#90978c; font-size:10.5px; }
.site-footer-links{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; }
.site-footer-links button{ color:#b6bcb2; font-size:11.5px; }
.site-footer-links button:hover{ color:#fff; }
.site-copyright{ grid-column:1/-1; padding-top:24px; border-top:1px solid #2b2f28; color:#747a70; font-size:10.5px; }

@media(max-width:980px){
  .site-entry-intro-content{ padding:0 40px; }
  .site-entry-intro-mark{ font-size:360px; }
  .site-entry-intro-copy span:first-child{ font-size:60px; }
  .site-entry-intro-copy span:last-child{ font-size:84px; }
  .site-nav{ display:none; }
  .site-header{ grid-template-columns:1fr auto; }
  .site-stage-body{ grid-template-columns:155px minmax(0,1fr); }
  .site-demo-memo{ display:none; }
  .site-flow{ grid-template-columns:1fr; gap:8px; }
  .site-flow-step{ width:100%; min-height:92px; }
  .site-flow-arrow{ justify-self:center; transform:rotate(90deg); }
  .site-split{ grid-template-columns:1fr; gap:48px; }
  .site-journey .site-section-heading,.site-ai .site-section-heading,.site-plaza .site-section-heading{ max-width:720px; }
}

@media(min-width:681px) and (max-height:820px){
  .site-hero{ padding-top:32px; }
  .site-hero-statement{ font-size:44px; }
  .site-hero-lead{ margin-top:12px; line-height:1.65; }
  .site-hero-actions{ margin-top:17px; }
  .site-trust-row{ margin-top:10px; }
  .site-product-stage{ height:270px; margin-top:24px; }
  .site-demo-main{ padding:14px 18px; }
  .site-demo-issue{ margin-top:11px; }
  .site-demo-track{ margin-top:10px; }
  .site-demo-step{ height:82px; }
}

@media(max-width:680px){
  .site-entry-intro-content{ padding:0 20px; }
  .site-entry-intro-mark{ font-size:260px; -webkit-text-stroke-width:1px; }
  .site-entry-intro-rule{ width:86px; height:2px; }
  .site-entry-intro-copy{ margin-top:20px; }
  .site-entry-intro-copy span:first-child{ font-size:36px; }
  .site-entry-intro-copy span:last-child{ font-size:40px; }
  .site-entry-intro-flare{ top:calc(50% + 24px); width:80px; height:1px; }
  .site-header{ height:62px; gap:10px; padding:0 14px; }
  .site-brand{ gap:8px; font-size:14px; }
  .site-brand-mark{ width:28px; height:28px; font-size:13px; }
  .site-header-actions{ gap:9px; }
  .site-login{ font-size:12px; }
  .site-button-small{ min-height:36px; padding:0 11px; font-size:11.5px; }
  .site-hero{ min-height:calc(100svh - 62px); padding:34px 16px 0; }
  .site-hero::before{ background:rgba(243,245,242,.56); }
  .site-water-motion-hero,.site-hero-mist{ object-position:68% center; }
  .site-hero-atmosphere{ object-position:68% center; }
  .site-kicker{ margin-bottom:9px; font-size:11px; }
  .site-product-name{ font-size:16px; }
  .site-hero-statement{ margin-top:7px; font-size:34px; line-height:1.22; }
  .site-hero-lead{ margin-top:14px; font-size:13.5px; line-height:1.7; }
  .site-hero-actions{ margin-top:18px; }
  .site-hero-actions .site-button{ min-height:43px; padding:0 15px; font-size:12.5px; }
  .site-trust-row{ gap:5px 12px; margin-top:12px; font-size:10px; }
  .site-product-stage{ height:230px; margin-top:26px; }
  .site-stage-bar{ height:42px; grid-template-columns:1fr auto; padding:0 12px; }
  .site-stage-tabs{ display:none; }
  .site-stage-body{ height:calc(100% - 42px); grid-template-columns:minmax(0,1fr); }
  .site-demo-side,.site-demo-memo{ display:none; }
  .site-demo-main{ padding:13px 14px; }
  .site-demo-heading>span{ padding:3px 7px; }
  .site-demo-issue{ margin-top:10px; padding:7px 9px; }
  .site-demo-track{ grid-template-columns:repeat(4,118px); gap:7px; margin-top:9px; overflow:hidden; }
  .site-demo-step{ height:82px; padding:8px; }
  .site-demo-step b{ margin-top:5px; font-size:9.5px; }
  .site-section{ padding:72px 20px; scroll-margin-top:62px; }
  .site-h2{ font-size:29px; line-height:1.4; }
  .site-lead{ margin-top:14px; font-size:14px; line-height:1.8; }
  .site-heading-left{ text-align:left; }
  .site-value-grid{ grid-template-columns:1fr; margin-top:38px; }
  .site-value-grid article{ padding:24px 0; border-left:0; border-top:1px solid var(--site-line); }
  .site-value-grid article:first-child{ border-top:0; }
  .site-value-grid h3{ margin-top:12px; font-size:17px; }
  .site-flow{ margin-top:34px; }
  .site-flow-step{ min-height:82px; padding:14px 16px; }
  .site-flow-step small{ margin-top:9px; }
  .site-flow-note{ line-height:1.7; }
  .site-story-visual{ height:400px; }
  .site-story-copy{ padding:34px 20px; }
  .site-story-copy p{ margin-top:9px; font-size:26px; line-height:1.38; }
  .site-story-trials .site-water-motion,.site-story-trials>img:not(.site-water-motion){ object-position:58% center; }
  .site-story-convergence .site-water-motion,.site-story-convergence>img:not(.site-water-motion){ object-position:65% center; }
  .site-journey-board{ padding:16px; }
  .site-ai-steps>div{ padding:20px 0; }
  .site-plaza-preview{ padding:20px; }
  .site-plaza-preview h3{ font-size:18px; }
  .site-domains{ padding:34px 20px; }
  .site-domains .site-section-inner{ grid-template-columns:1fr; gap:16px; }
  .site-privacy-grid{ grid-template-columns:1fr; margin-top:38px; }
  .site-privacy-grid article,.site-privacy-grid article+article{ padding:24px 0; border-right:0; border-bottom:1px solid #3b4237; }
  .site-privacy-grid article:last-child{ border-bottom:0; }
  .site-faq-layout{ grid-template-columns:1fr; gap:34px; }
  .site-final{ min-height:500px; padding:72px 20px; }
  .site-final .site-water-motion{ object-position:62% center; }
  .site-final-atmosphere{ object-position:62% center; }
  .site-final h2{ font-size:34px; }
  .site-footer-inner{ grid-template-columns:1fr; }
  .site-footer-links{ justify-content:flex-start; }
  .site-copyright{ grid-column:1; }
}

@media(max-width:390px){
  .site-brand>span:last-child{ display:none; }
  .site-header-actions{ gap:7px; }
  .site-trust-row span:nth-child(2){ display:none; }
  .site-product-stage{ margin-top:20px; }
}

@media(max-width:350px){
  .site-entry-intro-mark{ font-size:220px; }
  .site-entry-intro-copy span:first-child{ font-size:31px; }
  .site-entry-intro-copy span:last-child{ font-size:34px; }
}

@media(max-width:680px) and (max-height:700px){
  .site-hero{ padding-top:22px; }
  .site-hero-statement{ font-size:30px; }
  .site-hero-lead{ margin-top:10px; font-size:12.5px; line-height:1.55; }
  .site-hero-actions{ margin-top:13px; }
  .site-trust-row{ display:none; }
  .site-product-stage{ height:180px; margin-top:18px; }
  .site-demo-issue{ display:none; }
  .site-demo-track{ margin-top:8px; }
  .site-demo-step{ height:70px; }
}
