/* Phase 4: shared service layouts; text remains native Gutenberg content. */
.cv-services-menu{display:flex;align-items:center;position:relative;min-height:44px}
.cv-services-link{display:flex;align-items:center;min-height:44px}
.cv-services-toggle{display:none;border:1px solid #555;background:transparent;color:inherit;border-radius:6px;width:44px;height:44px;margin-left:16px}
.cv-services-menu .cv-dropdown{top:100%;display:none;padding-right:22px;max-height:min(640px,var(--cv-menu-space,65dvh));overscroll-behavior:contain}
.cv-services-menu[data-open="true"] .cv-dropdown{display:grid}
.cv-services-menu .cv-dropdown a:first-child{color:inherit;border:0;margin:0}
.cv-services-menu[data-open="true"]>.cv-services-link{color:var(--cv-yellow)}
.cv-services-menu .cv-dropdown a:focus-visible{outline-offset:-2px;background:#2a2a2a}
.cv-services-catalogue,.cv-service-page{padding-block:52px 80px}
.cv-catalogue-intro{padding-bottom:52px;max-width:840px}
.cv-catalogue-intro h1,.cv-service-hero h1{font-family:var(--cv-heading);font-size:clamp(30px,3.5vw,52px);line-height:1.3;letter-spacing:-.04em;font-weight:400;text-transform:uppercase;margin:22px 0 24px;text-wrap:balance;overflow-wrap:break-word}
.cv-catalogue-intro>p,.cv-service-lead{font-size:19px;line-height:1.7;color:#b5b6b9;max-width:790px}
.cv-catalogue-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.cv-catalogue-grid .cv-service-card{display:flex;flex-direction:column;min-width:0}
.cv-catalogue-grid .cv-service-card--featured{grid-column:1/-1;background:transparent;border-color:#777;color:var(--cv-light)}
.cv-catalogue-grid .cv-offer-content{display:block}
.cv-catalogue-grid .cv-service-card--featured .cv-offer-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}
.cv-catalogue-grid .cv-service-card :is(h2,h3){font-size:22px;line-height:1.45;font-weight:400;margin:0 0 20px}
.cv-catalogue-grid .cv-offer-details{margin-top:20px;font-size:15px;line-height:1.75;color:var(--cv-muted)}
.cv-catalogue-grid .cv-service-card--featured .cv-offer-details{margin:0}
.cv-catalogue-grid .cv-offer-actions{margin-top:auto;padding-top:28px}
.cv-service-hero{padding-bottom:60px;border-bottom:1px solid var(--cv-line)}
.cv-service-price-panel{display:flex;gap:24px 48px;flex-wrap:wrap;margin-block:30px}
.cv-service-price-panel>div{min-width:0;max-width:100%}
.cv-service-price-panel span{display:block;color:var(--cv-muted);font-size:13px;margin-bottom:8px}
.cv-service-price-panel strong{font-family:var(--cv-heading);font-weight:400;font-size:clamp(20px,2vw,28px)}
.cv-service-price-panel p{font-size:13px;color:var(--cv-muted)}
.cv-service-page .wp-block-post-content>*,.cv-service-page .cv-service-section{margin-block:0}
.cv-service-section,.cv-service-related,.cv-service-experts{padding-block:52px;border-bottom:1px solid var(--cv-line)}
.cv-service-section h2,.cv-service-related h2,.cv-service-experts h2,.cv-service-final h2{font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.45;letter-spacing:-.035em;margin:0 0 26px;text-wrap:balance}
.cv-service-section h3{font-size:21px;font-weight:400;line-height:1.5;margin:32px 0 16px}
.cv-service-section p,.cv-service-section li{font-size:17px;line-height:1.85;color:#c4c5c8;max-width:850px}
.cv-service-section p{margin:18px 0}
.cv-service-section ul,.cv-service-section ol{padding-left:24px}
.cv-service-section li{padding-left:6px;margin-bottom:12px}
.cv-service-section a:hover{color:var(--cv-yellow)}
.cv-service-section .wp-block-details{padding:20px 0;border-top:1px solid var(--cv-line);max-width:900px}
.cv-service-section .wp-block-details summary{font-size:19px;line-height:1.5;padding-right:12px}
.cv-service-section .wp-block-details p{font-size:16px;margin:18px 0 0}
.cv-service-final{padding:60px 0 20px;max-width:800px}
.cv-service-final>p{font-size:18px;line-height:1.8;color:var(--cv-muted);margin:0 0 28px}
.cv-service-related .cv-catalogue-grid{margin-top:32px}
.cv-editor-service-part{padding:20px;border:1px dashed #777;border-radius:8px;font-family:Manrope,Arial,sans-serif}
@media(max-width:1179px){.cv-services-toggle{display:block;flex-shrink:0}.cv-services-menu{flex-wrap:wrap;justify-content:space-between}.cv-services-menu .cv-dropdown{position:static;flex-basis:100%;width:100%;max-height:min(45dvh,var(--cv-menu-space,45dvh));margin-top:10px}.cv-services-link{flex-grow:1}}
@media(max-width:767px){.cv-services-catalogue,.cv-service-page{padding-block:30px 48px}.cv-catalogue-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cv-catalogue-grid .cv-service-card--featured .cv-offer-content{display:block}.cv-catalogue-grid .cv-service-card--featured .cv-offer-details{margin-top:20px}.cv-catalogue-intro{padding-bottom:30px}.cv-catalogue-intro h1,.cv-service-hero h1{font-size:clamp(27px,7.2vw,38px)}.cv-catalogue-intro>p,.cv-service-lead{font-size:16px}.cv-service-hero{padding-bottom:36px}.cv-service-section,.cv-service-related,.cv-service-experts{padding-block:36px}.cv-service-section p,.cv-service-section li{font-size:16px;line-height:1.8}.cv-service-section .wp-block-details summary{font-size:17px}.cv-catalogue-grid .cv-service-card :is(h2,h3){font-size:21px}.cv-service-final{padding-top:42px}.cv-service-final .cv-button{width:100%}}
@media(scripting:none){.cv-services-menu:hover .cv-dropdown,.cv-services-menu:focus-within .cv-dropdown{display:grid}.cv-services-toggle{display:none}}

.cv-lead-content .cv-lead-service{font-size:13px;line-height:1.6;color:var(--cv-muted);margin:16px auto;max-width:462px}
.cv-lead-content .cv-lead-service[hidden]{display:none}

/* A real anchor covers the service surface; contact buttons are siblings above it. */
.cv-service-card{position:relative;isolation:isolate;transition:background-color .18s ease,box-shadow .18s ease}
.cv-service-card :is(h2,h3) a,.cv-service-card :is(h2,h3) a:visited,.cv-service-card :is(h2,h3) a:hover{text-decoration:none!important;color:inherit}
.cv-service-card-link:after{content:none}
.cv-service-arrow{position:absolute;right:24px;top:20px;font:26px/1 sans-serif;transition:transform .18s ease}
.cv-service-card:has(.cv-service-card-link):is(:hover,:focus-within){box-shadow:inset 0 0 0 1px #777}
.cv-service-card:is(:hover,:focus-within) .cv-service-arrow{transform:translate(3px,-3px)}
.cv-service-card-link:focus-visible{outline:none}
.cv-service-card-link:focus-visible:after{outline:2px solid var(--cv-yellow,#f5ce00);outline-offset:4px}
.cv-service-card .cv-offer-actions :is(button,a){position:relative;z-index:2}
.cv-service-card .cv-card-top{padding-right:32px}
@media(prefers-reduced-motion:reduce){.cv-service-card,.cv-service-arrow{transition:none}}
