/* Focused service pages; shared site colors and typography come from style.css. */
.detail-page { padding: 120px 0 80px; }
.detail-breadcrumb { display:flex; flex-wrap:wrap; gap:.6rem; color:#415668; font-size:.85rem; margin:0 0 36px; }
.detail-breadcrumb a, .detail-related a { color:#155580; text-decoration:underline; text-underline-offset:3px; }
.detail-hero { padding: clamp(40px,7vw,90px); border-radius:30px; color:#fff8eb; background:linear-gradient(125deg,#0b3047,#155580 58%,#376e87); }
.detail-hero > div { max-width:800px; }
.detail-hero h1 { font-family:Cinzel,serif; font-size:clamp(2.1rem,5vw,4.1rem); line-height:1.15; margin:14px 0 20px; }
.detail-hero p { font-size:clamp(1rem,1.8vw,1.25rem); line-height:1.7; max-width:690px; margin:0 0 28px; }
.detail-hero .section-kicker { color:#e3b23c; }
.detail-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(24px,5vw,70px); margin:80px 0; }
.detail-intro h2, .detail-section h2, .detail-cta h2 { font-family:Cinzel,serif; font-size:clamp(1.65rem,3vw,2.6rem); line-height:1.3; margin:10px 0 18px; }
.detail-intro p, .detail-section p, .detail-cta p { line-height:1.8; }
.detail-image { margin:0; } .detail-image img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:22px; }
.detail-image figcaption { font-size:.8rem; margin-top:8px; color:#415668; }
.detail-text-panel { border-radius:22px; background:#155580; color:#fff8eb; padding:clamp(36px,5vw,65px); font-size:1.4rem; line-height:1.5; }
.detail-text-panel span { color:#e3b23c; display:block; font-family:Cinzel,serif; font-size:.8rem; text-transform:uppercase; letter-spacing:.15em; }
.detail-section { margin:80px 0; } .detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:25px; }
.detail-grid article { background:#fff8eb; padding:clamp(24px,3vw,36px); border:1px solid #dccda9; border-radius:18px; }
.detail-grid h3, .detail-process h3 { font-family:Cinzel,serif; color:#155580; margin:0 0 9px; }
.detail-grid p, .detail-process p { margin:0; }
.detail-process { padding:clamp(28px,5vw,65px); border-radius:24px; background:#e8edf0; }
.detail-process ol { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; padding-left:24px; }
.detail-process li { padding-left:6px; }
.detail-faq details { padding:18px 0; border-bottom:1px solid #c8c5ba; } .detail-faq summary { cursor:pointer; font-weight:700; color:#155580; }
.detail-faq details p { max-width:780px; margin:12px 0 0; }
.detail-cta { text-align:center; padding:clamp(38px,6vw,75px); border-radius:24px; background:#fff8eb; border:1px solid #dccda9; }
.detail-cta p { max-width:670px; margin:0 auto 25px; }
.detail-related { display:flex; justify-content:center; flex-wrap:wrap; gap:14px 30px; margin-top:30px; font-size:.9rem; }
.service-detail-links { padding:20px 0 75px; } .service-detail-links .section-heading p { margin-top:15px; }
.service-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.service-detail-grid a { display:block; padding:30px; background:#fff8eb; border:1px solid #dccda9; border-radius:20px; color:#18384a; text-decoration:none; }
.service-detail-grid a:hover, .service-detail-grid a:focus-visible { border-color:#155580; box-shadow:0 8px 20px #15558022; }
.service-detail-grid h3 { font-family:Cinzel,serif; color:#155580; margin:0 0 10px; }
.service-detail-grid p { line-height:1.7; } .service-detail-grid span { color:#155580; font-weight:700; }
@media(max-width:760px) { .detail-page { padding:90px 0 50px; } .detail-intro, .detail-grid, .detail-process ol, .service-detail-grid { grid-template-columns:1fr; } .detail-intro, .detail-section { margin:55px 0; } .detail-hero { padding:35px 25px; } }
