/* Batta Spatial UI — AR-only visual system, intentionally independent from the main site. */
:root {
  --ar-bg: #07090f;
  --ar-bg-soft: #0d1019;
  --ar-panel: rgba(17, 20, 31, .78);
  --ar-panel-strong: rgba(20, 24, 37, .94);
  --ar-line: rgba(255,255,255,.11);
  --ar-line-strong: rgba(255,255,255,.20);
  --ar-text: #f7f8fb;
  --ar-muted: #9ca5b7;
  --ar-accent: #7c5cff;
  --ar-accent-2: #37d5ff;
  --ar-success: #42d39b;
  --ar-warn: #ffbc5c;
  --ar-danger: #ff6b7d;
  --ar-radius: 24px;
  --ar-radius-sm: 14px;
  --ar-shadow: 0 28px 80px rgba(0,0,0,.36);
  --ar-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", sans-serif;
}

.ar-studio-page {
  margin: 0;
  color: var(--ar-text);
  background:
    radial-gradient(900px 700px at 10% -10%, rgba(124,92,255,.23), transparent 62%),
    radial-gradient(800px 620px at 105% 18%, rgba(55,213,255,.13), transparent 58%),
    linear-gradient(180deg, #090b12 0%, #06080d 100%);
  font-family: var(--ar-font);
  min-height: 100dvh;
}

.ar-studio-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .35;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
  z-index: 0;
}

.ar-sitebar {
  position: relative;
  z-index: 30;
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 22px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ar-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ar-text);
  text-decoration: none;
  font-weight: 900;
  letter-spacing: -.02em;
}
.ar-brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--ar-accent), var(--ar-accent-2));
  box-shadow: 0 10px 30px rgba(124,92,255,.35);
  color: white;
}
.ar-brand small {
  display: block;
  margin-top: -2px;
  color: var(--ar-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.ar-site-actions { display:flex; align-items:center; gap:8px; }
.ar-site-actions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid var(--ar-line);
  border-radius: 999px;
  color: var(--ar-muted);
  background: rgba(255,255,255,.035);
  text-decoration: none;
  font-size: 11px;
  font-weight: 800;
  backdrop-filter: blur(12px);
}
.ar-site-actions a:hover { color: var(--ar-text); border-color: var(--ar-line-strong); background: rgba(255,255,255,.075); }

/* AR creation studio */
.ar-conversion .wrap {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  padding: 58px 22px 100px;
}
.ar-conversion .hero {
  position: relative;
  min-height: 390px;
  margin: 0 0 32px;
  padding: 62px 52% 54px 0;
}
.ar-conversion .hero::before {
  content: "";
  position: absolute;
  right: 0;
  top: 2px;
  width: 45%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, transparent 0 26%, rgba(124,92,255,.18) 27% 27.7%, transparent 28.5% 42%, rgba(55,213,255,.16) 43% 43.6%, transparent 44.4%),
    conic-gradient(from 35deg, transparent 0 8%, rgba(124,92,255,.55) 9% 10%, transparent 11% 34%, rgba(55,213,255,.45) 35% 36%, transparent 37% 70%, rgba(255,255,255,.18) 71% 71.6%, transparent 72%);
  filter: drop-shadow(0 0 70px rgba(124,92,255,.22));
  animation: arOrbit 24s linear infinite;
}
.ar-conversion .hero::after {
  content: "AR\A SPATIAL\A STUDIO";
  white-space: pre;
  position: absolute;
  right: 8.5%;
  top: 29%;
  width: 27%;
  aspect-ratio: 1/1.16;
  display: grid;
  place-content: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 44% 44% 35% 35%;
  background: linear-gradient(180deg, rgba(124,92,255,.19), rgba(55,213,255,.055));
  box-shadow: inset 0 0 55px rgba(124,92,255,.16), 0 30px 70px rgba(0,0,0,.35);
  color: rgba(255,255,255,.70);
  font-weight: 900;
  font-size: clamp(12px, 1.8vw, 20px);
  letter-spacing: .22em;
  line-height: 1.45;
  text-align: center;
  backdrop-filter: blur(10px);
}
@keyframes arOrbit { to { transform: rotate(360deg); } }
.ar-conversion .hero h1 {
  margin: 0 0 18px;
  color: var(--ar-text);
  font-family: var(--ar-font);
  font-size: clamp(42px, 6vw, 78px);
  line-height: .98;
  letter-spacing: -.065em;
  font-weight: 900;
  max-width: 700px;
}
.ar-conversion .hero h1::before {
  content: "IMAGE → SPACE";
  display: block;
  margin-bottom: 16px;
  color: var(--ar-accent-2);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .23em;
  font-weight: 900;
}
.ar-conversion .hero p {
  max-width: 650px;
  color: #c0c7d4;
  font-size: 15px;
  line-height: 1.9;
}
.ar-conversion .hero-benefits { gap: 8px; margin-top: 22px; }
.ar-conversion .hero-benefit {
  border: 1px solid var(--ar-line);
  border-radius: 999px;
  padding: 8px 11px;
  background: rgba(255,255,255,.045);
  color: #dce1ea;
  font-size: 11px;
  letter-spacing: .02em;
  backdrop-filter: blur(10px);
}
.ar-conversion .hero-use { max-width: 650px; margin-top: 18px; color: var(--ar-muted); font-size: 12px; }
.ar-conversion .hero-price { display:inline-flex; margin-top: 16px; padding: 9px 12px; border-radius: 10px; background: rgba(66,211,155,.10); border:1px solid rgba(66,211,155,.24); color:#9cf0ce; }
.ar-conversion .notice {
  max-width: 650px;
  margin-top: 14px;
  background: rgba(255,188,92,.07);
  border-color: rgba(255,188,92,.19);
  color: #c7bfaf;
}
.ar-conversion .panel {
  position: relative;
  overflow: hidden;
  padding: 30px;
  margin-bottom: 20px;
  border: 1px solid var(--ar-line);
  border-radius: var(--ar-radius);
  background: linear-gradient(145deg, rgba(18,21,32,.94), rgba(10,12,20,.88));
  color: var(--ar-text);
  box-shadow: var(--ar-shadow);
}
.ar-conversion .panel::before {
  content: "";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--ar-accent),var(--ar-accent-2),transparent);
  opacity:.55;
}
.ar-conversion .panel h2 {
  font-size: 22px;
  letter-spacing: -.025em;
  margin-bottom: 24px;
}
.ar-conversion .panel h2::before {
  content: "01";
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-right:10px;
  border:1px solid rgba(124,92,255,.4);
  border-radius:9px;
  color:#b7a9ff;
  background:rgba(124,92,255,.1);
  font-size:10px;
  vertical-align:4px;
}
.ar-conversion .panel:nth-of-type(2) h2::before { content:"02"; }
.ar-conversion .field { margin-bottom: 22px; }
.ar-conversion .field > label,
.ar-conversion .field-title { color:#e8eaf0; font-size:12px; letter-spacing:.025em; margin-bottom:9px; }
.ar-conversion .field select,
.ar-conversion .field input[type="file"] {
  min-height: 50px;
  padding: 12px 14px;
  border:1px solid var(--ar-line);
  border-radius:14px;
  background:#0d1018;
  color:var(--ar-text);
  outline:none;
}
.ar-conversion .field select:focus,
.ar-conversion .field input[type="file"]:focus { border-color:rgba(124,92,255,.65); box-shadow:0 0 0 4px rgba(124,92,255,.11); }
.ar-conversion #fileInput {
  min-height: 112px;
  padding: 40px 16px 16px;
  border-style:dashed;
  background:
    radial-gradient(circle at 50% 22%, rgba(124,92,255,.18), transparent 34%),
    #0d1018;
  cursor:pointer;
}
.ar-conversion .hint, .ar-conversion .daily, .ar-conversion .tech-note, .ar-conversion .order-meta { color:var(--ar-muted); }
.ar-conversion .upload-preview, .ar-conversion .result-preview {
  border:1px solid var(--ar-line);
  border-radius:18px;
  background:linear-gradient(45deg,#0d1018 25%,#121622 25% 50%,#0d1018 50% 75%,#121622 75%);
  background-size:20px 20px;
}
.ar-conversion .check {
  padding: 12px 14px;
  border:1px solid var(--ar-line);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#d2d7e1;
}
.ar-conversion .check input { width:18px; height:18px; accent-color:var(--ar-accent); }
.ar-conversion .price-summary, .ar-conversion .legal-summary {
  border:1px solid var(--ar-line);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  color:var(--ar-muted);
}
.ar-conversion .price-summary strong { color:var(--ar-text); font-size:26px; letter-spacing:-.03em; }
.ar-conversion .btn {
  min-height:44px;
  border-radius:13px;
  padding:0 16px;
  transition:transform .15s ease, filter .15s ease, border-color .15s ease;
}
.ar-conversion .btn:hover:not(:disabled) { transform:translateY(-1px); filter:brightness(1.08); }
.ar-conversion .btn-primary {
  color:#fff;
  background:linear-gradient(135deg,var(--ar-accent),#5f82ff);
  box-shadow:0 14px 30px rgba(99,92,255,.28);
}
.ar-conversion .submit { min-height:58px; border-radius:16px; font-size:15px; }
.ar-conversion .btn-outline { background:rgba(255,255,255,.045); border-color:var(--ar-line); color:var(--ar-text); }
.ar-conversion .orders { grid-template-columns: repeat(2,minmax(0,1fr)); gap:14px; }
.ar-conversion .order {
  padding:18px;
  border:1px solid var(--ar-line);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.ar-conversion .tag { padding:6px 9px; background:rgba(255,255,255,.06); color:#c9cfda; }
.ar-conversion .tag.ok { background:rgba(66,211,155,.12);color:#87e8bf; }
.ar-conversion .tag.wait { background:rgba(255,188,92,.12);color:#ffd18d; }
.ar-conversion .tag.action { background:rgba(55,213,255,.12);color:#8be8ff; }
.ar-conversion .tag.bad { background:rgba(255,107,125,.12);color:#ff9daa; }
.ar-conversion .msg.info { background:rgba(55,213,255,.08); color:#9deaff; }
.ar-conversion .msg.ok { background:rgba(66,211,155,.08); color:#8fe9c2; }
.ar-conversion .msg.error { background:rgba(255,107,125,.08); color:#ff9daa; }
.ar-conversion .login-box { background:rgba(255,188,92,.08);border-color:rgba(255,188,92,.22);color:#f0d5a4; }
.ar-conversion a { color:#88e8ff; }

/* Full-screen camera HUD */
.ar-camera-page { background:#020307; font-family:var(--ar-font); }
.ar-camera-page #shade {
  background:
    radial-gradient(circle at 50% 48%, transparent 0 28%, rgba(0,0,0,.08) 47%, rgba(0,0,0,.42) 100%),
    linear-gradient(to bottom, rgba(3,5,10,.72), transparent 22%, transparent 62%, rgba(3,5,10,.74));
}
.ar-camera-page .topbar { padding:calc(var(--safe-top) + 14px) 16px 8px; }
.ar-camera-page .pill,.ar-camera-page .back {
  min-height:40px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(9,12,19,.64);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  backdrop-filter:blur(18px) saturate(1.2);
}
.ar-camera-page .pill { display:flex;align-items:center;gap:7px; }
.ar-camera-page .pill::before { content:"";width:7px;height:7px;border-radius:50%;background:var(--ar-success);box-shadow:0 0 13px rgba(66,211,155,.8); }
.ar-camera-page #crosshair { width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:50%;opacity:.9; }
.ar-camera-page #crosshair::before { width:16px;left:15px;top:22px;background:rgba(255,255,255,.75); }
.ar-camera-page #crosshair::after { height:16px;left:22px;top:15px;background:rgba(255,255,255,.75); }
.ar-camera-page .bottom { padding:10px 14px calc(var(--safe-bottom) + 14px); }
.ar-camera-page #uiToggle { min-height:40px;padding:0 14px;background:rgba(11,14,22,.74);backdrop-filter:blur(18px); }
.ar-camera-page .card {
  padding:15px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(10,13,20,.72);
  box-shadow:0 22px 55px rgba(0,0,0,.28);
  backdrop-filter:blur(22px) saturate(1.15);
}
.ar-camera-page .row + .row { margin-top:12px; }
.ar-camera-page .row label { color:#dce2ec; font-size:11px; }
.ar-camera-page .geo-grid input { min-height:40px;border-radius:12px;border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.26); }
.ar-camera-page input[type="range"] { accent-color:var(--ar-accent-2); }
.ar-camera-page .check input { accent-color:var(--ar-accent-2); }
.ar-camera-page button { border-radius:14px; }
.ar-camera-page .primary { background:linear-gradient(135deg,var(--ar-accent),#517aff); box-shadow:0 12px 30px rgba(91,92,255,.28); }
.ar-camera-page .secondary { background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.11); }
.ar-camera-page .buttons { gap:10px; }
.ar-camera-page .buttons button { min-height:54px; }
.ar-camera-page #startScreen {
  padding:24px;
  background:
    radial-gradient(circle at 50% 38%, rgba(124,92,255,.26), transparent 32%),
    radial-gradient(circle at 50% 38%, rgba(55,213,255,.10), transparent 51%),
    linear-gradient(180deg,#090b12,#030408 72%);
}
.ar-camera-page #startScreen::before {
  content:"";
  position:absolute;
  width:min(66vw,360px);
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  background:
    radial-gradient(circle,transparent 0 40%,rgba(124,92,255,.12) 40.5% 41%,transparent 41.5% 62%,rgba(55,213,255,.11) 62.5% 63%,transparent 63.5%);
  animation:arOrbit 28s linear infinite;
}
.ar-camera-page .start-card {
  position:relative;
  width:min(500px,100%);
  padding:30px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:rgba(11,14,22,.76);
  box-shadow:0 30px 90px rgba(0,0,0,.44);
  backdrop-filter:blur(24px);
}
.ar-camera-page .start-card::before { content:"SPATIAL CAMERA";display:block;margin-bottom:14px;color:#7fe4ff;font-size:9px;font-weight:900;letter-spacing:.24em; }
.ar-camera-page .start-card h1 { font-size:clamp(28px,7vw,40px);line-height:1.05;letter-spacing:-.04em; }
.ar-camera-page .start-card p { font-size:13px;line-height:1.8; }
.ar-camera-page .start-card button { min-height:54px; }

/* Model showroom */
.ar-model-page { background:radial-gradient(900px 700px at 70% 18%,rgba(124,92,255,.18),transparent 62%),#070910; }
.ar-model-page .wrap { max-width:1180px;min-height:100dvh;padding:18px 22px 32px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr);grid-template-rows:auto 1fr;gap:18px 24px; }
.ar-model-page .top { grid-column:1/-1;margin:0;min-height:48px; }
.ar-model-page .back { display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border:1px solid var(--ar-line);border-radius:999px;background:rgba(255,255,255,.04); }
.ar-model-page .badge { border-color:var(--ar-line);background:rgba(55,213,255,.07);color:#85e8ff; }
.ar-model-page .viewer { min-height:0;border:1px solid var(--ar-line);border-radius:28px;background:#0c0f18;box-shadow:var(--ar-shadow); }
.ar-model-page model-viewer { height:calc(100dvh - 104px);min-height:560px;background:radial-gradient(circle at 50% 38%,#2a2845 0,#151725 36%,#090b12 72%); }
.ar-model-page .ar-button { min-height:54px;padding:0 22px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,var(--ar-accent),#527eff);box-shadow:0 14px 35px rgba(80,82,255,.36); }
.ar-model-page .info { align-self:center;padding:30px 0; }
.ar-model-page .info::before { content:"MODEL READY";display:block;margin-bottom:14px;color:#75e6ff;font-size:10px;font-weight:900;letter-spacing:.22em; }
.ar-model-page .info h1 { font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.055em; }
.ar-model-page .info p { color:#aab2c2;font-size:14px;line-height:1.8; }
.ar-model-page .status { margin-top:18px!important;padding:12px 14px;border:1px solid rgba(66,211,155,.18);border-radius:13px;background:rgba(66,211,155,.07);color:#92eac6!important; }
.ar-model-page .fallback { min-height:44px;align-items:center;margin-right:7px;border-color:var(--ar-line);border-radius:13px;background:rgba(255,255,255,.055); }

/* Native AR install / capability page */
.ar-native-page .wrap { position:relative;z-index:2;max-width:920px;padding:80px 22px; }
.ar-native-page .card { position:relative;overflow:hidden;padding:56px;border:1px solid var(--ar-line);border-radius:32px;background:linear-gradient(145deg,rgba(18,21,32,.94),rgba(10,12,20,.90));box-shadow:var(--ar-shadow); }
.ar-native-page .card::before { content:"GEO\A AR";white-space:pre;position:absolute;right:5%;top:8%;font-weight:900;font-size:clamp(64px,14vw,132px);line-height:.78;letter-spacing:-.08em;color:rgba(255,255,255,.028); }
.ar-native-page h1 { max-width:620px;font-size:clamp(36px,6vw,62px);line-height:1.02;letter-spacing:-.055em; }
.ar-native-page h1::before { content:"ANDROID · ARCORE · VPS";display:block;margin-bottom:16px;color:#79e6ff;font-size:10px;letter-spacing:.22em; }
.ar-native-page p { max-width:640px;color:#adb5c4;font-size:14px;line-height:1.9; }
.ar-native-page .btn { display:inline-flex;align-items:center;min-height:48px;padding:0 17px;border-radius:14px;background:linear-gradient(135deg,var(--ar-accent),#547fff);box-shadow:0 12px 28px rgba(90,91,255,.25); }
.ar-native-page .btn.sub { background:rgba(255,255,255,.055);border:1px solid var(--ar-line);box-shadow:none;color:#d8dde7; }

/* Legal document */
.ar-terms-page .container { position:relative;z-index:2;max-width:940px;padding:72px 28px 110px;color:var(--ar-text); }
.ar-terms-page .container > h1 { margin-top:28px;font-family:var(--ar-font);font-size:clamp(38px,6vw,68px);line-height:1;letter-spacing:-.055em;color:var(--ar-text); }
.ar-terms-page .container > h1::before { content:"AR SERVICE LEGAL";display:block;margin-bottom:15px;color:#78e7ff;font-size:10px;letter-spacing:.24em; }
.ar-terms-page .updated { color:var(--ar-muted);font-size:11px; }
.ar-terms-page .lead { margin:32px 0;padding:24px;border:1px solid var(--ar-line);border-radius:20px;background:rgba(255,255,255,.035);color:#cbd1db;line-height:1.95; }
.ar-terms-page section,.ar-terms-page .important { border-color:var(--ar-line);background:rgba(255,255,255,.035); }
.ar-terms-page h2 { margin:54px 0 16px;padding:0 0 12px;border-bottom:1px solid var(--ar-line);color:#f3f5f8;font-size:21px;letter-spacing:-.02em; }
.ar-terms-page p,.ar-terms-page li { color:#c4cad5;font-size:13px;line-height:2; }
.ar-terms-page a { color:#76e4ff; }
.ar-terms-page code { padding:2px 6px;border:1px solid var(--ar-line);border-radius:6px;background:rgba(255,255,255,.05);color:#d9d0ff; }
.ar-terms-page .important { border-left:3px solid var(--ar-accent); }
.ar-terms-page #mainNav { display:none; }

/* Admin spatial ops */
.ar-admin-page .wrap { position:relative;z-index:2;max-width:1280px;padding:48px 22px 100px; }
.ar-admin-page .hero h1 { color:var(--ar-text);font-size:clamp(36px,5vw,58px);letter-spacing:-.055em; }
.ar-admin-page .hero h1::before { content:"SPATIAL OPS";display:block;margin-bottom:11px;color:#78e7ff;font-size:10px;letter-spacing:.24em; }
.ar-admin-page .hero p { color:var(--ar-muted);font-size:13px; }
.ar-admin-page .toolbar { position:sticky;top:10px;z-index:20;margin:24px 0 18px;padding:10px;border:1px solid var(--ar-line);border-radius:16px;background:rgba(10,13,20,.82);backdrop-filter:blur(22px);box-shadow:0 14px 40px rgba(0,0,0,.2); }
.ar-admin-page .toolbar select { min-height:40px;border-color:var(--ar-line);border-radius:11px;background:#0d1018;color:var(--ar-text); }
.ar-admin-page .btn { min-height:40px;border-radius:11px; }
.ar-admin-page .card { padding:20px;border:1px solid var(--ar-line);border-radius:20px;background:rgba(16,19,29,.82);color:var(--ar-text);box-shadow:0 18px 55px rgba(0,0,0,.18); }
.ar-admin-page .title { font-size:15px; }
.ar-admin-page .meta { color:var(--ar-muted); }
.ar-admin-page .diagnostic { border-color:rgba(255,107,125,.18);background:rgba(255,107,125,.055);color:#ffc1c9; }
.ar-admin-page .image-box { border-color:var(--ar-line);border-radius:16px;background:#0b0e15; }
.ar-admin-page .image-box img { border-radius:11px;background:repeating-conic-gradient(#141824 0 25%,#0f121a 0 50%) 50%/18px 18px; }
.ar-admin-page .controls { border-color:var(--ar-line); }
.ar-admin-page .review-row input[type="text"] { min-height:42px;border-color:var(--ar-line);border-radius:11px;background:#0d1018;color:var(--ar-text); }
.ar-admin-page .msg { background:rgba(255,255,255,.04);color:var(--ar-muted); }
.ar-admin-page .tag { background:rgba(255,255,255,.06);color:#ccd2dd; }
.ar-admin-page .tag.warn { background:rgba(255,188,92,.12);color:#ffd18e; }
.ar-admin-page .tag.ok { background:rgba(66,211,155,.12);color:#8be9c1; }

@media (min-width:900px) {
  .ar-conversion .panel:first-of-type { width:calc(68% - 10px); }
  .ar-conversion .panel:nth-of-type(2) { width:calc(32% - 10px); margin-left:auto; margin-top:calc(-1 * (var(--orders-lift, 0px))); }
}
@media (max-width:820px) {
  .ar-sitebar { padding:14px 16px 0; }
  .ar-site-actions a:not(:last-child) { display:none; }
  .ar-conversion .wrap { padding:34px 16px 76px; }
  .ar-conversion .hero { min-height:0;padding:32px 0 300px; }
  .ar-conversion .hero::before { width:min(82vw,360px);right:50%;top:auto;bottom:-8px;transform:translateX(50%);animation:none; }
  .ar-conversion .hero::after { width:min(42vw,180px);right:50%;top:auto;bottom:70px;transform:translateX(50%); }
  .ar-conversion .hero h1 { font-size:clamp(42px,13vw,62px); }
  .ar-conversion .panel { padding:21px 17px;border-radius:20px; }
  .ar-conversion .orders { grid-template-columns:1fr; }
  .ar-model-page .wrap { display:block;padding:14px; }
  .ar-model-page .top { margin-bottom:12px; }
  .ar-model-page model-viewer { height:58dvh;min-height:430px; }
  .ar-model-page .info { padding:24px 4px 8px; }
  .ar-native-page .wrap { padding:46px 16px; }
  .ar-native-page .card { padding:32px 22px; }
  .ar-terms-page .container { padding:48px 18px 80px; }
}
@media (max-width:560px) {
  .ar-brand small { display:none; }
  .ar-conversion .hero p { font-size:14px; }
  .ar-conversion .panel h2 { font-size:19px; }
  .ar-camera-page .start-card { padding:24px 19px; }
  .ar-camera-page .card { max-height:56dvh;overflow:auto;overscroll-behavior:contain; }
  .ar-camera-page .row { flex-wrap:wrap; }
  .ar-camera-page .row input[type="range"] { flex-basis:calc(100% - 70px); }
  .ar-native-page h1 { font-size:38px; }
}
@media (prefers-reduced-motion: reduce) {
  .ar-conversion .hero::before,.ar-camera-page #startScreen::before { animation:none; }
  *,*::before,*::after { scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important; }
}
@media (min-width:900px) {
  .ar-conversion .wrap { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.82fr); gap:20px; align-items:start; }
  .ar-conversion .hero { grid-column:1/-1; }
  .ar-conversion .panel:first-of-type,
  .ar-conversion .panel:nth-of-type(2) { width:auto; margin:0; }
  .ar-conversion .panel:nth-of-type(2) { position:sticky; top:20px; }
  .ar-conversion .panel:nth-of-type(2) .orders { grid-template-columns:1fr; }
}

/* 2026-08-14 AR sales/readability pass
   Public-facing AR copy deliberately avoids tiny typography. 13pt and below is
   reserved only for secondary technical/debug information where unavoidable. */
.ar-studio-page {
  --ar-copy-size: 14pt;
  --ar-small-size: 13.5pt;
  --ar-ui-size: 13.5pt;
  --ar-readable-muted: #c4cad5;
}

/* Navigation: readable on dark glass regardless of viewport. */
.ar-brand { font-size: 14pt; }
.ar-brand small { color: #c3cada; font-size: 13.5pt; letter-spacing: .06em; }
.ar-site-actions a { color: #d1d7e2; font-size: 13.5pt; min-height: 46px; padding: 0 16px; }
.ar-site-actions a:hover { color: #fff; }
.ar-site-actions .ar-nav-primary {
  color: #fff;
  border-color: rgba(124,92,255,.55);
  background: linear-gradient(135deg, rgba(124,92,255,.95), rgba(77,112,255,.95));
}

/* Conversion/readability overrides. Existing inline styles are intentionally overridden here. */
.ar-conversion .hero h1::before { font-size: 13.5pt; color: #84e9ff; }
.ar-conversion .hero p,
.ar-conversion .hero-use,
.ar-conversion .notice,
.ar-conversion .field > label,
.ar-conversion .field-title,
.ar-conversion .hint,
.ar-conversion .daily,
.ar-conversion .tech-note,
.ar-conversion .order-meta,
.ar-conversion .check,
.ar-conversion .legal-summary,
.ar-conversion .login-box,
.ar-conversion .tag,
.ar-conversion .msg { font-size: var(--ar-small-size); }
.ar-conversion .hero p { color: #d5dae3; }
.ar-conversion .hero-use,
.ar-conversion .hint,
.ar-conversion .daily,
.ar-conversion .tech-note,
.ar-conversion .order-meta,
.ar-conversion .legal-summary { color: var(--ar-readable-muted); }
.ar-conversion .hero-benefit { font-size: 13.5pt; color: #edf0f5; }
.ar-conversion .field > label,
.ar-conversion .field-title { color: #f3f5f8; }
.ar-conversion .field select,
.ar-conversion .field input[type="file"] { font-size: var(--ar-ui-size); }
.ar-conversion .btn,
.ar-conversion .submit { font-size: 14pt; }
.ar-conversion .panel h2::before { font-size: 13.5pt; }
.ar-conversion .hero-price { font-size: 14pt; color: #b7f6dd; }
.ar-conversion .notice { color: #e4d6bc; }

/* Camera pages: controls must be legible over a moving camera feed. */
.ar-camera-page .pill,
.ar-camera-page .back,
.ar-camera-page .row,
.ar-camera-page .row label,
.ar-camera-page button,
.ar-camera-page input,
.ar-camera-page .note,
.ar-camera-page #status,
.ar-camera-page #occlusionText,
.ar-camera-page #altitudeText,
.ar-camera-page #captureStatus,
.ar-camera-page #errorText { font-size: 13.5pt; }
.ar-camera-page .row label,
.ar-camera-page .note { color: #f1f4f8; }
.ar-camera-page .start-card::before { font-size: 13.5pt; color: #91ecff; }
.ar-camera-page .start-card p { font-size: 14pt; color: #e0e5ed; }
.ar-camera-page .start-card button { font-size: 14pt; }

/* Model viewer / native / terms public pages. */
.ar-model-page .badge,
.ar-model-page .info::before,
.ar-model-page .info p,
.ar-model-page .status,
.ar-model-page .fallback,
.ar-model-page .ar-button { font-size: 13.5pt; }
.ar-model-page .info p { color: #d0d6e0; }
.ar-native-page h1::before { font-size: 13.5pt; color: #8cecff; }
.ar-native-page p,
.ar-native-page .capability-list span,
.ar-native-page .btn { font-size: 13.5pt !important; }
.ar-native-page p { color: #d0d6e0; }
.ar-terms-page .container > h1::before,
.ar-terms-page .updated,
.ar-terms-page p,
.ar-terms-page li,
.ar-terms-page code,
.ar-terms-page a.text-muted { font-size: 13.5pt; }
.ar-terms-page .updated { color: #c2c9d6; }
.ar-terms-page p,
.ar-terms-page li { color: #d2d7e0; }

/* --- Sales landing page -------------------------------------------------- */
.ar-sales-page { overflow-x: hidden; }
.ar-sales-page main { position: relative; z-index: 2; }
.sales-shell { width: min(1180px, calc(100% - 44px)); margin-inline: auto; }
.sales-kicker {
  color: #8deaff;
  font-size: 13.5pt;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.4;
}
.sales-hero {
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  align-items: center;
  gap: 54px;
  padding-block: 86px 92px;
}
.sales-hero-copy { position: relative; z-index: 2; }
.sales-hero h1 {
  max-width: 760px;
  margin: 18px 0 26px;
  font-size: clamp(50px, 7.2vw, 92px);
  line-height: .96;
  letter-spacing: -.065em;
  font-weight: 900;
}
.sales-lead {
  max-width: 720px;
  margin: 0;
  color: #f1f3f7;
  font-size: clamp(17pt, 2.15vw, 22pt);
  line-height: 1.65;
  font-weight: 650;
}
.sales-lead strong { color: #fff; }
.sales-sublead {
  max-width: 700px;
  margin: 18px 0 0;
  color: #cbd2de;
  font-size: 14pt;
  line-height: 1.85;
}
.sales-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sales-btn {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--ar-line-strong);
  border-radius: 16px;
  color: #fff;
  text-decoration: none;
  font-size: 14pt;
  font-weight: 900;
  line-height: 1.25;
  transition: transform .15s ease, filter .15s ease, border-color .15s ease;
}
.sales-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.sales-btn-primary {
  border-color: rgba(124,92,255,.58);
  background: linear-gradient(135deg, #7c5cff, #4b7cff);
  box-shadow: 0 18px 45px rgba(89,92,255,.31);
}
.sales-btn-secondary { background: rgba(255,255,255,.065); border-color: rgba(255,255,255,.18); color: #f4f6fa; }
.sales-proof { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.sales-proof span {
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: #e2e6ed;
  font-size: 13.5pt;
  font-weight: 750;
}
.sales-hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.sales-orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.13); }
.sales-orbit-a { width: 480px; height: 480px; background: radial-gradient(circle, transparent 0 39%, rgba(124,92,255,.15) 39.5% 40%, transparent 40.5% 66%, rgba(55,213,255,.13) 66.5% 67%, transparent 67.5%); animation: arOrbit 28s linear infinite; }
.sales-orbit-b { width: 360px; height: 360px; border-style: dashed; border-color: rgba(123,224,255,.24); animation: arOrbit 20s linear reverse infinite; }
.sales-card-visual {
  position: relative;
  width: min(330px, 72vw);
  aspect-ratio: .74;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 34px;
  background: linear-gradient(160deg, rgba(124,92,255,.25), rgba(55,213,255,.08) 48%, rgba(5,8,14,.82));
  box-shadow: 0 45px 100px rgba(0,0,0,.45), inset 0 0 70px rgba(124,92,255,.13);
  backdrop-filter: blur(12px);
  transform: rotate(3deg);
}
.sales-card-grid { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 28px 28px; }
.sales-card-subject { position: relative; font-size: 92pt; font-weight: 950; letter-spacing: -.08em; color: rgba(255,255,255,.95); text-shadow: 0 0 45px rgba(124,92,255,.35); }
.sales-card-caption { position: absolute; bottom: 24px; left: 24px; right: 24px; color: #dff8ff; font-size: 13.5pt; font-weight: 900; letter-spacing: .08em; }

.sales-section { padding-block: 92px; }
.sales-section + .sales-section { border-top: 1px solid rgba(255,255,255,.075); }
.sales-section-heading { max-width: 800px; margin-bottom: 42px; }
.sales-section h2,
.sales-final h2 {
  margin: 14px 0 18px;
  color: #fff;
  font-size: clamp(34px, 4.4vw, 58px);
  line-height: 1.08;
  letter-spacing: -.052em;
}
.sales-section-heading > p,
.sales-easy-copy > p,
.sales-price-main > p,
.sales-final > p {
  margin: 0;
  color: #cbd2dd;
  font-size: 14pt;
  line-height: 1.9;
}
.sales-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sales-value-card,
.sales-use-card,
.sales-type-card,
.sales-trust-grid article,
.sales-step-grid article,
.sales-compare-card {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(19,23,35,.85), rgba(10,13,21,.78));
  box-shadow: 0 22px 55px rgba(0,0,0,.18);
}
.sales-value-card { min-height: 280px; padding: 24px; }
.sales-index { color: #8ceaff; font-size: 13.5pt; font-weight: 900; letter-spacing: .08em; }
.sales-value-card h3,
.sales-use-card h3,
.sales-type-card h3,
.sales-trust-grid h3,
.sales-price-includes h3,
.sales-compare-card h3 { margin: 28px 0 12px; color: #fff; font-size: 18pt; line-height: 1.35; letter-spacing: -.025em; }
.sales-value-card p,
.sales-use-card p,
.sales-type-card p,
.sales-type-card li,
.sales-trust-grid p,
.sales-step-grid p,
.sales-compare-card p,
.sales-price-includes li,
.sales-faq p {
  color: #cbd2dd;
  font-size: 13.5pt;
  line-height: 1.85;
}
.sales-cta-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 30px 34px;
  border: 1px solid rgba(124,92,255,.32);
  border-radius: 24px;
  background: linear-gradient(110deg, rgba(124,92,255,.15), rgba(55,213,255,.07));
}
.sales-cta-band div { display: grid; gap: 6px; }
.sales-cta-band strong { color: #fff; font-size: 20pt; }
.sales-cta-band span { color: #d0d6df; font-size: 13.5pt; }
.sales-use-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sales-use-card { min-height: 330px; padding: 28px; }
.sales-use-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(124,92,255,.34); border-radius: 16px; background: rgba(124,92,255,.11); color: #fff; font-size: 22pt; }
.sales-use-card h3 { margin-top: 26px; }
.sales-use-card a { display: inline-block; margin-top: 14px; color: #8eeaff; font-size: 13.5pt; font-weight: 900; text-decoration: none; }
.sales-compare-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 20px; }
.sales-compare-card { padding: 30px; }
.sales-compare-card > span { color: #b9c1cf; font-size: 13.5pt; font-weight: 900; letter-spacing: .1em; }
.sales-compare-card.is-after { border-color: rgba(55,213,255,.28); background: linear-gradient(145deg, rgba(26,40,51,.85), rgba(10,15,24,.84)); }
.sales-compare-card.is-after > span { color: #88eaff; }
.sales-compare-card strong { display: block; margin-top: 22px; color: #fff; font-size: 16pt; line-height: 1.6; }
.sales-compare-arrow { display: grid; place-items: center; color: #82eaff; font-size: 34pt; font-weight: 900; }
.sales-easy { display: grid; grid-template-columns: 1.2fr .8fr; gap: 54px; align-items: center; }
.sales-easy-copy blockquote { margin: 30px 0; padding: 20px 24px; border-left: 4px solid #7c5cff; background: rgba(124,92,255,.08); color: #f5f6f9; font-size: 18pt; line-height: 1.65; }
.sales-easy-stack { display: grid; gap: 10px; }
.sales-easy-stack span { min-height: 62px; display: flex; align-items: center; padding: 0 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.04); color: #e7ebf1; font-size: 13.5pt; font-weight: 900; letter-spacing: .05em; }
.sales-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sales-step-grid article { padding: 28px; }
.sales-step-grid article > span { color: #89eaff; font-size: 13.5pt; font-weight: 900; }
.sales-step-grid h3 { margin: 22px 0 10px; font-size: 28pt; letter-spacing: -.05em; }
.sales-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sales-type-card { position: relative; padding: 28px; }
.sales-type-card.is-recommended { border-color: rgba(124,92,255,.46); box-shadow: 0 26px 70px rgba(79,72,207,.17); }
.sales-type-label { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: rgba(124,92,255,.13); color: #cfc6ff; font-size: 13.5pt; font-weight: 900; }
.sales-type-card ul { margin: 20px 0 26px; padding-left: 22px; }
.sales-type-card .sales-btn { width: 100%; }
.sales-price { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sales-price-main,
.sales-price-includes { padding: 34px; border: 1px solid rgba(255,255,255,.11); border-radius: 26px; background: rgba(15,18,28,.82); }
.sales-price-value { margin: 28px 0 10px; color: #fff; font-size: clamp(24pt, 3.7vw, 38pt); font-weight: 950; letter-spacing: -.04em; }
.sales-price-note { color: #bfeeda !important; font-size: 13.5pt !important; }
.sales-price-includes h3 { margin-top: 0; }
.sales-price-includes ul { padding-left: 22px; }
.sales-refund { display: grid; gap: 7px; margin-top: 26px; padding: 20px; border: 1px solid rgba(66,211,155,.25); border-radius: 18px; background: rgba(66,211,155,.08); }
.sales-refund strong { color: #baf4db; font-size: 14pt; }
.sales-refund span { color: #e7f8f0; font-size: 13.5pt; }
.sales-trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.sales-trust-grid article { padding: 28px; }
.sales-trust-grid h3 { margin-top: 0; }
.sales-faq { max-width: 930px; }
.sales-faq details { border-top: 1px solid rgba(255,255,255,.12); }
.sales-faq details:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
.sales-faq summary { cursor: pointer; list-style: none; padding: 24px 48px 24px 0; color: #f6f7fa; font-size: 15pt; font-weight: 850; line-height: 1.5; position: relative; }
.sales-faq summary::-webkit-details-marker { display: none; }
.sales-faq summary::after { content: "+"; position: absolute; right: 6px; top: 20px; color: #8deaff; font-size: 22pt; font-weight: 500; }
.sales-faq details[open] summary::after { content: "−"; }
.sales-faq p { margin: -4px 0 24px; padding-right: 50px; }
.sales-final { padding: 96px 0 110px; text-align: center; }
.sales-final .sales-kicker { display: block; }
.sales-final p { max-width: 780px; margin-inline: auto; }
.sales-final > strong { display: block; margin-top: 24px; color: #fff; font-size: clamp(18pt, 2.8vw, 26pt); line-height: 1.5; }
.sales-final .sales-actions { justify-content: center; }
.sales-final-note { margin-top: 28px !important; color: #bfc6d1 !important; font-size: 13.5pt !important; }
.sales-footer { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; padding: 28px 0 46px; border-top: 1px solid rgba(255,255,255,.09); }
.sales-footer a { color: #ccd2dc; font-size: 13.5pt; text-decoration: none; }

@media (max-width: 900px) {
  .sales-hero { min-height: auto; grid-template-columns: 1fr; gap: 18px; padding-block: 72px 82px; }
  .sales-hero-copy { order: 1; }
  .sales-hero-visual { order: 2; min-height: 390px; }
  .sales-orbit-a { width: min(470px, 90vw); height: min(470px, 90vw); }
  .sales-orbit-b { width: min(350px, 68vw); height: min(350px, 68vw); }
  .sales-value-grid { grid-template-columns: repeat(2, 1fr); }
  .sales-type-grid { grid-template-columns: 1fr; }
  .sales-easy { grid-template-columns: 1fr; }
  .sales-price { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .ar-sitebar { padding-inline: 16px; align-items: flex-start; }
  .ar-brand { max-width: 155px; line-height: 1.15; }
  .ar-brand small { margin-top: 4px; }
  .ar-site-actions { gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
  .ar-site-actions a { min-height: 42px; padding: 0 11px; }
  .sales-shell { width: min(100% - 32px, 1180px); }
  .sales-hero { padding-block: 58px 66px; }
  .sales-hero h1 { font-size: clamp(46px, 15vw, 68px); }
  .sales-lead { font-size: 16pt; }
  .sales-sublead { font-size: 13.5pt; }
  .sales-actions { display: grid; grid-template-columns: 1fr; }
  .sales-btn { width: 100%; }
  .sales-hero-visual { min-height: 330px; }
  .sales-card-visual { width: min(270px, 68vw); }
  .sales-card-subject { font-size: 68pt; }
  .sales-section { padding-block: 70px; }
  .sales-section-heading { margin-bottom: 30px; }
  .sales-value-grid,
  .sales-use-grid,
  .sales-step-grid,
  .sales-trust-grid { grid-template-columns: 1fr; }
  .sales-value-card { min-height: 0; }
  .sales-cta-band { align-items: stretch; flex-direction: column; padding: 26px 22px; }
  .sales-compare-grid { grid-template-columns: 1fr; }
  .sales-compare-arrow { transform: rotate(90deg); min-height: 48px; }
  .sales-price-main,
  .sales-price-includes { padding: 26px 22px; }
  .sales-faq summary { padding-right: 42px; }
  .sales-faq p { padding-right: 0; }
  .sales-final { padding-block: 76px 90px; }
}

@media (prefers-reduced-motion: reduce) {
  .sales-orbit, .ar-conversion .hero::before, .ar-camera-page #startScreen::before { animation: none !important; }
  .sales-btn { transition: none; }
}

/* Fine-grained readability for operational AR details. */
.ar-conversion .empty,
.ar-conversion .legal-links,
.ar-conversion .order-actions .btn { font-size: 13.5pt; }
.ar-conversion .empty { color: #c8cfda; }
.ar-camera-page #geoText,
.ar-camera-page #targetText,
.ar-camera-page #distanceText,
.ar-camera-page #heightText,
.ar-camera-page .mini,
.ar-camera-page #placementLockText { font-size: 13.5pt; color: #eef2f7; }
.ar-camera-page #geoText,
.ar-camera-page #targetText { line-height: 1.65; }

/* ============================================================
   AR typography normalization
   Target:
   - body / explanatory text: about 15px
   - headings: about 18px+
   - buttons / controls: about 15px
   Applies to ar.html and ar_conversion.html only.
   ============================================================ */

/* Shared AR navigation */
.ar-brand {
  font-size: 18px;
}

.ar-brand small,
.ar-site-actions a {
  font-size: 15px;
}

/* ------------------------------------------------------------
   ar.html / sales landing
   ------------------------------------------------------------ */

.sales-lead,
.sales-sublead,
.sales-card-caption,
.sales-compare-card > span,
.sales-compare-card p,
.sales-use-card p,
.sales-use-card a,
.sales-type-card p,
.sales-type-card li,
.sales-price-note,
.sales-refund span,
.sales-faq p,
.sales-final-note,
.sales-footer a {
  font-size: 15px !important;
  line-height: 1.8;
}

.sales-index,
.sales-type-label,
.sales-step-grid article > span {
  font-size: 14px !important;
}

.sales-compare-card h3,
.sales-use-card h3,
.sales-type-card h3 {
  font-size: 18px !important;
  line-height: 1.5;
}

.sales-step-grid h3 {
  font-size: 20px !important;
}

.sales-cta-band strong,
.sales-refund strong {
  font-size: 18px !important;
}

.sales-cta-band span {
  font-size: 15px !important;
}

.sales-faq summary {
  font-size: 16px !important;
}

.sales-easy-copy blockquote {
  font-size: 17px !important;
}

.sales-easy-stack span {
  font-size: 15px !important;
}

/* ------------------------------------------------------------
   ar_conversion.html
   ------------------------------------------------------------ */

.ar-conversion .hero p,
.ar-conversion .hero-use,
.ar-conversion .notice,
.ar-conversion .hint,
.ar-conversion .check,
.ar-conversion .login-box,
.ar-conversion .daily,
.ar-conversion .order-meta,
.ar-conversion .empty,
.ar-conversion .tech-note,
.ar-conversion .legal-summary,
.ar-conversion .msg {
  font-size: 15px !important;
  line-height: 1.8;
}

.ar-conversion .field > label,
.ar-conversion .field-title,
.ar-conversion .field select,
.ar-conversion .field input[type="file"],
.ar-conversion .btn,
.ar-conversion .submit,
.ar-conversion .order-actions .btn {
  font-size: 15px !important;
}

.ar-conversion .panel h2 {
  font-size: 18px !important;
}

.ar-conversion .hero-benefit,
.ar-conversion .hero-price {
  font-size: 15px !important;
}

.ar-conversion .tag {
  font-size: 13px !important;
}

.ar-conversion .price-summary strong {
  font-size: 20px !important;
}

/* Mobile */
@media (max-width: 760px) {
  .sales-lead,
  .sales-sublead,
  .sales-use-card p,
  .sales-type-card p,
  .sales-type-card li,
  .ar-conversion .hero p,
  .ar-conversion .hero-use,
  .ar-conversion .notice,
  .ar-conversion .hint,
  .ar-conversion .check,
  .ar-conversion .order-meta,
  .ar-conversion .legal-summary {
    font-size: 15px !important;
  }

  .sales-use-card h3,
  .sales-type-card h3,
  .ar-conversion .panel h2 {
    font-size: 18px !important;
  }
}


/* ============================================================
   FINAL AR typography normalization
   Body text: 15px
   Section/card headings: 18px
   ============================================================ */

/* ----- ar.html ----- */

.ar-sales-page .sales-lead,
.ar-sales-page .sales-sublead,
.ar-sales-page .sales-value-card p,
.ar-sales-page .sales-use-card p,
.ar-sales-page .sales-compare-card p,
.ar-sales-page .sales-easy-copy p,
.ar-sales-page .sales-type-card p,
.ar-sales-page .sales-type-card li,
.ar-sales-page .sales-price-main p,
.ar-sales-page .sales-price-includes p,
.ar-sales-page .sales-trust-grid p,
.ar-sales-page .sales-faq p,
.ar-sales-page .sales-final-note,
.ar-sales-page .sales-footer,
.ar-sales-page .sales-footer a,
.ar-sales-page .sales-cta-band span,
.ar-sales-page .sales-refund span {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.ar-sales-page .sales-value-card h3,
.ar-sales-page .sales-use-card h3,
.ar-sales-page .sales-compare-card h3,
.ar-sales-page .sales-type-card h3,
.ar-sales-page .sales-trust-grid h3 {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

.ar-sales-page .sales-section-heading h2 {
  font-size: 24px !important;
  line-height: 1.4 !important;
}

.ar-sales-page .sales-btn {
  font-size: 15px !important;
}

.ar-sales-page .sales-kicker,
.ar-sales-page .sales-index,
.ar-sales-page .sales-type-label,
.ar-sales-page .sales-step-grid article > span {
  font-size: 13px !important;
}

.ar-sales-page .sales-faq summary {
  font-size: 16px !important;
}

.ar-sales-page .sales-easy-stack span {
  font-size: 15px !important;
}

.ar-sales-page .sales-easy-copy blockquote {
  font-size: 17px !important;
}

/* ----- ar_conversion.html ----- */

.ar-conversion .hero p,
.ar-conversion .hero-use,
.ar-conversion .notice,
.ar-conversion .hint,
.ar-conversion .check,
.ar-conversion .login-box,
.ar-conversion .daily,
.ar-conversion .order-meta,
.ar-conversion .empty,
.ar-conversion .tech-note,
.ar-conversion .legal-summary,
.ar-conversion .msg,
.ar-conversion .field,
.ar-conversion .price-summary {
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.ar-conversion .field > label,
.ar-conversion .field-title,
.ar-conversion .field select,
.ar-conversion .field input[type="file"],
.ar-conversion .btn,
.ar-conversion .submit,
.ar-conversion .order-actions .btn {
  font-size: 15px !important;
}

.ar-conversion .panel h2 {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

.ar-conversion .hero-benefit,
.ar-conversion .hero-price {
  font-size: 15px !important;
}

.ar-conversion .tag {
  font-size: 13px !important;
}

/* mobile */
@media (max-width: 760px) {
  .ar-sales-page .sales-value-card p,
  .ar-sales-page .sales-use-card p,
  .ar-sales-page .sales-compare-card p,
  .ar-sales-page .sales-type-card p,
  .ar-sales-page .sales-type-card li,
  .ar-conversion .hero p,
  .ar-conversion .hero-use,
  .ar-conversion .hint,
  .ar-conversion .check {
    font-size: 15px !important;
  }

  .ar-sales-page .sales-value-card h3,
  .ar-sales-page .sales-use-card h3,
  .ar-sales-page .sales-compare-card h3,
  .ar-sales-page .sales-type-card h3,
  .ar-conversion .panel h2 {
    font-size: 18px !important;
  }
}


/* AR conversion purchase page: remove decorative Spatial Studio visual */
.ar-conversion .hero::before,
.ar-conversion .hero::after {
  content: none !important;
  display: none !important;
}

/* AR conversion purchase page: compact hero after removing artwork */
.ar-conversion .hero {
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.ar-conversion .wrap {
  padding-top: 28px !important;
}

/* =========================================================
   AR conversion purchase page — light / memory-oriented theme
   Scoped only to public/ar_conversion.html
   ========================================================= */

body.ar-conversion {
  --ar-bg: #fafaf8;
  --ar-surface: #ffffff;
  --ar-text: #171717;
  --ar-muted: #626262;
  --ar-line: rgba(17, 17, 17, .12);
  --ar-line-strong: rgba(17, 17, 17, .22);

  background: #fafaf8 !important;
  color: #222222 !important;
}

/* Dark-theme decorative grid is unnecessary on the sales page */
body.ar-conversion.ar-studio-page::before {
  display: none !important;
  content: none !important;
}

/* Header */
body.ar-conversion .ar-sitebar {
  background: rgba(255, 255, 255, .94) !important;
  border-color: rgba(17, 17, 17, .10) !important;
  box-shadow: 0 1px 12px rgba(0, 0, 0, .035) !important;
  backdrop-filter: blur(18px);
}

body.ar-conversion .ar-brand,
body.ar-conversion .ar-site-actions a {
  color: #222222 !important;
}

body.ar-conversion .ar-brand small {
  color: #666666 !important;
}

body.ar-conversion .ar-site-actions a {
  border-color: rgba(17, 17, 17, .12) !important;
  background: #ffffff !important;
}

body.ar-conversion .ar-site-actions a:hover {
  color: #111111 !important;
  border-color: rgba(17, 17, 17, .22) !important;
  background: #f4f4f2 !important;
}

/* Main purchase area */
body.ar-conversion .wrap {
  background: transparent !important;
}

body.ar-conversion .hero {
  color: #222222 !important;
}

body.ar-conversion .hero h1,
body.ar-conversion .panel h2,
body.ar-conversion .field-title,
body.ar-conversion .field > label {
  color: #111111 !important;
}

body.ar-conversion .hero-price {
  color: #222222 !important;
}

/* Cards */
body.ar-conversion .panel,
body.ar-conversion .order,
body.ar-conversion .price-summary,
body.ar-conversion .legal-summary {
  background: #ffffff !important;
  color: #222222 !important;
  border-color: rgba(17, 17, 17, .11) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .045) !important;
}

/* Form controls */
body.ar-conversion select,
body.ar-conversion input[type="file"] {
  background: #ffffff !important;
  color: #222222 !important;
  border-color: rgba(17, 17, 17, .18) !important;
}

body.ar-conversion select:focus,
body.ar-conversion input[type="file"]:focus {
  border-color: rgba(37, 99, 235, .55) !important;
  outline: 3px solid rgba(37, 99, 235, .12) !important;
}

/* Normal text: deliberately dark for readability */
body.ar-conversion p,
body.ar-conversion .check,
body.ar-conversion .order-meta {
  color: #2b2b2b !important;
}

/* Secondary information only */
body.ar-conversion .hint,
body.ar-conversion .tech-note,
body.ar-conversion .daily,
body.ar-conversion .empty,
body.ar-conversion .legal-summary {
  color: #626262 !important;
}

/* Links */
body.ar-conversion a:not(.btn) {
  color: #2459a9;
}

/* Buttons */
body.ar-conversion .btn-outline {
  background: #ffffff !important;
  color: #222222 !important;
  border-color: rgba(17, 17, 17, .18) !important;
}

body.ar-conversion .btn-outline:hover {
  background: #f4f4f2 !important;
}

/* Preview */
body.ar-conversion .upload-preview,
body.ar-conversion .result-preview {
  background: #f5f5f3 !important;
  border-color: rgba(17, 17, 17, .10) !important;
}

/* Keep the purchase page compact after removing Spatial artwork */
body.ar-conversion .hero {
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.ar-conversion .wrap {
  padding-top: 28px !important;
}

/* No AR SPATIAL STUDIO ornament on purchase page */
body.ar-conversion .hero::before,
body.ar-conversion .hero::after {
  content: none !important;
  display: none !important;
}


/* AR purchase page: readable login notice on light background */
body.ar-conversion .login-box {
  background: #f7f9fc !important;
  border-color: rgba(17,17,17,.12) !important;
  color: #222222 !important;
}

body.ar-conversion .login-box a {
  color: #2459a9 !important;
  font-weight: 800;
}
