/* RECESS / CLASS @ RECESS / page-scoped rules, v1.0 */
#rs-main.rs-cp{background:#101314;color:#f5f1eb;overflow:clip;--cp-ink:#101314;--cp-cream:#ebe6dc;--cp-gold:#c9a468;--cp-line:rgba(255,255,255,.15);font-family:Poppins,Arial,sans-serif}
#rs-main.rs-cp *{box-sizing:border-box}
#rs-main.rs-cp .rs-shell{width:min(100% - 48px,1360px);margin-inline:auto}
#rs-main.rs-cp button,#rs-main.rs-cp input{font:inherit}
#rs-main.rs-cp .rs-cp__hero{position:relative;min-height:615px;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:stretch;background:radial-gradient(ellipse at 19% 30%,#242323 0%,#111415 60%);isolation:isolate}
#rs-main.rs-cp .rs-cp__hero-copy{padding:clamp(56px,7vw,112px) clamp(26px,5vw,76px) 64px max(24px,calc((100vw - 1360px)/2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;max-width:850px}
#rs-main.rs-cp .rs-cp__eyebrow{color:#d5b375;text-transform:uppercase;letter-spacing:.23em;font:600 11px/1.5 Poppins,Arial,sans-serif}
#rs-main.rs-cp .rs-cp__hero h1{font-size:clamp(54px,5.7vw,100px);line-height:.99;letter-spacing:-.022em;font-weight:700;margin:25px 0 26px;color:#f7f3ec}
#rs-main.rs-cp .rs-cp__hero h1 span{display:block}
#rs-main.rs-cp .rs-cp__hero h1 .rs-cp__outline{font-family:Recess,Georgia,serif;font-size:.96em;font-weight:400;letter-spacing:-.025em;line-height:1.13;white-space:nowrap}
#rs-main.rs-cp .rs-cp__hero h1 .rs-cp__gold{color:#d0ad72}
#rs-main.rs-cp .rs-cp__hero-desc{font:400 clamp(16px,1.4vw,19px)/1.7 Poppins,Arial,sans-serif;max-width:470px;color:#e4e1dd;margin:0 0 35px}
#rs-main.rs-cp .rs-cp__actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
#rs-main.rs-cp .rs-cp__button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:17px 24px;background:var(--cp-gold);color:#161819!important;min-height:52px;text-decoration:none!important;font:700 12px/1.3 Poppins,Arial,sans-serif;letter-spacing:.06em;transition:background .22s,transform .22s}
#rs-main.rs-cp .rs-cp__button:hover{background:#e5c487;transform:translateY(-2px)}
#rs-main.rs-cp .rs-cp__text-link{color:#f6f0e8!important;text-decoration:none;border-bottom:1px solid #bd955f;letter-spacing:.07em;font:600 12px/1.4 Poppins,Arial,sans-serif;padding:10px 0}
#rs-main.rs-cp .rs-cp__hero-photo{position:relative;min-height:540px;overflow:hidden}
#rs-main.rs-cp .rs-cp__hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;filter:saturate(.82)}
#rs-main.rs-cp .rs-cp__hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101314 0%,transparent 32%),linear-gradient(0deg,rgba(16,19,20,.6),transparent 48%);pointer-events:none}
#rs-main.rs-cp .rs-cp__hero-photo-label{position:absolute;bottom:25px;right:28px;z-index:1;color:#fff;letter-spacing:.18em;font-size:10px;font-weight:700}
#rs-main.rs-cp .rs-cp__intro{padding:94px 0 42px}
#rs-main.rs-cp .rs-cp__intro-row{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:42px}
#rs-main.rs-cp h2{margin:18px 0 0;font-weight:750;letter-spacing:-.04em;font-size:clamp(38px,4vw,68px);line-height:1.09;color:#f7f2ec}
#rs-main.rs-cp h2 em{font-style:normal;color:var(--cp-gold)}
#rs-main.rs-cp .rs-cp__intro-row>p{max-width:410px;margin:0 0 3px;color:#bfc3c0;font-size:15px;line-height:1.8}
#rs-main.rs-cp .rs-cp__filter-section{padding:38px 0 106px}
#rs-main.rs-cp .rs-cp__filterbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:23px;padding-bottom:22px;border-bottom:1px solid var(--cp-line)}
#rs-main.rs-cp .rs-cp__filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#rs-main.rs-cp .rs-cp__filter{border:1px solid #444b49;background:transparent;color:#e5e8e5;padding:11px 14px;min-height:44px;font-weight:600;letter-spacing:.09em;font-size:11px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
#rs-main.rs-cp .rs-cp__filter[aria-pressed="true"]{background:#c9a468;border-color:#c9a468;color:#151818}
#rs-main.rs-cp .rs-cp__filter:hover{border-color:#d1af79}
#rs-main.rs-cp .rs-cp__count{color:#bfc4c0;white-space:nowrap;font:500 11px/1.5 Poppins,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
#rs-main.rs-cp .rs-cp__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px;grid-auto-flow:row dense}
#rs-main.rs-cp .rs-cp__tile{grid-column:span 3;min-height:365px;border:1px solid rgba(255,255,255,.10);position:relative;isolation:isolate;display:flex;text-align:left;align-items:flex-end;overflow:hidden;cursor:pointer;padding:0;background:#202525;color:white;width:100%;appearance:none}
#rs-main.rs-cp .rs-cp__tile--wide{grid-column:span 6}
#rs-main.rs-cp .rs-cp__tile img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 41%;z-index:-2;transition:transform .5s cubic-bezier(.18,.7,.15,1),filter .3s;filter:brightness(.77) saturate(.84)}
#rs-main.rs-cp .rs-cp__tile-shade{z-index:-1;position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 59%),linear-gradient(180deg,rgba(0,0,0,.36),transparent 33%)}
#rs-main.rs-cp .rs-cp__tile-top{position:absolute;top:23px;left:24px;color:#edcd96;font-weight:700;letter-spacing:.18em;font-size:10px;text-transform:uppercase}
#rs-main.rs-cp .rs-cp__tile-bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:24px}
#rs-main.rs-cp .rs-cp__tile-bottom strong{display:block;font-size:clamp(20px,2vw,31px);line-height:1.05;letter-spacing:-.02em;font-weight:750;color:#fff;max-width:400px}
#rs-main.rs-cp .rs-cp__tile-bottom small{display:block;margin-top:12px;font:500 12px/1.4 Poppins,Arial,sans-serif;color:#e7e2da}
#rs-main.rs-cp .rs-cp__tile-arrow{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #d1ad76;color:#edc786;font-size:21px;line-height:1;transition:background .2s,color .2s}
#rs-main.rs-cp .rs-cp__tile:hover img,#rs-main.rs-cp .rs-cp__tile:focus-visible img{transform:scale(1.055);filter:brightness(.9) saturate(.95)}
#rs-main.rs-cp .rs-cp__tile:hover .rs-cp__tile-arrow,#rs-main.rs-cp .rs-cp__tile:focus-visible .rs-cp__tile-arrow{background:#c9a468;color:#141414}
#rs-main.rs-cp .rs-cp__tile[hidden]{display:none!important}
#rs-main.rs-cp .rs-cp__tile.rs-cp__missing-image img{display:none}
#rs-main.rs-cp .rs-cp__tile.rs-cp__missing-image{background:linear-gradient(135deg,#273130,#131616)}
#rs-main.rs-cp .rs-cp__guide{background:#ebe7de;color:#101314;padding:90px 0 94px}
#rs-main.rs-cp .rs-cp__guide-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6vw;align-items:center}
#rs-main.rs-cp .rs-cp__guide h2{color:#141818;margin-bottom:22px}
#rs-main.rs-cp .rs-cp__guide p{font:400 16px/1.75 Poppins,Arial,sans-serif;color:#39403e;max-width:560px}
#rs-main.rs-cp .rs-cp__guide-points{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:30px}
#rs-main.rs-cp .rs-cp__guide-point{border-top:1px solid #aaa59b;padding-top:15px;font-size:13px;line-height:1.6}
#rs-main.rs-cp .rs-cp__guide-point b{display:block;font-size:16px;color:#101314;margin-bottom:6px}
#rs-main.rs-cp .rs-cp__guide-photo{height:530px;position:relative;overflow:hidden}
#rs-main.rs-cp .rs-cp__guide-photo img{width:100%;height:100%;display:block;object-fit:cover}
#rs-main.rs-cp .rs-cp__guide-stamp{position:absolute;bottom:0;left:0;padding:13px 18px;background:#c9a468;font-size:11px;font-weight:700;letter-spacing:.12em;color:#151819}
#rs-main.rs-cp .rs-cp__signup{position:relative;padding:110px 0 125px;text-align:center;isolation:isolate;background:#151918}
#rs-main.rs-cp .rs-cp__signup-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.35) saturate(.6)}
#rs-main.rs-cp .rs-cp__signup:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,12,12,.68),rgba(8,12,12,.25),rgba(8,12,12,.68))}
#rs-main.rs-cp .rs-cp__signup h2{font-size:clamp(40px,5.6vw,90px);max-width:1000px;margin:16px auto 18px}
#rs-main.rs-cp .rs-cp__signup p{font:400 16px/1.7 Poppins,Arial,sans-serif;max-width:570px;margin:0 auto 26px;color:#eee}
#rs-main.rs-cp :is(a,button):focus-visible{outline:3px solid #f3ce90;outline-offset:4px}
/* Native dialog is moved under body, so styles are global but uniquely identified. */
#rs-classes-dialog{border:1px solid rgba(201,164,104,.35);background:#101515;color:#f5f0e7;padding:0;width:min(780px,calc(100vw - 30px));max-height:min(91dvh,920px);overflow:auto;box-shadow:0 36px 100px rgba(0,0,0,.65);font-family:Poppins,Arial,sans-serif}
#rs-classes-dialog::backdrop{background:rgba(1,6,6,.81);backdrop-filter:blur(10px)}
#rs-classes-dialog .rs-cp-dialog__content{padding:clamp(19px,3vw,35px)}
#rs-classes-dialog .rs-cp-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#rs-classes-dialog .rs-cp-dialog__head span{color:#cdaa74;letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:600}
#rs-classes-dialog .rs-cp-dialog__close{appearance:none;border:1px solid #515959;background:#181d1c;color:#fff;cursor:pointer;min-height:44px;padding:9px 14px;font:600 12px/1.2 Poppins,Arial,sans-serif}
#rs-classes-dialog .rs-cp-dialog__category{color:#d4af72;font:700 11px/1.4 Poppins,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin:29px 0 9px}
#rs-classes-dialog h2{color:#fff;font-size:clamp(29px,4vw,48px);line-height:1.1;margin:0 0 20px;font-weight:750;letter-spacing:-.03em}
#rs-classes-dialog .rs-cp-dialog__photo{width:100%;aspect-ratio:16/9;margin:0 0 23px;overflow:hidden;background:#232929}
#rs-classes-dialog .rs-cp-dialog__photo img{display:block;width:100%;height:100%;object-fit:cover}
#rs-classes-dialog .rs-cp-dialog__photo.is-missing{display:none}
#rs-classes-dialog .rs-cp-dialog__description{font:400 15px/1.78 Poppins,Arial,sans-serif;color:#e6e4dd}
#rs-classes-dialog .rs-cp-dialog__description p{margin:0 0 12px;color:inherit;font:inherit}
#rs-classes-dialog .rs-cp-dialog__meta{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:26px 0 23px;border-top:1px solid #45504d}
#rs-classes-dialog .rs-cp-dialog__meta>div{padding:16px 0;border-bottom:1px solid #35403c}
#rs-classes-dialog .rs-cp-dialog__meta dt{color:#cfad78;font-size:10px;font-weight:700;letter-spacing:.17em;margin-bottom:7px}
#rs-classes-dialog .rs-cp-dialog__meta dd{color:#f6f2ec;font:500 13px/1.6 Poppins,Arial,sans-serif;margin:0}
#rs-classes-dialog .rs-cp-dialog__cta{display:flex;align-items:center;justify-content:center;gap:17px;background:#c9a468;color:#141716!important;text-decoration:none;padding:15px;min-height:52px;font:700 12px/1.3 Poppins,Arial,sans-serif;letter-spacing:.09em}
#rs-classes-dialog .rs-cp-dialog__cta:hover{background:#e4c389}
#rs-classes-dialog .rs-cp-dialog__note{font-size:11px;line-height:1.6;color:#adb4b0;margin:12px 0 0}
#rs-classes-dialog :is(button,a):focus-visible{outline:3px solid #f3ce90;outline-offset:3px}
body.rs-cp-dialog-open{overflow:hidden}
@media(max-width:1150px){#rs-main.rs-cp .rs-cp__grid{grid-template-columns:repeat(2,minmax(0,1fr))}#rs-main.rs-cp .rs-cp__tile,#rs-main.rs-cp .rs-cp__tile--wide{grid-column:auto;min-height:350px}}
@media(max-width:820px){#rs-main.rs-cp .rs-cp__hero{grid-template-columns:1fr;min-height:unset}#rs-main.rs-cp .rs-cp__hero-copy{padding:60px 24px 50px}#rs-main.rs-cp .rs-cp__hero h1{font-size:clamp(45px,9vw,74px)}#rs-main.rs-cp .rs-cp__hero-photo{min-height:340px;height:38vh;max-height:480px}#rs-main.rs-cp .rs-cp__hero-photo:after{background:linear-gradient(0deg,rgba(16,19,20,.62),transparent 50%)}#rs-main.rs-cp .rs-cp__intro-row,#rs-main.rs-cp .rs-cp__guide-grid{grid-template-columns:1fr;gap:25px}#rs-main.rs-cp .rs-cp__guide-photo{height:410px}#rs-main.rs-cp .rs-cp__intro{padding:65px 0 20px}#rs-main.rs-cp .rs-cp__filter-section{padding:26px 0 72px}#rs-main.rs-cp .rs-cp__guide{padding:72px 0}#rs-main.rs-cp .rs-cp__signup{padding:84px 0 94px}}
@media(max-width:580px){#rs-main.rs-cp .rs-shell{width:min(100% - 36px,1360px)}#rs-main.rs-cp .rs-cp__hero-copy{padding:45px 20px 38px}#rs-main.rs-cp .rs-cp__hero h1{font-size:clamp(42px,11vw,62px);margin:18px 0}#rs-main.rs-cp .rs-cp__hero h1 .rs-cp__outline{font-size:.83em;letter-spacing:-.04em}#rs-main.rs-cp .rs-cp__hero-desc{font-size:15px}#rs-main.rs-cp .rs-cp__hero-photo{height:290px;min-height:290px}#rs-main.rs-cp .rs-cp__actions{align-items:stretch;gap:11px}#rs-main.rs-cp .rs-cp__button{width:100%}#rs-main.rs-cp h2{font-size:clamp(35px,10vw,50px)}#rs-main.rs-cp .rs-cp__grid{grid-template-columns:1fr;gap:12px}#rs-main.rs-cp .rs-cp__tile{min-height:340px}#rs-main.rs-cp .rs-cp__filter{font-size:10px;padding:10px 10px}#rs-main.rs-cp .rs-cp__filterbar{align-items:flex-start}#rs-main.rs-cp .rs-cp__guide-points{grid-template-columns:1fr}#rs-main.rs-cp .rs-cp__guide-photo{height:330px}#rs-main.rs-cp .rs-cp__signup{padding:74px 0 90px}#rs-classes-dialog{height:100dvh;width:100vw;max-height:100dvh;max-width:100vw;border:0}#rs-classes-dialog .rs-cp-dialog__content{padding:22px 18px max(28px,env(safe-area-inset-bottom))}#rs-classes-dialog .rs-cp-dialog__photo{aspect-ratio:4/3}#rs-classes-dialog .rs-cp-dialog__meta{grid-template-columns:1fr 1fr;gap:0 12px}}
@media(prefers-reduced-motion:reduce){#rs-main.rs-cp .rs-cp__tile img,#rs-main.rs-cp .rs-cp__button{transition:none!important;transform:none!important}#rs-classes-dialog::backdrop{backdrop-filter:none}}


/* V1.1: tighter classes hero and balanced image height */
@media (min-width: 821px) {
  #rs-main.rs-cp .rs-cp__hero { min-height: 470px; }
  #rs-main.rs-cp .rs-cp__hero-copy {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  #rs-main.rs-cp .rs-cp__hero-photo { min-height: 470px; height: 470px; }
}
@media (min-width: 821px) and (max-width: 1100px) {
  #rs-main.rs-cp .rs-cp__hero { min-height: 440px; }
  #rs-main.rs-cp .rs-cp__hero-photo { min-height: 440px; height: 440px; }
}
@media (max-width: 820px) {
  #rs-main.rs-cp .rs-cp__hero-copy { padding-top: 40px; padding-bottom: 32px; }
  #rs-main.rs-cp .rs-cp__hero-photo { min-height: 275px; height: 32vh; max-height: 350px; }
}
@media (max-width: 580px) {
  #rs-main.rs-cp .rs-cp__hero-copy { padding-top: 34px; padding-bottom: 28px; }
  #rs-main.rs-cp .rs-cp__hero-photo { min-height: 235px; height: 235px; max-height: none; }
}
