/* Service and location page layout (pg-*). Loaded after styles.css and header.css. */
.pg-hero { position: relative; overflow: hidden; padding: clamp(48px, 7vw, 92px) 0 clamp(52px, 7vw, 88px); color: #fff; background: radial-gradient(circle at 80% 10%, rgba(21,148,232,.28), transparent 38%), radial-gradient(circle at 5% 100%, rgba(243,107,33,.14), transparent 30%), linear-gradient(135deg, #061426 0%, #071d38 60%, #0b2e4f 100%); }
.pg-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: clamp(36px, 6vw, 80px); align-items: start; }
.pg-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 26px; padding: 0; list-style: none; color: #9fb4c8; font-size: .82rem; }
.pg-crumbs li + li::before { content: "›"; margin-right: 8px; color: #6f86a0; }
.pg-crumbs a { color: #e3edf6; text-decoration: none; }
.pg-crumbs a:hover { text-decoration: underline; }
.pg-hero h1 { margin: 0 0 22px; font-size: clamp(2.3rem, 5vw, 4.3rem); line-height: 1.02; letter-spacing: -.045em; }
.pg-answer { max-width: 720px; color: #d3e0ec; font-size: clamp(1.04rem, 1.7vw, 1.2rem); line-height: 1.7; }
.pg-answer strong { color: #fff; }
.pg-hero .hero-actions { margin: 30px 0 0; }
.pg-facts { padding: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.06); }
.pg-facts h2 { margin: 0 0 14px; color: #ffb27f; font: 900 .72rem/1 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.pg-facts dl { margin: 0; }
.pg-facts div { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.1); }
.pg-facts div:first-child { border-top: 0; padding-top: 0; }
.pg-facts dt { color: #8fa7bd; font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pg-facts dd { margin: 4px 0 0; color: #f1f6fa; font-size: .94rem; line-height: 1.5; }

.pg-body { padding: clamp(56px, 7vw, 96px) 0; }
.pg-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(40px, 6vw, 80px); align-items: start; }
/* Grid items default to min-width:auto, which lets a wide table stretch the column on phones. */
.pg-layout > *, .pg-hero-grid > * { min-width: 0; }
.pg-article { max-width: 780px; color: #2a3d53; font-size: 1.06rem; line-height: 1.78; }
.pg-article > * + * { margin-top: 20px; }
.pg-article h2 { margin-top: 58px; color: var(--ink); font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.15; letter-spacing: -.03em; scroll-margin-top: 110px; }
.pg-article h2:first-child { margin-top: 0; }
.pg-article h3 { margin-top: 34px; color: var(--ink); font-size: 1.26rem; line-height: 1.3; letter-spacing: -.015em; }
.pg-article p { margin: 0; }
.pg-article h2 + p, .pg-article h3 + p { margin-top: 14px; }
.pg-article a { color: var(--blue-600); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.pg-article strong { color: var(--ink); }
.pg-article ul, .pg-article ol { margin: 18px 0 0; padding-left: 0; list-style: none; }
.pg-article li { position: relative; padding-left: 30px; }
.pg-article li + li { margin-top: 10px; }
.pg-article ul > li::before { content: ""; position: absolute; left: 6px; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: var(--orange-500); }
.pg-article ol { counter-reset: pg; }
.pg-article ol > li { counter-increment: pg; padding-left: 40px; }
.pg-article ol > li::before { content: counter(pg); position: absolute; left: 0; top: .1em; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #e8f2fb; color: var(--blue-600); font-size: .8rem; font-weight: 900; }
.pg-callout { margin-top: 18px; padding: 20px 22px; border-left: 4px solid var(--orange-500); border-radius: 0 14px 14px 0; background: #f4f8fb; color: #1d3148; }
.pg-callout p { margin: 0; }
.pg-table-wrap { margin-top: 22px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.pg-article table { width: 100%; min-width: 540px; border-collapse: collapse; font-size: .94rem; line-height: 1.5; }
.pg-article th, .pg-article td { padding: 13px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.pg-article th { background: #f4f8fb; color: var(--ink); font-weight: 850; }
.pg-article tr:last-child td { border-bottom: 0; }

.pg-article .pg-form { max-width: 560px; margin: 26px 0 0; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.pg-aside { position: sticky; top: 110px; display: grid; gap: 18px; }
.pg-toc, .pg-related-box { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.pg-toc h2, .pg-related-box h2 { margin: 0 0 12px; color: #7b8899; font: 900 .7rem/1 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.pg-toc ol, .pg-related-box ul { margin: 0; padding: 0; list-style: none; }
.pg-toc li + li, .pg-related-box li + li { margin-top: 2px; }
.pg-toc a, .pg-related-box a { display: block; padding: 7px 10px; border-radius: 8px; color: #2b405a; font-size: .86rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.pg-toc a:hover, .pg-related-box a:hover { background: #f1f6fb; color: var(--blue-600); }
.pg-related-box a[aria-current="page"] { color: var(--blue-600); background: #eef6fd; }
.pg-cta-card { padding: 24px; border-radius: 18px; color: #fff; background: radial-gradient(circle at 85% 10%, rgba(21,148,232,.4), transparent 45%), linear-gradient(150deg, #07182f, #0c3a63); }
.pg-cta-card strong { display: block; font: 800 1.15rem/1.3 "Avenir Next", Inter, sans-serif; }
.pg-cta-card p { margin: 8px 0 16px; color: #c4d4e3; font-size: .86rem; line-height: 1.5; }
.pg-cta-card a { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 10px; background: var(--orange-500); color: #fff; font-weight: 850; font-size: .86rem; text-decoration: none; }
.pg-cta-card a:hover { background: #dc5512; }

.pg-faq { padding: clamp(56px, 7vw, 96px) 0; border-top: 1px solid var(--line); background: #f7fafc; }
.pg-faq .faq-layout { align-items: start; }
.pg-faq .accordion details { background: transparent; }

.pg-next { padding: clamp(56px, 7vw, 90px) 0; }
.pg-next h2 { margin-bottom: 28px; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.pg-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pg-cards a { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.pg-cards a:hover { transform: translateY(-3px); border-color: #aac8e1; box-shadow: var(--shadow-sm); }
.pg-cards span { color: var(--orange-500); font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.pg-cards strong { margin: 10px 0 8px; font: 800 1.12rem/1.3 "Avenir Next", Inter, sans-serif; }
.pg-cards small { color: var(--muted); font-size: .88rem; line-height: 1.5; }
.pg-cards em { margin-top: 16px; color: var(--blue-600); font-style: normal; font-weight: 850; font-size: .86rem; }

@media (max-width: 1024px) {
  .pg-hero-grid, .pg-layout { grid-template-columns: 1fr; }
  .pg-aside { position: static; }
  .pg-toc { display: none; }
  .pg-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .pg-cards { grid-template-columns: 1fr; }
  .pg-article { font-size: 1rem; }
  .pg-facts { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .pg-cards a { transition: none; } .pg-cards a:hover { transform: none; } }
