/* Homepage styling, scoped to the front page. */
/* Readable service panels with native page scrolling. */
body.ul-home-proposal { height:auto;overflow-x:clip;overflow-y:visible; }
.ul-home-proposal .about-section__link:hover { color:#fff;border-color:#fff; }
.home .ul-services { padding:80px 24px;background:#fff;color:#152c38;scroll-margin-top:110px; }
.home .ul-services-inner { max-width:1200px;margin:0 auto; }
.home .ul-services-heading { margin-bottom:28px; }
.home .ul-services-heading h2 { margin:0 0 12px;font-size:clamp(1.75rem,3vw,2.625rem);line-height:1.2;letter-spacing:-.025em;text-transform:none;font-weight:700;color:#152c38; }
.home .ul-services-heading p { margin:0;font-size:1.0625rem;line-height:1.7;color:#48616d; }
.home .ul-services-tabs { display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px; }
.home .ul-services-tabs button { flex:1 1 auto;min-height:48px;padding:12px 20px;border:1px solid #c9dadd;border-radius:999px;background:#fff;color:#254450;font-size:.9375rem;font-weight:600;line-height:1.45;text-transform:none;letter-spacing:0;cursor:pointer; }
.home .ul-services-tabs button:hover { border-color:#137b8d;background:#eff8f9; }
.home .ul-services-tabs button[aria-selected="true"] { background:#132f3c;border-color:#132f3c;color:#fff; }
.home .ul-services.is-ready .ul-services-panels { display:grid; }
.home .ul-service-panel { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-area:1/1;overflow:hidden;border:1px solid #dce8eb;border-radius:28px;background:#f2f7f8;min-width:0; }
.home .ul-services:not(.is-ready) .ul-service-panel { margin-bottom:24px; }
.home .ul-services [hidden] { display:none; }
/* Invisible panels reserve the same height, so choosing a service never shifts the page. */
.home .ul-services.is-ready .ul-service-panel.is-inactive { visibility:hidden;pointer-events:none; }
.home .ul-service-copy { min-width:0;padding:clamp(28px,3.5vw,48px);align-self:center; }
.home .ul-service-number { display:block;margin-bottom:20px;font-size:.8125rem;font-weight:600;letter-spacing:.08em;color:#42616d; }
.home .ul-service-copy h3 { margin:0 0 20px;font-size:clamp(1.875rem,3vw,2.625rem);font-weight:700;line-height:1.2;letter-spacing:-.025em;text-transform:none;overflow-wrap:break-word;color:#152c38; }
.home .ul-service-copy h3 a { font:inherit;letter-spacing:inherit;color:inherit;text-decoration:none;border:0; }
.home .ul-service-copy h3 a:hover { color:#116578; }
.home .ul-service-description { margin:0 0 24px;font-size:1.0625rem;line-height:1.75;font-weight:500;color:#254450; }
.home .ul-service-details { margin:0 0 28px; }
.home .ul-service-details p { position:relative;margin:0 0 12px;padding-left:18px;font-size:.9375rem;line-height:1.7;color:#48616d; }
.home .ul-service-details p::before { content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:#167c8b; }
.home .ul-service-link { display:inline-flex;align-items:center;justify-content:center;gap:20px;max-width:100%;min-height:48px;padding:14px 22px;border:1px solid #126478;border-radius:999px;background:#126478;color:#fff!important;font-size:.9375rem;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none;text-decoration:none; }
.home .ul-service-link:hover { background:#0b4d5d;border-color:#0b4d5d; }
.home .ul-service-link>span:first-child { min-width:0; }
.home .ul-service-link>span:last-child { flex-shrink:0;font-size:1.2em; }
.home .ul-service-media { position:relative;min-width:0;min-height:480px;overflow:hidden;background:#102732;touch-action:pan-y; }
.home .ul-service-media img { position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover; }
.home .ul-services-controls { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px; }
.home .ul-services-status { margin:0;color:#48616d;font-size:.875rem;line-height:1.5; }
.home .ul-services-arrows { display:flex;gap:10px; }
.home .ul-services-arrows button { display:grid;place-items:center;min-width:48px;min-height:48px;padding:8px;border:1px solid #c9dadd;border-radius:50%;background:#fff;color:#152c38;font-size:1.5rem;line-height:1;cursor:pointer; }
.home .ul-services-arrows button:hover { background:#132f3c;color:#fff;border-color:#132f3c; }
.home .ul-services :is(a,button):focus-visible,
.ul-home-proposal .about-section__link:focus-visible { outline:3px solid #27a8bb;outline-offset:4px; }
@media(max-width:900px) {
    .home .ul-services { padding:56px 24px; }
    .home .ul-service-copy { padding:28px; }
    .home .ul-service-panel { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
}
@media(max-width:760px) {
    .home .ul-services { padding:48px 20px;scroll-margin-top:96px; }
    .home .ul-services-heading p { font-size:1rem; }
    .home .ul-services-tabs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px; }
    .home .ul-services-tabs button { min-width:0;padding:12px 10px;font-size:.875rem; }
    .home .ul-services-tabs button:last-child { grid-column:1/-1; }
    .home .ul-service-panel { grid-template-columns:minmax(0,1fr);grid-template-rows:1fr 220px;border-radius:20px; }
    .home .ul-service-copy { padding:28px 24px;align-self:start; }
    .home .ul-service-number { margin-bottom:16px; }
    .home .ul-service-copy h3 { font-size:1.875rem;margin-bottom:16px; }
    .home .ul-service-description { font-size:1rem;line-height:1.75; }
    .home .ul-service-details { display:none; }
    .home .ul-service-link { width:100%;gap:12px;padding:13px 14px;font-size:.875rem; }
    .home .ul-service-media { min-height:0;height:220px; }
    .home .ul-services-controls { gap:12px; }
    .home .ul-services-status { font-size:.8125rem; }
    .home .ul-services-arrows button { min-width:44px;min-height:44px; }
}

body.ul-home-proposal {
    --ul-home-ink:#152c38;
    --ul-home-muted:#48616d;
    --ul-home-light:#f1f6f7;
}
.ul-home-proposal .hero-title {
    text-transform:none!important;
    letter-spacing:-.025em!important;
    line-height:1.16!important;
    font-weight:700;
}
.ul-home-proposal .hero-subtitle {
    font-size:1.0625rem!important;
    line-height:1.8!important;
    letter-spacing:0;
    max-width:48rem;
    text-transform:none!important;
    margin-inline:auto;
    color:#e3edf0;
}
.ul-home-proposal .about-section {
    --ul-home-ink:#fff;
    --ul-home-muted:#c0cdd2;
    background:#000;
    color:var(--ul-home-ink);
    padding:80px 0 64px;
}
.ul-home-proposal .about-section-wrapper {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    align-items:center;
    gap:clamp(32px,5vw,72px);
    max-width:1200px;
    margin:0 auto;
    padding:0;
}
.ul-home-proposal .about-section__content { padding:0;max-width:none;min-width:0; }
.ul-home-proposal .about-section__content h2,
.ul-home-proposal .about-section__content h2 p {
    margin:0;
    font-size:clamp(1.75rem,3vw,2.625rem);
    line-height:1.23;
    letter-spacing:-.025em;
    text-transform:none;
    font-weight:700;
    color:var(--ul-home-ink);
}
.ul-home-proposal .about-section__content p.about-section__description {
    margin:24px 0 0;
    font-size:1.0625rem;
    font-weight:400;
    line-height:1.85;
    letter-spacing:0;
    color:var(--ul-home-muted);
}
.ul-home-proposal .about-section__content a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin-top:24px;
    font-size:.9375rem;
    font-weight:600;
    line-height:1.5;
    text-transform:none;
    letter-spacing:0;
    color:#70d0da;
    border-bottom:1px solid #70d0da;
}
.ul-home-proposal .about-section__video {
    min-width:0;
    overflow:hidden;
    background:#000;
    border-radius:20px;
}
.ul-home-proposal .about-section__video video,
.ul-home-proposal .about-section__video .about-video-poster {
    display:block;
    width:100%;
    height:420px;
    max-height:none;
    object-fit:contain;
}
.ul-home-proposal .uniloud-home-copy {
    max-width:none;
    width:100%;
    margin:0;
    padding:0;
    background:var(--ul-home-light);
}
.ul-home-proposal .uniloud-home-proof {
    padding:0 24px 80px!important;
    margin:0!important;
    background:transparent;
}
.ul-home-proposal .uniloud-home-proof>.wp-block-group__inner-container {
    max-width:1200px;
    margin:0 auto;
    padding:40px 0 0;
    border-top:1px solid #cfdee2;
}
.ul-home-proposal .uniloud-home-proof h2 {
    margin:0 0 16px;
    font-size:clamp(1.75rem,3vw,2.375rem);
    font-weight:700;
    line-height:1.25;
    text-transform:none;
    letter-spacing:-.025em;
    color:var(--ul-home-ink)!important;
}
.ul-home-proposal .uniloud-home-proof p {
    max-width:49rem;
    margin:0 0 28px;
    font-size:1.0625rem;
    font-weight:400;
    line-height:1.8;
    color:var(--ul-home-muted)!important;
}
.ul-home-proposal .uniloud-home-proof ul {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    counter-reset:ul-proof;
    margin:0;
    padding:0!important;
    list-style:none!important;
}
.ul-home-proposal .uniloud-home-proof li {
    counter-increment:ul-proof;
    margin:0;
    padding:24px;
    border:1px solid #d6e3e6;
    border-radius:14px;
    background:#fff;
    font-size:1rem;
    font-weight:500;
    line-height:1.7;
    letter-spacing:0;
    color:var(--ul-home-ink)!important;
}
.ul-home-proposal .uniloud-home-proof li::before {
    content:counter(ul-proof,decimal-leading-zero);
    display:block;
    position:static;
    margin:0 0 20px;
    font-size:.8125rem;
    font-weight:700;
    letter-spacing:.08em;
    color:#167c8b;
}
.ul-home-proposal .homepage-clients { padding:80px 0; }
.ul-home-proposal .use-case__title {
    font-size:1.1875rem;
    font-weight:600;
    line-height:1.45;
    text-transform:none;
    letter-spacing:-.015em;
    color:var(--ul-home-ink);
}
.ul-home-proposal .use-case__description {
    font-size:1rem;
    font-weight:400;
    line-height:1.8;
    color:var(--ul-home-muted);
}
.ul-home-proposal .homepage-clients .partners-wrapper { margin-top:64px; }
.ul-home-proposal .homepage-news { padding-top:88px; }
.ul-home-proposal .news-card__title {
    font-weight:600;
    line-height:1.5;
    text-transform:none;
    letter-spacing:-.015em;
}
@media(max-width:1000px) {
    .ul-home-proposal .about-section-wrapper { gap:32px; }
    .ul-home-proposal .about-section__video video { height:360px; }
    .ul-home-proposal .uniloud-home-proof ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .ul-home-proposal .hero-section .hero-title { font-size:clamp(1.5rem,6.5vw,2rem)!important;line-height:1.25!important;letter-spacing:-.02em; }
    .ul-home-proposal .hero-section .hero-subtitle { font-size:1rem!important;line-height:1.75!important; }
    .ul-home-proposal .about-section { padding:48px 0 40px; }
    .ul-home-proposal .about-section-wrapper { grid-template-columns:minmax(0,1fr);gap:32px; }
    .ul-home-proposal .about-section__content h2,
    .ul-home-proposal .about-section__content h2 p { font-size:1.75rem;line-height:1.3; }
    .ul-home-proposal .about-section__content p.about-section__description,
    .ul-home-proposal .uniloud-home-proof p { font-size:1rem;line-height:1.8; }
    .ul-home-proposal .about-section__video { border-radius:14px; }
    .ul-home-proposal .about-section__video video { height:auto;aspect-ratio:1.15; }
    .ul-home-proposal .uniloud-home-proof { padding:0 20px 48px!important; }
    .ul-home-proposal .uniloud-home-proof>.wp-block-group__inner-container { padding-top:28px; }
    .ul-home-proposal .uniloud-home-proof ul { grid-template-columns:minmax(0,1fr);gap:12px; }
    .ul-home-proposal .uniloud-home-proof li { padding:20px;font-size:.9375rem; }
    .ul-home-proposal .uniloud-home-proof li::before { margin-bottom:10px; }
    .ul-home-proposal .homepage-clients { padding:48px 0; }
    .ul-home-proposal .homepage-news { padding-top:56px; }
}
