:root{--blue:#17457f;--blue-dark:#0d2e59;--blue-light:#eaf1f8;--ink:#152033;--muted:#6e7888;--white:#fff;--paper:#fbfbf8;--cream:#f6f6f3;--line:#0f2c531a;--danger:#a84d4d;--font-display:"Montserrat", sans-serif;--font-body:"DM Sans", sans-serif;--font-script:"Playball", cursive;--container:1280px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.locked,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;border:none}ul{list-style:none}img{max-width:100%;display:block}::selection{background:var(--blue);color:#fff}.container{width:min(calc(100% - 48px), var(--container));margin-inline:auto}.grain{pointer-events:none;opacity:.025;z-index:9998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");position:fixed;inset:0}.loader{z-index:9999;background:var(--cream);transition:opacity .8s var(--ease), visibility .8s ease;place-items:center;display:grid;position:fixed;inset:0}.loader.hide{opacity:0;visibility:hidden}.loader-inner{text-align:center}.loader-logo{width:150px;height:150px;margin:auto;animation:1.4s ease-in-out infinite loaderFloat}.loader-logo img{object-fit:contain;width:100%;height:100%;display:block}.loader-text{font-family:var(--font-display);letter-spacing:.18em;color:var(--blue);margin-top:15px;font-size:13px;font-weight:800}@keyframes loaderFloat{50%{transform:translateY(-8px)}}.navbar{z-index:1000;height:90px;transition:height .4s var(--ease), background .4s ease, border .4s ease, box-shadow .4s ease;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(22px);background:#f6f6f3db;border-bottom:1px solid #17457f14;height:74px;box-shadow:0 10px 40px #112a4d0a}.nav-inner{width:min(calc(100% - 48px), var(--container));justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.brand{z-index:10;align-items:center;gap:12px;display:flex;position:relative}.brand-mark{justify-content:center;align-items:center;width:46px;height:46px;display:flex}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-name{flex-direction:column;display:flex}.brand-name strong,.brand-copy strong{font-family:var(--font-display);color:var(--blue);letter-spacing:-.03em;font-size:16px;font-weight:800;line-height:1;display:block}.brand-name span,.brand-copy span{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-top:4px;font-size:9px;display:block}.nav-menu{align-items:center;gap:36px;display:flex}.nav-link{color:#586475;padding:10px 0;font-size:13px;font-weight:600;position:relative}.nav-link:after{content:"";background:var(--blue);width:0;height:1.5px;transition:width .4s var(--ease);position:absolute;bottom:5px;left:0}.nav-link:hover,.nav-link.active{color:var(--blue)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-button{background:var(--blue);color:#fff;transition:transform .3s var(--ease), background .3s ease, box-shadow .3s ease;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.nav-button svg{width:15px}.nav-button:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 10px 28px #17457f33}.floating-cart{z-index:3000;background:var(--blue);color:#fff;transition:transform .3s var(--ease), background .3s ease, box-shadow .3s ease;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 20px;font-size:13px;font-weight:800;display:inline-flex;position:fixed;bottom:96px;right:28px;box-shadow:0 18px 45px #112a4d38}.floating-cart svg{width:18px}.floating-cart:hover{background:var(--blue-dark);transform:translateY(-3px);box-shadow:0 22px 54px #112a4d47}.floating-cart.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.floating-cart-count{min-width:19px;height:19px;color:var(--blue);background:#fff;border:1px solid #17457f1f;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:9px;font-weight:800;display:flex;position:absolute;top:-3px;right:-3px;box-shadow:0 4px 12px #00000014}.floating-contact{z-index:3000;background:var(--blue);color:#fff;width:54px;height:54px;transition:transform .3s var(--ease), background .3s ease, box-shadow .3s ease;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;bottom:28px;right:28px;box-shadow:0 18px 45px #112a4d38}.floating-contact svg{width:20px}.floating-contact:hover{background:var(--blue-dark);transform:translateY(-3px);box-shadow:0 22px 54px #112a4d47}.menu-toggle{z-index:20;background:0 0;width:44px;height:44px;display:none;position:relative}.menu-toggle span{background:var(--blue);width:22px;height:1.5px;transition:transform .4s var(--ease), top .4s var(--ease);position:absolute;left:11px}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:26px}.menu-toggle.active span:first-child{top:22px;transform:rotate(45deg)}.menu-toggle.active span:last-child{top:22px;transform:rotate(-45deg)}.shop-hero{background:radial-gradient(circle at 83% 33%, #17457f1b, transparent 24%), radial-gradient(circle at 5% 80%, #17457f0d, transparent 23%), var(--cream);align-items:center;min-height:72vh;padding:170px 0 100px;display:flex;position:relative;overflow:hidden}.shop-hero:after{content:"BOOKS";font-family:var(--font-display);letter-spacing:-.08em;color:#17457f06;pointer-events:none;font-size:min(20vw,280px);font-weight:900;position:absolute;bottom:-42px;right:-30px}.shop-hero-grid{grid-template-columns:1.08fr .92fr;align-items:center;gap:90px;display:grid}.hero-eyebrow{color:var(--blue);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px;margin-bottom:25px;font-size:11px;font-weight:700;display:inline-flex}.hero-eyebrow:before{content:"";background:currentColor;width:30px;height:1px}.shop-hero h1{font-family:var(--font-display);color:var(--blue-dark);letter-spacing:-.07em;font-size:clamp(60px,8vw,118px);font-weight:900;line-height:.85}.shop-hero-script{font-family:var(--font-script);color:var(--blue);letter-spacing:0;margin-top:17px;margin-left:7%;font-size:.48em;font-weight:400;display:block}.shop-hero-description{max-width:580px;color:var(--muted);margin-top:35px;font-size:16px;line-height:1.8}.shop-visual{perspective:1100px;justify-content:center;align-items:center;min-height:480px;display:flex;position:relative}.visual-orbit{aspect-ratio:1;background:#ffffff4d;border:1px solid #17457f17;border-radius:50%;width:430px;max-width:95%;position:absolute}.visual-orbit:after{content:"";border-radius:inherit;border:1px dashed #17457f1a;position:absolute;inset:13%}.hero-stack{z-index:3;width:330px;height:410px;position:relative}.stack-book{transform-origin:bottom;width:200px;transition:transform .8s var(--ease);position:absolute;bottom:25px;left:50%}.stack-book img{aspect-ratio:.69;object-fit:cover;border-radius:3px 10px 10px 3px;width:100%;box-shadow:18px 28px 48px #10223b2e}.stack-book:first-child{transform:translate(-80%)rotate(-12deg)translateY(22px)}.stack-book:nth-child(2){z-index:3;transform:translate(-50%)translateY(-5px)scale(1.08)}.stack-book:nth-child(3){transform:translate(-20%)rotate(12deg)translateY(22px)}.shop-visual:hover .stack-book:first-child{transform:translate(-95%)rotate(-16deg)translateY(10px)}.shop-visual:hover .stack-book:nth-child(2){transform:translate(-50%)translateY(-18px)scale(1.1)}.shop-visual:hover .stack-book:nth-child(3){transform:translate(-5%)rotate(16deg)translateY(10px)}.shop-section{background:var(--paper);padding:90px 0 130px;position:relative}.shop-toolbar{background:var(--paper);border-bottom:1px solid #17457f0f;padding:20px 0}.toolbar-row{grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:24px;display:grid}.search-box{max-width:520px;position:relative}.search-icon{width:18px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-input{border:1px solid var(--line);width:100%;height:54px;color:var(--ink);background:#ffffffb3;border-radius:999px;outline:none;padding:0 20px 0 50px;transition:border .3s,background .3s,box-shadow .3s}.search-input::placeholder{color:#9aa1ac}.search-input:focus{background:#fff;border-color:#17457f4d;box-shadow:0 0 0 4px #17457f0d}.sort-box{position:relative}.sort-select{border:1px solid var(--line);min-width:190px;height:50px;color:var(--blue-dark);cursor:pointer;background:#fff;border-radius:999px;outline:none;padding:0 40px 0 18px;font-size:12px;font-weight:600}.filter-row{scrollbar-width:none;gap:9px;margin-top:22px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--line);color:var(--muted);transition:background .3s ease, color .3s ease, border .3s ease, transform .3s var(--ease);background:0 0;border-radius:999px;flex-shrink:0;padding:10px 17px;font-size:11px;font-weight:600}.filter-chip:hover{color:var(--blue);border-color:#17457f38;transform:translateY(-1px)}.filter-chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}.catalog-header{justify-content:space-between;align-items:flex-end;gap:40px;margin-top:70px;margin-bottom:55px;display:flex}.catalog-kicker{color:var(--blue);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:17px;font-size:10px;font-weight:700;display:inline-flex}.catalog-title{font-family:var(--font-display);color:var(--blue-dark);letter-spacing:-.055em;font-size:clamp(40px,5vw,65px);line-height:.95}.catalog-title span{font-family:var(--font-script);color:var(--blue);letter-spacing:0;margin-top:4px;font-size:.65em;font-weight:400;display:block}.catalog-count{color:var(--muted);font-size:12px}.products-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:80px 30px;display:grid}.product-card{opacity:0;animation:productIn .65s var(--ease) forwards;position:relative;transform:translateY(30px)}@keyframes productIn{to{opacity:1;transform:none}}.product-media{aspect-ratio:.73;cursor:pointer;background:linear-gradient(145deg,#f0f2f2,#e8edf2);border-radius:25px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.product-media:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0c223d12);position:absolute;inset:0}.product-book{z-index:2;width:69%;height:83%;transition:transform .65s var(--ease), filter .65s var(--ease);position:relative;transform:perspective(900px)rotateY(-5deg)}.product-book img{object-fit:cover;border-radius:3px 11px 11px 3px;width:100%;height:100%;box-shadow:-9px 8px 14px #101f3114,22px 28px 34px #122a492e}.product-card:hover .product-book{transform:perspective(900px)rotateY(0)translateY(-14px)scale(1.025)}.product-badge{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--blue);letter-spacing:.07em;text-transform:uppercase;background:#ffffffdb;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:700;position:absolute;top:18px;left:18px}.quick-view{z-index:10;width:42px;height:42px;color:var(--blue);opacity:0;transition:opacity .35s ease, transform .35s var(--ease);background:#ffffffe8;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:15px;right:15px;transform:translateY(10px)scale(.9);box-shadow:0 10px 25px #0f233d1a}.quick-view svg{width:17px}.product-card:hover .quick-view{opacity:1;transform:none}.product-content{padding:23px 4px 0}.product-category{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:700}.product-title{font-family:var(--font-display);color:var(--blue-dark);letter-spacing:-.035em;margin-top:8px;font-size:18px;font-weight:700;line-height:1.15}.product-author{color:var(--muted);margin-top:7px;font-size:11px}.product-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding-top:15px;display:flex}.product-price{font-family:var(--font-display);color:var(--blue-dark);font-size:17px;font-weight:800}.add-cart{border:1px solid var(--line);min-height:38px;color:var(--blue);transition:background .3s ease, color .3s ease, border .3s ease, transform .3s var(--ease);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:10px;font-weight:700;display:inline-flex}.add-cart svg{width:13px}.add-cart:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px)}.empty-catalog{text-align:center;grid-column:1/-1;padding:100px 20px;display:none}.empty-catalog.show{display:block}.empty-icon{background:var(--blue-light);width:65px;height:65px;color:var(--blue);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.empty-icon svg{width:24px}.empty-catalog h3{font-family:var(--font-display);color:var(--blue-dark);font-size:22px}.empty-catalog p{color:var(--muted);margin-top:8px;font-size:13px}.editorial-band{background:var(--blue-dark);color:#fff;border-radius:36px;grid-template-columns:1fr .9fr;min-height:500px;margin-top:130px;display:grid;position:relative;overflow:hidden}.editorial-copy{z-index:3;flex-direction:column;justify-content:center;padding:80px;display:flex;position:relative}.editorial-label{text-transform:uppercase;letter-spacing:.18em;color:#ffffff8c;font-size:10px}.editorial-copy h2{font-family:var(--font-display);letter-spacing:-.055em;margin-top:18px;font-size:clamp(42px,5vw,72px);line-height:.93}.editorial-copy h2 span{font-family:var(--font-script);color:#bfd8f2;letter-spacing:0;margin-top:7px;font-size:.62em;font-weight:400;display:block}.editorial-copy p{color:#ffffffa8;max-width:520px;margin-top:26px;font-size:14px;line-height:1.8}.editorial-visual{justify-content:center;align-items:center;min-height:500px;display:flex;position:relative}.editorial-visual:before{content:"“";color:#ffffff06;font-family:Georgia,serif;font-size:330px;position:absolute;top:-70px;right:10px}.editorial-books{width:330px;height:360px;position:relative}.editorial-book{width:190px;position:absolute;bottom:5px;left:50%}.editorial-book img{aspect-ratio:.69;object-fit:cover;border-radius:3px 9px 9px 3px;width:100%;box-shadow:20px 30px 50px #00000059}.editorial-book:first-child{transform:translate(-80%)rotate(-8deg)}.editorial-book:nth-child(2){transform:translate(-20%)rotate(8deg)translateY(-20px)}.cart-overlay{z-index:4000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#08182c75;transition:opacity .4s,visibility .4s;position:fixed;inset:0}.cart-overlay.open{opacity:1;visibility:visible}.cart-drawer{z-index:4001;background:var(--paper);width:min(470px,100%);transition:transform .55s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-40px 0 80px #0a1c3421}.cart-drawer.open{transform:none}.cart-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:90px;padding:0 28px;display:flex}.cart-heading span{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.cart-heading h2{font-family:var(--font-display);color:var(--blue-dark);letter-spacing:-.035em;margin-top:5px;font-size:22px}.cart-close{background:var(--blue-light);width:42px;height:42px;color:var(--blue);transition:transform .3s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex}.cart-close:hover{transform:rotate(90deg)}.cart-close svg{width:17px}.cart-body{flex:1;padding:24px 28px;overflow-y:auto}.cart-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70%;display:flex}.cart-empty-icon{background:var(--blue-light);width:70px;height:70px;color:var(--blue);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.cart-empty-icon svg{width:26px}.cart-empty h3{font-family:var(--font-display);color:var(--blue-dark);font-size:20px}.cart-empty p{color:var(--muted);max-width:260px;margin-top:8px;font-size:12px;line-height:1.6}.cart-list{gap:17px;display:grid}.cart-item{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;gap:16px;padding-bottom:17px;display:grid}.cart-item-image{background:#edf0f3;border-radius:11px;width:80px;height:108px;overflow:hidden}.cart-item-image img{object-fit:cover;width:100%;height:100%}.cart-item-info{flex-direction:column;min-width:0;display:flex}.cart-item-title{font-family:var(--font-display);color:var(--blue-dark);font-size:13px;font-weight:700;line-height:1.25}.cart-item-author{color:var(--muted);margin-top:4px;font-size:10px}.cart-item-price{color:var(--blue);margin-top:7px;font-size:12px;font-weight:700}.cart-item-actions{justify-content:space-between;align-items:center;gap:15px;margin-top:auto;display:flex}.quantity{border:1px solid var(--line);border-radius:999px;align-items:center;display:flex;overflow:hidden}.quantity button{width:30px;height:30px;color:var(--blue);background:0 0;justify-content:center;align-items:center;font-size:15px;display:flex}.quantity span{text-align:center;width:26px;font-size:10px;font-weight:700}.cart-remove{color:var(--muted);background:0 0;font-size:9px;text-decoration:underline}.cart-remove:hover{color:var(--danger)}.cart-footer{border-top:1px solid var(--line);background:#ffffff80;padding:22px 28px 28px}.cart-total-row{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.cart-total-row span{color:var(--muted);font-size:11px}.cart-total-row strong{font-family:var(--font-display);color:var(--blue-dark);letter-spacing:-.04em;font-size:24px}.checkout-button{background:var(--blue);color:#fff;width:100%;min-height:58px;transition:background .3s ease, transform .3s var(--ease), box-shadow .3s ease;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.checkout-button svg{width:17px}.checkout-button:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 14px 30px #17457f33}.cart-note{color:var(--muted);text-align:center;margin-top:12px;font-size:9px;line-height:1.5}.contact-modal{z-index:5000;visibility:hidden;pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.contact-modal.open{visibility:visible;pointer-events:auto}.boutique-page.contact-modal-open>:not(.contact-modal){filter:blur(14px);transition:filter .45s;transform:translateZ(0)}.boutique-page.contact-modal-open .floating-cart,.boutique-page.contact-modal-open .floating-contact,.boutique-page.contact-modal-open .cart-overlay,.boutique-page.contact-modal-open .cart-drawer,.boutique-page.contact-modal-open .product-modal{opacity:0;visibility:hidden;pointer-events:none}.boutique-page.contact-modal-open .cart-drawer{transform:translate(100%)}.contact-modal-backdrop{-webkit-backdrop-filter:blur(34px)saturate(115%);opacity:0;background:#0c1c3252;transition:opacity .45s;position:absolute;inset:0}.contact-modal.open .contact-modal-backdrop{opacity:1}.contact-modal-dialog{z-index:2;background:var(--paper);opacity:0;width:min(540px,100%);transition:opacity .5s var(--ease), transform .5s var(--ease);border-radius:30px;padding:42px;position:relative;transform:translateY(30px)scale(.96);box-shadow:0 40px 120px #07172a4d}.contact-modal.open .contact-modal-dialog{opacity:1;transform:none}.contact-modal-close{background:var(--blue-light);width:40px;height:40px;color:var(--blue);transition:transform .3s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.contact-modal-close:hover{transform:rotate(90deg)}.contact-modal-close svg{width:17px}.contact-modal-label{color:var(--blue);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700}.contact-modal-title{font-family:var(--font-display);letter-spacing:-.045em;color:var(--blue-dark);margin-top:13px;font-size:38px;line-height:1}.contact-modal-description{color:var(--muted);margin-top:18px;font-size:14px;line-height:1.7}.order-options{gap:11px;margin-top:30px;display:grid}.order-option{border:1px solid var(--line);min-height:70px;transition:transform .3s var(--ease), border-color .3s ease, box-shadow .3s ease;background:#fff;border-radius:17px;align-items:center;gap:16px;padding:15px 18px;display:flex}.order-option:hover{border-color:#17457f3b;transform:translateY(-3px);box-shadow:0 15px 35px #10294912}.order-icon{background:var(--blue-light);width:42px;height:42px;color:var(--blue);border-radius:13px;justify-content:center;align-items:center;display:flex}.order-icon svg{width:18px}.order-option strong{color:var(--blue-dark);font-size:13px;display:block}.order-option span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.order-arrow{color:var(--blue);margin-left:auto}.order-arrow svg{width:16px}.product-modal{z-index:4500;opacity:0;visibility:hidden;justify-content:center;align-items:center;padding:25px;transition:opacity .4s,visibility .4s;display:flex;position:fixed;inset:0}.product-modal.open{opacity:1;visibility:visible}.product-modal-bg{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#091b3185;position:absolute;inset:0}.product-modal-card{z-index:2;background:var(--paper);width:min(900px,100%);max-height:90vh;transition:transform .5s var(--ease);border-radius:30px;grid-template-columns:.9fr 1.1fr;display:grid;position:relative;overflow-y:auto;transform:translateY(25px)scale(.97);box-shadow:0 40px 120px #04112259}.product-modal.open .product-modal-card{transform:none}.modal-book-side{background:linear-gradient(145deg,#edf1f5,#e4eaf0);border-radius:30px 0 0 30px;justify-content:center;align-items:center;min-height:570px;padding:50px;display:flex}.modal-book{width:70%;transform:perspective(900px)rotateY(-6deg)}.modal-book img{border-radius:3px 10px 10px 3px;width:100%;box-shadow:-8px 8px 15px #0a192d17,25px 30px 40px #0a192d33}.modal-info{flex-direction:column;justify-content:center;padding:60px 55px;display:flex}.modal-category{color:var(--blue);letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:700}.modal-title{font-family:var(--font-display);color:var(--blue-dark);letter-spacing:-.055em;margin-top:14px;font-size:clamp(32px,4vw,48px);line-height:.98}.modal-author{color:var(--muted);margin-top:11px;font-size:12px}.modal-description{color:var(--muted);margin-top:25px;font-size:13px;line-height:1.75}.modal-price{font-family:var(--font-display);color:var(--blue-dark);margin-top:28px;font-size:27px;font-weight:800}.modal-add{background:var(--blue);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:55px;margin-top:27px;font-size:11px;font-weight:700;display:flex}.modal-add svg{width:16px}.modal-close{z-index:4;width:42px;height:42px;color:var(--blue);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:18px;right:18px}.modal-close svg{width:17px}.toast{z-index:5000;background:var(--blue-dark);color:#fff;opacity:0;pointer-events:none;transition:opacity .35s ease, transform .35s var(--ease);border-radius:16px;align-items:center;gap:12px;padding:15px 18px;display:flex;position:fixed;bottom:28px;right:28px;transform:translateY(15px)scale(.97);box-shadow:0 20px 50px #07182d40}.toast.show{opacity:1;transform:none}.toast svg{width:18px}.toast-text strong{font-size:11px;display:block}.toast-text span{color:#ffffff9e;margin-top:2px;font-size:9px;display:block}.footer{background:var(--paper);padding:70px 0 32px}.footer-top{border-bottom:1px solid var(--line);grid-template-columns:1.3fr .7fr .7fr;gap:80px;padding-bottom:60px;display:grid}.footer-brand-text{max-width:400px;color:var(--muted);margin-top:24px;font-size:14px;line-height:1.8}.footer-column h4{color:var(--blue-dark);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;margin-bottom:22px;font-size:12px;font-weight:700}.footer-links{flex-direction:column;gap:13px;display:flex}.footer-link{width:fit-content;color:var(--muted);transition:color .3s ease, transform .3s var(--ease);font-size:13px}.footer-link:hover{color:var(--blue);transform:translate(4px)}.footer-bottom{color:#8c95a2;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:18px;padding-top:28px;font-size:10px;display:flex}.footer-credit a{color:var(--blue);font-weight:800}.footer-credit a:hover{text-decoration:underline}.footer-social{gap:8px;display:flex}.social-button{border:1px solid var(--line);width:36px;height:36px;color:var(--blue);transition:transform .3s var(--ease), background .3s ease, color .3s ease;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.social-button svg{width:14px}.social-button:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}[data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(40px)}[data-reveal=left]{transform:translate(-45px)}[data-reveal=right]{transform:translate(45px)}[data-reveal].visible{opacity:1;transform:none}@media (max-width:1100px){.products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-hero-grid{gap:40px}.editorial-copy{padding:60px}}@media (max-width:900px){.nav-menu{z-index:5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .4s ease, visibility .4s ease, transform .4s var(--ease);background:#f6f6f3fa;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0;transform:translateY(-10px)}.nav-menu.open{opacity:1;visibility:visible;transform:none}.nav-link{font-family:var(--font-display);color:var(--blue-dark);font-size:28px;font-weight:700}.nav-button{margin-top:12px;padding:16px 28px;font-size:13px}.menu-toggle{display:flex}.shop-hero{padding-top:140px}.shop-hero-grid{text-align:center;grid-template-columns:1fr}.hero-eyebrow{justify-content:center}.shop-hero-script{margin-left:0}.shop-hero-description{margin-inline:auto}.shop-visual{min-height:450px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-band{grid-template-columns:1fr}.editorial-copy{text-align:center}.editorial-copy p{margin-inline:auto}.editorial-visual{min-height:430px}.product-modal-card{grid-template-columns:1fr}.modal-book-side{border-radius:30px 30px 0 0;min-height:430px}.modal-book{width:220px}.footer-top{grid-template-columns:1fr 1fr}.footer-main{grid-column:1/-1}}@media (max-width:650px){.container,.nav-inner{width:min(calc(100% - 30px), var(--container))}.brand-name span,.brand-copy span{display:none}.navbar{height:72px}.floating-cart{padding:14px 18px;bottom:88px;right:18px}.floating-contact{width:52px;height:52px;bottom:20px;right:18px}.shop-hero{min-height:auto;padding:125px 0 70px}.shop-hero h1{font-size:clamp(52px,17vw,75px)}.shop-hero-description{font-size:14px}.shop-visual{min-height:360px}.visual-orbit{width:320px}.hero-stack{width:250px;height:315px}.stack-book{width:150px}.toolbar-row{grid-template-columns:1fr;gap:12px}.search-box{max-width:none}.sort-select{width:100%}.catalog-header{flex-direction:column;align-items:flex-start;gap:18px;margin-top:50px}.products-grid{grid-template-columns:1fr;row-gap:65px}.product-card{width:100%;max-width:390px;margin-inline:auto}.product-media{aspect-ratio:.78}.product-book{width:65%}.quick-view{opacity:1;transform:none}.editorial-band{border-radius:28px;margin-top:90px}.editorial-copy{padding:50px 28px}.editorial-visual{min-height:350px}.editorial-books{transform:scale(.82)}.footer-top{grid-template-columns:1fr;gap:45px}.footer-main{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start}.modal-info{padding:40px 28px}.modal-book-side{min-height:360px}.cart-header,.cart-body,.cart-footer{padding-left:20px;padding-right:20px}.toast{bottom:15px;left:15px;right:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none}}
