/* Equal-weight book system and cinematic falling-book hero */
.hero-visual{perspective:1400px}.hero-books{position:absolute;inset:0;z-index:7;pointer-events:none}.hero-book{position:absolute;width:clamp(112px,12vw,178px);aspect-ratio:2/3;pointer-events:auto;filter:drop-shadow(0 30px 22px #000b);opacity:0;animation:book-impact 1.35s cubic-bezier(.16,.9,.22,1.18) forwards;transform-origin:50% 110%}.hb-one{left:2%;bottom:5%;--rot:-16deg;--x:0px;animation-delay:.28s}.hb-two{left:28%;bottom:1%;--rot:2deg;--x:0px;animation-delay:.48s;z-index:2}.hb-three{right:5%;bottom:7%;--rot:15deg;--x:0px;animation-delay:.68s}.book-shell{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.book-shell img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2;box-shadow:0 20px 40px #0009}.book-shell i{position:absolute;z-index:1;top:5px;right:-10px;bottom:-7px;width:14px;background:linear-gradient(90deg,#d3cec2,#fff 40%,#aaa);transform:skewY(35deg);transform-origin:left top}.book-shell b{position:absolute;z-index:1;left:7px;right:-8px;bottom:-12px;height:15px;background:linear-gradient(#faf7ed,#aaa);transform:skewX(52deg);transform-origin:left top}.hero-book:hover .book-shell,.book-object:hover .book-shell{transform:translateY(-16px) rotateY(-8deg) scale(1.035)}.impact-line{position:absolute;z-index:6;bottom:3.5%;left:3%;right:3%;height:2px;background:linear-gradient(90deg,transparent,var(--orange),transparent);box-shadow:0 0 25px var(--orange);transform:scaleX(0);animation:impact-flash .65s 1.35s ease-out forwards}
@keyframes book-impact{0%{opacity:0;transform:translate3d(var(--x),-120vh,300px) rotateZ(calc(var(--rot) * -2)) rotateY(70deg) scale(.7)}65%{opacity:1;transform:translate3d(var(--x),18px,0) rotateZ(var(--rot)) rotateY(-5deg) scale(1.04)}82%{transform:translate3d(var(--x),-13px,0) rotateZ(var(--rot)) rotateY(0) scale(.98)}100%{opacity:1;transform:translate3d(var(--x),0,0) rotateZ(var(--rot)) scale(1)}}@keyframes impact-flash{50%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.65);opacity:0}}
.equal-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.equal-book{background:var(--panel);display:flex;flex-direction:column;min-width:0}.equal-stage{height:500px;display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,#3a2118 0,#19191a 45%,#101011 75%);overflow:hidden;perspective:1000px}.equal-book:nth-child(2) .equal-stage{background:radial-gradient(circle at 50% 55%,#292727 0,#181819 48%,#101011 75%)}.equal-book:nth-child(3) .equal-stage{background:radial-gradient(circle at 50% 55%,#4a1d0e 0,#191413 48%,#101011 75%)}.book-object{display:block;width:min(53%,220px);aspect-ratio:2/3;transform:rotateY(-8deg) rotateX(2deg);filter:drop-shadow(25px 32px 28px #000c)}.equal-copy{padding:34px 32px 38px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.equal-copy h3{font:500 clamp(25px,2.5vw,38px)/1.04 Manrope;margin:13px 0 18px;letter-spacing:-.035em}.equal-copy p{color:var(--muted);font-size:14px;flex:1;margin:0 0 28px}.equal-copy .btn{margin-top:auto}
@media(max-width:1050px){.hero-book{width:clamp(105px,16vw,150px)}.hb-one{left:2%}.hb-two{left:31%}.hb-three{right:2%}.equal-stage{height:420px}.equal-copy{padding:28px 22px}}
@media(max-width:800px){.hero-visual{min-height:660px}.hero-books{bottom:0}.hero-book{width:31vw;max-width:145px}.hb-one{left:3%;bottom:6%;--rot:-13deg}.hb-two{left:34%;bottom:2%;--rot:1deg}.hb-three{right:2%;bottom:7%;--rot:12deg}.equal-books{grid-template-columns:1fr}.equal-stage{height:470px}.book-object{width:200px}.equal-copy{padding:30px}.equal-copy h3{font-size:31px}}
@media(prefers-reduced-motion:reduce){.hero-book{opacity:1;animation:none;transform:rotateZ(var(--rot))}.impact-line{display:none}}

/* V2 hero: a real shelf beside Johannes, with clean book geometry */
.hero-visual{background:radial-gradient(circle at 72% 42%,#373230 0,#1a1919 42%,#0e0e0f 78%)}.hero-visual .orange-orbit{width:430px;height:430px;left:auto;right:-9%;top:18%;opacity:.7}.hero-visual .portrait{left:auto;right:-1%;width:59%;height:92%;z-index:3;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);filter:drop-shadow(-25px 10px 28px #000b)}.hero-visual .portrait img{object-position:center 18%}.hero-library{position:absolute;z-index:8;left:5%;bottom:9%;width:46%;perspective:1100px}.hero-library>p{display:flex;justify-content:space-between;margin:0 0 20px;text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#bbb}.hero-library>p span{color:var(--orange)}.shelf-books{height:265px;display:flex;align-items:flex-end;justify-content:center;gap:11px;padding:0 7px;transform-style:preserve-3d}.shelf-book{display:block;width:31%;max-width:108px;aspect-ratio:2/3;transform:rotateY(-17deg) translateZ(0);transform-origin:left bottom;transition:transform .48s cubic-bezier(.16,.84,.28,1),filter .48s;filter:drop-shadow(12px 20px 13px #000b)}.shelf-book:nth-child(2){transform:rotateY(-10deg) translateY(-3px)}.shelf-book:nth-child(3){transform:rotateY(-4deg)}.shelf-book:hover,.shelf-book:focus-visible{transform:translate3d(8px,-31px,85px) rotateY(0) scale(1.2);z-index:10;filter:drop-shadow(18px 27px 22px #000d);outline:none}.shelf-book .book-shell,.equal-book .book-shell{background:#161616}.shelf-book .book-shell img,.equal-book .book-shell img{border-radius:1px;box-shadow:0 18px 30px #000b}.shelf-book .book-shell i,.equal-book .book-shell i{top:2px;right:-7px;bottom:0;width:8px;transform:none;background:linear-gradient(90deg,#ece8dd 0,#aaa 45%,#575757 100%);border-radius:0 1px 1px 0}.shelf-book .book-shell b,.equal-book .book-shell b{display:none}.shelf{height:19px;position:relative;margin-top:0;background:linear-gradient(#40342e,#1e1815 46%,#0c0b0b 48%);border-top:1px solid #80604d;box-shadow:0 18px 22px #000d}.shelf:before,.shelf:after{content:'';position:absolute;top:17px;width:11px;height:49px;background:linear-gradient(90deg,#171312,#352821,#100d0c)}.shelf:before{left:8%}.shelf:after{right:8%}.shelf span{position:absolute;left:0;right:0;bottom:-4px;height:4px;background:var(--orange);opacity:.65;box-shadow:0 0 13px #ff5c1866}.hero-library>small{display:block;margin-top:20px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#777}.equal-book .book-object{transform:rotateY(-5deg) rotateX(1deg)}.equal-book .book-shell i{right:-9px;width:10px}.equal-book .book-shell img{box-shadow:18px 25px 32px #000c}
.role-grid article{overflow:hidden;transition:background .35s,transform .35s}.role-grid article:hover{background:linear-gradient(145deg,#191919,#111);transform:translateY(-6px)}.role-icon{width:54px;height:54px!important;margin:49px 0 35px!important;display:grid!important;place-items:center;border:1px solid #ff5c184d;border-radius:50%;background:radial-gradient(circle,#ff5c1817,transparent 68%);transition:transform .4s,background .4s!important}.role-icon svg{width:28px;height:28px;fill:none;stroke:var(--orange);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.role-grid article:hover .role-icon{transform:rotate(-8deg) scale(1.08);background:#ff5c1820}
@media(max-width:1050px){.hero-visual .portrait{width:62%;right:-6%}.hero-library{left:3%;width:48%}.shelf-books{height:230px}}
@media(max-width:800px){.hero-visual{min-height:760px}.hero-visual .portrait{right:-6%;width:69%;height:88%}.hero-library{left:4%;bottom:6%;width:56%}.shelf-books{height:220px;gap:6px}.shelf-book{max-width:92px}.shelf-book:hover,.shelf-book:focus-visible{transform:translate3d(4px,-22px,70px) rotateY(0) scale(1.12)}.hero-library>small{display:none}.role-icon{margin:35px 0 28px!important}}

/* Interactive opening books */
.hero-library>small{position:absolute;top:18px;left:0;margin:0;color:#aaa;font-size:8px;letter-spacing:.13em;white-space:nowrap;z-index:12}.shelf-book{transition:transform .55s cubic-bezier(.16,.84,.28,1),filter .45s}.shelf-book .book-shell{perspective:850px;transform-style:preserve-3d;isolation:isolate}.shelf-book .book-shell:before{content:'';position:absolute;inset:3px 2px 3px 3px;z-index:1;background:repeating-linear-gradient(to bottom,#f4f0e6 0 6px,#d9d4c8 7px,#f4f0e6 8px);box-shadow:inset 8px 0 10px #a49d8f55;border-radius:1px}.shelf-book .book-shell:after{content:'';position:absolute;inset:4px 4px 4px 4px;z-index:2;transform-origin:left center;transform:rotateY(0);opacity:0;background:repeating-linear-gradient(to bottom,#f7f3e9 0 5px,#b8b1a4 6px,#f7f3e9 7px);box-shadow:4px 2px 9px #0005;border-left:1px solid #aaa}.shelf-book .book-shell img{z-index:4;transform-origin:left center;transition:transform .62s cubic-bezier(.2,.78,.2,1),filter .4s;backface-visibility:hidden}.shelf-book:hover,.shelf-book:focus-visible{transform:translate3d(13px,-35px,110px) rotateY(0) scale(1.27);z-index:20}.shelf-book:hover .book-shell,.shelf-book:focus-visible .book-shell{transform:none}.shelf-book:hover .book-shell img,.shelf-book:focus-visible .book-shell img{transform:rotateY(-148deg);filter:brightness(.72)}.shelf-book:hover .book-shell:after,.shelf-book:focus-visible .book-shell:after{opacity:1;animation:page-through 1.45s .5s ease-in-out infinite}.shelf-book:hover .book-shell i,.shelf-book:focus-visible .book-shell i{opacity:0;transition:opacity .2s}@keyframes page-through{0%{transform:rotateY(0);opacity:0}12%{opacity:1}48%{transform:rotateY(-142deg);opacity:1}55%{opacity:0}100%{transform:rotateY(-142deg);opacity:0}}
@media(max-width:800px){.hero-library>small{display:block;top:17px;font-size:7px;letter-spacing:.08em}.shelf-book:hover,.shelf-book:focus-visible{transform:translate3d(7px,-26px,80px) rotateY(0) scale(1.16)}}
@media(prefers-reduced-motion:reduce){.shelf-book:hover .book-shell:after,.shelf-book:focus-visible .book-shell:after{animation:none;transform:rotateY(-120deg)}}

/* Short book-preview sequence: out, fast page-through, close, return */
.shelf-book{--rest:-17deg}.shelf-book:nth-child(2){--rest:-10deg}.shelf-book:nth-child(3){--rest:-4deg}.shelf-book .book-shell:before,.shelf-book .book-shell:after{display:none}.shelf-book .left-page,.shelf-book .right-page{display:block;position:absolute;top:3px;bottom:3px;width:96%;z-index:2;opacity:0;text-decoration:none;background-color:#f3efe5;background-image:repeating-linear-gradient(to bottom,transparent 0 8px,#aaa397 9px,transparent 10px),linear-gradient(90deg,transparent 12%,#d1c9bb 12% 13%,transparent 13%);box-shadow:0 6px 18px #0007;transition:opacity .15s}.shelf-book .left-page{right:96%;transform-origin:right center;border-radius:2px 0 0 2px;background-position:0 0}.shelf-book .right-page{left:2%;transform-origin:left center;border-radius:0 2px 2px 0}.shelf-book:hover,.shelf-book:focus-visible{animation:book-showcase 2.25s cubic-bezier(.2,.8,.2,1) both;z-index:30}.shelf-book:hover .book-shell img,.shelf-book:focus-visible .book-shell img{animation:cover-showcase 2.25s cubic-bezier(.2,.75,.2,1) both;filter:none}.shelf-book:hover .left-page,.shelf-book:focus-visible .left-page{animation:left-page-show 2.25s ease both}.shelf-book:hover .right-page,.shelf-book:focus-visible .right-page{animation:right-page-show 2.25s ease both}.shelf-book:hover .book-shell i,.shelf-book:focus-visible .book-shell i{animation:edge-hide 2.25s ease both}.shelf-book:hover .book-shell:after,.shelf-book:focus-visible .book-shell:after{animation:none;opacity:0}
@keyframes book-showcase{0%{transform:rotateY(var(--rest))}13%{transform:translate3d(14px,-34px,110px) rotateY(0) scale(1.27)}78%{transform:translate3d(14px,-34px,110px) rotateY(0) scale(1.27)}100%{transform:rotateY(var(--rest))}}
@keyframes cover-showcase{0%,10%{transform:rotateY(0)}25%,70%{transform:translateX(-1px) rotateY(-164deg)}87%,100%{transform:rotateY(0)}}
@keyframes left-page-show{0%,18%,84%,100%{opacity:0;transform:rotateY(90deg)}25%,72%{opacity:1;transform:rotateY(0)}}
@keyframes right-page-show{0%,18%,84%,100%{opacity:0;transform:rotateY(0)}24%{opacity:1;transform:rotateY(0)}31%{transform:rotateY(-138deg)}38%{transform:rotateY(-8deg)}45%{transform:rotateY(-142deg)}52%{transform:rotateY(-12deg)}59%{transform:rotateY(-145deg)}66%,72%{opacity:1;transform:rotateY(0)}}
@keyframes edge-hide{0%,12%,88%,100%{opacity:1}20%,82%{opacity:0}}
@media(prefers-reduced-motion:reduce){.shelf-book:hover,.shelf-book:focus-visible{animation:none}.shelf-book:hover .book-shell img,.shelf-book:focus-visible .book-shell img{animation:none}.shelf-book:hover .left-page,.shelf-book:focus-visible .left-page,.shelf-book:hover .right-page,.shelf-book:focus-visible .right-page{animation:none}}

/* Final shelf interaction: closed 3D cover showcase only */
.shelf-book .left-page,.shelf-book .right-page{display:none!important}.shelf-book:hover,.shelf-book:focus-visible{animation:closed-book-showcase 2.15s cubic-bezier(.2,.75,.2,1) both}.shelf-book:hover .book-shell,.shelf-book:focus-visible .book-shell{transform:none}.shelf-book:hover .book-shell img,.shelf-book:focus-visible .book-shell img{animation:none;transform:none;filter:none}.shelf-book:hover .book-shell i,.shelf-book:focus-visible .book-shell i{animation:none;opacity:1}.shelf-book:hover .book-shell:after,.shelf-book:focus-visible .book-shell:after{display:none;animation:none}
@keyframes closed-book-showcase{0%{transform:rotateY(var(--rest)) translateZ(0);filter:drop-shadow(12px 20px 13px #000b)}15%{transform:translate3d(12px,-32px,115px) rotateY(0) scale(1.24);filter:drop-shadow(22px 31px 24px #000d)}33%{transform:translate3d(12px,-32px,115px) rotateY(-30deg) rotateX(2deg) scale(1.24)}52%{transform:translate3d(12px,-32px,115px) rotateY(28deg) rotateX(-2deg) scale(1.24)}69%{transform:translate3d(12px,-32px,115px) rotateY(-9deg) scale(1.24)}82%{transform:translate3d(12px,-32px,115px) rotateY(0) scale(1.24);filter:drop-shadow(22px 31px 24px #000d)}100%{transform:rotateY(var(--rest)) translateZ(0);filter:drop-shadow(12px 20px 13px #000b)}}
@media(prefers-reduced-motion:reduce){.shelf-book:hover,.shelf-book:focus-visible{animation:none;transform:translateY(-12px) rotateY(var(--rest))}}

.contact-intro{color:var(--muted);font-size:17px;margin:28px auto 32px;max-width:600px}.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.contact-actions .whatsapp{background:#25d366;color:#07150c;border-color:#25d366}.contact-actions .whatsapp:hover{background:#4be17f}.contact-data{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px;color:#777;font-size:12px}.contact-data a:hover{color:var(--orange)}@media(max-width:600px){.contact-actions{display:grid}.contact-actions .btn{justify-content:space-between}.contact-data{display:grid;gap:3px}.contact-data span{display:none}}
