/* The Product Edit — an editorial treatment within the Fresher brand. */
.products-page { --pr-ink:#10343a; --pr-green:#31795c; --pr-muted:#728078; --pr-line:#dce4db; --pr-paper:#fafaf6; --pr-space:clamp(54px,5.4vw,78px); color:var(--pr-ink); background:var(--pr-paper); }
.pr-shell { width:min(calc(100% - 2 * var(--page-gutter)),1280px); margin-inline:auto; }
.pr-section { padding-block:var(--pr-space); }
.products-page h2 { margin:0; font-size:clamp(30px,3vw,42px); line-height:1.18; font-weight:800; letter-spacing:-1.5px; }
.products-page h2 span { color:var(--pr-green); }
.products-page .info-dialog h2 { font-size:28px; letter-spacing:-.8px; }
.pr-kicker { display:flex; align-items:center; gap:11px; margin:0 0 18px; color:#59816e; font-size:9px; line-height:1.5; font-weight:700; letter-spacing:2.2px; text-transform:uppercase; }
.pr-kicker::before { content:''; width:25px; height:1px; flex-shrink:0; background:currentColor; opacity:.6; }
.pr-copy { margin:0; color:var(--pr-muted); font-size:15px; line-height:1.85; }
.pr-text-link { display:inline-flex; align-items:center; gap:23px; padding:11px 0; border-bottom:1px solid #aec9b5; color:#366b54; font-size:12px; font-weight:700; }
.pr-text-link svg { width:20px; height:20px; transition:translate .3s; }
.pr-text-link:hover svg { translate:4px 0; }
.pr-button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:53px; padding:14px 21px; border:1px solid #315e4d; border-radius:5px; background:#214f43; color:#fff; box-shadow:0 10px 20px -16px #123e3280; font:700 12px/1.4 Montserrat,Arial,sans-serif; transition:translate .3s,background .3s; }
.pr-button:hover { translate:0 -3px; background:#316b54; }
.pr-button svg { width:21px; height:21px; }
.pr-breadcrumb { display:flex; align-items:center; gap:12px; padding-block:19px; color:#839087; font-size:10px; }
.pr-breadcrumb svg { width:12px; height:12px; }
.pr-breadcrumb span { color:var(--pr-ink); }

/* A three-part product editorial rather than a boxed split banner. */
.pr-hero { display:grid; grid-template-columns:1fr 1.05fr .24fr; grid-template-rows:minmax(0,1fr); gap:25px; height:370px; padding:12px 0 30px; border-bottom:1px solid var(--pr-line); }
.pr-hero-copy { position:relative; align-self:center; min-width:0; padding:0 14px 0 0; }
.pr-hero h1 { margin:0; font:800 clamp(34px,3.7vw,51px)/1.09 Montserrat,Arial,sans-serif; letter-spacing:-2.1px; transform:none; }
.pr-hero h1 em { color:var(--pr-green); font-style:normal; }
.pr-hero-copy > p:not(.pr-kicker) { max-width:355px; margin:20px 0 13px; color:#748176; font-size:14px; line-height:1.8; }
.pr-hero-copy .pr-text-link { font-size:11px; }
.pr-hero-index { display:block; margin-top:23px; color:#9aa89b; font-size:7px; font-weight:700; letter-spacing:2px; }
.pr-hero-photo { position:relative; min-width:0; min-height:0; height:100%; margin:0; border-radius:3px 64px 3px 3px; overflow:hidden; background:#eaf0e3; }
.pr-hero-photo > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:63% 52%; display:block; }
.pr-hero-photo figcaption { position:absolute; left:18px; right:18px; bottom:17px; display:flex; align-items:center; gap:9px; padding:10px 13px; background:#ffffffd9; backdrop-filter:blur(7px); color:#477059; font-size:9px; letter-spacing:.3px; border-radius:3px; }
.pr-hero-photo figcaption svg { width:19px; height:19px; flex-shrink:0; }
.pr-hero-aside { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:19px; text-align:center; border-left:1px solid #e1e8dd; padding-left:16px; }
.pr-hero-aside > svg { width:36px; height:36px; color:#4a8b60; }
.pr-hero-aside p { margin:0; color:#56816a; font:400 27px/1.05 Allison,cursive; }
.pr-hero-aside > span { color:#8f9e8d; font-size:7px; letter-spacing:1.5px; }

/* Five precise product notes opposite an editorial introduction. */
.pr-principles { display:grid; grid-template-columns:.78fr 1.22fr; gap:24px clamp(40px,7vw,100px); align-items:start; scroll-margin-top:25px; }
.pr-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:30px; }
.pr-section-heading > .pr-copy { max-width:325px; padding-left:20px; border-left:1px solid #cbd9cb; font-size:14px; }
.pr-principles .pr-section-heading { grid-column:1; grid-row:1; display:flex; flex-direction:column; align-items:flex-start; gap:22px; margin:0; }
.pr-principles .pr-section-heading > .pr-copy { max-width:290px; padding:0; border:0; }
.pr-editorial-note { margin-top:7px; color:#5f8c6a; font:400 39px/1.2 Allison,cursive; rotate:-4deg; }
.pr-benefits { grid-column:2; grid-row:1 / span 2; display:grid; border-top:1px solid #cbd9cb; }
.pr-benefit { display:grid; grid-template-columns:48px 133px minmax(0,1fr); align-items:center; gap:18px; padding:19px 0; border-bottom:1px solid var(--pr-line); }
.pr-benefit-icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid #e1e9da; border-radius:50%; background:#f2f7ec; transition:background .3s,translate .3s; }
.pr-benefit-icon img { width:31px; height:31px; display:block; }
.pr-benefit:hover .pr-benefit-icon { translate:0 -3px; background:#e7f0dd; }
.pr-benefit h3 { margin:0; font-size:14px; line-height:1.45; letter-spacing:-.3px; }
.pr-benefit p { margin:0; color:var(--pr-muted); font-size:12px; line-height:1.8; }
.pr-fineprint { grid-column:1; grid-row:2; align-self:end; max-width:290px; margin:0; padding-top:18px; border-top:1px solid var(--pr-line); color:#96a18e; font-size:10px; line-height:1.8; }

/* A dark craft chapter. The photograph sits on the right. */
.pr-care-section { position:relative; padding:var(--pr-space) 0; overflow:hidden; background:radial-gradient(ellipse at 0% 100%,#22635b33,transparent 60%),#082f3c; color:#fff; }
.pr-care-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(35px,6.5vw,90px); }
.pr-care-copy { grid-column:1; grid-row:1; min-width:0; }
.pr-care-copy .pr-kicker { color:#8bb8a4; }
.pr-care-copy h2 { font-size:clamp(29px,2.8vw,38px); }
.pr-care-copy h2 span { color:#b6ddbe; }
.pr-care-photo { grid-column:2; grid-row:1; position:relative; height:455px; min-width:0; margin:0; border-radius:3px; overflow:hidden; background:#31534b; }
.pr-care-photo > img { width:100%; height:100%; display:block; object-fit:cover; object-position:46% center; transition:scale .8s; }
.pr-care-photo:hover > img { scale:1.025; }
.pr-care-photo::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#072e32ad); }
.pr-care-photo figcaption { position:absolute; z-index:1; left:25px; right:25px; bottom:25px; display:flex; align-items:center; gap:13px; color:#fff; }
.pr-care-photo figcaption > span { display:grid; place-items:center; width:43px; height:43px; flex-shrink:0; border:1px solid #ffffff5a; border-radius:50%; }
.pr-care-photo figcaption svg { width:23px; height:23px; }
.pr-care-photo figcaption strong { font-size:13px; }
.pr-care-photo figcaption p { margin:5px 0 0; color:#d4e7dd; font-size:10px; line-height:1.5; }
.pr-guide-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:26px 0 24px; border-bottom:1px solid #ffffff29; }
.pr-guide-tabs button { display:flex; flex-direction:column; align-items:flex-start; gap:9px; min-height:62px; padding:0 9px 15px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:#8fb0af; text-align:left; font:700 12px/1.4 Lato,Arial,sans-serif; transition:color .3s,border-color .3s; }
.pr-guide-tabs button > span { color:#6e9792; font:400 11px/1 Montserrat,Arial,sans-serif; letter-spacing:1px; }
.pr-guide-tabs button[aria-selected=true] { color:#d7efd7; border-bottom-color:#bbdab1; }
.pr-guide-tabs button[aria-selected=true] > span { color:#badbb4; }
.pr-guide-panel { min-height:218px; animation:pr-panel-in .35s ease both; }
.pr-guide-panel[hidden] { display:none; }
.pr-guide-panel h3 { margin:0 0 12px; font-size:20px; letter-spacing:-.6px; color:#f3f8f2; }
.pr-guide-panel .pr-copy { color:#acc6c2; font-size:14px; }
.pr-guide-panel ul { display:grid; gap:10px; margin-top:18px; }
.pr-guide-panel li { display:flex; align-items:flex-start; gap:10px; color:#bdd5c9; font-size:12px; line-height:1.7; }
.pr-guide-panel li svg { width:16px; height:16px; flex-shrink:0; margin-top:2px; color:#a9d8af; }
.pr-care-copy > .pr-text-link { margin-top:9px; color:#c6dfbc; border-color:#6a9d83; font-size:11px; }

/* Service connections read as a short index rather than repeated cards. */
.pr-spaces .pr-section-heading { margin-bottom:35px; }
.pr-space-grid { display:grid; border-top:1px solid #cbd9cb; }
.pr-space-card { display:grid; grid-template-columns:140px 1fr 1.25fr 172px; align-items:center; gap:28px; padding:28px 0; border-bottom:1px solid var(--pr-line); }
.pr-space-top { display:flex; align-items:center; gap:13px; }
.pr-space-top > span { width:38px; height:38px; display:grid; place-items:center; border:1px solid #dce6d5; border-radius:50%; background:#f0f5e9; color:#608661; flex-shrink:0; }
.pr-space-top svg { width:21px; height:21px; }
.pr-space-top small { color:#8d9b88; font-size:7px; font-weight:700; letter-spacing:1px; line-height:1.6; }
.pr-space-card h3 { margin:0; font-size:18px; line-height:1.4; letter-spacing:-.5px; }
.pr-space-card p { margin:0; color:var(--pr-muted); font-size:13px; line-height:1.8; }
.pr-space-card > a { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#467550; font-size:11px; font-weight:700; }
.pr-space-card > a svg { width:20px; height:20px; flex-shrink:0; transition:translate .3s; }
.pr-space-card > a:hover svg { translate:4px 0; }

.pr-faq-section { padding-block:var(--pr-space); background:#f0f3eb; border-block:1px solid #e1e7da; scroll-margin-top:25px; }
.pr-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:clamp(35px,7vw,100px); }
.pr-faq-grid header > .pr-copy { max-width:280px; margin-top:19px; font-size:14px; }
.pr-faq-grid header > .pr-text-link { margin-top:17px; }
.pr-faq-list { display:grid; border-top:1px solid #cbd8c9; }
.pr-faq-item { border-bottom:1px solid #cbd8c9; transition:background .3s; }
.pr-faq-item h3 { margin:0; }
.pr-faq-question { display:grid; grid-template-columns:27px minmax(0,1fr) 30px; align-items:center; gap:16px; width:100%; min-height:80px; padding:21px 0; border:0; background:transparent; color:#2b4e37; font:700 15px/1.5 Lato,Arial,sans-serif; text-align:left; }
.pr-faq-number { color:#9aaa90; font:700 9px/1 Montserrat,Arial,sans-serif; letter-spacing:1px; }
.pr-faq-question > svg { width:15px; height:15px; padding:6px; box-sizing:content-box; border:1px solid #ccd9c8; border-radius:50%; color:#4b7c54; transition:rotate .3s,background .3s,color .3s; }
.pr-faq-item.is-open .pr-faq-number { color:#397250; }
.pr-faq-item.is-open .pr-faq-question > svg { rotate:180deg; background:#285d45; color:#e4f3d9; border-color:#285d45; }
.pr-faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s ease; }
.pr-faq-item.is-open .pr-faq-answer { grid-template-rows:1fr; }
.pr-faq-answer > div { overflow:hidden; }
.pr-faq-answer p { margin:0; padding:0 38px 25px 43px; color:var(--pr-muted); font-size:14px; line-height:1.85; }
.pr-closing { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-block:var(--pr-space); padding:12px 0 0; }
.pr-closing h2 { font-size:clamp(32px,3.1vw,43px); }
.pr-closing h2 span { color:#497c5c; }
.pr-closing p:not(.pr-kicker) { margin:18px 0 0; color:var(--pr-muted); font-size:14px; line-height:1.8; }
.pr-closing-actions { display:grid; gap:17px; text-align:center; flex-shrink:0; }
.pr-closing-actions > a { color:#7e907e; font-size:12px; }
.products-page :is(.pr-button,.pr-text-link,.pr-space-card > a,.pr-guide-tabs button):focus-visible { outline:3px solid #75ab84; outline-offset:4px; }
.pr-faq-question:focus-visible { outline:2px solid #75ab84; outline-offset:-4px; }
@keyframes pr-panel-in { from { opacity:.3; translate:0 7px; } to { opacity:1; translate:0 0; } }
@media(max-width:1100px) {
  .pr-hero { gap:20px; grid-template-columns:1fr 1fr .22fr; }
  .pr-hero h1 { font-size:clamp(32px,3.6vw,40px); letter-spacing:-1.5px; }
  .pr-hero-copy > p:not(.pr-kicker) { font-size:13px; }
  .pr-hero-aside { padding-left:10px; }
  .pr-hero-aside p { font-size:23px; }
  .pr-benefit { grid-template-columns:44px 115px minmax(0,1fr); gap:13px; }
  .pr-benefit-icon { width:44px; height:44px; }
  .pr-benefit h3 { font-size:13px; }
  .pr-benefit p { font-size:11px; }
  .pr-care-photo { height:485px; }
  .pr-space-card { grid-template-columns:112px .95fr 1.1fr 150px; gap:21px; }
  .pr-space-card h3 { font-size:16px; }
  .pr-space-card p { font-size:12px; }
  .pr-space-card > a { font-size:10px; }
}
@media(max-width:900px) {
  .pr-hero { grid-template-columns:1fr 1fr; height:350px; gap:25px; }
  .pr-hero-aside { display:none; }
  .pr-hero h1 { font-size:clamp(30px,4vw,36px); }
  .pr-hero .pr-kicker { font-size:8px; letter-spacing:1.5px; }
  .pr-hero-copy > p:not(.pr-kicker) { font-size:12px; margin-block:17px 9px; }
  .pr-hero-index { margin-top:20px; font-size:6px; }
  .pr-hero-photo { border-top-right-radius:45px; }
  .pr-hero-photo figcaption { font-size:8px; left:14px; right:14px; padding:9px 10px; gap:7px; }
  .pr-principles { grid-template-columns:.75fr 1.25fr; gap:25px 35px; }
  .pr-principles h2 { font-size:31px; }
  .pr-benefit { grid-template-columns:42px minmax(0,1fr); gap:7px 14px; padding-block:17px; }
  .pr-benefit-icon { grid-column:1; grid-row:1 / span 2; width:42px; height:42px; }
  .pr-benefit-icon img { width:28px; height:28px; }
  .pr-benefit h3,.pr-benefit p { grid-column:2; }
  .pr-benefit h3 { font-size:14px; }
  .pr-benefit p { font-size:12px; }
  .pr-editorial-note { font-size:33px; }
  .pr-section-heading > .pr-copy { max-width:260px; font-size:13px; }
  .pr-care-grid { gap:32px; grid-template-columns:1.12fr .88fr; }
  .pr-care-photo { height:545px; }
  .pr-care-copy h2 { font-size:29px; }
  .pr-guide-tabs button { font-size:11px; }
  .pr-guide-panel { min-height:267px; }
  .pr-guide-panel .pr-copy { font-size:13px; }
  .pr-guide-panel li { font-size:11px; }
  .pr-care-photo figcaption { left:19px; right:19px; gap:10px; }
  .pr-care-photo figcaption > span { width:34px; height:34px; }
  .pr-care-photo figcaption strong { font-size:11px; }
  .pr-care-photo figcaption p { font-size:9px; }
  .pr-space-card { grid-template-columns:105px minmax(0,1fr) minmax(0,1.2fr); gap:13px 20px; padding-block:26px; }
  .pr-space-card > a { grid-column:2 / -1; justify-self:start; gap:24px; font-size:11px; }
  .pr-faq-grid { gap:35px; }
  .pr-faq-question { font-size:14px; gap:12px; }
  .pr-faq-answer p { padding-left:39px; font-size:13px; }
  .pr-closing h2 { font-size:32px; }
}
@media(max-width:650px) {
  .products-page { --pr-space:47px; }
  .products-page h2 { font-size:30px; letter-spacing:-1.2px; }
  .pr-kicker { font-size:8px; letter-spacing:1.7px; margin-bottom:15px; }
  .pr-breadcrumb { padding-block:15px; font-size:9px; }
  .pr-hero { height:auto; grid-template-columns:minmax(0,1fr); grid-template-rows:auto 196px; gap:18px; padding:8px 0 21px; }
  .pr-hero-copy { padding:0 4px; }
  .pr-hero h1 { font-size:clamp(31px,8vw,39px); line-height:1.08; letter-spacing:-1.5px; }
  .pr-hero-copy > p:not(.pr-kicker) { max-width:340px; margin:18px 0 10px; font-size:13px; }
  .pr-hero-copy .pr-text-link { font-size:11px; padding-block:9px; }
  .pr-hero-index { display:none; }
  .pr-hero-photo { justify-self:end; width:min(100%,420px); border-radius:3px 45px 3px 3px; height:196px; }
  .pr-hero-photo > img { object-position:63% 40%; }
  .pr-hero-photo figcaption { bottom:13px; left:14px; right:14px; font-size:8px; }
  .pr-principles { grid-template-columns:minmax(0,1fr); gap:27px; }
  .pr-principles .pr-section-heading { grid-column:1; grid-row:1; gap:18px; }
  .pr-principles .pr-section-heading > .pr-copy { max-width:none; font-size:14px; }
  .pr-editorial-note { font-size:32px; margin-top:0; }
  .pr-benefits { grid-column:1; grid-row:2; }
  .pr-benefit { grid-template-columns:46px minmax(0,1fr); padding-block:18px; gap:7px 17px; }
  .pr-benefit-icon { width:46px; height:46px; }
  .pr-benefit-icon img { width:29px; height:29px; }
  .pr-benefit h3 { font-size:15px; }
  .pr-benefit p { font-size:13px; }
  .pr-fineprint { grid-column:1; grid-row:3; max-width:none; padding:0; border:0; font-size:10px; }
  .pr-care-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .pr-care-copy { grid-column:1; grid-row:1; }
  .pr-care-copy h2 { font-size:30px; }
  .pr-care-photo { grid-column:1; grid-row:2; height:275px; }
  .pr-care-photo figcaption { left:23px; bottom:23px; }
  .pr-care-photo figcaption > span { width:40px; height:40px; }
  .pr-care-photo figcaption strong { font-size:13px; }
  .pr-care-photo figcaption p { font-size:10px; }
  .pr-guide-tabs { margin-block:25px; }
  .pr-guide-tabs button { font-size:12px; gap:9px; }
  .pr-guide-panel { min-height:239px; }
  .pr-guide-panel .pr-copy { font-size:14px; }
  .pr-guide-panel li { font-size:12px; }
  .pr-care-copy > .pr-text-link { margin-top:8px; font-size:12px; }
  .pr-section-heading { flex-direction:column; align-items:flex-start; gap:17px; margin-bottom:25px; }
  .pr-section-heading > .pr-copy { max-width:none; padding-left:15px; font-size:14px; }
  .pr-space-card { grid-template-columns:52px minmax(0,1fr); gap:12px 14px; padding-block:25px; }
  .pr-space-top { grid-column:1; grid-row:1 / span 3; flex-direction:column; align-items:flex-start; gap:12px; }
  .pr-space-top > span { width:40px; height:40px; }
  .pr-space-top small { font-size:6px; letter-spacing:.5px; }
  .pr-space-card h3,.pr-space-card p,.pr-space-card > a { grid-column:2; }
  .pr-space-card h3 { font-size:19px; }
  .pr-space-card p { font-size:14px; }
  .pr-space-card > a { font-size:12px; margin-top:2px; }
  .pr-faq-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .pr-faq-grid header > .pr-copy { max-width:none; }
  .pr-faq-question { grid-template-columns:22px minmax(0,1fr) 28px; gap:11px; min-height:78px; padding-block:20px; font-size:14px; }
  .pr-faq-question > svg { width:14px; height:14px; padding:6px; }
  .pr-faq-answer p { padding:0 23px 23px 33px; font-size:13px; }
  .pr-closing { flex-direction:column; align-items:flex-start; gap:27px; padding-top:0; }
  .pr-closing h2 { font-size:32px; }
  .pr-closing p:not(.pr-kicker) { font-size:13px; }
  .pr-closing-actions { width:100%; }
  .pr-closing-actions .pr-button { width:100%; }
}
@media(max-width:360px) {
  .pr-hero h1 { font-size:30px; }
  .pr-hero-copy > p:not(.pr-kicker) { font-size:12px; }
  .pr-guide-tabs button { font-size:11px; }
  .pr-guide-panel { min-height:285px; }
  .pr-space-card h3 { font-size:17px; }
  .pr-space-card p { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .products-page *, .products-page *::before,.products-page *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
