/* Companies page V6 — full-width background hero + editorial portfolio redesign. */
.companies-v5-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    color:#fff;
    background:#071a27;
    min-height:var(--companies-v5-height,520px);
    padding:132px 0 72px;
}
.companies-v5-hero:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-4;
    background:
        radial-gradient(circle at 12% 20%,rgba(45,174,223,.18),transparent 31%),
        linear-gradient(120deg,#061722 0%,#09283a 58%,#0a4058 100%);
}
.companies-v5-hero.has-hero-image:before{
    background:
        linear-gradient(90deg,rgba(3,16,24,.92) 0%,rgba(4,20,31,.82) 30%,rgba(4,20,31,.45) 58%,rgba(4,20,31,.20) 100%),
        linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.12)),
        var(--companies-v5-bg) var(--companies-hero-image-position,center)/cover no-repeat;
}
.companies-v5-hero:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 62%,transparent 100%);
    opacity:.55;
}
.companies-v5-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.companies-v5-orb-a{width:380px;height:380px;left:-230px;bottom:-240px;background:radial-gradient(circle,rgba(41,171,220,.28),transparent 67%);filter:blur(12px)}
.companies-v5-orb-b{width:430px;height:430px;right:-260px;top:-250px;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 78px rgba(255,255,255,.018),0 0 0 155px rgba(255,255,255,.012)}

.companies-v5-hero-shell{
    min-height:calc(var(--companies-v5-height,520px) - 204px);
    display:block;
}
.companies-v5-copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    width:min(760px,100%);
    padding:8px 0 0;
}
.companies-v5-eyebrow{
    display:flex;
    align-items:center;
    gap:14px;
    margin:0 0 18px;
    color:#9edcf6;
    font:700 var(--companies-banner-eyebrow-size,13px)/1.2 var(--display);
    letter-spacing:.28em;
    text-transform:uppercase;
}
.companies-v5-eyebrow:before{content:"";width:50px;height:1px;background:linear-gradient(90deg,#8dd9f8,rgba(141,217,248,.18))}
.companies-v5-copy h1{
    margin:0;
    max-width:min(10ch,100%);
    color:#fff;
    font:600 var(--companies-banner-title-size,68px)/.96 'Cormorant Garamond',serif;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.companies-v5-intro{
    max-width:620px;
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.14);
    color:#d5e4ec;
    font-size:var(--companies-banner-intro-size,18px);
    line-height:1.72;
}
.companies-v5-intro p{margin:0 0 .85em;color:inherit!important;font-size:inherit!important;line-height:inherit!important}
.companies-v5-intro p:last-child{margin-bottom:0}


.companies-v5-portfolio{
    position:relative;
    overflow:hidden;
    padding:76px 0 118px;
    background:
        radial-gradient(circle at 100% 10%,rgba(112,199,231,.14),transparent 27%),
        linear-gradient(180deg,#f6f9fa 0%,#edf4f6 56%,#f8fafb 100%);
}
.companies-v5-portfolio:before{
    content:"";
    position:absolute;
    left:-160px;
    top:280px;
    width:340px;
    height:340px;
    border-radius:50%;
    border:1px solid rgba(18,94,132,.08);
    box-shadow:0 0 0 65px rgba(18,94,132,.025),0 0 0 130px rgba(18,94,132,.014);
}

.companies-v5-list{display:grid;gap:30px}
.companies-v5-entry{
    position:relative;
    display:grid;
    grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);
    min-height:390px;
    overflow:hidden;
    border:1px solid rgba(9,49,71,.10);
    border-radius:30px;
    background:rgba(255,255,255,.92);
    box-shadow:0 22px 58px rgba(26,69,91,.085);
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.companies-v5-entry:hover{transform:translateY(-5px);border-color:rgba(12,110,168,.22);box-shadow:0 32px 78px rgba(26,69,91,.14)}
.companies-v5-entry.is-featured{min-height:445px}
.companies-v5-entry.is-reversed{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)}
.companies-v5-entry.is-reversed .companies-v5-entry-media{order:2}
.companies-v5-entry.is-reversed .companies-v5-entry-content{order:1}

.companies-v5-entry-media{
    position:relative;
    min-height:100%;
    overflow:hidden;
    background:linear-gradient(145deg,#0b2d40,#0d607f);
}
.companies-v5-entry-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,20,30,.56))}
.companies-v5-entry-media.is-contained{display:flex;align-items:center;background:#eaf2f6}
.companies-v5-entry-media.is-contained:after{display:none}
.companies-v5-entry-media img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.companies-v5-entry.is-featured .companies-v5-entry-media img{min-height:445px}
.companies-v5-entry:hover .companies-v5-entry-media img{transform:scale(1.035)}
.companies-v5-image-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,rgba(105,196,232,.3),transparent 36%),linear-gradient(135deg,#082434,#0c5776)}
.companies-v5-image-fallback span{color:rgba(255,255,255,.2);font:600 130px/1 'Cormorant Garamond',serif}

.companies-v5-entry-content{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:clamp(32px,4.2vw,58px);
}
.companies-v5-entry-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:38px}
.companies-v5-entry-logo{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:min(220px,55%);
    min-height:56px;
}
.companies-v5-entry-logo img{display:block;max-width:100%;max-height:62px;width:auto;height:auto;object-fit:contain;object-position:left center}
.companies-v5-logo-fallback{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#0a2d42;color:#fff;font:700 14px/1 var(--display);letter-spacing:.08em}
.companies-v5-entry-top small{margin-left:auto;color:#0c6ea8;font:700 10px/1.45 var(--display);letter-spacing:.16em;text-transform:uppercase;text-align:right}
.companies-v5-entry-main h2{
    margin:0;
    max-width:14ch;
    color:#0b2438;
    font:600 clamp(36px,4.3vw,58px)/.98 'Cormorant Garamond',serif;
    letter-spacing:-.045em;
}
.companies-v5-summary{max-width:650px;margin-top:20px;color:#586a74;font-size:15px;line-height:1.75}
.companies-v5-summary p{margin:0 0 .8em;color:inherit!important;font-size:inherit!important;line-height:inherit!important}
.companies-v5-summary p:last-child{margin-bottom:0}
.companies-v5-entry-action{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    width:100%;
    margin-top:42px;
    padding-top:18px;
    border-top:1px solid rgba(9,49,71,.12);
    color:#0b2438;
    font:700 12px/1 var(--display);
    letter-spacing:.08em;
    text-transform:uppercase;
}
.companies-v5-entry-action i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0b2438;color:#fff;font-style:normal;font-size:15px;transition:transform .25s ease,background .25s ease}
.companies-v5-entry-action:hover i{transform:translate(2px,-2px);background:#0c6ea8}

.companies-v5-empty{padding:70px;border:1px solid rgba(9,49,71,.10);border-radius:28px;background:#fff;text-align:center}
.companies-v5-empty h2{margin:15px 0 8px;font-size:36px}.companies-v5-empty p{margin:0;color:#667680}

@media(max-width:1000px){
    .companies-v5-hero{padding:118px 0 64px}
    .companies-v5-hero-shell{min-height:calc(var(--companies-v5-height,520px) - 182px)}
    .companies-v5-copy{width:min(700px,100%)}
    .companies-v5-copy h1{font-size:clamp(36px,6.6vw,var(--companies-banner-title-size,68px))}
    .companies-v5-entry,.companies-v5-entry.is-reversed{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}
    .companies-v5-entry.is-reversed .companies-v5-entry-media{order:0}.companies-v5-entry.is-reversed .companies-v5-entry-content{order:0}
    .companies-v5-entry-content{padding:34px}
    .companies-v5-entry-main h2{font-size:clamp(34px,5vw,48px)}
}
@media(max-width:760px){
    .companies-v5-hero{min-height:0;padding:104px 0 44px}
    .companies-v5-hero-shell{display:block;min-height:0}
    .companies-v5-copy{width:100%;padding:12px 0 0}
    .companies-v5-copy h1{font-size:clamp(34px,12vw,var(--companies-banner-title-size,68px))!important;line-height:.98;max-width:none}
    .companies-v5-intro{font-size:clamp(14px,4.5vw,var(--companies-banner-intro-size,18px))!important;margin-top:20px;padding-top:18px}
    .companies-v5-portfolio{padding:64px 0 80px}
    .companies-v5-list{gap:22px}
    .companies-v5-entry,.companies-v5-entry.is-reversed,.companies-v5-entry.is-featured{display:flex;min-height:0;flex-direction:column;border-radius:24px}
    .companies-v5-entry.is-reversed .companies-v5-entry-media{order:0}.companies-v5-entry.is-reversed .companies-v5-entry-content{order:1}
    .companies-v5-entry-media{min-height:260px}
    .companies-v5-entry-media img,.companies-v5-entry.is-featured .companies-v5-entry-media img{min-height:260px;height:260px}
    .companies-v5-entry-content{padding:28px 24px 26px}
    .companies-v5-entry-top{margin-bottom:26px}
    .companies-v5-entry-logo{width:fit-content;max-width:min(190px,58%);min-height:46px}
    .companies-v5-entry-logo img{max-height:50px}
    .companies-v5-entry-main h2{font-size:clamp(34px,10vw,46px);max-width:none}
    .companies-v5-summary{font-size:14px;margin-top:16px}
    .companies-v5-entry-action{margin-top:30px}
}
@media(max-width:480px){
    .companies-v5-hero{padding-top:96px}
    .companies-v5-eyebrow{font-size:10px!important;letter-spacing:.2em}.companies-v5-eyebrow:before{width:34px}
    .companies-v5-entry-media,.companies-v5-entry-media img,.companies-v5-entry.is-featured .companies-v5-entry-media img{min-height:225px;height:225px}
    .companies-v5-entry-top{align-items:flex-start;gap:14px}.companies-v5-entry-top small{max-width:42%;font-size:9px}
    .companies-v5-entry-content{padding:24px 20px}
}
@media(prefers-reduced-motion:reduce){.companies-v5-entry,.companies-v5-entry-media img,.companies-v5-entry-action i{transition:none}}


/* Companies V7 — smoother, warmer portfolio presentation. */
.companies-v5-hero{
    min-height:var(--companies-v5-height,500px);
    padding:128px 0 68px;
}
.companies-v5-hero.has-hero-image:before{
    background:
        linear-gradient(90deg,rgba(4,17,26,.91) 0%,rgba(5,24,36,.78) 34%,rgba(5,25,37,.38) 66%,rgba(5,25,37,.16) 100%),
        linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.16)),
        var(--companies-v5-bg) var(--companies-hero-image-position,center)/cover no-repeat;
}
.companies-v5-hero:after{
    opacity:.28;
    background-size:88px 88px;
}
.companies-v5-copy h1{font-weight:600;line-height:.98;letter-spacing:-.04em}
.companies-v5-intro{color:rgba(235,244,248,.88);border-top-color:rgba(255,255,255,.13)}

.companies-v5-portfolio{
    padding:72px 0 120px;
    background:
        radial-gradient(circle at 88% 5%,rgba(95,180,216,.10),transparent 25%),
        radial-gradient(circle at 4% 68%,rgba(205,166,112,.09),transparent 24%),
        linear-gradient(180deg,#f8f7f3 0%,#f1f5f5 46%,#f8f9f7 100%);
}
.companies-v5-portfolio:before{opacity:.7}
.companies-v5-index-head{
    position:relative;z-index:1;display:flex;align-items:center;gap:22px;margin:0 0 30px;padding:0 4px;
}
.companies-v5-index-head>div:first-child{display:flex;align-items:center;gap:12px;white-space:nowrap}
.companies-v5-index-head span{
    display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:14px;
    background:#fff;border:1px solid rgba(10,71,101,.09);box-shadow:0 8px 22px rgba(24,67,87,.06);
    color:#0a6f9f;font:800 12px/1 var(--display);letter-spacing:.08em;
}
.companies-v5-index-head p{margin:0;color:#58707c;font:700 10px/1 var(--display);letter-spacing:.16em;text-transform:uppercase}
.companies-v5-index-line{height:1px;flex:1;background:linear-gradient(90deg,rgba(12,110,168,.24),rgba(12,110,168,.03),transparent)}

.companies-v5-list{gap:24px}
.companies-v5-entry{
    isolation:isolate;
    min-height:385px;
    border:1px solid rgba(15,61,82,.09);
    border-radius:26px;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 38px rgba(27,65,82,.065),0 2px 8px rgba(27,65,82,.025);
    transition:transform .46s cubic-bezier(.2,.75,.2,1),box-shadow .46s ease,border-color .35s ease;
}
.companies-v5-entry:before{
    content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:4;
    background:linear-gradient(90deg,var(--company-accent,#0b78b4),color-mix(in srgb,var(--company-accent,#0b78b4) 35%,white),transparent 72%);
    opacity:.76;pointer-events:none;
}
.companies-v5-entry:hover{
    transform:translateY(-4px);
    border-color:color-mix(in srgb,var(--company-accent,#0b78b4) 22%,#dbe5e9);
    box-shadow:0 24px 60px rgba(27,65,82,.115),0 5px 16px rgba(27,65,82,.045);
}
.companies-v5-entry.is-featured{min-height:420px}
.companies-v5-entry-media{background:#e8f0f3}
.companies-v5-entry-media:after{
    background:linear-gradient(180deg,rgba(1,15,23,.01) 46%,rgba(4,25,36,.34) 100%);
    transition:opacity .35s ease;
}
.companies-v5-entry:hover .companies-v5-entry-media:after{opacity:.88}
.companies-v5-entry-media img{
    min-height:385px;
    transition:transform .85s cubic-bezier(.18,.72,.2,1),filter .45s ease;
}
.companies-v5-entry.is-featured .companies-v5-entry-media img{min-height:420px}
.companies-v5-entry:hover .companies-v5-entry-media img{transform:scale(1.025);filter:saturate(1.025) contrast(1.01)}
.companies-v5-entry-media.is-contained img{padding:28px;max-height:100%;object-fit:contain!important}
.companies-v5-entry-index{
    position:absolute;left:18px;top:18px;z-index:3;display:grid;place-items:center;width:42px;height:42px;
    border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(4,29,42,.48);color:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    font:800 10px/1 var(--display);letter-spacing:.12em;
}
.companies-v5-entry-media.is-contained .companies-v5-entry-index{background:rgba(8,62,88,.86)}

.companies-v5-entry-content{padding:clamp(30px,3.6vw,50px)}
.companies-v5-entry-top{margin-bottom:28px}
.companies-v5-entry-logo{
    display:inline-flex;align-items:center;justify-content:flex-start;
    width:fit-content;max-width:min(220px,56%);min-height:58px;
    padding:7px 10px;border-radius:14px;
    background:linear-gradient(135deg,rgba(247,250,251,.92),rgba(255,255,255,.65));
    border:1px solid rgba(15,67,91,.07);
}
.companies-v5-entry-logo img{display:block;max-width:100%;max-height:58px;width:auto;height:auto;object-fit:contain;object-position:left center}
.companies-v5-entry-logo.is-farisha{max-width:min(260px,68%);min-height:66px;padding:6px 8px}
.companies-v5-entry-logo.is-farisha img{max-height:72px}
.companies-v5-entry-top small{
    max-width:42%;color:color-mix(in srgb,var(--company-accent,#0b78b4) 82%,#244a5e);
    font-size:9px;line-height:1.5;letter-spacing:.17em;
}
.companies-v5-entry-main h2{
    max-width:15ch;color:#102b3a;font-size:clamp(34px,3.6vw,52px);line-height:1.01;letter-spacing:-.035em;
}
.companies-v5-summary{margin-top:17px;max-width:620px;color:#5d7079;font-size:14.5px;line-height:1.72}
.companies-v5-entry-action{
    margin-top:34px;padding-top:16px;border-top-color:rgba(15,61,82,.095);letter-spacing:.07em;
    transition:color .25s ease;
}
.companies-v5-entry-action:hover{color:var(--company-accent,#0b78b4)}
.companies-v5-entry-action i{
    width:40px;height:40px;background:var(--company-accent,#0b78b4);
    box-shadow:0 8px 20px color-mix(in srgb,var(--company-accent,#0b78b4) 22%,transparent);
    transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease,background .25s ease;
}
.companies-v5-entry-action:hover i{transform:translate(3px,-3px);background:var(--company-accent,#0b78b4);box-shadow:0 12px 26px color-mix(in srgb,var(--company-accent,#0b78b4) 28%,transparent)}

.companies-v5-portfolio .reveal{
    transform:translateY(18px);transition:opacity .72s cubic-bezier(.2,.72,.2,1) var(--delay,0ms),transform .72s cubic-bezier(.2,.72,.2,1) var(--delay,0ms);
}
.companies-v5-portfolio .reveal.visible,.companies-v5-portfolio .reveal.is-visible{transform:none}

@media(max-width:1000px){
    .companies-v5-entry-content{padding:32px}
    .companies-v5-entry-main h2{font-size:clamp(32px,4.8vw,46px)}
}
@media(max-width:760px){
    .companies-v5-portfolio{padding:56px 0 82px}
    .companies-v5-index-head{margin-bottom:22px}
    .companies-v5-list{gap:18px}
    .companies-v5-entry,.companies-v5-entry.is-reversed,.companies-v5-entry.is-featured{border-radius:22px}
    .companies-v5-entry-media,.companies-v5-entry-media img,.companies-v5-entry.is-featured .companies-v5-entry-media img{min-height:250px;height:250px}
    .companies-v5-entry-content{padding:26px 23px 24px}
    .companies-v5-entry-top{margin-bottom:22px}
    .companies-v5-entry-logo{width:min(180px,58%);min-height:48px;padding:5px 8px}
    .companies-v5-entry-logo img{max-height:48px}
    .companies-v5-entry-logo.is-farisha{max-width:min(210px,68%);min-height:54px;padding:4px 6px}
    .companies-v5-entry-logo.is-farisha img{max-height:56px}
    .companies-v5-entry-main h2{font-size:clamp(32px,9vw,44px)}
    .companies-v5-summary{font-size:14px}
    .companies-v5-entry-action{margin-top:26px}
}
@media(max-width:480px){
    .companies-v5-index-head{gap:12px}.companies-v5-index-line{display:none}
    .companies-v5-index-head p{font-size:9px;letter-spacing:.12em;white-space:normal}
    .companies-v5-entry-media,.companies-v5-entry-media img,.companies-v5-entry.is-featured .companies-v5-entry-media img{min-height:220px;height:220px}
    .companies-v5-entry-index{left:13px;top:13px;width:38px;height:38px;border-radius:12px}
    .companies-v5-entry-content{padding:23px 19px 22px}
}
@media(prefers-reduced-motion:reduce){
    .companies-v5-portfolio .reveal,.companies-v5-entry,.companies-v5-entry-media img,.companies-v5-entry-action i{transition:none!important}
}


/* Sister Concerns V8 — automatic full-cover company photography.
   Portfolio cards always fill their media panel proportionally; CMS focus is preserved. */
.companies-v5-entry-media,
.companies-v5-entry-media.is-auto-cover{
    position:relative;
    display:block;
    min-height:100%;
    overflow:hidden;
    background:linear-gradient(145deg,#e8f1f5,#dce9ef);
    isolation:isolate;
}
.companies-v5-entry-media.is-auto-cover:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(145deg,rgba(12,110,168,.08),rgba(11,36,56,.03));
    pointer-events:none;
}
.companies-v5-entry-media.is-auto-cover img{
    position:absolute!important;
    inset:0!important;
    z-index:1;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    object-fit:cover!important;
    display:block!important;
    transform:scale(1.001);
    transform-origin:center center;
    will-change:transform;
    transition:transform .75s cubic-bezier(.2,.72,.2,1),filter .4s ease!important;
}
.companies-v5-entry-media.is-auto-cover:after{
    z-index:2;
    background:linear-gradient(180deg,rgba(2,17,26,0) 54%,rgba(3,24,35,.22) 100%)!important;
    pointer-events:none;
}
.companies-v5-entry:hover .companies-v5-entry-media.is-auto-cover img{
    transform:scale(1.028)!important;
    filter:saturate(1.03) contrast(1.015)!important;
}

/* Override legacy contain rules on this portfolio only. */
.companies-v5-entry-media.is-auto-cover.is-contained{
    display:block!important;
    align-items:initial!important;
    background:#e8f0f3!important;
}
.companies-v5-entry-media.is-auto-cover.is-contained:after{display:block!important}
.companies-v5-entry-media.is-auto-cover.is-contained img{
    object-fit:cover!important;
    padding:0!important;
}

@media(max-width:760px){
    .companies-v5-entry-media.is-auto-cover{
        min-height:250px!important;
        height:250px!important;
    }
    .companies-v5-entry-media.is-auto-cover img{
        min-height:100%!important;
        height:100%!important;
    }
}
@media(max-width:480px){
    .companies-v5-entry-media.is-auto-cover{
        min-height:220px!important;
        height:220px!important;
    }
}
