.asr-service { --ink:#183a35; --teal:#147f70; --mint:#e9f5f0; --cream:#faf6ee; --line:#dce7e1; color:var(--ink); }
.asr-service *, .asr-service-directory * { box-sizing:border-box; }
.asr-service__wrap { width:min(100% - 40px,1180px); margin:0 auto; }
.asr-service__crumb { display:flex; flex-wrap:wrap; align-items:center; gap:11px; padding:23px 0 26px; color:#667d73; font-size:13px; }
.asr-service__crumb a { color:var(--teal); text-decoration:none; }
.asr-service h1, .asr-service h2, .asr-service h3, .asr-service-directory h2 { color:var(--ink); font-family:"Bodoni Moda",Georgia,serif; letter-spacing:-.025em; }
.asr-service p { line-height:1.68; }
.asr-service__eyebrow { color:var(--teal); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.asr-service__hero { display:grid; grid-template-columns:1.12fr .88fr; min-height:530px; gap:55px; align-items:center; overflow:hidden; border-radius:20px; padding:clamp(35px,5vw,70px); background:linear-gradient(128deg,#eaf4f0,#faf6ee 73%); }
.asr-service__hero h1 { margin:14px 0 8px; font-size:clamp(52px,6vw,82px); line-height:1; }
.asr-service__hero--laser h1 { font-size:clamp(48px,5vw,68px); }
.asr-service__hero h2 { max-width:650px; margin:0 0 20px; font-size:clamp(26px,2.8vw,40px); line-height:1.12; }
.asr-service__hero p:not(.asr-service__eyebrow) { max-width:640px; font-size:16px; }
.asr-service__actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:27px; }
.asr-service__button { display:inline-flex; justify-content:center; align-items:center; min-height:51px; padding:13px 25px; border-radius:5px; background:var(--teal); color:#fff !important; font-weight:700; text-decoration:none !important; }
.asr-service__button:hover { background:var(--ink); }
.asr-service__text-link { color:var(--teal); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.asr-service__art { position:relative; display:flex; justify-content:center; align-items:center; min-height:390px; border-radius:50% 50% 12px 12px; background:radial-gradient(circle at 46% 38%,#fdfcf7 0,#c8e3db 58%,#86b6aa 100%); }
.asr-service__art-ring { position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(255,255,255,.85); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.13),0 0 0 70px rgba(255,255,255,.11); }
.asr-service__art-core { width:44%; aspect-ratio:1; border-radius:50%; background:linear-gradient(145deg,#fffcf4,#d2e5dd 70%); box-shadow:inset 15px 18px 35px rgba(255,255,255,.65),25px 25px 50px rgba(27,79,67,.19); }
.asr-service__hero--laser .asr-service__art { background:radial-gradient(circle at 44% 37%,#fffdf6 0,#d7e8e1 50%,#66a69b 100%); }
.asr-service__hero--laser .asr-service__art-core { width:55%; border-radius:30% 70% 53% 47%; background:repeating-linear-gradient(130deg,rgba(255,255,255,.6) 0 5px,rgba(215,242,232,.6) 6px 22px); transform:rotate(-15deg); }
.asr-service__art-label { position:absolute; bottom:24px; left:22px; color:#245f53; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.asr-service__intro { max-width:790px; padding:75px 0 34px; }
.asr-service__intro h2 { margin:10px 0 15px; font-size:clamp(34px,4vw,52px); line-height:1.1; }
.asr-service__intro p:last-child { font-size:17px; }
.asr-service__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.asr-service__card { min-height:340px; padding:34px 28px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.asr-service__card span { color:var(--teal); font-size:13px; font-weight:800; letter-spacing:.12em; }
.asr-service__card h3 { margin:27px 0 14px; font-size:29px; line-height:1.15; }
.asr-service__card p { margin:0; color:#4c6259; font-size:14px; }
.asr-service__notice { display:grid; grid-template-columns:.8fr 1.2fr; gap:45px; align-items:center; margin:55px 0; padding:42px; border-radius:16px; background:var(--cream); }
.asr-service__notice h2 { margin:10px 0 0; font-size:37px; }
.asr-service__notice > p { margin:0; }
.asr-service__faq { display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; padding:20px 0 80px; }
.asr-service__faq h2 { margin:10px 0; font-size:42px; }
.asr-service__faq details { border-bottom:1px solid var(--line); }
.asr-service__faq summary { position:relative; padding:19px 25px 19px 0; cursor:pointer; color:var(--ink); font-size:17px; font-weight:700; list-style:none; }
.asr-service__faq summary::-webkit-details-marker { display:none; }
.asr-service__faq summary:after { position:absolute; right:3px; content:'+'; color:var(--teal); font-size:24px; font-weight:400; }
.asr-service__faq details[open] summary:after { content:'−'; }
.asr-service__faq details p { margin:0 0 20px; color:#4d635a; font-size:14px; }
.asr-service__cta { display:flex; justify-content:space-between; align-items:center; gap:35px; margin-bottom:80px; padding:48px 55px; border-radius:18px; background:var(--ink); color:#dcece6; }
.asr-service__cta h2 { margin:10px 0; color:#fff; font-size:42px; }
.asr-service__cta .asr-service__eyebrow { color:#96dbc7; }
.asr-service__cta p { margin:0 0 10px; }
.asr-service__cta a:not(.asr-service__button) { color:#a8e4d3; font-size:13px; text-decoration:underline; }
.asr-service__button--light { flex:0 0 auto; background:#fff; color:var(--ink) !important; }
.asr-service-directory { width:min(100% - 40px,1180px); margin:40px auto 75px; padding:42px; border-radius:17px; background:#e9f5f0; }
.asr-service-directory h2 { margin:6px 0 10px; font-size:39px; }
.asr-service-directory__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:25px; }
.asr-service-directory__links a { display:flex; justify-content:space-between; gap:15px; padding:22px 24px; border:1px solid #cbe1d7; border-radius:11px; background:#fff; color:#183a35; text-decoration:none; }
.asr-service-directory__links a:hover { border-color:#147f70; }
.asr-service-directory__links span { color:#147f70; font-weight:700; }
@media(max-width:900px) { .asr-service__hero { grid-template-columns:1fr; } .asr-service__art { min-height:290px; } .asr-service__cards { grid-template-columns:1fr 1fr; } .asr-service__faq { gap:30px; } }
@media(max-width:650px) { .asr-service__wrap, .asr-service-directory { width:min(100% - 28px,1180px); } .asr-service__hero { padding:32px 23px; gap:22px; } .asr-service__art { min-height:230px; } .asr-service__cards, .asr-service__notice, .asr-service__faq, .asr-service-directory__links { grid-template-columns:1fr; } .asr-service__card { min-height:0; padding:28px 23px; } .asr-service__notice { gap:12px; padding:28px 24px; } .asr-service__faq { padding-bottom:55px; } .asr-service__cta { align-items:flex-start; flex-direction:column; padding:32px 24px; } .asr-service-directory { padding:28px 22px; } }
.asr-service__visual { position:relative; height:430px; margin:0; overflow:hidden; border-radius:15px; box-shadow:0 20px 46px rgba(23,65,55,.13); }
.asr-service__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.asr-service__visual figcaption { position:absolute; right:0; bottom:0; left:0; padding:18px; background:linear-gradient(transparent,rgba(16,41,35,.85)); color:#fff; font-size:11px; line-height:1.4; }
@media(max-width:900px) { .asr-service__visual { height:340px; } }
@media(max-width:650px) { .asr-service__visual { height:260px; } }

/* Match the established ASR service-page layout. */
.asr-service-title { min-height:122px; padding:20px 0 22px; }
.asr-service-title .entry-title { margin:0 0 9px; font-size:44px; line-height:1.1; }
.asr-service__hero { grid-template-columns:1fr 1fr; min-height:0; gap:0; margin:40px 0 50px; padding:0; border-radius:17px; background:#eff6f5; }
.asr-service__hero > div:first-child { align-self:center; padding:38px 42px; }
.asr-service__hero h2 { margin:10px 0 19px; font-size:clamp(32px,3.5vw,48px); line-height:1.16; }
.asr-service__hero p:not(.asr-service__eyebrow) { font-size:15px; }
.asr-service__visual { align-self:stretch; width:100%; height:auto; min-height:410px; border-radius:0 17px 17px 0; box-shadow:none; }
.asr-service__visual img { position:absolute; inset:0; }
.asr-service__cards { display:block; }
.asr-service__card { min-height:0; padding:0 0 32px; border:0; border-radius:0; background:transparent; }
.asr-service__card h3 { margin:0 0 16px; font-size:30px; }
.asr-service__card p { color:#343d3a; font-size:15px; }
.asr-service__notice { margin:20px 0 62px; }
.asr-service__gallery { padding:25px 0 75px; text-align:center; }
.asr-service__gallery h2 { margin:0 0 30px; font-size:clamp(39px,4vw,55px); }
.asr-service__gallery > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.asr-service__gallery img { width:100%; height:235px; border-radius:8px; object-fit:cover; }
.asr-service__gallery-link { display:inline-flex; margin-top:25px; padding:12px 23px; border-radius:5px; background:#147f70; color:#fff !important; font-weight:700; text-decoration:none !important; }
@media(max-width:850px) { .asr-service__hero { grid-template-columns:1fr; } .asr-service__visual { min-height:340px; border-radius:0 0 17px 17px; } }
@media(max-width:650px) { .asr-service-title { min-height:105px; padding:16px 0 18px; } .asr-service-title .entry-title { font-size:36px; } .asr-service__hero > div:first-child { padding:30px 24px; } .asr-service__visual { min-height:260px; } .asr-service__gallery > div { grid-template-columns:1fr; } .asr-service__gallery img { height:240px; } }
