/* OSALIFE v4: native cards with a coherent shopping journey. */
.osalife-editorial{--editorial-ink:#262c25;--editorial-muted:#535b4f;color:var(--editorial-ink);background:#f6f3eb}
.osalife-editorial>.container-fluid{max-width:1400px;padding-left:56px;padding-right:56px;margin-inline:auto}
.osalife-editorial .f-section__header{max-width:900px;margin:0 0 34px;text-align:left}
.osalife-editorial .f-section__heading{font-size:clamp(30px,3.1vw,44px);line-height:1.17;letter-spacing:-.025em;color:inherit}
.osalife-editorial .f-section__subheading,.osalife-editorial .f-card__subtitle,.osalife-editorial .f-image-with-text__subheading{font-size:11px!important;font-weight:600;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:inherit}
.osalife-editorial .f-image-text-carousel__wrapper{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;overflow:visible}
.osalife-editorial .f-image-text{width:auto!important;min-width:0}
.osalife-editorial .f-image-text__wrapper{display:flex!important;flex-direction:column;height:100%;overflow:hidden;border-radius:8px;background:#fffdfa;color:#262c25}
.osalife-editorial .f-image-text__image{width:100%;aspect-ratio:4/3;border-radius:0!important;overflow:hidden}
.osalife-editorial .f-image-text__image .f-image{height:100%;padding:0!important;--aspect-ratio:4/3!important}
.osalife-editorial .f-image-text__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.osalife-editorial .f-image-text__wrapper:hover img{transform:scale(1.025)}
.osalife-editorial .f-image-text__content{position:static!important;padding:28px!important;flex:1;display:flex!important;align-items:stretch!important;background:transparent!important}
.osalife-editorial .f-image-text__content-inner{width:100%;display:flex;flex-direction:column;height:100%;color:inherit!important}
.osalife-editorial .f-card__title{font-size:clamp(23px,2vw,29px);line-height:1.25;letter-spacing:-.018em;color:inherit;margin:10px 0 14px}
.osalife-editorial .f-card__subtitle{margin:0;color:#5d6854}
.osalife-editorial .f-card__subtitle+.f-card__subtitle{margin-top:4px}
.osalife-editorial .f-card__description{font-size:15px;line-height:1.75;color:#555c51;margin:0 0 24px;font-family:inherit}
.osalife-editorial .f-card__button{margin-top:auto;padding-top:0}
.osalife-editorial .f-button{min-height:44px;align-items:center;white-space:normal;line-height:1.4}
.osalife-editorial .f-button--link{color:#344d3f;border-bottom:1px solid currentColor;padding-bottom:7px}
.osalife-editorial a:focus-visible{outline:2px solid #a37547;outline-offset:4px}
.osalife-rest-story{background:#304c3e;color:#faf6ec}
.osalife-table-story{background:#d6b79f;color:#2b3028}
.osalife-rest-story .f-image-with-text__inner,.osalife-table-story .f-image-with-text__inner{align-items:center!important;gap:0!important;justify-content:space-between;margin:0!important}
.osalife-rest-story .f-image-with-text__image,.osalife-table-story .f-image-with-text__image{width:50%!important;padding:0!important}
.osalife-rest-story .f-image-with-text__content,.osalife-table-story .f-image-with-text__content{width:50%!important;max-width:none!important;padding:16px 0 16px 64px!important;color:inherit!important}
.osalife-table-story .f-image-with-text__content{padding:16px 64px 16px 0!important}
.osalife-rest-story .f-image-with-text__image-first,.osalife-table-story .f-image-with-text__image-first{border-radius:8px;overflow:hidden}
.osalife-rest-story .f-image,.osalife-table-story .f-image{aspect-ratio:4/3;--aspect-ratio:4/3!important;height:100%}
.osalife-rest-story .f-image img,.osalife-table-story .f-image img{width:100%;height:100%;object-fit:cover}
.osalife-rest-story .f-image-with-text__content .f-richtext__title,.osalife-table-story .f-image-with-text__content .f-richtext__title{font-size:clamp(30px,3.2vw,47px);line-height:1.13;letter-spacing:-.025em;color:inherit;margin:16px 0 22px}
.osalife-rest-story .f-image-with-text__content .rte,.osalife-table-story .f-image-with-text__content .rte{font-size:16px;line-height:1.8;color:inherit;max-width:510px;margin-bottom:24px}
.osalife-rest-story .f-image-with-text__content p,.osalife-rest-story .f-image-with-text__content h6{color:#f4f0e4}
.osalife-rest-story .f-button--primary{background:#f2e8d8;color:#304638;border-color:#f2e8d8}
.osalife-table-story .f-button--primary{background:#304c3e;color:#fff9f0;border-color:#304c3e}
.osalife-everyday-story{background:#f0ebdf}
.osalife-everyday-story .f-image-text-carousel__wrapper{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
.osalife-everyday-story .f-image-text__image{aspect-ratio:3/2}
.osalife-everyday-story .f-image-text__image .f-image{--aspect-ratio:3/2!important}
.osalife-everyday-story .f-image-text__content{padding:30px 34px!important}
.osalife-services-refined{background:#e4e8dc;border-bottom:1px solid #cfd7c8}
.osalife-services-refined .f-mixed-layout__inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:48px!important}
.osalife-services-refined .f-icon-box__content{background:transparent!important;display:flex!important;flex-direction:column;height:100%;padding:0!important}
.osalife-services-refined .f-icon-box__heading{font-size:17px;margin-bottom:6px}
.osalife-services-refined .f-icon-box__description{font-size:14px;line-height:1.6;min-height:45px}
.osalife-services-refined .f-button{margin-top:auto;min-height:36px}
.osalife-services-refined .m\:column{padding:0!important;border:0!important}
.osalife-services-refined .m\:column+ .m\:column{border-left:1px solid #c2cabc!important;padding-left:48px!important}
.osalife-guide-refined{background:#fffdf8}
.osalife-guide-refined .f-collapsible__image .f-image{aspect-ratio:1!important;--aspect-ratio:1!important}
.osalife-closing-refined{background:#ded5c2;border:0}
@media(max-width:1199px){.osalife-editorial>.container-fluid{padding-inline:30px}.osalife-rest-story .f-image-with-text__content{padding-left:36px!important}.osalife-table-story .f-image-with-text__content{padding-right:36px!important}.osalife-editorial .f-image-text__content{padding:22px!important}}
@media(min-width:601px) and (max-width:1023px){.osalife-corner-story .f-image-text-carousel__wrapper{grid-template-columns:1fr!important;gap:22px!important}.osalife-corner-story .f-image-text__wrapper{flex-direction:row;align-items:stretch}.osalife-corner-story .f-image-text__image{width:44%;flex:0 0 44%;aspect-ratio:4/3}.osalife-corner-story .f-image-text__content{width:56%;padding:24px!important}.osalife-corner-story .f-card__title{font-size:26px}.osalife-corner-story .f-card__description{font-size:14px}.osalife-everyday-story .f-card__title{font-size:25px}}
@media(max-width:767px){.osalife-editorial>.container-fluid{padding:44px 20px!important}.osalife-editorial .f-section__header{margin-bottom:26px}.osalife-rest-story .f-image-with-text__inner,.osalife-table-story .f-image-with-text__inner{flex-direction:column!important}.osalife-rest-story .f-image-with-text__image,.osalife-table-story .f-image-with-text__image{width:100%!important}.osalife-rest-story .f-image-with-text__content,.osalife-table-story .f-image-with-text__content{width:100%!important;padding:28px 0 0!important}.osalife-rest-story .f-image-with-text__content .f-richtext__title,.osalife-table-story .f-image-with-text__content .f-richtext__title{font-size:34px}.osalife-services-refined .f-mixed-layout__inner{grid-template-columns:1fr!important;gap:18px!important}.osalife-services-refined .m\:column+ .m\:column{border-left:0!important;padding-left:0!important;border-top:1px solid #c2cabc!important;padding-top:18px!important}.osalife-services-refined .f-icon-box__description{min-height:0}.osalife-guide-refined .f-collapsible__image .f-image{aspect-ratio:3/2!important;--aspect-ratio:3/2!important}}
@media(max-width:600px){.osalife-editorial .f-image-text-carousel__wrapper{grid-template-columns:1fr!important;gap:24px!important}.osalife-editorial .f-image-text__content{padding:24px!important}.osalife-editorial .f-card__title{font-size:27px}.osalife-editorial .f-card__description{font-size:15px}.osalife-everyday-story .f-image-text__image{aspect-ratio:4/3}.osalife-everyday-story .f-image-text__image .f-image{--aspect-ratio:4/3!important}}
@media(prefers-reduced-motion:reduce){.osalife-editorial img{transition:none!important;transform:none!important}}

.osalife-services-refined .f-icon-box__content .f-button{align-self:flex-start!important;width:fit-content!important;justify-content:flex-start!important}

/* OSALIFE service notes: an editorial split with a quiet, tactile surface. */
.osalife-services-refined{background:#304c3e!important;color:#f7f3e8!important;border-top:1px solid #486355!important;border-bottom:1px solid #486355!important}
.osalife-services-refined>.container-fluid{max-width:1240px;padding:36px 48px 38px!important}
.osalife-services-refined .f-mixed-layout__inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;align-items:stretch!important}
.osalife-services-refined .f-icon-box,.osalife-services-refined .f-icon-box__inner,.osalife-services-refined .f-icon-box__content{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.osalife-services-refined .f-icon-box{height:100%!important}
.osalife-services-refined .f-icon-box__inner{height:100%;align-items:flex-start!important}
.osalife-services-refined .f-icon-box__content{min-width:0;padding:0!important}
.osalife-services-refined .m\:column{position:relative;padding:0 56px 0 0!important;border:0!important}
.osalife-services-refined .m\:column+ .m\:column{padding:0 0 0 56px!important;border-left:1px solid #607768!important}
.osalife-services-refined .m\:column:before{content:"";display:block;width:34px;height:2px;margin:0 0 18px;background:#d6b79f}
.osalife-services-refined .f-icon-box__heading{margin:0 0 9px!important;font-family:"OSALIFE Lora",Georgia,serif!important;font-size:22px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;color:#f7f3e8!important}
.osalife-services-refined .f-icon-box__description{max-width:31rem;min-height:0!important;margin:0!important;color:#d7dcd2!important;font-size:14px!important;line-height:1.65!important}
.osalife-services-refined .f-icon-box__content .f-button{margin-top:22px!important;min-height:0!important;padding:0 0 7px!important;background:transparent!important;border:0!important;border-bottom:1px solid #caa781!important;border-radius:0!important;color:#f7f3e8!important;font-size:11px!important;font-weight:600!important;letter-spacing:.13em!important;line-height:1.4!important;text-transform:uppercase}
@media(min-width:768px) and (max-width:1023px){
.osalife-services-refined>.container-fluid{padding:32px!important}
.osalife-services-refined .m\:column{padding-right:32px!important}
.osalife-services-refined .m\:column+ .m\:column{padding-left:32px!important}
}
@media(max-width:767px){
.osalife-services-refined>.container-fluid{padding:28px 20px 30px!important}
.osalife-services-refined .f-mixed-layout__inner{grid-template-columns:1fr!important;row-gap:0!important}
.osalife-services-refined .m\:column{padding:0!important}
.osalife-services-refined .m\:column+ .m\:column{margin-top:24px;padding:24px 0 0!important;border-top:1px solid #607768!important;border-left:0!important}
.osalife-services-refined .m\:column:before{margin-bottom:14px}
.osalife-services-refined .f-icon-box__heading{font-size:21px!important}
.osalife-services-refined .f-icon-box__content .f-button{margin-top:17px!important}
}

/* Home CTAs share one filled shape; dark sections use the same shape in parchment. */
.osalife-home-hero .f-button,.osalife-home-closing .f-button,.osalife-editorial .f-button,.osalife-product-grid .f-button,.osalife-services-refined .f-button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%;min-height:46px!important;padding:11px 22px!important;background:#304c3e!important;border:1px solid #304c3e!important;border-radius:3px!important;box-shadow:none!important;color:#fffaf1!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:0!important;text-align:center;text-decoration:none!important;text-transform:none!important;white-space:normal
}
.osalife-home-hero .f-button:hover,.osalife-home-closing .f-button:hover,.osalife-editorial .f-button:hover,.osalife-product-grid .f-button:hover{background:#243c30!important;border-color:#243c30!important;color:#fffaf1!important}
.osalife-rest-story .f-button,.osalife-services-refined .f-button{background:#f2e8d8!important;border-color:#f2e8d8!important;color:#304638!important}
.osalife-rest-story .f-button:hover{background:#e5d4bb!important;border-color:#e5d4bb!important;color:#243c30!important}
.osalife-home-hero .f-button:focus-visible,.osalife-home-closing .f-button:focus-visible,.osalife-editorial .f-button:focus-visible,.osalife-product-grid .f-button:focus-visible,.osalife-services-refined .f-button:focus-visible{outline:2px solid #a37547!important;outline-offset:3px}

/* The service notes are two editorial columns, without nested white cards. */
.osalife-services-refined,.osalife-services-refined .f-section-py,.osalife-services-refined .f-mixed-layout,.osalife-services-refined .f-mixed-layout__wrapper,.osalife-services-refined .f-mixed-layout__inner,.osalife-services-refined .m\:column,.osalife-services-refined .f-icon-box,.osalife-services-refined .f-icon-box__inner,.osalife-services-refined .f-icon-box__content{background:transparent!important;box-shadow:none!important}
.osalife-services-refined{background:#304c3e!important}
.osalife-services-refined .f-icon-box__content .f-button{margin-top:20px!important;border:1px solid #f2e8d8!important;padding:11px 22px!important;min-height:46px!important;font-size:13px!important;letter-spacing:0!important}
.osalife-services-refined .f-icon-box__content .f-button:after{display:none!important}

/* Short descriptions should not stretch the cards and push links below empty space. */
.osalife-corner-story .f-image-text__wrapper{height:auto!important}
.osalife-corner-story .f-image-text__content{flex:none!important}
.osalife-corner-story .f-image-text__content-inner{height:auto!important}
.osalife-corner-story .f-card__description{margin-bottom:18px!important}
.osalife-corner-story .f-card__button{margin-top:0!important}

/* Each product grid begins with its own linked, category-specific room scene. */
.osalife-product-grid{background:#f7f5ef!important}
.osalife-grid-home-decor,.osalife-grid-bedding,.osalife-grid-hardware{background:#f1eee5!important}
.osalife-product-grid .f-section-py{padding-top:36px!important;padding-bottom:44px!important}
.osalife-grid-banner{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(290px,.84fr);min-height:260px;margin:0 0 26px;overflow:hidden;background:#e8e9df;color:#27382e}
.osalife-grid-banner__image{display:block;min-width:0;overflow:hidden}
.osalife-grid-banner__image img{display:block;width:100%;height:100%;min-height:260px;max-height:350px;object-fit:cover}
.osalife-grid-banner__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:28px clamp(24px,4vw,56px)}
.osalife-grid-banner__eyebrow{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#8b644b}
.osalife-grid-banner__heading{margin:10px 0 12px;font-family:"OSALIFE Lora",Georgia,serif;font-size:clamp(29px,2.8vw,42px);font-weight:500;line-height:1.16;letter-spacing:0}
.osalife-grid-banner__heading a{color:inherit;text-decoration:none}
.osalife-grid-banner__description{max-width:34rem;margin:0;color:#4a584e;font-size:15px;line-height:1.65}
.osalife-product-grid .f-product-list{margin-top:0!important}
.osalife-product-grid .f-featured-collection__button{margin-top:26px!important}
@media(max-width:767px){
 .osalife-grid-banner{grid-template-columns:1fr;min-height:0;margin-bottom:20px}
 .osalife-grid-banner__image img{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}
 .osalife-grid-banner__copy{padding:24px 20px 26px}
 .osalife-grid-banner__heading{font-size:31px}
 .osalife-grid-banner__description{font-size:14px}
 .osalife-product-grid .f-section-py{padding-top:30px!important;padding-bottom:36px!important}
 .osalife-product-grid .f-featured-collection__button{margin-top:20px!important}
}
