/* Homepage additions share the site's typography and light/dark tokens. */
.service-table .case-link{display:inline-block;min-width:44px;min-height:44px;max-width:100%;margin:0;padding:7px 0 8px;border:0;border-radius:0;background:transparent;color:var(--text);font:300 18px/1.5 SuisseIntl,Arial,sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere;text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.24em;cursor:pointer;touch-action:manipulation;transition:transform 140ms ease-out,background-color 140ms ease-out,color 140ms ease-out,text-decoration-color 140ms ease-out}
.service-table .case-link:hover{color:var(--ui-action-hover);text-decoration-thickness:2px}
.service-table .case-link:active{background:var(--watermark);color:var(--ui-action-pressed);text-decoration-thickness:2px;transform:translateY(1px);transition:none}
.service-table .case-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px;text-decoration-thickness:2px}

/* Focused case-study sheets retain the site's type, palette, and precise edges. */
.case-dialog{--case-chrome-bg:rgba(255,255,255,.94);--case-chrome-height:106px;width:calc(100% - 64px);max-width:1040px;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);margin:auto;padding:0;border:1px solid var(--rule);border-radius:2px;background:var(--bg);color:var(--text);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;opacity:var(--case-reveal,1);transform:translateY(calc((1 - var(--case-reveal,1))*24px)) scale(calc(.985 + var(--case-reveal,1)*.015));transform-origin:center center;box-shadow:0 24px 90px rgba(0,0,0,.2)}
.case-dialog[data-state=opening],.case-dialog[data-state=closing]{will-change:transform,opacity}
:root[data-theme=dark] .case-dialog{--case-chrome-bg:rgba(0,0,0,.94);box-shadow:0 24px 90px rgba(0,0,0,.45)}
.case-dialog::backdrop{background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity 180ms ease-out}
.case-dialog[data-backdrop-motion=spring]::backdrop{transition:none}
.case-dialog[data-state=opening]::backdrop,.case-dialog[data-state=open]::backdrop{opacity:1}
.case-dialog[data-state=closing]::backdrop{opacity:0}
.case-chrome{position:sticky;top:0;z-index:5;padding:0 clamp(24px,4vw,48px);background:var(--bg);background:var(--case-chrome-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.case-chrome::after{position:absolute;right:0;bottom:-14px;left:0;height:14px;background:linear-gradient(to bottom,var(--bg),transparent);content:'';pointer-events:none;opacity:.6}
.case-chrome-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px}
.case-chrome .case-chrome-title{min-width:0;margin:0;font:500 14px/1.4 SuisseIntl,Arial,sans-serif;letter-spacing:.01em;color:var(--text)}
.case-chrome .dialog-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px;margin:0 -10px 0 0;padding:10px;border:0;border-radius:2px;background:transparent;color:var(--text);font:400 13px/1.5 SuisseIntl,Arial,sans-serif;cursor:pointer;touch-action:manipulation;transition:transform 140ms ease-out,background-color 140ms ease-out,color 140ms ease-out}
.case-chrome .dialog-close span[aria-hidden]{font:300 25px/1 SuisseIntl,Arial,sans-serif}
.case-chrome .dialog-close:hover{color:var(--accent);background:var(--watermark)}
.case-chrome .dialog-close:active{background:var(--watermark);transform:scale(.97);transition:none}
.case-dialog :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.case-chrome .dialog-close:focus-visible{outline-offset:-3px}
.case-chrome .case-nav{display:flex;align-items:stretch;gap:clamp(20px,4vw,40px);margin:0;border:0}
.case-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:8px 1px 12px;border-bottom:2px solid transparent;color:var(--muted);font:400 13px/1.5 SuisseIntl,Arial,sans-serif;letter-spacing:.01em;text-decoration:none;touch-action:manipulation;transition:background-color 140ms ease-out,color 140ms ease-out}
.case-nav a:hover,.case-nav a:active{color:var(--text)}
.case-nav a:active{background:var(--watermark);transition:none}
.case-nav a[aria-current=location]{color:var(--text);border-bottom-color:var(--accent)}
.case-reading-progress{height:1px;margin-inline:calc(clamp(24px,4vw,48px)*-1);background:var(--rule);overflow:hidden}
.case-reading-progress>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--case-progress,0));transform-origin:left center}
.case-content{padding:clamp(32px,4.5vw,56px) clamp(24px,4vw,48px) max(48px,env(safe-area-inset-bottom));overflow-wrap:break-word;font-optical-sizing:auto}
.case-section{min-width:0;scroll-margin-top:calc(var(--case-chrome-height) + 24px)}
.case-section+.case-section{margin-top:48px;padding-top:48px;border-top:1px solid var(--rule)}
.case-content .case-eyebrow,.case-content .case-section-label{margin:0 0 18px;color:var(--muted);font:400 12px/1.5 SuisseIntl,Arial,sans-serif;letter-spacing:.04em}
.case-content h2{max-width:24ch;margin:0 0 24px;color:var(--text);font:300 clamp(2rem,4.4vw,3.25rem)/1.1 SuisseIntl,Arial,sans-serif;letter-spacing:-.035em;text-wrap:balance}
.case-content h3{max-width:30ch;margin:0 0 22px;color:var(--text);font:400 clamp(1.5rem,2.6vw,2rem)/1.2 SuisseIntl,Arial,sans-serif;letter-spacing:-.025em;text-wrap:balance}
.case-content h4{margin:0 0 14px;color:var(--text);font:400 clamp(1.25rem,2vw,1.5rem)/1.3 SuisseIntl,Arial,sans-serif;letter-spacing:-.015em}
.case-content h2[tabindex]:focus,.case-content h3[tabindex]:focus{outline:0}
.case-content p{max-width:66ch;margin:0;font:300 1.0625rem/1.75 SuisseIntl,Arial,sans-serif;letter-spacing:0;color:var(--muted)}
.case-content p+p{margin-top:18px}
.case-content .case-lead{max-width:61ch;color:var(--text);font-size:clamp(1.125rem,2vw,1.25rem);line-height:1.6;letter-spacing:-.01em}
.case-content .case-summary{margin-top:24px;color:var(--text)}
.case-content strong{font-weight:500;color:var(--text)}
.case-content a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.case-content ol,.case-content ul{max-width:66ch;margin:24px 0;padding-left:25px;color:var(--muted);font:300 1.0625rem/1.75 SuisseIntl,Arial,sans-serif}
.case-content li+li{margin-top:12px}
.case-content dl.case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--rule)}
.case-content .case-facts>div{min-width:0;display:block}
.case-content .case-facts dt{margin:0 0 7px;color:var(--muted);font:400 12px/1.5 SuisseIntl,Arial,sans-serif;letter-spacing:.015em}
.case-content .case-facts dd{margin:0;color:var(--text);font:300 15px/1.55 SuisseIntl,Arial,sans-serif}
.case-content .case-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:32px 0 0;padding:28px 0 0;border-top:1px solid var(--rule)}
.case-content .case-results p{min-width:0;margin:0;color:var(--text)}
.case-results strong{display:block;font:300 clamp(3rem,5.5vw,4.25rem)/1.05 SuisseIntl,Arial,sans-serif;letter-spacing:-.045em;white-space:nowrap;font-variant-numeric:tabular-nums}
.case-results span{display:block;margin-top:12px;color:var(--muted);font:300 14px/1.6 SuisseIntl,Arial,sans-serif}
.case-content .case-results-single{grid-template-columns:minmax(0,1fr)}
.case-results strong small{display:block;margin-bottom:10px;color:var(--muted);font:400 .8125rem/1.5 SuisseIntl,Arial,sans-serif;letter-spacing:.01em}
.case-chrome-title>span{color:var(--muted);font-weight:300}
.case-content ol.case-decisions{display:grid;gap:0;max-width:66ch;margin:28px 0 32px;padding:0;list-style:none;counter-reset:case-decision}
.case-content .case-decisions>li{position:relative;min-width:0;margin:0;padding:22px 0 22px 45px;border-top:1px solid var(--rule);counter-increment:case-decision}
.case-content .case-decisions>li::before{position:absolute;top:25px;left:0;color:var(--accent);content:counter(case-decision,decimal-leading-zero);font:400 12px/1.5 SuisseIntl,Arial,sans-serif;font-variant-numeric:tabular-nums}
.case-content .case-decisions>li>strong{display:block;margin-bottom:7px;color:var(--text);font-weight:500}
.case-takeaway{max-width:66ch;margin:32px 0 0;padding-left:24px;border-left:2px solid var(--accent)}
.case-content .case-takeaway p{font-size:1rem;line-height:1.7}
.case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:36px;padding-top:32px;border-top:1px solid var(--rule)}
.case-content .case-primary-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;max-width:100%;margin:0;padding:13px 20px;border:1px solid var(--text);border-radius:2px;background:var(--text);color:var(--bg);font:500 16px/1.5 SuisseIntl,Arial,sans-serif;text-decoration:none;touch-action:manipulation;transition:transform 140ms ease-out,filter 140ms ease-out}
.case-content .case-primary-action:hover{border-color:var(--accent);background:var(--accent);color:var(--bg)}
.case-content .case-primary-action:active{transform:scale(.985);transition:none}
.case-content .case-project-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:var(--text);font:300 14px/1.6 SuisseIntl,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}
.case-content .case-project-link:hover{color:var(--accent)}
.case-content .case-project-link:active{color:var(--text);background:var(--watermark)}
.case-dialog .case-shot figcaption a{display:inline-flex;align-items:center;min-height:44px;touch-action:manipulation}
.case-dialog .case-shot figcaption a:active{color:var(--text);background:var(--watermark)}
.case-content>:last-child,.case-section>:last-child{margin-bottom:0}
/* Embedded demos retain their own visual design and clear the shared chrome. */
.case-dialog .case-ticket-flow[data-flow-ready=true] .case-flow-toolbar,.case-dialog .arena-bons[data-arena-ready=true] .arena-bons-nav{top:var(--case-chrome-height,106px);z-index:3}
.case-dialog .case-content .case-shot,.case-dialog .case-content .case-visual{margin-block:32px}
.case-dialog .case-content .arena-bons{margin-block:32px}
@media(prefers-reduced-motion:reduce){
  .case-dialog{transform:none!important}
  .case-dialog::backdrop{transition:none}
  .service-table .case-link,.case-chrome .dialog-close,.case-nav a,.case-content .case-primary-action{transition:none}
  .service-table .case-link:active,.case-chrome .dialog-close:active,.case-content .case-primary-action:active{transform:none}
}
@media(prefers-reduced-transparency:reduce){
  .case-chrome{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
  .case-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(0,0,0,.8)}
}
@media(prefers-contrast:more){
  .case-dialog{border-color:var(--text)}
  .case-chrome{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
  .case-content p,.case-nav a,.case-content .case-facts dt{color:var(--text)}
}

/* Align the introductory heading and the existing first-step copy. */
.work-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:end;gap:80px}
.work-intro>.section-intro{min-width:0;max-width:none}
.work-intro>.starting-point{min-width:0;max-width:none;width:auto;margin:0}
.work-intro .primary-action{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:56px;margin-top:20px;padding:14px 20px;border:1px solid var(--ui-primary,#c63935);border-radius:2px;background:var(--ui-primary,#c63935);color:#fff;font:500 18px/1.5 SuisseIntl,Arial,sans-serif;text-align:left;text-decoration:none;touch-action:manipulation;transition:background-color var(--ui-release,180ms) var(--ui-ease,ease),border-color var(--ui-release,180ms) var(--ui-ease,ease),transform var(--ui-release,180ms) var(--ui-ease,ease)}
.work-intro .primary-action:focus-visible{outline:2px solid var(--text);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
  .work-intro .primary-action:hover:not(:active){border-color:var(--ui-primary-hover,#b62e2e);background:var(--ui-primary-hover,#b62e2e);color:#fff;text-decoration:none}
}
.work-intro .primary-action:active{border-color:var(--ui-primary-pressed,#981f24);background:var(--ui-primary-pressed,#981f24);color:#fff;text-decoration:none;transform:scale(.985);transition-duration:0s}
@media(prefers-reduced-motion:reduce){.work-intro .primary-action{transition:none}.work-intro .primary-action:active{transform:none}}

/* Contact inputs remain part of the typographic layout, with visible labels. */
.contact-form-column{min-width:0;padding-top:54px}
.contact-form{--field-bg:#f7f7f7;--field-border:#858585;position:relative;display:block;width:100%;max-width:100%;margin:0}
:root[data-theme=dark] .contact-form{--field-bg:#101010;--field-border:#777}
.contact-form .form-field{margin:0 0 18px}
.contact-form label{display:block;margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.6;color:var(--text)}
.contact-form input:not([type=hidden]),.contact-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:52px;margin:0;padding:14px 16px;border:1px solid var(--field-border);border-radius:2px;background:var(--field-bg);color:var(--text);font:300 17px/1.65 SuisseIntl,Arial,sans-serif;box-shadow:none;outline-offset:3px}
.contact-form textarea{min-height:170px;resize:vertical}
.contact-form input:not([type=hidden]):not([aria-invalid=true]):not(:focus-visible):hover,.contact-form textarea:not([aria-invalid=true]):not(:focus-visible):hover{border-color:var(--text)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:1}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--accent);outline:2px solid var(--accent)}
.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:var(--accent)}
.contact-form .field-error{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--accent)}
.contact-form .form-privacy{margin:0 0 20px;font-size:12px;line-height:1.75;color:var(--muted)}
.contact-form .form-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-form .form-privacy a:hover{color:var(--text)}
.contact-form .form-submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:fit-content;max-width:100%;min-height:56px;margin:0;padding:14px 20px;border:1px solid var(--text);border-radius:2px;background:var(--text);color:var(--bg);font:500 18px/1.5 SuisseIntl,Arial,sans-serif;text-align:left;cursor:pointer}
.contact-form .form-submit:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--bg)}
.contact-form .form-submit:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.contact-form .form-submit:disabled{opacity:.6;cursor:wait}
.contact-form .form-status{min-height:1.7em;margin:18px 0 0;font-size:14px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.contact-form .form-status[data-state=error]{color:var(--accent)}
.contact-form .form-status[data-state=success]{color:var(--text);font-weight:500}
.contact-form .form-honeypot{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.contact-alternatives{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;padding-top:24px;border-top:1px solid var(--rule);font-size:15px;line-height:1.7;color:var(--muted)}
.contact-alternatives a{max-width:100%;font-size:15px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-alternatives a:hover{color:var(--text)}
.contact-alternatives a[href^="mailto:"]>.contact-email-arrow{display:inline-block;flex:0 0 64px;width:64px;height:24px;color:var(--accent);vertical-align:middle}
@media(max-width:700px){.contact-alternatives a[href^="mailto:"]>.contact-email-arrow{flex-basis:52px;width:52px;height:20px}}

@media(max-width:950px){
  .service-table .case-link{font-size:16px}
  .work-intro{gap:40px}
}
@media(max-width:700px){
  #arbeit{border-top:0}
  .service-table .case-link{font-size:18px;min-height:44px}
  .work-intro{grid-template-columns:1fr;gap:28px;align-items:start}
  .work-intro>.starting-point{width:100%;margin:0}
  .contact-form-column{padding-top:0}
  .contact-form .form-submit{font-size:19px}
  .case-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}
  .case-chrome{padding-inline:24px}
  .case-chrome-row{min-height:56px;gap:12px}
  .case-chrome .case-chrome-title{font-size:13px}
  .case-chrome .case-nav{justify-content:space-between;gap:12px}
  .case-nav a{font-size:13px}
  .case-reading-progress{margin-inline:-24px}
  .case-content{padding:32px 24px max(36px,env(safe-area-inset-bottom))}
  .case-section+.case-section{margin-top:36px;padding-top:36px}
  .case-content h2{font-size:clamp(2rem,5.5vw,2.75rem)}
  .case-content p,.case-content ol,.case-content ul{font-size:1rem;line-height:1.7}
  .case-content .case-lead{font-size:1.125rem;line-height:1.6}
  .case-content dl.case-facts{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px;padding-top:22px}
  .case-content .case-facts>div{display:grid;grid-template-columns:minmax(75px,.4fr) minmax(0,1fr);gap:12px}
  .case-content .case-facts dt{margin:0}
  .case-content .case-results{gap:22px;padding-top:24px;margin-top:28px}
  .case-results strong{font-size:clamp(2.75rem,11vw,3.5rem)}
  .case-results span{font-size:13px}
  .case-content .case-decisions>li{padding-left:35px}
  .case-takeaway{padding-left:20px}
  .case-actions{align-items:stretch;flex-direction:column;gap:12px;margin-top:28px;padding-top:26px}
  .case-content .case-primary-action{width:100%;font-size:16px;gap:14px}
  .case-content .case-project-link{align-self:flex-start}
}
@media(max-width:420px){
  .case-chrome{padding-inline:20px}
  .case-reading-progress{margin-inline:-20px}
  .case-content{padding-inline:20px}
  .case-content h2{font-size:2rem}
  .case-content .case-eyebrow{font-size:11px}
  .case-chrome .dialog-close{gap:7px;font-size:12px}
  .case-chrome .case-chrome-title{font-size:12px}
  .contact-form input,.contact-form textarea{font-size:16px}
  .contact-alternatives a{font-size:14px}
}
.contact-form .field-hint{margin-top:8px;font-size:14px;line-height:1.6;color:var(--muted)}
.contact-page-form{padding-top:0;align-items:start;gap:clamp(35px,6vw,90px)}

/* Primary actions and service hierarchy keep the existing CI. */
#leistungen{--services-title-size:clamp(32px,4.1vw,66px)}
main[data-page-kind="services"] #leistungen{--services-title-size:clamp(42px,6vw,96px)}
main[data-page-kind="services"] #leistungen>.section-intro{max-width:none}
#leistungen>.section-intro>.section-label{margin-bottom:.2em;color:var(--text);font-size:var(--services-title-size);font-weight:300;line-height:1.15;letter-spacing:-.025em}
#services-heading{font-size:var(--services-title-size);font-weight:700}
.services-mobile-break{display:none}
@media(max-width:700px){
  #leistungen,main[data-page-kind="services"] #leistungen{--services-title-size:clamp(36px,9.2vw,38px)}
  #leistungen .intro-copy{font-size:17px;line-height:1.8}
  main[data-page-kind="services"] #services-heading>.services-static-clause{display:block;max-width:13ch}
  main[data-page-kind="services"] #services-heading>br{display:none}
  main[data-page-kind="services"] #services-heading .services-mobile-break{display:initial}
}
.contact-form .form-submit,.case-content .case-primary-action{border-color:var(--accent);background:var(--accent);color:var(--bg)}
.contact-form .form-submit:hover:not(:disabled),.case-content .case-primary-action:hover{border-color:var(--accent);background:var(--accent);color:var(--bg);filter:brightness(.9)}
.contact-form .form-submit:active:not(:disabled),.case-content .case-primary-action:active{filter:brightness(.82)}

/* Native scrolling keeps reviews readable and touch interaction direct. */
.testimonial-carousel{margin:90px 0 0 auto;max-width:950px;min-width:0}
.testimonial-carousel>.section-label{margin:0 0 28px;font-weight:300}
.testimonial-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:0}
.testimonial-track::-webkit-scrollbar{display:none}
.testimonial-track:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.testimonial-slide{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:28px;margin:0;padding:0 2px 4px 0;scroll-snap-align:start;scroll-snap-stop:always}
.testimonial-slide blockquote{max-width:34ch;font:300 clamp(1.625rem,3.2vw,2.75rem)/1.3 SuisseIntl,Arial,sans-serif;letter-spacing:-.025em;color:var(--text)}
.testimonial-slide figcaption{font:400 14px/1.7 SuisseIntl,Arial,sans-serif;color:var(--text)}
.testimonial-slide figcaption span{display:block;color:var(--muted);font-size:13px;font-weight:300}
.testimonial-controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:28px}
.testimonial-controls[hidden]{display:none}
.testimonial-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:8px;border:1px solid var(--rule);border-radius:2px;background:transparent;color:var(--text);font:300 24px/1 SuisseIntl,Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.testimonial-controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.testimonial-controls button:active:not(:disabled){background:var(--watermark)}
.testimonial-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.testimonial-controls button:disabled{opacity:.35;cursor:default}
.testimonial-status{min-width:42px;color:var(--muted);font:300 13px/1.5 SuisseIntl,Arial,sans-serif;text-align:center;font-variant-numeric:tabular-nums}
.testimonial-carousel>.testimonial-source{margin:20px 0 0;color:var(--muted);font:300 12px/1.7 SuisseIntl,Arial,sans-serif}
@media(max-width:700px){.testimonial-carousel{margin-top:64px}.testimonial-carousel>.section-label{margin-bottom:24px}.testimonial-slide{gap:24px}.testimonial-controls{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.testimonial-track{scroll-behavior:auto!important}}

/* The same service table scales with generous desktop viewports on both pages. */
:root{--services-copy-size:18px;--services-copy-leading:1.8}
@media(max-width:950px){:root{--services-copy-size:17px}}
@media(min-width:1200px){
  :root{--services-copy-size:clamp(1.125rem,calc(.5rem + .833333vw),1.5rem);--services-copy-leading:1.7}
  .service-table td p{max-width:54ch}
  .service-table .case-link{font-size:clamp(1.125rem,calc(.708333rem + .555556vw),1.375rem);line-height:1.5}
  .service-table thead th{font-size:clamp(.875rem,calc(.5625rem + .416667vw),1.0625rem);line-height:1.5}
  .service-table tbody th{font-size:clamp(1.875rem,calc(1.25rem + .833333vw),2.5rem);line-height:1.3}
}
:is(.service-table td p,.work-intro .starting-point p,.contact-intro>p:not(.section-label)){font-size:var(--services-copy-size);line-height:var(--services-copy-leading)}
