/* dannysmith.com — Constellation (from Mockup G) */
:root{
  --bg:#070b14; --ink:#e8e9ee; --muted:#8b93a7; --gold:#e3b869; --blue:#8fb8dd;
  --line:#1c2436; --card:#0d1322;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Space Grotesk",sans-serif;line-height:1.7;font-size:16.5px;overflow-x:hidden}
#sky{position:fixed;inset:0;z-index:0;pointer-events:none}
.wrap{max-width:980px;margin:0 auto;padding:0 28px;position:relative;z-index:1}

nav{display:flex;justify-content:space-between;align-items:center;padding:26px 0}
.brand{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600;letter-spacing:.5px;color:var(--ink);text-decoration:none}
.brand em{color:var(--gold)}
nav ul{display:flex;gap:28px;list-style:none;padding:0}
nav a{text-decoration:none;color:var(--muted);font-size:13.5px;letter-spacing:1.5px;text-transform:uppercase}
nav a:hover{color:var(--gold)}

.hero{padding:120px 0 70px;text-align:center}
.hero .over{font-size:12.5px;letter-spacing:4px;text-transform:uppercase;color:var(--blue)}
.hero h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(46px,8vw,86px);line-height:1.08;margin:20px auto 22px;max-width:800px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p{color:var(--muted);max-width:520px;margin:0 auto;font-size:18px}

/* Constellation map — projects and sites are one merged catalogue */
.map{position:relative;margin:60px auto 0;max-width:860px}
.map svg{width:100%;height:auto;display:block}
.cline{stroke:#2c3a55;stroke-width:1;stroke-dasharray:3 5;opacity:.9}
.star{cursor:pointer}
.star .hit{pointer-events:all}
.star circle.core{fill:var(--ink);transition:.25s}
.star circle.halo{fill:none;stroke:var(--gold);stroke-width:1;opacity:0;transition:.25s}
.star text{fill:var(--muted);font-family:"Space Grotesk",sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;transition:.25s}
.star:hover circle.core,.star.on circle.core{fill:var(--gold)}
.star:hover circle.halo,.star.on circle.halo{opacity:1}
.star:hover text,.star.on text{fill:var(--ink)}
.clabel{fill:var(--blue);font-family:"Space Grotesk",sans-serif;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;opacity:.75}
.star text.lc{text-transform:none}
.star.hub circle.core{fill:var(--gold)}
.star.hub circle.ring{fill:none;stroke:var(--gold);stroke-width:1;opacity:.5}
.star.hub text{fill:var(--gold);letter-spacing:2.5px}
.caption{min-height:110px;text-align:center;padding:26px 20px 0;max-width:560px;margin:0 auto}
.caption h3{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:600}
.caption h3 span{color:var(--gold);font-style:italic}
.caption p{color:var(--muted);font-size:15.5px;margin-top:6px}
.caption a{color:var(--blue);text-decoration:none;font-size:13.5px;letter-spacing:1.5px;text-transform:uppercase}
.caption a:hover{color:var(--gold)}
.caption .soon{color:var(--muted);font-size:13px;letter-spacing:1.5px;text-transform:uppercase}

/* Screen-reader / crawler index of the same links — visually hidden, not a second section */
.sr-index{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

section{padding:90px 0;position:relative;z-index:1}
.kicker{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--blue)}
h2{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:600;margin:10px 0 24px}

.about{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center}
.about p{color:var(--muted)}
.about .q{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:30px;line-height:1.4;color:var(--gold);text-align:center}

.contact{text-align:center;padding-bottom:130px}
.contact>p{color:var(--muted);max-width:440px;margin:0 auto 30px}
.cform{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px;text-align:left}
.cform input,.cform textarea{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:13px 16px;font-family:inherit;font-size:15px;border-radius:2px;width:100%}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--gold)}
.cform ::placeholder{color:#5d6579}
.cform .hp{display:none}
.btn{display:inline-block;padding:14px 34px;border:1px solid var(--gold);background:transparent;color:var(--gold);text-decoration:none;letter-spacing:2px;text-transform:uppercase;font-size:13px;transition:.25s;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--gold);color:var(--bg)}
.cform .btn{align-self:center;margin-top:8px}

footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:13px;text-align:center;position:relative;z-index:1}
.social{display:flex;justify-content:center;gap:26px;margin-bottom:14px}
.social a{color:var(--muted);text-decoration:none;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.social a:hover{color:var(--gold)}

.fade{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.fade.in{opacity:1;transform:none}

/* Tool / gallery cards (Art + Tools pages) */
.toolgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin:0 auto}
.tool{display:block;background:var(--card);border:1px solid var(--line);padding:30px;text-decoration:none;color:var(--ink);transition:.25s;border-radius:2px}
a.tool:hover{border-color:var(--gold);transform:translateY(-3px)}
.tool .kicker{font-size:11px}
.tool h3{font-family:"Cormorant Garamond",serif;font-size:27px;font-weight:600;margin:8px 0 6px}
.tool p{color:var(--muted);font-size:15px}
.tool .open{display:inline-block;margin-top:16px;color:var(--gold);font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
.tool.soon{opacity:.75}
@media(max-width:720px){.toolgrid{grid-template-columns:1fr}}

/* 404 */
.lost{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1;padding:0 24px}
.lost h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(44px,8vw,80px)}
.lost h1 em{font-style:italic;color:var(--gold)}
.lost p{color:var(--muted);margin:14px 0 30px}

@media(max-width:720px){
  .about{grid-template-columns:1fr}
  .star text{font-size:15px}
  nav ul{gap:18px}
}
