/* Keep decorative margin notes within the mobile viewport. */
@media(max-width:760px){body{overflow-x:clip}.hero-copy,.voices{overflow-x:clip}}
footer .footer-links{display:flex;gap:22px;justify-content:flex-start;flex-wrap:wrap;padding:18px 0;font-size:12px;border-top:1px solid #dedbd4}footer .footer-links a{padding:0;margin:0}

/* Published stories retain NIOMI's editorial typography and generous image rhythm. */
.story-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}
.story-card{min-width:0;border-bottom:1px solid #dedbd4;padding-bottom:24px}
.story-card-photo{display:block;overflow:hidden;background:#eee9e2}
.story-card-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .3s ease}
.story-card-photo:hover img{transform:scale(1.025)}
.story-card-copy{padding-top:20px}
.story-card h3{font-family:"DM Serif",Georgia,serif;font-size:clamp(24px,2.2vw,34px);line-height:1.1;letter-spacing:-.04em;margin:12px 0}
.story-card h3 a{text-decoration:none;color:inherit}
.story-card p{font-size:15px;line-height:1.6;margin:0 0 18px;color:#625e58}
.story-readtime{display:block;font-size:11px;letter-spacing:.05em;color:#625e58;margin-top:12px}
@media(max-width:1100px){.story-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.story-archive-grid{grid-template-columns:1fr;gap:32px}.story-card h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.story-card-photo img{transition:none}}

.edition-stories{padding-top:42px;padding-bottom:10px}
.edition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.edition-grid .story-card h3{font-size:27px}
.edition-grid .story-card-copy{padding-top:16px}
.story-search{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:0 0 32px;padding:22px;background:#f2eee7;border-top:3px solid #164bdf}
.story-search>div:first-child{flex:1 1 300px}.story-search>div:nth-child(2){flex:0 1 230px}
.story-search label{display:block;font-size:12px;font-weight:700;margin-bottom:8px;letter-spacing:.04em}
.story-search input,.story-search select{display:block;width:100%;min-height:46px;padding:11px 12px;border:1px solid #c9c4ba;background:#fffefa;color:var(--ink);font:inherit;font-size:14px;border-radius:0}
.story-search button,.story-more button{min-height:46px;border:0;background:#164bdf;color:white;padding:12px 20px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.story-search a{font-size:13px;text-decoration:underline;padding:12px 0}
.story-search :focus-visible,.story-more button:focus-visible{outline:3px solid #ad263b;outline-offset:3px}
.story-more{text-align:center;margin-top:30px}.story-more p{margin-bottom:14px}
.story-card[hidden],.story-more button[hidden]{display:none}
@media(max-width:1100px){.edition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.edition-grid{grid-template-columns:1fr}.edition-grid .story-card h3{font-size:30px}.story-search{padding:18px;gap:16px}.story-search>div:first-child,.story-search>div:nth-child(2){flex:1 1 100%}.story-search button{width:100%}.edition-stories{padding-top:28px}}
.home-page{overflow-x:clip}
.story-archive .shelf-heading,.edition-stories .shelf-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.story-archive .shelf-heading h2,.edition-stories .shelf-heading h2{font-family:"DM Serif",Georgia,serif;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.04em;margin:0}
.story-archive .shelf-heading>span,.edition-stories .shelf-heading>span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:760px){.story-archive .shelf-heading,.edition-stories .shelf-heading{align-items:flex-start;flex-direction:column;gap:12px}.story-archive .shelf-heading h2,.edition-stories .shelf-heading h2{font-size:36px}}
/* Crop oversized decorative lettering at its editorial panel on every viewport. */
.home-page .hero-copy,.home-page .voices{overflow-x:clip}
/* HEYSUSI keeps the magazine masthead rhythm with a longer wordmark. */
.logo{font-size:112px;letter-spacing:-.07em;left:47%}
.footer-logo{font-size:44px;letter-spacing:-.06em}
.photo-alternative{display:flex;align-items:center;justify-content:center;background:#f4dce4;color:#123ac4;font-family:"DM Serif",Georgia,serif;text-align:center;padding:24px;font-size:clamp(30px,4vw,62px);line-height:1.05}
.photo-wrap .photo-alternative{min-height:300px;aspect-ratio:4/5}
.digest-thumb.photo-alternative{padding:12px;font-size:34px;background:#ede7db;color:#ad263b}
.digest-photo>.photo-alternative{min-height:300px;width:100%}
.story-card.no-photo .story-card-copy{padding-top:10px}
.story-archive .no-photo{border-top:3px solid #d4d0c8;padding-top:12px}
.edition-grid .no-photo{background:#eee9df;padding:24px;border-top:3px solid #164bdf}
.edition-grid .no-photo:nth-child(even){background:#f2dfe6;border-top-color:#ad263b}
.edition-grid .no-photo .story-card-copy{display:flex;flex-direction:column;min-height:235px}
.edition-grid .no-photo h3{flex:1}
@media(max-width:1100px){.logo{font-size:91px;left:44%}}
@media(max-width:760px){.logo{font-size:clamp(38px,11vw,68px);letter-spacing:-.07em;left:auto}.brand-note{font-size:23px}.footer-logo{font-size:36px}.edition-grid .no-photo .story-card-copy{min-height:170px}}
@media(max-width:760px){.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-wrap .photo-alternative{aspect-ratio:auto;min-height:0;height:210px;min-width:0;width:100%;padding:12px;font-size:30px;overflow-wrap:anywhere}}

/* Keep the handwritten side notes fully inside the editorial section. */
.home-page .voices{padding-inline:145px}
.home-page .voices .margin-note{width:110px;top:110px;bottom:35px;padding:16px 8px;overflow:visible}
.home-page .voices .margin-pink{left:12px;font-size:30px}
.home-page .voices .margin-blue{right:12px;font-size:13px;letter-spacing:.6px}
@media(max-width:1100px){
 .home-page .voices{padding-inline:125px}
 .home-page .voices .margin-note{width:95px}
 .home-page .voices .margin-pink{font-size:26px}
 .home-page .voices .margin-blue{font-size:11px;letter-spacing:0}
 .home-page .voices .quote-grid blockquote{padding-inline:12px}
}
@media(max-width:760px){
 .home-page .voices{padding:32px 0 165px}
 .home-page .voices .margin-note{top:auto;bottom:25px;height:110px;width:120px;padding:12px;z-index:0}
 .home-page .voices .margin-pink{left:20px;font-size:22px;line-height:1}
 .home-page .voices .margin-blue{right:20px;font-size:11px;line-height:1.2}
}
.home-page .voices .margin-pink{transform:rotate(-3deg)}
.home-page .voices .margin-blue{transform:rotate(3deg)}

.newsletter-form .newsletter-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;margin-top:14px}.newsletter-form .newsletter-consent input{width:auto;flex:none;min-height:0;margin-top:3px}

.newsletter-modal{box-sizing:border-box;width:min(480px,calc(100vw - 40px));max-height:85vh;overflow:auto;border:0;padding:36px;background:var(--paper,#fffaf5);color:var(--ink,#171717);box-shadow:0 20px 80px #0003;text-align:left}
.newsletter-modal::backdrop{background:rgb(15 22 45 / .55)}
.newsletter-modal h2{font-family:"DM Serif",Georgia,serif;font-size:38px;line-height:1.08;letter-spacing:-.035em;margin:18px 0}
.newsletter-modal p{font-size:16px;line-height:1.6;margin-bottom:26px}
.newsletter-modal button{border:0;padding:14px 24px;background:var(--blue,#123ac4);color:#fff;font:inherit;cursor:pointer}
.newsletter-modal button:focus-visible{outline:3px solid #b81939;outline-offset:4px}
.newsletter-modal-open{overflow:hidden}
@media(max-width:760px){.newsletter-modal{padding:28px}.newsletter-modal h2{font-size:32px}}

/* Checkbox must not inherit padding and sizing from the email input. */
.newsletter-form .newsletter-consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;text-align:left;line-height:1.5}
.newsletter .newsletter-form .newsletter-consent input[type="checkbox"]{appearance:auto;box-sizing:border-box;display:block;width:16px;height:16px;min-height:16px;padding:0;margin:2px 0 0;border-radius:0;accent-color:#fff;background:transparent;align-self:start}
.newsletter-consent span{min-width:0}
.newsletter-consent a{text-decoration:underline;text-underline-offset:2px}
