.banners{position:relative;background:#101e30;color:white;overflow:hidden;touch-action:pan-y}
.banner-slide[hidden],.banner-controls[hidden]{display:none}
.banner-slide{background:radial-gradient(ellipse at 78% 50%,#263f56 0%,#14263b 38%,#101e30 75%)}
.banner-graca{background:radial-gradient(ellipse at 80% 45%,#5a492d 0%,#252b2e 36%,#101e30 75%)}
.banner-mentes{background:radial-gradient(ellipse at 78% 50%,#49544e 0%,#1c313c 36%,#101e30 75%)}
.banner-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;min-height:460px;padding-block:38px 28px}
.banner-copy{position:relative;z-index:2;min-width:0}
.banner-eyebrow{color:#dcc18b;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;margin:0 0 18px}
.banner-copy h1,.banner-copy h2{font:clamp(2.8rem,4.8vw,4.6rem)/1.1 Georgia,serif;letter-spacing:-.035em;margin:0 0 22px;max-width:650px}
.banner-copy em{font-style:normal;color:#d9b976}
.banner-copy>p:not(.banner-eyebrow){color:#d5dce3;font-size:1.0625rem;line-height:1.65;max-width:470px;margin:0 0 27px}
.banner-copy>p.banner-subtitle{font:1.5rem/1.4 Georgia,serif;max-width:420px}
.banner-button{display:inline-flex;align-items:center;justify-content:center;background:#d3b375;border:1px solid #d3b375;color:#142235;text-decoration:none;padding:12px 24px;font-size:.9375rem;font-weight:600;min-height:48px}
.banner-button:hover{background:#e1c58e;border-color:#e1c58e}
.banner-art{display:flex;align-items:center;justify-content:center;height:390px;min-width:0}
.banner-cover{display:block;width:290px;height:390px;object-fit:cover;filter:drop-shadow(10px 20px 20px #0005)}
.book-composition{position:relative;isolation:isolate}
.composition-book{position:absolute;display:block;object-fit:cover;filter:drop-shadow(8px 16px 14px #0005)}
.composition-center{width:240px;height:350px;left:50%;transform:translateX(-50%);z-index:3}
.composition-left{width:175px;height:270px;left:0;transform:rotate(-9deg);z-index:2}
.composition-right{width:175px;height:270px;right:0;transform:rotate(9deg);z-index:1;object-fit:contain}
.banner-controls{display:flex;justify-content:center;align-items:center;gap:14px;min-height:66px;padding-block:8px 18px}
.banner-controls button{font:inherit;font-size:.8125rem;color:#d8e0e8;background:none;border:1px solid transparent;min-height:44px;cursor:pointer;padding:8px 12px}
.banner-controls button:hover{color:#e3c891;background:#ffffff0a}
.banner-controls button:focus-visible{outline:2px solid #e3c891;outline-offset:3px}
.banner-pagination{display:flex;gap:5px}
.banner-pagination button{width:36px;padding:7px;border-bottom:2px solid #ffffff30;color:#aebac6}
.banner-pagination button[aria-current]{color:#e3c891;border-bottom-color:#d3b375}
.banner-controls .banner-pause{border-left:1px solid #ffffff26;padding-left:20px;min-width:95px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.banner-inner{gap:24px}.composition-left{left:-6px;width:150px}.composition-right{right:-6px;width:150px}.composition-center{width:220px}}
@media(max-width:760px){
 .banner-inner{grid-template-columns:1fr;gap:8px;min-height:470px;padding-block:25px 8px;text-align:center}
 .banner-copy h1,.banner-copy h2{font-size:clamp(2rem,7.7vw,3rem);margin-bottom:12px;max-width:none}
 .banner-eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:12px}
 .banner-copy>p:not(.banner-eyebrow){font-size:1rem;line-height:1.5;max-width:480px;margin:0 auto 17px}
 .banner-copy>p.banner-subtitle{font:1.125rem/1.4 Georgia,serif;margin-bottom:20px}
 .banner-button{min-height:44px;padding:10px 20px;font-size:.875rem}
 .banner-art{height:220px;width:100%;max-width:370px;margin:auto}
 .banner-cover{width:180px;height:230px}
 .composition-center{width:160px;height:228px}
 .composition-left{width:125px;height:184px;left:8px}
 .composition-right{width:125px;height:184px;right:8px}
 .banner-controls{min-height:60px;gap:5px;padding-block:5px 12px}
 .banner-controls button{font-size:.75rem;padding:7px 9px}
 .banner-pagination{gap:3px}
 .banner-pagination button{width:30px}
 .banner-controls .banner-pause{padding-left:12px;min-width:82px}
}
@media(max-width:350px){.banner-eyebrow{font-size:.6875rem}.banner-controls{gap:2px}.banner-controls button{padding-inline:7px}.banner-controls .banner-pause{min-width:72px;padding-left:8px}.composition-left{left:0;width:110px}.composition-right{right:0;width:110px}.composition-center{width:150px}}
