@keyframes ch-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes ch-float{0%,to{transform:translate(0,0) scale(1)}50%{transform:translate(20px,15px) scale(1.05)}}/* :root → design-tokens.css */.ch-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--ch-gold);outline-offset:3px}.ch-reviews{background:linear-gradient(180deg,var(--ch-cream) 0%,var(--ch-cream-dark) 100%);padding:4rem 5%;overflow-x:hidden;contain:layout paint style}@media (min-width:768px){.ch-reviews{padding:6rem 5%}}.ch-reviews__header{text-align:center;max-width:700px;margin:0 auto 2rem}.ch-reviews__badge{display:inline-flex;align-items:center;gap:1rem;margin-bottom:1.5rem;font-family:var(--ch-font-heading);font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--ch-gold-dark)}.ch-reviews__title{font-family:var(--ch-font-display);font-size:clamp(2rem,1.5rem + 2.5vw,3.5rem);font-weight:300;color:var(--ch-navy);margin:0 0 1rem;line-height:1.15}.ch-reviews__title em{font-style:italic;color:var(--ch-gold-dark)}.ch-reviews__subtitle{font-family:var(--ch-font-body);font-size:1rem;color:var(--ch-text-muted);margin:0 0 2rem;font-style:italic}.ch-reviews__rating{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:50px;box-shadow:0 4px 20px rgba(0,0,0,.06);border:1px solid rgba(var(--ch-gold-rgb),.2)}.ch-reviews__stars{display:flex;gap:.1rem;color:var(--ch-gold);font-size:1rem}.ch-reviews__score{font-family:var(--ch-font-heading);color:var(--ch-navy)}.ch-reviews__score strong{font-size:1.5rem;font-weight:700}.ch-reviews__verified{padding-top:1rem;border-top:1px solid rgba(0,0,0,.1);text-align:center;width:100%}@media (min-width:768px){.ch-reviews__verified{padding-top:0;padding-left:1.5rem;border-top:0;border-left:1px solid rgba(0,0,0,.1);width:auto}}.ch-reviews__sources{font-family:var(--ch-font-heading);font-size:.875rem;font-weight:600;color:var(--ch-navy)}.ch-reviews__carousel{width:100%;overflow:hidden;margin-bottom:2rem;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}.ch-reviews__track{display:flex;gap:1.5rem;padding:1rem 0;animation:ch-scroll 80s linear infinite;width:max-content;will-change:transform;list-style:none;margin:0}.ch-reviews__track:focus-within,.ch-reviews__track:hover{animation-play-state:paused}.ch-review{flex:0 0 320px;background:#fff;border-radius:1.5rem;padding:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid rgba(var(--ch-gold-rgb),.1);transition:transform .3s var(--ch-ease),box-shadow .3s var(--ch-ease);position:relative}@media (min-width:768px){.ch-review{flex:0 0 380px;padding:2rem}}.ch-review::before{content:'"';position:absolute;top:1rem;right:1.5rem;font-family:var(--ch-font-display);font-size:5rem;line-height:1;color:rgba(var(--ch-gold-rgb),.06);pointer-events:none}.ch-review:focus-within,.ch-review:hover{transform:translateY(-8px);box-shadow:0 8px 40px rgba(0,0,0,.08)}.ch-review--tripadvisor{border-left:3px solid #00af87}.ch-review--google{border-left:3px solid #4285f4}.ch-review__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ch-review__source{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:600;text-transform:uppercase}.ch-review--tripadvisor .ch-review__source{color:#00af87}.ch-review--google .ch-review__source{color:#4285f4}.ch-review__source-icon,.ch-reviews__link svg{width:16px;height:16px}.ch-review__stars{color:var(--ch-gold);font-size:.875rem}.ch-review__text{font-family:var(--ch-font-body);font-size:1rem;line-height:1.75;color:var(--ch-text);margin:0 0 1.5rem;font-style:italic}.ch-review__author{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.05)}.ch-review__avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--ch-font-heading);font-weight:700;font-size:1rem;color:#fff}.ch-review--tripadvisor .ch-review__avatar{background:linear-gradient(135deg,#00af87,#00d4a8)}.ch-review--google .ch-review__avatar{background:linear-gradient(135deg,#4285f4,#5a9cf8)}.ch-review__name{display:block;font-family:var(--ch-font-heading);font-style:normal;font-weight:600;font-size:.875rem;color:var(--ch-navy)}.ch-review__location{font-size:.75rem;color:var(--ch-text-muted)}.ch-reviews__cta{text-align:center}.ch-reviews__link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-family:var(--ch-font-heading);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-gold-dark);text-decoration:none;border:2px solid rgba(var(--ch-gold-rgb),.25);border-radius:50px;transition:all .3s var(--ch-ease)}.ch-reviews__link:hover{background:var(--ch-gold);color:#fff;border-color:var(--ch-gold)}.ch-reviews__disclaimer{margin-top:1rem;font-size:.75rem;color:var(--ch-text-muted);font-style:italic}.ch-footer{position:relative;background:linear-gradient(180deg,var(--ch-navy) 0%,#050a14 100%);padding:4rem 5% 2rem;overflow-x:hidden;contain:layout paint style}@media (min-width:768px){.ch-footer{padding:6rem 5% 3rem}}.ch-footer__ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ch-footer__glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.2}.ch-footer__glow--gold{width:400px;height:400px;background:radial-gradient(circle,rgba(var(--ch-gold-rgb),.5) 0%,transparent 70%);top:-150px;left:-100px;animation:ch-float 20s var(--ch-ease) infinite}.ch-footer__glow--teal{width:350px;height:350px;background:radial-gradient(circle,rgba(var(--ch-teal-rgb),.4) 0%,transparent 70%);bottom:-100px;right:-50px;animation:ch-float 25s var(--ch-ease) infinite reverse}.ch-footer__container{position:relative;z-index:1;max-width:1400px;margin:0 auto}.ch-footer__grid{display:grid;grid-template-columns:1fr;gap:2rem;text-align:center}@media (min-width:768px){.ch-footer__grid{grid-template-columns:1fr 1fr;gap:3rem;text-align:left}}@media (min-width:1024px){.ch-footer__grid{grid-template-columns:1.5fr repeat(3,1fr)}}.ch-footer__brand{max-width:100%}@media (min-width:768px){.ch-footer__brand{grid-column:span 2;max-width:400px}}@media (min-width:1024px){.ch-footer__brand{grid-column:span 1}}.ch-footer__logo{margin-bottom:1.5rem}.ch-footer__logo-main{display:block;font-family:var(--ch-font-heading);font-size:1.5rem;font-weight:400;letter-spacing:.2em;color:var(--ch-gold);text-transform:uppercase}.ch-footer__logo-sub{display:block;font-family:var(--ch-font-body);font-size:.7rem;letter-spacing:.25em;color:rgba(255,255,255,.35);margin-top:.5rem;text-transform:uppercase}.ch-footer__tagline{font-family:var(--ch-font-body);font-size:1rem;line-height:1.8;color:rgba(255,255,255,.5);margin-bottom:1.5rem}.ch-footer__facts{font-size:.82rem;color:rgba(255,255,255,.45);margin-bottom:1.5rem;line-height:1.6}.ch-footer__social a,.ch-footer__trust{border:1px solid rgba(var(--ch-gold-rgb),.2);align-items:center}.ch-footer__trust{display:inline-flex;gap:1rem;padding:1rem;background:rgba(var(--ch-gold-rgb),.08);border-radius:1rem;margin-bottom:1.5rem}.ch-footer__trust-rating{display:flex;flex-direction:column;align-items:center;padding-right:1rem;border-right:1px solid rgba(255,255,255,.1)}.ch-footer__trust-stars{color:var(--ch-gold);font-size:.7rem}.ch-footer__trust-score{font-family:var(--ch-font-heading);font-size:1.1rem;font-weight:700;color:var(--ch-gold)}.ch-footer__trust-text{font-size:.7rem;color:rgba(255,255,255,.55);line-height:1.4}.ch-footer__trust-disclaimer{font-size:.65rem;color:rgba(255,255,255,.35);margin-top:.5rem;font-style:italic}.ch-footer__social ul{display:flex;justify-content:center;gap:.5rem;list-style:none;margin:0;padding:0}@media (min-width:768px){.ch-footer__social ul{justify-content:flex-start}}.ch-footer__social a{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.03);display:flex;justify-content:center;transition:all .3s var(--ch-ease)}.ch-footer__social svg{width:18px;height:18px;fill:rgba(255,255,255,.45);transition:fill .3s var(--ch-ease)}.ch-footer__social a:hover{background:rgba(var(--ch-gold-rgb),.2);border-color:var(--ch-gold)}.ch-footer__social a:hover svg{fill:var(--ch-gold)}.ch-footer__col h3{letter-spacing:.25em;margin:0 0 1rem;padding-bottom:1rem;border-bottom:1px solid rgba(var(--ch-gold-rgb),.2)}.ch-footer__col ul{list-style:none;margin:0;padding:0}.ch-footer__col li{margin-bottom:.5rem}.ch-footer__col a,.ch-footer__col address a,.ch-footer__col address span{font-family:var(--ch-font-body);font-size:.875rem;color:rgba(255,255,255,.5);text-decoration:none}.ch-footer__col a{transition:color .15s var(--ch-ease)}.ch-footer__col a:hover{color:#fff}.ch-footer__col address{font-style:normal}.ch-footer__col address a,.ch-footer__col address span{display:block;margin-bottom:.5rem;line-height:1.5}.ch-footer__cta{text-align:center;padding:2rem 0;margin-top:2rem;border-top:1px solid rgba(var(--ch-gold-rgb),.12)}.ch-footer__btn,.ch-footer__col h3{font-family:var(--ch-font-heading);font-size:.7rem;font-weight:600;text-transform:uppercase}.ch-footer__btn{display:inline-flex;align-items:center;gap:1rem;padding:1rem 2rem;background:var(--ch-gold);color:var(--ch-navy);letter-spacing:.12em;text-decoration:none;border-radius:50px;transition:all .3s var(--ch-ease);box-shadow:0 8px 30px rgba(var(--ch-gold-rgb),.25)}@media (min-width:768px){.ch-footer__btn{padding:1.5rem 3rem;font-size:.8rem}}.ch-footer__btn svg{width:18px;height:18px}.ch-footer__btn:hover{background:var(--ch-gold-light);transform:translateY(-3px);box-shadow:0 15px 50px rgba(var(--ch-gold-rgb),.35)}.ch-footer__cta-disclaimer{margin-top:1rem;font-size:.75rem;color:rgba(255,255,255,.35)}.ch-footer__bottom{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05);text-align:center}@media (min-width:768px){.ch-footer__bottom{flex-direction:row;justify-content:space-between}}.ch-footer__bottom p{font-size:.75rem;color:rgba(255,255,255,.3);margin:0}.ch-footer__bottom span,.ch-footer__col h3{color:var(--ch-gold)}@media (prefers-reduced-motion:reduce){.ch-reviews__track{flex-wrap:wrap;justify-content:center;width:auto}.ch-footer__glow,.ch-reviews__track{animation:none!important}.ch-footer__btn:hover,.ch-review:hover{transform:none!important}}@media (prefers-contrast:high){.ch-footer__trust-stars,.ch-review__stars,.ch-reviews__stars{color:#000;background:#fff;padding:.25rem .5rem;border:2px solid #000}}@media (forced-colors:active){.ch-footer__btn,.ch-review,.ch-reviews__rating{border:2px solid CanvasText}}