:root{--cream:#f6efe2;--paper:#fbf7ef;--sand:#e8d9bf;--bark:#3b2a1e;--clay:#a8552f;--sage:#6f7d5a;--ink:#4a3a2c}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.65 "Nunito Sans",system-ui,sans-serif}
img{max-width:100%;display:block}
h2,h3,.brand{font-family:Fraunces,Georgia,serif;color:var(--bark);font-weight:600}
h2{font-size:clamp(2rem,4vw,2.8rem);text-align:center;margin:0 0 .3em}
h3{font-size:1.7rem;margin:0}
.lede{text-align:center;max-width:36em;margin:0 auto 2.2em;font-style:italic;font-family:Fraunces,serif;font-size:1.15rem}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.7rem 5vw;background:rgba(246,239,226,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--sand)}
.brand{text-decoration:none;font-size:1.3rem}
.nav nav a{margin-left:1.3rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.nav nav a:hover{color:var(--clay)}
section{padding:5rem 5vw}
.hero{text-align:center;padding-top:4rem;background:radial-gradient(ellipse at top,#fffaf0,var(--cream) 70%)}
.logo{width:min(780px,92%);height:auto;margin:0 auto}
.tagline{font-family:Fraunces,serif;font-size:clamp(1.2rem,2.4vw,1.6rem);max-width:30em;margin:1.6rem auto 2rem;color:var(--bark)}
.btn{display:inline-block;background:var(--clay);color:#fff;text-decoration:none;font-weight:700;padding:.85em 1.8em;border-radius:999px;box-shadow:0 6px 18px rgba(120,60,30,.25);transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px);background:#8f4524}
.stars{background:var(--paper)}
.star{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center;max-width:1150px;margin:0 auto 4rem}
.star.reverse .star-imgs{order:2}
.star-imgs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.star-imgs img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 8px 24px rgba(59,42,30,.18)}
.star-imgs img:first-child{grid-column:1/3;aspect-ratio:3/2}
.star-imgs img:not(:first-child){aspect-ratio:3/4}
.role{color:var(--sage);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin:.3rem 0 1rem}
.side{text-align:center;font-style:italic;color:var(--sage)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;max-width:1200px;margin:0 auto}
.grid figure{margin:0;background:#fff;padding:.7rem .7rem .4rem;border-radius:6px;box-shadow:0 6px 20px rgba(59,42,30,.14);transition:transform .2s}
.grid figure:nth-child(odd){transform:rotate(-.6deg)}.grid figure:nth-child(even){transform:rotate(.6deg)}
.grid figure:hover{transform:rotate(0) scale(1.02)}
.grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px}
.grid figcaption{font-family:Fraunces,serif;font-style:italic;text-align:center;padding:.5rem 0;font-size:.95rem}
.shop{background:var(--sand);text-align:center}
.shop-btns{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center}
.btn.big{font-size:1.3rem;padding:1.1em 2.6em}
.btn.alt{background:var(--sage)}.btn.alt:hover{background:#56623f}
.contact{text-align:center}
.mail{font-family:Fraunces,serif;font-size:clamp(1.5rem,4vw,2.3rem);color:var(--clay);text-decoration:none;border-bottom:2px solid var(--sand)}
.mail:hover{border-color:var(--clay)}
footer{background:var(--bark);color:var(--sand);text-align:center;padding:2.2rem 1rem;font-size:.95rem}
footer img{margin:0 auto .6rem;width:56px;height:auto}
footer p{margin:0}
@media(max-width:760px){body{font-size:17px}section{padding:3.5rem 6vw}.star{grid-template-columns:1fr;gap:1.5rem}.star.reverse .star-imgs{order:0}.star-text{text-align:center}.nav{flex-direction:column;gap:.3rem}.nav nav a{margin:0 .6rem}.btn.big{width:100%}}
/* v2 comic-first */
.nav{background:rgba(246,239,226,.95);padding:.5rem 5vw;padding-top:max(.5rem,env(safe-area-inset-top))}
.brand img{height:38px;width:auto}
.nav nav a{margin-left:1.1rem}
h1#strip-title{font-family:Fraunces,Georgia,serif;color:var(--bark);font-size:clamp(1.3rem,3vw,1.9rem);margin:0;font-weight:600}
.comic{padding:1.4rem 3vw 2.5rem;text-align:center;background:radial-gradient(ellipse at top,#fffaf0,var(--cream) 70%)}
.strip{margin:0 auto;max-width:1150px}
.strip img{width:100%;height:auto;border-radius:10px;box-shadow:0 14px 40px rgba(59,42,30,.28);background:var(--bark)}
.strip figcaption{margin-top:.9rem}
.strip time{display:block;font-size:.95rem;color:var(--sage);font-weight:600}
.strip-nav{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:1.1rem 0 0}
.strip-nav a{background:var(--bark);color:#fff;text-decoration:none;font-weight:700;padding:.6em 1.1em;border-radius:999px;font-size:.95rem;min-width:6.5em}
.strip-nav a:hover{background:var(--clay)}
.strip-nav a.disabled{opacity:.35;pointer-events:none}
.comic .tagline{margin:1.6rem auto 0;font-size:clamp(1rem,2vw,1.25rem)}
.archive{background:var(--paper)}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;max-width:1100px;margin:0 auto}
.thumb{display:block;text-decoration:none;color:var(--bark);font-weight:700;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(59,42,30,.15);border:3px solid transparent}
.thumb.active{border-color:var(--clay)}
.thumb img{aspect-ratio:3/2;object-fit:cover;width:100%}
.thumb span{display:block;padding:.5rem .7rem;font-size:.95rem}
.gallery .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.a2hs{position:fixed;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:20;display:flex;gap:.6rem;align-items:center;background:var(--bark);color:#fff;padding:.75rem 1rem;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:.95rem}
.a2hs[hidden]{display:none}
.a2hs p{margin:0;flex:1;line-height:1.4}
.a2hs button{background:none;border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .2rem}
.share-ico{display:inline-block;border:1.5px solid #fff;border-radius:4px;padding:0 .25em;font-size:.85em}
@media (max-width:600px){.brand img{height:28px}.nav nav a{margin-left:.7rem;font-size:.85rem}.strip-nav a{min-width:0;padding:.55em .8em;font-size:.85rem}section{padding:3rem 4vw}.comic{padding-top:.9rem}}


/* v2.0.3 mobile fixes */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:clip;max-width:100%}
body{font-size:clamp(16px,1rem + .2vw,18px);overflow-wrap:anywhere;word-break:normal}
img{max-width:100%;height:auto}
h3{font-size:clamp(1.3rem,1rem + 1.5vw,1.7rem)}
h2{font-size:clamp(1.7rem,1.2rem + 2.5vw,2.8rem)}
.lede{font-size:clamp(1rem,.95rem + .4vw,1.15rem)}
.series-name{text-align:center;font-size:clamp(1.05rem,.9rem + .8vw,1.4rem);font-weight:700;letter-spacing:.04em;margin:.5rem 0}
.strip{width:100%;max-width:min(1150px,calc((100svh - 250px) * 16 / 9))}
@supports not (height:100svh){.strip{max-width:1150px}}
@media (orientation:landscape) and (max-height:500px){.strip{max-width:min(1150px,calc((100svh - 90px) * 16 / 9))}.nav{position:static}}
.strip img{max-width:100%;height:auto;aspect-ratio:1800/1013;object-fit:contain}
.brand img{max-width:60vw}
.star,.star-imgs,.grid,.archive-grid{min-width:0}
.star{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.star-imgs{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
.gallery .grid{grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr))}
.archive-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}
.btn.big{font-size:clamp(1.05rem,.9rem + .8vw,1.3rem);padding:1em clamp(1.2em,4vw,2.6em);max-width:100%}
.mail{font-size:clamp(1.2rem,.8rem + 3vw,2.3rem);overflow-wrap:anywhere}
@media(max-width:760px){.star{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.nav nav{display:flex;flex-wrap:wrap;justify-content:center}.nav nav a{margin:0 .45rem}}
/* v2.0.4 header: keep logo proportions */
.brand{display:inline-block;line-height:0;flex:0 0 auto}
.brand img{width:170px;height:auto!important;max-width:60vw;aspect-ratio:1515/337;object-fit:contain}
@media (max-width:600px){.brand img{width:150px}}
/* v2.0.5: let each strip keep its own shape */
.strip img{aspect-ratio:auto!important;height:auto!important;width:100%;object-fit:initial}
