/* sunnystroeer.com — shared styles for subpages.
   Extracted from the approved landing page (index.html); index.html keeps its
   own inline CSS and does not load this file. Do not diverge tokens. */

:root{
  --glacier:#EDEFEC;
  --ink:#161B20;
  --night:#0E1318;
  --slate:#41586A;
  --haze:#C7CDC7;
  --signal:#D9481C;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --sans:'Archivo',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:var(--sans);background:var(--glacier);color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.eyebrow .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal);margin-right:10px;vertical-align:1px}
h1,h2,h3{font-family:var(--sans);font-variation-settings:'wdth' 118;text-transform:uppercase;letter-spacing:.01em;line-height:.95}
.btn{display:inline-block;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:16px 28px;border:1px solid var(--ink);transition:background .2s,color .2s}
.btn-signal{background:var(--signal);border-color:var(--signal);color:#fff}
.btn-signal:hover{background:var(--ink);border-color:var(--ink)}
.btn-ink:hover{background:var(--ink);color:var(--glacier)}

/* header — solid variant for subpages */
header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:var(--glacier);border-bottom:1px solid var(--haze)}
.brand{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);font-weight:500}
nav{display:flex;gap:28px;align-items:center}
nav a{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--slate)}
nav a:hover{color:var(--signal)}
nav a[aria-current="page"]{color:var(--signal)}
nav .navcta{border:1px solid currentColor;padding:9px 16px;color:var(--ink)}
@media(max-width:860px){nav a:not(.navcta){display:none}}
@media(max-width:420px){header{padding:14px 16px}nav{gap:14px}.brand{letter-spacing:.12em}}

/* compact page hero */
.page-hero{padding:170px 0 64px}
.page-hero h1{font-size:clamp(40px,7vw,84px);font-weight:780;margin-top:14px}
.page-hero .lede{max-width:620px;margin-top:22px;color:var(--slate);font-size:clamp(16px,1.5vw,19px)}

/* archive / flag notice */
.archive-note{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);border:1px dashed var(--signal);padding:8px 14px;margin-top:26px}

main{padding-bottom:110px}

/* blog index list */
.post-list{border-top:1px solid var(--haze)}
.post-item{display:grid;grid-template-columns:170px 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--haze);align-items:start}
.post-item.has-thumb{grid-template-columns:170px 1fr 132px}
.post-item .pthumb{width:132px;height:96px;object-fit:cover;display:block;border:1px solid var(--haze);filter:saturate(.97)}
.post-item .date{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);padding-top:6px}
.post-item h2{font-size:clamp(20px,2.6vw,30px);font-weight:720}
.post-item h2 a{text-decoration:none}
.post-item h2 a:hover{color:var(--signal)}
.post-item .excerpt{margin-top:8px;color:var(--slate);font-size:15px;max-width:680px}
@media(max-width:700px){.post-item,.post-item.has-thumb{grid-template-columns:1fr;gap:6px}.post-item .pthumb{grid-row:1;width:100%;height:150px;margin-bottom:6px}}

/* article body */
.post-meta{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:10px}
.prose{max-width:720px}
.prose p{margin:0 0 1.4em}
.prose h2,.prose h3,.prose h4{margin:1.8em 0 .6em;line-height:1.15}
.prose h2{font-size:clamp(24px,3vw,34px)}
.prose h3{font-size:clamp(20px,2.4vw,26px)}
.prose h4{font-size:18px;text-transform:none;font-variation-settings:'wdth' 105}
.prose a{color:var(--signal);text-decoration-thickness:1px;text-underline-offset:3px}
.prose img{width:100%;height:auto;display:block;margin:2em 0 .5em}
.prose figure{margin:2em 0}
.prose figure img{margin:0}
.prose figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--slate);margin-top:10px}
.prose blockquote{border-left:2px solid var(--signal);padding-left:22px;margin:1.8em 0;font-size:1.1em;font-variation-settings:'wdth' 105}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.3em}
.prose iframe{max-width:100%;border:0;margin:2em 0}
.prose hr{border:0;border-top:1px solid var(--haze);margin:2.4em 0}
.post-nav{max-width:720px;margin-top:70px;padding-top:28px;border-top:1px solid var(--haze);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.post-nav a{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--slate)}
.post-nav a:hover{color:var(--signal)}

/* media / writing card lists */
.outlet-group{margin-bottom:64px}
.outlet-group>h2{font-size:clamp(26px,3.4vw,40px);font-weight:760;margin-bottom:28px}
.card-list{border-top:1px solid var(--haze)}
.card{display:grid;grid-template-columns:200px 1fr auto;gap:28px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--haze);text-decoration:none;transition:background .15s}
.card:hover{background:#fff}
.card .outlet{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal)}
.card .title{font-size:17px;font-weight:480}
.card:hover .title{color:var(--signal)}
.card .year{font-family:var(--mono);font-size:12px;color:var(--slate)}
@media(max-width:700px){.card{grid-template-columns:1fr;gap:4px}}

/* photography grid + lightbox */
.photo-grid{columns:3;column-gap:14px}
.photo-grid button{display:block;width:100%;border:0;background:none;padding:0;margin:0 0 14px;cursor:pointer}
.photo-grid img{width:100%;height:auto;display:block;filter:saturate(.97)}
.photo-grid button:hover img{filter:saturate(1.05)}
@media(max-width:980px){.photo-grid{columns:2}}
@media(max-width:560px){.photo-grid{columns:1}}
.lightbox{position:fixed;inset:0;margin:0;border:0;padding:0;background:rgba(14,19,24,.96);max-width:100vw;max-height:100vh;width:100vw;height:100vh;display:none;align-items:center;justify-content:center}
.lightbox[open]{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain}
.lightbox .lb-caption{position:fixed;bottom:18px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:rgba(237,239,236,.7)}
.lightbox .lb-btn{position:fixed;top:50%;transform:translateY(-50%);background:rgba(14,19,24,.5);border:1px solid rgba(237,239,236,.4);color:var(--glacier);font-family:var(--mono);font-size:18px;width:48px;height:48px;cursor:pointer}
.lightbox .lb-prev{left:16px}
.lightbox .lb-next{right:16px}
.lightbox .lb-close{position:fixed;top:16px;right:16px;transform:none}
.lightbox .lb-btn:hover{border-color:var(--signal);color:var(--signal)}

/* footer */
footer{padding:40px 0;border-top:1px solid var(--haze)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer span,footer a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);text-decoration:none}
footer a:hover{color:var(--signal)}
footer .flinks{display:flex;gap:24px;flex-wrap:wrap}

/* media mention cards (thumbnails) */
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px}
.mcard{display:block;text-decoration:none}
.mcard .thumb{display:block;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--haze);background:#fff}
.mcard .thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.97);transition:filter .2s}
.mcard:hover .thumb img{filter:saturate(1.05)}
.mcard .outlet{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin:16px 0 6px}
.mcard .mtitle{display:block;font-size:16px;font-weight:560;line-height:1.4;color:var(--ink)}
a.mcard:hover .mtitle{color:var(--signal)}
.mcard .myear{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--slate);margin-top:8px}
@media(max-width:980px){.media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.media-grid{grid-template-columns:1fr}}
.scan-stack{max-width:860px}
.scan-stack img{width:100%;height:auto;display:block;border:1px solid var(--haze);margin-bottom:28px}

/* unlinked press mentions (print/broadcast without a permanent URL) */
div.mcard{opacity:.55}
div.mcard .thumb img{filter:grayscale(1)}
div.mcard .mtitle{color:var(--slate)}

/* compact podcast rows */
.pod-list{border-top:1px solid var(--haze)}
.podrow{display:grid;grid-template-columns:56px 220px 1fr auto;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid var(--haze);text-decoration:none;transition:background .15s}
.podrow:hover{background:#fff}
.podrow .part{width:56px;height:56px;object-fit:cover;display:block;border:1px solid var(--haze);filter:saturate(.97)}
.podrow .outlet{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.podrow .ptitle{font-size:15px;font-weight:480;color:var(--ink);line-height:1.4}
.podrow:hover .ptitle{color:var(--signal)}
.podrow .year{font-family:var(--mono);font-size:11px;color:var(--slate)}
@media(max-width:700px){.podrow{grid-template-columns:48px 1fr auto}.podrow .outlet{grid-column:2;grid-row:1}.podrow .part{grid-row:1/3;width:48px;height:48px}.podrow .ptitle{grid-column:2}.podrow .year{grid-row:1;grid-column:3}}


/* writing page: text rows with open marginalia sketches */
.wrow-list{border-top:1px solid var(--haze)}
.wrow{display:grid;grid-template-columns:1fr 150px;gap:36px;align-items:center;padding:26px 0;border-bottom:1px solid var(--haze);text-decoration:none}
.wrow .outlet{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin-bottom:6px}
.wrow .mtitle{display:block;font-size:clamp(17px,2vw,22px);font-weight:600;line-height:1.35;color:var(--ink)}
.wrow:hover .mtitle{color:var(--signal)}
.wrow .sketch{display:block;width:150px}
.wrow .sketch svg{width:100%;height:auto;display:block;opacity:.8;transition:opacity .2s}
.wrow:hover .sketch svg{opacity:1}
@media(max-width:600px){.wrow{grid-template-columns:1fr 100px;gap:18px}.wrow .sketch{width:100px}}
