/* Shared responsive layout: no separate mobile page or device emulation. */
*{box-sizing:border-box}
img{max-width:100%}
button,input,textarea{font:inherit}
button,a,input,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid var(--primary-500,#007fad);outline-offset:4px}
.menu-toggle{display:none}
/* Expanded content remains in normal flow even when translated copy grows. */
#delivery-approach,#create-value{height:auto;max-height:none;overflow:visible}
[data-expanded-panel]{height:auto!important;max-height:none!important;min-height:min-content}
[data-expanded-panel]>*,[data-stage-detail]>*,[data-comp-detail]>*{flex-shrink:0}
[data-stage-detail],[data-comp-detail]{height:auto;max-height:none;overflow:visible}
:is(#delivery-approach,#create-value) [style*="--radius-full"]{height:auto!important;white-space:normal!important;overflow-wrap:anywhere}
.contact-form{display:flex;flex-direction:column;gap:20px;min-width:0}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:16px;color:var(--text-strong)}
.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid var(--border-default);border-radius:8px 4px 8px 4px;background:var(--surface-card);color:var(--text-strong);padding:12px 14px;line-height:1.5}
.contact-form textarea{resize:vertical;min-height:150px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-form .consent{flex-direction:row;align-items:flex-start;line-height:1.5}
.contact-form .consent input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--primary-500)}
.consent a{text-decoration:underline}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.submit-button{min-height:56px;border:0;background:var(--primary-500);color:var(--text-inverse);border-radius:10px 5px;cursor:pointer;font-weight:600;padding:12px 20px}
.submit-button:disabled{opacity:.65;cursor:wait}
.form-error{color:var(--text-strong);border-left:3px solid #c24a35;padding:12px;background:var(--surface-sunken);line-height:1.5}
@media(max-width:1000px){
 footer [data-appearance-control]{position:static!important;transform:none!important;flex-wrap:wrap}
 [data-ld-app] header [data-hdr-join]{display:none!important}
 [data-ld-app] header [data-hdr-langgroup]{margin-left:0!important}
}
@media(max-width:760px){
 [data-ld-app] header{height:76px!important;margin-bottom:-76px!important;background:var(--surface-card)!important}
 [data-ld-app] header>div{height:76px!important;gap:12px!important;justify-content:space-between}
 [data-ld-app] header button[aria-label="Labour Digital — home"]{margin-right:0!important}
 .menu-toggle{display:block;min-width:44px;min-height:44px;border:1px solid var(--border-subtle);border-radius:8px 4px;background:var(--surface-card);color:var(--text-strong);font-size:24px;cursor:pointer}
 [data-ld-app] header nav{display:none!important;position:absolute;left:0;right:0;top:76px;height:auto!important;background:var(--surface-card);padding:12px 20px;box-shadow:0 12px 20px #0002;flex-direction:column;gap:4px!important}
 [data-ld-app] header[data-menu-open="true"] nav{display:flex!important}
 [data-ld-app] header nav button{min-height:48px;flex:none!important;font-size:18px!important}
 [data-ld-app] header [data-hdr-cta]{padding:0 10px!important;font-size:15px!important}
 [data-ld-app] header [data-hdr-lang]{min-width:36px!important;padding:0 5px!important}
 [data-ld-app] section>div[style*="max-width:1280px"],footer>div{padding-left:20px!important;padding-right:20px!important}
 [data-ld-app] [style*="grid-template-columns"]:not([data-hero-b]):not([data-stage-grid]){grid-template-columns:minmax(0,1fr)!important}
 [data-stage-grid]{grid-template-rows:none!important}
 [data-stage-grid]>button{grid-row:auto!important;grid-column:auto!important}
 [data-ld-app] [style*="grid-column"],[data-ld-app] [style*="grid-area"]{grid-column:1!important;grid-row:auto!important;min-width:0}
 [data-ld-app] [style*="position:sticky"]:not(header){position:static!important}
 [data-ld-app] [style*="min-width:240px"],[data-ld-app] [style*="min-width:320px"]{min-width:0!important}
 [data-ld-app] [style*="padding:40px"]{padding:24px!important}
 footer{padding-top:64px!important}
 footer [style*="padding-bottom:104px"]{padding-bottom:48px!important}
 .form-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Match CSS property names: React serializes inline styles with spaces. */
[data-ld-app] [data-detail-head] [style*="background: var(--surface-accent-soft)"],
[data-ld-app] [data-detail-head] [style*="background:var(--surface-accent-soft)"]{
 background:var(--surface-active)!important;
 color:var(--text-strong)!important;
 max-width:100%;overflow-wrap:anywhere;
}
[data-ld-app] [data-cta-diag]>span:first-child,
[data-ld-app] [data-diag-edge]>span:first-child{height:auto!important;min-height:18px;line-height:1.4!important}
@media(max-width:1080px){
 [data-ld-app] [data-stage-grid]{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;gap:32px!important}
 [data-ld-app] [data-stage-grid]>button:nth-child(n){grid-area:auto!important;display:flex!important;flex-direction:column;gap:12px;min-width:0}
}
@media(max-width:980px){
 [data-ld-app] section:has(h1) [style*="grid-template-columns"]:not([data-hero-b]),
 [data-ld-app] #who-thrives [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 [data-ld-app] #who-thrives [style*="grid-column"],
 [data-ld-app] #who-thrives [style*="grid-area"]{grid-area:auto!important;min-width:0}
 [data-ld-app] #who-thrives img{max-height:420px;aspect-ratio:4/3;object-fit:cover}
 [data-ld-app] [style*="grid-template-columns"]:has(>[data-cta-diag]){grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
}
@media(max-width:760px){
 [data-ld-app]>header[data-hero-clear]{background:var(--surface-card)!important}
 [data-ld-app] [data-stage-grid]{grid-template-columns:minmax(0,1fr)!important;display:flex!important;flex-direction:column}
 [data-ld-app] [data-stage-grid]>button:nth-child(n){width:100%;flex:none}
 [data-ld-app] h1{font-size:clamp(32px,8.5vw,40px)!important;overflow-wrap:anywhere}
 [data-ld-app] [data-cta-diag], [data-ld-app] [data-diag-edge]{width:100%;min-width:0;padding:24px!important}
 [data-ld-app] [data-cta-diag]>span:nth-child(2),
 [data-ld-app] [data-diag-edge]>span:nth-child(2){display:flex!important;gap:16px!important;min-height:0!important}
 [data-ld-app] [data-cta-diag]>span:nth-child(2)>span:first-child,
 [data-ld-app] [data-diag-edge]>span:nth-child(2)>span:first-child{font-size:26px!important;line-height:1.15!important;overflow-wrap:anywhere}
 [data-ld-app] [data-cta-diag] span[aria-hidden="true"],
 [data-ld-app] [data-diag-edge] span[aria-hidden="true"]{width:40px!important;height:40px!important}
 [data-ld-app] [style*="grid-template-columns"]>*{min-width:0}
 /* Keep the partner logos in two balanced columns on narrow screens. */
 [data-ld-app] [data-comment-anchor="c39c45d805-div"]>[style*="grid-template-columns"]:not([data-hero-b]):not([data-stage-grid]){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px 16px!important;
 }
}
/* Contact controls follow the original design on desktop and mobile. */
html body [data-ld-app] .contact-form{gap:20px}
html body [data-ld-app] .contact-form label{font-weight:600;line-height:1.4}
html body [data-ld-app] .contact-form input:not([type="checkbox"]),html body [data-ld-app] .contact-form textarea{border-radius:10px 4px 10px 4px;corner-shape:bevel round bevel round;padding:10px 16px;font-size:20px;font-weight:400;line-height:1.2;transition:border-color .15s,background-color .15s}
html body [data-ld-app] .contact-form input:not([type="checkbox"]){height:44px}
html body [data-ld-app] .contact-form textarea{min-height:180px;padding-top:16px;line-height:1.5}
html body [data-ld-app] .contact-form input::placeholder,html body [data-ld-app] .contact-form textarea::placeholder{color:var(--text-faint);opacity:1}
html body [data-ld-app] .contact-form input:focus-visible,html body [data-ld-app] .contact-form textarea:focus-visible{border-color:var(--primary-500);outline:2px solid var(--primary-500);outline-offset:2px}
html body [data-ld-app] .contact-form .consent{font-size:20px;font-weight:400;gap:12px;line-height:1.5;align-items:flex-start}
html body [data-ld-app] .contact-form .consent input{appearance:none;display:grid;place-content:center;width:22px;height:22px;margin:4px 0 0;padding:0;border:1px solid var(--border-default);border-radius:6px;corner-shape:round;background:var(--surface-card);cursor:pointer}
html body [data-ld-app] .contact-form .consent input:checked{background:var(--primary-500);border-color:var(--primary-500)}
html body [data-ld-app] .contact-form .consent input:checked::after{content:'';width:10px;height:6px;border-left:2px solid var(--text-inverse);border-bottom:2px solid var(--text-inverse);transform:translateY(-1px) rotate(-45deg)}
html body [data-ld-app] .contact-form .submit-button{border-radius:10px 4px 10px 4px;corner-shape:bevel round bevel round;min-height:56px;font-size:20px;line-height:1.2;margin-top:8px;transition:background-color .15s}
html body [data-ld-app] .contact-form .submit-button:hover:not(:disabled){background:var(--primary-600)}
@media(max-width:760px){html body [data-ld-app] .contact-form textarea{min-height:150px}}
@media(forced-colors:active){html body [data-ld-app] .contact-form .consent input{appearance:auto}}

/* CR3: fit the complete 2x2 overview through spacing, retaining all content. */
@media(min-width:761px){
 #create-value>div:has([data-hw-grid]){padding-top:20px!important;padding-bottom:24px!important}
 #create-value>div:has([data-hw-grid])>div:first-child{gap:6px!important;margin-bottom:16px!important}
 #create-value [data-hw-grid]{gap:16px!important}
 #create-value [data-hw-grid]>button{padding-top:20px!important;padding-bottom:20px!important;gap:10px!important}
 #create-value [data-hw-grid]>button>span:last-child{padding-top:6px!important}
}

/* Keep the desktop hero accent below the description, including wrapped translations. */
@media(min-width:981px){
 [data-hero-b] [data-hero-b-txt]{padding-bottom:70px!important}
}

/* CR5: compact the case-study introduction without altering mobile or type sizes. */
@media(min-width:761px){
 [data-case-detail] [data-detail-head]{padding-top:108px!important;padding-bottom:12px!important;row-gap:10px!important}
 [data-case-detail] [data-detail-head]>div:last-child:not(:first-child){margin-top:4px!important;padding-top:10px!important;gap:8px!important}
 [data-case-detail]>section:nth-child(2)>div{padding-top:12px!important}
 [data-case-detail]>section:nth-child(2) [data-detail-sec]{padding-top:24px!important;padding-bottom:24px!important}
}
