/* landonlittle.com — shared styles. Palette lifted from src/pages/landon-little.html
   so the founder entity looks consistent across the ecosystem. */
:root{
  --bg:#020610; --bg-2:#07101e; --bg-3:#0c1827;
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.14);
  --text:#e9f0f6; --text-2:#b8c5d3; --muted:#8b9bad;
  --accent:#C5C1B6; --gold:#f0b429; --max:760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
html,body{margin:0;padding:0;}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--bg); color:var(--text);
  font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 60% 50% at 10% -5%, rgba(197,193,182,.10) 0%, transparent 60%),
    radial-gradient(ellipse 70% 60% at 90% 105%, rgba(167,139,250,.07) 0%, transparent 60%);
}
.wrap{position:relative; z-index:1; max-width:var(--max); margin:0 auto; padding:0 22px;}
a{color:var(--accent); text-decoration:none;}
a:hover{text-decoration:underline; text-underline-offset:3px;}

/* Header + nav */
header.top{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; min-height:60px; border-bottom:1px solid var(--border); padding:12px 0;}
.brand{display:flex; align-items:center; gap:9px; font-weight:800; font-size:.98rem; color:var(--text);}
.brand:hover{text-decoration:none;}
.brand-icon{width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,#C5C1B6,#9c988c); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:.8rem; color:#020610;}
nav.site{display:flex; gap:18px; font-size:.92rem;}
nav.site a{color:var(--text-2); font-weight:600;}
nav.site a[aria-current="page"]{color:var(--accent);}

/* Hero */
.hero{padding:54px 0 30px;}
.eyebrow{font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:700; margin-bottom:14px;}
h1{font-size:clamp(2.2rem,7vw,3.2rem); line-height:1.06; margin:0 0 10px; letter-spacing:-.02em; font-weight:900;}
.role{font-size:1.12rem; color:var(--text-2); font-weight:600; margin:0 0 22px;}
.lead{font-size:1.16rem; color:var(--text-2); line-height:1.65;}
.lead strong{color:var(--text); font-weight:700;}

/* Sections + prose */
section{padding:26px 0; border-top:1px solid var(--border);}
h2{font-size:1.35rem; font-weight:800; margin:0 0 14px; letter-spacing:-.01em;}
h3{font-size:1.02rem; font-weight:700; margin:18px 0 4px; color:var(--text);}
p{margin:0 0 14px; color:var(--text-2);}
.prose p{margin:0 0 18px;}
.prose a{color:var(--accent); font-weight:600;}
.muted{color:var(--muted); font-size:.95rem;}
.updated{font-size:.82rem; color:var(--muted); letter-spacing:.02em;}

/* Product / build grid */
.build-grid{display:grid; gap:14px;}
.card{background:var(--bg-2); border:1px solid var(--border); border-radius:14px; padding:18px 20px;}
.card h3{margin-top:0;}
.card p{margin:0 0 10px; font-size:.98rem;}
.card a{font-weight:600; font-size:.92rem;}
.tag{display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); border:1px solid var(--border-2); border-radius:999px; padding:3px 10px; margin-bottom:10px;}

/* Focus chips */
ul.focus{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:9px;}
ul.focus li{background:var(--bg-3); border:1px solid var(--border); border-radius:10px; padding:8px 14px; font-size:.93rem; color:var(--text-2);}

/* Link rows */
.links{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px;}
.linkrow{display:flex; align-items:center; gap:12px; background:var(--bg-2); border:1px solid var(--border); border-radius:12px; padding:14px 16px; color:var(--text); font-weight:600;}
.linkrow:hover{border-color:var(--border-2); text-decoration:none; background:var(--bg-3);}
.linkrow .lbl{display:flex; flex-direction:column; gap:1px;}
.linkrow .lbl small{color:var(--muted); font-weight:400; font-size:.78rem;}

/* Writing list */
.post-list{list-style:none; padding:0; margin:0;}
.post-list li{padding:16px 0; border-bottom:1px solid var(--border);}
.post-list a.title{font-size:1.08rem; font-weight:700; color:var(--text);}
.post-list .meta{font-size:.82rem; color:var(--muted); margin-top:2px;}

/* Empty state */
.empty{background:var(--bg-2); border:1px solid var(--border); border-radius:14px; padding:22px 24px; color:var(--text-2);}

article.post h1{font-size:clamp(1.9rem,5.5vw,2.6rem); margin-bottom:8px;}
article.post .byline{font-size:.9rem; color:var(--muted); margin:0 0 26px;}
article.post .byline a{color:var(--text-2);}

/* Footer + ecosystem cluster */
footer{padding:34px 0 60px; border-top:1px solid var(--border); color:var(--muted); font-size:.88rem;}
footer a{color:var(--text-2);}
.ecosystem{margin:0 0 20px;}
.ecosystem h3{font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 10px;}
.ecosystem ul{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 18px;}
.ecosystem li{font-size:.9rem;}
.ecosystem li a{color:var(--text-2); font-weight:600;}
.ecosystem li[aria-current="page"]{color:var(--accent); font-weight:700;}

@media (max-width:560px){
  nav.site{gap:14px; font-size:.86rem;}
  .hero{padding:40px 0 24px;}
}
