
/* CHR keyboard navigation & usability layer for staging */
.chr-skip-link{position:fixed;top:10px;left:12px;z-index:99999;background:#123638;color:#fff;padding:12px 17px;border:2px solid #d4b079;border-radius:4px;text-decoration:none;font-size:15px;font-weight:700;transform:translateY(-180%)}
.chr-skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[role='button']):focus-visible{outline:3px solid #c79c62!important;outline-offset:3px!important}
#main-content:focus{outline:none}
.chr-article-body img,.chr-completion-body img{max-width:100%;height:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* CHR photograph-led resort guide system: vivid photography and restrained text shadow */
.chr-completion-hero.has-photo{background-color:#123d3e;background-size:cover!important;background-position:center center!important;min-height:clamp(355px,31vw,525px);display:flex;align-items:center}
.chr-completion-hero.has-photo::before{background:linear-gradient(90deg,rgba(8,32,38,.64) 0%,rgba(8,32,38,.40) 30%,rgba(8,32,38,.12) 62%,rgba(8,32,38,.005) 100%)!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.chr-completion-hero h1,.chr-completion-hero p,.chr-completion-hero .chr-completion-kicker{text-shadow:0 2px 12px rgba(3,22,30,.62)}
.chr-completion-hero-inner{position:relative;max-width:1180px;margin:auto;width:100%}
.sub-hero-photo,.hero-bg{filter:none!important;image-rendering:auto}
.sub-overlay{background:linear-gradient(90deg,rgba(6,33,41,.62) 0%,rgba(7,35,42,.36) 35%,rgba(8,37,43,.07) 70%,transparent 100%)!important;backdrop-filter:none!important}
.hero-shade{background:linear-gradient(90deg,rgba(6,31,39,.66) 0%,rgba(7,32,39,.38) 38%,rgba(7,32,39,.07) 75%,transparent 100%)!important;backdrop-filter:none!important}
.chr-completion-directory article,.chr-archive-card{overflow:hidden;display:flex;flex-direction:column;min-width:0}
.chr-directory-photo{display:block;position:relative;aspect-ratio:16/9;background:#e6ede7;overflow:hidden;margin:-24px -24px 17px;text-decoration:none!important}
.chr-directory-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:none;transition:transform .3s ease}
.chr-directory-photo:hover img,.chr-directory-photo:focus-visible img{transform:scale(1.035)}
.chr-directory-photo span{position:absolute;bottom:0;left:0;right:0;padding:27px 12px 11px;background:linear-gradient(0deg,rgba(8,32,35,.80),transparent);color:#fff;font-size:11px;line-height:1.4;text-shadow:0 1px 4px #182f30}
.chr-archive-card .chr-archive-preview{margin:-24px -24px 12px}
.chr-photo-directory-intro p{font-size:14px;line-height:1.65;color:#526963;margin:15px 0 30px}
@media(max-width:720px){.chr-directory-photo{margin:-20px -20px 16px}.chr-completion-hero.has-photo{background-position:57% center!important}.chr-completion-hero.has-photo::before{background:linear-gradient(90deg,rgba(6,31,38,.78),rgba(6,31,38,.38) 76%,rgba(6,31,38,.09))!important}}
/* CHR editorial photo sequences: subject-led imagery between written guide sections */
.chr-interstitial-gallery{margin:25px 0 37px;padding:29px 0 34px;border-top:1px solid #dce4dc;border-bottom:1px solid #dce4dc}
.chr-interstitial-heading h2{font:400 clamp(26px,3vw,36px)/1.17 Georgia,serif;color:#183b39;margin:8px 0 12px}
.chr-interstitial-heading p{max-width:750px;font-size:15px;line-height:1.7;color:#536963;margin:0 0 22px}
.chr-interstitial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.chr-interstitial-grid.chr-photo-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.chr-interstitial-tile{min-width:0;margin:0;background:#fff;border:1px solid #e3e8df;overflow:hidden}
.chr-interstitial-tile img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.chr-interstitial-tile figcaption{font-size:12px;line-height:1.55;padding:12px;color:#49645e}
.chr-interstitial-cta{display:flex;gap:11px;flex-wrap:wrap;margin-top:20px}
.chr-interstitial-cta a{display:inline-flex;padding:12px 15px;text-decoration:none!important;background:#143b3b;color:white!important;border-radius:3px;font-size:13px;line-height:1.4}
.chr-interstitial-cta a:first-child{background:transparent;color:#143b3b!important;border:1px solid #9dafa9}
@media(max-width:800px){.chr-interstitial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.chr-interstitial-grid,.chr-interstitial-grid.chr-photo-two{grid-template-columns:1fr}.chr-interstitial-tile img{aspect-ratio:16/10}.chr-interstitial-cta a{width:100%;justify-content:center}}
/* CHR acronym-qualified resort catalog: exactly matched property imagery */
.chr-photo-resort-index{margin:35px 0 40px;padding:28px 0 34px;border-top:1px solid #d9e3dd;border-bottom:1px solid #d9e3dd}
.chr-photo-resort-heading>span{font-size:11px;letter-spacing:.16em;color:#b38b53;font-weight:700}
.chr-photo-resort-heading h2{font:400 clamp(27px,3.2vw,41px)/1.18 Georgia,serif;color:#143b39;margin:12px 0}
.chr-photo-resort-heading p{font-size:15px;line-height:1.7;color:#53716b;max-width:730px;margin:0 0 25px}
.chr-photo-resort-region{margin-top:27px}.chr-photo-resort-region>h3{font:400 27px/1.3 Georgia,serif;margin:0 0 14px;color:#234442}
.chr-photo-resort-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.chr-photo-resort-card{background:#fff;border:1px solid #e4e9e3;overflow:hidden;min-width:0}
.chr-photo-resort-card>a{display:block;overflow:hidden}.chr-photo-resort-card img{display:block;width:100%;height:auto;aspect-ratio:1500/795;object-fit:cover;transition:transform .24s ease}
.chr-photo-resort-card:hover img{transform:scale(1.025)}
.chr-photo-resort-info{padding:17px 18px 19px}.chr-photo-resort-place{font-size:11px;letter-spacing:.11em;color:#a07e52;text-transform:uppercase}
.chr-photo-resort-info h3{font:400 24px/1.25 Georgia,serif;color:#183d39;margin:8px 0 9px}.chr-photo-resort-info p{font-size:13px;line-height:1.6;color:#5c706b;margin:0 0 15px}
.chr-photo-resort-links{display:flex;flex-wrap:wrap;gap:8px}.chr-photo-resort-links a{font-size:12px;line-height:1.4;text-decoration:none!important;color:#135356!important;border-bottom:1px solid #b5ccc3;padding:4px 0}
@media(max-width:640px){.chr-photo-resort-grid{grid-template-columns:1fr}.chr-photo-resort-info{padding:15px}}