.cpg-native .rr-section { background:#f7f3eb; color:#111; padding:clamp(48px,6vw,88px) 0; }
.cpg-native .rr-inner { max-width:1360px; margin:auto; padding:0 clamp(20px,3vw,48px); }
.cpg-native .rr-section p { color:#565b60; font-size:clamp(16px,1.25vw,18px); line-height:1.7; margin:0; }
.cpg-native .rr-section h2 { font-size:clamp(32px,3.6vw,52px); line-height:1.08; letter-spacing:-.025em; margin:0; }
.cpg-native .rr-logo { width:160px; max-height:88px; height:auto; object-fit:contain; object-position:left; margin:0 0 28px; }
.cpg-native .rr-hotel-intro { max-width:720px; margin-bottom:28px; }
.cpg-native .rr-hotel-intro h2 { max-width:720px; }
.cpg-native .rr-hotel-intro p { max-width:660px; margin-top:22px; }
.cpg-native .rr-hospitality { position:relative; }
.cpg-native .rr-hospitality--media { padding:clamp(24px,4vw,56px); border-radius:4px; overflow:hidden; background:#203523; color:#fff; }
.cpg-native .rr-hospitality-bg { position:absolute; inset:0; pointer-events:none; }
.cpg-native .rr-hospitality-bg img,.cpg-native .rr-hospitality-bg video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cpg-native .rr-hospitality-bg:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,25,19,.86),rgba(10,25,19,.64)); }
.cpg-native .rr-hospitality-content { position:relative; z-index:1; }
.cpg-native .rr-hospitality--media :is(h2,p,dt,dd) { color:#fff; }
.cpg-native .rr-hospitality--media .rr-logo { filter:brightness(0) invert(1); }
.cpg-native .rr-hospitality--media .rr-stats,.cpg-native .rr-hospitality--media .rr-stats>div { border-color:rgba(255,255,255,.35); }
.cpg-native .rr-hospitality .rr-stats dd { font-size:clamp(18px,2vw,28px); }
.cpg-native .rr-video-toggle { margin:16px 0 0; display:block; background:transparent; color:#fff; border:1px solid #fff; padding:12px 16px; min-height:44px; border-radius:4px; }
.cpg-native .rr-video-toggle[hidden] { display:none; }
.cpg-native .rr-video-toggle:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.cpg-native .rr-button { display:inline-flex; gap:18px; align-items:center; justify-content:center; min-height:48px; max-width:100%; padding:14px 22px; background:#c8aa6e; color:#111; border:1px solid #c8aa6e; border-radius:4px; font-size:15px; line-height:1.4; font-weight:600; text-decoration:none; text-align:center; }
.cpg-native .rr-button span { flex-shrink:0; font-size:19px; }
.cpg-native .rr-button--outline { background:transparent; border-color:#a4a89f; }
.cpg-native .rr-button:hover { background:#203523; color:#fff; border-color:#203523; }
.cpg-native .rr-button:focus-visible { outline:2px solid #203523; outline-offset:4px; }
.cpg-native .rr-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); border-block:1px solid #d4d3c9; margin:30px 0; }
.cpg-native .rr-stats>div { display:flex; flex-direction:column-reverse; padding:20px 24px; border-right:1px solid #d4d3c9; }
.cpg-native .rr-stats>div:first-child { padding-left:0; }
.cpg-native .rr-stats>div:last-child { border:0; }
.cpg-native .rr-stats dt { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#565b60; }
.cpg-native .rr-stats dd { margin:0 0 8px; font-family:var(--display); font-size:clamp(28px,3vw,42px); line-height:1.2; color:#587047; }
.cpg-native .rr-hospitality--media .rr-stats :is(dt,dd) { color:#fff; }
@media(max-width:600px) { .cpg-native .rr-hospitality .rr-stats { grid-template-columns:1fr; } .cpg-native .rr-hospitality .rr-stats>div { padding:14px 0; border-right:0; border-bottom:1px solid #d4d3c9; } .cpg-native .rr-hospitality .rr-stats>div:last-child { border-bottom:0; } .cpg-native .rr-hospitality--media .rr-stats>div { border-color:rgba(255,255,255,.35); } }
.cpg-native .rr-residence { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(28px,5vw,80px); align-items:center; padding-top:clamp(36px,4vw,56px); margin-top:clamp(36px,4vw,56px); border-top:1px solid #cfcec4; }
.cpg-native .rr-residence-copy .rr-eyebrow { font-size:11px; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; color:#587047; margin-bottom:18px; }
.cpg-native .rr-residence h2 { margin-bottom:22px; }
.cpg-native .rr-residence-media { align-self:stretch; min-height:300px; border-radius:4px; overflow:hidden; }
.cpg-native .rr-residence-media img { display:block; width:100%; height:100%; object-fit:cover; }
.cpg-native .rr-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.cpg-native .rr-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:32px; }
.cpg-native .rr-benefits article { background:#fff; border:1px solid #dfdfd7; border-radius:4px; padding:26px 22px; min-width:0; }
.cpg-native .rr-benefits h3 { font-size:20px; line-height:1.18; margin:0 0 14px; }
.cpg-native .rr-benefits p { font-size:15px; line-height:1.65; }
.cpg-native .rr-details { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,80px); border-top:1px solid #cfcec4; margin-top:clamp(36px,4vw,56px); padding-top:clamp(32px,3vw,44px); scroll-margin-top:110px; }
.cpg-native .rr-details h3 { font-size:clamp(25px,2.4vw,32px); margin:0 0 24px; }
.cpg-native .rr-details h4 { font-family:var(--display); font-size:20px; line-height:1.3; color:#111; margin:0 0 8px; font-weight:500; }
.cpg-native .rr-steps { padding:0; margin:0; list-style:none; counter-reset:rr-step; }
.cpg-native .rr-steps li { display:flex; gap:20px; border-top:1px solid #d4d3c9; padding:20px 0; counter-increment:rr-step; }
.cpg-native .rr-steps li:before { content:counter(rr-step,decimal-leading-zero); color:#587047; font-size:14px; line-height:26px; flex:0 0 24px; }
.cpg-native .rr-details p,.cpg-native .rr-includes dd { font-size:16px; line-height:1.65; }
.cpg-native .rr-includes { margin:0; }
.cpg-native .rr-includes>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:18px; padding:17px 0; border-top:1px solid #d4d3c9; }
.cpg-native .rr-includes dt { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#587047; padding-top:4px; }
.cpg-native .rr-includes dd { margin:0; color:#565b60; }
.cpg-native .rr-section :is(h2,h3,h4,p,dt,dd) { overflow-wrap:anywhere; }
@media(max-width:1000px) { .cpg-native .rr-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } .cpg-native .rr-includes>div { grid-template-columns:90px minmax(0,1fr); gap:12px; } }
@media(max-width:700px) { .cpg-native .rr-hotel-intro,.cpg-native .rr-residence,.cpg-native .rr-details { grid-template-columns:1fr; gap:24px; } .cpg-native .rr-logo { width:135px; margin-bottom:24px; } .cpg-native .rr-residence-media { min-height:0; aspect-ratio:4/3; } .cpg-native .rr-details { gap:36px; } .cpg-native .rr-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } .cpg-native .rr-stats>div { padding:16px 10px; } .cpg-native .rr-stats dt { font-size:10px; letter-spacing:.03em; } }
@media(max-width:440px) { .cpg-native .rr-benefits { grid-template-columns:1fr; gap:12px; } .cpg-native .rr-benefits article { padding:22px; } .cpg-native .rr-actions { flex-direction:column; align-items:stretch; } .cpg-native .rr-button { padding:13px 16px; } }
