/* Rose Cottage Home Widgets — shared editorial design language */
.rch-hero,.rch-story-section,.rch-season-section,.rch-reach-section{box-sizing:border-box;font-family:inherit;color:#25352c}
.rch-hero *,.rch-story-section *,.rch-season-section *,.rch-reach-section *{box-sizing:border-box}
.rch-hero{position:relative;isolation:isolate;width:100%;min-height:650px;display:flex;align-items:stretch;background-color:#26372e;background-position:center;background-size:cover;overflow:hidden}
.rch-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.rch-hero-overlay{position:absolute;inset:0;background:rgba(21,37,29,.45);z-index:-1}
.rch-hero-inner{width:min(100%,1440px);margin:auto;padding:clamp(24px,5vw,80px);display:flex;align-items:center}
.rch-hero--left .rch-hero-inner{justify-content:flex-start}.rch-hero--center .rch-hero-inner{justify-content:center;text-align:center}.rch-hero--right .rch-hero-inner{justify-content:flex-end}
.rch-hero-panel{max-width:760px;width:46%;padding:clamp(24px,3.4vw,52px);background:rgba(21,37,29,.72);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.14)}
.rch-eyebrow{font-size:12px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#a88b54;margin:0 0 16px}
.rch-hero h1,.rch-section-title,.rch-season-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.08}
.rch-hero h1{font-size:clamp(38px,5vw,76px);margin:0 0 20px;color:#fff}
.rch-hero-copy{font-size:clamp(15px,1.2vw,18px);line-height:1.7;color:#f6f2e9;margin-bottom:28px}
.rch-button{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:#c7a66a;border:1px solid #c7a66a;color:#17251d!important;text-decoration:none!important;font-size:13px;letter-spacing:.035em;font-weight:600;transition:transform .2s ease,background .2s ease}
.rch-button:hover{transform:translateY(-2px);background:#d6b97f}
.rch-story-section,.rch-season-section,.rch-reach-section{padding:clamp(52px,6vw,88px) clamp(20px,4vw,64px);background:#f7f4ec}
.rch-section-inner{width:100%;max-width:1320px;margin:0 auto}
.rch-section-title{font-size:clamp(32px,4vw,56px);margin:0 0 16px;color:#26372e}
.rch-section-intro{max-width:720px;font-size:16px;line-height:1.75;color:#5e665f;margin:0 0 32px}
.rch-card-grid{display:grid;grid-template-columns:repeat(var(--rch-columns,3),minmax(0,1fr));gap:24px}
.rch-story-card{min-width:0;background:#fff;border:1px solid rgba(38,55,46,.12);overflow:hidden;display:flex;flex-direction:column}
.rch-card-image{height:280px;overflow:hidden;background:#e5e1d7}
.rch-card-image img,.rch-season-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.rch-story-card:hover .rch-card-image img{transform:scale(1.035)}
.rch-card-body{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.rch-card-body h3,.rch-route-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(22px,2vw,29px);line-height:1.2;color:#26372e;margin:0 0 10px}
.rch-card-body p,.rch-route-card p{font-size:15px;line-height:1.7;color:#646b64;margin:0 0 18px}
.rch-card-link{color:#9b7b43;text-decoration:none!important;font-size:13px;font-weight:600;letter-spacing:.025em;margin-top:auto}
.rch-card-link:hover{text-decoration:underline!important}
.rch-story--overlay .rch-story-card{position:relative;min-height:380px;background:#25372c}
.rch-story--overlay .rch-card-image{position:absolute;inset:0;height:100%}
.rch-story--overlay .rch-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,27,21,.88),rgba(15,27,21,0) 75%)}
.rch-story--overlay .rch-card-body{position:relative;z-index:1;justify-content:flex-end;margin-top:auto;color:#fff}
.rch-story--overlay .rch-card-body h3,.rch-story--overlay .rch-card-body p{color:#fff}
.rch-story--horizontal .rch-story-card{display:grid;grid-template-columns:42% 1fr}
.rch-story--horizontal .rch-card-image{height:100%;min-height:230px}
.rch-season-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.rch-season-card{background:#fff;border:1px solid rgba(38,55,46,.12);overflow:hidden}
.rch-season-image{height:400px;overflow:hidden;background:#e5e1d7}
.rch-season-copy{padding:26px}
.rch-season-copy h2{font-size:clamp(27px,3vw,40px);margin:0 0 12px;color:#26372e}
.rch-season-copy>p:last-child{font-size:15px;line-height:1.75;color:#646b64;margin:0}
.rch-route-grid{display:grid;grid-template-columns:repeat(var(--rch-columns,3),minmax(0,1fr));gap:22px}
.rch-route-card{padding:28px;background:#fff;border:1px solid rgba(38,55,46,.14);min-width:0}
.rch-route-icon{font-size:26px;color:#a88b54;margin-bottom:18px}
.rch-route-card h3{font-size:25px}
@media(max-width:1024px){
 .rch-hero-panel{width:min(70%,700px)}.rch-hero-inner{padding:36px}
 .rch-story-section,.rch-season-section,.rch-reach-section{padding:56px 28px}
 .rch-card-image{height:250px}.rch-season-image{height:320px}
}
@media(max-width:767px){
 .rch-hero{min-height:620px}
 .rch-hero-inner{padding:20px;align-items:flex-end}
 .rch-hero-panel{width:100%;max-width:none;padding:24px}
 .rch-hero--center .rch-hero-inner{align-items:center}
 .rch-hero h1{font-size:clamp(36px,10vw,52px)}
 .rch-story-section,.rch-season-section,.rch-reach-section{padding:44px 18px}
 .rch-section-title{font-size:clamp(30px,8vw,40px)}
 .rch-section-intro{margin-bottom:24px;font-size:15px}
 .rch-card-grid,.rch-route-grid{grid-template-columns:1fr;gap:18px}
 .rch-card-image{height:260px}
 .rch-season-grid{grid-template-columns:1fr;gap:20px}
 .rch-season-image{height:260px}
 .rch-card-body,.rch-season-copy,.rch-route-card{padding:22px}
 .rch-story--horizontal .rch-story-card{grid-template-columns:1fr}
 .rch-story--horizontal .rch-card-image{height:230px}
}
@media(prefers-reduced-motion:reduce){.rch-card-image img,.rch-button{transition:none}}

/* Compact homepage About section; separate from the full About Us page widget. */
.rch-about-short{padding:64px 24px;background:#f7f4ec;overflow:hidden}
.rch-about-short-inner{display:grid;grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);gap:64px;align-items:center}
.rch-about-short-content{min-width:0;max-width:560px}
.rch-about-short h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.08;font-size:clamp(32px,4vw,56px);color:#26372e;margin:0 0 20px}
.rch-about-short-copy{font-size:16px;line-height:1.75;color:#646b64;margin:0 0 26px}
.rch-about-short-copy p{margin:0}
.rch-about-short-visual{min-width:0;position:relative;padding:0 0 18px 18px}
.rch-about-short-visual:before{content:"";position:absolute;inset:18px 18px 0 0;border:1px solid #a88b54}
.rch-about-short-image{position:relative;z-index:1;display:block;width:100%;height:390px;object-fit:cover}
.rch-about-short--left .rch-about-short-content{order:2;margin-left:auto}
.rch-about-short--left .rch-about-short-visual{order:1;padding:0 18px 18px 0}
.rch-about-short--left .rch-about-short-visual:before{inset:18px 0 0 18px}
@media(max-width:1024px){.rch-about-short-inner{gap:36px}.rch-about-short{padding:56px 24px}.rch-about-short-image{height:340px}}
@media(max-width:767px){.rch-about-short{padding:44px 18px}.rch-about-short-inner{grid-template-columns:1fr;gap:28px}.rch-about-short-content,.rch-about-short--left .rch-about-short-content{order:1;max-width:none}.rch-about-short-visual,.rch-about-short--left .rch-about-short-visual{order:2;padding:0 0 14px 14px}.rch-about-short-visual:before,.rch-about-short--left .rch-about-short-visual:before{inset:14px 14px 0 0}.rch-about-short-image{height:clamp(230px,68vw,340px)}.rch-about-short h2{font-size:clamp(32px,9vw,42px)}.rch-about-short-copy{font-size:15px}}

/* Homepage additions: restrained cards and typography to match the existing Rose Cottage widgets. */
.rch-amenities-strip{padding:28px 24px;background:#e8ede3;color:#26372e}.rch-amenities-strip .rch-section-inner{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,2.2fr);gap:28px;align-items:center}.rch-amenities-heading h2,.rch-why-choose h2,.rch-location-panel h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.4vw,32px);font-weight:400;line-height:1.15;margin:0}.rch-amenities-heading .rch-eyebrow,.rch-why-choose .rch-eyebrow,.rch-location-panel .rch-eyebrow{margin:0 0 8px}.rch-amenity-items{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.rch-amenity-item{text-align:center;min-width:0}.rch-amenity-item span{display:block;font-size:25px;line-height:1.3;margin-bottom:7px}.rch-amenity-item p{font-size:12px;line-height:1.35;margin:0}.rch-why-choose{padding:42px 24px;background:#20382a;color:#f7f4ec}.rch-why-choose .rch-section-inner{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,2.1fr);gap:38px;align-items:center}.rch-why-intro>p:last-child{font-size:14px;line-height:1.65;margin:12px 0 0;opacity:.88}.rch-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.rch-benefit{text-align:center;padding:4px 12px;border-left:1px solid rgba(255,255,255,.2)}.rch-benefit:first-child{border-left:0}.rch-benefit-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #c7a66a;border-radius:50%;font-size:20px;margin-bottom:10px;color:#c7a66a}.rch-benefit h3{font-size:14px;line-height:1.35;font-weight:500;margin:0 0 5px}.rch-benefit p{font-size:12px;line-height:1.45;margin:0;opacity:.8}.rch-location-panel{padding:48px 24px;background:#f7f4ec}.rch-location-inner{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:36px;align-items:center}.rch-location-copy>p:not(.rch-eyebrow){font-size:14px;line-height:1.7;color:#646b64;margin:14px 0 22px}.rch-location-image img{display:block;width:100%;height:330px;object-fit:cover;border-radius:4px}.rch-location-panel .rch-button{display:inline-flex;margin-top:2px;text-decoration:none}
@media(max-width:1024px){.rch-amenities-strip .rch-section-inner,.rch-why-choose .rch-section-inner{grid-template-columns:1fr;gap:22px}.rch-amenity-items{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}.rch-location-inner{gap:24px}.rch-benefits{gap:8px}}
@media(max-width:767px){.rch-amenities-strip{padding:30px 18px}.rch-amenities-strip .rch-section-inner{gap:20px}.rch-amenity-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 8px}.rch-amenity-item p{font-size:11px}.rch-why-choose{padding:36px 18px}.rch-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px}.rch-benefit:nth-child(odd){border-left:0}.rch-benefit h3{font-size:13px}.rch-location-panel{padding:36px 18px}.rch-location-inner{grid-template-columns:1fr;gap:22px}.rch-location-image img{height:250px}}
