/* --- T_TASTE_EDITION_PORTAL_V2_20261003 begin --- */
.portal-mode .portal-main { max-width:1240px; padding:20px 20px 42px; }
.portal-top { min-height:82px; padding-top:17px; padding-bottom:17px; }
.portal-nav-wrap { min-height:46px; }
.portal-nav { gap:27px; }
.portal-nav button { min-height:46px; }
.portal-welcome { margin:0 0 13px; font-size:12px; }
.edition-lead { display:grid; grid-template-columns:minmax(0,1fr) 282px; gap:18px; }
.edition-campaign { border-radius:10px; background:#ebeae2; min-width:0; }
.edition-campaign .campaign-slide { grid-template-columns:57% 43%; height:244px; min-height:244px; position:relative; }
.edition-campaign .slide-0 { background:#e8e9df; }
.edition-campaign .slide-1 { background:#f1e2dc; }
.edition-campaign .slide-2 { background:#e2e8e4; }
.edition-copy { padding:22px 0 20px 30px; z-index:1; }
.edition-label { display:block; font-size:10px; letter-spacing:1.4px; color:#776554; margin-bottom:11px; }
.edition-copy h1,.edition-copy h2 { font:500 27px/1.42 var(--serif); letter-spacing:-1.3px; color:#28352d; margin:0 0 8px; word-break:keep-all; }
.edition-copy h1 em,.edition-copy h2 em { font-style:normal; color:#822e47; }
.edition-copy p { color:#655f54; font-size:11.5px; line-height:1.6; margin:0 0 12px; word-break:keep-all; }
.edition-copy .button { min-height:36px; padding:9px 15px; font-size:12px; border-radius:5px; }
.edition-copy .button .icon { width:15px; }
.edition-art { position:relative; min-width:0; overflow:hidden; }
.edition-art .book-cover { position:absolute; width:128px; height:178px; left:calc(50% - 41px); top:30px; transform:rotate(8deg); box-shadow:7px 13px 17px #3c403525; }
.edition-art .book-cover:nth-last-child(2) { left:calc(50% - 115px); top:48px; transform:rotate(-10deg); }
.edition-art .cover-title { font-size:18px; }
.edition-art .cover-series { font-size:5px; }
.edition-art .cover-art { width:70px; height:70px; }
.edition-art .cover-author { font-size:7px; }
.edition-orbit { position:absolute; width:210px; height:210px; border:1px solid #74816a25; border-radius:50%; top:16px; left:calc(50% - 106px); }
.edition-sheet { position:absolute; width:185px; height:198px; padding:24px; left:calc(50% - 98px); top:26px; background:#fffaf0; border:1px solid #d9c8b5; transform:rotate(5deg); box-shadow:9px 12px 25px #714b3014; }
.edition-sheet small { font-size:8px; color:#9a765e; letter-spacing:1px; }
.edition-sheet b { display:block; font:500 23px/1.6 var(--serif); margin:16px 0; color:#6f3747; }
.edition-sheet i { display:block; height:32px; background:repeating-linear-gradient(transparent 0 14px,#d9c9b7 14px 15px); }
.edition-dialogue { position:absolute; top:31px; left:calc(50% - 115px); width:222px; padding:21px; background:#fbfaf3; border:1px solid #cad2c5; border-radius:9px; transform:rotate(2deg); box-shadow:7px 14px 18px #46553c13; }
.edition-dialogue small { color:#567263; font-size:9px; letter-spacing:1px; }
.edition-dialogue p { font:500 18px/1.65 var(--serif); margin:13px 0; color:#344b3c; }
.edition-dialogue span { display:block; font-size:11px; line-height:1.6; padding:9px 12px; background:#eee6dc; border-radius:7px 7px 0 7px; color:#766756; }
.edition-campaign .campaign-controls { height:44px; padding:0 15px; gap:8px; }
.edition-campaign .campaign-tabs { display:flex; gap:17px; min-width:0; }
.edition-campaign .campaign-tabs button { min-height:44px; white-space:nowrap; font-size:11px; }
.edition-campaign .campaign-tabs button span { margin-right:6px; font-size:9px; }
.edition-campaign .campaign-navigation { border:0; gap:0; }
.edition-campaign .campaign-navigation button { width:30px; height:36px; }
.edition-campaign .campaign-page { margin-right:7px; font-size:10px; white-space:nowrap; }
.edition-print-card { position:relative; display:flex; flex-direction:column; height:290px; overflow:hidden; border:1px solid #ddd1c2; border-radius:10px; text-align:left; color:#4b3134; background:#eee3d1; text-decoration:none; }
.edition-print-card img { width:100%; height:100%; object-fit:cover; object-position:61% 50%; position:absolute; inset:0; transition:transform .5s; }
.edition-print-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#fcf6e8f2 0%,#fcf6e8c7 32%,transparent 66%); }
.edition-print-card .print-card-copy { position:relative; z-index:1; padding:23px; }
.edition-print-card small { font-size:9px; letter-spacing:1.3px; display:block; color:#885d47; margin-bottom:9px; }
.edition-print-card strong { display:block; font:500 25px/1.4 var(--serif); letter-spacing:-.8px; }
.edition-print-card .print-link { position:absolute; z-index:1; bottom:15px; left:16px; right:16px; display:flex; align-items:center; justify-content:space-between; padding:11px 13px; font-size:12px; background:#fffaf3ee; border-radius:5px; }
.edition-print-card:hover img { transform:scale(1.035); }
.edition-print-card:focus-visible { outline:3px solid #822e47; outline-offset:4px; }
.portal-genre-row { margin:12px 0 22px; padding:0; min-height:45px; gap:7px; border-bottom:1px solid #e7e1d7; }
.portal-genre-row button { font-size:12px; padding:11px 14px; gap:7px; }
.portal-genre-row>span { font-size:12px; }
.portal-section { margin:0 0 28px; }
.portal-section-title { margin-bottom:16px; align-items:center; }
.portal-section-title .eyebrow { font-size:10px; margin-bottom:5px; letter-spacing:1px; }
.portal-section-title h2 { font-size:22px; }
.portal-section-title .button { font-size:11px; padding:5px 0; }
.home-shelf { display:grid; grid-template-columns:minmax(0,1fr) 282px; gap:26px; align-items:start; }
.home-shelf .portal-book-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.home-shelf .portal-book-art { height:187px; border-radius:7px; }
.home-shelf .portal-book-art .book-cover { width:105px; height:150px; }
.home-shelf .portal-book-art .cover-title { font-size:16px; }
.home-shelf .portal-book-art .cover-art { width:60px; height:60px; }
.home-shelf .portal-book-art .cover-series { font-size:5px; }
.home-shelf .portal-book-art .cover-author { font-size:6px; }
.portal-book-meta { margin-top:11px; font-size:10px; }
.portal-book .book-title-button { font-size:14px; margin-top:5px; line-height:1.5; }
.portal-book .book-author { font-size:11px; margin-top:3px; }
.portal-book p { font-size:11px; line-height:1.65; margin:7px 0; }
.portal-book .free-note { font-size:10px; }
.shelf-rail { border:1px solid #e3ddd1; border-radius:8px; padding:20px; background:#f6f3ec; }
.shelf-rail>small { color:#8e795d; font-size:9px; letter-spacing:1px; }
.shelf-rail h2 { font:500 19px/1.4 var(--serif); margin:5px 0 14px; }
.shelf-rail button { display:block; width:100%; text-align:left; padding:13px 0; border:0; border-top:1px solid #e5dfd4; background:none; }
.shelf-rail button b { display:block; font-size:12px; margin-bottom:5px; }
.shelf-rail button span { color:#8b8173; font-size:10px; }
.shelf-rail>p { font-size:10px; color:#8b8173; line-height:1.7; margin:13px 0 0; }
.portal-promos { margin:4px 0 28px; gap:18px; }
.portal-promo { padding:21px 23px; min-height:102px; }
.portal-promo strong { font-size:15px; }
.portal-split { gap:26px; margin-top:0; }
.creator-invite { padding:25px; }
.writing-journey { margin-top:25px; padding-top:32px; padding-bottom:30px; }
.journey-heading h2 { font-size:29px; }
.portal-faq { margin-top:20px; padding:28px; }
.portal-founder { margin-top:28px; padding:25px; }
.book-service { color:#403b34; }
.service-crumb { display:inline-flex; gap:7px; align-items:center; font-size:12px; color:#807365; text-decoration:none; margin:0 0 22px; }
.book-service-hero { display:grid; grid-template-columns:1fr 1.04fr; gap:48px; align-items:center; padding:8px 0 38px; border-bottom:1px solid #e0d8cb; }
.book-service-hero .edition-label { color:#8a3c50; letter-spacing:1.8px; }
.book-service-hero h1 { font:500 43px/1.45 var(--serif); letter-spacing:-2px; margin:16px 0; word-break:keep-all; }
.book-service-hero h1 em { display:block; font-style:normal; color:#822e47; }
.book-service-hero p { font-size:14px; line-height:1.95; color:#716659; word-break:keep-all; max-width:400px; }
.service-photo { margin:0; }
.service-photo img { display:block; width:100%; height:340px; object-fit:cover; border-radius:8px; }
.service-photo figcaption { font-size:10px; color:#918575; text-align:right; margin-top:8px; }
.service-status { display:inline-block; font-size:11px; padding:7px 11px; border:1px solid #d8c6b9; color:#885e4c; border-radius:30px; margin:5px 0 15px; }
.service-section { padding:39px 0; border-bottom:1px solid #e3ddd3; }
.service-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }
.service-section h2 { font:500 27px/1.5 var(--serif); margin:0; }
.service-section-heading>p { font-size:12px; color:#8c7e6d; margin:0; }
.book-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:0; list-style:none; counter-reset:booksteps; }
.book-steps li { border-top:2px solid #c4b89e; padding-top:18px; }
.book-steps small { font-size:11px; letter-spacing:1.3px; color:#a0815f; }
.book-steps h3 { font:500 22px/1.5 var(--serif); margin:12px 0 8px; color:#6f3445; }
.book-steps p { font-size:13px; line-height:1.9; color:#776c5f; margin:0; word-break:keep-all; }
.service-review { display:grid; grid-template-columns:.85fr 1.15fr; gap:50px; }
.service-review>div>p { font-size:14px; line-height:1.9; color:#776c5f; }
.review-points { margin:0; padding:0; list-style:none; }
.review-points li { display:grid; grid-template-columns:130px 1fr; gap:18px; padding:17px 0; border-bottom:1px solid #e7e0d4; }
.review-points b { font-size:13px; color:#4b5448; }
.review-points span { font-size:12px; line-height:1.8; color:#776c5f; }
.book-service details { border-bottom:1px solid #e3ddd3; padding:18px 0; }
.book-service summary { font-size:14px; cursor:pointer; }
.book-service details p { font-size:13px; line-height:1.9; color:#776c5f; max-width:840px; }
.service-cta { margin-top:32px; padding:28px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; background:#eee8dc; border-radius:8px; }
.service-cta h2 { font:500 24px/1.5 var(--serif); margin:0 0 5px; }
.service-cta p { font-size:12px; color:#7b6d5e; margin:0; }
@media(min-width:1600px) { .portal-mode .portal-main { max-width:1280px; } }
@media(max-width:1100px) {
  .edition-lead { grid-template-columns:minmax(0,1fr) 240px; gap:14px; }
  .edition-copy { padding-left:23px; }
  .edition-copy h1,.edition-copy h2 { font-size:25px; }
  .edition-campaign .campaign-tabs { gap:10px; }
  .edition-campaign .campaign-tabs button span { display:none; }
  .home-shelf { grid-template-columns:minmax(0,1fr) 240px; gap:20px; }
  .home-shelf .portal-book-grid { gap:13px; }
  .home-shelf .portal-book-art { height:168px; }
  .home-shelf .portal-book-art .book-cover { width:94px; height:135px; }
}
@media(max-width:800px) {
  .portal-mode .portal-main { padding:16px 18px 28px; }
  .portal-top { padding:14px 18px; }
  .portal-nav-wrap { padding-left:18px; padding-right:18px; }
  .portal-nav { gap:22px; }
  .portal-welcome>span:last-child { display:none; }
  .edition-lead { grid-template-columns:1fr; gap:12px; }
  .edition-print-card { height:92px; border-radius:7px; }
  .edition-print-card img { width:42%; left:auto; object-position:center; }
  .edition-print-card::after { background:linear-gradient(90deg,#f3ebdf 0 52%,transparent 82%); }
  .edition-print-card .print-card-copy { padding:15px 18px; }
  .edition-print-card small { margin-bottom:4px; font-size:8px; }
  .edition-print-card strong { font-size:20px; }
  .edition-print-card strong br { display:none; }
  .edition-print-card .print-link { background:none; padding:0; bottom:12px; left:18px; right:auto; gap:10px; font-size:10px; }
  .home-shelf { grid-template-columns:1fr; }
  .shelf-rail { display:none; }
  .home-shelf .portal-book-art { height:190px; }
  .home-shelf .portal-book-art .book-cover { width:105px; height:150px; }
  .book-service-hero { gap:24px; }
  .book-service-hero h1 { font-size:32px; }
  .service-photo img { height:300px; }
  .service-review { gap:30px; }
}
@media(max-width:520px) {
  .portal-mode .portal-main { padding:13px 16px 26px; }
  .portal-top { padding:14px 16px 10px; gap:10px; }
  .portal-nav-wrap { padding:0 16px; }
  .portal-nav { gap:21px; }
  .portal-nav button { min-height:43px; font-size:12px; white-space:nowrap; }
  .portal-welcome { font-size:10px; margin-bottom:10px; }
  .edition-campaign .campaign-slide { height:222px; min-height:222px; grid-template-columns:62% 38%; }
  .edition-copy { padding:23px 0 18px 19px; }
  .edition-label { font-size:8px; letter-spacing:.7px; margin-bottom:10px; }
  .edition-copy h1,.edition-copy h2 { font-size:23px; letter-spacing:-1px; line-height:1.45; margin-bottom:10px; }
  .edition-copy p { font-size:10px; line-height:1.65; margin-bottom:14px; }
  .edition-copy p br { display:none; }
  .edition-copy .button { min-height:34px; padding:8px 11px; font-size:10px; gap:6px; }
  .edition-art { opacity:.85; }
  .edition-art .book-cover { width:85px; height:131px; left:calc(50% - 18px); top:47px; }
  .edition-art .book-cover:nth-last-child(2) { left:calc(50% - 70px); top:67px; }
  .edition-art .cover-title { font-size:13px; }
  .edition-art .cover-art { width:47px; height:47px; }
  .edition-art .cover-author { font-size:5px; }
  .edition-orbit { width:150px; height:150px; top:40px; left:calc(50% - 80px); }
  .edition-sheet { width:120px; height:164px; top:33px; left:calc(50% - 49px); padding:17px; }
  .edition-sheet small { font-size:6px; }
  .edition-sheet b { font-size:19px; margin:14px 0; }
  .edition-dialogue { width:140px; left:calc(50% - 55px); top:42px; padding:14px; }
  .edition-dialogue p { font-size:15px; }
  .edition-dialogue span { font-size:9px; padding:8px; }
  .edition-campaign .campaign-controls { display:flex; flex-direction:row; height:44px; padding:0 10px; }
  .edition-campaign .campaign-tabs { gap:10px; }
  .edition-campaign .campaign-tabs button { font-size:9px; min-height:44px; }
  .edition-campaign .campaign-navigation { display:flex; width:auto; }
  .edition-campaign .campaign-navigation button { width:26px; height:36px; }
  .edition-campaign .campaign-page { display:none; }
  .portal-genre-row { margin:8px 0 19px; gap:0; min-height:42px; overflow-x:auto; flex-wrap:nowrap; }
  .portal-genre-row button { padding:10px 9px; font-size:11px; white-space:nowrap; }
  .portal-genre-row button .icon { width:13px; height:13px; }
  .portal-genre-row>span { display:none; }
  .portal-section-title h2 { font-size:19px; }
  .portal-section-title .eyebrow { font-size:9px; }
  .home-shelf .portal-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
  .home-shelf .portal-book-art { height:178px; }
  .home-shelf .portal-book-art .book-cover { width:99px; height:143px; }
  .portal-promos { gap:10px; margin:0 0 23px; }
  .portal-promo { padding:17px; min-height:93px; }
  .portal-promo strong { font-size:13px; }
  .portal-split { gap:20px; }
  .portal-faq { padding:20px; }
  .book-service-hero { grid-template-columns:1fr; gap:23px; padding-bottom:28px; }
  .book-service-hero h1 { font-size:34px; margin-top:11px; }
  .book-service-hero p { font-size:13px; }
  .service-photo img { height:auto; aspect-ratio:3/2; }
  .service-crumb { margin-bottom:14px; }
  .service-section { padding:28px 0; }
  .service-section h2 { font-size:23px; }
  .service-section-heading { display:block; margin-bottom:20px; }
  .service-section-heading>p { margin-top:8px; }
  .book-steps { grid-template-columns:1fr; gap:24px; }
  .book-steps h3 { font-size:21px; margin:7px 0; }
  .service-review { grid-template-columns:1fr; gap:10px; }
  .review-points li { grid-template-columns:90px 1fr; gap:12px; }
  .service-cta { display:block; padding:22px; }
  .service-cta h2 { font-size:21px; }
  .service-cta .button { margin-top:18px; }
}
@media(max-width:350px) {
  .portal-mode .portal-main { padding-left:12px; padding-right:12px; }
  .edition-copy { padding-left:16px; }
  .edition-copy h1,.edition-copy h2 { font-size:21px; }
  .edition-campaign .campaign-tabs { gap:8px; }
  .edition-campaign .campaign-navigation button { width:24px; }
  .portal-genre-row button { padding-left:7px; padding-right:7px; }
}
@media(prefers-reduced-motion:reduce) { .edition-print-card img { transition:none; } }
/* --- T_TASTE_EDITION_PORTAL_V2_20261003 end --- */
