:root{--ink:#171d31;--navy:#12182c;--paper:#f9f7f1;--gold:#ebbc64;--muted:#555b6c;--line:#e3dfd5;--white:#fffdf8;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ac7423;outline-offset:4px}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:12px;z-index:3}.skip:focus{top:0}.announcement{text-align:center;background:#edc879;color:#261e18;padding:7px 12px;font-size:.76rem;letter-spacing:.07em;font-weight:750}.announcement span{margin:0 10px}.site-header{background:var(--white)}.nav,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;gap:11px;align-items:center;font-weight:800;line-height:1.12;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--navy);color:#f3cb7d;width:43px;height:43px;border-radius:12px;font: bold 19px Georgia,serif}.brand small{display:block;font-size:.55rem;letter-spacing:.13em;margin-top:5px;color:var(--muted)}nav{display:flex;gap:30px;font-size:.9rem;font-weight:650}nav a:hover{color:#8d5c20}.cart-button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);border-radius:12px;padding:8px 11px;color:var(--ink);font-weight:700}.cart-button svg,.search svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cart-button b{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:50px;background:#eadab5;font-size:.72rem}
.hero{background:radial-gradient(ellipse at 80% 42%,#2c2b47 0%,#171d34 45%,var(--navy) 76%);color:var(--white);overflow:hidden}.hero-inner{min-height:480px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:55px 0}.eyebrow{display:flex;align-items:center;gap:9px;font-size:.73rem;letter-spacing:.16em;font-weight:800;color:#825615;margin:0 0 14px}.eyebrow span{width:17px;height:1px;background:currentColor}.hero .eyebrow{color:#f2cb86}.hero h1,h2{font-family:Georgia,serif;line-height:1.05;letter-spacing:-.042em;margin:0}.hero h1{font-size:clamp(3.25rem,6vw,6rem);font-weight:500}.hero h1 em{font-weight:500;color:#efc478}.hero-copy>p:not(.eyebrow){color:#deddec;max-width:420px;margin:20px 0 26px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;gap:13px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:10px 16px;min-height:46px;font-size:.88rem;font-weight:800;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.primary{background:#efc478;color:#201a21}.primary:hover{background:#f5d394}.outline{border-color:#686c80;color:#fff}.outline:hover{background:#2e354d}.hero-art{position:relative;justify-self:center;width:400px;height:338px;isolation:isolate}.orbit{position:absolute;inset:12px 28px;border:1px solid #b89c6548;border-radius:50%;box-shadow:0 0 0 24px #c9ac6d12,0 0 0 48px #c9ac6d0b}.spark{position:absolute;color:#e9bd6d;font-size:27px}.one{left:16px;top:54px}.two{right:12px;top:43px}.three{right:14px;bottom:70px}.book{position:absolute;width:185px;height:247px;border-radius:8px 13px 13px 8px;display:flex;flex-direction:column;align-items:flex-start;padding:20px;box-shadow:9px 14px 28px #05071183;border:1px solid #ffffff45;border-left:8px solid #ffffff30}.book span,.book i{font-size:9px;font-weight:800;letter-spacing:.13em;font-style:normal}.book b{font:37px/.98 Georgia,serif;margin-top:22px}.book i{margin-top:auto}.back{top:41px;left:170px;transform:rotate(16deg);background:#c18054;color:#28170e}.front{top:30px;left:83px;transform:rotate(-12deg);background:linear-gradient(145deg,#e9d8a5,#b7c1aa);color:#202c29}.molecule{font:76px/.8 Georgia,serif;align-self:flex-end;color:#466359;margin-top:5px}.art-label{position:absolute;bottom:22px;right:3px;background:#fff7e7;color:#262334;border-radius:13px;padding:10px 14px;display:flex;gap:10px;align-items:center;font-size:.85rem;font-weight:800;box-shadow:0 8px 30px #06081055}.art-label span{display:grid;place-items:center;background:#ead7b4;border-radius:9px;width:34px;height:34px}.art-label small{display:block;font-size:.69rem;color:#4e4d5a;font-weight:550}
.benefit-bar{background:#f0eadb;border-bottom:1px solid #e6ddca}.benefits{display:flex;justify-content:space-around;gap:12px;padding:15px 0;font-size:.82rem;font-weight:750}.benefits b{color:#8b5f21;margin-right:7px}.catalog{padding:61px 0 44px;scroll-margin-top:16px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.section-head h2,.order-box h2{font-size:clamp(2.3rem,4vw,3.6rem);font-weight:500}.section-head p:last-child{margin:12px 0 0;color:var(--muted)}.search{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:0 12px;min-height:46px;width:min(290px,100%);color:var(--muted)}.search input{border:0;background:none;width:100%;color:var(--ink);padding:8px 0;font-size:.86rem}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0}.filters button{padding:7px 13px;border-radius:40px;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:.82rem;font-weight:750}.filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.results{font-size:.8rem;color:var(--muted);margin:15px 0 11px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--white);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #2e263416}.cover{height:164px;background:var(--cover-bg);display:grid;place-items:center;position:relative;overflow:hidden}.cover:before,.cover:after{content:"";position:absolute;width:175px;height:175px;border:1px solid #fff7;border-radius:50%;right:-31px;top:-37px}.cover:after{width:211px;height:211px;right:-50px;top:-54px}.mini-book{z-index:1;display:flex;flex-direction:column;justify-content:space-between;width:116px;height:132px;background:var(--cover-ink);color:#fff8ed;border-left:5px solid #ffffff32;border-radius:4px 8px 8px 4px;padding:10px;transform:rotate(-9deg);box-shadow:9px 13px 21px #17182c42}.mini-book small{font-size:.48rem;letter-spacing:.08em;font-weight:800}.mini-book strong{font:17px/1.05 Georgia,serif}.mini-book i{font:19px/1 Georgia,serif;align-self:flex-end;color:#efc478}.card-body{padding:15px;display:flex;flex-direction:column;flex:1}.tag{font-size:.65rem;letter-spacing:.1em;font-weight:800;color:#785019}.card h3{font-size:1.09rem;line-height:1.24;margin:7px 0 4px}.card p{font-size:.82rem;color:var(--muted);margin:0 0 14px}.card-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}.card-actions button{border:0;background:none;padding:5px 0;text-align:left;color:var(--ink);font-size:.88rem;font-weight:750;text-decoration:underline;text-underline-offset:4px}.card-actions .add{background:#efeadc;border-radius:8px;padding:7px 11px;text-decoration:none}.card-actions .add:hover{background:#ecd6a7}.price{display:block;font-weight:800;margin:auto 0 7px;font-size:.9rem}.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:12px;padding:20px;color:var(--muted);margin:0}.order-section{padding-bottom:45px}.order-box{background:#eee7d7;border-radius:16px;padding:24px}.order-box h2{font-size:2.2rem}.order-box ol{padding-left:20px;margin-bottom:0}.order-box li+li{margin-top:5px}footer{border-top:1px solid var(--line);background:var(--white);font-size:.85rem}
dialog{color:var(--ink);border:0;background:var(--white);box-shadow:0 12px 70px #070a2460}dialog::backdrop{background:#0a102ba8}body:has(dialog[open]){overflow:hidden}.drawer{inset:0 0 0 auto;margin:0;width:min(440px,100%);max-width:100%;height:100%;max-height:100%;padding:21px}.details{width:min(480px,calc(100% - 28px));border-radius:16px;padding:20px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.dialog-head h2{font-size:2rem}.close{border:1px solid var(--line);background:transparent;border-radius:9px;min-width:42px;min-height:42px;font-size:23px}.cart-row{border-bottom:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:9px;align-items:center}.cart-row small{display:block;color:var(--muted)}.quantity{display:flex;align-items:center;gap:5px;white-space:nowrap}.quantity button{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:32px;min-height:34px}.remove{border:0;background:none;text-decoration:underline;padding:5px;color:var(--ink);font-size:.76rem}.checkout-note{font-size:.84rem;color:var(--muted)}#cart-summary>.button{width:100%}.toast{position:fixed;z-index:2;bottom:18px;left:50%;transform:translateX(-50%);border-radius:9px;color:#fff;background:var(--navy);padding:9px 14px;box-shadow:0 4px 14px #13132a42;font-size:.86rem;text-align:center;width:max-content;max-width:calc(100% - 24px)}.toast:empty{visibility:hidden}
@media(max-width:850px){.hero-art{width:330px;transform:scale(.87);transform-origin:center right}.book.front{left:54px}.book.back{left:136px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wrap{width:calc(100% - 28px)}.nav,.footer-inner{min-height:65px;gap:10px}nav{display:none}.hero-inner{min-height:0;grid-template-columns:1fr;padding:33px 0 4px;gap:0}.hero-art{height:265px;transform:scale(.76);transform-origin:center;justify-self:center}.orbit{inset:13px 22px -7px}.book.front,.book.back{top:0}.art-label{bottom:0}.benefits{font-size:.68rem;gap:8px;text-align:center}.benefits b{display:none}.catalog{padding-top:36px}.section-head{align-items:flex-start;flex-direction:column}.search{width:100%}.grid{gap:10px}.cover{height:132px}.mini-book{width:96px;height:105px;padding:7px}.mini-book strong{font-size:15px}.card-body{padding:10px}.card h3{font-size:1rem}.footer-inner>span{display:none}}
@media(max-width:340px){.grid{grid-template-columns:1fr}.hero-art{width:290px}.hero h1{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Category shortcuts, catalog and order summary */
[hidden]{display:none!important}
.hero-inner{min-height:455px}
.hero h1{font-size:clamp(3.1rem,5.7vw,5.7rem)}
.hero .button.primary{box-shadow:0 8px 26px #03061145}
.quick-shop{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:-24px}
.quick-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid #e5ddcb;border-radius:15px;padding:17px 20px;background:#fffdf7;box-shadow:0 7px 20px #3328080d;transition:transform .2s,box-shadow .2s}
.quick-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #33280817}
.quick-card strong,.quick-card small,.quick-card>span:nth-child(2)>span{display:block}
.quick-card small{font-size:.66rem;letter-spacing:.1em;color:#775318;font-weight:800}
.quick-card strong{font-size:1.14rem;margin:1px 0;line-height:1.2}
.quick-card>span:nth-child(2)>span{font-size:.8rem;color:var(--muted)}
.quick-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:13px;background:#e8eee2;color:#345849}
.quick-icon svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linejoin:round;stroke-linecap:round}
.quick-batch{background:#fbf2df}
.quick-batch .quick-icon{background:#eed6a7;color:#533a12}
.quick-arrow{font-size:1.23rem;color:#805619}
.catalog{padding-top:46px}
.grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card .cover{height:178px;background:radial-gradient(circle at 37% 23%,#fff8,transparent 66%),var(--cover-bg)}
.card .mini-book{transform:rotate(-7deg);transition:transform .2s}
.card:hover .mini-book{transform:rotate(-3deg) translateY(-3px)}
.card .tag span{color:#826d50;padding:0 3px}
.card .add{background:var(--navy);color:#fff}
.card .add:hover{background:#354262}
.card-batch .mini-book{width:145px;height:100px;border:1px solid #ffffff45;border-radius:10px;transform:rotate(-5deg)}
.card-batch .mini-book i{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f2c47b;color:#39213a;font-size:.69rem}
.order-box{padding:26px 28px;background:#f0e8d7}
.order-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;list-style:none}
.order-steps li{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;background:#fffaf0;padding:12px;border-radius:10px}
.order-steps li+li{margin-top:0}
.order-steps li>span{color:#825615;font-size:.77rem;font-weight:800}
.order-steps li p{grid-column:2;margin:0;color:var(--muted);font-size:.82rem}
.drawer[open]{display:flex;flex-direction:column}
.drawer .cart-items{overflow-y:auto;padding-bottom:12px}
.drawer #cart-summary:not(:empty){margin-top:auto;border-top:1px solid var(--line);padding-top:4px}
.drawer .empty p{margin:4px 0 12px}
.toast{display:flex;align-items:center;gap:12px;max-width:min(470px,calc(100% - 28px));text-align:left}
.toast button{background:transparent;color:#f2ce88;border:0;padding:6px 2px;font-size:.82rem;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.cart-shortcut{display:none}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .hero-inner{min-height:0;padding-bottom:16px}
  .hero-art{width:min(330px,100%)}
  .quick-shop{gap:8px;margin-top:-11px}
  .quick-card{grid-template-columns:auto 1fr;gap:5px 8px;padding:11px 8px}
  .quick-icon{width:32px;height:32px;border-radius:8px}
  .quick-icon svg{width:17px}
  .quick-card strong{font-size:.88rem}
  .quick-card small{font-size:.56rem;letter-spacing:.025em}
  .quick-card>span:nth-child(2)>span,.quick-arrow{display:none}
  .catalog{padding-top:32px}
  .card .cover{height:132px}
  .order-box{padding:18px 14px}
  .order-steps{grid-template-columns:1fr;gap:7px}
  .has-cart-items footer{margin-bottom:67px}
  .cart-shortcut{position:fixed;display:flex;z-index:2;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px max(8px,env(safe-area-inset-bottom));background:var(--navy);color:#fff;font-size:.84rem;font-weight:750;box-shadow:0 -4px 20px #171d3133}
  .has-cart-items .toast{bottom:76px}
  .toast button{display:none}
}
@media(max-width:340px){.grid{grid-template-columns:1fr}}
@media(min-width:520px){
  .card-batch{grid-column:1/-1;display:grid;grid-template-columns:minmax(185px,25%) 1fr}
  .card-batch .cover{height:100%;min-height:156px}
  .card-batch .card-body{padding:18px 22px}
  .card-batch .card-actions{justify-content:flex-start;gap:16px}
}
@media(max-width:519px){
  .card-batch{grid-column:1/-1;display:grid;grid-template-columns:minmax(102px,35%) 1fr}
  .card-batch .cover{height:100%;min-height:125px}
  .card-batch .mini-book{width:min(108px,86%);height:82px}
}

/* Store announcements, PDF listings and product pages */
.announcement a:hover{text-decoration:underline}
.announcement-panel{margin-top:26px;border:1px solid #e7d4a8;border-left:4px solid #b98236;border-radius:12px;padding:16px 20px;background:#fff9e9}
.announcement-panel .eyebrow{margin-bottom:6px}
.announcement-panel h2{font-size:1.55rem}
.announcement-panel p:last-child{margin:6px 0 0;color:var(--muted);overflow-wrap:anywhere}
.product-cover{width:100%;height:100%;max-height:178px;object-fit:contain;padding:10px;z-index:1}
.card-batch .product-cover{max-height:156px}
.details-link,.detail-actions>a:last-child{font-size:.86rem;text-decoration:underline;text-underline-offset:4px;font-weight:750}
.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.detail-actions button.add{border:0;background:var(--navy);color:white;padding:10px 14px;border-radius:8px;font-weight:750}
.static-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.footer-links{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:.81rem;overflow-wrap:anywhere}
.footer-links a:hover{text-decoration:underline}
.product-page{display:grid;grid-template-columns: minmax(160px,1fr) minmax(0,1.4fr);gap:clamp(20px,5vw,65px);align-items:center;padding:45px 0}
.product-art{display:grid;place-items:center;min-height:230px;padding:15px;background:#e9e3d1;border-radius:18px}
.product-art img{max-width:100%;max-height:340px;border-radius:10px}
.product-emblem{display:grid;place-items:center;border-radius:22px;width:130px;height:150px;background:var(--navy);color:var(--gold);font-size:3rem}
.product-page h1{font:clamp(2rem,5vw,4rem)/1.05 Georgia,serif;margin:0}
.product-price{font-size:1.4rem;font-weight:800}
@media(max-width:640px){.footer-inner{align-items:flex-start;flex-direction:column;padding:15px 0}.product-page{grid-template-columns:1fr}.product-art{min-height:155px}.product-art img{max-height:230px}.card .product-cover{max-height:132px}}
