.oral-service-page { background:#fff; color:#203456; }
.oral-service-page main { overflow:clip; }
.oral-shell { width:min(1190px, calc(100% - 48px)); margin-inline:auto; }
.oral-hero { position:relative; min-height:480px; color:#fff; background:#102f58; isolation:isolate; }
.oral-hero::before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--oral-hero); background-size:cover; background-position:center 42%; }
.oral-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,32,66,.97) 0%,rgba(8,32,66,.89) 34%,rgba(8,32,66,.48) 61%,rgba(8,32,66,.07) 100%); }
.oral-hero__inner { min-height:480px; padding-top:24px; padding-bottom:46px; display:flex; flex-direction:column; }
.oral-crumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:#e4ebf6; }
.oral-crumbs a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.oral-hero__copy { width:min(690px, 100%); margin-top:auto; }
.oral-eyebrow { display:block; color:#ffbd62; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin-bottom:18px; }
.oral-service-page h1,.oral-service-page h2,.oral-service-page h3 { color:#102b50; }
.oral-service-page h1,.oral-service-page h2 { font-family:Georgia,'Times New Roman',serif; }
.oral-hero h1 { font-size:clamp(38px, 5vw, 63px); line-height:1.04; color:#fff; margin:0 0 18px; text-wrap:balance; }
.oral-hero p { max-width:640px; color:#f3f6fa; font-size:18px; line-height:1.48; margin:0; }
.oral-hero__actions,.oral-final__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.oral-button { appearance:none; border:1px solid transparent; border-radius:8px; padding:14px 22px; min-height:48px; font-family:inherit; font-size:14px; line-height:1.2; font-weight:700; text-decoration:none; display:inline-flex; gap:8px; align-items:center; justify-content:center; cursor:pointer; transition:background .2s,transform .2s,box-shadow .2s; }
.oral-button:hover { transform:translateY(-2px); }
.oral-button:focus-visible,.oral-card:focus-visible,.oral-crumbs a:focus-visible { outline:3px solid #ffc16e; outline-offset:3px; }
.oral-button--primary { color:#fff; background:#f27722; box-shadow:0 9px 20px rgba(182,74,14,.2); }
.oral-button--primary:hover { background:#d96116; color:#fff; }
.oral-button--secondary { color:#fff; border-color:rgba(255,255,255,.86); background:rgba(7,27,58,.22); }
.oral-button--secondary:hover { color:#102b50; background:#fff; }
.oral-trust { border-bottom:1px solid #dce6f3; background:#fff; }
.oral-trust .oral-shell { display:grid; grid-template-columns:repeat(4,1fr); }
.oral-trust span { min-height:68px; padding:16px 20px; color:#556985; border-right:1px solid #dce6f3; font-size:13px; line-height:1.35; }
.oral-trust span:first-child { border-left:1px solid #dce6f3; }
.oral-trust strong { color:#0e305f; font-size:15px; }
.oral-section { padding:48px 0; }
.oral-section:nth-of-type(even) { background:#f8fbff; }
.oral-heading { margin-bottom:22px; }
.oral-heading h2,.oral-prose h2,.oral-cost h2,.oral-final h2 { margin:0 0 8px; font-size:clamp(29px,3vw,40px); line-height:1.13; }
.oral-heading p { margin:0; max-width:700px; color:#566a86; font-size:16px; }
.oral-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.oral-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.oral-card { display:flex; flex-direction:column; min-height:192px; padding:22px; color:#203456; border:1px solid #d9e5f5; border-radius:12px; background:#fff; box-shadow:0 7px 18px rgba(18,54,103,.055); text-decoration:none; }
a.oral-card:hover { border-color:#70a2e4; box-shadow:0 12px 24px rgba(18,54,103,.12); }
.oral-card__number { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:#f27722; background:#fff4e9; font-weight:800; font-size:13px; margin-bottom:17px; }
.oral-card h3 { margin:0 0 8px; font-family:Georgia,'Times New Roman',serif; font-size:20px; line-height:1.18; }
.oral-card p { margin:0; color:#556985; font-size:14px; line-height:1.47; }
.oral-card__link { margin-top:auto; padding-top:16px; color:#155bb0; font-weight:700; font-size:13px; }
.oral-prose { max-width:920px; }
.oral-prose p { font-size:16px; line-height:1.65; margin:14px 0 0; }
.oral-prose a { color:#155bb0; font-weight:700; }
.oral-section--steps { background:#f8fbff; }
.oral-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.oral-steps li { position:relative; padding:18px 18px 22px; background:#fff; border:1px solid #d9e5f5; border-radius:10px; }
.oral-steps li > span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f27722; color:white; font-weight:800; margin-bottom:14px; }
.oral-steps h3 { font-size:17px; margin:0 0 8px; }
.oral-steps p { margin:0; color:#556985; line-height:1.5; font-size:14px; }
.oral-split { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.oral-split > div { padding:24px 28px; border:1px solid #d9e5f5; border-radius:12px; background:#fff; }
.oral-split h3 { margin:0 0 14px; font-size:21px; }
.oral-split ul { padding-left:20px; margin:0; display:grid; gap:9px; color:#506480; line-height:1.5; }
.oral-split li::marker { color:#f27722; }
.oral-cost { display:flex; gap:30px; align-items:center; justify-content:space-between; padding:28px 32px; background:#fff8ef; border:1px solid #f5d7b1; border-radius:12px; }
.oral-cost h2 { font-size:30px; }
.oral-cost p { margin:0; max-width:800px; line-height:1.55; }
.oral-cost .oral-button { flex:none; }
.oral-section--final { padding-top:0; }
.oral-final { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:24px 30px; border:1px solid #ee8a45; border-radius:12px; }
.oral-final h2 { font-size:28px; }
.oral-final p { margin:0; max-width:600px; line-height:1.45; }
.oral-final__actions { margin-top:0; flex:none; }
.oral-final .oral-button--secondary { color:#155bb0; border-color:#9ebee6; background:#fff; }
.oral-final .oral-button--secondary:hover { background:#edf5ff; }
@media(max-width:1000px) { .oral-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .oral-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); } .oral-cost,.oral-final { align-items:flex-start; flex-direction:column; } }
@media(max-width:700px) { .oral-shell { width:min(100% - 32px,1190px); } .oral-hero,.oral-hero__inner { min-height:520px; } .oral-hero::before { background-position:62% center; } .oral-hero::after { background:linear-gradient(90deg,rgba(8,32,66,.94),rgba(8,32,66,.71)); } .oral-hero__inner { padding:20px 0 34px; } .oral-hero h1 { font-size:clamp(33px,8vw,48px); } .oral-hero p { font-size:16px; } .oral-hero__actions,.oral-final__actions { flex-direction:column; width:100%; } .oral-button { width:100%; } .oral-trust .oral-shell { grid-template-columns:repeat(2,1fr); } .oral-trust span { min-height:60px; padding:11px; border-bottom:1px solid #dce6f3; } .oral-section { padding:34px 0; } .oral-grid,.oral-grid--three,.oral-steps,.oral-split { grid-template-columns:1fr; } .oral-card { min-height:0; } .oral-cost,.oral-final { padding:22px; } .oral-cost h2,.oral-final h2 { font-size:27px; } }
@media(prefers-reduced-motion:reduce) { .oral-button { transition:none; } }
