/* The Kosmic Quill Project link hub. Matches the Petals gallery: deep purple, gold, cream. */
:root{--bg:#1e0f33;--bg2:#2a1646;--bg3:#140a24;--gold:#e0b45a;--gold2:#f3d48d;--cream:#f6eedc;--muted:#cbbfd9;--muted2:#9c8fb0;--line:rgba(224,180,90,.25);--line2:rgba(224,180,90,.55);
--serif:"Libre Baskerville",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
html{background:var(--bg3);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--cream);font:16px/1.55 var(--sans);background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 55%,var(--bg3) 100%);overflow-x:hidden}
a{color:var(--gold2)}
/* hero */
.hero{position:relative;width:100%;min-height:clamp(330px,52vw,520px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(30,15,51,.15) 0%,rgba(30,15,51,.45) 45%,rgba(30,15,51,.92) 82%,var(--bg) 100%)}
.hero-copy{text-align:center;padding:2rem 1.25rem 1.6rem;max-width:44rem}
.eyebrow{margin:0 0 .7rem;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);text-shadow:0 1px 8px rgba(0,0,0,.7)}
h1{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,6.4vw,3.4rem);line-height:1.1;margin:0 0 .7rem;color:var(--cream);text-shadow:0 3px 18px rgba(0,0,0,.65)}
.intro{margin:0 auto;max-width:30rem;font-family:var(--serif);font-style:italic;color:#eadff3;font-size:clamp(1rem,2.4vw,1.15rem);text-shadow:0 1px 10px rgba(0,0,0,.7)}
.divider{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.2rem auto 0}
.divider i{display:block;width:clamp(3rem,12vw,6rem);height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.divider i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.divider b{display:block;width:7px;height:7px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 10px rgba(224,180,90,.7)}
/* main */
main{max-width:36rem;margin:0 auto;padding:1.4rem 1.1rem 1rem}
.links,.social,.latest ul{list-style:none;margin:0;padding:0}
.links li{margin:0 0 .85rem}
.links a{display:flex;align-items:center;gap:.95rem;padding:.95rem 1rem;min-height:4.4rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(63,33,100,.7),rgba(40,21,68,.85));color:var(--cream);text-decoration:none;box-shadow:0 8px 22px rgba(8,3,18,.3);transition:box-shadow .2s,border-color .2s,transform .2s,background .2s}
.links a:hover,.links a:focus-visible{border-color:var(--gold);box-shadow:0 0 0 1px rgba(224,180,90,.5),0 0 22px rgba(224,180,90,.35),0 10px 26px rgba(8,3,18,.4);transform:translateY(-2px)}
.links a:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.ic{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:12px;border:1px solid var(--line2);background:rgba(20,10,36,.6);color:var(--gold2)}
.txt{flex:1;min-width:0}
.links strong{display:block;font-family:var(--serif);font-weight:700;font-size:1.04rem;line-height:1.3}
.links .txt span{display:block;font-size:.86rem;color:var(--muted);margin-top:.15rem;overflow-wrap:anywhere}
.arr{flex:none;font-size:1.5rem;line-height:1;color:var(--gold);opacity:.75}
.links li.feat a{background:linear-gradient(135deg,#f3d48d,#e0b45a 55%,#c9982f);border-color:var(--gold2);color:var(--bg)}
.links li.feat .txt span{color:#3d2160}
.links li.feat .ic{background:rgba(30,15,51,.12);border-color:rgba(30,15,51,.35);color:var(--bg)}
.links li.feat .arr{color:var(--bg)}
.links li.feat a:hover,.links li.feat a:focus-visible{box-shadow:0 0 0 1px var(--gold2),0 0 30px rgba(243,212,141,.55),0 10px 26px rgba(8,3,18,.4)}
/* latest */
.latest{margin:2rem 0 0}
.latest-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .8rem}
.latest h2{margin:0;font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.latest-head a{font-size:.88rem;text-decoration:none;color:var(--gold2);padding:.4rem 0}
.latest ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.latest li a{display:block;height:100%;text-decoration:none;color:var(--cream);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg3);transition:box-shadow .2s,border-color .2s,transform .2s}
.latest li a:hover,.latest li a:focus-visible{border-color:var(--gold);box-shadow:0 0 18px rgba(224,180,90,.35);transform:translateY(-2px)}
.latest img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.latest li span{display:block;padding:.5rem .55rem .6rem;font-family:var(--serif);font-size:.78rem;line-height:1.35}
@media (max-width:420px){.latest ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.latest li span{font-size:.72rem;padding:.4rem .45rem .5rem}}
/* social */
.social{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .6rem;margin-top:2rem}
.social a{display:inline-flex;align-items:center;min-height:40px;color:var(--gold2);text-decoration:none;font-size:.9rem;padding:.45rem .95rem;border:1px solid var(--line2);border-radius:999px;background:rgba(20,10,36,.45);transition:background .2s,box-shadow .2s}
.social a:hover,.social a:focus-visible{background:rgba(224,180,90,.14);box-shadow:0 0 14px rgba(224,180,90,.3)}
.site-footer{text-align:center;font-size:.8rem;color:var(--muted2);padding:1rem 1rem 2.5rem}
.site-footer .divider{margin:0 auto 1rem}
.site-footer p{margin:.2rem 0}
@media (min-width:760px){main{padding-top:1.8rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.links a:hover,.latest li a:hover{transform:none}}

/* signup block: gold Subscribe button (Option B, Oct 31 2026) */
.signup{margin:0 0 1.5rem;border:1px solid var(--line2);border-radius:18px;padding:1.15rem 1.1rem 1.2rem;background:linear-gradient(160deg,rgba(63,33,100,.85),rgba(30,15,51,.95));box-shadow:0 10px 28px rgba(8,3,18,.4);text-align:center}
.signup .tag{margin:0 0 .45rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);font-weight:600}
.signup h2{margin:0 0 .35rem;font-family:var(--serif);font-size:1.3rem;line-height:1.25}
.signup p.lede{margin:0 auto .95rem;max-width:26rem;color:var(--muted);font-size:.95rem}
.signup .btn{font-size:1rem;padding:.7rem 1.5rem;box-shadow:0 0 22px rgba(224,180,90,.35)}
.signup .btn:hover,.signup .btn:focus-visible{box-shadow:0 0 0 1px var(--gold2),0 0 30px rgba(243,212,141,.55)}
.signup .btn:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.signup .fine{margin:.75rem 0 0;font-size:.78rem;color:var(--muted2)}
.links + .sect{margin-top:1.2rem}
