.partner-hero{position:relative;min-height:790px;padding:145px 0 90px;display:grid;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:#06080b}
.partner-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000 10%,transparent 94%)}
.partner-grid-glow{position:absolute;width:650px;height:650px;top:-260px;right:7%;border-radius:50%;background:#24e981;filter:blur(145px);opacity:.15}
.partner-hero-grid{position:relative;display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}
.partner-hero-copy h1{margin:23px 0 24px;max-width:720px;font-size:clamp(53px,6vw,80px);line-height:.97;letter-spacing:-.06em}
.partner-hero-copy h1 span,.history-partner-grid h2 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
.partner-hero-copy>p{max-width:610px;margin:0;color:var(--muted);font-size:14px;line-height:1.85}
.partner-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--line)}
.partner-facts div{min-height:82px;padding:17px;background:rgba(10,13,16,.92);display:flex;flex-direction:column;justify-content:space-between}
.partner-facts strong{font-size:18px;color:#eafdf2}.partner-facts span{font-size:8px;color:#6e7874;text-transform:uppercase;letter-spacing:.1em}
.hero-showcase{position:relative;min-height:510px}
.hero-shot{position:absolute;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#0c1011;box-shadow:0 30px 80px rgba(0,0,0,.5);cursor:pointer;transition:.28s ease}
.hero-shot:hover,.hero-shot:focus-visible{transform:translateY(-6px);border-color:rgba(36,233,129,.48);outline:none}
.hero-shot img{display:block;width:100%;height:100%;object-fit:cover}
.hero-shot>span{position:absolute;left:0;right:0;bottom:0;padding:48px 18px 15px;display:flex;justify-content:space-between;background:linear-gradient(transparent,rgba(2,5,5,.95));font-size:9px;font-weight:850;letter-spacing:.13em}
.hero-shot>span i{color:#8fffb9;font-style:normal}
.hero-shot-main{inset:0 55px 105px 0}.hero-shot-secondary{width:54%;height:205px;right:0;bottom:0}
.hero-signal{position:absolute;left:25px;bottom:28px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:3px;align-items:center}
.hero-signal i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#24e981;box-shadow:0 0 13px #24e981}
.hero-signal span{font-size:8px;color:#a0aaa6;letter-spacing:.17em}.hero-signal strong{font-size:7px;color:#53615b;letter-spacing:.13em}
.showcase-notice{position:relative;z-index:2;margin-top:-25px;min-height:72px;padding:16px 21px;display:flex;align-items:center;gap:18px;border:1px solid rgba(36,233,129,.22);border-radius:12px;background:rgba(11,19,16,.95);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.showcase-notice>span{padding:9px 11px;border-radius:6px;background:rgba(36,233,129,.1);color:#8fffb9;font-size:8px;font-weight:850;letter-spacing:.16em}.showcase-notice p{margin:0;color:#87918d;font-size:11px;line-height:1.65}
.partner-section{padding:112px 0;border-bottom:1px solid var(--line)}.portfolio-section{background:#050709}.offer-section{background:#080b0e}.partner-history{background:#06080a}
.showcase-filters{display:flex;flex-wrap:wrap;gap:7px;margin:-22px 0 28px}
.showcase-filters button{min-height:35px;padding:0 13px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.02);color:#7f8884;font-size:9px;font-weight:750;cursor:pointer;transition:.2s}
.showcase-filters button:hover,.showcase-filters button.active{border-color:rgba(36,233,129,.32);background:rgba(36,233,129,.08);color:#caffdc}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.showcase-card{display:flex;min-width:0;min-height:430px;padding:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#0c1013;color:inherit;text-align:left;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.showcase-card-wide{grid-column:span 2}.showcase-card:hover,.showcase-card:focus-visible{transform:translateY(-5px);border-color:rgba(36,233,129,.38);box-shadow:0 28px 70px rgba(0,0,0,.3),0 0 35px rgba(36,233,129,.04);outline:none}
.showcase-card[hidden]{display:none}
.showcase-media{position:relative;display:block;height:245px;overflow:hidden;background:radial-gradient(circle,#15201c,#050707 72%);border-bottom:1px solid var(--line)}
.showcase-card-wide .showcase-media{height:300px}.showcase-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 57%,rgba(3,6,6,.54))}
.showcase-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.showcase-media.contain img{padding:16px;object-fit:contain}
.showcase-card:hover .showcase-media img{transform:scale(1.025);filter:brightness(1.07)}
.showcase-card-body{display:flex;flex:1;padding:21px;flex-direction:column;align-items:flex-start}
.showcase-meta{color:#74eaa4;font-size:8px;font-weight:800;letter-spacing:.16em}.showcase-card-body strong{margin-top:10px;font-size:20px;letter-spacing:-.025em}
.showcase-card-body>span:not(.showcase-meta){margin-top:9px;color:#858e8a;font-size:11px;line-height:1.7}.showcase-card-body em{margin-top:auto;padding-top:18px;color:#c6d5cc;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.showcase-card-body em i{margin-left:5px;color:#24e981;font-style:normal}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.offer-grid article{position:relative;min-height:310px;padding:25px;border:1px solid var(--line);border-radius:13px;background:#0d1014;overflow:hidden}.offer-grid article:after{content:"";position:absolute;width:180px;height:180px;right:-110px;bottom:-110px;border-radius:50%;background:#24e981;filter:blur(58px);opacity:.08}
.offer-grid article>span{position:absolute;right:22px;top:21px;color:#45504b;font:9px ui-monospace,monospace;letter-spacing:.12em}.offer-grid article>i{display:block;margin-top:52px;color:#75eaa5;font-size:8px;font-style:normal;font-weight:800;letter-spacing:.18em}
.offer-grid h3{margin:14px 0 12px;font-size:19px}.offer-grid p{margin:0;color:#87908c;font-size:11px;line-height:1.72}.offer-grid small{position:absolute;left:25px;right:25px;bottom:24px;color:#57615d;font-size:7px;font-weight:750;letter-spacing:.11em}
.history-partner-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:start}.history-partner-grid h2{margin:16px 0 22px;font-size:clamp(39px,5vw,60px);line-height:1.03;letter-spacing:-.052em}.history-partner-grid>div>p{max-width:540px;margin:0;color:#87908d;font-size:13px;line-height:1.85}
.history-rail{display:grid;gap:9px}.history-rail article{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:22px;border:1px solid var(--line);border-radius:11px;background:#0c1012}.history-rail article>span{color:#80f0ab;font:9px ui-monospace,monospace;letter-spacing:.06em}.history-rail strong{font-size:14px}.history-rail p{margin:7px 0 0;color:#79837f;font-size:10px;line-height:1.65}
.partner-cta{padding:82px 0;background:#050706}.partner-cta-box{padding:46px;display:flex;align-items:end;justify-content:space-between;gap:45px;border:1px solid rgba(36,233,129,.25);border-radius:17px;background:radial-gradient(circle at 85% 20%,rgba(36,233,129,.13),transparent 38%),#0b100e}
.partner-cta h2{margin:15px 0 15px;font-size:clamp(37px,5vw,57px);line-height:1.03;letter-spacing:-.05em}.partner-cta p{max-width:640px;margin:0;color:#84908a;font-size:12px;line-height:1.75}.partner-cta-actions{display:flex;flex-direction:column;gap:9px;min-width:220px}
body.showcase-modal-open{overflow:hidden}.showcase-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:22px}.showcase-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(1,3,3,.91);backdrop-filter:blur(13px);cursor:pointer}
.showcase-modal-card{position:relative;z-index:1;width:min(1120px,100%);max-height:92dvh;overflow:hidden;border:1px solid rgba(36,233,129,.3);border-radius:17px;background:#080c0d;box-shadow:0 45px 150px rgba(0,0,0,.82),0 0 80px rgba(36,233,129,.08)}
.showcase-modal-scroll{max-height:92dvh;padding:36px;overflow-y:auto}.showcase-modal-close{position:absolute;right:16px;top:16px;z-index:5;width:43px;height:43px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(8,12,12,.92);font-size:25px;cursor:pointer}.showcase-modal-close:hover{border-color:rgba(36,233,129,.5);color:#91ffb9}
.showcase-modal header{padding-right:55px}.showcase-modal header>span{color:#78eca6;font-size:8px;font-weight:850;letter-spacing:.18em}.showcase-modal h2{margin:14px 0 11px;font-size:clamp(35px,5vw,58px);letter-spacing:-.05em}.showcase-modal header>p{max-width:790px;margin:0;color:#909996;font-size:12px;line-height:1.75}.showcase-modal header>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.showcase-modal header>div span{padding:7px 9px;border:1px solid var(--line);border-radius:6px;color:#7f8985;font-size:8px}
.showcase-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.showcase-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#050707}.showcase-gallery figure:first-child:nth-last-child(odd){grid-column:1/-1}.showcase-gallery img{display:block;width:100%;height:330px;padding:5px;object-fit:contain}.showcase-gallery figcaption{padding:10px 13px;border-top:1px solid var(--line);color:#66716c;font-size:8px;letter-spacing:.06em}
@media(max-width:1050px){.partner-hero-grid{grid-template-columns:1fr;gap:55px}.hero-showcase{min-height:540px}.offer-grid{grid-template-columns:repeat(2,1fr)}.history-partner-grid{grid-template-columns:1fr;gap:48px}.showcase-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.partner-hero{padding:126px 0 80px}.partner-hero-copy h1{font-size:clamp(45px,13vw,66px)}.hero-showcase{min-height:400px}.hero-shot-main{right:20px;bottom:90px}.hero-shot-secondary{height:155px}.hero-signal{left:12px;bottom:22px}.partner-section{padding:82px 0}.showcase-card,.showcase-card-wide{grid-column:auto}.showcase-card-wide .showcase-media,.showcase-media{height:220px}.offer-grid{grid-template-columns:1fr 1fr}.partner-cta-box{padding:32px 24px;align-items:flex-start;flex-direction:column}.partner-cta-actions{width:100%}.showcase-modal{padding:8px}.showcase-modal-scroll{padding:27px 18px}.showcase-gallery img{height:250px}}
@media(max-width:560px){.container{width:min(calc(100% - 28px),var(--container))}.partner-facts{grid-template-columns:1fr}.partner-facts div{min-height:68px}.hero-showcase{min-height:340px}.hero-shot-main{inset:0 0 70px}.hero-shot-secondary{display:none}.hero-signal{bottom:20px}.showcase-notice{align-items:flex-start;flex-direction:column;gap:10px}.showcase-grid,.offer-grid{grid-template-columns:1fr}.showcase-card{min-height:390px}.history-rail article{grid-template-columns:1fr;gap:9px}.showcase-gallery{grid-template-columns:1fr}.showcase-gallery figure:first-child:nth-last-child(odd){grid-column:auto}.showcase-gallery img{height:220px}}
@media(prefers-reduced-motion:reduce){.hero-shot,.showcase-card,.showcase-media img{transition:none!important}}

/* 2026-09-11: normalize all project thumbnails and preserve full hero thumbnails */
.showcase-card-wide{grid-column:auto}
.showcase-media,
.showcase-card-wide .showcase-media{
  height:auto;
  aspect-ratio:16/9;
}
.showcase-media img,
.showcase-card-wide .showcase-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Hero thumbnails use the source 16:9 format so nothing is cut off. */
.hero-showcase{min-height:455px}
.hero-shot-main{
  inset:auto;
  top:0;
  left:0;
  width:calc(100% - 55px);
  aspect-ratio:16/9;
}
.hero-shot-secondary{
  width:54%;
  height:auto;
  aspect-ratio:16/9;
  right:0;
  bottom:0;
}
.hero-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:1050px){
  .hero-showcase{min-height:500px}
}
@media(max-width:820px){
  .hero-showcase{min-height:410px}
  .hero-shot-main{top:0;left:0;width:calc(100% - 20px)}
  .hero-shot-secondary{height:auto;aspect-ratio:16/9}
  .showcase-card-wide .showcase-media,.showcase-media{height:auto;aspect-ratio:16/9}
}
@media(max-width:560px){
  .hero-showcase{min-height:330px}
  .hero-shot-main{inset:auto;top:0;left:0;width:100%;aspect-ratio:16/9}
  .showcase-card-wide .showcase-media,.showcase-media{height:auto;aspect-ratio:16/9}
}
