/* Shared polish for every language. Layout and content remain server-rendered. */
.header .services-popover{padding:26px 28px 0;overflow:hidden;border-radius:24px;box-shadow:0 22px 60px #20271b24}
.mega-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #e9ebe5;margin-bottom:22px;font-size:21px;letter-spacing:-.025em}
.header .mega-heading .all-services-link{margin:0;font-size:13px!important;display:flex;gap:20px;align-items:center;border:1px solid #dadfd4;border-radius:8px;padding:10px 15px;white-space:nowrap}
.header .services-menu-grid{gap:24px;padding-bottom:24px}.mega-group{min-width:0}
.mega-group-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:80px}
.mega-group-heading img{width:72px;height:72px;object-fit:cover;border-radius:16px;flex-shrink:0}
.header .mega-group-heading strong{font-size:16px;line-height:1.25;letter-spacing:-.015em;color:#242721;margin:0}
.header .services-menu-grid a{padding:8px 9px;margin:0 -9px;border-radius:6px;transition:background .18s,color .18s;font-size:13px;color:#53564e}
.header .services-menu-grid a:hover,.header .services-menu-grid a:focus-visible{background:#f0f3e9;color:#1d2517}
.mega-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 -28px;padding:17px 28px;background:#f2f4ed;font-size:13px;color:#646b5d}
.header .mega-footer a{display:flex;gap:20px;align-items:center;color:#252c20;white-space:nowrap;font-weight:500}
/* Projects: one distinct opening, concise context, then a browsable full-page image. */
.ie .case-study{max-width:none;margin:0}.ie .case-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;background:#eef0e7;border-radius:24px;padding:40px;margin:0}
.ie .case-hero-text{grid-template-columns:1fr}.case-hero-copy{min-width:0}
.ie .case-hero h1{font-size:clamp(36px,4.1vw,62px);line-height:1.06;letter-spacing:-.055em;font-weight:500;margin:20px 0;overflow-wrap:break-word}
.ie .case-hero-copy>p{font-size:17px;line-height:1.65;max-width:520px;color:#646b5d;margin:0}
.case-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.case-actions .lp-button{font-size:14px;gap:20px}
.ie .case-secondary{font-size:13px;display:inline-flex;align-items:center;gap:10px;line-height:1.5;border-bottom:1px solid #a9afa1;padding:8px 0;color:#353c2d}
.ie .case-hero-art{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:1.35;background:#e3e8d8}
.ie .case-hero-art img{width:100%;height:100%;object-fit:contain;display:block;max-height:none;margin:0;padding:12px}
.ie .case-overview{max-width:1120px;margin:64px auto;display:grid;grid-template-columns:.65fr 1.65fr;gap:70px;padding:0 24px}
.ie .case-overview>h2,.ie .case-showcase h2{font-size:clamp(27px,2.8vw,40px);font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:0}
.case-narrative{min-width:0;font-size:17px;line-height:1.8;color:#555d4c}.case-narrative p{margin:0 0 22px}.case-narrative p:last-child{margin-bottom:0}
.ie .case-narrative h2,.ie .case-narrative h3{font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.02em;color:#252a20;margin:26px 0 14px}
.case-narrative ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0;padding:0}.case-narrative li{padding:13px 0 13px 24px;border-top:1px solid #e0e4d8;position:relative;font-size:14px;line-height:1.6}.case-narrative li:before{content:'↗';position:absolute;left:0;color:#879366}
.ie .case-showcase{max-width:1200px;margin:64px auto 0;padding:0 20px}.case-showcase-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.case-showcase-heading p{font-size:14px;line-height:1.6;color:#69715f;max-width:320px;margin:0}
.ie .case-browser{margin:0 0 36px;border-radius:16px;border:1px solid #dfe3d8;background:#f4f5f0;overflow:hidden;box-shadow:0 20px 50px -26px #34432b38}
.case-browser-bar{height:46px;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;padding:0 20px;border-bottom:1px solid #dfe3d8;gap:10px}.case-browser-dots{display:flex;gap:6px}.case-browser-dots i{width:8px;height:8px;border-radius:50%;background:#c6ccbd}.case-browser-dots i:first-child{background:#baa998}.case-browser-dots i:nth-child(2){background:#c8c4a4}.case-browser-dots i:last-child{background:#a7b599}.case-browser-address{font-size:12px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68715f}.case-browser-symbol{text-align:right;color:#78816f}
.case-screen{background:white;position:relative}.case-browser-scroll .case-screen{max-height: min(72vh,760px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#9ca78e #e8ece2;overscroll-behavior-y:contain}
.case-screen:focus-visible{outline:3px solid #5478b9;outline-offset:-3px}
.ie .case-screen img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:initial;border-radius:0;padding:0;margin:0}
.case-scroll-track{height:3px;background:#e1e6d8}.case-scroll-track span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#879963}
.ie .case-browser figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;font-size:12px;color:#69715f}.case-browser figcaption a{display:inline-flex;gap:18px;color:#353e2b;align-items:center}
.ie .case-next{display:flex;align-items:center;gap:28px;margin:55px auto 60px;max-width:1160px;background:#eef0e7;padding:20px;border-radius:16px;color:#252b20;text-decoration:none}
.case-next>img{width:160px;height:100px;object-fit:cover;border-radius:8px;flex-shrink:0}.case-next>span:not(.case-next-arrow){display:flex;flex-direction:column;gap:8px}.case-next small{font-size:12px;color:#6b745f}.case-next strong{font-size:26px;line-height:1.2;font-weight:500;letter-spacing:-.03em}.case-next-arrow{margin-left:auto;width:44px;height:44px;flex-shrink:0;border:1px solid #c5cdb9;border-radius:50%;display:grid;place-items:center;font-size:23px}
/* Opt-in motion: content remains visible without JS and when reduced motion is requested. */
@media(prefers-reduced-motion:no-preference){
 .motion-ready{transition:opacity .65s ease,translate .65s cubic-bezier(.2,.7,.25,1);transition-delay:var(--motion-delay,0ms)}
 .motion-ready:not(.motion-visible){opacity:0;translate:0 20px}
 .services-menu[open] .services-popover{animation:menu-appear .22s ease-out both}
 .case-hero-art img,.se-hero-art img,.ie-heading-image img{animation:art-settle .85s cubic-bezier(.2,.7,.25,1) both}
 .lp-button,.header>.button{position:relative;overflow:hidden}
 .lp-button:after,.header>.button:after{content:'';pointer-events:none;position:absolute;inset:-60% auto -60% -80%;width:45%;background:linear-gradient(90deg,transparent,#fff3,transparent);transform:skewX(-20deg)}
 .lp-button:hover:after,.header>.button:hover:after{animation:button-sheen .7s ease-out}
 .case-next-arrow,.mega-group-heading img{transition:transform .25s ease}
 .case-next:hover .case-next-arrow{transform:translate(2px,-2px)}
 .mega-group:hover .mega-group-heading img{transform:translateY(-3px)}
 @keyframes menu-appear{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
 @keyframes art-settle{from{opacity:.7;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
 @keyframes button-sheen{to{left:140%}}
}
@media(max-width:1000px){.header .services-menu-grid{grid-template-columns:repeat(2,1fr)}.header .services-popover{max-height:calc(100dvh - 110px);overflow-y:auto}.ie .case-hero{padding:28px;gap:25px}.ie .case-overview{gap:35px}.case-actions{gap:12px}.case-next{margin-inline:20px!important}}
@media(max-width:760px){
 .header .services-popover{padding:16px 16px 0;max-height:none;overflow:visible;margin-top:10px;box-shadow:none;border-radius:14px}
 .mega-heading{font-size:17px;align-items:start;flex-direction:column;gap:12px;margin-bottom:15px;padding-bottom:16px}
 .header .services-menu-grid{gap:24px 15px}.mega-group-heading{display:block;margin-bottom:8px;min-height:0}.mega-group-heading img{width:54px;height:54px;margin-bottom:10px;border-radius:12px}.header .mega-group-heading strong{font-size:14px;min-height:35px}.header .services-menu-grid a{font-size:12px;padding:8px 5px;margin:0 -5px}.mega-footer{margin:0 -16px;border-radius:0 0 14px 14px;padding:16px;flex-direction:column;align-items:start;gap:10px;font-size:12px}.header .mega-footer a{font-size:13px}
 .ie .case-hero{grid-template-columns:1fr;padding:24px;border-radius:18px;gap:28px}.ie .case-hero h1{font-size:39px;margin:16px 0}.ie .case-hero-copy>p{font-size:15px}.ie .case-hero-art{aspect-ratio:1.5}.case-actions{margin-top:22px}.ie .case-overview{grid-template-columns:1fr;gap:24px;margin:40px auto;padding:0 14px}.case-narrative{font-size:15px;line-height:1.75}.case-narrative ul{gap:0 15px}.case-narrative li{font-size:13px;padding-left:20px}.ie .case-showcase{padding:0;margin-top:40px}.case-showcase-heading{padding:0 14px;flex-direction:column;align-items:start;gap:12px;margin-bottom:20px}.case-showcase-heading p{font-size:13px;max-width:none}.case-browser-bar{height:38px;padding:0 12px;grid-template-columns:40px 1fr 40px}.case-browser-dots{gap:4px}.case-browser-dots i{width:6px;height:6px}.case-browser-address{font-size:11px}.case-browser-scroll .case-screen{max-height:60dvh;min-height:0}.ie .case-browser figcaption{padding:13px 12px;align-items:start;font-size:11px}.case-browser figcaption>span{max-width:35%}.case-browser figcaption a{gap:6px}.ie .case-next{margin:35px 0 40px!important;padding:14px;gap:15px}.case-next>img{width:85px;height:70px}.case-next strong{font-size:20px}.case-next-arrow{width:34px;height:34px;font-size:20px}
}
@media(max-width:360px){.header .services-menu-grid{grid-template-columns:1fr}.mega-group-heading{display:flex}.header .mega-group-heading strong{min-height:0}.case-narrative ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.motion-ready{opacity:1!important;translate:none!important}.case-hero-art img,.se-hero-art img,.ie-heading-image img,.services-popover,.lp-button:after{animation:none!important;transition:none!important}}
@media print{.motion-ready{opacity:1!important;translate:none!important}.case-browser-scroll .case-screen{max-height:none;overflow:visible}}
/* Keep language switching available on tablets as well as phones. */
@media(max-width:1000px){
 .header{height:84px;justify-content:space-between;flex-wrap:wrap}.header nav{display:none}.header>.button{display:none}.header .menu-button{display:block}
 .header.open{height:auto;padding-block:20px}.header.open nav{display:flex;flex-direction:column;width:100%;order:4;align-items:stretch;padding:15px;background:#f3f3f2;border-radius:12px}
 .header.open .lang{display:flex;order:5;width:100%;gap:18px;padding:8px 15px}.header.open .services-popover{position:static;margin-top:12px;max-height:none;box-shadow:none}.services-menu>summary{justify-content:space-between;padding:8px 0}
}

/* Clear provenance on confirmed demonstration projects. */
.project-demo{display:inline-flex;align-items:center;width:fit-content;border:1px solid #b6bea9;border-radius:999px;padding:5px 10px;font-size:12px;line-height:1.3;font-weight:500;color:#45503d;background:#f2f5eb;vertical-align:middle;margin:8px 0}
.case-hero-copy>.project-demo{margin-left:0}

/* Native article and review editor output */
.article-byline{margin:0 0 22px;font-size:14px;line-height:1.5}.article-byline small{display:block;color:#61665a;margin-top:4px}.hc-review-sources{display:flex;gap:16px;margin-top:20px;font-size:12px}.hc-review-sources a{text-underline-offset:4px}.lp-review-grid .rv-excerpt{margin-bottom:15px}
