/* Portfolio v4: wide kinetic hero and project collections. */
.hero{min-height:730px;overflow:hidden}
.hero-copy{width:53%;margin-top:82px;position:relative;z-index:3}
.hero-portrait{width:210px;height:210px;top:165px;right:8%;z-index:4;overflow:visible;border-radius:50%;background:#262a25}
.hero-portrait::before{content:"";position:absolute;inset:0;border-radius:50%;background:url("assets/chathura-profile.jpg") center/cover;filter:blur(12px) brightness(.48)}
.hero-portrait img{position:relative;width:100%;height:100%;object-fit:contain;transform:rotate(-17deg) scale(.86);filter:none;box-shadow:none;border-radius:50%}
.hero-portrait>span{margin-top:13px}
.orb-stage{position:absolute;top:8px;right:-6%;width:91%;height:720px;z-index:1;pointer-events:none}
.orb-caption{bottom:30px;right:12%;pointer-events:auto}
.label-one{top:8%;right:42%}.label-two{top:66%;right:7%}.label-three{bottom:15%;left:16%}
.hero-bottom{position:relative;z-index:3;margin-top:100px}

.filter-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:38px 0 24px}
.filter{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:18px 20px!important;border:1px solid #3a4037!important;border-radius:4px!important;background:#191c18!important;text-align:left;font-size:12px!important;letter-spacing:.04em}
.filter span{opacity:.65;font-size:10px}.filter.active{background:#e8ff8b!important;border-color:#e8ff8b!important;color:#121610!important}.filter.active span{opacity:1}
.filter:hover:not(.active){background:#242a22!important;border-color:#8da66a!important}
.project-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.project-grid.focused-category{grid-template-columns:minmax(0,1fr)}
.category-lane{min-width:0;padding:23px 22px 25px;border:1px solid #343b32;border-radius:6px;background:linear-gradient(145deg,#1c211b,#151815 65%);overflow:hidden}
.category-lane[hidden]{display:none}
.lane-ai,.lane-gaming{grid-column:1/-1}.focused-category .category-lane{grid-column:1/-1}
.lane-software{grid-column:1}.lane-apps{grid-column:2}
.collection-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 18px}
.collection-eyebrow{display:block;color:#aabb95;font-size:9px;font-weight:700;letter-spacing:.13em}
.collection-head h3{margin:7px 0 0;font-size:clamp(28px,3.4vw,46px);line-height:1;letter-spacing:-.055em;color:#f2f4e8}
.collection-head h3 sup{font-size:10px;color:#d7f687;margin-left:9px;vertical-align:top;letter-spacing:0}
.collection-focus,.slide-next{flex:none;border:1px solid #53644a;border-radius:3px;color:#e6f4d2;background:#283126;font-size:10px;letter-spacing:.05em;padding:9px 12px;cursor:pointer}
.collection-focus:hover,.slide-next:hover{background:#e8ff8b;color:#171b13}
.collection-sub+.collection-sub{margin-top:22px;padding-top:20px;border-top:1px solid #343b32}
.collection-subhead{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;color:#dce7cd;font-size:11px;font-weight:700;letter-spacing:.07em}
.slide-next{font-size:16px;line-height:1;padding:5px 9px;min-width:31px}
.collection-track{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;padding:0 2px 12px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:#566944 #171b15;scrollbar-width:thin}
.collection-track .project-card{flex:0 0 min(31%,420px);scroll-snap-align:start;min-width:260px;padding:0!important}
.lane-software .collection-track .project-card,.lane-apps .collection-track .project-card{flex-basis:min(76%,390px)}
.project-grid.focused-category .collection-track .project-card{flex-basis:min(31%,420px)}
.project-visual{aspect-ratio:1.38;border-radius:3px}
.project-visual img,.project-visual.full-bleed img{width:100%;height:100%;top:0;left:0;object-fit:cover;filter:none;transition:transform .55s ease}
.project-visual:hover img,.project-visual.full-bleed:hover img{transform:scale(1.035)}
.project-visual.portrait-screen::before{z-index:0;background:var(--card-image) center/cover;filter:blur(12px) brightness(.38);transform:scale(1.15)}
.project-visual.portrait-screen img{width:100%;height:100%;top:0;left:0;object-fit:cover;object-position:center 25%;filter:none}
.project-visual .project-index,.project-visual .generated-label,.project-visual .recording-badge,.project-visual .project-open{z-index:2}
.project-visual .plan-badge{position:absolute;right:18px;top:18px;z-index:2;background:#e8ff8b;color:#11170e;padding:7px 10px;border-radius:2px;font-size:8px;font-weight:800;letter-spacing:.1em}
.project-meta{margin-top:11px}.project-description{margin-top:7px}.project-caption{font-size:10px;line-height:1.45}
.work-footnote{margin-top:25px}
.dialog-hero{display:block;padding:0;min-height:0;aspect-ratio:1.6;overflow:hidden}
.dialog-hero img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;box-shadow:none}

@media(max-width:1000px){
  .hero{min-height:680px}.hero-copy{width:57%;margin-top:75px}.hero-portrait{width:170px;height:170px;top:145px;right:6%}
  .orb-stage{width:106%;height:650px;top:12px;right:-18%}.hero-bottom{margin-top:105px}
  .filter{padding:14px 11px!important}.collection-track .project-card{flex-basis:min(44%,390px)}
  .lane-software .collection-track .project-card,.lane-apps .collection-track .project-card{flex-basis:min(86%,350px)}
}
@media(max-width:700px){
  .hero{min-height:0}.hero-copy{width:100%;margin-top:295px;z-index:4}.hero-portrait{width:158px;height:158px;top:92px;right:calc(50% - 79px)}
  .hero-portrait>span{font-size:7px;margin-top:11px}.orb-stage{position:absolute;top:0;right:-37%;width:160%;height:440px;opacity:.86}
  .orb-caption{top:12px;bottom:auto;right:26%}.label-one{top:16%;right:18%}.label-two,.label-three{display:none}
  .hero-bottom{margin-top:35px}.hero h1{font-size:clamp(55px,14vw,78px)}
  .filter-row{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:7px;margin:28px -12px 19px;padding:0 12px 8px;scrollbar-width:none}
  .filter-row::-webkit-scrollbar{display:none}
  .filter{flex:0 0 auto;min-width:110px;padding:11px 13px!important;gap:15px}
  .project-grid,.project-grid.focused-category{grid-template-columns:minmax(0,1fr);gap:14px}
  .category-lane,.lane-ai,.lane-software,.lane-apps,.lane-gaming{grid-column:1/-1}
  .category-lane{padding:17px 14px 18px}.collection-head h3{font-size:32px}
  .collection-head{gap:8px}.collection-focus{font-size:9px;padding:7px 8px}
  .collection-track .project-card,.lane-software .collection-track .project-card,.lane-apps .collection-track .project-card,.project-grid.focused-category .collection-track .project-card{flex-basis:min(83%,340px);min-width:245px}
}
@media(prefers-reduced-motion:reduce){.collection-track{scroll-behavior:auto}.project-visual img{transition:none}}
