/* Cloud Design v1.2.15 - portfolio/media correctness + remember me */

.portfolio-section-v1215{padding-top:28px}
.portfolio-grid-v1215{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:54px 30px;
}
.portfolio-item-v1215{
  grid-column:span 6;
  display:block;
  color:inherit;
  text-decoration:none;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  min-width:0;
}
.portfolio-item-v1215--wide{grid-column:1/-1}
.portfolio-media-v1215{
  width:100%;
  overflow:hidden;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.portfolio-media-v1215--wide{aspect-ratio:16/9}
.portfolio-media-v1215--square{aspect-ratio:1/1}
.portfolio-media-v1215 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.portfolio-copy-v1215{padding:20px 0 0}
.portfolio-copy-v1215 h3{margin:8px 0 10px;font-size:clamp(28px,3vw,44px)}
.portfolio-copy-v1215 p{margin:0;max-width:900px;color:var(--muted);font-size:17px;line-height:1.6}
.portfolio-link-v1215{display:inline-block;margin-top:16px;color:var(--accent);font-weight:700}

/* Home uses the same visual language, with no text laid over the images. */
.home-cases-v1215{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:50px 28px}
.home-case-v1215{grid-column:span 6;text-decoration:none;color:inherit;display:block;min-width:0}
.home-case-v1215--wide{grid-column:1/-1}
.home-case-media-v1215{width:100%;overflow:hidden;background:transparent}
.home-case-v1215--wide .home-case-media-v1215{aspect-ratio:16/9}
.home-case-v1215:not(.home-case-v1215--wide) .home-case-media-v1215{aspect-ratio:1/1}
.home-case-media-v1215 img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;display:block;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.home-case-copy-v1215{padding-top:18px}
.home-case-copy-v1215 h3{margin:8px 0 9px;font-size:clamp(26px,2.7vw,40px)}
.home-case-copy-v1215 p{margin:0;color:var(--muted);font-size:16px;line-height:1.58;max-width:850px}

.case-detail-hero-v1215{padding-bottom:52px}
.case-detail-hero-v1215 .container{max-width:1180px}
.case-detail-lead-v1215{max-width:920px;color:var(--muted)}
.case-detail-tags-v1215{margin-top:24px}
.case-detail-actions-v1215{margin-top:28px}

.case-showcase-v1215{padding:18px 0 84px}
.case-showcase-container-v1215{max-width:1480px}
.case-showcase-head-v1215{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:48px;align-items:end;margin-bottom:30px}
.case-showcase-head-v1215 h2{margin:8px 0 0}
.case-showcase-head-v1215>p{margin:0;color:var(--muted);font-size:17px;line-height:1.6}
.case-carousel-v1215{width:100%;outline:none}
.case-carousel-stage-v1215{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f7f5f2}
.case-carousel-slide-v1215{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .24s ease;pointer-events:none}
.case-carousel-slide-v1215.is-active{opacity:1;visibility:visible;pointer-events:auto}
.case-carousel-slide-v1215 img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff}
.case-carousel-arrow-v1215{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:54px;height:54px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(7,9,15,.78);color:#fff;backdrop-filter:blur(12px);cursor:pointer;transition:transform .18s ease,background .18s ease}
.case-carousel-arrow-v1215:hover{background:rgba(116,79,255,.95);transform:translateY(-50%) scale(1.05)}
.case-carousel-arrow-v1215 span{font-size:38px;line-height:1;margin-top:-3px}
.case-carousel-arrow-v1215--prev{left:18px}
.case-carousel-arrow-v1215--next{right:18px}
.case-carousel-meta-v1215{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:start;padding:18px 0 0}
.case-carousel-caption-item-v1215{display:none}
.case-carousel-caption-item-v1215.is-active{display:block}
.case-carousel-caption-item-v1215 strong{display:block;font-size:19px;color:var(--text);margin-bottom:5px}
.case-carousel-caption-item-v1215 span{display:block;color:var(--muted);line-height:1.5}
.case-carousel-controls-v1215{display:flex;align-items:center;gap:18px}
.case-carousel-counter-v1215{font-size:14px;color:var(--muted);white-space:nowrap}
.case-carousel-counter-v1215 b{color:var(--text)}
.case-carousel-dots-v1215{display:flex;gap:8px}
.case-carousel-dot-v1215{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(150,150,170,.32);cursor:pointer;transition:width .18s ease,background .18s ease,border-radius .18s ease}
.case-carousel-dot-v1215.is-active{width:26px;border-radius:999px;background:var(--accent)}
.case-single-media-v1215{padding:18px 0 70px}
.case-single-media-v1215 .container{max-width:980px}
.case-single-media-v1215 img{display:block;width:100%;height:auto;max-height:none;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.case-story-v1215{padding-top:68px}

/* Remember me */
.auth-options-v1215{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:-2px;margin-bottom:4px}
.remember-me-v1215{position:relative;display:flex!important;align-items:flex-start!important;gap:11px!important;margin:0!important;cursor:pointer;min-width:0}
.remember-me-v1215 input{position:absolute;opacity:0;pointer-events:none}
.remember-check-v1215{flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(166,151,215,.42);border-radius:7px;background:rgba(255,255,255,.025);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:.18s ease}
.remember-me-v1215 input:checked + .remember-check-v1215{background:var(--accent);border-color:var(--accent)}
.remember-me-v1215 input:checked + .remember-check-v1215:after{content:'✓';font-weight:900;font-size:14px;color:#fff;line-height:1}
.remember-me-v1215 input:focus-visible + .remember-check-v1215{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:3px}
.remember-me-v1215>span:last-child{display:block;line-height:1.25}
.remember-me-v1215 b{display:block;font-size:14px;color:var(--text)}
.remember-me-v1215 small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35;max-width:260px}
.remember-me-v1215--quick{margin:4px 0 8px!important}

@media (max-width:900px){
  .portfolio-grid-v1215,.home-cases-v1215{grid-template-columns:1fr;gap:42px}
  .portfolio-item-v1215,.portfolio-item-v1215--wide,.home-case-v1215,.home-case-v1215--wide{grid-column:span 1}
  .portfolio-media-v1215--wide,.home-case-v1215--wide .home-case-media-v1215{aspect-ratio:16/9}
  .portfolio-media-v1215--square,.home-case-v1215:not(.home-case-v1215--wide) .home-case-media-v1215{aspect-ratio:1/1}
  .case-showcase-head-v1215{grid-template-columns:1fr;gap:14px}
  .case-showcase-container-v1215{padding-left:0;padding-right:0}
  .case-showcase-head-v1215,.case-carousel-meta-v1215{padding-left:20px;padding-right:20px}
  .case-carousel-arrow-v1215{width:46px;height:46px}
  .case-carousel-arrow-v1215--prev{left:10px}.case-carousel-arrow-v1215--next{right:10px}
}

@media (max-width:620px){
  .portfolio-copy-v1215,.home-case-copy-v1215{padding-top:14px}
  .portfolio-copy-v1215 h3,.home-case-copy-v1215 h3{font-size:29px}
  .portfolio-copy-v1215 p,.home-case-copy-v1215 p{font-size:15px}
  .case-detail-hero-v1215{padding-bottom:38px}
  .case-showcase-v1215{padding-top:8px;padding-bottom:58px}
  .case-showcase-head-v1215>p{font-size:15px}
  .case-carousel-meta-v1215{grid-template-columns:1fr;gap:14px}
  .case-carousel-controls-v1215{justify-content:space-between}
  .case-carousel-arrow-v1215{width:42px;height:42px}
  .case-carousel-arrow-v1215 span{font-size:32px}
  .auth-options-v1215{align-items:flex-start;flex-direction:column;gap:10px}
  .auth-options-v1215>a{align-self:flex-start}
  .remember-me-v1215 small{max-width:none}
}
