/* PAGE HERO */
.page-hero{
padding:9rem 0 4rem;position:relative;
border-bottom:1px solid var(--border);
overflow:hidden;
}
.page-hero::before{
content:"";position:absolute;top:-20%;left:50%;transform:translateX(-50%);
width:70vw;height:70vh;pointer-events:none;
background:radial-gradient(ellipse at 50% 30%,var(--lime-glow),transparent 60%);
opacity:.5;filter:blur(50px);
}
.page-hero-grid{
display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;
align-items:end;position:relative;
}
.page-crumb{
font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.18em;
text-transform:uppercase;color:var(--text-3);
display:flex;align-items:center;gap:.6rem;margin-bottom:1.8rem;
}
.page-crumb::before{
content:"";width:24px;height:1px;background:var(--text-3);
}
.page-crumb b{color:var(--text);font-weight:400}
.page-hero h1{
font-size:clamp(2.6rem,6vw,5rem);
letter-spacing:-.05em;line-height:.98;margin-bottom:1.6rem;
}
.page-hero h1 em{font-style:normal;color:var(--lime)}
.page-hero-lede{
font-size:1.02rem;line-height:1.55;color:var(--text-2);max-width:52ch;
}
.page-hero-lede b{color:var(--text);font-weight:500}
.page-hero-stats{
display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;
margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--border);
}
.page-hero-stats .st{display:flex;flex-direction:column;gap:.3rem}
.page-hero-stats .st b{
font-family:'Inter Tight',sans-serif;font-size:1.5rem;font-weight:500;
letter-spacing:-.03em;color:var(--text);line-height:1;
}
.page-hero-stats .st b em{font-style:normal;color:var(--lime);font-size:.8em}
.page-hero-stats .st span{
font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);
}

@media(max-width:1100px){
.page-hero{padding:8rem 0 3rem}
.page-hero-grid{grid-template-columns:1fr;gap:2rem;align-items:start}
}
@media(max-width:720px){
.page-hero-stats{grid-template-columns:1fr 1fr}
}

/* DEEP SERVICES */
.svc-deep{padding:5rem 0 2rem}
.svc-deep-item{
display:grid;grid-template-columns:100px 1.4fr 1fr;
gap:3rem;padding:3rem 0;border-bottom:1px solid var(--border);
align-items:start;
transition:padding-left .4s cubic-bezier(.2,.8,.2,1);
}
.svc-deep-item:first-child{border-top:1px solid var(--border)}
.svc-deep-item:hover{padding-left:8px}
.svc-deep-num{
font-family:'JetBrains Mono',monospace;
font-size:1.3rem;letter-spacing:-.02em;color:var(--lime);
font-weight:500;padding-top:.4rem;
}
.svc-deep-body h2{
font-size:clamp(1.6rem,2.4vw,2.2rem);
letter-spacing:-.035em;line-height:1.05;margin-bottom:1rem;
}
.svc-deep-body h2 em{font-style:normal;color:var(--lime)}
.svc-deep-body p{
font-size:.98rem;line-height:1.6;color:var(--text-2);margin-bottom:1.4rem;
max-width:44ch;
}
.svc-deep-feats{
list-style:none;padding:0;display:grid;gap:0;
}
.svc-deep-feats li{
display:flex;align-items:flex-start;gap:.8rem;
font-size:.88rem;color:var(--text-2);line-height:1.5;
padding:.7rem 0;border-top:1px solid var(--border);
}
.svc-deep-feats li:first-child{border-top:none;padding-top:0}
.svc-deep-feats li::before{
content:"";width:5px;height:5px;border-radius:50%;
background:var(--lime);flex-shrink:0;margin-top:.55rem;
}

@media(max-width:1100px){
.svc-deep{padding:3rem 0 1rem}
.svc-deep-item{grid-template-columns:1fr;gap:1.2rem;padding:2.2rem 0}
.svc-deep-num{font-size:1rem;padding-top:0}
.svc-deep-feats{padding-top:.4rem}
}

/* FAQ */
.faq{padding:6rem 0}
.faq-head{max-width:640px;margin-bottom:2.4rem}
.faq-head .lbl{display:block;margin-bottom:1.2rem}
.faq-head h2{margin-bottom:1.2rem}
.faq-head h2 em{font-style:normal;color:var(--lime)}
.faq-head p{font-size:1.02rem;line-height:1.55}
.faq-list{border-top:1px solid var(--border)}
.faq-item{
border-bottom:1px solid var(--border);padding:0;
}
.faq-item summary{
padding:1.6rem 0;cursor:pointer;
display:flex;justify-content:space-between;align-items:center;gap:2rem;
font-family:'Inter Tight',sans-serif;
font-size:clamp(1rem,1.5vw,1.2rem);font-weight:500;
letter-spacing:-.02em;color:var(--text);line-height:1.3;
list-style:none;
transition:color .25s;
}
.faq-item summary:hover{color:var(--lime)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
content:"+";color:var(--lime);
font-family:'Inter Tight',sans-serif;font-weight:400;
font-size:1.5rem;line-height:1;
transition:transform .35s cubic-bezier(.2,.8,.2,1);
flex-shrink:0;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .answer{
padding:0 0 1.8rem;
color:var(--text-2);font-size:.95rem;line-height:1.7;
max-width:74ch;
}

/* FILTER BAR */
.filter-bar{
display:flex;gap:.4rem;flex-wrap:wrap;
padding:1.4rem 0 2rem;
border-bottom:1px solid var(--border);
}
.filter-chip{
padding:.55rem 1.05rem;border-radius:100px;
border:1px solid var(--border);background:var(--surface);
font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-2);
cursor:pointer;transition:background .25s,border-color .25s,color .25s;
display:inline-flex;align-items:center;
}
.filter-chip:hover{background:var(--surface-2);color:var(--text)}
.filter-chip.active{background:var(--lime);border-color:var(--lime);color:#0a0d0a}
.filter-chip .ct{
color:var(--text-3);margin-left:.5rem;font-size:.6rem;
}
.filter-chip.active .ct{color:rgba(10,13,10,.55)}

/* PROJECTS FULL GRID */
.projects-full-wrap{padding:3rem 0 5rem}
.projects-full{
display:grid;grid-template-columns:repeat(12,1fr);gap:1.4rem;
}
.proj-card{
display:flex;flex-direction:column;gap:.85rem;
cursor:pointer;
transition:opacity .5s,transform .5s;
}
.proj-card.hidden{display:none}
.pc-frame{
position:relative;overflow:hidden;
border-radius:var(--r);border:1px solid var(--border);
}
.pc-frame img{
width:100%;height:100%;object-fit:cover;
transition:transform 1.4s cubic-bezier(.2,.8,.2,1);
filter:saturate(.94) contrast(1.04);
}
.proj-card:hover .pc-frame img{transform:scale(1.05)}
.pc-year{
position:absolute;top:14px;left:14px;
padding:.3rem .6rem;border-radius:100px;
background:rgba(10,13,10,.75);backdrop-filter:blur(10px);
border:1px solid var(--border-2);
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
color:var(--text);
}
.pc-meta{
display:flex;justify-content:space-between;align-items:baseline;
gap:1rem;padding-top:.5rem;border-top:1px solid var(--border);
}
.pc-title{
font-family:'Inter Tight',sans-serif;font-size:1.02rem;
font-weight:500;letter-spacing:-.02em;line-height:1.2;color:var(--text);
}
.pc-title em{font-style:normal;color:var(--lime)}
.pc-loc{
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
text-transform:uppercase;color:var(--text-3);white-space:nowrap;
}
.proj-card.large{grid-column:span 7}
.proj-card.large .pc-frame{aspect-ratio:16/10}
.proj-card.tall{grid-column:span 5;margin-top:2.4rem}
.proj-card.tall .pc-frame{aspect-ratio:4/5}
.proj-card.third{grid-column:span 4}
.proj-card.third .pc-frame{aspect-ratio:3/4}
.proj-card.half{grid-column:span 6}
.proj-card.half .pc-frame{aspect-ratio:3/2}

@media(max-width:1100px){
.projects-full{grid-template-columns:repeat(6,1fr)}
.proj-card.large,.proj-card.half{grid-column:span 6;margin-top:0}
.proj-card.tall{grid-column:span 3;margin-top:0}
.proj-card.tall .pc-frame{aspect-ratio:3/4}
.proj-card.third{grid-column:span 3}
}
@media(max-width:720px){
.projects-full{grid-template-columns:1fr}
.proj-card.large,.proj-card.tall,.proj-card.third,.proj-card.half{grid-column:1/-1;margin-top:0}
}

/* CASE STUDY */
.case{
padding:6rem 0;background:var(--bg-2);
border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.case-inner{
display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;
align-items:center;
}
.case-img{
border-radius:var(--r-lg);overflow:hidden;
border:1px solid var(--border);position:relative;
}
.case-img img{
width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;
filter:saturate(.94) contrast(1.04);
}
.case-badge{
position:absolute;top:18px;left:18px;
padding:.4rem .8rem;border-radius:100px;
background:rgba(10,13,10,.78);backdrop-filter:blur(12px);
border:1px solid var(--border-2);
font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;
color:var(--text);
display:flex;align-items:center;gap:.5rem;
}
.case-badge::before{
content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);
box-shadow:0 0 10px var(--lime);
}
.case-body .lbl{display:block;margin-bottom:1.2rem}
.case-body h2{
font-size:clamp(1.8rem,3vw,2.6rem);
letter-spacing:-.04em;line-height:1.05;margin-bottom:1.4rem;
}
.case-body h2 em{font-style:normal;color:var(--lime)}
.case-body p{
font-size:.98rem;line-height:1.6;color:var(--text-2);margin-bottom:1.8rem;
max-width:46ch;
}
.case-specs{
display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
padding-top:1.6rem;border-top:1px solid var(--border);margin-bottom:1.8rem;
}
.case-specs .cs{display:flex;flex-direction:column;gap:.35rem}
.case-specs .cs .k{
font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--text-3);
}
.case-specs .cs .v{
font-family:'Inter Tight',sans-serif;font-size:.95rem;
font-weight:500;letter-spacing:-.02em;color:var(--text);
}

@media(max-width:1100px){
.case-inner{grid-template-columns:1fr;gap:2rem}
.case-specs{grid-template-columns:repeat(2,1fr)}
}