/* Approved block 02: retain its rows and typography; add readable detail. */
.services .section-heading>p{color:var(--ink)}
.services .section-heading>.services-guidance{display:block;padding-left:22px;border-left:1px solid color-mix(in srgb,var(--accent) 30%,var(--paper))}
.services-guidance-lead{display:block;font:500 27px/1.18 var(--serif);color:var(--accent)}
.services-guidance-text{display:block;font:400 15px/1.65 var(--sans);margin-top:12px}
.service-panel{overflow:hidden;overflow:clip}
.service>summary{position:relative;isolation:isolate}
.service>summary::before{content:'';position:absolute;inset:0 -14px;z-index:-1;background:color-mix(in srgb,var(--accent) 4%,var(--paper));opacity:0;transition:opacity .3s ease;pointer-events:none}
.service[open]>summary::before{opacity:1}
.service[open]>summary::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:color-mix(in srgb,var(--accent) 20%,var(--paper));pointer-events:none}
.service[open]>summary h3{color:var(--accent)}
.service[open]>.service-panel>.service-content{padding-top:26px}
.service>summary .plus,.service[open]>summary .plus{transform:none;position:relative}
.service-symbol-close,.service[open]>summary .service-symbol-open{display:none}
.service[open]>summary .service-symbol-close{display:inline}
.service>summary h3,.service>summary .service-more,.service>summary .plus{transition:color .3s ease,text-shadow .3s ease}
.service>summary:is(:hover,:focus-visible) h3,.service>summary:is(:hover,:focus-visible) .service-more{color:var(--accent);text-shadow:0 0 16px color-mix(in srgb,var(--accent) 13%,transparent)}
.service>summary .service-more{position:relative;width:fit-content;justify-self:end;white-space:nowrap}
.service>summary .service-more::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:0;transition:transform .35s ease,opacity .35s ease;pointer-events:none}
.service>summary .service-more:hover::after,.service>summary:focus-visible .service-more::after{transform:scaleX(1);opacity:.6}
.service-content{overflow-wrap:anywhere}
.service-content>p:first-child{max-width:760px;color:var(--ink);margin:0 0 28px}
.service-content h4{font:500 27px/1.15 var(--serif);color:var(--accent);margin:30px 0 10px}
.service-content p{max-width:760px;line-height:1.7}
.service-content p+p{margin-top:14px}
.service-content .service-insight{border-left:1px solid color-mix(in srgb,var(--accent) 48%,var(--paper));padding:3px 0 3px 22px;margin:24px 0 30px;color:var(--deep)}
.service-content .service-insight strong{font-weight:500}
.service-content .service-result{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;max-width:760px}
.service-content .service-result h4{margin-top:0}
.service-content .text-link{font:500 23px/1.15 var(--serif);margin-top:26px;gap:28px}
/* A shared, quiet glow for every enquiry action, including plain text links. */
.question-action{position:relative;isolation:isolate}
.question-action::before{content:'';position:absolute;inset:-7px -12px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent) 10%,transparent) 45%,transparent 75%);filter:blur(6px);opacity:0;transition:opacity .35s ease}
.question-action:is(:hover,:focus-visible)::before{opacity:1}
.service-content .question-action{transition:color .35s ease,border-color .35s ease,text-shadow .35s ease}
.service-content .question-action:is(:hover,:focus-visible){color:var(--deep);border-color:var(--accent);text-shadow:0 0 9px color-mix(in srgb,var(--accent) 25%,transparent)}
.service-content .question-action>span{transition:transform .35s ease}
.service-content .question-action:is(:hover,:focus-visible)>span{transform:translateX(3px)}
@media(max-width:1000px){
 .service>summary{grid-template-columns:40px minmax(0,1fr) 75px 20px}
 .service>summary .number{grid-column:1;grid-row:1}
 .service>summary h3{grid-column:2;grid-row:1}
 .service>summary .service-more{grid-column:3;grid-row:1}
 .service>summary .plus{grid-column:4;grid-row:1}
 .service>summary .service-excerpt{display:block;grid-column:2/-1;grid-row:2;padding-top:0}
 .service-content{padding:0 20px 30px 58px}
}
@media(max-width:640px){
 .services .section-heading>.services-guidance{padding-left:18px;margin-top:22px}
 .services-guidance-lead{font-size:25px}
 .service>summary{grid-template-columns:34px minmax(0,1fr) 18px;row-gap:12px}
 .service>summary .service-excerpt{grid-column:2/-1;grid-row:2;line-height:1.65}
 .service>summary .service-more{display:block;grid-column:2;grid-row:3;text-align:left;justify-self:start;padding-top:0}
 .service>summary .plus{grid-column:3;grid-row:3;line-height:1}
 .service-content{padding:0 0 28px;font-size:14px}
 .service[open]>.service-panel>.service-content{padding-top:22px}
 .service-content h4{font-size:25px;margin-top:26px}
 .service-content .service-insight{padding-left:16px}
 .service-content .text-link{font-size:22px}
}
@media(max-width:360px){.service>summary{grid-template-columns:25px minmax(0,1fr) 16px}}
@media(prefers-reduced-motion:reduce){.service>summary::before,.service>summary h3,.service>summary .service-more,.service>summary .service-more::after,.service>summary .plus,.question-action::before,.service-content .question-action,.service-content .question-action>span{transition:none}.service-content .question-action>span{transform:none}}
