/* Websites portfolio page (/websites/) */
.ws-hero{ padding:calc(var(--nav-h) + var(--sp-16)) 0 var(--sp-10); }
.ws-hero h1{ font-size:clamp(36px,6vw,72px); line-height:1.02; letter-spacing:-.03em; margin:0 0 var(--sp-5); }
.ws-lead{ max-width:620px; color:var(--color-text-muted); font-size:clamp(16px,1.6vw,19px); margin:0; }
.ws-list .container{ display:grid; gap:var(--sp-8); }
.ws-card{ display:grid; grid-template-columns:1.25fr 1fr; gap:var(--sp-8); align-items:center; padding:var(--sp-6); border-radius:var(--radius-xl,28px);
  background:var(--color-surface); border:1px solid var(--color-border-strong); }
.ws-card:nth-child(even){ grid-template-columns:1fr 1.25fr; }
.ws-card:nth-child(even) .ws-shot{ order:2; }
.ws-shot{ display:block; border-radius:16px; overflow:hidden; border:1px solid var(--color-border-strong); background:#0B111C; box-shadow:0 30px 60px -36px rgba(0,0,0,.8); }
.ws-shot img{ display:block; width:100%; height:auto; transition:transform .4s var(--ease); }
.ws-shot:hover img{ transform:scale(1.025); }
.ws-type{ font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--color-text-muted); margin:0 0 var(--sp-2); }
.ws-body h2{ font-size:clamp(26px,3.4vw,38px); margin:0 0 var(--sp-3); }
.ws-fa{ display:block; font-size:.6em; font-weight:500; color:var(--color-text-muted); margin-top:4px; }
.ws-body > p:not(.ws-type){ color:var(--color-text-muted); margin:0 0 var(--sp-5); }
.ws-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:var(--sp-6); }
.ws-cta{ padding:var(--sp-12) 0 var(--sp-20); }
.ws-cta-box{ text-align:center; padding:var(--sp-12) var(--sp-6); border-radius:var(--radius-xl,28px); background:var(--color-surface); border:1px solid var(--color-border-strong); }
.ws-cta-box h2{ font-size:clamp(28px,4vw,44px); margin:0 0 var(--sp-3); }
.ws-cta-box p{ max-width:560px; margin:0 auto var(--sp-6); color:var(--color-text-muted); }
@media (max-width:900px){
  .ws-card,.ws-card:nth-child(even){ grid-template-columns:1fr; gap:var(--sp-5); padding:var(--sp-4); }
  .ws-card:nth-child(even) .ws-shot{ order:0; }
  .ws-visit{ width:100%; }
}
