.hero-carousel{padding-top:32px}
.carousel-slides{width:88%;max-width:1600px;margin:0 auto 25px}
.hero.carousel-slide{isolation:isolate;position:relative;display:flex;align-items:center;width:100%;max-width:none;margin:0;min-height:480px;aspect-ratio:8/3;padding:48px 6%;overflow:hidden;background:#d3bc9f}
.carousel-slide:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(30,22,17,.76),rgba(30,22,17,.46) 45%,rgba(30,22,17,.03) 85%)}
.carousel-slide .hero-copy{position:relative;z-index:2;width:56%;padding:0;color:#fffaf3}
.hero-heading{font-size:clamp(40px,4.5vw,72px);line-height:1.06;margin-bottom:22px;overflow-wrap:anywhere;color:inherit}
.carousel-slide .eyebrow{color:#f6e6d4;margin-bottom:20px}
.carousel-slide .intro{color:#fff7eb;max-width:500px;line-height:1.65;font-size:15px;margin-bottom:26px;overflow-wrap:anywhere}
.carousel-slide .button{background:#faf6f0;border-color:#faf6f0;color:#493b33}
.carousel-slide .button:hover{background:#e8ddcd;border-color:#e8ddcd}
.carousel-slide .hero-art{position:absolute;inset:0;z-index:0;margin:0;width:100%;height:100%}
.carousel-slide .hero-art>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 6% 28px;max-width:1600px;margin:auto}
.carousel-controls>button{background:transparent;border:1px solid var(--line);color:var(--ink);min-width:44px;min-height:44px;border-radius:24px;padding:8px 14px}
.carousel-controls>button:hover{border-color:var(--brown)}
.carousel-controls [data-pause]{font-size:11px;min-width:90px}
.carousel-dots{display:flex;gap:2px}
.carousel-dots button{background:transparent;border:0;width:36px;height:44px;display:grid;place-items:center;padding:0}
.carousel-dots span{width:7px;height:7px;border-radius:50%;background:#cbb8a7}
.carousel-dots [aria-pressed=true] span{width:21px;border-radius:5px;background:var(--brown)}
.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}
.banner-guide{background:#eee6da;padding:18px;margin:20px 0;font-size:12px}
.banner-guide p{margin:7px 0 0;color:#74614f}
.banner-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.banner-editor{padding:24px;border:1px solid var(--line);min-width:0}
.banner-editor h3{font-family:Georgia,serif;font-size:25px;font-weight:400}
.banner-editor h3 small{display:inline;margin-left:10px;font-family:Arial,sans-serif}
.banner-preview{width:100%;height:auto;aspect-ratio:8/3;object-fit:cover;border-radius:0;margin-bottom:20px}
.banner-editor form>small{margin-bottom:18px}
@media(max-width:1050px){.carousel-slide .hero-copy{width:65%}.hero-heading{font-size:48px}.hero.carousel-slide{padding:38px 5%}}
@media(max-width:650px){.hero-carousel{padding-top:20px}.hero.carousel-slide{display:flex;flex-direction:column;align-items:stretch;min-height:0;aspect-ratio:auto;padding:0;gap:0}.carousel-slide:after{display:none}.carousel-slide .hero-art{position:relative;inset:auto;order:0;width:100%;height:auto;aspect-ratio:8/3}.carousel-slide .hero-copy{order:1;width:100%;padding:27px 22px 30px;background:#eee6da;color:var(--ink)}.carousel-slide .eyebrow{color:#836b57;font-size:8px;margin-bottom:14px}.carousel-slide .intro{color:#6d5949;font-size:13px;margin-bottom:22px}.hero-heading{font-size:36px;margin-bottom:18px}.carousel-slide .button{background:#80654f;border-color:#80654f;color:#fffaf3}.banner-admin-grid{grid-template-columns:1fr}.banner-editor{padding:18px}.carousel-controls{gap:8px}.carousel-dots button{width:30px}}
