*, *::before, *::after {
box-sizing: border-box;
}
:root {
--wh-brand: #6800cd;
--wh-ff: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', system-ui, sans-serif;
--oh-bg: #f2f4f6;
--oh-surface: #fff;
--oh-title: #191f28;
--oh-body: #4e5968;
--oh-muted: #8b95a1;
--oh-line: rgba(0, 0, 0, 0.06);
--oh-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
--oh-green: #16a34a;
--oh-green-bg: #f0fdf4;
--oh-green-border: #bbf7d0;
--oh-amber-bg: #fef9ef;
--oh-amber-border: #fde68a;
--oh-amber-text: #92400e;
--oh-red-bg: #fef2f2;
--oh-red-border: #fecaca;
--oh-red-text: #991b1b;
--oh-blue-bg: #eff6ff;
--oh-blue-border: #bfdbfe;
--oh-blue-text: #1e40af;
}
html, body.oh-page {
margin: 0;
padding: 0;
font-family: var(--wh-ff);
font-size: 16px;
line-height: 1.6;
background: var(--oh-bg) !important;
color: var(--oh-title);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
word-break: keep-all;
}
.oh-wrap,
.oh-wrap *,
.wh-page-nav-wrap,
.wh-page-nav-wrap * {
font-family: var(--wh-ff) !important;
font-variant-ligatures: none;
}
body.oh-page .site-header,
body.oh-page .site-footer,
body.oh-page #wpadminbar {
display: none !important;
}
.oh-page a,
.oh-page a:hover,
.oh-page a:focus,
.oh-page a:active {
text-decoration: none !important;
} .wh-page-nav-wrap {
position: sticky;
top: 0;
z-index: 1000;
background: rgba(242, 244, 246, 0.96);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--oh-line);
}
.wh-page-nav {
display: flex;
align-items: center;
height: 56px;
padding: 0 12px 0 4px;
max-width: 800px;
margin: 0 auto;
}
body.oh-page .wh-back-btn {
width: 44px;
height: 44px;
min-width: 44px;
min-height: 44px;
display: flex;
align-items: center;
justify-content: center;
background: transparent !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
margin: 0 !important;
cursor: pointer;
border-radius: 12px;
flex-shrink: 0;
-webkit-tap-highlight-color: transparent;
appearance: none;
-webkit-appearance: none;
}
.wh-back-btn svg {
width: 24px;
height: 24px;
fill: #191f28;
}
.wh-nav-title {
flex: 1;
font-size: 16px;
font-weight: 700;
color: #191f28;
letter-spacing: -0.3px;
padding-left: 4px;
} .oh-wrap {
max-width: 800px;
margin: 0 auto;
padding-bottom: calc(env(safe-area-inset-bottom) + 48px);
} .oh-hero {
padding: 24px 20px 8px;
}
.oh-hero-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(104, 0, 205, 0.08);
border-radius: 980px;
padding: 5px 12px;
font-size: 12px;
font-weight: 700;
color: var(--wh-brand);
letter-spacing: -0.2px;
margin-bottom: 14px;
}
.oh-hero-badge-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--wh-brand);
flex-shrink: 0;
}
.oh-hero-title {
font-size: 26px;
font-weight: 800;
color: var(--oh-title);
line-height: 1.28;
letter-spacing: -0.6px;
margin: 0 0 10px;
}
.oh-hero-title .em {
color: var(--wh-brand);
}
.oh-hero-sub {
font-size: 15px;
color: var(--oh-body);
line-height: 1.65;
letter-spacing: -0.2px;
margin: 0;
} .oh-kpi-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
padding: 16px 20px 0;
}
.oh-kpi {
background: var(--oh-surface);
border-radius: 16px;
padding: 16px 10px;
text-align: center;
border: 1px solid var(--oh-line);
box-shadow: var(--oh-shadow);
}
.oh-kpi-icon {
width: 36px;
height: 36px;
border-radius: 12px;
background: rgba(104, 0, 205, 0.08);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 8px;
}
.oh-kpi-title {
font-size: 13px;
font-weight: 800;
color: var(--wh-brand);
margin-bottom: 5px;
letter-spacing: -0.25px;
line-height: 1.35;
}
.oh-kpi-desc {
font-size: 12px;
color: var(--oh-body);
line-height: 1.5;
letter-spacing: -0.15px;
} .oh-section {
padding: 28px 20px 0;
}
.oh-section-badge {
display: inline-flex;
align-items: center;
font-size: 12px;
font-weight: 700;
letter-spacing: -0.2px;
padding: 4px 10px;
border-radius: 980px;
margin-bottom: 10px;
}
.oh-section-badge.common {
background: #fff;
color: var(--oh-body);
border: 1px solid var(--oh-line);
}
.oh-section-badge.urban {
background: rgba(104, 0, 205, 0.08);
color: var(--wh-brand);
border: 1px solid rgba(104, 0, 205, 0.14);
}
.oh-section-badge.new {
background: var(--oh-green-bg);
color: var(--oh-green);
border: 1px solid var(--oh-green-border);
}
.oh-section-title {
font-size: 20px;
font-weight: 800;
color: var(--oh-title);
letter-spacing: -0.5px;
line-height: 1.3;
margin: 0 0 6px;
}
.oh-section-desc {
font-size: 14px;
color: var(--oh-body);
line-height: 1.6;
margin: 0 0 14px;
} .oh-card {
background: var(--oh-surface);
border-radius: 16px;
border: 1px solid var(--oh-line);
box-shadow: var(--oh-shadow);
overflow: hidden;
}
.oh-card-row {
padding: 18px 16px;
border-bottom: 1px solid var(--oh-line);
}
.oh-card-row:last-child {
border-bottom: none;
}
.oh-row-head {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 8px;
}
.oh-step-num {
width: 26px;
height: 26px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: 800;
color: #fff;
flex-shrink: 0;
}
.oh-step-num.urban { background: var(--wh-brand); }
.oh-step-num.new { background: var(--oh-green); }
.oh-row-title {
font-size: 16px;
font-weight: 800;
color: var(--oh-title);
letter-spacing: -0.3px;
}
.oh-row-body {
font-size: 14px;
color: var(--oh-body);
line-height: 1.65;
padding-left: 36px;
}
.oh-row-body strong {
color: var(--oh-title);
font-weight: 700;
} .oh-checklist {
display: flex;
flex-direction: column;
gap: 12px;
}
.oh-check-row {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 15px;
color: var(--oh-body);
line-height: 1.65;
letter-spacing: -0.15px;
}
.oh-check-icon {
flex-shrink: 0;
margin-top: 2px;
} .oh-callout {
border-radius: 12px;
padding: 14px 16px;
margin-top: 12px;
border: 1px solid;
}
.oh-callout.blue {
background: var(--oh-blue-bg);
border-color: var(--oh-blue-border);
}
.oh-callout.amber {
background: var(--oh-amber-bg);
border-color: var(--oh-amber-border);
}
.oh-callout.red {
background: var(--oh-red-bg);
border-color: var(--oh-red-border);
}
.oh-callout-label {
font-size: 12px;
font-weight: 800;
margin-bottom: 6px;
letter-spacing: -0.2px;
}
.oh-callout.blue .oh-callout-label { color: var(--oh-blue-text); }
.oh-callout.amber .oh-callout-label { color: var(--oh-amber-text); }
.oh-callout.red .oh-callout-label { color: var(--oh-red-text); }
.oh-callout p {
font-size: 13px;
line-height: 1.6;
margin: 0;
color: var(--oh-body);
}
.oh-callout.red p { color: #7f1d1d; }
.oh-codebox {
background: #f2f4f6;
border: 1px solid var(--oh-line);
border-radius: 10px;
padding: 12px 14px;
font-family: ui-monospace, 'Consolas', monospace;
font-size: 13px;
color: var(--oh-title);
margin-top: 8px;
line-height: 1.65;
word-break: break-all;
} .oh-fee-chip {
display: inline-flex;
align-items: baseline;
gap: 4px;
background: var(--oh-green-bg);
border: 1px solid var(--oh-green-border);
border-radius: 12px;
padding: 8px 14px;
margin-top: 10px;
}
.oh-fee-num {
font-size: 22px;
font-weight: 800;
color: var(--oh-green);
}
.oh-fee-label {
font-size: 13px;
color: var(--oh-green);
font-weight: 600;
} .oh-link-btn {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 13px;
font-weight: 700;
padding: 10px 14px;
border-radius: 12px;
margin-top: 10px;
border: 1px solid;
transition: background 0.15s;
}
.oh-link-btn.brand {
background: rgba(104, 0, 205, 0.06);
color: var(--wh-brand);
border-color: rgba(104, 0, 205, 0.18);
}
.oh-link-btn.green {
background: var(--oh-green-bg);
color: var(--oh-green);
border-color: var(--oh-green-border);
}
.oh-link-btn:active {
opacity: 0.85;
} .oh-notice {
margin: 24px 20px 0;
background: rgba(104, 0, 205, 0.06);
border: 1px solid rgba(104, 0, 205, 0.14);
border-radius: 16px;
padding: 16px 18px;
}
.oh-notice-title {
font-size: 14px;
font-weight: 800;
color: var(--wh-brand);
margin-bottom: 6px;
}
.oh-notice-body {
font-size: 13px;
color: var(--oh-body);
line-height: 1.6;
} .oh-cta {
margin: 28px 20px 0;
background: var(--oh-surface);
border-radius: 16px;
padding: 24px 20px;
text-align: center;
border: 1px solid var(--oh-line);
box-shadow: var(--oh-shadow);
}
.oh-cta p {
font-size: 14px;
color: var(--oh-body);
line-height: 1.6;
margin: 0 0 16px;
}
.oh-btn-primary {
display: block;
background: var(--wh-brand);
color: #fff;
font-size: 15px;
font-weight: 700;
padding: 14px 20px;
border-radius: 14px;
text-align: center;
}
.oh-btn-secondary {
display: block;
margin-top: 10px;
background: #fff;
color: var(--oh-body);
font-size: 15px;
font-weight: 600;
padding: 13px 20px;
border-radius: 14px;
border: 1px solid var(--oh-line);
text-align: center;
}
.oh-meta {
padding: 20px 20px 0;
text-align: center;
font-size: 12px;
color: var(--oh-muted);
line-height: 1.7;
}
.oh-meta strong {
color: var(--wh-brand);
font-weight: 700;
}
@media (min-width: 768px) {
.oh-hero {
padding-top: 32px;
padding-left: 24px;
padding-right: 24px;
}
.oh-hero-title {
font-size: 32px;
}
.oh-kpi-row,
.oh-section,
.oh-notice,
.oh-cta,
.oh-meta {
padding-left: 24px;
padding-right: 24px;
}
.oh-section-title {
font-size: 22px;
}
.oh-btn-primary,
.oh-btn-secondary {
max-width: 320px;
margin-left: auto;
margin-right: auto;
}
}