/* Homepage composition. Project tile styling is shared with work.html. */
body.homepage-new {
    --home-centered-paper:#fcfdf9;
    --home-centered-ink:#111310;
    --home-centered-muted:#4d514b;
    --home-accent:#9138f7;
    --home-rule:#d9b7ff;
    margin:0;
    background:var(--home-centered-paper);
    color:var(--home-centered-ink);
    font-family:"Plus Jakarta Sans",sans-serif;
    font-size:16px;
    line-height:1.4;
    -webkit-font-smoothing:antialiased;
}
body.homepage-new.home-dark {
    --home-centered-paper:#141715;
    --home-centered-ink:#f4f5ef;
    --home-centered-muted:#c0c5bd;
    --home-accent:#be85ff;
    --home-rule:#654386;
    color-scheme:dark;
}
.homepage-new *, .homepage-new *::before, .homepage-new *::after { box-sizing:border-box; }
.homepage-new .home-shell { width:min(calc(100% - 3rem),1160px); margin-inline:auto; }
.homepage-new p { margin:0; }
.homepage-new a { color:inherit; text-underline-offset:3px; }
.homepage-new :is(a,button):focus-visible { outline:2px solid var(--home-accent); outline-offset:6px; }
.homepage-new .home-top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:2rem;
    padding-top:32px;
}
.homepage-new .home-section-nav {
    display:grid;
    grid-template-columns:max-content max-content;
    gap:8px 38px;
}
.homepage-new .home-section-nav a,
.homepage-new .home-mode-toggle {
    font-family:"Space Mono",monospace;
    font-size:13px;
    line-height:1.35;
    text-transform:uppercase;
    text-decoration:underline;
    text-underline-offset:2px;
}
.homepage-new .home-section-nav a { font-weight:700; }
.homepage-new .home-section-nav a span { color:var(--home-accent); }
.homepage-new .home-section-nav a:hover { color:var(--home-accent); }
.homepage-new .home-mode-toggle {
    flex:none;
    padding:0;
    border:0;
    background:none;
    color:inherit;
    cursor:pointer;
}
.homepage-new .home-mode-toggle:hover { color:var(--home-accent); }
.homepage-new .home-intro {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:start;
    gap:clamp(32px,5vw,80px);
    margin-top:clamp(140px,15.5vw,225px);
    min-height:440px;
}
.homepage-new .home-intro h1,
.homepage-new .home-section-title {
    font-family:"Space Mono",monospace;
    font-size:22px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:-.055em;
    text-transform:uppercase;
    margin:0;
}
.homepage-new .home-intro-copy { max-width:380px; }
.homepage-new .home-intro-copy p {
    font-size:16px;
    line-height:1.35;
    margin-top:16px;
    font-weight:300;
}
.homepage-new .home-intro-copy p + p { margin-top:40px; }
.homepage-new .home-intro-copy .tcb-highlight {
    white-space:nowrap;
    background:linear-gradient(to top,rgba(141,45,251,.25) 0 40%,transparent 40% 100%);
}
.homepage-new.home-dark .home-intro-copy .tcb-highlight {
    background:linear-gradient(to top,rgba(141,45,251,.25) 0 40%,transparent 40% 100%);
}
.homepage-new .home-intro-portrait {
    display:block;
    width:min(100%,370px);
    height:auto;
    justify-self:end;
    margin-top:48px;
    margin-right:0;
    border-radius:40px;
}
.homepage-new .home-section { margin-top:clamp(120px,15vw,220px); scroll-margin-top:40px; }
.homepage-new .home-work > .home-section-title { margin-bottom:42px; }
.homepage-new .home-pinned-count { font-weight:400; }
.homepage-new .home-work .home-pinned-grid {
    grid-template-rows:repeat(4,clamp(120px,10.5vw,170px));
    grid-template-areas:"sso sso referral referral" "sso sso referral referral" "teknet teknet referral referral" "teknet teknet referral referral";
}
.homepage-new .home-more-work { margin-top:clamp(40px,5vw,80px); }
.homepage-new .home-more-work > summary {
    display:flex;
    align-items:center;
    gap:10px;
    width:fit-content;
    cursor:pointer;
    list-style:none;
}
.homepage-new .home-more-work > summary::-webkit-details-marker { display:none; }
.homepage-new .home-more-work > summary::marker { content:""; }
.homepage-new .home-more-work > summary:hover { color:var(--home-accent); }
.homepage-new .home-more-work > summary:focus-visible {
    outline:2px solid var(--home-accent);
    outline-offset:6px;
}
.homepage-new .home-work-chevron { flex:none; transition:transform .2s ease; }
.homepage-new .home-more-work[open] .home-work-chevron { transform:rotate(180deg); }
.homepage-new .home-work .home-more-grid {
    padding-top:40px;
    grid-template-rows:repeat(2,clamp(120px,10.5vw,170px));
    grid-template-areas:"payout navigation bx parking" "payout navigation bx parking";
}
@media(max-width:991.98px) {
    .homepage-new .home-work .home-pinned-grid {
        grid-template-rows:repeat(6,clamp(140px,20vw,190px));
        grid-template-areas:"sso sso" "sso sso" "referral referral" "referral referral" "teknet teknet" "teknet teknet";
    }
    .homepage-new .home-work .home-more-grid {
        grid-template-rows:repeat(2,clamp(140px,20vw,190px));
        grid-template-areas:"payout navigation" "bx parking";
    }
}
@media(max-width:575.98px) {
    .homepage-new .home-work .home-pinned-grid,
    .homepage-new .home-work .home-more-grid {
        grid-template-rows:none;
        grid-template-areas:none;
    }
    .homepage-new .home-work .home-more-grid { padding-top:28px; }
}
.homepage-new .home-journey-new > .home-section-title { margin-bottom:42px; }
.homepage-new .home-career-row {
    display:grid;
    grid-template-columns:1fr 1.25fr .75fr;
    gap:24px;
    align-items:baseline;
    padding:30px 0;
    border-bottom:1px solid var(--home-rule);
}
.homepage-new .home-career-row:first-of-type { padding-top:0; }
.homepage-new .home-career-row p,
.homepage-new .home-career-row h3 { margin:0; font-size:18px; line-height:1.4; font-weight:400; }
.homepage-new .home-career-row h3 { font-family:inherit; font-weight:600; }
.homepage-new .home-career-date { text-align:right; white-space:nowrap; }
.homepage-new .home-about-heading { text-align:right; margin-bottom:44px; }
.homepage-new .home-about-heading > p { font-size:12px; margin-top:3px; }
.homepage-new .home-about-columns { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.homepage-new .home-about-columns p { font-size:15px; line-height:1.35; }
.homepage-new .home-about-left > p + p { margin-top:18px; }
.homepage-new .home-about-right { padding-top:40px; }
.homepage-new .home-about-right p + p { margin-top:18px; }
.homepage-new .home-about-right strong { font-weight:600; }
.homepage-new .home-interest-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:60px; }
.homepage-new .home-interest {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    aspect-ratio:1;
    background:#fff;
    color:#151714;
    border-radius:28px;
    box-shadow:0 2px 8px #16201a12,0 1px 3px #16201a0a;
}
.homepage-new.home-dark .home-interest { box-shadow:0 0 0 1px #ffffff18; }
.homepage-new .home-interest-copy { position:relative; z-index:2; text-align:center; padding:30px 8px 0; }
.homepage-new .home-interest-copy h3 { font-family:inherit; font-size:20px; line-height:1.2; margin:0; font-weight:700; }
.homepage-new .home-interest-copy p { font-size:15px; font-weight:300; margin-top:5px; }
.homepage-new .home-spanish-flag { display:block; margin:9px auto 0; width:32px; height:24px; }
/* The upright asset fills 72% of the card, matching the mockup with clear sides. */
.homepage-new .home-duo-art {
    position:absolute;
    display:block;
    width:72%;
    height:auto;
    bottom:0;
    left:14%;
    object-fit:contain;
    transform:none;
    z-index:1;
}
.homepage-new .home-record-art {
    position:absolute;
    width:72%;
    height:auto;
    aspect-ratio:194 / 188;
    bottom:-28%;
    left:14%;
    overflow:hidden;
    border-radius:50%;
}
.homepage-new .home-record-art video {
    display:block;
    position:static;
    width:100%;
    height:auto;
    max-width:none;
    object-fit:contain;
    transform:none;
}
.homepage-new .home-record-toggle {
    position:absolute;
    bottom:10px;
    right:10px;
    z-index:3;
    width:28px;
    height:28px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#252525;
    box-shadow:0 1px 5px #0002;
    cursor:pointer;
    opacity:0;
    transition:opacity .2s;
}
.homepage-new .home-record-toggle[hidden] { display:none; }
.homepage-new .home-interest--records:is(:hover,:focus-within) .home-record-toggle { opacity:1; }
.homepage-new .home-footer {
    margin-top:clamp(140px,15vw,220px);
    padding-top:56px;
    padding-bottom:50px;
    position:relative;
    scroll-margin-top:40px;
}
.homepage-new .home-footer::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:repeating-linear-gradient(to right,var(--home-rule) 0 8px,transparent 8px 24px);
}
.homepage-new .home-footer .home-section-title { margin-bottom:36px; }
.homepage-new .home-footer-row { display:flex; justify-content:space-between; gap:24px; align-items:baseline; }
.homepage-new .home-footer-links { display:flex; flex-wrap:wrap; gap:18px 42px; }
.homepage-new .home-footer-row a,
.homepage-new .home-footer-row p { font-size:11px; line-height:1.5; }
.homepage-new .home-footer-links a { text-decoration:none; }
.homepage-new .home-footer-links a:hover { color:var(--home-accent); text-decoration:underline; }
.homepage-new .home-footer-row p { text-align:right; }
.homepage-new .home-skip { position:fixed; z-index:100; top:10px; left:16px; transform:translateY(-200%); padding:12px 16px; background:var(--home-centered-paper); }
.homepage-new .home-skip:focus { transform:none; }
.homepage-new .home-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1000px) {
    .homepage-new .home-intro { min-height:360px; }
    .homepage-new .home-intro-portrait { width:90%; margin-right:0; border-radius:32px; }
    .homepage-new .home-intro h1, .homepage-new .home-section-title { font-size:19px; }
    .homepage-new .home-career-row p, .homepage-new .home-career-row h3 { font-size:15px; }
    .homepage-new .home-career-row { grid-template-columns:1.15fr 1fr .7fr; gap:16px; }
    .homepage-new .home-interest-copy { padding-top:20px; }
    .homepage-new .home-interest-copy h3 { font-size:17px; }
    .homepage-new .home-interest-copy p { font-size:13px; }
    .homepage-new .home-interest-grid { gap:16px; }
    .homepage-new .home-interest { border-radius:24px; }
}
@media(max-width:767.98px) {
    .homepage-new .home-top { flex-wrap:wrap; padding-top:24px; gap:24px; }
    .homepage-new .home-section-nav { gap:12px 20px; }
    .homepage-new .home-section-nav a, .homepage-new .home-mode-toggle { font-size:11px; }
    .homepage-new .home-intro { margin-top:100px; min-height:0; gap:30px; }
    .homepage-new .home-intro-copy p { font-size:15px; }
    .homepage-new .home-intro-portrait { margin-top:35px; }
    .homepage-new .home-section { margin-top:110px; }
    .homepage-new .home-about-columns { grid-template-columns:1fr; gap:32px; }
    .homepage-new .home-about-heading { text-align:left; }
    .homepage-new .home-about-right { padding-top:0; }
    .homepage-new .home-about-left { display:contents; }
    .homepage-new .home-socrates { margin:0; }
    .homepage-new .home-about-left > p + p { margin-top:-16px; }
    .homepage-new .home-interest-grid { grid-row:4; margin-top:0; width:min(100%,520px); }
    .homepage-new .home-interest-copy { padding-top:28px; }
    .homepage-new .home-interest-copy h3 { font-size:20px; }
    .homepage-new .home-interest-copy p { font-size:15px; }
    .homepage-new .home-career-row { grid-template-columns:1fr auto; gap:10px 20px; padding-block:24px; }
    .homepage-new .home-career-row > p:first-child { grid-column:1/-1; color:var(--home-centered-muted); font-size:13px; }
    .homepage-new .home-career-row h3 { grid-column:1; }
    .homepage-new .home-career-date { grid-column:2; }
    .homepage-new .home-footer { margin-top:120px; }
    .homepage-new .home-footer-row { flex-direction:column; gap:32px; }
    .homepage-new .home-footer-row p { text-align:left; }
}
@media(max-width:575.98px) {
    .homepage-new .home-shell { width:calc(100% - 2rem); }
    .homepage-new .home-top { gap:22px; }
    .homepage-new .home-section-nav { grid-template-columns:1fr 1fr; gap:12px 14px; width:100%; }
    .homepage-new .home-section-nav a { width:fit-content; max-width:100%; }
    .homepage-new .home-mode-toggle { margin-left:auto; }
    .homepage-new .home-intro { grid-template-columns:1fr; margin-top:80px; gap:40px; }
    .homepage-new .home-intro-copy { max-width:380px; }
    .homepage-new .home-intro-copy p + p { margin-top:26px; }
    .homepage-new .home-intro-portrait { justify-self:start; margin:0; width:min(72%,280px); border-radius:30px; }
    .homepage-new .home-section { margin-top:100px; }
    .homepage-new .home-work > .home-section-title, .homepage-new .home-journey-new > .home-section-title { margin-bottom:30px; }
    .homepage-new .home-interest-grid { gap:14px; }
    .homepage-new .home-interest { border-radius:22px; }
    .homepage-new .home-interest-copy { padding-top:20px; }
    .homepage-new .home-interest-copy h3 { font-size:clamp(15px,4.1vw,20px); }
    .homepage-new .home-interest-copy p { font-size:clamp(11px,3vw,14px); }
    .homepage-new .home-spanish-flag { width:25px; height:auto; margin-top:6px; }
    .homepage-new .home-footer-links { gap:16px 26px; }
}
@media(hover:none) { .homepage-new .home-record-toggle { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .homepage-new *, .homepage-new *::before, .homepage-new *::after { transition:none !important; animation:none !important; }
}

/* Temporarily hidden; remove this rule to restore the More Work accordion. */
.homepage-new .home-more-work { display:none; }

/* Compact homepage section navigation. */
.homepage-new .home-section-nav {
    display:flex;
    flex-wrap:nowrap;
    align-items:baseline;
    gap:10px;
    white-space:nowrap;
    color:var(--home-centered-ink,#111310);
}
.homepage-new .home-section-nav a {
    flex:none;
    color:inherit;
    font-weight:400;
    text-transform:uppercase;
}
.homepage-new .home-section-nav .home-nav-separator {color:inherit;font-size:13px;line-height:1.35;}
@media(max-width:767.98px) {
    .homepage-new .home-section-nav {gap:8px;}
    .homepage-new .home-section-nav .home-nav-separator {font-size:11px;}
}

/* Small availability note, with the navigation's regular weight. */
.homepage-new .home-work > .home-more-available {
    margin:32px 0 0;
    font-family:"Space Mono",monospace;
    font-size:13px;
    font-weight:400;
    line-height:1.35;
    text-transform:uppercase;
    text-align:right;
}
@media(max-width:767.98px) {
    .homepage-new .home-work > .home-more-available {margin-top:24px;}
}

/* Match the case-study footer typography and link spacing. */
.homepage-new .home-footer {padding-top:50px;}
.homepage-new .home-footer .home-section-title {
    font-size:24px;
    line-height:1.5;
    letter-spacing:-.02em;
    margin-bottom:30px;
}
.homepage-new .home-footer-row {align-items:center;gap:30px;}
.homepage-new .home-footer-links {gap:16px 40px;}
.homepage-new .home-footer-row a,
.homepage-new .home-footer-row p {font-size:12px;line-height:1.25;letter-spacing:-.02em;}
@media(max-width:767.98px) {
    .homepage-new .home-footer {padding-top:40px;}
    .homepage-new .home-footer .home-section-title {font-size:22px;}
    .homepage-new .home-footer-row {align-items:flex-start;}
    .homepage-new .home-footer-links {gap:16px 24px;}
}
