/* The opening photograph runs edge to edge; content stays within the page grid. */
.hero-banner{position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(660px,calc(100svh - 122px),880px);overflow:hidden;background:#263d37;color:#fffdf7;text-align:center}
.hero-banner__media,.hero-banner__shade{position:absolute;inset:0;z-index:-1}
.hero-banner__media{margin:0}
.hero-banner__media img{width:100%;height:100%;object-fit:cover;object-position:50% 49%}
.hero-banner__shade{background:linear-gradient(180deg,rgba(7,18,17,.50) 0%,rgba(7,18,17,.70) 29%,rgba(7,18,17,.74) 62%,rgba(7,18,17,.86) 100%)}
.hero-banner__content{position:relative;width:min(100% - 48px,960px);padding:86px 0 142px}
.hero-banner .eyebrow{justify-content:center;margin-bottom:28px;font-size:10px;letter-spacing:.23em;color:#f2eadc}
.hero-banner .eyebrow:before{width:30px;background:#e1c49b}
.hero-banner .eyebrow:after{content:'';width:30px;height:1px;background:#e1c49b}
.hero-banner h1{font-size:clamp(76px,8.3vw,126px);line-height:.96;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 2px 24px rgba(12,25,23,.15)}
.hero-banner h1 em{font-weight:400;color:#f0dfc1}
.hero-banner__intro{max-width:470px;margin:27px auto 0;color:#f0f0e8;font-size:14px;line-height:1.85;text-wrap:pretty}
.hero-banner__actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:31px}
.hero-banner .button{background:#f8f5ec;border-color:#f8f5ec;color:#213c37;min-height:51px;padding:14px 23px;gap:34px;font-size:12px}
.hero-banner .button:hover{background:#e8ddc5;border-color:#e8ddc5}
.hero-banner .button--outline{background:rgba(18,37,32,.12);border-color:rgba(255,253,247,.5);color:#fffdf7}
.hero-banner .button--outline:hover{background:rgba(255,253,247,.12);border-color:#fffdf7}
.hero-banner__footer{position:absolute;bottom:26px;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;text-align:left;font-size:9px;letter-spacing:.04em;color:#e8eae0}
.hero-banner__location{display:flex;gap:11px;align-items:center}
.hero-banner__location:before{content:'';width:5px;height:5px;border-radius:50%;background:#f0dfc1;box-shadow:0 0 0 5px rgba(240,223,193,.12)}
.hero-banner__location strong{display:block;font-size:11px;font-weight:400;letter-spacing:.03em;color:#fffdf7}
.hero-banner__location small{display:block;font-size:8px;margin-top:2px}
.hero-banner__scroll{display:flex;align-items:center;gap:12px;font-size:9px;text-transform:uppercase;letter-spacing:.15em}
.hero-banner__scroll span{display:grid;place-items:center;width:30px;height:38px;border:1px solid rgba(255,253,247,.38);border-radius:20px;font-size:17px}
.hero-banner__credit{text-align:right;justify-self:end;font-size:8px;line-height:1.8}
.hero-banner__credit a{text-decoration:underline;text-underline-offset:3px}
.hero-banner a:focus-visible{outline-color:#f0dfc1}
@media(min-width:1800px){.hero-banner__media img{object-position:50% 43%}}
@media(max-width:800px){.hero-banner{min-height:700px}.hero-banner__content{padding:82px 0 145px}.hero-banner h1{font-size:clamp(68px,10.6vw,90px)}.hero-banner__intro{font-size:13px;max-width:420px}.hero-banner__footer{bottom:24px;grid-template-columns:1fr 1fr}.hero-banner__scroll{display:none}.hero-banner__media img{object-position:51% 50%}}
@media(max-width:560px){.hero-banner{min-height:640px;min-height:max(640px,calc(100svh - 106px))}.hero-banner__content{width:calc(100% - 40px);padding:68px 0 140px}.hero-banner .eyebrow{font-size:8px;letter-spacing:.15em;gap:10px;margin-bottom:25px}.hero-banner .eyebrow:before,.hero-banner .eyebrow:after{width:17px}.hero-banner h1{font-size:clamp(54px,14.8vw,78px);line-height:1.02;letter-spacing:-.035em}.hero-banner__intro{font-size:12px;line-height:1.85;margin-top:24px;max-width:310px}.hero-banner__actions{margin-top:27px;gap:10px}.hero-banner .button{font-size:11px;padding:13px 17px;gap:19px;min-height:48px}.hero-banner__media img{object-position:50% 50%}.hero-banner__shade{background:linear-gradient(180deg,rgba(7,18,17,.56),rgba(7,18,17,.72) 25%,rgba(7,18,17,.78) 65%,rgba(7,18,17,.88))}.hero-banner__footer{bottom:22px;gap:20px;align-items:end}.hero-banner__location strong{font-size:10px;max-width:125px;line-height:1.6}.hero-banner__location small{font-size:8px}.hero-banner__credit{font-size:7px;max-width:145px}}
@media(max-width:360px){.hero-banner__actions{flex-direction:column;align-items:center}.hero-banner .button{min-width:190px}.hero-banner__content{padding-top:52px}.hero-banner{min-height:700px}.hero-banner .eyebrow{font-size:7px;letter-spacing:.1em}}
@media print{.hero-banner{min-height:0;background:white;color:black;display:block}.hero-banner__media,.hero-banner__shade,.hero-banner__footer{display:none}.hero-banner__content{padding:30px 0;width:100%}.hero-banner h1{font-size:60px;text-shadow:none}.hero-banner h1 em,.hero-banner__intro,.hero-banner .eyebrow{color:black}.hero-banner__actions{display:none}}
