.layout-comparison{position:relative;isolation:isolate;z-index:1;margin-top:0;padding-top:0;background:linear-gradient(180deg,var(--home-dark) 0,var(--home-dark) 70px,var(--surface) 320px)}
.layout-comparison::before{content:none}
.layout-services{padding-top:42px;padding-bottom:100px}
.layout-heading{color:#f2faf8}
.layout-heading p{color:#d5e8e3}
.layout-heading{margin-bottom:38px}
.service-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.service-mosaic .mosaic-cell{grid-column:span 3;min-height:225px;position:relative;display:flex;flex-direction:column;padding:26px;border:1px solid var(--card-line,var(--line));border-radius:6px;background:var(--card-bg,var(--surface));color:var(--card-text,var(--text));box-shadow:0 3px 0 color-mix(in srgb,var(--text) 5%,transparent),0 12px 28px -20px color-mix(in srgb,var(--text) 35%,transparent);transition:opacity .45s ease var(--reveal-delay,0ms),translate .45s ease var(--reveal-delay,0ms),transform .2s ease,box-shadow .2s ease}
.service-mosaic .mosaic-cell:hover{transform:translateY(-2px);box-shadow:0 10px 26px -17px color-mix(in srgb,var(--text) 42%,transparent)}
.service-mosaic .mosaic-cell.reveal-pending{opacity:0;translate:0 12px}
.service-mosaic .mosaic-featured{min-height:340px;padding:32px 34px}
.service-mosaic .mosaic-featured:nth-child(1){grid-column:span 8;--card-bg:#103c42;--card-text:#f2faf8;--card-muted:#d0e6e2;--card-accent:#bceee0;--card-line:#103c42;--card-icon-bg:#22535a;--card-icon-line:#477a79}
.service-mosaic .mosaic-featured:nth-child(4){grid-column:span 8;--card-bg:#b9d5d1;--card-text:#123b41;--card-muted:#365e60;--card-accent:#076b71;--card-line:#a8cac6;--card-icon-bg:#dcebe6;--card-icon-line:#9dc4bc}
.service-mosaic .mosaic-featured:nth-child(2){grid-column:span 4;--card-bg:#c8eadc;--card-text:#123d40;--card-muted:#365e5d;--card-accent:#086e70;--card-line:#b6ddce;--card-icon-bg:#e5f7ed;--card-icon-line:#a6d6c4}
.service-mosaic .mosaic-featured:nth-child(3){grid-column:span 4;--card-bg:#e9f0ee;--card-text:#173d43;--card-muted:#4e6969;--card-accent:#087e83;--card-line:#d1e0dc;--card-icon-bg:#f8fbf9;--card-icon-line:#cadfda}
.service-mosaic .mosaic-top{width:100%;display:flex;align-items:flex-start;justify-content:space-between;font-size:11px;opacity:1}
.service-mosaic .mosaic-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:8px;background:var(--card-icon-bg,var(--soft));border:1px solid var(--card-icon-line,var(--line));color:var(--card-accent,var(--accent))}
.service-mosaic .mosaic-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.service-mosaic .mosaic-cell:is(:hover,:focus-visible) .mosaic-icon svg{transform:translateY(-2px)}
.service-mosaic .mosaic-cell:nth-child(2):is(:hover,:focus-visible) .mosaic-icon svg{transform:rotate(-8deg)}
.service-mosaic .mosaic-cell:nth-child(3):is(:hover,:focus-visible) .mosaic-icon svg{transform:translateX(3px)}
.service-mosaic .mosaic-cell:nth-child(4):is(:hover,:focus-visible) .mosaic-icon svg{transform:scale(1.12)}
.service-mosaic .mosaic-featured .mosaic-icon{width:54px;height:54px}
.service-mosaic .mosaic-copy{margin-top:auto;padding-top:26px}
.service-mosaic .mosaic-cell h3{max-width:340px;margin:0 0 12px;font-size:19px;line-height:1.35;font-weight:650;letter-spacing:-.03em}
.service-mosaic .mosaic-featured h3{max-width:520px;font-size:30px;line-height:1.18;font-weight:600}
.service-mosaic .mosaic-cell p{max-width:400px;margin:0;font-size:14px;line-height:1.7;color:var(--card-muted,var(--muted));opacity:1}
.service-mosaic .mosaic-featured p{max-width:500px;font-size:16px}
.service-mosaic .mosaic-read{display:inline-flex;align-items:center;gap:8px;margin-top:23px;font-size:13px;font-weight:650;color:var(--card-accent,var(--accent));text-decoration:none}
.service-mosaic .mosaic-read svg{width:16px;height:16px;transition:transform .2s ease}
.service-mosaic .mosaic-cell:is(:hover,:focus-visible) .mosaic-read svg{transform:translateX(3px)}
.service-mosaic .mosaic-featured .mosaic-read{margin-top:25px}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(1){--card-bg:#113d45;--card-text:#eff9f7;--card-muted:#c4dfda;--card-accent:#9ee9d8;--card-line:#37636a;--card-icon-bg:#22545b;--card-icon-line:#477a79}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(2){--card-bg:#2b5c57;--card-text:#f0f9f4;--card-muted:#d2e8dc;--card-accent:#b5eed0;--card-line:#4c796e;--card-icon-bg:#3b7066;--card-icon-line:#6a9b89}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(3){--card-bg:#24454b;--card-text:#edf6f5;--card-muted:#c2d6d5;--card-accent:#9edcd5;--card-line:#42656b;--card-icon-bg:#355960;--card-icon-line:#58777b}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(4){--card-bg:#3e6968;--card-text:#f0f8f4;--card-muted:#d7e9e2;--card-accent:#c0f0d9;--card-line:#648785;--card-icon-bg:#547b73;--card-icon-line:#7b9f95}
@media(max-width:1050px){.service-mosaic .mosaic-featured{padding:28px}.service-mosaic .mosaic-featured h3{font-size:25px}.service-mosaic .mosaic-featured:nth-child(1),.service-mosaic .mosaic-featured:nth-child(4){grid-column:span 7}.service-mosaic .mosaic-featured:nth-child(2),.service-mosaic .mosaic-featured:nth-child(3){grid-column:span 5}.service-mosaic .mosaic-secondary{grid-column:span 6;min-height:206px}}
@media(max-width:700px){.layout-services{padding-top:50px;padding-bottom:65px}.service-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-mosaic .mosaic-featured:nth-child(n),.service-mosaic .mosaic-secondary{grid-column:span 2}.service-mosaic .mosaic-featured{min-height:260px;padding:24px}.service-mosaic .mosaic-featured:nth-child(1),.service-mosaic .mosaic-featured:nth-child(4){min-height:300px}.service-mosaic .mosaic-secondary{min-height:190px;padding:23px}.service-mosaic .mosaic-featured h3{font-size:25px}.service-mosaic .mosaic-cell h3{font-size:21px}.service-mosaic .mosaic-featured p{font-size:14px}.service-mosaic .mosaic-copy{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.service-mosaic .mosaic-cell,.service-mosaic .mosaic-icon svg,.service-mosaic .mosaic-read svg{transition:none}.service-mosaic .mosaic-cell.reveal-pending{opacity:1;translate:none}.service-mosaic .mosaic-cell:hover,.service-mosaic .mosaic-cell:is(:hover,:focus-visible) .mosaic-icon svg,.service-mosaic .mosaic-cell:is(:hover,:focus-visible) .mosaic-read svg{transform:none}}
/* The hero stays full bleed; the service area shares its content alignment. */
.layout-comparison{background:var(--surface)}
:root[data-theme=dark] .layout-comparison{background:#244c51}
.layout-services{padding-top:86px;padding-bottom:110px}
.layout-heading{display:flex;align-items:center;gap:48px;color:var(--text);margin-bottom:42px}
.layout-heading h2{margin:0;white-space:nowrap}
.layout-heading::after{content:"";height:1px;flex:1;background:var(--line)}
@media(max-width:700px){.layout-services{padding-top:54px;padding-bottom:65px}.layout-heading{margin-bottom:28px;gap:20px}}
/* SVG outlines draw as each card enters the viewport, then redraw on interaction. */
.service-mosaic .mosaic-icon{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--card-text,var(--text)) 13%,transparent),0 8px 18px -15px var(--card-text,var(--text))}
.service-mosaic .mosaic-featured .mosaic-icon{width:68px;height:68px}
.service-mosaic .mosaic-featured .mosaic-icon svg{width:38px;height:38px}
.service-mosaic .mosaic-secondary .mosaic-icon{width:54px;height:54px}
.service-mosaic .mosaic-secondary .mosaic-icon svg{width:30px;height:30px}
.motion-ready .service-mosaic .mosaic-icon path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .95s cubic-bezier(.2,.65,.2,1) calc(var(--reveal-delay,0ms) + 130ms)}
.motion-ready .service-mosaic .mosaic-cell.is-visible .mosaic-icon path{stroke-dashoffset:0}
.motion-ready .service-mosaic .mosaic-cell.is-visible:is(:hover,:focus-visible) .mosaic-icon path{animation:mosaic-redraw .72s ease-in-out both}
.motion-ready .service-mosaic .mosaic-cell.reveal-pending{translate:0 24px}
@keyframes mosaic-redraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.motion-ready .service-mosaic .mosaic-icon path{stroke-dasharray:none;stroke-dashoffset:0;transition:none;animation:none}.motion-ready .service-mosaic .mosaic-cell.reveal-pending{translate:none}}
/* Restrained editorial treatment for the service overview. */
.service-mosaic{gap:12px}
.service-mosaic .mosaic-cell{border-radius:2px;box-shadow:none;transition:opacity .55s ease var(--reveal-delay,0ms),translate .55s ease var(--reveal-delay,0ms),border-color .2s ease,background-color .2s ease}
.service-mosaic .mosaic-cell:hover{transform:none;box-shadow:none;border-color:var(--card-accent,var(--accent))}
.service-mosaic .mosaic-featured{min-height:380px;padding:35px 38px}
.service-mosaic .mosaic-featured:nth-child(1){--card-bg:#12363e;--card-text:#f2f8f6;--card-muted:#c3dad7;--card-accent:#9ce4d2;--card-line:#12363e}
.service-mosaic .mosaic-featured:nth-child(2){--card-bg:#edf1ef;--card-text:#15383e;--card-muted:#536b6d;--card-accent:#087a79;--card-line:#d9e3e0}
.service-mosaic .mosaic-featured:nth-child(3){--card-bg:#f7f9f8;--card-text:#15383e;--card-muted:#536b6d;--card-accent:#087a79;--card-line:#d9e3e0}
.service-mosaic .mosaic-featured:nth-child(4){--card-bg:#d8e8e3;--card-text:#15383e;--card-muted:#456465;--card-accent:#087a79;--card-line:#cedfd9}
.service-mosaic .mosaic-icon,.service-mosaic .mosaic-featured .mosaic-icon,.service-mosaic .mosaic-secondary .mosaic-icon{display:block;width:48px;height:48px;background:none;border:0;border-radius:0;box-shadow:none;color:var(--card-accent,var(--accent))}
.service-mosaic .mosaic-icon svg,.service-mosaic .mosaic-featured .mosaic-icon svg,.service-mosaic .mosaic-secondary .mosaic-icon svg{width:42px;height:42px;stroke-width:1.25}
.service-mosaic .mosaic-secondary .mosaic-icon,.service-mosaic .mosaic-secondary .mosaic-icon svg{width:32px;height:32px}
.service-mosaic .mosaic-featured h3{max-width:560px;font-size:clamp(29px,2.45vw,38px);line-height:1.16;font-weight:500;letter-spacing:-.045em}
.service-mosaic .mosaic-cell p{line-height:1.65}
.service-mosaic .mosaic-featured p{font-size:15px;max-width:540px}
.service-mosaic .mosaic-read{font-size:12px;font-weight:700;margin-top:28px}
.service-mosaic .mosaic-secondary{min-height:218px;padding:22px 18px 4px 0;background:transparent;border:0;border-top:1px solid var(--line);color:var(--text)}
.service-mosaic .mosaic-secondary:nth-child(n+6){padding-left:18px;border-left:1px solid var(--line)}
.service-mosaic .mosaic-secondary h3{font-size:20px;line-height:1.28;font-weight:600;max-width:260px}
.service-mosaic .mosaic-secondary p{font-size:13px;line-height:1.55}
.service-mosaic .mosaic-secondary .mosaic-copy{margin-top:20px;padding-top:0}
.service-mosaic .mosaic-secondary .mosaic-read{margin-top:auto;padding-top:16px}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(1){--card-bg:#102f37;--card-text:#edf7f4;--card-muted:#b9d2ce;--card-accent:#a2e4d2;--card-line:#30545b}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(2){--card-bg:#31545a;--card-text:#edf7f4;--card-muted:#c4d9d6;--card-accent:#a5e5d5;--card-line:#4d6c70}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(3){--card-bg:#294b51;--card-text:#edf7f4;--card-muted:#c4d9d6;--card-accent:#a5e5d5;--card-line:#4d6c70}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(4){--card-bg:#3b605f;--card-text:#edf7f4;--card-muted:#d0e1dc;--card-accent:#b8ead8;--card-line:#527875}
@media(max-width:1050px){.service-mosaic .mosaic-featured{min-height:345px;padding:30px}.service-mosaic .mosaic-featured h3{font-size:30px}.service-mosaic .mosaic-secondary{grid-column:span 6;min-height:190px}.service-mosaic .mosaic-secondary:nth-child(odd){border-left:0;padding-left:0}.service-mosaic .mosaic-secondary:nth-child(even){border-left:1px solid var(--line);padding-left:18px}}
@media(max-width:700px){.service-mosaic .mosaic-featured{min-height:280px;padding:25px}.service-mosaic .mosaic-featured:nth-child(1),.service-mosaic .mosaic-featured:nth-child(4){min-height:320px}.service-mosaic .mosaic-featured h3{font-size:28px}.service-mosaic .mosaic-secondary{grid-column:span 2;min-height:170px;padding:20px 0 7px!important}.service-mosaic .mosaic-secondary .mosaic-copy{margin-top:16px}}
/* Clear borders and top-aligned content; two coordinated surface tones. */
.service-mosaic{gap:16px}
.service-mosaic .mosaic-cell{min-height:306px;padding:31px 32px;display:flex;flex-direction:column;border:1px solid #b9c9ca;border-radius:9px;background:#fff;color:#173c43;box-shadow:none;transition:border-color .22s ease,background-color .22s ease}
.service-mosaic .mosaic-cell:hover{border-color:#087e83;background:var(--card-bg,#fff)}
.service-mosaic .mosaic-featured:nth-child(1){grid-column:span 7;background:#10353d;color:#f0f8f6;border-color:#10353d;--card-bg:#10353d;--card-text:#f0f8f6;--card-muted:#c3d9d6;--card-accent:#a7e5d5}
.service-mosaic .mosaic-featured:nth-child(2){grid-column:span 5;--card-bg:#fff;--card-text:#173c43;--card-muted:#506970;--card-accent:#087e83}
.service-mosaic .mosaic-featured:nth-child(3){grid-column:span 5;--card-bg:#fff;--card-text:#173c43;--card-muted:#506970;--card-accent:#087e83}
.service-mosaic .mosaic-featured:nth-child(4){grid-column:span 7;background:#eaf2f0;border-color:#b9c9ca;--card-bg:#eaf2f0;--card-text:#173c43;--card-muted:#506970;--card-accent:#087e83}
.service-mosaic .mosaic-featured{min-height:322px}
.service-mosaic .mosaic-top{position:absolute;top:29px;right:30px;width:auto}
.service-mosaic .mosaic-icon,.service-mosaic .mosaic-featured .mosaic-icon,.service-mosaic .mosaic-secondary .mosaic-icon{width:31px;height:31px;display:block;color:var(--card-accent,#087e83)}
.service-mosaic .mosaic-icon svg,.service-mosaic .mosaic-featured .mosaic-icon svg,.service-mosaic .mosaic-secondary .mosaic-icon svg{width:30px;height:30px;stroke-width:1.45;transform:none!important;transition:none}
.service-mosaic .mosaic-copy,.service-mosaic .mosaic-secondary .mosaic-copy{margin:0;padding:0 48px 0 0}
.service-mosaic .mosaic-featured h3{max-width:560px;margin:0 0 15px;font-size:clamp(27px,2.55vw,37px);line-height:1.17;font-weight:600;letter-spacing:-.044em}
.service-mosaic .mosaic-cell p,.service-mosaic .mosaic-featured p{margin:0;font-size:15px;line-height:1.65;color:var(--card-muted,#506970);max-width:510px}
.service-mosaic .mosaic-read,.service-mosaic .mosaic-secondary .mosaic-read{align-self:flex-start;margin-top:auto;padding:26px 0 3px;border-bottom:1px solid currentColor;color:var(--card-accent,#087e83);font-size:12px;font-weight:700}
.service-mosaic .mosaic-secondary{grid-column:span 3;min-height:242px;padding:25px 24px 23px;background:#fff;border:1px solid #b9c9ca;border-radius:9px;color:#173c43}
.service-mosaic .mosaic-secondary:nth-child(n+6),.service-mosaic .mosaic-secondary:nth-child(even),.service-mosaic .mosaic-secondary:nth-child(odd){padding-left:24px;border-left:1px solid #b9c9ca}
.service-mosaic .mosaic-secondary h3{font-size:19px;line-height:1.25;font-weight:600;margin-bottom:10px}
.service-mosaic .mosaic-secondary p{font-size:13px;line-height:1.55}
:root[data-theme=dark] .service-mosaic .mosaic-cell{background:#294b51;color:#eef7f4;border-color:#618085;--card-bg:#294b51;--card-text:#eef7f4;--card-muted:#c4d8d7;--card-accent:#a4e3d5}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(1){background:#102f37;border-color:#45676c;--card-bg:#102f37;--card-text:#eef7f4;--card-muted:#bfd5d1;--card-accent:#a4e3d5}
:root[data-theme=dark] .service-mosaic .mosaic-featured:nth-child(4){background:#365b5e;border-color:#769294;--card-bg:#365b5e;--card-text:#eef7f4;--card-muted:#cfe0dd;--card-accent:#b7eadc}
:root[data-theme=dark] .service-mosaic .mosaic-cell:hover{border-color:#b7eadc}
@media(max-width:1050px){.service-mosaic .mosaic-featured:nth-child(1),.service-mosaic .mosaic-featured:nth-child(4){grid-column:span 7}.service-mosaic .mosaic-featured:nth-child(2),.service-mosaic .mosaic-featured:nth-child(3){grid-column:span 5}.service-mosaic .mosaic-secondary{grid-column:span 6;min-height:205px}}
@media(max-width:700px){.service-mosaic{gap:12px}.service-mosaic .mosaic-featured:nth-child(n),.service-mosaic .mosaic-secondary{grid-column:span 2;min-height:245px;padding:24px!important}.service-mosaic .mosaic-featured h3{font-size:27px}.service-mosaic .mosaic-secondary{min-height:190px}.service-mosaic .mosaic-top{top:22px;right:21px}.service-mosaic .mosaic-copy,.service-mosaic .mosaic-secondary .mosaic-copy{padding-right:40px}.service-mosaic .mosaic-cell p,.service-mosaic .mosaic-featured p{font-size:14px}.service-mosaic .mosaic-secondary p{font-size:13px}}
.service-mosaic .mosaic-cell{transition:opacity .62s ease var(--reveal-delay,0ms),translate .62s ease var(--reveal-delay,0ms),transform .24s ease,border-color .24s ease,background-color .24s ease}
.service-mosaic .mosaic-cell.reveal-pending{opacity:1;translate:0 12px}
.service-mosaic .mosaic-cell:hover{transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){.service-mosaic .mosaic-cell,.service-mosaic .mosaic-cell:hover{transition:none;transform:none}.service-mosaic .mosaic-cell.reveal-pending{opacity:1;translate:none}}
