/* Rally & Play uses the same paper, type, and crayon palette as the library. */
button.text-link { appearance:none; background:none; border:0; border-bottom:1px solid var(--ink); padding:0 0 5px; cursor:pointer; }
.masthead nav { gap:24px; }
.flagship { display:grid; grid-template-columns:1fr 1fr; margin-top:52px; border:var(--line); }
.flagship-art { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:30px 36px 24px; background:#e1e8d6; border-right:var(--line); }
.flagship-art-top { width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.flagship-art-top .handnote { color:#4b6145; font-size:14px; }
.edition-stamp { font-size:9px; line-height:1.65; letter-spacing:.12em; text-transform:uppercase; text-align:center; border:1px solid #8a997b; border-radius:50%; padding:10px 8px; width:66px; height:66px; transform:rotate(8deg); flex:none; }
.edition-stamp strong { font-weight:400; font-size:10px; }
.tennis-book { display:block; padding:0 0 0 7px; width:min(60%,240px); background:#79936b; border:1px solid #778067; cursor:pointer; transform:rotate(-3deg); box-shadow:2px 2px #f5f0e3,4px 4px #d1cbbc,5px 5px #a1a18a,12px 17px 22px #3e4a2b27; transition:transform .25s,box-shadow .25s; }
.tennis-book:hover { transform:rotate(0) translateY(-3px); box-shadow:2px 2px #f5f0e3,4px 4px #d1cbbc,5px 5px #a1a18a,12px 20px 25px #3e4a2b27; }
.tennis-cover-art { position:relative; display:block; aspect-ratio:155 / 204; overflow:hidden; background:#fff; }
.tennis-cover-art img { position:absolute; width:990.967742%; max-width:none; height:auto; left:-8.387097%; top:-3.921569%; display:block; }
.flagship-art-note { font:12px var(--font-hand); color:#4b6145; }
.flagship-copy { align-self:center; padding:38px 44px; }
.flagship-copy .eyebrow { display:flex; align-items:center; gap:8px; font-size:9px; margin-bottom:19px; }
.flagship-copy h2 { font-size:clamp(38px,4.3vw,60px); white-space:nowrap; }
.flagship-copy h2 em { color:var(--red); font-style:normal; }
.flagship-subtitle { font-family:var(--font-hand); color:#4b6145; font-size:18px; line-height:1.45; margin:18px 0 22px; }
.flagship-copy>p:not(.eyebrow):not(.flagship-subtitle) { font-size:15px; line-height:1.65; max-width:43ch; }
.book-details { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; padding:14px 0; margin:20px 0; border-block:var(--line); font-size:10px; font-weight:700; letter-spacing:.035em; }
.book-details li+li::before { content:'✳'; color:var(--red); margin-right:12px; }
.flagship-description { color:var(--muted); }
.preview-button { cursor:pointer; gap:26px; padding:11px 17px; }
.preview-button span { font-size:20px; line-height:1; font-weight:400; }
.preview-note { display:block; margin-top:10px; font-size:10px; color:var(--muted); }
.sports-next { padding:38px 0 44px; border-top:var(--line); }
.sports-next>.wrap { display:grid; grid-template-columns:.95fr 1.7fr; gap:60px; align-items:center; }
.sports-intro .eyebrow { font-size:10px; margin-bottom:12px; }
.sports-intro h2 { font-size:32px; max-width:13ch; }
.sports-intro>p:last-child { font-size:14px; line-height:1.6; color:var(--muted); margin:14px 0 0; }
.sports-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; list-style:none; padding:0; margin:0; }
.sports-list li { text-align:center; border-left:var(--line); padding:10px 5px; }
.sports-list svg { width:96px; height:72px; margin-bottom:11px; }
.sports-list h3 { font-size:20px; }
.sports-list li>span { display:inline-block; margin-top:11px; font-size:9px; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); }
.preview-contact-sheet { display:block; width:100%; padding:12px; background:#fffefb; border:1px solid #bcb8aa; box-shadow:4px 5px 0 #dcdacb; transform:rotate(1deg); cursor:pointer; }
.preview-contact-sheet img { display:block; width:100%; height:auto; }
.preview-contact-sheet>span { display:flex; align-items:center; justify-content:space-between; padding:10px 5px 0; font:13px var(--font-hand); }
.preview-contact-sheet>span>span { font:20px var(--font-text); color:var(--red); }
@media(max-width:1000px) { .masthead nav{gap:16px}.flagship-copy{padding:28px}.flagship-art{padding:24px;gap:20px}.flagship-art-top .handnote{font-size:12px}.tennis-book{width:72%}.sports-next>.wrap{gap:28px}.sports-list{gap:10px}.sports-list h3{font-size:18px}.book-details{gap:7px 10px}.book-details li+li::before{margin-right:8px} }
@media(max-width:740px) { .masthead nav{flex-wrap:wrap;gap:2px 19px}.masthead nav a{padding-block:3px}.flagship{grid-template-columns:1fr;margin-top:30px}.flagship-art{padding:22px 24px 25px;border-right:0;border-bottom:var(--line);gap:20px}.flagship-art-top .handnote{font-size:13px}.edition-stamp{width:59px;height:59px;padding:7px}.tennis-book{width:190px}.flagship-copy{padding:29px 25px 32px}.flagship-copy h2{font-size:44px}.flagship-copy .eyebrow{font-size:8px}.flagship-subtitle{font-size:17px}.flagship-copy>p:not(.eyebrow):not(.flagship-subtitle){font-size:14px}.book-details{font-size:9px;gap:7px 10px}.preview-button{font-size:13px;padding:11px 16px}.preview-note{font-size:10px}.sports-next{padding:32px 0}.sports-next>.wrap{grid-template-columns:1fr;gap:22px}.sports-intro h2{max-width:none;font-size:31px}.sports-intro>p:last-child{margin-top:12px}.sports-intro br{display:none}.sports-list{gap:0}.sports-list li:first-child{border-left:0}.sports-list svg{width:80px;height:64px;margin-bottom:8px}.sports-list h3{font-size:17px}.sports-list li>span{font-size:8px;letter-spacing:.06em}.preview-contact-sheet{padding:8px}.preview-contact-sheet>span{font-size:11px}.hero{padding-bottom:40px} }
@media(max-width:360px) { .flagship-copy{padding-inline:18px}.flagship-copy h2{font-size:38px}.book-details{font-size:8px}.sports-list h3{font-size:15px}.sports-list svg{width:72px} }
