/* Isolated email-gate preview. Does not change the underlying storefront. */
.rrg-catalog-gate { --gate-blue:#243f3d; --gate-navy:#243f3d; box-sizing:border-box; position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#fff; color:var(--gate-navy); font-family:'Plus Jakarta Sans',sans-serif; z-index:2147483000; }
.rrg-catalog-gate::backdrop { background:#243f3db3; }

/* Registration step — same panel, no navigation or credential persistence. */
.rrg-catalog-gate [hidden] { display:none !important; }
.gate-step-title { font-size:18px; font-weight:500; text-align:center; margin:0 0 26px; }
.rrg-catalog-gate__registration > label:not(.gate-research-confirm) { margin-top:20px; }
.rrg-catalog-gate input[readonly] { color:#64746c; background:#f0f4f7; }
.gate-password-row { display:flex; position:relative; }
.gate-password-row input { padding-right:70px; }
.gate-password-toggle { position:absolute; right:6px; top:6px; height:44px; padding:0 12px; border:0; background:transparent; color:#243f3d; font:inherit; font-size:12px; cursor:pointer; }
.gate-field-help { font-size:11px; line-height:1.6; color:#64746c; margin:8px 0 20px; }
.rrg-catalog-gate label.gate-research-confirm { display:flex; align-items:flex-start; gap:12px; margin:22px 0; text-transform:none; letter-spacing:0; font-size:12px; line-height:1.8; font-weight:400; cursor:pointer; }
.rrg-catalog-gate .gate-research-confirm input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:#243f3d; }
.gate-back { display:block; margin:18px auto 0; padding:10px; min-height:44px; background:transparent; border:0; font:inherit; font-size:13px; color:#64746c; cursor:pointer; }
.gate-registration-step .rrg-catalog-gate__logo { width:190px; margin-bottom:28px; }
.gate-registration-step .rrg-catalog-gate__description { margin-bottom:26px; }
.gate-registration-step .rrg-catalog-gate__form-side { padding-block:36px; }
.gate-registration-step .rrg-catalog-gate__visual { position:sticky; top:0; height:100dvh; align-self:start; }
@media(max-width:767px) {
 .gate-registration-step .rrg-catalog-gate__visual { position:relative; height:auto; align-self:stretch; }
}

.rrg-catalog-gate *, .rrg-catalog-gate *::before, .rrg-catalog-gate *::after { box-sizing:border-box; }
.rrg-catalog-gate__layout { display:grid; grid-template-columns:1.08fr 1fr; min-height:100%; }
.rrg-catalog-gate__visual { position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; padding:48px clamp(28px,5vw,88px); background:linear-gradient(145deg,#eaf3fa,#f5f8fc 60%,#dce8f8); overflow:hidden; }
.rrg-catalog-gate__eyebrow { color:var(--gate-blue); text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; margin:0 0 24px; text-align:center; }
.rrg-catalog-gate__viewport { overflow:hidden; border-radius:24px; box-shadow:0 18px 70px #26456812; }
.rrg-catalog-gate__track { display:flex; transition:transform .65s ease; }
.rrg-catalog-gate__slide { flex:0 0 100%; min-width:0; margin:0; background:#fff; }
.rrg-catalog-gate__slide img { display:block; width:100%; height:clamp(220px,38vh,380px); object-fit:contain; background:#f2f6fa; }
.rrg-catalog-gate__slide figcaption { padding:22px; text-align:center; font-size:19px; font-weight:700; }
.rrg-catalog-gate__headline { font-size:clamp(28px,3vw,44px); line-height:1.15; letter-spacing:-.045em; text-align:center; margin:30px 0 14px; }
.rrg-catalog-gate__caption { margin:0 auto; text-align:center; color:#64746c; max-width:420px; font-size:14px; line-height:1.8; }
.rrg-catalog-gate__controls { display:flex; justify-content:center; align-items:center; gap:4px; margin-top:22px; }
.rrg-catalog-gate__dot, .rrg-catalog-gate__pause { display:grid; place-items:center; border:0; background:transparent; color:#243f3d; min-width:44px; min-height:44px; cursor:pointer; padding:8px; }
.rrg-catalog-gate__dot::before { content:''; display:block; width:8px; height:8px; border-radius:50%; background:#aebdcc; }
.rrg-catalog-gate__dot[aria-pressed=true]::before { background:var(--gate-blue); box-shadow:0 0 0 4px #243f3d22; }
.rrg-catalog-gate__pause { font-size:11px; }
.rrg-catalog-gate__form-side { display:flex; align-items:center; justify-content:center; padding:48px clamp(28px,5vw,88px); }
.rrg-catalog-gate__content { width:100%; max-width:480px; text-align:center; }
.rrg-catalog-gate__logo { width:235px; height:auto; display:block; margin:0 auto 58px; }
/* Keep entry fields and long consent copy readable within the centered panel. */
.rrg-catalog-gate__content input,
.rrg-catalog-gate__content label,
.rrg-catalog-gate__content .gate-field-help { text-align:left; }
.rrg-catalog-gate__title { font-size:clamp(26px,2.7vw,36px); letter-spacing:-.04em; line-height:1.2; margin:0 0 16px; }
.rrg-catalog-gate__description { color:#64746c; font-size:15px; line-height:1.8; margin:0 0 34px; }
.rrg-catalog-gate label { display:block; margin-bottom:10px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.rrg-catalog-gate label span { color:#68788a; font-weight:400; }
.rrg-catalog-gate input { width:100%; min-width:0; height:56px; border:1px solid #d9e3eb; border-radius:9px; padding:0 16px; color:#243f3d; background:#f8fafc; font:inherit; font-size:16px; box-shadow:none; }
.rrg-catalog-gate input::placeholder { color:#8a98a5; }
.rrg-catalog-gate__submit { width:100%; margin-top:14px; min-height:54px; border:0; border-radius:9px; color:white; background:var(--gate-blue); font:inherit; font-weight:700; cursor:pointer; }
.rrg-catalog-gate__submit:hover { background:#4052bc; }
.rrg-catalog-gate :focus-visible { outline:3px solid #688bf0; outline-offset:3px; }
.rrg-catalog-gate__consent { color:#64746c; font-size:11px; line-height:1.8; margin:16px 0 0; }
.rrg-catalog-gate a { color:inherit; text-underline-offset:3px; }
.rrg-catalog-gate .gate-policy-link { display:inline; padding:0; border:0; border-radius:0; background:none; color:inherit; font:inherit; line-height:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.rrg-catalog-gate button.gate-policy-link,
.rrg-catalog-gate button.gate-back,
.rrg-catalog-gate button.gate-policy-back,
.rrg-catalog-gate button.gate-password-toggle { background:transparent !important; background-image:none !important; box-shadow:none !important; border:0 !important; border-radius:0 !important; color:#64746c !important; text-transform:none !important; letter-spacing:normal !important; }
.rrg-catalog-gate button.gate-policy-link { padding:0 !important; min-height:0 !important; font:inherit !important; }
.rrg-catalog-gate button::before,
.rrg-catalog-gate button::after { transform:none !important; }
.rrg-catalog-gate button.gate-policy-link::before,
.rrg-catalog-gate button.gate-policy-link::after,
.rrg-catalog-gate button.gate-back::before,
.rrg-catalog-gate button.gate-back::after,
.rrg-catalog-gate button.gate-policy-back::before,
.rrg-catalog-gate button.gate-policy-back::after,
.rrg-catalog-gate button.gate-password-toggle::before,
.rrg-catalog-gate button.gate-password-toggle::after { content:none !important; display:none !important; }
.gate-policy-reader { width:100%; max-width:620px; align-self:flex-start; overflow-wrap:anywhere; }
.gate-policy-reader h2 { font-size:26px; line-height:1.3; }
.gate-policy-back { min-height:44px; padding:10px 0; border:0; background:none; color:#243f3d; font:inherit; cursor:pointer; }
.gate-policy-body { font-size:14px; line-height:1.85; color:#52667d; }
.gate-policy-body h1,.gate-policy-body h2,.gate-policy-body h3 { font-size:20px; line-height:1.4; margin-top:28px; color:#243f3d; }
.gate-policy-body table { display:block; max-width:100%; overflow:auto; }
/* A long policy must never determine the height of the adjacent artwork. */
.rrg-catalog-gate.gate-policy-open { overflow:hidden; }
.gate-policy-open .rrg-catalog-gate__layout { height:100dvh; min-height:0; }
.gate-policy-open .rrg-catalog-gate__form-side { min-height:0; height:100dvh; padding-block:24px; overflow:hidden; }
.gate-policy-open .gate-policy-reader { display:flex; flex-direction:column; height:100%; min-height:0; }
.gate-policy-open .gate-policy-back,.gate-policy-open .gate-policy-reader > h2 { flex-shrink:0; }
.gate-policy-open .gate-policy-body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:14px; scrollbar-gutter:stable; }
@media(min-width:768px) {
 .gate-policy-open .rrg-catalog-gate__visual { height:100dvh; min-height:0; align-self:start; }
 .gate-policy-open .rrg-catalog-gate__slide { height:100dvh; min-height:0; }
}
@media(max-width:767px) {
 .gate-policy-open .rrg-catalog-gate__visual { display:none; }
 .gate-policy-open .rrg-catalog-gate__form-side { flex:1; padding-block:16px; }
}
.rrg-catalog-gate__status { font-size:13px; line-height:1.6; color:#8b4627; }
.rrg-catalog-gate__status:empty { display:none; }
.rrg-catalog-gate__trust { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 20px; margin:30px 0; font-size:14px; line-height:1.5; font-weight:600; color:#64746c; }
.rrg-catalog-gate__trust span::before { content:'✓'; color:var(--gate-blue); margin-right:8px; font-size:19px; font-weight:700; }
.rrg-catalog-gate__footer { border-top:1px solid #e6edf3; padding-top:24px; text-align:center; color:#64746c; font-size:10px; line-height:1.9; }
.rrg-catalog-gate__footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; }
.rrg-catalog-gate__draft { font-size:10px; color:#64746c; text-align:center; margin:16px 0 0; }
@media(max-width:767px) {
 .rrg-catalog-gate__layout { display:flex; flex-direction:column; }
 .rrg-catalog-gate__form-side { order:0; padding:32px max(24px,env(safe-area-inset-left)) 28px; }
 .rrg-catalog-gate__visual { order:1; padding:28px 24px 32px; }
 .rrg-catalog-gate__logo { width:190px; margin-bottom:30px; }
 .rrg-catalog-gate__description { margin-bottom:24px; }
 .rrg-catalog-gate__slide img { height:240px; }
 .rrg-catalog-gate__headline { font-size:28px; }
 .rrg-catalog-gate__trust { margin:24px 0; }
}
@media(prefers-reduced-motion:reduce) { .rrg-catalog-gate__track { transition:none; } }

/* Three complete editorial panels, using approved Refresh artwork. */
.rrg-catalog-gate__visual { padding:0; background:#243f3d; justify-content:stretch; }
.rrg-catalog-gate__viewport { border-radius:0; box-shadow:none; flex:1; display:flex; width:100%; }
.rrg-catalog-gate__track { width:100%; }
.rrg-catalog-gate__slide { position:relative; display:flex; align-items:center; justify-content:center; min-height:100dvh; padding:60px 40px 90px; color:#fff; background:radial-gradient(ellipse at 45% 35%,#365952,#243f3d 72%); }
.rrg-catalog-gate__slide h2 { font-size:clamp(30px,3.4vw,52px); font-weight:600; letter-spacing:-.045em; line-height:1.12; margin:26px 0 18px; }
.rrg-catalog-gate .rrg-catalog-gate__slide h2 { color:#fff !important; }
.rrg-catalog-gate button.rrg-catalog-gate__dot,
.rrg-catalog-gate button.rrg-catalog-gate__pause { background:transparent !important; background-image:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:8px !important; min-width:44px; min-height:44px; text-transform:none !important; letter-spacing:normal !important; color:#e5eee7 !important; }
.rrg-catalog-gate button.rrg-catalog-gate__dot::after,
.rrg-catalog-gate button.rrg-catalog-gate__pause::before,
.rrg-catalog-gate button.rrg-catalog-gate__pause::after { content:none !important; display:none !important; }
.rrg-catalog-gate button.rrg-catalog-gate__dot::before { content:'' !important; position:static !important; display:block !important; width:8px !important; height:8px !important; border-radius:50% !important; transform:none !important; background:#7d9489 !important; }
.rrg-catalog-gate button.rrg-catalog-gate__dot[aria-pressed=true]::before { background:#d8efe3 !important; }
.rrg-catalog-gate__slide p:not(.rrg-catalog-gate__eyebrow) { font-size:14px; line-height:1.8; color:#e5eee7; margin:0; }
.rrg-catalog-gate__slide .rrg-catalog-gate__eyebrow { color:#d8efe3; margin-bottom:28px; }
.rrg-catalog-gate__slide small { display:block; color:#b3cbbb; font-size:10px; letter-spacing:.1em; margin-top:22px; }
.rrg-catalog-gate__slide .gate-scene { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:79% center; }
.gate-slide--scene::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 35%,#173b39e8 100%); }
.gate-scene-copy { position:absolute; z-index:1; bottom:100px; left:40px; right:40px; padding:24px; background:#243f3d9c; border:1px solid #ffffff26; border-radius:14px; backdrop-filter:blur(12px); }
.gate-scene-copy .rrg-catalog-gate__eyebrow { text-align:left; margin-bottom:12px; }
.gate-scene-copy h2 { font-size:clamp(28px,2.8vw,42px); margin:0 0 14px; }
.gate-story { width:100%; max-width:540px; text-align:center; }
.gate-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; max-width:480px; margin:auto; }
.gate-product { border:1px solid #ffffff21; border-radius:12px; background:#ffffff07; padding:10px 10px 12px; }
.rrg-catalog-gate__slide .gate-product img { width:100%; height:auto; aspect-ratio:1; border-radius:7px; }
.gate-product span { display:block; margin-top:9px; font-size:13px; line-height:1.4; }
.gate-brand-mark { width:190px; padding:25px; margin:46px auto 36px; border-radius:24px; background:#f8fbff; box-shadow:0 20px 70px #0004; }
.rrg-catalog-gate__slide .gate-brand-mark img { width:100%; height:auto; background:transparent; }
.gate-story-rule { height:1px; width:48px; background:#7d9489; margin:30px auto 0; }
.rrg-catalog-gate__controls { position:absolute; bottom:22px; left:0; right:0; z-index:2; margin:0; }
.rrg-catalog-gate__pause { color:#e5eee7; }
.rrg-catalog-gate__dot::before { background:#7d9489; }
.rrg-catalog-gate__dot[aria-pressed=true]::before { background:#d8efe3; box-shadow:0 0 0 4px #d8efe322; }
.rrg-catalog-gate__slide .gate-scene-copy { bottom:82px; padding:18px 22px; max-width:440px; }
.rrg-catalog-gate__slide .gate-scene-copy h2 { font-size:26px; margin:10px 0; }
.rrg-catalog-gate__slide .gate-scene-copy p:not(.rrg-catalog-gate__eyebrow) { font-size:12px; }
.rrg-catalog-gate__slide .gate-scene-copy .rrg-catalog-gate__eyebrow { font-size:9px; margin-bottom:8px; }
@media(min-width:768px) and (max-height:800px) {
 .gate-product-grid { max-width:min(480px,55vh); }
 .rrg-catalog-gate__slide { padding-block:32px 75px; }
 .rrg-catalog-gate__slide h2 { font-size:36px; margin:22px 0 14px; }
 .rrg-catalog-gate__slide .rrg-catalog-gate__eyebrow { margin-bottom:20px; }
}
@media(max-width:767px) {
 .rrg-catalog-gate__visual { padding:0; flex-shrink:0; }
 .rrg-catalog-gate__slide { min-height:650px; padding:40px 24px 84px; }
 .rrg-catalog-gate__slide h2 { font-size:32px; }
 .gate-scene-copy { left:24px; right:24px; bottom:85px; padding:20px; }
 .gate-product-grid { gap:9px; }
 .gate-product { padding:7px 7px 10px; }
 .gate-product span { font-size:10px; }
}

/* Refresh typography and natural-water artwork. */
.rrg-catalog-gate{background:#f7f6ef;font-family:Avenir,'Avenir Next','Segoe UI',sans-serif;color:#243f3d}
.rrg-catalog-gate__title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(34px,3.4vw,48px);line-height:1.13;letter-spacing:-.04em}
.rrg-catalog-gate__form-side{background:#f7f6ef}.rrg-catalog-gate__logo{width:220px;margin-bottom:38px}
.rrg-catalog-gate__slide .gate-scene{object-position:center;filter:saturate(.85)}
.rrg-catalog-gate__slide .gate-scene-copy{background:#173b39db;border-radius:3px;max-width:none;bottom:85px}
.rrg-catalog-gate__slide .gate-scene-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:34px}
.rrg-catalog-gate__trust{justify-content:center;font-size:12px;letter-spacing:.06em}.rrg-catalog-gate__trust span::before{content:none}
.rrg-catalog-gate input:focus{outline:2px solid #7d9489;outline-offset:2px}
.rrg-catalog-gate__submit{background:#243f3d!important;border-color:#243f3d!important;color:#fff!important}
@media(max-width:767px){.rrg-catalog-gate__title{font-size:34px}.rrg-catalog-gate__slide{min-height:520px}.rrg-catalog-gate__logo{width:180px}}
/* Reserve separate space for artwork and captions; never cover product labels. */
.rrg-catalog-gate .gate-slide--scene{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;padding:0 0 64px;height:100dvh;min-height:0;background:#243f3d}
.rrg-catalog-gate .gate-slide--scene::after{display:none}
.rrg-catalog-gate .gate-slide--scene .gate-scene{position:static;inset:auto;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#dce7df;filter:none}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy{position:static;inset:auto;max-width:none;margin:0;padding:22px 32px;background:#243f3d;border:0;border-radius:0;backdrop-filter:none}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy h2{font-size:clamp(24px,2.4vw,32px);margin:8px 0}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy p:not(.rrg-catalog-gate__eyebrow){font-size:12px;line-height:1.6}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy .rrg-catalog-gate__eyebrow{margin:0;font-size:9px}
@media(max-width:767px){.rrg-catalog-gate .gate-slide--scene{height:auto;grid-template-rows:auto auto}.rrg-catalog-gate .gate-slide--scene .gate-scene{height:auto;aspect-ratio:1;object-fit:contain}.rrg-catalog-gate .gate-slide--scene .gate-scene-copy{padding:24px}}
.rrg-catalog-gate label[for="gate-login-password"],.rrg-catalog-gate .rrg-catalog-gate__registration>label[for="rrg-register-password"]{display:block;margin-top:28px}
/* Mobile: compact gallery, separate caption band, then a focused account form. */
@media(max-width:767px){
.rrg-catalog-gate__layout{display:flex;flex-direction:column;min-height:100dvh}
.rrg-catalog-gate__visual{order:0;position:relative;flex:none;height:330px;min-height:0}
.rrg-catalog-gate__viewport{height:100%;flex:none}
.rrg-catalog-gate .gate-slide--scene{height:330px;min-height:0;grid-template-rows:218px 80px;padding:0 0 32px}
.rrg-catalog-gate .gate-slide--scene .gate-scene{height:218px;width:100%;aspect-ratio:auto;object-fit:contain;background:#e4ebe3}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy{padding:12px 20px;background:#243f3d}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy h2{font-size:23px;line-height:1.15;margin:5px 0 0}
.rrg-catalog-gate .gate-slide--scene .gate-scene-copy p:not(.rrg-catalog-gate__eyebrow){display:none}
.rrg-catalog-gate__controls{bottom:0;height:32px;background:#243f3d;align-items:center}
.rrg-catalog-gate button.rrg-catalog-gate__dot,.rrg-catalog-gate button.rrg-catalog-gate__pause{min-height:32px;padding:4px 10px!important}
.rrg-catalog-gate__form-side{order:1;padding:28px 24px 30px;align-items:flex-start}
.rrg-catalog-gate__logo{width:155px;margin-bottom:22px}
.rrg-catalog-gate__title{font-size:32px;margin-bottom:14px}
.rrg-catalog-gate__description{font-size:13px;line-height:1.7;margin-bottom:24px}
.rrg-catalog-gate__trust{margin:22px 0;font-size:10px;gap:16px}
.rrg-catalog-gate__footer{padding-top:18px}
.gate-registration-step .rrg-catalog-gate__visual{display:none}
.gate-registration-step .rrg-catalog-gate__form-side{padding-top:28px}
.gate-registration-step .rrg-catalog-gate__logo{width:145px;margin-bottom:22px}
.rrg-catalog-gate.gate-policy-open .rrg-catalog-gate__visual{display:none}
}
.rrg-catalog-gate .gate-slide--scene{grid-template-columns:minmax(0,1fr);justify-content:stretch}
/* Fill each gallery frame edge to edge; captions remain in their own row. */
.rrg-catalog-gate .gate-slide--scene .gate-scene{object-fit:cover;object-position:center}
.rrg-catalog-gate__trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-size:11px;letter-spacing:0;font-weight:500}
.rrg-catalog-gate__trust span{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;line-height:1.4}
.rrg-catalog-gate__trust svg{display:block;width:25px;height:25px;color:#243f3d;flex-shrink:0}
@media(max-width:767px){.rrg-catalog-gate__trust{font-size:10px;gap:8px}}
/* Mobile product photography occupies a full-width square. */
@media(max-width:767px){
.rrg-catalog-gate__visual{height:calc(100vw + 112px);width:100%;}
.rrg-catalog-gate .gate-slide--scene{height:calc(100vw + 112px);grid-template-rows:100vw 80px;}
.rrg-catalog-gate .gate-slide--scene .gate-scene{width:100%;height:100vw;aspect-ratio:1/1;object-fit:cover;}
}
