/* Stripy Pages | Stage 04 LOCAL PREVIEW, v0.2 • Based on APPROVED Stage 03 v1.0. No public deployment. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sp-colour-page);color:var(--sp-colour-text);font-family:var(--sp-font-body-family);font-size:var(--sp-font-body);line-height:var(--sp-leading-body)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.25em}
a:focus-visible,button:focus-visible{outline:var(--sp-outline);outline-offset:3px}
a:hover{text-decoration-thickness:2px}
.skip{position:absolute;transform:translateY(-190%);top:0;left:1rem;background:#fff;color:#111;padding:.8rem;z-index:50;border:2px solid #111}
.skip:focus{transform:translateY(0)}
.container{width:min(100% - 2*var(--sp-gutter),var(--sp-page-max));margin-inline:auto}
.notice{font-size:.78rem;letter-spacing:.01em;text-align:center;background:var(--sp-colour-soft-section);border-bottom:1px solid var(--sp-colour-soft-detail);padding:.5rem 1rem}
.site-header{border-bottom:1px solid var(--sp-colour-border);background:white}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:.9rem}
.logo-link{display:inline-flex;align-items:center;flex:none;min-height:48px}
.logo-link img{width:min(10.5rem,42vw);height:auto}
.primary-nav{display:flex;align-items:center;gap:clamp(.8rem,2.5vw,1.8rem);flex-wrap:wrap}
.primary-nav a{font-size:.925rem;font-weight:520;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.primary-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.primary-nav a:hover{text-decoration:underline}
.eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--sp-colour-muted-text)}
h1,h2,h3{font-family:var(--sp-font-heading-family);font-weight:var(--sp-weight-heading);line-height:var(--sp-leading-heading);margin:0}
h1{font-size:var(--sp-size-h1);letter-spacing:var(--sp-tracking-heading)}
h2{font-size:var(--sp-size-h2);letter-spacing:var(--sp-tracking-section-heading)}
h3{font-size:var(--sp-size-h3);letter-spacing:-.012em}
p{margin:.75rem 0 1.2rem}
.lead{font-size:var(--sp-font-lead);max-width:var(--sp-text-max)}
.muted{color:var(--sp-colour-muted-text)}
.hero{padding-block:clamp(1.5rem,4vw,3.2rem) clamp(2rem,4vw,3rem)}
.hero-stage{position:relative;min-height:0;overflow:hidden;background:#fbfaf7;border:1px solid var(--sp-colour-border)}
.hero-visual{display:block;width:100%;height:auto}
.hero-content{position:absolute;inset:0 auto 0 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:49%;padding:clamp(1rem,3vw,3rem) clamp(1rem,3.6vw,3.2rem)}
.hero-content h1{font-size:clamp(1.7rem,3.6vw,3rem);max-width:12ch;margin:.75rem 0}
.hero-content .lead{font-size:clamp(.88rem,1.2vw,1rem);margin:0 0 1rem;max-width:38ch;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;background:var(--sp-colour-button);color:var(--sp-colour-button-text);border:1px solid var(--sp-colour-button);border-radius:var(--sp-radius);padding:.6rem 1.2rem;font-family:var(--sp-font-body-family);font-size:.93rem;font-weight:630;text-align:center;text-decoration:none;transition:background-color var(--sp-transition)}
.btn:hover{background:#333;color:#fff}
.btn-secondary{background:#fff;color:var(--sp-colour-text)}
.btn-secondary:hover{background:var(--sp-colour-soft-section);color:var(--sp-colour-text)}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.media-note{font-size:.73rem;color:var(--sp-colour-muted-text);max-width:66rem;margin:.55rem 0 0}
.section{padding-block:clamp(2.5rem,5.8vw,5.5rem)}
.section-tight{padding-block:clamp(1.8rem,4vw,3.5rem)}
.section-header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.7rem;flex-wrap:wrap}
.section-header h2{margin-top:.5rem}
.section-header p{max-width:43rem;margin:1rem 0 0}
.grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:clamp(1.4rem,3.4vw,2.5rem)}
.grid.two{grid-template-columns:repeat(1,minmax(0,1fr))}
.card{min-width:0}
.card-art{display:grid;place-items:center;background:#f9f9f8;border:1px solid var(--sp-colour-border);padding:clamp(.9rem,2vw,1.5rem);aspect-ratio:4/4.5}
.card-art img{width:auto;height:100%;max-width:100%;object-fit:contain}
.card-art--wide img{height:auto;max-height:100%;max-width:100%}
.card h3{margin-top:1rem}
.card p{font-size:.94rem;color:var(--sp-colour-muted-text);margin:.3rem 0 0}
.card .card-status{display:inline-block;font-size:.76rem;margin-top:.8rem;color:var(--sp-colour-muted-text);font-weight:650;letter-spacing:.02em}
.cream{background:var(--sp-colour-soft-section)}
.split{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.split h2{margin:.5rem 0 .9rem}
.portrait{margin:0;max-width:450px}
.portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 38%}
.portrait figcaption{font-size:.77rem;color:var(--sp-colour-muted-text);padding-top:.5rem}
.resource-strip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--sp-colour-soft-detail);border-bottom:1px solid var(--sp-colour-soft-detail)}
.resource-intro{display:flex;align-items:center;gap:1rem;max-width:49rem}
.resource-icon{flex:none;width:52px;height:52px;border:1px solid var(--sp-colour-text);border-radius:50%;display:grid;place-items:center}
.resource-intro h2{font-size:clamp(1.3rem,2vw,1.75rem)}
.resource-intro p{font-size:.92rem;margin:.45rem 0 0}
.page-lead{padding-block:clamp(3rem,7vw,6rem) 2rem}
.page-lead h1{margin:.8rem 0;max-width:17ch}
.page-lead p{max-width:44rem}
.rule{height:1px;border:0;background:var(--sp-colour-border);margin:2rem 0}
.lettering-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center}
.lettering-layout img{width:min(360px,100%);object-fit:contain;border:1px solid var(--sp-colour-border)}
.site-footer{border-top:1px solid var(--sp-colour-border);padding-block:2.5rem;background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:2rem;flex-wrap:wrap}
.footer-wordmark{width:10.5rem;max-width:50vw}
.footer-note{font-size:.85rem;color:var(--sp-colour-muted-text);max-width:32rem;margin:.8rem 0}
.footer-links{display:flex;gap:1rem 1.4rem;flex-wrap:wrap;font-size:.9rem}
.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.preview-only{font-size:.78rem;color:var(--sp-colour-muted-text)}
@media(min-width:48rem){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr 1fr}.lettering-layout{grid-template-columns:1fr 1fr}}
@media(min-width:68rem){.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.hero-stage{display:flex;flex-direction:column}.hero-content{position:static;max-width:none;order:0;padding:clamp(1.5rem,4.5vw,2.6rem)}.hero-visual{order:1}.hero-content h1{max-width:17ch;font-size:clamp(2rem,5.5vw,3.25rem)}.hero-content .lead{font-size:1rem;max-width:50ch}.hero-actions{gap:.8rem}.hero-content .eyebrow{margin-top:0}}
@media(max-width:520px){.header-inner{justify-content:center}.primary-nav{justify-content:center;gap:.2rem 1rem}.primary-nav a{font-size:.82rem}.hero-actions .btn{flex:1 1 auto}.resource-icon{width:44px;height:44px}.resource-intro{align-items:start}.site-footer .footer-inner{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none!important}}
@media print{.notice,.site-header,.hero-actions,.footer-links,.resource-strip .btn,.media-note{display:none!important}.section{padding-block:1rem}.card-art{border:none;aspect-ratio:auto}.site-footer{border-top:1px solid #111}}


/* Stage 04 v0.2: owner-approved site structure and layout corrections. */
.primary-nav a[aria-current="page"],.footer-links a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
/* Show the actual 3:1 banner across the content width, with no keyline. Copy and buttons remain separate accessible HTML. */
.hero{padding-block:0 clamp(2rem,4vw,3rem)}
.hero-stage{border:0;min-height:0;background:white;overflow:visible}
.hero-visual{width:100%;height:auto;display:block}
.hero-content{left:clamp(1rem,7vw,8rem);right:auto;max-width:min(39vw,500px);padding:1rem 0}
.hero-content h1{font-size:clamp(2rem,3.3vw,3.35rem);line-height:1.16;max-width:13ch;margin:0 0 .65rem}
.hero-content .lead{font-size:clamp(.91rem,1.08vw,1rem);max-width:36ch;margin-bottom:.85rem}
.hero-actions{gap:.65rem}
.hero-actions .btn{font-size:.87rem;padding:.6rem .9rem}
.hero-note{width:min(100% - 2*var(--sp-gutter),var(--sp-page-max));margin-inline:auto}
/* All collection images are uncropped. Make three moderate-width cards fit desktop. */
.grid.three{grid-template-columns:minmax(0,1fr)}
.card-art{border:0;background:white;aspect-ratio:5/4.5;padding:clamp(.8rem,2vw,1.4rem)}
.card-art img{max-height:100%;width:auto;height:100%;object-fit:contain;max-width:100%}
.card{min-width:0}
.card a.card-title-link{color:inherit;text-decoration-thickness:1px;text-decoration-color:#777}
.card-title-link:hover{text-decoration-thickness:2px}
.card .card-status{margin-top:.65rem}
.card-art--waiting{background:#faf9f6;color:#555;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}
.card-art--waiting p{max-width:14rem;margin:0;font-size:.92rem}
/* White cards on cream, no box outlines; JPEG white edges disappear into card. */
.cream .card-classic{background:white;padding:clamp(.8rem,1.8vw,1.4rem);border:0}
.card-classic .card-art{background:white;padding:0;border:0;aspect-ratio:5/4.6}
.card-classic .card-art img{height:100%;width:auto;max-height:100%;object-fit:contain}
.card-classic h3{margin-top:.8rem}
.card-classic .card-status{font-size:.78rem}
.preview-note{font-size:.8rem;color:var(--sp-colour-muted-text)}
.link-row{display:flex;gap:.8rem 1.2rem;flex-wrap:wrap;align-items:center;margin-top:1.15rem}
.resource-empty{padding:clamp(1.5rem,4vw,3rem);background:var(--sp-colour-soft-section);max-width:54rem}
.resource-empty h2{font-size:clamp(1.45rem,2.4vw,2rem)}
.resource-strip{border-top:0;border-bottom:0}
.notebook-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.notebook-detail .detail-media{background:white;max-width:360px;margin:0}
.notebook-detail .detail-media img{max-height:520px;width:auto;max-width:100%;object-fit:contain}
.detail-text h1{margin:.65rem 0 1.1rem;max-width:20ch}
.detail-meta{margin:1rem 0;color:var(--sp-colour-muted-text)}
.inline-help{background:var(--sp-colour-soft-section);padding:1rem 1.2rem;margin-top:1.5rem}
.inline-help p{margin:.25rem 0}
.resource-association{border-top:1px solid var(--sp-colour-border);padding-block:2rem}
/* Exactly the same approved wordmark stays in header/footer. Single-line suggestion awaits scoped owner approval. */
@media (min-width:48rem){.notebook-detail{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media (min-width:68rem){.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){
 .hero-stage{display:flex;flex-direction:column}
 .hero-content{position:static;order:0;max-width:none;padding:clamp(1.5rem,5vw,3rem) var(--sp-gutter)}
 .hero-visual{order:1;max-width:100%}
 .hero-content h1{font-size:var(--sp-size-h1);max-width:21ch}
 .hero-content .lead{font-size:1rem;max-width:48ch}
}
@media (max-width:520px){
 .primary-nav{gap:0 .9rem}
 .primary-nav a{font-size:.78rem;min-height:44px}
 .hero-content{padding-inline:var(--sp-gutter)}
 .hero-actions .btn{flex:1 1 180px}
 .card-art{aspect-ratio:5/4.7}
}
@media print{.card-art,.card-classic{aspect-ratio:auto}.hero-visual{max-height:6cm;object-fit:contain}.resource-empty{background:transparent}}
