/* V4 extends the frozen V3 visual base only on the new Home and template previews. */
.hero-visual .concept-image{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1;margin:0;object-fit:cover;background:transparent;border:0!important;border-radius:0!important;box-shadow:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.hero-inner{padding-bottom:40px}.hero-copy h1{max-width:19ch}.hero h1 .hero-category{display:block}.intro-bridge .source-copy{max-width:78ch}.pain-ending .source-copy{margin:auto}
.pain-item{border:0}.pain-item>summary{display:flex;gap:24px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.pain-item>summary h3{font:800 1.8rem/1.12 var(--display);text-transform:uppercase}.pain-item>summary>span{margin-left:auto;font-size:1.5rem}.pain-item[open]>summary>span{transform:rotate(45deg)}.pain-item-content{display:grid;grid-template-columns:1.14fr 1fr;gap:56px;align-items:center;padding:0 0 28px}.pain-item-content>figure{background:#e7eefb;border-radius:7px;overflow:hidden}.pain-item-content h3{font:800 clamp(2.25rem,3.2vw,3.5rem)/1.05 var(--display);text-transform:uppercase;margin-bottom:24px}.pain-panel-copy .source-copy{font-size:1rem}.pain-item:not([open]) .pain-item-content{display:none}.concept-image{background:#e7eefb}.pain-item-content .source-copy{max-width:48ch}
@media(min-width:651px){.js .pain-item>summary{display:none}.js .pain-item:not([open]){display:none}.js .pain-item-content{min-height:460px;padding:0}.pain-accordion{margin-top:36px}}
.services-v4 .container{width:min(1320px,calc(100% - 96px))}.service-carousel{position:relative;display:flex;flex-direction:column;min-width:0}.service-navigation{order:-1;display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-bottom:24px}.service-navigation>span{font-size:.8rem;margin-right:8px}.service-navigation button{height:48px;width:48px;border:1px solid #c4d6ff;border-radius:50%;background:transparent;color:var(--light);font-size:1.3rem}.service-navigation button:last-child{background:var(--light);color:var(--blue)}.service-navigation button:disabled{opacity:.4;cursor:default}.service-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.js .service-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/3.25);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c8d9ff #2f62e9;padding:6px 4px 20px;scroll-padding:4px}.service-card{background:var(--light);color:var(--navy);border-radius:8px;overflow:hidden;min-width:0;display:flex;flex-direction:column;scroll-snap-align:start}.service-card figure{aspect-ratio:4/3;overflow:hidden}.service-card .concept-image{width:100%;height:100%;object-fit:cover}.service-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:24px;flex:1}.service-card h3{font:800 clamp(1.85rem,2.15vw,2.4rem)/1.08 var(--display);text-transform:uppercase;margin-bottom:18px;max-width:100%;text-wrap:pretty}.service-card p{font-size:.94rem;line-height:1.65;flex:1}.service-card a{font-size:.88rem;font-weight:800;display:flex;gap:18px;align-items:center;color:#214fc4;min-height:44px;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.service-card a>span{font-size:1.4rem;text-decoration:none}.service-track:focus-visible{outline-offset:6px}
.step-number{font:800 1.3rem var(--display);color:var(--blue)}.method-step summary{gap:18px}.method-step h3{font-size:2rem}.method-figure{background:#e7eefb}.method-figure .concept-image{object-fit:cover}.case-support{display:flex;gap:24px;flex-wrap:wrap;margin:0 0 24px}.case-support:empty{display:none}.case-support-metric{flex:1;min-width:130px}.case-support-metric strong{display:block;font:800 1.5rem/1.12 var(--display);color:var(--blue)}.case-support-metric span{display:block;font-size:.75rem;line-height:1.5;margin-top:8px}.case-metric strong{overflow-wrap:normal}.case-story-copy{min-width:0}.comparison-mobile-label{display:none}.coverage-base{font-size:.95rem;margin:24px auto 0}.coverage-content>.source-copy{margin:auto}
.contact .section-intro h2{max-width:17ch;font-size:clamp(3rem,4.3vw,4.8rem)}.contact .contact-copy>.source-copy{font-size:1.05rem;max-width:57ch}.contact-deadline{font-size:.9rem;color:var(--light);margin-top:18px;max-width:55ch}.contact-proof{border-top:1px solid #95b0f4;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:24px;margin-top:48px;padding-top:30px}.contact-proof strong{display:block;font:800 clamp(1.8rem,2.6vw,2.5rem)/1.1 var(--body);letter-spacing:-.04em}.contact-proof span{display:block;font-size:.8rem;margin-top:10px;color:var(--light)}.lead-form{padding:40px;border-radius:16px}.lead-form h3{font:800 1.25rem/1.3 var(--body);text-transform:none;margin-bottom:28px}.lead-form .form-grid{gap:20px 16px}.lead-form label:not(.consent){text-transform:uppercase;font-weight:600;font-size:.78rem}.lead-form .optional{text-transform:none;color:#586985;font-weight:400}.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea{background:#eaf0fa;min-height:52px;border:1px solid #c4d2eb;border-radius:7px;font-size:1rem}.lead-form ::placeholder{color:#637796;opacity:1}.lead-form .required{color:#a52742}.lead-form small{display:block;font-size:.73rem;color:#536078;margin-top:5px}.lead-form textarea{min-height:115px}.lead-form .consent{font-size:.82rem!important;margin-top:20px}.lead-form>button{margin-top:18px;justify-content:center;font-size:.95rem}.lead-form .form-note{text-align:center;margin-top:20px;color:#536078}.lead-form .demo-note{padding:10px 12px;margin:0 0 24px;background:#e3eafa;color:#344c79;font-size:.8rem;border-radius:4px}.lead-feedback{margin-top:20px;font-size:.95rem;background:#e1eafa;color:#183c86;padding:18px;border-radius:5px}.lead-feedback[data-state=error]{background:#f7e9ee;color:#78213b}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.lead-form button:disabled{opacity:.6;cursor:wait}.lead-form input:focus-visible,.lead-form textarea:focus-visible,.lead-form select:focus-visible{outline-color:var(--blue)}
@media(max-width:1100px){.services-v4 .container{width:calc(100% - 64px)}.service-card-copy{padding:22px}.lead-form{padding:28px}.contact-grid{gap:40px}.contact-proof{gap:16px}.contact-proof strong{font-size:1.85rem}.case-metric strong{overflow-wrap:anywhere}}
@media(max-width:1000px) and (min-width:651px){.js .service-track{grid-auto-columns:calc((100% - 24px)/2)}.service-track{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card h3{font-size:2.2rem}}
@media(max-width:800px){.hero-visual .concept-image{width:100%;max-width:100%;height:100%;margin:0;object-fit:cover;background:transparent;mask-image:none!important;-webkit-mask-image:none!important}.hero-inner{padding-bottom:28px}.pain-item-content{gap:28px}.pain-item-content h3{font-size:2.4rem}.contact-grid{grid-template-columns:1fr}.contact .section-intro h2{max-width:25ch}.contact-proof{max-width:650px}.lead-form{max-width:700px;width:100%;margin:auto}.lead-form .form-grid{grid-template-columns:1fr 1fr}.services-v4 .container{width:calc(100% - 40px)}}
@media(max-width:650px){.pain-tabs,.pain-controls{display:none!important}.pain-item-content{grid-template-columns:1fr;gap:22px;padding-bottom:28px}.pain-item-content .desktop-pain-title{display:none}.pain-item>summary{padding:22px 0}.pain-item>summary h3{font-size:1.75rem;line-height:1.14}.pain-item[open]>summary{color:var(--blue)}.pain-item:last-child{border-bottom:1px solid var(--line)}.pain-item-content .source-copy{font-size:1rem}.pain-ending{text-align:left}.pain-accordion{margin-top:30px}.service-track{grid-template-columns:1fr}.js .service-track{grid-auto-columns:88%;gap:16px;padding-inline:2px}.service-navigation{order:1;justify-content:center;margin:18px 0 0}.service-navigation>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}.service-card-copy{padding:24px}.service-card h3{font-size:2rem}.service-card p{font-size:1rem}.service-card a{font-size:.9rem}.method-step h3{font-size:1.9rem}.step-number{font-size:1.1rem}.comparison-table table,.comparison-table tbody,.comparison-table tr,.comparison-table td{display:block;width:100%}.comparison-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.comparison-table tr{margin-bottom:24px;border:1px solid #cbd8ed;border-radius:6px;overflow:hidden}.comparison-table td{border:0;padding:22px;font-size:1rem}.comparison-table td:last-child{border-top:1px solid #cbd8ed}.comparison-mobile-label{display:block;font:800 1.2rem var(--display);text-transform:uppercase;color:var(--navy);margin-bottom:10px}.comparison-table td:last-child .comparison-mobile-label{color:var(--blue)}.contact .section-intro h2{font-size:3.15rem;max-width:100%}.contact-proof{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.contact-proof>div:last-child{grid-column:1/-1}.contact-proof strong{font-size:2rem}.lead-form{padding:24px;border-radius:12px}.lead-form .form-grid{grid-template-columns:1fr;gap:18px}.lead-form label:not(.consent){font-size:.82rem}.lead-form .consent{font-size:.85rem!important}.lead-form h3{font-size:1.3rem}.contact-grid{gap:36px}.case-metric strong{overflow-wrap:anywhere}}
html:not(.js) .service-track{overflow:visible}html:not(.js) .desktop-pain-title{display:none}html:not(.js) .pain-item-content{margin-top:16px}html:not(.js) .lead-form>button{display:flex}
@media(prefers-reduced-motion:reduce){.service-track{scroll-behavior:auto}}

/* Desktop prose uses the site container width. Headings stay centered; modules keep their own columns. */
@media(min-width:651px){
 .centered-section>.container>.section-lead{width:100%;max-width:none;margin-inline:0;text-align:left}
 .centered-section>.container>.section-lead p{width:100%;max-width:none;margin-inline:0;text-align:left}
 .home-page .source-copy{width:100%;max-width:none}
 .home-page .source-copy p{width:100%;max-width:none;margin-inline:0;text-align:left}
 .intro-bridge .source-copy{max-width:none;margin-inline:0;text-align:left}
 .coverage-content>.source-copy{max-width:none;margin-inline:0;text-align:left}
 .principle-list{width:100%;max-width:none;margin-inline:0}
 .principle-row .source-copy{max-width:none}
}
.pain-item>summary h3,.method-step summary h3,.faq-list summary h3{min-width:0;overflow-wrap:anywhere}.pain-item>summary>span,.method-step summary>b{flex-shrink:0}
.pain-item[open]>summary>span{transform:none;font-size:0}.pain-item[open]>summary>span::after{content:'−';font-size:1.5rem;line-height:1}

/* Shared V4 section rhythm: consistent, shorter transitions across every page type. */
@media(min-width:651px){
 .home-page .pain-section,.home-page .method-section,.home-page .comparison-section,.home-page .service-section,
 .home-page .services-section,.home-page .cases-section,.home-page .contact,.home-page .faq-section,
 .home-page .deliverables-section,.home-page .principles-section,.home-page .pillars-section{padding-block:56px}
 .home-page .coverage-section{padding-block:44px}
}
@media(max-width:650px){
 .home-page .hero-inner{padding-bottom:24px}
 .home-page .pain-section,.home-page .method-section,.home-page .comparison-section,.home-page .service-section,
 .home-page .services-section,.home-page .cases-section,.home-page .contact,.home-page .faq-section,
 .home-page .deliverables-section,.home-page .principles-section,.home-page .pillars-section{padding-block:36px}
 .home-page .coverage-section{padding-block:32px}
}

/* Consolidation: secondary text remains legible at mobile sizes. */
@media(max-width:650px){.contact-proof span,.lead-form label:not(.consent),.lead-form small,.lead-form .consent,.lead-form .form-note{font-size:.875rem!important}}

/* Align labels above controls when the form uses two columns; let stacked mobile fields flow naturally. */
@media(min-width:651px){.lead-form .form-grid>div>label{min-height:3rem}}
@media(max-width:650px){.lead-form .form-grid>div>label{min-height:0}}
