.dots-component{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;max-height:100%;padding:.5rem;display:flex;overflow:visible;transform:translateY(-2.5rem)}.dots-component svg{filter:drop-shadow(0 0 8px #ffffff14);touch-action:none;width:100%;max-width:min(620px,44vw);height:100%;max-height:min(680px,72vh);overflow:visible}.dots-component .dots-lines{opacity:.7}.dots-component .dots-lines line{stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.6s ease-out forwards drawLine}.dots-component .dot-group{cursor:grab;touch-action:none}.dots-component .dot-group .red-dot{fill:var(--color-highlight,#b21f1f);opacity:0;filter:drop-shadow(0 0 4px #b21f1f80);animation:.4s ease-out forwards fadeInDot}.dots-component .dot-group .dot-label{fill:#fff;font-family:var(--font-body),Arial,Helvetica,sans-serif;letter-spacing:.5px;opacity:0;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:24px;animation:.4s ease-out forwards fadeInText}.dots-component .dot-group:hover .red-dot{fill:#d53a3a;filter:drop-shadow(0 0 12px #b21f1fe6);transform:scale(1.3)}.dots-component .dot-group:hover .dot-label{fill:var(--color-highlight,#b21f1f)}.dots-component .dot-group.is-dragging{cursor:grabbing}.dots-component .dot-group.is-dragging .red-dot{fill:#e04545;filter:drop-shadow(0 0 14px #b21f1ff2)}@media only screen and (max-width:1024px){.dots-component{padding:.75rem}.dots-component svg{max-width:430px;max-height:480px}.dots-component .dot-label{font-size:20px}}@media only screen and (max-width:768px){.dots-component{padding:.5rem}.dots-component svg{max-width:320px;max-height:360px}.dots-component .dot-label{font-size:16px}}@keyframes drawLine{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes fadeInDot{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes fadeInText{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.home-page{--page-image:url(/images/startpage.png)}.home-hero{align-items:center;min-height:min(760px,100vh - 66px);padding:clamp(1.5rem,4.5vw,3.8rem) 0 clamp(2rem,5vw,4rem);display:flex;position:relative;overflow:visible}.home-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(320px,.8fr);align-items:center;gap:clamp(1.75rem,4vw,4rem);display:grid}.home-hero-copy{max-width:760px;margin-top:-.8rem;padding-left:clamp(0rem,1.5vw,1.5rem);animation:.72s both heroIn}.home-hero-copy h1{margin:0 0 1.1rem}.home-hero-copy h1 span{color:var(--primary-strong)}.home-hero-copy .body-large{max-width:41rem}.hero-quote{border-left:2px solid var(--primary-strong);color:#f4efe7eb;max-width:42rem;font-family:var(--font-display),Georgia,serif;margin-bottom:1rem;padding-left:1rem;font-size:clamp(1.55rem,2.3vw,2.35rem);line-height:1.18}.hero-actions{flex-wrap:wrap;gap:1.1rem;margin-top:1.55rem;display:flex}.mobile-hero-wolf{display:none}.home-hero-visual{isolation:isolate;justify-content:center;align-items:center;min-height:clamp(390px,45vw,520px);animation:.9s .1s both heroIn;display:flex;position:relative;overflow:visible}.home-hero-visual:before{content:"";z-index:-2;filter:grayscale()contrast(1.08)brightness(.54);mix-blend-mode:screen;opacity:.14;pointer-events:none;background:url(/images/logo.png) 20% 48%/148% no-repeat;position:absolute;inset:-12% -8% -16% -18%;transform:translate(1%,1%)scale(1.08);-webkit-mask-image:radial-gradient(at 52% 46%,#000 0% 34%,#000000b8 48%,#0000 74%);mask-image:radial-gradient(at 52% 46%,#000 0% 34%,#000000b8 48%,#0000 74%)}.home-hero-visual .dots-component{z-index:1;position:relative}.home-intro,.home-books,.home-cta{padding:var(--space-section)0;position:relative}.editorial-split{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,3.5vw,3.25rem);display:grid}.editorial-split h2{max-width:13ch;margin-top:.55rem}.editorial-split>p{color:#f4efe7d1;max-width:62ch;font-size:clamp(1.05rem,1.35vw,1.22rem)}.section-heading{max-width:620px;margin-bottom:1.45rem}.section-heading h2{margin-top:.55rem}.featured-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.85rem,2vw,1.25rem);display:grid}.featured-book,.featured-empty,.home-cta-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-soft)}.featured-book{transition:transform var(--duration)ease,border-color var(--duration)ease;grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);gap:1.15rem;padding:.85rem;display:grid}.featured-book:hover{border-color:var(--border-strong);transform:translateY(-4px)}.featured-cover{aspect-ratio:2/3;border-radius:var(--radius-sm);background:linear-gradient(160deg,#c6282833,#f4efe70a);justify-content:center;align-items:center;display:flex;overflow:hidden}.featured-cover img{object-fit:contain;object-position:center;flex:none;width:265%;max-width:none;height:265%}.cover-placeholder{color:var(--accent);font-family:var(--font-display),Georgia,serif;text-align:center;padding:1rem;font-size:1.8rem;line-height:1}.featured-copy{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex}.featured-copy .book-author{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800;line-height:1.2}.featured-copy h3{margin:.45rem 0 .65rem}.featured-copy>p:not(.book-author){color:#f4efe7c2;-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.featured-meta{flex-wrap:wrap;gap:.7rem;margin:.85rem 0 1rem;display:flex}.featured-meta span{color:#f4efe7d1;border:0;border-radius:0;padding:0;font-size:.78rem;font-weight:700}.featured-meta span+span:before{content:"•";color:var(--primary-strong);margin-right:.42rem}.featured-empty{grid-column:1/-1;padding:clamp(1.5rem,4vw,2.5rem)}.featured-empty p{color:var(--text-muted);margin:.55rem 0 1rem}.home-cta-panel{box-shadow:none;background:0 0;border-width:1px 0;border-radius:0;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.35rem,3vw,2rem) 0 clamp(1.6rem,4vw,2.5rem);display:flex}.home-cta-panel h2{max-width:14ch;margin-top:.45rem;font-size:clamp(1.8rem,2.8vw,3rem)}.home-cta-panel>div:last-child{flex-wrap:wrap;gap:1.1rem;display:flex}@keyframes heroIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media only screen and (max-width:1024px){.home-hero-grid,.editorial-split,.featured-books{grid-template-columns:1fr}.home-hero-visual{min-height:380px}.home-hero-visual:before{opacity:.11;inset:-10% 4% -12%;transform:translateY(1%)scale(1)}.home-cta-panel{flex-direction:column;align-items:flex-start}}@media only screen and (max-width:768px){.home-hero{isolation:isolate;min-height:auto;padding:clamp(1.1rem,4.5vw,1.75rem) 0 clamp(1.35rem,5vw,2rem);overflow:hidden}.home-hero:before{content:none}.home-hero-grid{display:block}.home-hero-copy{z-index:1;margin-top:0;text-align:center;max-width:32rem;margin-inline:auto;padding-left:0;position:relative}.home-hero-copy h1{margin-bottom:clamp(.55rem,2.2vw,.85rem);font-size:clamp(2.7rem,12vw,4.05rem);line-height:.92}.home-hero-copy .body-large{max-width:min(29rem,86vw);margin-inline:auto;line-height:1.58}.mobile-hero-wolf{aspect-ratio:1;filter:brightness(.72)contrast(.95)saturate(.9);mix-blend-mode:screen;opacity:.22;pointer-events:none;background:url(/images/logo.png) 50%/contain no-repeat;width:clamp(12rem,58vw,15.5rem);margin:0 auto clamp(.6rem,2.8vw,.95rem);display:block;-webkit-mask-image:radial-gradient(circle,#000 0%,#000000d1 46%,#0000 75%);mask-image:radial-gradient(circle,#000 0%,#000000d1 46%,#0000 75%)}.hero-quote{border-left:0;max-width:min(28rem,86vw);margin:0 auto .75rem;padding-left:0;font-size:clamp(1.22rem,5.5vw,1.62rem);line-height:1.18}.home-hero-visual{display:none}.featured-book{grid-template-columns:150px 1fr;gap:.9rem}.featured-copy>p:not(.book-author){-webkit-line-clamp:3}.hero-actions{justify-content:center;gap:.85rem 1.15rem;width:min(100%,24rem);margin:1.05rem auto 0}.hero-actions .button{flex:0 auto;width:auto;min-height:40px;padding-block:.62rem .56rem}}@media only screen and (max-width:768px) and (max-width:400px){.hero-actions{flex-direction:column;align-items:center;gap:.42rem}.hero-actions .button{min-width:11.5rem}}@media only screen and (max-width:768px){.home-cta-panel div,.home-cta-panel div .button{width:100%}}
