.st-dr-page { color: var(--text-primary); font-family: var(--font-text); }
.st-dr-page *, .st-dr-page *::before, .st-dr-page *::after { box-sizing: border-box; }
.st-dr-inner { width: min(1200px, 90%); margin-inline: auto; }
.st-dr-page p { color: var(--text-nav); font-size: 1rem; line-height: 1.85; margin: 0 0 22px; }
.st-dr-page h1, .st-dr-page h2 { font-family: var(--font-heading); color: var(--text-primary); text-transform: none; }
.st-dr-hero { position: relative; padding: 160px 0 85px; background: radial-gradient(ellipse at 15% 20%, var(--primary-soft), transparent 55%); }
.st-dr-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.st-dr-page h1 { font-size: clamp(2.6rem, 4.8vw, 4.7rem); line-height: 1.07; letter-spacing: -.035em; margin: 0 0 30px; }
.st-dr-hero-copy > p:first-of-type { color: var(--text-primary); font-size: 1.12rem; }
.st-dr-hero-image { position: relative; padding-bottom: 30px; }
.st-dr-hero-image::before { content: ''; position: absolute; inset: 25px -15px 10px 25px; border: 1px solid var(--primary-mid); border-radius: 20px; }
.st-dr-hero-image img { position: relative; display: block; width: 100%; height: 570px; object-fit: cover; border-radius: 18px; }
.st-dr-image-mark { position: absolute; bottom: 0; right: 24px; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--color-primary); color: #080808; font-size: 3rem; }
.st-dr-button { display: inline-flex; justify-content: center; align-items: center; gap: 28px; padding: 17px 24px; border-radius: 7px; background: var(--color-primary); color: #080808; font-weight: 700; text-decoration: none; line-height: 1.5; transition: transform .2s, box-shadow .2s; }
.st-dr-button span { font-size: 1.4rem; }
.st-dr-button:hover { transform: translateY(-3px); box-shadow: 0 8px 28px var(--primary-mid); color: #080808; }
.st-dr-page a:focus-visible { outline: 3px solid var(--text-primary); outline-offset: 5px; }
.st-dr-section { padding: clamp(45px, 6vw, 85px) 0; }
.st-dr-overview { border-block: 1px solid var(--border-light); background: var(--bg-elevated); }
.st-dr-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; }
.st-dr-two-col p { margin: 0; font-size: 1.12rem; }
.st-dr-section-heading { max-width: 850px; font-size: clamp(1.75rem, 3vw, 2.7rem); line-height: 1.25; margin: 0 0 40px; }
.st-dr-role-grid, .st-dr-benefits, .st-dr-steps { list-style: none; padding: 0; }
.st-dr-role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0; }
.st-dr-role { padding: 30px; border: 1px solid var(--border-light); border-radius: 12px; background: var(--bg-card); transition: border-color .2s, background .2s; }
.st-dr-role:hover { border-color: var(--primary-mid); background: var(--bg-card-hover); }
.st-dr-role-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 26px; color: var(--color-primary); background: var(--primary-bg); border: 1px solid var(--primary-mid); border-radius: 15px; transition: background .2s, border-color .2s; }
.st-dr-role-icon svg { display: block; }
.st-dr-role:hover .st-dr-role-icon { background: var(--primary-soft); border-color: var(--color-primary); }
.st-dr-role p { margin: 0; }
.st-dr-admin { margin: 32px 0 0 !important; max-width: 920px; border-left: 3px solid var(--color-primary); padding-left: 24px; }
.st-dr-process { background: var(--bg-elevated); border-block: 1px solid var(--border-light); }
.st-dr-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.st-dr-step-number { display: block; font-family: var(--font-heading); font-size: 3.5rem; color: var(--color-primary); border-bottom: 1px solid var(--border-medium); padding-bottom: 15px; margin-bottom: 24px; }
.st-dr-steps p { margin: 0; }
.st-dr-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.st-dr-check { color: var(--color-primary); font-size: 2rem; }
.st-dr-benefits h2 { font-size: 1.35rem; margin: 14px 0 12px; }
.st-dr-benefits p { margin: 0; }
.st-dr-partnership-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.st-dr-partnership img { display: block; width: 100%; height: 560px; object-fit: cover; border-radius: 16px; }
.st-dr-partnership p:last-child { margin: 0; }
.st-dr-details { position: relative; isolation: isolate; background: var(--bg-body); border-block: 1px solid var(--border-light); }
.st-dr-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 0; list-style: none; }
.st-dr-detail-card { position: relative; padding: clamp(24px, 3vw, 36px); border: 1px solid var(--border-medium); border-radius: 16px; background: var(--bg-body); background: color-mix(in srgb, var(--bg-body) 96%, var(--text-primary) 4%); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.st-dr-detail-card::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--color-primary); opacity: .65; }
.st-dr-detail-card:hover { border-color: var(--primary-mid); box-shadow: 0 8px 30px rgba(0, 0, 0, .08); }
.st-dr-detail-top { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; color: var(--color-primary); }
.st-dr-detail-number { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border: 1px solid var(--primary-mid); border-radius: 12px; background: var(--primary-bg); font-size: .85rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.st-dr-detail-line { flex: 1; height: 1px; background: var(--border-medium); }
.st-dr-detail-grid p { padding: 0; margin: 0; color: var(--text-primary); font-size: 1rem; line-height: 1.8; }
.st-dr-cta { padding: clamp(30px, 6vw, 70px); border: 1px solid var(--primary-mid); border-radius: 16px; background: radial-gradient(ellipse at top right, var(--primary-soft), transparent 75%), var(--bg-card); text-align: center; }
.st-dr-cta h2 { max-width: 850px; margin: 0 auto 32px; font-size: clamp(1.8rem, 3.4vw, 3rem); line-height: 1.3; }
@media (max-width: 1000px) {
    .st-dr-hero-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .st-dr-role-grid, .st-dr-benefits, .st-dr-steps { grid-template-columns: repeat(2, 1fr); }
    .st-dr-partnership-grid { gap: 32px; }
}
@media (max-width: 700px) {
    .st-dr-hero { padding: 125px 0 45px; }
    .st-dr-hero-grid, .st-dr-two-col, .st-dr-partnership-grid, .st-dr-detail-grid { grid-template-columns: 1fr; gap: 26px; }
    .st-dr-hero-image img { height: 390px; }
    .st-dr-partnership img { height: 340px; }
    .st-dr-hero-image::before { right: -8px; }
    .st-dr-role { padding: 22px; }
    .st-dr-detail-grid { gap: 16px; }
    .st-dr-benefits { gap: 30px 24px; }
}
@media (max-width: 440px) {
    .st-dr-role-grid, .st-dr-benefits, .st-dr-steps { grid-template-columns: 1fr; }
    .st-dr-hero-image img { height: 320px; }
    .st-dr-button { width: 100%; gap: 14px; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .st-dr-page *, .st-dr-page *::before, .st-dr-page *::after { transition: none !important; }
}
