:root { color-scheme: dark; --navy:#07182e; --navy-deep:#041021; --surface:#0c2039; --line:#203a57; --teal:#38e0c1; --text:#f5f8ff; --muted:#91a2ba; }
* { box-sizing:border-box; }
html { background:var(--navy-deep); scroll-behavior:smooth; }
body { margin:0; min-width:320px; overflow-x:hidden; background:var(--navy); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
img { display:block; max-width:100%; height:auto; }
.shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(255,255,255,.08); background:var(--navy-deep); }
@supports (backdrop-filter:blur(16px)) {
  .site-header { background:rgba(4,16,33,.86); backdrop-filter:blur(16px); }
}
.header-inner,.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; }
.brand { display:flex; align-items:center; gap:12px; font-size:1.12rem; line-height:1.05; }
.brand-logo { display:block; width:46px; height:46px; overflow:hidden; border:1px solid rgba(56,224,193,.4); border-radius:13px; background:#07140f; box-shadow:0 0 24px rgba(56,224,193,.08); }
.brand-logo img { width:100%; height:100%; object-fit:cover; object-position:center 39%; }
.brand small { display:block; margin-top:5px; color:var(--muted); font-weight:500; }
.section-label,.eyebrow,.project-meta { color:var(--teal); font-size:.75rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.hero { position:relative; overflow:hidden; min-height:650px; padding:clamp(76px,9vw,126px) 0; border-bottom:1px solid rgba(255,255,255,.08); background:radial-gradient(circle at 78% 35%,rgba(56,224,193,.13),transparent 31%),linear-gradient(135deg,var(--navy-deep),#0d223d); }
.hero::after { position:absolute; inset:0; content:""; pointer-events:none; opacity:.25; background-image:linear-gradient(rgba(56,224,193,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(56,224,193,.08) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to bottom,black,transparent 92%); }
.hero-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr); align-items:center; gap:clamp(48px,7vw,96px); }
.hero-content { animation:hero-enter .75s cubic-bezier(.2,.7,.2,1) both; }
.eyebrow { margin:0 0 20px; }
h1,h2,p { margin-top:0; }
h1 { max-width:760px; margin-bottom:28px; font-size:clamp(3rem,6.4vw,5.8rem); letter-spacing:-.055em; line-height:.96; }
.hero-copy { max-width:660px; margin-bottom:0; color:var(--muted); font-size:clamp(1.05rem,2vw,1.3rem); }
.hero-showcase { position:relative; min-height:390px; perspective:1200px; animation:hero-enter .85s .12s cubic-bezier(.2,.7,.2,1) both; }
.showcase-glow { position:absolute; top:12%; left:12%; width:72%; aspect-ratio:1; border-radius:50%; background:rgba(56,224,193,.2); filter:blur(70px); animation:glow-drift 9s ease-in-out infinite alternate; }
.hero-preview { position:absolute; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:15px; background:var(--surface); box-shadow:0 30px 70px rgba(0,0,0,.38); }
.hero-preview img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.hero-preview-primary { inset:22px 0 auto 26px; transform:rotate(2.5deg); animation:preview-float 7s ease-in-out infinite; }
.hero-preview-secondary { right:42px; bottom:12px; width:76%; transform:rotate(-4deg); animation:preview-float 8s 1s ease-in-out infinite reverse; }
@keyframes hero-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes preview-float { 0%,100% { margin-top:0; } 50% { margin-top:-8px; } }
@keyframes glow-drift { from { transform:translate3d(-5%,-3%,0) scale(.95); } to { transform:translate3d(8%,6%,0) scale(1.08); } }
.projects { padding:clamp(80px,10vw,140px) 0; }
.project-list { display:grid; gap:clamp(88px,11vw,150px); }
.project { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.8fr); align-items:center; gap:clamp(42px,7vw,88px); }
.project:nth-child(even) .project-media { order:2; }
.project-media { overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:var(--surface); box-shadow:0 28px 70px rgba(0,0,0,.3); }
.browser-bar { display:flex; align-items:center; gap:7px; height:38px; padding:0 16px; border-bottom:1px solid rgba(255,255,255,.09); background:#061326; }
.browser-bar i { width:9px; aspect-ratio:1; border-radius:50%; background:#fb7185; }
.browser-bar i:nth-child(2) { background:#fbbf24; }
.browser-bar i:nth-child(3) { background:var(--teal); }
.project-media img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.project-meta { display:flex; align-items:center; gap:14px; margin-bottom:18px; color:var(--muted); }
.project-meta span { color:var(--teal); }
.project-meta::before { width:36px; height:1px; order:2; content:""; background:rgba(56,224,193,.55); }
.project-copy h2 { margin-bottom:18px; font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.035em; line-height:1.05; }
.project-copy > p:last-child { max-width:540px; margin-bottom:0; color:var(--muted); font-size:1.05rem; }
.site-footer { border-top:1px solid var(--line); background:var(--navy-deep); color:var(--muted); }
.footer-inner { min-height:110px; }
.footer-inner strong { color:var(--teal); }
@media (max-width:900px) {
  .hero { min-height:0; }
  .hero-layout { grid-template-columns:1fr; gap:46px; }
  .hero-content { max-width:760px; }
  .hero-showcase { width:min(680px,100%); min-height:420px; margin-inline:auto; }
  .project { grid-template-columns:1fr; gap:28px; }
  .project:nth-child(even) .project-media { order:0; }
  .project-copy h2 { font-size:2rem; }
}
@media (max-width:600px) {
  .shell { width:min(100% - 28px,1180px); }
  .header-inner { min-height:74px; }
  .brand-logo { width:40px; height:40px; border-radius:11px; }
  .section-label { font-size:.65rem; }
  .hero { padding:64px 0 76px; }
  h1 { font-size:clamp(2.75rem,14vw,4rem); }
  .hero-showcase { min-height:clamp(265px,65vw,390px); }
  .hero-preview-primary { inset:10px 0 auto 8px; }
  .hero-preview-secondary { right:14px; bottom:8px; width:78%; }
  .projects { padding:70px 0 88px; }
  .project-list { gap:76px; }
  .browser-bar { height:30px; }
  .browser-bar i { width:7px; }
  .footer-inner { align-items:flex-start; flex-direction:column; justify-content:center; gap:4px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero-content,.hero-showcase,.showcase-glow,.hero-preview-primary,.hero-preview-secondary { animation:none; }
  .hero-preview-primary,.hero-preview-secondary { transform:none; }
}
