/* Product storytelling, community reviews and campaign banner. */
.rounded-button{border-radius:999px;min-height:51px;padding:14px 25px}
.comfort-stories{display:grid;grid-template-columns:270px minmax(0,1fr);gap:55px;align-items:center;padding-block:78px;overflow:hidden}
.stories-intro h2{font-size:48px;margin:18px 0 20px}.stories-intro>p{font-size:16px;line-height:1.8;max-width:255px}.stories-intro>.button{margin-top:25px;font-size:14px;gap:20px}
.stories-gallery{min-width:0}.story-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:4px 3px 15px;overscroll-behavior-inline:contain}
.story-card{flex:0 0 224px;min-width:0;scroll-snap-align:start}.story-card-open{display:block;position:relative;height:375px;overflow:hidden;border-radius:22px;background:var(--blush)}
.story-card-open>img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.story-card-open:hover>img{transform:scale(1.03)}
.story-card-open:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#2c1b12b3);pointer-events:none}
.story-image-action{position:absolute;z-index:1;left:50%;top:45%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fcfaf7de;backdrop-filter:blur(6px);color:var(--accent)}.story-image-action .icon{width:21px;height:21px}
.story-card-caption{position:absolute;z-index:1;left:21px;right:18px;bottom:24px;display:flex;flex-direction:column;gap:8px;color:#fff}.story-card-caption>span{font-size:12px;letter-spacing:.2em}.story-card-caption strong{font:400 25px/1.12 var(--serif);letter-spacing:-.03em}
.stories-note{font-size:12px;margin-top:7px;color:var(--muted)}.carousel-controls{display:flex;align-items:center;gap:10px;margin-top:29px}.carousel-arrow{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;border:1px solid var(--line);color:var(--accent)}.carousel-arrow:first-child .icon{transform:rotate(180deg)}.carousel-arrow .icon{width:17px;height:17px}.carousel-arrow:hover:not(:disabled){background:var(--blush)}.carousel-arrow:disabled{opacity:.3}.carousel-controls>span{font-size:12px;color:var(--muted);margin-left:7px}.no-js .carousel-controls{display:none}
.story-lightbox{padding:12px;border:0;background:var(--paper);color:var(--ink);width:fit-content;max-width:min(92vw,1100px);max-height:92dvh;overflow:auto;border-radius:15px}
.story-lightbox::backdrop{background:#211610b8;backdrop-filter:blur(5px)}.story-lightbox .lightbox-media{width:auto;height:auto;max-height:78dvh;max-width:100%;object-fit:contain;margin:auto}.story-lightbox p{text-align:center;padding:10px 20px 0;font:20px var(--serif)}
.lightbox-close{position:absolute;right:20px;top:20px;border-radius:50%;background:var(--paper);box-shadow:0 2px 12px #0002;z-index:2}.lightbox-close .icon{width:19px}
.comfort-promo{padding-block:30px 70px}.promo-panel{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;background:#f3ebe2;border-radius:30px;padding:16px;gap:24px}.promo-visual{position:relative;min-height:335px;height:100%;overflow:hidden;border-radius:23px;background:var(--blush)}
.promo-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.promo-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3322189c,transparent 80%)}
.promo-image-copy{position:relative;z-index:1;padding:37px 32px;min-height:335px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.promo-badge{display:inline-block;border-radius:20px;background:var(--accent);color:#fff;padding:6px 13px;font-size:11px;letter-spacing:.12em;font-weight:500}.promo-image-copy>p{font:400 45px/1.05 var(--serif);letter-spacing:-.04em;color:white;margin-top:18px;max-width:300px;text-shadow:0 1px 7px #20130b22}
.promo-copy{text-align:center;padding:23px 24px}.promo-copy>.eyebrow{font-size:12px}.promo-copy h2{font-size:51px;color:var(--accent);margin:16px 0 18px}.promo-copy>p{font-size:16px;max-width:310px;margin:0 auto}.promo-copy .button{margin-top:23px;font-size:14px;gap:20px}.promo-copy .promo-offer{font-size:25px;font-weight:600;color:var(--accent);margin:15px auto 0}.promo-copy .promo-terms{font-size:12px;margin-top:14px}
.comfort-reviews{padding-block:40px 65px}.reviews-heading{text-align:center;margin-bottom:42px}.reviews-heading h2{font-size:47px;margin:15px 0}.reviews-heading>p{font-size:16px}
.reviews-overview{display:grid;grid-template-columns:.85fr 1.15fr 1.2fr;gap:55px;align-items:center;padding:10px 2% 38px;border-bottom:1px solid var(--line)}
.review-score{text-align:center}.score-number{font-size:49px;line-height:1.15;font-weight:400;letter-spacing:-.04em}.score-number>span{font-size:34px;color:#a56643}.score-number small{font-size:18px;letter-spacing:0;color:var(--muted);margin-left:4px}.review-score p{font-size:14px;margin-top:7px}.unrated-stars{color:#a56643;font-size:28px;letter-spacing:3px;white-space:nowrap;margin-bottom:9px}.review-score>strong{font-size:18px;font-weight:500}
.rating-breakdown{display:grid;gap:7px}.rating-row{display:flex;align-items:center;gap:12px;width:100%;padding:0;min-height:24px;font-size:12px}.rating-row:disabled{opacity:1}.rating-row>span:first-child{min-width:27px;text-align:left}.rating-row>span:first-child>span{color:#a56643}.rating-row>span:last-child{min-width:26px;text-align:right;color:var(--muted)}.rating-bar{height:5px;flex:1;background:#eadfd4;border-radius:5px;overflow:hidden}.rating-bar>span{display:block;height:100%;background:#a56643;border-radius:inherit}.review-invitation h3{font:27px/1.15 var(--serif);letter-spacing:-.025em}.review-invitation p{font-size:15px;line-height:1.7;margin:10px 0 17px;max-width:275px}.review-invitation .button{font-size:14px;min-height:46px;padding:11px 23px;gap:20px}
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:29px 0 22px;font-size:14px}.review-toolbar>div{display:flex;align-items:center;gap:10px}.review-toolbar select{border:1px solid var(--line);background:var(--paper);padding:9px 27px 9px 10px;font-size:14px;border-radius:6px}.review-grid{columns:3;column-gap:20px}.review-card{break-inside:avoid;border:1px solid var(--line);padding:22px;border-radius:9px;margin:0 0 20px;background:#fffaf4}.review-stars{display:flex;gap:2px;font-size:21px;line-height:1;color:#a56643}.review-stars .empty-star{color:#9c8170}.review-author{display:flex;flex-direction:column;gap:3px;font-size:14px;margin:15px 0}.review-author time{font-size:12px;color:var(--muted)}.review-card h3{font:400 21px/1.35 var(--serif);margin-bottom:10px}.review-card>p{font-size:16px;line-height:1.7;overflow-wrap:anywhere}.review-card>img{width:100%;height:auto;max-height:270px;object-fit:cover;border-radius:5px;margin-top:17px}.review-more{display:flex;margin:15px auto 0;font-size:15px}.no-matching-reviews{text-align:center;padding:40px 15px;font-size:16px}
.reviews-empty{text-align:center;padding:40px 20px 36px}.empty-review-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--blush);color:var(--accent);margin:0 auto 17px}.empty-review-icon>.icon{width:23px;height:23px}.reviews-empty h3{font:30px/1.2 var(--serif);letter-spacing:-.025em}.reviews-empty p{font-size:16px;margin:12px auto 0;max-width:430px}
.review-contact-form{max-width:850px;margin:17px auto 0}.review-form-shell{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-form-shell>summary{font-size:15px;min-height:58px}.review-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:15px 0}.review-form-fields label{display:block;font-size:15px;margin-bottom:8px}.review-form-fields input,.review-form-fields select,.review-form-fields textarea{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:11px;font:16px/1.5 var(--sans);color:var(--ink);min-height:44px}.review-form-fields textarea{resize:vertical}.review-body-field{grid-column:1/-1}.review-privacy{font-size:12px;margin:10px 0 18px}.review-form-shell>.button{margin-bottom:25px;font-size:15px}.review-success,.review-contact-form .errors{font-size:16px;padding:15px;background:var(--blush);margin:10px 0}.review-app{min-width:0}
@media(min-width:1550px){.comfort-stories{grid-template-columns:300px minmax(0,1fr)}.story-card{flex-basis:236px}.story-card-open{height:398px}}
@media(max-width:1100px){.comfort-stories{gap:32px;grid-template-columns:230px minmax(0,1fr)}.stories-intro h2{font-size:40px}.story-card{flex-basis:210px}.story-card-open{height:355px}.reviews-overview{gap:25px}.promo-panel{gap:10px}.promo-copy{padding-inline:12px}.promo-copy h2{font-size:43px}.promo-image-copy{padding:28px}.promo-image-copy>p{font-size:40px}.review-grid{columns:2}}
@media(max-width:760px){.comfort-stories{display:block;padding-block:48px}.stories-intro h2{font-size:40px;margin:14px 0 17px}.stories-intro>p{max-width:370px;font-size:16px}.stories-intro>.eyebrow{font-size:12px}.stories-intro>.button{margin-top:21px}.carousel-controls{margin-top:23px;margin-bottom:21px}.story-track{gap:13px;padding-bottom:12px}.story-card{flex-basis:230px}.story-card-open{height:365px;border-radius:20px}.story-card-caption strong{font-size:25px}.stories-note{font-size:12px;line-height:1.6;margin-top:8px}.story-lightbox{padding:9px;max-width:94vw}.story-lightbox p{font-size:18px;padding-block:12px}.lightbox-close{right:15px;top:15px}
.comfort-promo{padding-block:10px 48px}.promo-panel{grid-template-columns:1fr;padding:11px;gap:5px;border-radius:25px}.promo-visual{min-height:280px;border-radius:18px}.promo-image-copy{min-height:280px;padding:27px 23px}.promo-image-copy>p{font-size:37px}.promo-copy{padding:30px 16px}.promo-copy h2{font-size:43px;margin:13px 0 18px}.promo-copy>p{font-size:16px;max-width:285px}.promo-copy .button{margin-top:22px}
.comfort-reviews{padding-block:22px 45px}.reviews-heading{margin-bottom:29px}.reviews-heading>.eyebrow{font-size:11px}.reviews-heading h2{font-size:39px;margin:13px 0}.reviews-heading>p{font-size:15px;max-width:270px;margin:auto}.reviews-overview{grid-template-columns:1fr;gap:24px;padding:0 0 29px}.review-score p{font-size:14px}.unrated-stars{font-size:31px}.rating-breakdown{width:100%;max-width:290px;margin:auto}.rating-row{min-height:24px}.review-invitation{text-align:center;border-top:1px solid var(--line);padding-top:25px}.review-invitation p{margin:11px auto 19px;max-width:280px}.review-invitation h3{font-size:28px}.reviews-empty{padding:31px 0 23px}.reviews-empty h3{font-size:27px}.reviews-empty p{font-size:15px;max-width:280px}.review-toolbar{flex-wrap:wrap;gap:12px;margin-block:23px 18px}.review-toolbar>div{gap:8px;flex-wrap:wrap}.review-toolbar select{font-size:14px;padding-right:23px}.review-grid{columns:1}.review-card{padding:20px;margin-bottom:15px}.review-form-fields{grid-template-columns:1fr;gap:15px}.review-form-fields input,.review-form-fields select,.review-form-fields textarea{font-size:16px}.review-form-shell>summary{font-size:15px}.review-privacy{font-size:12px;line-height:1.7}.review-form-shell>.button{width:100%}}
@media(prefers-reduced-motion:reduce){.story-card-open>img{transition:none}}

.story-track{scroll-padding-inline:3px}

/* Keep section copy consistent with the storefront reading scale. */
.stories-intro>p,.promo-copy>p,.reviews-heading>p,.reviews-empty p,.review-invitation p,.review-card>p{font-size:16px}
.stories-intro>.button,.promo-copy .button,.review-invitation .button,.review-form-shell>.button{font-size:14px}
.review-form-fields input,.review-form-fields select,.review-form-fields textarea{font-size:16px}
.stories-note,.review-privacy,.promo-copy .promo-terms{font-size:12px;line-height:1.7}
@media(max-width:760px){.stories-intro>.eyebrow,.reviews-heading>.eyebrow{font-size:11px}.review-toolbar select{font-size:16px;max-width:100%}}
