:root {
  --black: #09090b;
  --black-soft: #141418;
  --white: #ffffff;
  --paper: #f7f7f8;
  --paper-deep: #efeff1;
  --text: #17171a;
  --muted: #6f7077;
  --line: rgba(18, 18, 22, 0.12);
  --accent: #aa214d;
  --accent-dark: #7b1636;
  --accent-light: #f5e7ec;
  --green: #08b94e;
  --radius-lg: 38px;
  --radius-md: 24px;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.14);
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  background: rgba(9, 9, 11, 0.72);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.header-inner {
  width: min(calc(100% - 40px), var(--max));
  height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand { display: inline-flex; align-items: center; gap: 12px; color: white; }
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 20px;
  background: linear-gradient(145deg, #be2a5a, #65112d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 10px 28px rgba(170,33,77,.32);
}
.brand-copy { display: grid; line-height: 1.05; }
.brand-copy strong { font-size: 13px; letter-spacing: .08em; }
.brand-copy small { margin-top: 5px; color: rgba(255,255,255,.56); font-size: 8px; letter-spacing: .22em; }
.global-nav { display: flex; align-items: center; gap: 28px; color: rgba(255,255,255,.78); font-size: 13px; }
.global-nav a { transition: color .25s ease, transform .25s ease; }
.global-nav a:hover { color: white; transform: translateY(-1px); }
.nav-cta { padding: 10px 18px; color: white !important; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; }
.menu-button { display: none; background: none; border: 0; padding: 8px; }
.menu-button span { display: block; width: 23px; height: 2px; margin: 5px; background: white; transition: .25s ease; }

.hero {
  position: relative;
  min-height: 100svh;
  padding: 148px 5vw 84px;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 74% 28%, rgba(170,33,77,.20), transparent 32%),
    linear-gradient(145deg, #050507 0%, #111116 58%, #09090c 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 200px;
  background: linear-gradient(transparent, rgba(0,0,0,.22));
  pointer-events: none;
}
.hero-glow { position: absolute; border-radius: 999px; filter: blur(20px); opacity: .8; }
.hero-glow-one { width: 420px; height: 420px; right: -110px; top: 80px; background: rgba(167, 30, 75, .16); }
.hero-glow-two { width: 300px; height: 300px; left: 25%; bottom: -170px; background: rgba(85, 72, 210, .10); }
.hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, var(--max));
  margin: 0 auto;
}
.eyebrow { margin: 0 0 20px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.hero .eyebrow { color: #e87b9e; }
.hero h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(52px, 7vw, 102px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 780;
}
.hero h1 span { color: transparent; background: linear-gradient(90deg, #ffffff 15%, #d7d7df 60%, #aeb0ba); -webkit-background-clip: text; background-clip: text; }
.hero-lead { margin: 36px 0 0; color: rgba(255,255,255,.72); font-size: clamp(18px, 2vw, 25px); line-height: 1.75; }
.hero-proof { margin: 20px 0 0; color: rgba(255,255,255,.55); font-size: 14px; }
.hero-proof strong { color: #fff; font-size: 28px; margin-right: 5px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { min-height: 52px; padding: 0 25px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-weight: 700; font-size: 14px; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); box-shadow: 0 14px 34px rgba(170,33,77,.34); }
.button-secondary { color: white; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); }

.hero-stage {
  position: relative;
  z-index: 3;
  width: min(100%, 980px);
  height: 460px;
  margin: -40px 3vw 0 auto;
}
.desktop-device { position: absolute; right: 6%; top: 0; width: 72%; }
.desktop-screen { position: relative; padding: 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: linear-gradient(145deg, #2b2c33, #101116); box-shadow: 0 40px 100px rgba(0,0,0,.52); }
.desktop-screen::before { content: ""; display: block; padding-top: 57%; }
.desktop-screen > * { position: absolute; }
.device-camera { position: absolute; z-index: 3; left: 50%; top: 6px; width: 6px; height: 6px; border-radius: 50%; background: #090a0d; transform: translateX(-50%); }
.desktop-topbar { inset: 12px 12px auto; height: 42px; display: flex; align-items: center; gap: 7px; padding: 0 14px; border-radius: 14px 14px 0 0; background: #18191e; }
.desktop-topbar span { width: 8px; height: 8px; border-radius: 50%; background: #555761; }
.desktop-topbar b { margin-left: auto; color: #c9cad0; font-size: 10px; font-weight: 600; }
.dashboard-grid { inset: 54px 12px 12px; padding: 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; border-radius: 0 0 14px 14px; background: #f4f4f6; }
.dashboard-grid article { padding: 14px; color: #17171b; border-radius: 12px; background: white; box-shadow: 0 7px 20px rgba(16,16,22,.06); }
.dashboard-grid article small { display: block; color: #888a92; font-size: 9px; }
.dashboard-grid article strong { font-size: 27px; }
.dashboard-grid article span { color: #8b8d94; font-size: 9px; }
.dashboard-list { grid-column: 1 / -1; padding: 10px; border-radius: 12px; background: white; }
.dashboard-list div { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; min-height: 30px; padding: 0 8px; border-bottom: 1px solid #eeeef1; color: #4f5057; font-size: 8px; }
.dashboard-list i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.dashboard-list b { color: var(--accent); }
.desktop-stand { width: 26%; height: 66px; margin: 0 auto; background: linear-gradient(90deg, #25262c, #85868c 48%, #202126); clip-path: polygon(33% 0, 67% 0, 75% 78%, 100% 100%, 0 100%, 25% 78%); }

.phone-device { position: absolute; z-index: 4; left: 7%; bottom: 7px; width: 22%; min-width: 168px; padding: 8px; border-radius: 34px; border: 1px solid rgba(255,255,255,.18); background: linear-gradient(145deg, #33343a, #101116); box-shadow: 0 34px 76px rgba(0,0,0,.52); transform: rotate(-4deg); }
.phone-screen { min-height: 320px; padding: 20px 12px 14px; overflow: hidden; color: #151519; border-radius: 27px; background: #f7f7f8; }
.phone-speaker { position: absolute; z-index: 5; left: 50%; top: 12px; width: 34%; height: 5px; border-radius: 5px; background: #08090c; transform: translateX(-50%); }
.phone-header { display: flex; align-items: end; justify-content: space-between; }
.phone-header span { font-size: 12px; font-weight: 900; }
.phone-header small { color: #97989e; font-size: 5px; }
.phone-hero-card { margin-top: 20px; padding: 14px; color: white; border-radius: 16px; background: linear-gradient(145deg, #a4204b, #551126); }
.phone-hero-card small, .phone-hero-card span { display: block; font-size: 7px; }
.phone-hero-card strong { display: block; margin: 5px 0 13px; font-size: 13px; }
.phone-menu { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.phone-menu button { min-height: 52px; border: 0; border-radius: 12px; color: #46474d; background: white; box-shadow: 0 6px 20px rgba(0,0,0,.06); font-size: 8px; font-weight: 700; }

.tablet-device { position: absolute; z-index: 2; right: 0; bottom: 0; width: 32%; padding: 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 28px; background: linear-gradient(145deg,#2b2c32,#111116); box-shadow: 0 30px 80px rgba(0,0,0,.45); transform: rotate(4deg); }
.tablet-camera { position: absolute; top: 50%; left: 4px; width: 4px; height: 4px; border-radius: 50%; background: #08090c; }
.tablet-screen { min-height: 210px; padding: 20px; color: #222228; border-radius: 20px; background: #f6f6f7; }
.tablet-screen small { color: var(--accent); font-size: 7px; }
.tablet-screen > strong { display: block; margin: 5px 0 14px; font-size: 18px; }
.tablet-row { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; min-height: 38px; padding: 0 9px; margin-top: 7px; border-radius: 9px; background: white; box-shadow: 0 5px 14px rgba(0,0,0,.05); font-size: 8px; }
.tablet-row em { padding: 5px 7px; color: var(--accent); border-radius: 999px; background: var(--accent-light); font-style: normal; }
.scroll-indicator { position: absolute; z-index: 5; left: 50%; bottom: 26px; display: grid; place-items: center; gap: 7px; color: rgba(255,255,255,.42); font-size: 8px; letter-spacing: .22em; transform: translateX(-50%); }
.scroll-indicator i { display: block; width: 1px; height: 28px; background: linear-gradient(white, transparent); animation: pulse 1.8s infinite; }
@keyframes pulse { 0%,100% { opacity: .25; transform: scaleY(.7); } 50% { opacity: 1; transform: scaleY(1); } }

.section { padding: 120px 5vw; }
.section-heading { max-width: 860px; margin: 0 auto 62px; text-align: center; }
.section-heading h2 { margin: 0; font-size: clamp(37px, 5vw, 68px); line-height: 1.08; letter-spacing: -.045em; }
.section-heading > p:last-child { max-width: 700px; margin: 22px auto 0; color: var(--muted); font-size: 17px; line-height: 1.9; }
.overview { background: white; }
.experience-grid { width: min(100%, var(--max)); margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.experience-card { position: relative; min-height: 350px; padding: 38px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(145deg,#fff,#f6f6f7); }
.experience-card::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 190px; height: 190px; border-radius: 50%; background: rgba(170,33,77,.06); }
.card-number { color: #bbbcc2; font-size: 11px; letter-spacing: .18em; }
.experience-card h3 { margin: 28px 0 14px; font-size: 24px; }
.experience-card p { margin: 0; color: var(--muted); line-height: 1.85; }
.experience-icon { width: 76px; height: 76px; margin-top: 46px; border: 2px solid #202126; border-radius: 16px; position: relative; }
.phone-icon { width: 44px; border-radius: 14px; }
.phone-icon::after { content: ""; position: absolute; left: 50%; bottom: 5px; width: 8px; height: 2px; border-radius: 2px; background: #202126; transform: translateX(-50%); }
.pc-icon::after { content: ""; position: absolute; left: 50%; bottom: -17px; width: 38px; height: 14px; border-bottom: 3px solid #202126; border-left: 9px solid transparent; border-right: 9px solid transparent; transform: translateX(-50%); }
.tablet-icon { width: 60px; border-radius: 12px; }
.tablet-icon::after { content: ""; position: absolute; top: 50%; right: 4px; width: 3px; height: 3px; border-radius: 50%; background: #202126; }

.section-dark { color: white; background: var(--black); }
.section-heading-light > p:last-child { color: rgba(255,255,255,.58); }
.system-filter { width: min(100%, var(--max)); margin: 0 auto 34px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.filter-button { min-height: 42px; padding: 0 18px; color: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.03); }
.filter-button.active, .filter-button:hover { color: white; border-color: var(--accent); background: rgba(170,33,77,.24); }
.system-grid { width: min(100%, var(--max)); margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.system-card { min-height: 260px; padding: 24px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.10); border-radius: 22px; background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); transition: transform .28s ease, border-color .28s ease, background .28s ease; }
.system-card:hover { transform: translateY(-7px); border-color: rgba(232,123,158,.45); background: linear-gradient(145deg,rgba(170,33,77,.18),rgba(255,255,255,.025)); }
.system-card.is-hidden { display: none; }
.system-symbol { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; color: white; background: linear-gradient(145deg,#bd2b5b,#68122f); font-weight: 850; letter-spacing: .05em; }
.system-card p { margin: 26px 0 7px; color: #e27b9a; font-size: 11px; font-weight: 800; }
.system-card h3 { margin: 0; font-size: 18px; line-height: 1.35; }
.system-card small { margin-top: 12px; color: rgba(255,255,255,.48); line-height: 1.65; }
.system-card a { margin-top: auto; padding-top: 22px; color: rgba(255,255,255,.72); font-size: 12px; }

.feature-layout { width: min(100%, var(--max)); margin: 0 auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 86px; align-items: start; }
.feature-copy { position: sticky; top: 120px; }
.feature-copy h2 { margin: 0; font-size: clamp(42px, 5vw, 70px); line-height: 1.08; letter-spacing: -.045em; }
.feature-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.9; }
.text-link { display: inline-flex; gap: 8px; margin-top: 18px; color: var(--accent); font-weight: 750; }
.feature-list article { display: grid; grid-template-columns: 68px 1fr; gap: 20px; padding: 30px 0; border-top: 1px solid var(--line); }
.feature-list article:last-child { border-bottom: 1px solid var(--line); }
.feature-list span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--accent); background: var(--accent-light); font-size: 12px; font-weight: 800; }
.feature-list h3 { margin: 2px 0 9px; font-size: 23px; }
.feature-list p { margin: 0; color: var(--muted); line-height: 1.85; }

.section-soft { background: var(--paper); }
.screen-showcase { width: min(100%, 1100px); margin: 0 auto; }
.screen-tabs { display: flex; justify-content: center; gap: 8px; margin-bottom: 28px; }
.screen-tab { min-width: 108px; min-height: 44px; border: 0; border-radius: 999px; color: #77787f; background: #e7e7ea; font-weight: 700; }
.screen-tab.active { color: white; background: var(--black); }
.screen-preview { min-height: 530px; padding: 60px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 50px; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient(145deg,#111116,#24242b); box-shadow: var(--shadow); }
.preview-copy { color: white; }
.preview-copy small { color: #e27b9a; font-weight: 800; letter-spacing: .14em; }
.preview-copy h3 { margin: 18px 0; font-size: clamp(38px, 5vw, 64px); line-height: 1.05; letter-spacing: -.04em; }
.preview-copy p { color: rgba(255,255,255,.58); line-height: 1.9; }
.preview-device { min-height: 380px; display: grid; place-items: center; border-radius: 30px; background: radial-gradient(circle at 50% 20%,rgba(170,33,77,.34),transparent 44%); }
.preview-ui { width: 230px; min-height: 390px; padding: 28px 20px; border: 9px solid #34353c; border-radius: 35px; color: #18181c; background: #f7f7f8; box-shadow: 0 36px 80px rgba(0,0,0,.48); }
.preview-ui span { display: block; color: var(--accent); font-size: 11px; font-weight: 800; }
.preview-ui strong { display: block; margin: 18px 0 28px; font-size: 20px; }
.preview-ui button { width: 100%; min-height: 48px; margin-top: 10px; border: 0; border-radius: 12px; color: #4d4e54; background: white; box-shadow: 0 6px 17px rgba(0,0,0,.07); }

.flow-list { width: min(100%, 980px); margin: 0 auto; padding: 0; list-style: none; }
.flow-list li { display: grid; grid-template-columns: 74px 1fr; gap: 28px; padding: 33px 0; border-top: 1px solid var(--line); }
.flow-list li:last-child { border-bottom: 1px solid var(--line); }
.flow-list span { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 18px; font-weight: 800; }
.flow-list h3 { margin: 0 0 8px; font-size: 25px; }
.flow-list p { margin: 0; color: var(--muted); line-height: 1.8; }

.contact { padding-top: 40px; color: white; background: var(--black); }
.contact-card { width: min(100%, var(--max)); margin: 0 auto; padding: 90px 7vw; text-align: center; border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius-lg); background: radial-gradient(circle at top,rgba(170,33,77,.30),transparent 45%), linear-gradient(145deg,#18181e,#0d0d10); }
.contact-card h2 { margin: 0; font-size: clamp(38px, 5vw, 70px); line-height: 1.12; letter-spacing: -.045em; }
.contact-card > p:not(.eyebrow) { color: rgba(255,255,255,.62); font-size: 17px; line-height: 1.8; }
.contact-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 13px; margin: 32px 0 24px; }
.button-line { color: white; background: var(--green); box-shadow: 0 15px 34px rgba(8,185,78,.25); }
.button-secondary-light { color: white; border: 1px solid rgba(255,255,255,.22); }
.contact-card > small { color: rgba(255,255,255,.4); }
.site-footer { padding: 48px 5vw; display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 50px; color: rgba(255,255,255,.64); background: var(--black); border-top: 1px solid rgba(255,255,255,.08); }
.footer-brand { margin-bottom: 15px; }
.site-footer p { margin: 0; font-size: 12px; }
.site-footer nav { display: flex; gap: 22px; font-size: 12px; }
.copyright { white-space: nowrap; }
.back-to-top { position: fixed; z-index: 900; right: 22px; bottom: 22px; width: 48px; height: 48px; opacity: 0; pointer-events: none; border: 0; border-radius: 50%; color: white; background: var(--accent); box-shadow: 0 12px 30px rgba(170,33,77,.3); transition: .25s ease; }
.back-to-top.visible { opacity: 1; pointer-events: auto; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1040px) {
  .system-grid { grid-template-columns: repeat(3,1fr); }
  .hero-stage { height: 390px; margin-top: 20px; }
  .feature-layout { gap: 55px; }
}

@media (max-width: 820px) {
  .header-inner { height: 64px; }
  .menu-button { display: block; }
  .global-nav { position: fixed; inset: 64px 0 auto; padding: 24px; display: grid; gap: 0; background: rgba(9,9,11,.97); transform: translateY(-120%); transition: transform .3s ease; }
  .global-nav.open { transform: translateY(0); }
  .global-nav a { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
  .nav-cta { margin-top: 12px; text-align: center; }
  .menu-button.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-button.open span:nth-child(2) { opacity: 0; }
  .menu-button.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero { padding-top: 125px; }
  .hero-stage { width: 100%; height: 370px; margin: 40px auto 0; }
  .desktop-device { width: 82%; right: 0; }
  .phone-device { left: 0; width: 23%; min-width: 142px; }
  .tablet-device { width: 36%; }
  .section { padding: 92px 5vw; }
  .experience-grid { grid-template-columns: 1fr; }
  .experience-card { min-height: auto; }
  .system-grid { grid-template-columns: repeat(2,1fr); }
  .feature-layout, .screen-preview { grid-template-columns: 1fr; }
  .feature-copy { position: static; }
  .screen-preview { padding: 44px; }
  .site-footer { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 560px) {
  .desktop-only { display: none; }
  .hero { padding-inline: 20px; min-height: auto; padding-bottom: 105px; }
  .hero h1 { font-size: clamp(45px, 14vw, 64px); }
  .hero-lead { font-size: 17px; }
  .hero-actions .button { width: 100%; }
  .hero-stage { height: 310px; margin-top: 50px; }
  .desktop-device { width: 100%; right: -10%; }
  .phone-device { min-width: 112px; width: 30%; left: -5px; bottom: -2px; padding: 5px; border-radius: 23px; }
  .phone-screen { min-height: 226px; padding: 15px 8px 9px; border-radius: 19px; }
  .phone-hero-card { margin-top: 10px; padding: 9px; }
  .phone-menu { gap: 4px; }
  .phone-menu button { min-height: 34px; }
  .tablet-device { width: 42%; right: -7px; }
  .tablet-screen { min-height: 140px; padding: 12px; }
  .tablet-screen > strong { font-size: 12px; }
  .tablet-row { grid-template-columns: 27px 1fr; min-height: 24px; font-size: 6px; }
  .tablet-row em { display: none; }
  .section { padding: 76px 20px; }
  .section-heading { margin-bottom: 42px; }
  .section-heading h2 { font-size: 38px; }
  .system-grid { grid-template-columns: 1fr; }
  .system-card { min-height: 230px; }
  .feature-list article { grid-template-columns: 54px 1fr; }
  .screen-preview { min-height: auto; padding: 32px 22px; border-radius: 28px; }
  .preview-device { min-height: 330px; }
  .flow-list li { grid-template-columns: 54px 1fr; gap: 14px; }
  .flow-list span { width: 46px; height: 46px; }
  .contact-card { padding: 62px 22px; border-radius: 28px; }
  .contact-actions .button { width: 100%; }
  .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}


/* STEP DPRO-WEB-2 */
.catalog-hero,.product-hero{padding-top:72px;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(170,33,77,.26),transparent 30%),linear-gradient(145deg,#060608,#15151a 68%,#09090b)}
.catalog-hero-inner{width:min(calc(100% - 40px),var(--max));margin:auto;padding:120px 0 92px}.catalog-hero h1{margin:0;font-size:clamp(54px,8vw,108px);line-height:.98;letter-spacing:-.065em}.catalog-hero h1 span{color:#d7d7dc}.catalog-hero p:not(.eyebrow){max-width:680px;margin:30px 0;color:rgba(255,255,255,.65);font-size:18px;line-height:1.9}.catalog-stats{display:flex;gap:58px;margin-top:50px}.catalog-stats div{display:grid}.catalog-stats strong{font-size:38px}.catalog-stats span{color:rgba(255,255,255,.48);font-size:12px}.catalog-section{background:#09090b}.catalog-section .system-filter{margin-top:0}.catalog-grid{width:min(100%,var(--max));margin:42px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.catalog-card{min-height:285px;padding:28px;display:flex;flex-direction:column;color:white;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(145deg,#17171c,#101014)}.catalog-card.is-hidden{display:none}.catalog-card-head{display:flex;justify-content:space-between;align-items:center}.status-pill{padding:7px 10px;border-radius:999px;color:rgba(255,255,255,.45);background:rgba(255,255,255,.06);font-size:10px}.status-pill.live{color:#ffdce8;background:rgba(170,33,77,.28)}.catalog-card>p{margin:30px 0 8px;color:#d7648b;font-size:12px}.catalog-card h2{margin:0;font-size:20px}.catalog-card small{margin-top:12px;color:rgba(255,255,255,.53);line-height:1.7}.catalog-link{margin-top:auto;padding-top:28px;color:#fff;font-size:13px}.catalog-link span{color:#d7648b}.muted-link{color:rgba(255,255,255,.28)}.catalog-note{padding:105px 5vw}.catalog-note-inner,.product-proof-inner{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.catalog-note h2,.product-proof h2{margin:0;font-size:clamp(40px,5vw,68px);line-height:1.08;letter-spacing:-.05em}.catalog-note-inner>p,.product-proof-inner>p{color:var(--muted);font-size:17px;line-height:2}
.product-hero{min-height:100svh;padding:145px 5vw 90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.9fr);gap:70px;align-items:center}.product-hero-copy{max-width:760px}.product-breadcrumb{display:flex;gap:10px;margin-bottom:40px;color:rgba(255,255,255,.42);font-size:12px}.product-symbol{width:60px;height:60px;display:grid;place-items:center;margin-bottom:25px;border-radius:18px;font-weight:900;background:linear-gradient(145deg,#be2a5a,#65112d)}.product-hero h1{margin:0;font-size:clamp(46px,6vw,88px);line-height:1;letter-spacing:-.055em}.product-hero h2{margin:25px 0 15px;font-size:clamp(26px,3vw,42px);line-height:1.25}.product-hero-copy>p:not(.eyebrow){max-width:680px;color:rgba(255,255,255,.62);font-size:17px;line-height:1.9}.product-visual{position:relative;min-height:570px}.visual-monitor{position:absolute;inset:45px 0 70px 20px;padding:14px;border-radius:28px;background:#24242b;box-shadow:0 40px 100px rgba(0,0,0,.45)}.visual-top{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px}.visual-top span{width:7px;height:7px;border-radius:50%;background:#6f7077}.visual-top b{margin-left:10px;color:#c7c7cb;font-size:10px}.visual-dashboard{height:calc(100% - 38px);padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-radius:18px;background:#f5f5f7}.visual-kpi{padding:22px;border-radius:14px;background:#fff}.visual-kpi small{display:block;color:#777;font-size:10px}.visual-kpi strong{font-size:33px}.visual-list{grid-column:1/-1;padding:18px;display:grid;grid-template-columns:10px 1fr auto;gap:15px;align-items:center;border-radius:14px;background:#fff;font-size:11px}.visual-list i{width:8px;height:8px;border-radius:50%;background:#aa214d}.visual-list b{padding:5px 8px;border-radius:999px;color:#7b1636;background:#f5e7ec;font-size:9px}.visual-phone{position:absolute;left:-10px;bottom:15px;width:175px;min-height:330px;padding:30px 14px 15px;border:8px solid #29292f;border-radius:34px;background:#f7f7f8;box-shadow:0 30px 65px rgba(0,0,0,.45)}.visual-phone:before{content:'';position:absolute;top:9px;left:50%;width:55px;height:7px;transform:translateX(-50%);border-radius:999px;background:#17171a}.visual-phone small{color:#aa214d}.visual-phone strong{display:block;margin:12px 0 28px}.visual-phone button{width:100%;margin:5px 0;padding:12px;border:0;border-radius:10px;background:#fff;box-shadow:0 5px 15px rgba(0,0,0,.07)}.product-feature-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-feature{min-height:255px;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.product-feature span{color:#aa214d;font-size:12px;font-weight:800}.product-feature h3{margin:45px 0 12px;font-size:23px}.product-feature p{color:var(--muted);line-height:1.8}.experience-detail-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.experience-detail{padding:30px;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:#151519}.experience-detail>span{color:#d7648b;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.experience-detail h3{margin:14px 0 8px;color:#fff;font-size:24px}.experience-detail p{min-height:48px;color:rgba(255,255,255,.5);line-height:1.7}.screenshot-slot{min-height:360px;margin-top:28px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;border:1px dashed rgba(255,255,255,.18);border-radius:20px;background:radial-gradient(circle at 70% 20%,rgba(170,33,77,.18),transparent 35%),#0d0d10}.screenshot-slot small{color:rgba(255,255,255,.3)}.screenshot-slot strong{margin-top:8px;color:rgba(255,255,255,.72);font-size:20px}.phone-slot{margin-inline:auto;max-width:230px;border-radius:36px}.product-proof{background:#f5f5f7}
@media(max-width:960px){.catalog-grid,.product-feature-grid{grid-template-columns:repeat(2,1fr)}.product-hero{grid-template-columns:1fr;padding-top:120px}.product-visual{min-height:500px}.experience-detail-grid{grid-template-columns:1fr}.catalog-note-inner,.product-proof-inner{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){.catalog-hero-inner{padding:95px 0 70px}.catalog-stats{gap:25px}.catalog-grid,.product-feature-grid{grid-template-columns:1fr}.catalog-card{min-height:250px}.product-hero{padding:105px 20px 70px}.product-visual{min-height:360px}.visual-monitor{inset:20px -25px 45px 15px}.visual-dashboard{padding:12px;gap:7px}.visual-kpi{padding:12px}.visual-kpi strong{font-size:22px}.visual-list{padding:10px;font-size:8px}.visual-phone{width:120px;min-height:235px;padding:25px 8px 10px;border-width:5px;border-radius:25px}.visual-phone strong{margin:8px 0 12px;font-size:12px}.visual-phone button{padding:7px;font-size:8px}.catalog-note{padding:75px 20px}.experience-detail{padding:22px}}


/* STEP DPRO-WEB-3 : LIVE PRODUCT EXPERIENCE */
.experience-section .section-heading > p:last-child{
  max-width:760px;margin:18px auto 0;color:rgba(255,255,255,.55);font-size:16px;line-height:1.9
}
.live-showcase{width:min(100%,var(--max));margin:0 auto;display:grid;gap:110px}
.live-product{display:grid;grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr);gap:70px;align-items:center}
.live-product-reverse{grid-template-columns:minmax(0,1.38fr) minmax(270px,.62fr)}
.live-product-reverse .live-copy{order:2}
.live-product-reverse .live-device{order:1}
.live-copy>span{color:#d7648b;font-size:11px;font-weight:800;letter-spacing:.16em}
.live-copy h3{margin:16px 0 18px;color:#fff;font-size:clamp(38px,4vw,62px);line-height:1.05;letter-spacing:-.045em}
.live-copy>p{color:rgba(255,255,255,.57);font-size:15px;line-height:1.95}
.live-copy ul{margin:24px 0 30px;padding:0;display:grid;gap:10px;list-style:none}
.live-copy li{position:relative;padding-left:22px;color:rgba(255,255,255,.82);font-size:14px}
.live-copy li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:#b62556;box-shadow:0 0 0 5px rgba(182,37,86,.14)}
.demo-note{margin:0 0 22px!important;padding:12px 15px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04);font-size:13px!important}
.demo-note strong{color:#fff;font-size:18px}
.live-device{overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#17171c;box-shadow:0 45px 110px rgba(0,0,0,.48)}
.live-browser-bar{height:42px;padding:0 15px;display:flex;align-items:center;gap:7px;background:#25252b}
.live-browser-bar span{width:8px;height:8px;border-radius:50%;background:#66676e}
.live-browser-bar b{margin-left:8px;color:#c8c8cd;font-size:10px;font-weight:600}
.live-device iframe{display:block;width:100%;border:0;background:#fff}
.live-phone{max-width:380px;margin-inline:auto;border-radius:40px;border-width:10px}
.live-phone .live-browser-bar{display:none}
.live-phone iframe{height:720px;border-radius:29px}
.live-desktop{border-radius:22px}
.live-desktop iframe{height:690px}
.live-tablet{border-radius:30px;border-width:9px}
.live-tablet .live-browser-bar{margin:-1px -1px 0}
.live-tablet iframe{height:700px}
.proof-actions{margin-top:25px;display:flex;flex-wrap:wrap;gap:22px}
.text-link{color:#8d1c42;font-weight:800;font-size:14px}
.text-link:hover{text-decoration:underline}
@media(max-width:960px){
  .live-showcase{gap:85px}
  .live-product,.live-product-reverse{grid-template-columns:1fr;gap:38px}
  .live-product-reverse .live-copy,.live-product-reverse .live-device{order:initial}
  .live-copy{max-width:720px}
  .live-desktop iframe,.live-tablet iframe{height:620px}
}
@media(max-width:560px){
  .live-showcase{gap:72px}
  .live-copy h3{font-size:42px}
  .live-device{width:calc(100vw - 40px)}
  .live-phone{width:88%;max-width:360px}
  .live-phone iframe{height:650px}
  .live-desktop{border-radius:16px}
  .live-desktop iframe{height:540px}
  .live-tablet{border-radius:20px;border-width:6px}
  .live-tablet iframe{height:560px}
  .live-browser-bar{height:36px}
}


/* STEP DPRO-WEB-4 : PRODUCT PAGE POLISH */
.product-visual-live{min-height:610px;isolation:isolate}
.hero-live-monitor{position:absolute;inset:45px 10px 75px 35px;overflow:hidden;border:10px solid #29292f;border-radius:28px;background:#fff;box-shadow:0 42px 100px rgba(0,0,0,.5)}
.hero-live-monitor iframe{width:145%;height:145%;border:0;transform:scale(.69);transform-origin:0 0;background:#fff;pointer-events:none}
.hero-live-phone{position:absolute;z-index:3;left:-20px;bottom:10px;width:185px;height:365px;overflow:hidden;border:9px solid #24242a;border-radius:38px;background:#fff;box-shadow:0 34px 75px rgba(0,0,0,.55)}
.hero-live-phone:before{content:"";position:absolute;z-index:2;left:50%;top:8px;width:55px;height:7px;transform:translateX(-50%);border-radius:999px;background:#17171a}
.hero-live-phone iframe{width:172%;height:172%;border:0;transform:scale(.58);transform-origin:0 0;pointer-events:none}
.hero-live-tablet{position:absolute;z-index:4;right:-30px;bottom:5px;width:260px;height:205px;overflow:hidden;border:8px solid #303037;border-radius:24px;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.52)}
.hero-live-tablet iframe{width:185%;height:185%;border:0;transform:scale(.54);transform-origin:0 0;pointer-events:none}
.hero-live-label{position:absolute;z-index:5;right:24px;top:10px;display:grid;gap:3px;padding:11px 15px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(10,10,13,.78);backdrop-filter:blur(12px)}
.hero-live-label span{color:#e16c94;font-size:9px;font-weight:900;letter-spacing:.16em}
.hero-live-label strong{color:#fff;font-size:12px}
.live-actions{display:flex;flex-wrap:wrap;gap:10px}
.live-actions .button{cursor:pointer}
.demo-code-card{margin:0 0 24px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:18px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}
.demo-code-card span{grid-column:1;grid-row:1;color:#df6e94;font-size:9px;font-weight:900;letter-spacing:.18em}
.demo-code-card strong{grid-column:1;grid-row:2;color:#fff;font-size:34px;line-height:1}
.demo-code-card small{grid-column:2;grid-row:1/3;align-self:center;color:rgba(255,255,255,.5);font-size:12px}
.feature-showcase{background:#f4f4f6}
.feature-showcase .section-heading>p:last-child{max-width:720px;margin:18px auto 0;color:var(--muted);line-height:1.9}
.feature-showcase-grid{width:min(100%,var(--max));margin:auto;display:grid;gap:34px}
.feature-showcase-card{min-height:570px;padding:48px;display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:55px;align-items:center;border:1px solid #e1e1e5;border-radius:32px;background:#fff;box-shadow:0 28px 80px rgba(20,20,25,.06)}
.feature-showcase-card:nth-child(even){grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr)}
.feature-showcase-card:nth-child(even) .feature-showcase-copy{order:2}
.feature-showcase-card:nth-child(even) .feature-showcase-screen{order:1}
.feature-showcase-copy>span{color:#a61d49;font-size:10px;font-weight:900;letter-spacing:.16em}
.feature-showcase-copy h3{margin:15px 0 18px;font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.045em}
.feature-showcase-copy p{color:var(--muted);line-height:1.9}
.feature-showcase-copy ul{margin:24px 0 0;padding:0;display:grid;gap:9px;list-style:none}
.feature-showcase-copy li{position:relative;padding-left:20px;font-size:14px}
.feature-showcase-copy li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#b62556}
.feature-showcase-screen{overflow:hidden;border:1px solid #d9d9df;background:#fff;box-shadow:0 24px 55px rgba(17,17,23,.12)}
.feature-showcase-screen iframe{display:block;border:0;background:#fff}
.feature-showcase-screen.phone{width:360px;height:680px;margin:auto;border:10px solid #29292f;border-radius:38px}
.feature-showcase-screen.phone iframe{width:100%;height:100%}
.feature-showcase-screen.desktop{height:520px;border-radius:22px}
.feature-showcase-screen.desktop iframe{width:125%;height:125%;transform:scale(.8);transform-origin:0 0}
.feature-showcase-screen.tablet{height:540px;border:8px solid #303037;border-radius:28px}
.feature-showcase-screen.tablet iframe{width:125%;height:125%;transform:scale(.8);transform-origin:0 0}
.screen-modal{position:fixed;z-index:9999;inset:0;display:none;align-items:center;justify-content:center;padding:30px}
.screen-modal.is-open{display:flex}
.screen-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(9px)}
.screen-modal-dialog{position:relative;width:min(96vw,1500px);height:min(92vh,980px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#111116;box-shadow:0 45px 140px rgba(0,0,0,.72)}
.screen-modal-header{height:54px;padding:0 15px 0 20px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#24242b}
.screen-modal-header>div{display:flex;align-items:center;gap:12px}
.screen-modal-header a{color:#fff;font-size:12px;text-decoration:underline}
.screen-modal-header button{width:36px;height:36px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.08);font-size:24px;cursor:pointer}
.screen-modal-dialog iframe{width:100%;height:calc(100% - 54px);border:0;background:#fff}
body.modal-open{overflow:hidden}
@media(max-width:960px){
  .product-visual-live{min-height:520px}
  .hero-live-monitor{inset:35px 0 80px 45px}
  .hero-live-phone{left:0}
  .hero-live-tablet{right:0}
  .feature-showcase-card,.feature-showcase-card:nth-child(even){grid-template-columns:1fr;gap:36px}
  .feature-showcase-card:nth-child(even) .feature-showcase-copy,.feature-showcase-card:nth-child(even) .feature-showcase-screen{order:initial}
}
@media(max-width:560px){
  .product-visual-live{min-height:390px}
  .hero-live-monitor{inset:20px -30px 58px 22px;border-width:6px;border-radius:18px}
  .hero-live-monitor .live-browser-bar{display:none}
  .hero-live-phone{left:-3px;bottom:2px;width:112px;height:230px;border-width:5px;border-radius:25px}
  .hero-live-tablet{right:-8px;bottom:0;width:155px;height:125px;border-width:5px;border-radius:17px}
  .hero-live-label{right:4px;top:0}
  .feature-showcase-card{padding:26px 20px;border-radius:22px}
  .feature-showcase-screen.phone{width:88%;height:610px}
  .feature-showcase-screen.desktop,.feature-showcase-screen.tablet{width:calc(100vw - 80px);height:430px}
  .screen-modal{padding:10px}
  .screen-modal-dialog{width:100%;height:94vh;border-radius:14px}
  .screen-modal-header strong{font-size:12px}
}


/* STEP DPRO-WEB-5 : SALES PAGE COMPLETION */
.live-copy{padding-block:18px}
.live-copy>p{max-width:480px}
.live-copy ul{max-width:430px}
.screen-zoom-guide{margin:0 0 15px!important;color:rgba(255,255,255,.72)!important;font-size:12px!important;line-height:1.7!important}
.button-zoom{position:relative;padding-left:42px!important;box-shadow:0 12px 28px rgba(182,37,86,.28)}
.button-zoom:before{content:"＋";position:absolute;left:18px;top:50%;transform:translateY(-52%);font-size:17px;font-weight:400}
.live-desktop{min-width:760px;margin-left:-30px}
.live-desktop iframe{height:760px}
.live-tablet{min-width:700px;margin-left:-10px}
.live-tablet iframe{height:740px}
.pricing-guide{background:#fff}
.pricing-guide .section-heading>p:last-child{max-width:790px;margin:20px auto 0;color:var(--muted);font-size:16px;line-height:1.95}
.pricing-guide-grid{width:min(100%,var(--max));margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pricing-guide-card{position:relative;min-height:410px;padding:40px 34px;border:1px solid #e1e1e5;border-radius:28px;background:#fafafd}
.pricing-guide-card.featured{border-color:#b62556;background:linear-gradient(155deg,#fff 0%,#fff4f8 100%);box-shadow:0 28px 70px rgba(182,37,86,.13)}
.pricing-guide-card>span{color:#a61d49;font-size:10px;font-weight:900;letter-spacing:.14em}
.pricing-guide-card h3{margin:22px 0 18px;font-size:29px;line-height:1.15;letter-spacing:-.035em}
.pricing-guide-card p{color:var(--muted);font-size:14px;line-height:1.85}
.pricing-guide-card ul{margin:28px 0 0;padding:0;display:grid;gap:12px;list-style:none}
.pricing-guide-card li{position:relative;padding-left:22px;font-size:13px;line-height:1.6}
.pricing-guide-card li:before{content:"✓";position:absolute;left:0;color:#a61d49;font-weight:900}
.recommended-label{position:absolute;right:22px;top:20px;padding:7px 10px;border-radius:999px;color:#fff;background:#a61d49;font-size:8px;font-weight:900;letter-spacing:.12em}
.pricing-guide-bottom{width:min(100%,var(--max));margin:26px auto 0;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #e1e1e5;border-radius:24px;background:#f7f7f9}
.pricing-guide-bottom strong{display:block;font-size:19px}
.pricing-guide-bottom p{margin:8px 0 0;color:var(--muted);font-size:13px}
.pricing-guide-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}
@media(max-width:1100px){
  .live-desktop,.live-tablet{min-width:0;margin-left:0}
  .live-desktop iframe{height:680px}
  .live-tablet iframe{height:680px}
}
@media(max-width:900px){
  .pricing-guide-grid{grid-template-columns:1fr}
  .pricing-guide-card{min-height:0}
  .pricing-guide-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .live-copy{padding-block:0}
  .live-copy>p{font-size:14px}
  .screen-zoom-guide{font-size:11px!important}
  .button-zoom{width:100%;justify-content:center}
  .live-actions .button-secondary{width:100%;text-align:center}
  .live-desktop iframe,.live-tablet iframe{height:580px}
  .pricing-guide-card{padding:30px 24px;border-radius:22px}
  .pricing-guide-bottom{padding:25px 22px}
  .pricing-guide-actions{width:100%}
  .pricing-guide-actions .button{width:100%;text-align:center}
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 1 R1 */
.brand-home{background:#08080a}
.phase-header{background:rgba(8,8,10,.72);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.07)}
.phase-hero{position:relative;min-height:100vh;padding:150px max(6vw,28px) 80px;display:grid;grid-template-columns:minmax(320px,.86fr) minmax(500px,1.14fr);align-items:center;gap:4vw;overflow:hidden;background:#08080a}
.phase-hero-glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.33;pointer-events:none}
.glow-a{width:550px;height:550px;right:-80px;top:30px;background:#a61d49}
.glow-b{width:420px;height:420px;left:-120px;bottom:-100px;background:#3a276b}
.phase-hero-copy{position:relative;z-index:3}
.phase-hero-copy h1{margin:20px 0 28px;color:#fff;font-size:clamp(58px,7.4vw,124px);line-height:.93;letter-spacing:-.065em}
.phase-hero-copy h1 span{color:#d9d9df}
.phase-hero-lead{max-width:650px;color:rgba(255,255,255,.63);font-size:clamp(17px,1.6vw,24px);line-height:1.85}
.phase-hero-actions{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px}
.button-line-demo{color:#fff!important;background:#06c755!important;border-color:#06c755!important;box-shadow:0 15px 38px rgba(6,199,85,.22)}
.button-line-demo:hover{transform:translateY(-2px);box-shadow:0 19px 48px rgba(6,199,85,.34)}
.phase-mini-proof{margin-top:35px;display:flex;flex-wrap:wrap;gap:18px}
.phase-mini-proof span{padding-left:14px;border-left:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55);font-size:12px}
.phase-device-stage{position:relative;z-index:2;min-height:680px}
.phase-monitor{position:absolute;left:5%;right:0;top:8%;height:73%;overflow:hidden;border:10px solid #29292f;border-radius:30px;background:#fff;box-shadow:0 55px 140px rgba(0,0,0,.68)}
.phase-monitor iframe{width:145%;height:145%;border:0;transform:scale(.69);transform-origin:0 0;pointer-events:none}
.phase-phone{position:absolute;z-index:3;left:-3%;bottom:1%;width:205px;height:410px;overflow:hidden;border:9px solid #26262b;border-radius:42px;background:#fff;box-shadow:0 38px 80px rgba(0,0,0,.62)}
.phase-phone iframe{width:172%;height:172%;border:0;transform:scale(.58);transform-origin:0 0;pointer-events:none}
.phase-tablet{position:absolute;z-index:4;right:-2%;bottom:0;width:335px;height:245px;overflow:hidden;border:9px solid #303037;border-radius:28px;background:#fff;box-shadow:0 35px 85px rgba(0,0,0,.56)}
.phase-tablet iframe{width:185%;height:185%;border:0;transform:scale(.54);transform-origin:0 0;pointer-events:none}
.phase-live-badge{position:absolute;z-index:5;right:2%;top:1%;display:grid;grid-template-columns:auto 1fr;gap:1px 10px;align-items:center;padding:13px 16px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(10,10,13,.8);backdrop-filter:blur(16px)}
.phase-live-badge i{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#28e875;box-shadow:0 0 0 7px rgba(40,232,117,.13)}
.phase-live-badge span{color:#55e990;font-size:9px;font-weight:900;letter-spacing:.15em}
.phase-live-badge strong{color:#fff;font-size:12px}
.phase-numbers{background:#fff}
.phase-number-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dddde2}
.phase-number{padding:75px 45px;background:#fff}
.phase-number strong{display:block;color:#111116;font-size:clamp(64px,8vw,120px);line-height:.9;letter-spacing:-.065em}
.phase-number span{display:block;margin-top:22px;font-size:17px;font-weight:800}
.phase-number p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.industry-selector{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.industry-panel-wide{grid-column:1/-1}
.industry-panel{position:relative;min-height:290px;padding:42px;border:1px solid #dedee4;border-radius:28px;background:#fff;transition:.3s}
.industry-panel:hover{transform:translateY(-6px);box-shadow:0 30px 65px rgba(20,20,25,.1)}
.industry-panel>span{position:absolute;right:28px;top:25px;color:#d4d4da;font-size:42px;font-weight:900}
.industry-panel small{color:#a61d49;font-size:9px;font-weight:900;letter-spacing:.16em}
.industry-panel h3{margin:38px 0 14px;font-size:42px;letter-spacing:-.045em}
.industry-panel p{color:var(--muted);line-height:1.7}
.industry-panel b{position:absolute;left:42px;bottom:35px;color:#8d1c42;font-size:13px}
.phase-live-grid{width:min(100%,var(--max));margin:auto;display:grid;gap:100px}
.phase-live-card{display:grid;grid-template-columns:.55fr 1.45fr;gap:65px;align-items:center}
.phase-live-card.reverse{grid-template-columns:1.45fr .55fr}
.phase-live-card.reverse .phase-live-copy{order:2}
.phase-live-copy span{color:#df6e94;font-size:10px;font-weight:900;letter-spacing:.17em}
.phase-live-copy h3{margin:18px 0;color:#fff;font-size:clamp(38px,4.8vw,70px);line-height:1.03;letter-spacing:-.05em}
.phase-live-copy p{color:rgba(255,255,255,.58);line-height:1.9}
.phase-live-copy a{display:inline-block;margin-top:25px;color:#fff;font-weight:800;font-size:13px}
.phase-live-frame{overflow:hidden;border:1px solid rgba(255,255,255,.15);background:#fff;box-shadow:0 45px 100px rgba(0,0,0,.48)}
.phase-live-frame iframe{display:block;border:0;background:#fff}
.phase-live-frame.phone{width:375px;height:700px;margin:auto;border:10px solid #2a2a30;border-radius:42px}
.phase-live-frame.phone iframe{width:100%;height:100%}
.phase-live-frame.desktop{height:650px;border-radius:24px}
.phase-live-frame.desktop iframe{width:135%;height:135%;transform:scale(.74);transform-origin:0 0}
.phase-why{background:#fff}
.phase-why-copy{width:min(100%,var(--max));margin:auto}
.phase-why-copy h2{max-width:1000px;margin:20px 0 25px;font-size:clamp(44px,6vw,85px);line-height:1;letter-spacing:-.055em}
.phase-why-copy>p:last-child{max-width:760px;color:var(--muted);font-size:17px;line-height:1.9}
.phase-why-flow{width:min(100%,var(--max));margin:70px auto;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center}
.phase-why-flow div{padding:30px 18px;text-align:center;border:1px solid #dedee4;border-radius:20px}
.phase-why-flow span{display:block;font-size:22px;font-weight:900}
.phase-why-flow small{display:block;margin-top:6px;color:var(--muted)}
.phase-why-flow i{width:42px;height:1px;background:#a61d49}
.phase-principles{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.phase-principles article{padding:35px;border-radius:24px;background:#f4f4f6}
.phase-principles span{color:#a61d49;font-size:10px;font-weight:900}
.phase-principles h3{margin:20px 0 12px;font-size:27px}
.phase-principles p{color:var(--muted);line-height:1.8}
.phase-cta{min-height:75vh;display:grid;place-items:center;text-align:center}
.phase-cta-inner{max-width:900px}
.phase-cta h2{margin:18px 0 24px;color:#fff;font-size:clamp(54px,7vw,105px);line-height:.96;letter-spacing:-.06em}
.phase-cta p{color:rgba(255,255,255,.6);font-size:18px;line-height:1.9}
.phase-cta .large{margin-top:30px;padding:18px 34px;font-size:16px}
.phase-cta small{display:block;margin-top:18px;color:rgba(255,255,255,.4)}
@media(max-width:1050px){
  .phase-hero{grid-template-columns:1fr;padding-top:130px}
  .phase-device-stage{min-height:600px}
  .phase-monitor{left:10%;right:2%}
  .phase-live-card,.phase-live-card.reverse{grid-template-columns:1fr;gap:38px}
  .phase-live-card.reverse .phase-live-copy{order:initial}
}
@media(max-width:760px){
  .phase-hero{padding-inline:22px}
  .phase-hero-copy h1{font-size:57px}
  .phase-device-stage{min-height:390px}
  .phase-monitor{left:12%;right:-22%;top:8%;height:70%;border-width:6px;border-radius:18px}
  .phase-monitor .live-browser-bar{display:none}
  .phase-phone{left:0;width:112px;height:230px;border-width:5px;border-radius:25px}
  .phase-tablet{right:-5px;width:160px;height:125px;border-width:5px;border-radius:17px}
  .phase-live-badge{right:0;padding:9px 11px}
  .phase-number-grid,.industry-selector,.phase-principles{grid-template-columns:1fr}
  .phase-number{padding:48px 26px}
  .industry-panel{min-height:250px;padding:30px}
  .industry-panel b{left:30px}
  .phase-live-grid{gap:75px}
  .phase-live-frame.phone{width:88%;height:620px}
  .phase-live-frame.desktop{height:480px}
  .phase-why-flow{grid-template-columns:1fr;gap:10px}
  .phase-why-flow i{width:1px;height:26px;justify-self:center}
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 1 R2 */
.bakery-live-frame{position:relative}
.bakery-live-frame iframe{position:relative;z-index:2}
.iframe-fallback{position:absolute;z-index:1;inset:0;padding:55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:
  radial-gradient(circle at 78% 18%,rgba(182,37,86,.32),transparent 34%),
  linear-gradient(145deg,#151519,#0b0b0e);color:#fff}
.iframe-fallback-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#b62556;font-size:19px;font-weight:900;box-shadow:0 14px 35px rgba(182,37,86,.32)}
.iframe-fallback h4{margin:18px 0;font-size:clamp(36px,4vw,62px);line-height:1.04;letter-spacing:-.05em}
.iframe-fallback>p:not(.eyebrow){max-width:480px;color:rgba(255,255,255,.58);line-height:1.85}
.iframe-fallback a{margin-top:23px;color:#fff;font-weight:800;font-size:13px}
.phase-live-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}
.phase-live-links a{margin-top:0}
.phase-live-links a:last-child{color:#df6e94}
@media(max-width:760px){
  .iframe-fallback{padding:32px 25px}
  .iframe-fallback h4{font-size:38px}
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R1 */
.catalog-page{background:#08080a}
.catalog-hero{position:relative;min-height:88vh;padding:150px max(6vw,28px) 90px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;overflow:hidden;background:
radial-gradient(circle at 80% 15%,rgba(182,37,86,.25),transparent 34%),
linear-gradient(145deg,#08080a,#111116)}
.catalog-hero-inner{position:relative;z-index:2}
.catalog-hero h1{margin:20px 0 28px;color:#fff;font-size:clamp(58px,7.2vw,112px);line-height:.95;letter-spacing:-.065em}
.catalog-hero p{max-width:720px;color:rgba(255,255,255,.62);font-size:clamp(17px,1.5vw,22px);line-height:1.9}
.catalog-hero-actions{margin-top:35px;display:flex;flex-wrap:wrap;gap:12px}
.catalog-orbit{position:relative;min-height:540px}
.orbit-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.15);border-radius:50%;transform:translate(-50%,-50%)}
.ring-a{width:420px;height:420px}
.ring-b{width:280px;height:280px}
.orbit-core{position:absolute;left:50%;top:50%;width:180px;height:180px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;color:#fff;background:linear-gradient(145deg,#b62556,#4b1730);font-size:72px;font-weight:900;box-shadow:0 40px 100px rgba(182,37,86,.35)}
.orbit-label{position:absolute;padding:11px 15px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#fff;background:rgba(17,17,22,.75);backdrop-filter:blur(12px);font-size:12px;font-weight:800}
.label-a{left:7%;top:18%}.label-b{right:4%;top:25%}.label-c{right:12%;bottom:16%}
.catalog-summary{background:#fff}
.catalog-summary-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dddde2}
.catalog-summary article{padding:55px 30px;background:#fff;text-align:center}
.catalog-summary strong{display:block;font-size:58px;letter-spacing:-.055em}
.catalog-summary span{display:block;margin-top:10px;color:var(--muted);font-size:13px}
.catalog-filters{width:min(100%,var(--max));margin:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.catalog-filter{padding:12px 17px;border:1px solid #d8d8de;border-radius:999px;background:#fff;cursor:pointer;transition:.25s}
.catalog-filter.is-active,.catalog-filter:hover{color:#fff;border-color:#a61d49;background:#a61d49}
.catalog-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.catalog-card{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:28px;background:#151519;transition:.32s}
.catalog-card:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.23);box-shadow:0 35px 80px rgba(0,0,0,.4)}
.catalog-card.is-coming{opacity:.82}
.catalog-card-top{position:absolute;z-index:3;left:20px;right:20px;top:18px;display:flex;align-items:center;justify-content:space-between}
.catalog-code{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#a61d49;font-size:12px;font-weight:900}
.catalog-status{padding:7px 10px;border-radius:999px;color:#fff;background:rgba(255,255,255,.08);font-size:9px;font-weight:800}
.is-live .catalog-status{color:#48e98d;background:rgba(72,233,141,.12)}
.catalog-visual{position:relative;height:270px;overflow:hidden;background:
radial-gradient(circle at 70% 25%,rgba(182,37,86,.28),transparent 35%),
linear-gradient(145deg,#19191f,#0e0e12)}
.catalog-glow{position:absolute;width:180px;height:180px;right:15%;top:20%;border-radius:50%;background:#a61d49;filter:blur(80px);opacity:.25}
.catalog-device{position:absolute;overflow:hidden;border:7px solid #303037;border-radius:20px;background:#f7f7fa;box-shadow:0 24px 55px rgba(0,0,0,.45)}
.catalog-device span{display:block;height:18px;background:#e8e8ec}
.catalog-device i{display:block;height:36px;margin:10px;border-radius:8px;background:#fff}
.catalog-device-main{width:66%;height:165px;right:8%;top:70px}
.catalog-device-sub{width:34%;height:120px;left:9%;bottom:20px;border-radius:24px}
.catalog-card-copy{padding:28px 28px 32px}
.catalog-card-copy small{color:#df6e94;font-size:9px;font-weight:900;letter-spacing:.14em}
.catalog-card-copy h3{margin:12px 0 13px;color:#fff;font-size:30px;letter-spacing:-.04em}
.catalog-card-copy p{min-height:52px;color:rgba(255,255,255,.55);font-size:13px;line-height:1.8}
.catalog-card-copy b{display:block;margin-top:22px;color:#fff;font-size:12px}
.is-coming .catalog-card-copy b{color:rgba(255,255,255,.38)}
.catalog-progress{background:#fff}
.catalog-progress-inner{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.catalog-progress h2{margin:16px 0 0;font-size:clamp(44px,5vw,72px);line-height:1.04;letter-spacing:-.05em}
.catalog-progress-copy p{color:var(--muted);line-height:1.9}
.progress-bar{height:10px;margin:28px 0 12px;border-radius:999px;background:#ececf0;overflow:hidden}
.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a61d49,#d7648b)}
.catalog-progress-copy small{color:var(--muted)}
.catalog-more-link{margin-top:30px;text-align:center}
@media(max-width:1000px){
  .catalog-hero{grid-template-columns:1fr}
  .catalog-orbit{min-height:430px}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .catalog-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .catalog-hero{padding-top:125px}
  .catalog-hero h1{font-size:56px}
  .catalog-orbit{min-height:330px}
  .ring-a{width:280px;height:280px}.ring-b{width:190px;height:190px}
  .orbit-core{width:125px;height:125px;font-size:50px}
  .catalog-grid{grid-template-columns:1fr}
  .catalog-summary-grid{grid-template-columns:1fr 1fr}
  .catalog-progress-inner{grid-template-columns:1fr;gap:30px}
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R2 */
.catalog-live-visual{position:relative;background:#0d0d11}
.catalog-live-visual iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;pointer-events:none}
.catalog-live-petsalon iframe{width:165%;height:165%;transform:scale(.61);transform-origin:0 0}
.catalog-live-petcare iframe{width:145%;height:145%;transform:scale(.69);transform-origin:0 0}
.catalog-live-bakery iframe{width:150%;height:150%;transform:scale(.67);transform-origin:0 0}
.catalog-live-badge{position:absolute;z-index:3;right:16px;bottom:15px;padding:8px 11px;border-radius:999px;color:#fff;background:rgba(6,199,85,.92);box-shadow:0 10px 28px rgba(6,199,85,.28);font-size:9px;font-weight:900;letter-spacing:.06em}
.catalog-card.is-live{border-color:rgba(72,233,141,.24);box-shadow:0 18px 50px rgba(0,0,0,.28)}
.catalog-card.is-live:hover{border-color:rgba(72,233,141,.55);box-shadow:0 35px 85px rgba(0,0,0,.5)}
.catalog-card.is-live .catalog-card-copy h3{font-size:32px}
.catalog-card-copy p{min-height:58px;font-size:14px;line-height:1.9}
.catalog-card-cta{display:inline-flex!important;align-items:center;min-height:42px;margin-top:24px!important;padding:0 16px;border-radius:999px;color:#fff!important;background:#a61d49;font-size:12px!important;transition:.25s}
.catalog-card:hover .catalog-card-cta{background:#c12e61;transform:translateX(3px)}
.catalog-card-coming{color:rgba(255,255,255,.35)!important;font-size:11px!important;letter-spacing:.03em}
.catalog-grid > .catalog-card:last-child:nth-child(3n+1){grid-column:2}
.phase-number span{font-size:19px}
.phase-number p{max-width:280px;font-size:14px}
@media(max-width:1000px){
  .catalog-grid > .catalog-card:last-child:nth-child(3n+1){grid-column:auto}
  .catalog-grid > .catalog-card:last-child:nth-child(2n+1){grid-column:1 / -1;width:calc(50% - 10px);justify-self:center}
}
@media(max-width:680px){
  .catalog-grid > .catalog-card:last-child:nth-child(2n+1){grid-column:auto;width:auto;justify-self:stretch}
  .catalog-card-copy p{min-height:0}
  .catalog-card-cta{width:100%;justify-content:center}
  .phase-number span{font-size:17px}
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R4 NAIL */
.catalog-live-nail iframe{
  width:165%;
  height:165%;
  transform:scale(.61);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R5 YOGA */
.catalog-live-yoga iframe{
  width:165%;
  height:165%;
  transform:scale(.61);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R6 SALON */
.catalog-live-salon iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R7 ESTHE */
.catalog-live-esthe iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R8 SEITAI */
.catalog-live-seitai iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R9 DENTAL */
.catalog-live-dental iframe{
  width:165%;
  height:165%;
  transform:scale(.61);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R10 IZAKAYA */
.catalog-live-izakaya iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R11 SCHOOL */
.catalog-live-school iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R12 ESTATE */
.catalog-live-estate iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — PHASE 2 R13 CAR SERVICE */
.catalog-live-car iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE
   PHASE 3-R1 — SITE-WIDE READABILITY
   デザインの雰囲気を維持したまま文字の可読性を改善
   ========================================================= */

/* 本文全体 */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

p,
li,
small{
  line-height:1.8;
}

/* ヘッダー */
.global-nav a{
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
}

.brand-copy strong{
  font-size:12px;
}

.brand-copy small{
  font-size:8px;
  letter-spacing:.12em;
}

/* 製品ヒーロー */
.product-hero-copy .eyebrow,
.section-heading .eyebrow,
.live-copy > span,
.feature-showcase-copy > span{
  font-size:11px;
  letter-spacing:.18em;
  font-weight:900;
}

.product-hero-copy h1{
  font-size:clamp(38px,5vw,72px);
  line-height:1.02;
  letter-spacing:-.045em;
}

.product-hero-copy h2{
  font-size:clamp(20px,2.2vw,31px);
  line-height:1.35;
  letter-spacing:-.025em;
}

.product-hero-copy > p{
  max-width:620px;
  font-size:15px;
  line-height:1.9;
  color:#c9c9cf;
}

/* 白背景の見出し・説明 */
.section-heading h2{
  font-size:clamp(30px,4vw,50px);
  line-height:1.18;
  letter-spacing:-.035em;
}

.section-heading > p:last-child{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  font-size:15px;
  line-height:1.9;
  color:#676773;
}

.section-heading-light > p:last-child{
  color:#b9b9c2;
}

/* 専用機能カード */
.product-feature h3{
  font-size:17px;
  line-height:1.45;
}

.product-feature p{
  font-size:13px;
  line-height:1.85;
  color:#656570;
}

.product-feature span{
  font-size:11px;
  font-weight:900;
}

/* 黒背景の実画面セクション */
.live-copy h3{
  font-size:clamp(28px,3.4vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
}

.live-copy p{
  font-size:14px;
  line-height:1.9;
  color:#bdbdc6;
}

.live-copy li{
  font-size:13px;
  line-height:1.75;
  color:#d7d7dd;
}

/* デモコード */
.demo-code-card span{
  font-size:10px;
}

.demo-code-card strong{
  font-size:21px;
}

.demo-code-card small{
  font-size:11px;
  color:#b8b8c0;
}

/* ボタン */
.button{
  min-height:44px;
  padding:12px 20px;
  font-size:13px;
  font-weight:800;
}

.text-link{
  font-size:13px;
  font-weight:800;
}

/* 白背景の機能紹介カード */
.feature-showcase-copy h3{
  font-size:clamp(26px,3vw,42px);
  line-height:1.1;
  letter-spacing:-.03em;
}

.feature-showcase-copy p{
  font-size:14px;
  line-height:1.85;
  color:#62626d;
}

.feature-showcase-copy li{
  font-size:13px;
  line-height:1.75;
  color:#383842;
}

/* 最終メッセージ */
.product-proof-inner h2{
  font-size:clamp(30px,4vw,52px);
  line-height:1.05;
}

.product-proof-inner p{
  font-size:14px;
  line-height:1.9;
  color:#5e5e68;
}

.contact-card h2{
  font-size:clamp(29px,4vw,52px);
  line-height:1.16;
}

.contact-card > p{
  font-size:14px;
  line-height:1.85;
  color:#aaaab3;
}

/* 製品一覧 */
.catalog-card-copy small{
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.catalog-card-copy h3{
  font-size:21px;
  line-height:1.35;
}

.catalog-card-copy p{
  font-size:13px;
  line-height:1.75;
  color:#aaaab2;
}

.catalog-card-cta{
  font-size:12px;
}

/* フッター */
.site-footer p,
.site-footer a{
  font-size:12px;
  line-height:1.7;
}

/* スマートフォン */
@media (max-width: 760px){
  .product-hero-copy h1{
    font-size:40px;
  }

  .product-hero-copy h2{
    font-size:21px;
  }

  .product-hero-copy > p,
  .section-heading > p:last-child,
  .live-copy p,
  .feature-showcase-copy p,
  .product-proof-inner p,
  .contact-card > p{
    font-size:14px;
    line-height:1.85;
  }

  .section-heading h2{
    font-size:32px;
  }

  .live-copy h3{
    font-size:31px;
  }

  .feature-showcase-copy h3{
    font-size:29px;
  }

  .product-feature h3{
    font-size:16px;
  }

  .product-feature p,
  .live-copy li,
  .feature-showcase-copy li{
    font-size:13px;
  }

  .button{
    font-size:13px;
    min-height:46px;
  }

  .global-nav a{
    font-size:14px;
  }
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE
   PHASE 3-R2 — HEADLINE LINE-BREAK CONTROL
   単語の途中で折り返さず、意味のまとまりで読ませる
   ========================================================= */

/* Chrome系では日本語の文節を優先して改行 */
.phase-hero-copy h1,
.phase-live-copy h3,
.phase-why-copy h2,
.product-hero-copy h1,
.product-hero-copy h2,
.section-heading h2,
.live-copy h3,
.feature-showcase-copy h3,
.product-proof-inner h2,
.contact-card h2{
  word-break:auto-phrase;
  line-break:strict;
  overflow-wrap:normal;
  text-wrap:balance;
}

/* 手動で指定した見出し行 */
.headline-lines{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.headline-lines > span{
  display:block;
  white-space:nowrap;
}

/* トップヒーロー：2行を必ず維持 */
.phase-hero-copy{
  max-width:1180px;
}

.phase-hero-copy h1.headline-hero{
  width:max-content;
  max-width:100%;
  font-size:clamp(54px,6.6vw,108px);
  line-height:.98;
  letter-spacing:-.055em;
}

/* 代表システム見出し：細すぎる列を解消 */
.phase-live-copy{
  min-width:0;
}

.phase-live-copy h3.headline-lines{
  width:max-content;
  max-width:100%;
  font-size:clamp(34px,4.1vw,61px);
  line-height:1.08;
  letter-spacing:-.045em;
}

/* WHY DPRO：3行の意味単位を維持 */
.phase-why-copy h2.headline-why{
  width:max-content;
  max-width:100%;
  font-size:clamp(40px,5.2vw,72px);
  line-height:1.08;
  letter-spacing:-.045em;
}

/* 製品ページの見出しは横幅を少し広く使う */
.product-hero-copy{
  min-width:0;
}

.product-hero-copy h1,
.product-hero-copy h2,
.live-copy h3,
.feature-showcase-copy h3{
  max-width:100%;
}

/* 狭い画面では1行を維持できる大きさまで縮小 */
@media (max-width: 900px){
  .phase-hero-copy h1.headline-hero{
    font-size:clamp(44px,9.2vw,74px);
  }

  .phase-live-copy h3.headline-lines{
    font-size:clamp(31px,7.2vw,50px);
  }

  .phase-why-copy h2.headline-why{
    font-size:clamp(34px,7.4vw,56px);
  }
}

@media (max-width: 560px){
  .headline-lines > span{
    white-space:normal;
  }

  .phase-hero-copy h1.headline-hero{
    width:100%;
    font-size:clamp(39px,11.2vw,58px);
    line-height:1.02;
  }

  .phase-live-copy h3.headline-lines{
    width:100%;
    font-size:clamp(30px,9vw,43px);
    line-height:1.1;
  }

  .phase-why-copy h2.headline-why{
    width:100%;
    font-size:clamp(31px,8.6vw,45px);
    line-height:1.12;
  }

  .product-hero-copy h1,
  .product-hero-copy h2,
  .section-heading h2,
  .live-copy h3,
  .feature-showcase-copy h3,
  .product-proof-inner h2,
  .contact-card h2{
    word-break:auto-phrase;
    overflow-wrap:break-word;
  }
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE
   PHASE 3-R2-R1 — ACTUAL HEADLINE LAYOUT FIX
   文字を巨大化せず、見出し側の横幅を確保して文節改行を固定
   ========================================================= */

/* トップヒーロー：コピー側を広げ、2行を崩さない */
.phase-hero{
  grid-template-columns:minmax(560px,1.08fr) minmax(500px,.92fr) !important;
  gap:3vw !important;
}

.phase-hero-copy{
  max-width:none !important;
}

.phase-hero-copy h1.headline-hero{
  width:auto !important;
  max-width:none !important;
  font-size:clamp(56px,5.25vw,92px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
}

.phase-hero-copy h1.headline-hero > span{
  display:block !important;
  white-space:nowrap !important;
}

/* 代表システム：見出し列が細すぎたため横幅を確保 */
.phase-live-card{
  grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr) !important;
  gap:72px !important;
}

.phase-live-card.reverse{
  grid-template-columns:minmax(520px,1.12fr) minmax(360px,.88fr) !important;
}

.phase-live-copy h3.headline-lines{
  width:auto !important;
  max-width:none !important;
  font-size:clamp(38px,3.65vw,56px) !important;
  line-height:1.09 !important;
  letter-spacing:-.045em !important;
}

.phase-live-copy h3.headline-lines > span{
  display:block !important;
  white-space:nowrap !important;
}

/* WHY DPRO：巨大な文字を抑え、3行を指定位置で維持 */
.phase-why-copy h2.headline-why{
  width:auto !important;
  max-width:1200px !important;
  font-size:clamp(42px,4.7vw,68px) !important;
  line-height:1.1 !important;
  letter-spacing:-.045em !important;
}

.phase-why-copy h2.headline-why > span{
  display:block !important;
  white-space:nowrap !important;
}

/* 画面幅が少し狭いPC・タブレット */
@media (max-width: 1250px){
  .phase-hero{
    grid-template-columns:minmax(460px,1fr) minmax(460px,1fr) !important;
  }

  .phase-hero-copy h1.headline-hero{
    font-size:clamp(50px,5.5vw,72px) !important;
  }

  .phase-live-card,
  .phase-live-card.reverse{
    grid-template-columns:minmax(315px,.9fr) minmax(460px,1.1fr) !important;
    gap:48px !important;
  }

  .phase-live-card.reverse{
    grid-template-columns:minmax(460px,1.1fr) minmax(315px,.9fr) !important;
  }

  .phase-live-copy h3.headline-lines{
    font-size:clamp(34px,3.8vw,47px) !important;
  }

  .phase-why-copy h2.headline-why{
    font-size:clamp(39px,5vw,58px) !important;
  }
}

/* スマホ・縦長タブレットは1カラムで自然に読む */
@media (max-width: 900px){
  .phase-hero{
    grid-template-columns:1fr !important;
  }

  .phase-hero-copy h1.headline-hero{
    font-size:clamp(43px,10vw,66px) !important;
  }

  .phase-live-card,
  .phase-live-card.reverse{
    grid-template-columns:1fr !important;
  }

  .phase-live-card.reverse .phase-live-copy{
    order:0 !important;
  }

  .phase-live-copy h3.headline-lines{
    font-size:clamp(33px,7.8vw,48px) !important;
  }

  .phase-why-copy h2.headline-why{
    font-size:clamp(34px,7.7vw,52px) !important;
  }
}

@media (max-width: 560px){
  .phase-hero-copy h1.headline-hero > span,
  .phase-live-copy h3.headline-lines > span,
  .phase-why-copy h2.headline-why > span{
    white-space:normal !important;
  }

  .phase-hero-copy h1.headline-hero{
    font-size:clamp(39px,11vw,52px) !important;
  }

  .phase-live-copy h3.headline-lines{
    font-size:clamp(30px,9vw,40px) !important;
  }

  .phase-why-copy h2.headline-why{
    font-size:clamp(31px,8.6vw,42px) !important;
  }
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE
   PHASE 3-R3 — ACCENT TEXT READABILITY
   赤い小見出し・ラベルの視認性を改善
   ========================================================= */

/* 共通の赤アクセント文字 */
.eyebrow,
.phase-live-copy > span,
.live-copy > span,
.feature-showcase-copy > span,
.catalog-card-copy small,
.product-breadcrumb,
.product-symbol,
.catalog-code{
  font-weight:900 !important;
}

/* トップページの黒背景内ラベル */
.phase-live-copy > span{
  display:inline-block !important;
  font-size:14px !important;
  line-height:1.35 !important;
  letter-spacing:.12em !important;
  margin-bottom:10px !important;
  color:#ff4f83 !important;
}

/* トップヒーロー、WHY DPRO、カテゴリ見出し */
.phase-hero .eyebrow,
.phase-category .eyebrow,
.phase-live .eyebrow,
.phase-why .eyebrow,
.phase-contact .eyebrow{
  font-size:13px !important;
  line-height:1.4 !important;
  letter-spacing:.14em !important;
  color:#ff4f83 !important;
}

/* 製品詳細ページの赤いラベル */
.product-hero-copy .eyebrow,
.section-heading .eyebrow,
.live-copy > span,
.feature-showcase-copy > span,
.product-proof .eyebrow,
.contact-card .eyebrow{
  font-size:13px !important;
  line-height:1.4 !important;
  letter-spacing:.14em !important;
  color:#ff4f83 !important;
}

/* 製品カード内のカテゴリ */
.catalog-card-copy small{
  font-size:12px !important;
  line-height:1.4 !important;
  letter-spacing:.1em !important;
  color:#ff4f83 !important;
}

/* 小さな製品コード */
.catalog-code,
.product-symbol{
  font-size:12px !important;
  line-height:1 !important;
}

/* スマホではさらに少し大きく */
@media (max-width:760px){
  .phase-live-copy > span,
  .phase-hero .eyebrow,
  .phase-category .eyebrow,
  .phase-live .eyebrow,
  .phase-why .eyebrow,
  .phase-contact .eyebrow,
  .product-hero-copy .eyebrow,
  .section-heading .eyebrow,
  .live-copy > span,
  .feature-showcase-copy > span,
  .product-proof .eyebrow,
  .contact-card .eyebrow{
    font-size:14px !important;
    letter-spacing:.11em !important;
  }
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE
   PHASE 3-R4 — FULL HEADLINE AUDIT
   トップ・製品一覧・全13製品ページの主要見出しを文節単位で固定
   ========================================================= */

.headline-fixed{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  width:auto !important;
  max-width:100% !important;
  text-wrap:initial !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

.headline-fixed > span{
  display:block !important;
  white-space:nowrap !important;
}

/* 製品一覧ヒーロー */
.catalog-hero-title{
  font-size:clamp(50px,5.8vw,86px) !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
}

/* 進捗と最終CTA */
.catalog-progress-title{
  font-size:clamp(38px,4.2vw,62px) !important;
  line-height:1.08 !important;
}

.catalog-cta-title{
  align-items:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(38px,4.5vw,66px) !important;
  line-height:1.08 !important;
}

/* 製品詳細の主要見出し */
.product-hero-copy h2.headline-fixed{
  font-size:clamp(20px,2.15vw,30px) !important;
  line-height:1.38 !important;
}

.section-heading h2.headline-fixed{
  align-items:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(30px,3.8vw,48px) !important;
  line-height:1.18 !important;
}

.product-proof-inner h2.headline-fixed{
  font-size:clamp(30px,3.8vw,50px) !important;
  line-height:1.08 !important;
}

.contact-card h2.headline-fixed{
  align-items:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(30px,3.8vw,50px) !important;
  line-height:1.16 !important;
}

/* スマホでは画面幅を超える行だけ自然改行 */
@media (max-width:760px){
  .headline-fixed > span{
    white-space:normal !important;
  }

  .catalog-hero-title{
    font-size:clamp(42px,11vw,58px) !important;
  }

  .catalog-progress-title,
  .catalog-cta-title{
    font-size:clamp(32px,8.5vw,45px) !important;
  }

  .section-heading h2.headline-fixed,
  .product-proof-inner h2.headline-fixed,
  .contact-card h2.headline-fixed{
    font-size:clamp(29px,7.8vw,40px) !important;
  }
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE
   PHASE 3-R5 — PREMIUM POLISH
   余白・カード・ボタン・影・ホバー・アニメーションを統一
   ========================================================= */

/* ---------- 全体の余白リズム ---------- */
.section{
  padding-top:clamp(88px,9vw,150px) !important;
  padding-bottom:clamp(88px,9vw,150px) !important;
}

.section-heading{
  margin-bottom:clamp(48px,5vw,82px) !important;
}

.section-heading h2{
  margin-bottom:20px !important;
}

.section-heading > p:last-child{
  margin-top:0 !important;
}

/* ---------- カードの質感 ---------- */
.product-feature,
.catalog-card,
.feature-showcase-card,
.phase-category-card,
.phase-value-card{
  transition:
    transform .28s cubic-bezier(.2,.75,.25,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease !important;
}

.product-feature,
.feature-showcase-card,
.phase-category-card,
.phase-value-card{
  box-shadow:
    0 12px 30px rgba(14,14,20,.055),
    0 2px 8px rgba(14,14,20,.035) !important;
}

.catalog-card{
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.045) !important;
}

@media (hover:hover){
  .product-feature:hover,
  .feature-showcase-card:hover,
  .phase-category-card:hover,
  .phase-value-card:hover{
    transform:translateY(-6px);
    box-shadow:
      0 24px 54px rgba(14,14,20,.11),
      0 6px 16px rgba(14,14,20,.06) !important;
  }

  .catalog-card:hover{
    transform:translateY(-8px);
    border-color:rgba(255,79,131,.38) !important;
    box-shadow:
      0 30px 70px rgba(0,0,0,.36),
      0 0 0 1px rgba(255,79,131,.08),
      inset 0 1px 0 rgba(255,255,255,.065) !important;
  }
}

/* ---------- 実画面・デバイス表示 ---------- */
.product-visual-live,
.live-device,
.feature-showcase-screen,
.phase-live-frame{
  transition:
    transform .32s cubic-bezier(.2,.75,.25,1),
    box-shadow .32s ease,
    border-color .32s ease !important;
}

.product-visual-live,
.live-device,
.feature-showcase-screen{
  box-shadow:
    0 28px 70px rgba(0,0,0,.24),
    0 10px 28px rgba(0,0,0,.12) !important;
}

@media (hover:hover){
  .live-product:hover .live-device,
  .feature-showcase-card:hover .feature-showcase-screen{
    transform:translateY(-4px) scale(1.01);
    box-shadow:
      0 40px 92px rgba(0,0,0,.28),
      0 14px 34px rgba(0,0,0,.16) !important;
  }

  .catalog-card:hover .catalog-visual{
    transform:scale(1.018);
  }
}

.catalog-visual{
  transition:transform .32s cubic-bezier(.2,.75,.25,1) !important;
}

/* ---------- ボタン ---------- */
.button{
  min-height:48px !important;
  border-radius:999px !important;
  padding:13px 23px !important;
  letter-spacing:.01em !important;
  box-shadow:0 9px 22px rgba(0,0,0,.12);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease !important;
}

.button-primary,
.button-line{
  box-shadow:
    0 12px 28px rgba(255,31,99,.22),
    0 5px 14px rgba(0,0,0,.12) !important;
}

.button-line{
  box-shadow:
    0 12px 30px rgba(6,199,85,.24),
    0 5px 14px rgba(0,0,0,.12) !important;
}

@media (hover:hover){
  .button:hover{
    transform:translateY(-2px);
    filter:brightness(1.045);
  }

  .button-primary:hover,
  .button-line:hover{
    box-shadow:
      0 18px 38px rgba(255,31,99,.28),
      0 7px 18px rgba(0,0,0,.15) !important;
  }

  .button-line:hover{
    box-shadow:
      0 18px 40px rgba(6,199,85,.31),
      0 7px 18px rgba(0,0,0,.15) !important;
  }
}

/* ---------- リンク ---------- */
.text-link,
.phase-live-copy a,
.catalog-card-cta{
  transition:opacity .2s ease, transform .2s ease, color .2s ease !important;
}

@media (hover:hover){
  .text-link:hover,
  .phase-live-copy a:hover,
  .catalog-card:hover .catalog-card-cta{
    opacity:.82;
  }
}

/* ---------- 黒背景セクション ---------- */
.section-dark,
.phase-live,
.contact{
  background:
    radial-gradient(circle at 50% 0%, rgba(155,18,73,.10), transparent 34%),
    #09090c !important;
}

/* ---------- 最終CTA ---------- */
.contact-card{
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:
    0 34px 100px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* ---------- スクロール表示 ---------- */
.reveal{
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.2,.75,.25,1) !important;
}

.reveal:not(.is-visible){
  transform:translateY(24px);
}

/* ---------- ヘッダー ---------- */
.site-header{
  backdrop-filter:blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(135%) !important;
  background:rgba(8,8,11,.82) !important;
  border-bottom:1px solid rgba(255,255,255,.055) !important;
}

.nav-cta{
  box-shadow:0 8px 22px rgba(255,31,99,.16);
}

/* ---------- 製品一覧フィルター ---------- */
.catalog-filter button{
  min-height:38px;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease !important;
}

@media (hover:hover){
  .catalog-filter button:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.1);
  }
}

/* ---------- スマホ ---------- */
@media (max-width:760px){
  .section{
    padding-top:76px !important;
    padding-bottom:76px !important;
  }

  .section-heading{
    margin-bottom:42px !important;
  }

  .button{
    min-height:48px !important;
    padding:13px 20px !important;
  }

  .product-feature,
  .feature-showcase-card,
  .catalog-card{
    box-shadow:
      0 14px 34px rgba(0,0,0,.13),
      0 3px 10px rgba(0,0,0,.06) !important;
  }
}

/* 動きを減らす設定 */
@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE v1.1
   PHASE 4-R1 — TAKEOUT
   ========================================================= */
.catalog-live-takeout iframe{
  width:145%;
  height:145%;
  transform:scale(.69);
  transform-origin:0 0;
}


/* =========================================================
   DPRO OFFICIAL PRODUCT SITE v1.1
   PHASE 5-R1 — SALES STRENGTHENING
   ========================================================= */
.phase-brand-statement{max-width:720px;margin:24px 0 0;padding-left:18px;border-left:3px solid #ff4f83;color:#f3f3f6;font-size:16px;font-weight:800;line-height:1.8}
.owner-problem-grid{width:min(100%,var(--max));margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.owner-problem-card,.sales-summary-card,.sales-problems{border:1px solid #e3e3e8;background:#fff;border-radius:24px;box-shadow:0 18px 48px rgba(14,14,20,.07)}
.owner-problem-card{padding:30px 26px}
.owner-problem-card>span,.sales-summary-number{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 10px;border-radius:999px;background:#111116;color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}
.owner-problem-card h3{margin:22px 0 12px;font-size:21px;line-height:1.35}
.owner-problem-card p{color:#656570;font-size:14px;line-height:1.85}
.sales-summary{background:radial-gradient(circle at 10% 0%,rgba(255,79,131,.08),transparent 30%),#f7f7f9}
.sales-summary-grid{width:min(100%,var(--max));margin:0 auto 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sales-summary-card{padding:36px 34px}
.sales-summary-card h3,.sales-problems-heading h3{margin:22px 0 18px;font-size:28px;line-height:1.25;letter-spacing:-.03em}
.sales-summary-card ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.sales-summary-card li{position:relative;padding-left:26px;color:#43434c;font-size:15px;font-weight:700;line-height:1.7}
.sales-summary-card li::before{content:"✓";position:absolute;left:0;top:0;color:#ff2e70;font-weight:900}
.sales-problems{width:min(100%,var(--max));margin:0 auto;padding:36px 34px}
.sales-problems-heading{margin-bottom:26px}
.sales-problems-heading p{color:#70707a;line-height:1.8}
.sales-problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sales-problem-card{padding:24px 22px;border:1px solid #e7e7ec;border-radius:20px;background:#fafafd}
.sales-problem-before span,.sales-problem-after span{display:block;margin-bottom:8px;font-size:10px;font-weight:900;letter-spacing:.12em}
.sales-problem-before span{color:#8a8a94}.sales-problem-after span{color:#ff2e70}
.sales-problem-before strong,.sales-problem-after strong{display:block;font-size:15px;line-height:1.55}
.sales-problem-arrow{margin:14px 0;color:#ff2e70;font-size:21px;font-weight:900}
@media (hover:hover){.owner-problem-card,.sales-summary-card,.sales-problem-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.owner-problem-card:hover,.sales-summary-card:hover,.sales-problem-card:hover{transform:translateY(-5px);border-color:rgba(255,79,131,.35);box-shadow:0 26px 64px rgba(14,14,20,.12)}}
@media (max-width:1000px){.owner-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-problem-grid{grid-template-columns:1fr}}
@media (max-width:700px){.phase-brand-statement{font-size:14px}.owner-problem-grid,.sales-summary-grid{grid-template-columns:1fr}.owner-problem-card,.sales-summary-card,.sales-problems{padding:26px 22px;border-radius:20px}.sales-summary-card h3,.sales-problems-heading h3{font-size:24px}}


/* DPRO OFFICIAL PRODUCT SITE — STEP REPAIR-17 */
.catalog-live-repair iframe{
  width:165%;
  height:165%;
  transform:scale(.61);
  transform-origin:0 0;
}


/* DPRO OFFICIAL PRODUCT SITE — STEP CLEANING-19 */
.catalog-live-cleaning iframe{
  width:165%;
  height:165%;
  transform:scale(.61);
  transform-origin:0 0;
}

/* STEP BEAUTY-WEB-1: hair salon catalog preview */
.catalog-live-hair iframe{width:125%;height:125%;transform:scale(.8);transform-origin:0 0;}

/* STEP CONSULT-WEB-1 */
.catalog-live-consult iframe{width:135%;height:135%;transform:scale(.74);transform-origin:0 0}
@media(max-width:760px){.industry-panel-wide{grid-column:auto}.catalog-live-consult iframe{width:150%;height:150%;transform:scale(.67)}}


/* STEP FUNERAL-WEB-1: 葬儀・法要サポート製品カード */
.catalog-live-funeral iframe{width:135%;height:135%;transform:scale(.74);transform-origin:0 0;}
@media(max-width:760px){.catalog-live-funeral iframe{width:150%;height:150%;transform:scale(.67);}}
