:root{--jade:#123a33;--jade-2:#1c4a41;--celadon:#e8eee6;--paper:#f6f8f3;--ink:#18211f;--muted:#56615e;--seal:#b8322a;--seal-dark:#8f231d;--gold:#d9b45b;--line:#c9d3c8;--display:"Young Serif",Georgia,serif;--body:"Figtree",system-ui,sans-serif;--han:"Noto Serif SC","Songti SC",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--celadon);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.han{font-family:var(--han)}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;margin:0}h2{font-size:clamp(30px,4vw,44px);max-width:18ch}p{margin:0 0 1em}.hdr{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(18,58,51,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eaf1ec}.hdr .wrap{justify-content:space-between;height:64px}.brand,.hdr .wrap{display:flex;align-items:center}.brand{gap:12px;text-decoration:none;font-family:var(--display);font-size:21px}.seal{width:36px;height:36px;background:var(--seal);color:#fff4ea;display:grid;place-items:center;border-radius:5px;font-family:var(--han);font-size:14px;line-height:1.05;text-align:center;box-shadow:inset 0 0 0 2px hsla(0,0%,100%,.18)}.nav{display:flex;gap:26px;align-items:center;font-size:15px}.nav a{text-decoration:none;opacity:.85}.nav .btn,.nav a:hover{opacity:1}@media (max-width:760px){.nav a:not(.btn){display:none}}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--seal);color:#fff;border:0;border-radius:6px;padding:14px 22px;font:600 16px var(--body);text-decoration:none;cursor:pointer;transition:background .15s}.btn:hover{background:var(--seal-dark)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn.small{padding:9px 16px;font-size:14px}.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}.price{font-family:var(--display);font-size:30px}.hero{background:radial-gradient(1200px 600px at 75% 40%,#1f5549 0,var(--jade) 60%);color:#eef4ef;overflow:hidden;position:relative}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:40px;gap:40px;align-items:center;min-height:calc(100vh - 64px);padding-top:40px;padding-bottom:60px}.hero h1{font-size:clamp(40px,5.6vw,72px);max-width:13ch}.hero .lede{font-size:19px;max-width:44ch;color:#cfded6;margin:22px 0 30px}.hero .buy{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero .note{font-size:14px;color:#a9c0b6;margin-top:18px}.hero .ghostchar{position:absolute;left:-2vw;bottom:-6vw;font-family:var(--han);font-size:34vw;line-height:1;color:hsla(0,0%,100%,.03);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-book{display:flex;justify-content:center}@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;min-height:auto;padding-top:48px}.hero-book{order:-1}}.scene{position:relative;perspective:1700px;--w:340px;--t:26px;cursor:pointer;padding:30px}.scene.big{--w:min(400px,70vw)}.scene.sm{--w:220px;--t:18px;padding:18px}.book{position:relative;width:var(--w);aspect-ratio:var(--ar,.7077);transform-style:preserve-3d;transform:rotateY(calc(-24deg + var(--ry,0deg))) rotateX(var(--rx,0deg));transition:transform .5s cubic-bezier(.2,.7,.2,1)}.scene.hover .book{transition:transform .12s ease-out}.book>*{position:absolute}.cover{inset:0;transform-origin:left center;transform-style:preserve-3d;transform:translateZ(calc(var(--t)/2));transition:transform 1s cubic-bezier(.3,.1,.2,1)}.cover .endpaper,.cover .front{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:2px 5px 5px 2px;overflow:hidden}.cover .front img{width:100%;height:100%;object-fit:cover}.cover .front:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),hsla(0,0%,100%,.12) 2.2%,rgba(0,0,0,.05) 4%,transparent 7%);z-index:2}.cover .shine{mix-blend-mode:soft-light;background:radial-gradient(360px circle at var(--mx,50%) var(--my,30%),rgba(255,245,215,.55),rgba(255,225,150,.14) 38%,transparent 62%)}.cover .foil,.cover .shine{position:absolute;inset:0;z-index:3;opacity:0;transition:opacity .3s}.cover .foil{mix-blend-mode:color-dodge;background:linear-gradient(115deg,transparent 30%,rgba(217,180,91,.22) 45%,hsla(0,0%,100%,.28) 50%,rgba(217,180,91,.2) 55%,transparent 70%);background-size:250% 250%;background-position:var(--fx,50%) 50%}.scene.hover .foil,.scene.hover .shine{opacity:1}.cover .endpaper{transform:rotateY(180deg);background:#efe6d6 radial-gradient(circle at 50% 45%,#f8f1e3,#e7dcc8);display:grid;place-items:center}.cover .endpaper .seal{width:64px;height:64px;font-size:22px}.inside{inset:1% 1% 1% 0;transform:translateZ(calc(var(--t)/2 - 2px));background:#fff;overflow:hidden;border-radius:0 4px 4px 0}.inside img{width:100%;height:100%;object-fit:cover;opacity:.96}.pages{top:1%;height:98%;right:0;transform:translateX(50%) rotateY(90deg);background:repeating-linear-gradient(90deg,#fdfcf8 0 1px,#e6e1d6 1px 2px);box-shadow:inset 0 0 6px rgba(0,0,0,.15)}.pages,.spine{width:var(--t)}.spine{top:0;left:0;height:100%;transform:translateX(-50%) rotateY(-90deg);background:linear-gradient(90deg,#6f1612,#9e1b1f 40%,#7c1714)}.back{inset:0;transform:translateZ(calc(var(--t)/-2)) rotateY(180deg);background:#7c1714;border-radius:5px 2px 2px 5px}.shadow{left:6%;right:-4%;bottom:-7%;height:9%;background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent);transform:rotateX(90deg) translateZ(calc(var(--w)*-.02));filter:blur(4px)}.scene.open .cover{transform:translateZ(calc(var(--t)/2)) rotateY(-158deg)}.scene.open .book{transform:rotateY(-6deg) rotateX(4deg)}.glitter{position:absolute;left:-40px;top:-40px;width:calc(100% + 80px);height:calc(100% + 80px);pointer-events:none;z-index:5}.scene .hint{position:absolute;left:0;right:0;bottom:-6px;text-align:center;font-size:13px;opacity:.6}@media (prefers-reduced-motion:reduce){.book,.cover{transition:none!important}}section{padding:96px 0}.sec-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px;flex-wrap:wrap}.sec-head p{max-width:46ch;color:var(--muted);margin:0}.strip{display:flex;gap:22px;overflow-x:auto;padding:6px max(24px,calc((100vw - 1160px)/2 + 24px)) 26px;scroll-padding-left:max(24px,calc((100vw - 1160px)/2 + 24px));scroll-snap-type:x mandatory;scrollbar-width:thin}.strip button{flex:0 0 auto;width:230px;border:0;padding:0;background:none;cursor:zoom-in;scroll-snap-align:start;text-align:left;font:inherit;color:inherit}.strip img{width:230px;aspect-ratio:900/1272;object-fit:cover;box-shadow:0 1px 0 var(--line),0 14px 30px -18px rgba(18,58,51,.5);background:#fff;transition:transform .2s}.strip button:hover img{transform:translateY(-4px)}.strip span{display:block;font-size:14px;color:var(--muted);margin-top:10px}.lightbox{position:fixed;inset:0;background:rgba(10,24,21,.92);z-index:50;display:grid;place-items:center;padding:30px}.lightbox img{max-height:88vh;width:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.lightbox .lb-close{position:absolute;top:18px;right:22px}.lightbox .lb-next,.lightbox .lb-prev{position:absolute;top:50%;transform:translateY(-50%)}.lightbox .lb-prev{left:18px}.lightbox .lb-next{right:18px}.lightbox .btn{background:hsla(0,0%,100%,.12)}.toc{background:var(--paper);border:1px solid var(--line);padding:38px 44px;column-count:2;column-gap:56px}.toc li{list-style:none;display:flex;align-items:baseline;gap:10px;page-break-inside:avoid;break-inside:avoid;padding:7px 0}.toc ol{margin:0;padding:0}.toc .no{font-family:var(--display);color:var(--seal);width:24px;flex:none}.toc .t{flex:none;max-width:78%}.toc .t small{display:block;font-family:var(--han);color:var(--muted);font-size:14px}.toc .dots{flex:1 1;border-bottom:1.5px dotted #9aa8a2;transform:translateY(-5px)}.toc .pg{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:15px}.toc .part{color:var(--jade);font-weight:600}@media (max-width:760px){.toc{column-count:1;padding:26px 20px}}.get{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:64px;gap:64px;align-items:start}.get dl{margin:0}.get dt{font-family:var(--display);font-size:22px}.get dl>div+div{margin-top:26px}.get dd{margin:6px 0 0;color:var(--muted);max-width:52ch}.bundle{background:var(--jade);color:#eaf2ed;padding:32px;border-radius:10px;position:-webkit-sticky;position:sticky;top:90px}.bundle h3{font-size:26px;margin-bottom:18px}.file{display:flex;gap:14px;align-items:center;padding:14px 0;border-top:1px solid hsla(0,0%,100%,.14)}.file .ico{width:38px;height:46px;border-radius:4px;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.5px;flex:none}.file .pdf{background:var(--seal)}.file .zip{background:var(--gold);color:var(--jade)}.file small{display:block;color:#a9c0b6}.bundle .btn{width:100%;justify-content:center;margin-top:20px}@media (max-width:900px){.get{grid-template-columns:1fr}.bundle{position:static}}.faq{max-width:780px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:var(--display);font-size:21px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:"+";color:var(--seal);font-size:26px;line-height:1}.faq details[open] summary:after{content:"−"}.faq p{color:var(--muted);margin:12px 0 0;max-width:62ch}.closing{background:var(--jade);color:#eaf2ed}.closing .wrap{display:grid;grid-template-columns:auto 1fr;grid-gap:56px;gap:56px;align-items:center}.closing p{color:#c3d6cc;max-width:48ch}@media (max-width:760px){.closing .wrap{grid-template-columns:1fr}}.ftr{background:#0e2e28;color:#a9c0b6;font-size:14px;padding:44px 0}.ftr .wrap{justify-content:space-between;gap:30px}.ftr .wrap,.ftr nav{display:flex;flex-wrap:wrap}.ftr nav{gap:20px}.ftr a{text-decoration:none}.ftr a:hover{color:#fff}.ftr .disc{max-width:60ch;margin-top:10px}.page{padding:72px 0 96px}.page .wrap{max-width:760px}.page h1{font-size:clamp(34px,4.5vw,48px);margin-bottom:22px}.page h2{font-size:24px;margin:34px 0 10px;max-width:none}.page li,.page p{color:#34403d}.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:28px}.dl-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.dl-row:first-of-type{border-top:0}.muted{color:var(--muted)}input[type=email]{font:inherit;padding:13px 14px;border:1.5px solid var(--line);border-radius:6px;width:100%;max-width:380px;background:#fff}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--seal);border-radius:50%;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle;margin-right:10px}@keyframes spin{to{transform:rotate(1turn)}}.pdp{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:56px;gap:56px;align-items:center;padding:56px 0 30px}.pdp h1{font-size:clamp(36px,4.6vw,56px)}.pdp .sub{font-size:19px;color:var(--muted);margin:14px 0 26px}.pdp ul{padding-left:20px;color:#34403d}.pdp li{margin:6px 0}@media (max-width:900px){.pdp{grid-template-columns:1fr}}body{background:var(--celadon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.2 0 0 0 0 0.18 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.floater{animation:float 6s ease-in-out infinite;transform-style:preserve-3d}@keyframes float{0%,to{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-14px) rotate(.6deg)}}.scene.hover .floater,.scene.open .floater{animation-play-state:paused}.halo{position:absolute;left:50%;top:48%;width:calc(var(--w)*1.6);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(217,180,91,.35),rgba(184,50,42,.12) 45%,transparent 70%);filter:blur(8px);animation:pulse 5s ease-in-out infinite;pointer-events:none}@keyframes pulse{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(.95)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.cover .sweep{position:absolute;inset:0;z-index:4;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(105deg,transparent 35%,rgba(255,240,200,.55) 48%,hsla(0,0%,100%,.75) 50%,rgba(255,240,200,.5) 52%,transparent 65%);background-size:300% 100%;animation:sweep 5.5s ease-in-out infinite}@keyframes sweep{0%,55%{background-position:120% 0}85%,to{background-position:-60% 0}}.scene.hover .sweep{animation:none;opacity:0}.scene.intro .floater{animation:rise 1.4s cubic-bezier(.2,.8,.2,1) both,float 6s ease-in-out 1.4s infinite}@keyframes rise{0%{opacity:0;transform:translateY(60px) rotateY(40deg) scale(.9)}to{opacity:1;transform:none}}.scene.hover .book{transform:rotateY(calc(-18deg + var(--ry,0deg))) rotateX(var(--rx,0deg)) scale(1.04)}.hero .dust{width:100%;height:100%}.floating-han,.hero .dust{position:absolute;inset:0;pointer-events:none}.floating-han{overflow:hidden}.floating-han span{position:absolute;font-family:var(--han);color:hsla(43,73%,68%,.16);animation:drift linear infinite}@keyframes drift{0%{transform:translateY(20vh) rotate(-8deg);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateY(-110vh) rotate(8deg);opacity:0}}.hero h1 .ln{display:block;overflow:hidden}.hero h1 .ln>span{display:inline-block;animation:up .9s cubic-bezier(.2,.8,.2,1) both}.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}.hero h1 .zh{font-family:var(--han);color:var(--gold);text-shadow:0 0 30px rgba(217,180,91,.35)}@keyframes up{0%{transform:translateY(105%)}to{transform:none}}.hero .buy,.hero .lede,.hero .note,.hero .stamp{animation:fade 1s ease .45s both}@keyframes fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.stamp{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:6px 14px 6px 6px;border:1px solid rgba(217,180,91,.45);border-radius:40px;font-size:14px;color:#e9d9a8}.stamp b{background:var(--seal);color:#fff;border-radius:30px;padding:3px 10px;font-weight:600}.hero .btn:not(.ghost){box-shadow:0 10px 30px -8px rgba(184,50,42,.7);position:relative;overflow:hidden}.hero .btn:not(.ghost):after,.pricecard .btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,hsla(0,0%,100%,.35) 50%,transparent 70%);background-size:250% 100%;animation:sweep 4s ease-in-out infinite}.pricecard .btn,.ribbon{position:relative;overflow:hidden}.ribbon{background:var(--seal);color:#fff4ea;padding:0;border-block:3px solid var(--gold);transform:rotate(-1.2deg);margin:-18px -20px 0;z-index:3;box-shadow:0 12px 30px -12px rgba(0,0,0,.35)}.ribbon .track{display:flex;width:max-content;animation:marquee 38s linear infinite}.ribbon .item{display:flex;align-items:baseline;gap:10px;padding:16px 28px;white-space:nowrap}.ribbon .item b{font-family:var(--han);font-size:24px;font-weight:500}.ribbon .item i{font-style:normal;color:#ffd9b8;font-size:15px}.ribbon .item:after{content:"✦";color:var(--gold);margin-left:28px}@keyframes marquee{to{transform:translateX(-50%)}}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:34px 20px;text-align:center;position:relative}.stats div+div{border-left:1px solid var(--line)}.stats .n{font-family:var(--display);font-size:clamp(44px,6vw,72px);color:var(--seal);line-height:1}.stats .l{color:var(--muted);font-size:15px;margin-top:8px}@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(3){border-left:0}}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}[data-reveal].in{opacity:1;transform:none}[data-reveal="2"]{transition-delay:.12s}[data-reveal="3"]{transition-delay:.24s}.strip{padding-top:30px;padding-bottom:50px;perspective:1200px}.strip button:nth-child(odd) img{transform:rotate(-2.5deg)}.strip button:nth-child(2n) img{transform:rotate(2deg) translateY(8px)}.strip button img{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.strip button:hover img{transform:rotate(0) translateY(-14px) scale(1.04);box-shadow:0 30px 50px -20px rgba(18,58,51,.55),0 0 0 3px var(--gold)}.toc{position:relative;box-shadow:0 30px 60px -40px rgba(18,58,51,.45)}.toc:before{content:"目录";position:absolute;right:26px;top:-22px;font-family:var(--han);font-size:28px;background:var(--seal);color:#fff;padding:4px 12px;border-radius:4px;transform:rotate(3deg)}.toc li{transition:background .2s,padding .2s;border-radius:4px}.toc li:not(.part):hover{background:rgba(184,50,42,.06);padding-left:8px}.toc .no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--seal);font-size:14px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.tile{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.tile:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px rgba(18,58,51,.6);border-color:var(--gold)}.tile:after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(closest-side,rgba(217,180,91,.28),transparent);transition:transform .4s}.tile:hover:after{transform:scale(1.8)}.tile svg{width:44px;height:44px;color:var(--seal);margin-bottom:16px}.tile h3{font-size:22px;margin-bottom:8px}.tile p{color:var(--muted);margin:0;font-size:16px}@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}@media (max-width:600px){.tiles{grid-template-columns:1fr}}.pricing{background:radial-gradient(900px 500px at 20% 50%,#1f5549,var(--jade) 70%);color:#eaf2ed;position:relative;overflow:hidden}.pricing .wrap{display:grid;grid-template-columns:auto 1fr;grid-gap:60px;gap:60px;align-items:center}.pricecard{position:relative;border-radius:18px;padding:34px;background:rgba(10,36,31,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:520px}.pricecard:before{content:"";position:absolute;inset:-2px;border-radius:20px;padding:2px;background:conic-gradient(from var(--ang,0deg),#d9b45b,#fff0c4,#b8322a,#d9b45b,#fff0c4,#d9b45b);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin-b 6s linear infinite}@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes spin-b{to{--ang:360deg}}.pricecard .big{font-family:var(--display);font-size:64px;line-height:1;color:#fff}.pricecard .big small{font-size:18px;color:#a9c0b6;margin-left:8px;font-family:var(--body)}.pricecard .btn{width:100%;justify-content:center;margin-top:22px;font-size:18px;padding:16px}.pricecard .seal{position:absolute;right:-18px;top:-18px;width:74px;height:74px;font-size:22px;transform:rotate(12deg);box-shadow:0 10px 24px rgba(0,0,0,.35)}@media (max-width:900px){.pricing .wrap{grid-template-columns:1fr;justify-items:center}}.faq details{transition:background .2s;padding-left:12px;padding-right:12px;border-radius:8px}.faq details[open]{background:var(--paper)}.faq summary:after{transition:transform .3s}.faq details[open] summary:after{transform:rotate(180deg)}.clouds{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='120' viewBox='0 0 220 120'%3E%3Cpath d='M20 80c0-14 12-24 26-22 4-12 18-18 30-12 8-10 26-8 30 6 14-2 24 10 20 22' fill='none' stroke='%23123a33' stroke-opacity='.06' stroke-width='3' stroke-linecap='round'/%3E%3Ccircle cx='150' cy='40' r='10' fill='none' stroke='%23123a33' stroke-opacity='.05' stroke-width='3'/%3E%3C/svg%3E")}@media (prefers-reduced-motion:reduce){.cover .sweep,.floater,.floating-han span,.halo,.pricecard:before,.ribbon .track{animation-duration:0s!important;animation-iteration-count:1!important}}body,html{overflow-x:clip}.floater{perspective:1700px}.halo{background:radial-gradient(closest-side,rgba(217,180,91,.5),rgba(184,50,42,.18) 45%,transparent 72%);background:radial-gradient(closest-side,rgba(217,180,91,.28),rgba(184,50,42,.12) 45%,transparent 72%)}.books{display:grid;grid-template-columns:1fr 1fr;grid-gap:34px;gap:34px}.bookcard{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px 28px 30px;display:grid;grid-template-columns:auto 1fr;grid-gap:10px 22px;gap:10px 22px;align-items:center;transition:box-shadow .3s,border-color .3s}.bookcard:hover{box-shadow:0 30px 60px -36px rgba(18,58,51,.55);border-color:var(--gold)}.bookcard h3{font-size:26px;margin-bottom:6px}.bookcard h3 a{text-decoration:none}.bookcard p{color:var(--muted);font-size:16px;margin:0 0 14px}.bookcard .row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bookcard .price{font-size:26px}.tag{display:inline-block;font-size:13px;background:rgba(184,50,42,.1);color:var(--seal);border-radius:20px;padding:3px 10px;margin-bottom:10px}@media (max-width:980px){.books{grid-template-columns:1fr}}@media (max-width:560px){.bookcard{grid-template-columns:1fr;justify-items:center;text-align:center}.bookcard .row{justify-content:center}}.bundle-banner{margin-top:34px;background:var(--jade);color:#eaf2ed;border-radius:18px;padding:26px 34px;display:grid;grid-template-columns:auto 1fr auto;grid-gap:30px;gap:30px;align-items:center;position:relative;overflow:hidden}.bundle-banner .duo{display:flex;align-items:center}.bundle-banner .duo .scene{margin-left:-70px}.bundle-banner .duo .scene:first-child{margin-left:0}.bundle-banner h3{font-size:28px;margin-bottom:6px}.bundle-banner p{color:#c3d6cc;margin:0}.bundle-banner .old{text-decoration:line-through;color:#8fa89d;margin-right:8px;font-size:18px}@media (max-width:900px){.bundle-banner{grid-template-columns:1fr;justify-items:center;text-align:center}}.duo-pdp{display:flex;justify-content:center}.duo-pdp .scene+.scene{margin-left:-90px}section[id]{scroll-margin-top:72px}