/* =========================================================================
 * Re-Gen Labs storefront — brand-guidelines palette (olive #49531E + white)
 * and typography (Times New Roman headings / Poppins body). Layout structure
 * from the Claude Design import (Hero C), re-skinned to the brand guidelines.
 * ===================================================================== */
:root{
	--bg:#F4F3EC; --ink:#22270E; --muted:rgba(73,83,30,.66); --faint:rgba(73,83,30,.45); --faint2:rgba(73,83,30,.45);
	--line:#E8EBD6; --line2:#E4E6D2; --line3:#F1F0E6;
	--green:#49531E; --green-d:#3E4718; --mint:#FFFFFF; --dark:#49531E;
	--panel:#fff; --chip:#F1F0E6; --chip-bd:#E8EBD6; --gold:#49531E;
	--cream:#F4F3EC; --cream2:#EAE8DC; --sage:#A8B075; --olive2:#6E7845; --olive3:#8C9560; --deep:#22270E;
	--sans:'Poppins',system-ui,-apple-system,sans-serif; --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace; --grot:'Times New Roman',Georgia,'Times',serif;
	--wrap:clamp(1280px, calc(100% - 56px), 1720px); /* fluid: fills large screens, ~28px gutters, capped for readability */
}
body.rl{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.rl img{display:block;max-width:100%}
.rl *{box-sizing:border-box}
.rl-main{display:block}
.rl a{color:var(--green);text-decoration:none}
.rl a:hover{color:var(--green-d)}
.rl-wrapc{max-width:var(--wrap);margin:0 auto;padding:0 28px}
@keyframes rgpulse{0%,100%{opacity:1}50%{opacity:.3}}
.rl-dot{width:6px;height:6px;border-radius:50%;background:var(--mint);display:inline-block;animation:rgpulse 2s infinite}
.rl-dot-green{background:var(--green)}
.rl-stars{color:var(--gold);letter-spacing:2px}

/* ---------- buttons ---------- */
.rl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:600 14px var(--sans);padding:14px 24px;border-radius:0;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;line-height:1}
.rl-btn-primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 6px 18px rgba(73,83,30,.28)}
.rl-btn-primary:hover{background:var(--green-d);border-color:var(--green-d);color:#fff}
.rl-btn-mint{background:var(--mint);border-color:var(--mint);color:var(--dark)}
.rl-btn-mint:hover{background:#F1F1F1;color:var(--dark)}
.rl-btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}
.rl-btn-dark:hover{background:var(--green-d);color:#fff}
.rl-btn-ghostd{background:none;border-color:rgba(255,255,255,.28);color:#FFFFFF}
.rl-btn-ghostd:hover{border-color:var(--mint);color:var(--mint)}

/* ---------- compliance bar ---------- */
.rl-bar{background:var(--dark)}
.rl-bar-in{max-width:var(--wrap);margin:0 auto;padding:8px 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:500 10.5px/1 var(--mono);letter-spacing:.06em}
.rl-bar-l{color:rgba(255,255,255,.55)}.rl-bar-r{color:rgba(255,255,255,.72)}

/* ---------- header ---------- */
.rl-head{position:sticky;top:0;z-index:60;background:rgba(250,250,250,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.rl-head-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:0 28px;height:66px;display:flex;align-items:center;gap:24px}
.rl-logo{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0}
.rl-logo-img,.rl-logo .custom-logo{height:44px;width:auto;display:block}
.rl-foot-logo-img{height:58px;width:auto;display:block}
.rl-logo-mark{width:30px;height:30px;border-radius:0;background:var(--green);display:grid;place-items:center;box-shadow:0 2px 8px rgba(73,83,30,.35)}
.rl-logo-mark span{width:11px;height:11px;background:#fff;transform:rotate(45deg);border-radius:0}
.rl-logo-txt{display:flex;flex-direction:column}
.rl-logo-name{font:700 17px/1 var(--grot);letter-spacing:-.01em;color:var(--ink)}
.rl-logo-name span{color:var(--green)}
.rl-logo-sub{font:500 8px/1 var(--mono);letter-spacing:.33em;color:var(--muted);margin-top:3px}
.rl-nav{display:flex;align-items:center;gap:2px;flex:0 1 auto;justify-content:center}
.rl-nav-item{position:relative}
.rl-nav-item.rl-has-mega{position:static}
.rl-navbtn{display:inline-flex;align-items:center;gap:6px;font:500 13.5px var(--sans);color:var(--ink);background:none;border:none;padding:10px 12px;border-radius:0;transition:background .15s;cursor:pointer}
.rl-navbtn:hover{background:#F1F1F1;color:var(--ink)}
.rl-head-actions{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;justify-content:flex-end}
/* Search collapses to an icon (prototype-style) and opens as a popover under the header. */
.rl-search{position:absolute;top:calc(100% + 8px);right:28px;z-index:70;display:none;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:0;padding:9px 13px;width:300px;box-shadow:0 14px 30px rgba(35,40,20,.14)}
.rl-search.open{display:flex}
.rl-search input{border:none;outline:none;background:none;font:400 13px var(--sans);color:var(--ink);width:100%}
.rl-icon-btn{width:40px;height:40px;display:grid;place-items:center;background:transparent;border:1px solid rgba(34,39,14,.18);border-radius:0;color:#5C6534;transition:all .18s;cursor:pointer}
.rl-icon-btn:hover{border-color:var(--green);color:var(--green);background:#fff}
.rl-cartbtn{position:relative;width:40px;height:40px;display:grid;place-items:center;padding:0;background:var(--green);border:1px solid var(--green);border-radius:0;color:#fff;transition:background .18s}
.rl-cartbtn:hover{background:#333A14;color:#fff}
.rl-cartbtn-txt{display:none}
.rl-cart-count{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:0;background:var(--deep);color:#fff;font:500 9.5px/17px var(--mono);text-align:center;border:1px solid var(--cream)}
.rl-cart-count.rgl-count-hidden{display:none}
.rl-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:6px;cursor:pointer}
.rl-burger span{width:20px;height:2px;background:var(--ink);border-radius:0}

/* mega menu */
.rl-mega{position:absolute;left:0;right:0;top:100%;background:#FFFFFF;border-bottom:1px solid var(--line);box-shadow:0 24px 48px rgba(35,40,20,.14);z-index:56}
.rl-mega-in{max-width:var(--wrap);margin:0 auto;padding:30px 28px 34px;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:44px}
.rl-mega-h{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--faint);text-transform:uppercase;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.rl-mega-col{display:flex;flex-direction:column}
.rl-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}
.rl-mega-link{font:500 13.5px var(--sans);color:var(--ink);padding:9px 10px;border-radius:0;transition:all .15s}
.rl-mega-link:hover{background:#F1F1F1;color:var(--green-d)}
.rl-mega-new{margin-top:18px;background:var(--chip);border:1px solid var(--chip-bd);border-radius:0;padding:14px 16px}
.rl-mega-new-h{font:600 10px/1 var(--mono);letter-spacing:.1em;color:var(--green-d);text-transform:uppercase;margin-bottom:6px}
.rl-mega-new a{font:600 14px var(--grot);color:var(--ink)}
.rl-mega-overlay{position:fixed;inset:66px 0 0;background:rgba(40,45,20,.28);z-index:55}

/* ---------- sections ---------- */
.rl-sec{max-width:var(--wrap);margin:0 auto;padding:64px 28px 8px}
.rl-sec-last{padding-bottom:84px}
.rl-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.rl-eyebrow{font:600 10.5px/1 var(--mono);letter-spacing:.16em;color:var(--green-d);margin-bottom:10px;text-transform:uppercase}
.rl-eyebrow-mint{color:var(--mint)}
.rl-h2{margin:0;font:600 32px/1.1 var(--grot);letter-spacing:-.02em;color:var(--ink)}
.rl-h3{margin:0;font:600 24px/1.12 var(--grot);letter-spacing:-.02em;color:var(--ink)}
.rl-mb{margin-bottom:22px}
.rl-link-underline{font:600 13px var(--sans);color:var(--green-d);border-bottom:1px solid var(--green-d);padding-bottom:2px}
.rl-link-underline:hover{color:var(--green)}
.rl-empty{padding:40px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:0;color:var(--muted);font:400 14px var(--sans)}
.rl-check{display:flex;align-items:center;gap:10px;font:500 13px var(--sans);color:var(--ink)}
.rl-check-ic{flex:none;width:22px;height:22px;border-radius:0;background:var(--chip);display:grid;place-items:center;color:var(--green-d)}

/* ---------- hero C ---------- */
.rl-hero{max-width:none;width:100vw;margin-left:calc(50% - 50vw);padding:0}
.rl-hero-card{max-width:none;margin:0;border-radius:0;position:relative;background:linear-gradient(158deg,#525C27 0%,#49531E 62%,#414A1B 100%);overflow:hidden}
.rl-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 62% 82% at 80% 36%,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 68%)}
.rl-hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:40px 40px}
.rl-hero-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:64px 28px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.rl-hero-batch{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--mint);border:1px solid rgba(174,185,138,.35);border-radius:0;padding:7px 12px;margin-bottom:24px}
.rl-hero-h1{margin:0 0 20px;font:700 clamp(38px,4.4vw,56px)/1.05 var(--grot);letter-spacing:-.025em;color:#FFFFFF}
.rl-hero-h1 span{color:var(--mint)}
.rl-hero-sub{margin:0 0 30px;max-width:46ch;font:400 15.5px/1.65 var(--sans);color:rgba(255,255,255,.72);text-wrap:pretty}
.rl-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}
.rl-hero-media{position:relative;align-self:end}
.rl-hero-media-glow{position:absolute;inset:auto 0 0;height:74%;background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 70%)}
.rl-hero-media img{position:relative;width:82%;margin:0 auto;aspect-ratio:1/1;object-fit:contain;filter:drop-shadow(0 24px 44px rgba(0,0,0,.5))}
.rl-hero-stats{position:relative;max-width:var(--wrap);margin:0 auto;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:repeat(4,1fr)}
.rl-hero-stat{padding:18px 24px 20px;border-left:1px solid rgba(255,255,255,.09)}
.rl-hero-stat:first-child{border-left:none;padding-left:28px}
.rl-hero-stat-n{font:600 20px/1 var(--grot);color:#FFFFFF}
.rl-hero-stat-l{font:500 9.5px/1.5 var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.55);margin-top:5px}

/* ---------- categories ---------- */
.rl-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rl-cat{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:0;padding:20px;transition:all .18s}
.rl-cat:hover{border-color:var(--green);box-shadow:0 12px 26px rgba(35,40,20,.1);transform:translateY(-3px)}
.rl-cat-count{font:500 10px/1 var(--mono);letter-spacing:.08em;color:var(--faint);text-transform:uppercase}
.rl-cat-name{font:600 17px/1.2 var(--grot);color:var(--ink)}
.rl-cat-blurb{font:400 12px/1.5 var(--sans);color:var(--muted)}
.rl-cat-go{margin-top:4px;font:600 12px var(--sans);color:var(--green)}

/* ---------- product cards ---------- */
.rl-card-grid{display:grid;gap:14px}
.rl-card-grid-4{grid-template-columns:repeat(4,1fr)}
.rl-card-grid-3{grid-template-columns:repeat(3,1fr)}
.rl-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;transition:box-shadow .18s,border-color .18s,transform .18s;height:100%}
.rl-card:hover{border-color:var(--green);box-shadow:0 14px 30px rgba(35,40,20,.13);transform:translateY(-4px)}
.rl-card-img{position:relative;background:#F5F5F5;padding:14px}
.rl-card-imgbox{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.rl-card-imgbox img{max-width:82%;max-height:82%;object-fit:contain;mix-blend-mode:multiply}
.rl-card-badge{position:absolute;top:12px;left:12px;font:600 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green-d);background:#F1F1F1;border:1px solid #F1F1F1;padding:5px 8px;border-radius:0}
.rl-card-purity{position:absolute;top:12px;right:12px;font:500 10px/1 var(--mono);color:var(--muted)}
.rl-card-body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.rl-card-goal{font:500 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.rl-card-name{font:600 16px/1.15 var(--grot);color:var(--ink)}
.rl-card-sub{font:400 11.5px/1.4 var(--sans);color:var(--muted)}
.rl-card-foot{margin-top:auto;padding-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.rl-card-pricepre{font:500 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.rl-card-price{font:600 16px/1 var(--grot);color:var(--ink)}
.rl-card-add{display:flex;align-items:center;gap:6px;font:600 12px var(--sans);color:var(--green);background:#fff;border:1px solid var(--green);padding:9px 14px;border-radius:0;transition:all .15s}
.rl-card-add:hover{background:var(--green);color:#fff}
.rl-card-add.is-loading{opacity:.6}
.rl-card-oos{font:600 11px var(--mono);color:var(--faint)}

/* ---------- spotlight ---------- */
.rl-spot{position:relative;background:var(--dark);border-radius:0;overflow:hidden;display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.rl-spot-glow{position:absolute;inset:0;background:radial-gradient(ellipse 55% 90% at 22% 55%,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 70%)}
.rl-spot-media{position:relative;padding:46px 0 46px 52px}
.rl-spot-media img{width:88%;margin:0 auto;aspect-ratio:1/1;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.rl-spot-copy{position:relative;padding:52px 56px 52px 0}
.rl-spot-name{margin:0 0 14px;font:600 40px/1.05 var(--grot);letter-spacing:-.02em;color:#FFFFFF}
.rl-spot-blurb{margin:0 0 24px;max-width:48ch;font:400 15px/1.65 var(--sans);color:rgba(255,255,255,.72)}
.rl-spot-specs{display:flex;gap:26px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0;margin-bottom:24px;flex-wrap:wrap}
.rl-spot-k{font:500 9.5px/1 var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.55);margin-bottom:6px}
.rl-spot-v{font:600 15px var(--grot);color:#FFFFFF}
.rl-spot-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rl-spot-disc{margin-top:18px;font:500 10px/1 var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.55)}

/* ---------- COA table ---------- */
.rl-coa{display:grid;grid-template-columns:1fr 2.2fr;gap:44px;align-items:start}
.rl-coa-intro{position:sticky;top:96px}
.rl-coa-p{margin:0 0 22px;font:400 14.5px/1.65 var(--sans);color:var(--muted)}
.rl-coa-checks{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.rl-coa-table{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden}
.rl-coa-thead{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line2);background:#FAFAFA}
.rl-coa-th{font:600 12px/1 var(--mono);letter-spacing:.1em;color:var(--ink)}
.rl-coa-live{display:inline-flex;align-items:center;gap:6px;font:500 10.5px/1 var(--mono);color:var(--green-d)}
.rl-coa-row{display:grid;grid-template-columns:1.5fr .7fr 1.5fr 1fr .7fr .8fr;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line3);transition:background .12s}
.rl-coa-row:hover{background:#FAFAFA}
.rl-coa-hrow{padding:10px 20px;font:600 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--faint)}
.rl-coa-hrow:hover{background:none}
.rl-coa-name{font:600 13px var(--sans);color:var(--ink)}
.rl-coa-muted{font:400 12px var(--sans);color:var(--muted)}
.rl-coa-mono{font:500 11px var(--mono);color:var(--muted)}
.rl-coa-purity{font:600 12px var(--mono);color:var(--green-d)}
.rl-coa-r{text-align:right}
.rl-coa-foot{padding:14px 20px;text-align:center;font:600 12.5px var(--sans)}

/* ---------- how it works ---------- */
.rl-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rl-how{background:#fff;border:1px solid var(--line);border-radius:0;padding:24px}
.rl-how-n{font:600 11px/1 var(--mono);color:var(--faint);margin-bottom:16px}
.rl-how-t{font:600 17px var(--grot);color:var(--ink);margin-bottom:8px}
.rl-how p{margin:0;font:400 13px/1.6 var(--sans);color:var(--muted)}

/* ---------- reviews ---------- */
.rl-rev-score{display:flex;align-items:center;gap:12px}
.rl-rev-num{font:600 30px/1 var(--grot);color:var(--ink)}
.rl-rev-count{font:500 10.5px var(--mono);color:var(--muted);margin-top:3px;display:block}
.rl-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rl-rev{background:#fff;border:1px solid var(--line);border-radius:0;padding:20px;display:flex;flex-direction:column;gap:10px}
.rl-rev-top{display:flex;justify-content:space-between;align-items:center}
.rl-rev-verified{font:600 9.5px/1 var(--mono);letter-spacing:.06em;color:var(--green-d);background:var(--chip);padding:4px 8px;border-radius:0}
.rl-rev p{margin:0;font:400 13px/1.6 var(--sans);color:#49531E}
.rl-rev-by{margin-top:auto;padding-top:8px;border-top:1px solid var(--line3);display:flex;justify-content:space-between;align-items:center;font:600 12px var(--sans);color:var(--ink)}
.rl-rev-prod{font:500 10px var(--mono);color:var(--faint)}

/* ---------- partner ---------- */
.rl-partner{background:var(--chip);border:1px solid var(--chip-bd);border-radius:0;padding:48px 56px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.rl-partner-h{margin:0 0 10px;font:600 30px/1.15 var(--grot);letter-spacing:-.02em;color:var(--ink)}
.rl-partner p{margin:0;font:400 14.5px/1.6 var(--sans);color:var(--muted);max-width:56ch}

/* ---------- footer ---------- */
.rl-foot{background:#333A14;margin-top:60px}
.rl-foot-in{max-width:var(--wrap);margin:0 auto;padding:56px 28px 0;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:40px}
.rl-foot-logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.rl-foot-mark{width:28px;height:28px;border-radius:0;background:var(--green);display:grid;place-items:center}
.rl-foot-mark span{width:10px;height:10px;background:#fff;transform:rotate(45deg);border-radius:0}
.rl-foot-name{font:700 16px/1 var(--grot);color:#FFFFFF}
.rl-foot-name span{color:var(--mint)}
.rl-foot-brand p{margin:0 0 20px;max-width:38ch;font:400 13px/1.7 var(--sans);color:rgba(255,255,255,.55)}
.rl-foot-pays{display:flex;gap:8px;flex-wrap:wrap}
.rl-foot-pays span{font:600 9.5px/1 var(--mono);letter-spacing:.06em;color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.14);border-radius:0;padding:6px 9px}
.rl-foot-col h3{margin:0 0 16px;font:600 10px/1 var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.55)}
.rl-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rl-foot-col a{font:400 13px var(--sans);color:#FFFFFF}
.rl-foot-col a:hover{color:var(--mint)}
.rl-foot-bottom{max-width:var(--wrap);margin:0 auto;padding:32px 28px 36px}
.rl-foot-disc{margin:0 0 14px;font:400 11px/1.7 var(--sans);color:rgba(255,255,255,.5);max-width:110ch;border-top:1px solid rgba(255,255,255,.1);padding-top:24px}
.rl-foot-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:500 10.5px/1 var(--mono);letter-spacing:.05em;color:rgba(255,255,255,.5)}
.rl-foot-legal a{color:rgba(255,255,255,.5)}.rl-foot-legal a:hover{color:var(--mint)}

/* ---------- cart drawer + toast ---------- */
.rl-drawer-overlay{position:fixed;inset:0;background:rgba(40,45,20,.4);z-index:90;backdrop-filter:blur(2px);opacity:0;transition:opacity .25s}
.rl-drawer-overlay.show{opacity:1}
.rl-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);background:#FFFFFF;z-index:95;box-shadow:-24px 0 60px rgba(35,40,20,.18);transform:translateX(100%);transition:transform .28s cubic-bezier(.32,.72,.28,1);display:flex;flex-direction:column}
.rl-drawer.open{transform:translateX(0)}
.rl-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line2)}
.rl-drawer-title{font:600 15px var(--grot);color:var(--ink)}
.rl-drawer-count{font:500 12px var(--mono);color:var(--faint)}
.rl-drawer-x{width:32px;height:32px;display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:0;color:var(--muted);transition:all .15s}
.rl-drawer-x:hover{border-color:var(--ink);color:var(--ink)}
.rl-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden}
.rl-drawer-lines{flex:1;overflow-y:auto;padding:16px 22px;display:flex;flex-direction:column;gap:12px}
.rl-dl{display:flex;gap:12px;border:1px solid var(--line2);border-radius:0;padding:10px}
.rl-dl-img{width:64px;height:64px;flex:none;background:#F5F5F5;border-radius:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rl-dl-img img{max-width:100%;max-height:100%;object-fit:contain}
.rl-dl-b{flex:1;display:flex;flex-direction:column;gap:3px}
.rl-dl-top{display:flex;justify-content:space-between;gap:8px}
.rl-dl-name{font:600 13px var(--grot);color:var(--ink)}
.rl-dl-x{background:none;border:none;color:var(--faint);font-size:12px;cursor:pointer}
.rl-dl-x:hover{color:#B0483C}
.rl-dl-var{font:500 10px var(--mono);color:var(--muted)}
.rl-dl-row{display:flex;justify-content:space-between;align-items:center;margin-top:5px}
.rl-dl-total{font:600 13px var(--grot);color:var(--ink)}
.rl-qtybox{display:inline-flex;align-items:center;border:1px solid #F1F1F1;border-radius:0;overflow:hidden}
.rl-qtybox button{width:38px;height:44px;background:#fff;border:none;color:var(--ink);font-size:16px;cursor:pointer}
.rl-qtybox button:hover{background:#F1F1F1}
.rl-qtybox input{width:44px;height:44px;text-align:center;border:none;font:600 14px var(--mono);color:var(--ink);-moz-appearance:textfield}
.rl-qtybox input::-webkit-outer-spin-button,.rl-qtybox input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rl-qtybox-sm button{width:26px;height:26px;font-size:13px}
.rl-qtybox-sm .rl-dl-q{min-width:26px;text-align:center;font:600 12px var(--mono)}
.rl-drawer-foot{border-top:1px solid var(--line2);padding:16px 22px 20px;background:#FAFAFA}
.rl-drawer-sub{display:flex;justify-content:space-between;margin-bottom:4px;font:500 12.5px var(--sans);color:var(--muted)}
.rl-drawer-sub span:last-child{font:600 16px var(--grot);color:var(--ink)}
.rl-drawer-ship{font:400 10.5px var(--sans);color:var(--faint);margin-bottom:14px}
.rl-drawer-co{width:100%}
.rl-drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;text-align:center}
.rl-drawer-empty-ic{width:52px;height:52px;border-radius:0;background:#F5F5F5;display:grid;place-items:center;color:var(--faint)}
.rl-drawer-empty-h{font:600 14px var(--grot);color:var(--ink)}
.rl-drawer-empty p{margin:0;font:400 12.5px var(--sans);color:var(--muted)}
.rl-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(12px);z-index:120;display:flex;align-items:center;gap:9px;background:var(--dark);color:#FFFFFF;font:500 12.5px var(--sans);padding:12px 18px;border-radius:0;box-shadow:0 16px 40px rgba(35,40,20,.3);opacity:0;transition:opacity .22s,transform .22s;pointer-events:none}
.rl-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.rl-toast-ic{width:16px;height:16px;border-radius:50%;background:var(--green);display:grid;place-items:center}

/* ---------- shop / collection ---------- */
.rl-shop-head{background:#FFFFFF;border-bottom:1px solid var(--line)}
.rl-shop-head-in{max-width:var(--wrap);margin:0 auto;padding:30px 28px 26px}
.rl-crumbs{font:500 10.5px/1 var(--mono);letter-spacing:.08em;color:var(--faint);margin-bottom:16px}
.rl-crumbs a{color:var(--muted)}.rl-crumbs a:hover{color:var(--green-d)}
.rl-crumbs span{color:#F1F1F1}
.rl-crumb-cur{color:var(--green-d)!important}
.rl-shop-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rl-shop-title{margin:0 0 8px;font:600 34px/1.05 var(--grot);letter-spacing:-.025em;color:var(--ink)}
.rl-shop-desc{margin:0;max-width:66ch;font:400 14px/1.6 var(--sans);color:var(--muted)}
.rl-shop-count{font:600 11px/1 var(--mono);letter-spacing:.06em;color:var(--muted);background:#F1F1F1;border:1px solid var(--line);padding:8px 12px;border-radius:0;white-space:nowrap}
.rl-shop-main{max-width:var(--wrap);margin:0 auto;padding:26px 28px 84px;display:grid;grid-template-columns:236px 1fr;gap:34px;align-items:start}
.rl-shop-aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:26px}
.rl-filter-h{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--faint);text-transform:uppercase;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.rl-filter-list{display:flex;flex-direction:column;gap:1px}
.rl-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;font:500 13px var(--sans);color:var(--ink);padding:8px 10px;border-radius:0;transition:all .12s}
.rl-filter:hover{background:#F1F1F1;color:var(--green-d)}
.rl-filter.is-on{background:var(--chip);color:var(--green-d);font-weight:600}
.rl-filter-n{font:500 10.5px var(--mono);color:var(--faint)}
.rl-filter-cta{background:var(--chip);border:1px solid var(--chip-bd);border-radius:0;padding:16px}
.rl-filter-cta-h{display:flex;align-items:center;gap:8px;font:600 11px/1 var(--mono);letter-spacing:.06em;color:var(--green-d);margin-bottom:8px}
.rl-filter-cta p{margin:0 0 10px;font:400 12px/1.55 var(--sans);color:#49531E}
.rl-filter-cta a{font:600 12px var(--sans);color:var(--green-d);border-bottom:1px solid var(--green-d)}
.rl-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.rl-shop-showing{font:400 12.5px var(--sans);color:var(--muted)}
.rl-shop-showing strong{color:var(--ink)}
.rl-sort{display:flex;align-items:center;gap:8px}
.rl-sort-l{font:600 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--faint)}
.rl-sort-chips{display:flex;gap:5px;flex-wrap:wrap}
.rl-sort-chip{font:500 11.5px var(--sans);color:var(--muted);background:#fff;border:1px solid var(--line);padding:6px 11px;border-radius:0;transition:all .12s}
.rl-sort-chip:hover{border-color:var(--green);color:var(--green-d)}
.rl-sort-chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.rl-active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.rl-af-l{font:600 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--faint)}
.rl-af-chip{display:inline-flex;align-items:center;gap:7px;font:600 11.5px var(--sans);color:var(--green-d);background:var(--chip);border:1px solid var(--chip-bd);padding:6px 11px;border-radius:0}
.rl-af-chip:hover{border-color:var(--green)}
.rl-af-clear{font:600 11.5px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.rl-af-clear:hover{color:var(--ink)}
.rl-shop-empty{padding:64px 40px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:0}
.rl-shop-empty-h{font:600 16px var(--grot);color:var(--ink);margin-bottom:8px}
.rl-shop-empty-p{font:400 13px var(--sans);color:var(--muted);margin-bottom:18px}
.rl-pagination{margin-top:28px}
.rl-pagination ul{list-style:none;display:flex;gap:6px;justify-content:center;padding:0;flex-wrap:wrap}
.rl-pagination a,.rl-pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:0;font:600 13px var(--sans);color:var(--ink);background:#fff}
.rl-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- product detail ---------- */
.rl-pdp-crumbs-wrap{max-width:var(--wrap);margin:0 auto;padding:26px 28px 6px}
.rl-pdp{max-width:var(--wrap);margin:0 auto;padding:18px 28px 40px;display:grid;grid-template-columns:1.02fr 1fr;gap:48px;align-items:start}
.rl-pdp-gallery{position:sticky;top:90px}
.rl-pdp-frame{position:relative;background:#fff;border:1px solid #F1F1F1;border-radius:0;padding:24px;box-shadow:0 20px 48px rgba(35,40,20,.08)}
.rl-corner{position:absolute;width:16px;height:16px}
.rl-corner-tl{top:-1px;left:-1px;border-top:2px solid var(--green);border-left:2px solid var(--green);border-radius:0}
.rl-corner-tr{top:-1px;right:-1px;border-top:2px solid var(--green);border-right:2px solid var(--green);border-radius:0}
.rl-corner-bl{bottom:-1px;left:-1px;border-bottom:2px solid var(--green);border-left:2px solid var(--green);border-radius:0}
.rl-corner-br{bottom:-1px;right:-1px;border-bottom:2px solid var(--green);border-right:2px solid var(--green);border-radius:0}
.rl-pdp-frame-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.rl-pdp-form{font:600 10px/1 var(--mono);letter-spacing:.12em;color:var(--faint)}
.rl-pdp-puritychip{font:600 10px/1 var(--mono);letter-spacing:.08em;color:var(--green-d);background:var(--chip);border:1px solid var(--chip-bd);padding:5px 9px;border-radius:0}
.rl-pdp-imgbox{background:#F5F5F5;border-radius:0;padding:16px;margin:6px 0;display:flex;align-items:center;justify-content:center;aspect-ratio:1.2/1}
.rl-pdp-imgbox img{max-width:78%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.rl-pdp-frame-bot{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #F1F1F1;padding-top:14px;margin-top:4px}
.rl-pdp-mono{font:500 10.5px/1 var(--mono);color:var(--muted)}
.rl-pdp-coaissued{display:inline-flex;align-items:center;gap:5px;font:600 10.5px/1 var(--mono);color:var(--green-d)}
.rl-pdp-thumbs{display:flex;gap:10px;margin-top:14px}
.rl-pdp-thumb{width:72px;height:72px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rl-pdp-thumb.is-on{border-color:var(--green)}
.rl-pdp-thumb img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.rl-pdp-goal{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.rl-pdp-title{margin:0 0 12px;font:600 38px/1.04 var(--grot);letter-spacing:-.025em;color:var(--ink)}
.rl-pdp-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.rl-pdp-rating{font:500 12.5px var(--sans);color:#49531E}
.rl-pdp-puritychip-lite{display:inline-flex;align-items:center;gap:6px;background:var(--chip);border:1px solid var(--chip-bd)}
.rl-pdp-blurb{margin:0 0 26px;max-width:56ch;font:400 15px/1.65 var(--sans);color:var(--muted)}
.rl-pdp-flabel{font:600 10px/1 var(--mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;margin-bottom:10px;margin-top:22px}
.rl-pdp-sizes{display:flex;flex-direction:column;gap:8px}
.rl-size{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #F1F1F1;border-radius:0;padding:13px 16px;font:500 13.5px var(--sans);color:var(--ink);cursor:pointer;transition:all .12s}
.rl-size:hover{border-color:var(--green)}
.rl-size.is-active{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#FAFAFA}
.rl-size[disabled]{opacity:.45;cursor:not-allowed}
.rl-size-price{font:600 13px var(--grot)}
.rl-pdp-cartrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0 20px}
.rl-pdp-unit-k{font:500 9px/1 var(--mono);letter-spacing:.08em;color:var(--faint);margin-bottom:4px}
.rl-pdp-unit-v{font:600 28px/1 var(--grot);color:var(--ink)}
.rl-pdp-cartrow .rl-qtybox{margin-left:auto}
.rl-add{flex:1;min-width:180px}
.rl-add-msg{font:500 12px var(--sans);color:var(--green-d);margin:0}
.rl-add-msg.err{color:#B0483C}
.rl-pdp-assure{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:28px}
.rl-assure{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:0;padding:13px;font:600 11px/1.3 var(--sans);color:var(--ink)}
.rl-pdp-research{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.rl-research-item{display:flex;align-items:flex-start;gap:10px;font:400 13.5px/1.5 var(--sans);color:#49531E}
.rl-research-ic{flex:none;margin-top:3px;width:16px;height:16px;border-radius:0;background:var(--chip);display:grid;place-items:center;color:var(--green-d)}
.rl-pdp-specs{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;margin-bottom:18px}
.rl-pdp-specs-h{padding:12px 16px;border-bottom:1px solid var(--line2);background:#FAFAFA;font:600 11px/1 var(--mono);letter-spacing:.1em;color:var(--ink)}
.rl-spec-row{display:flex;justify-content:space-between;gap:16px;padding:11px 16px;border-bottom:1px solid var(--line3)}
.rl-spec-k{font:400 12.5px var(--sans);color:var(--muted)}
.rl-spec-v{font:600 12.5px var(--sans);color:var(--ink);text-align:right}
.rl-pdp-rufo{font:500 10px/1.5 var(--mono);letter-spacing:.06em;color:var(--faint)}
.rl-pdp-oos{font:600 14px var(--grot);color:#B0483C;margin:20px 0}

/* pdp detail */
.rl-pdp-detail{max-width:var(--wrap);margin:0 auto;padding:8px 28px}
.rl-pdp-detail-grid{border-top:1px solid var(--line);padding-top:38px;display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
.rl-pdp-longdesc{font:400 14.5px/1.7 var(--sans);color:var(--muted);margin:0 0 24px}
.rl-pdp-longdesc p{margin:0 0 13px}
.rl-pdp-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rl-pdp-card{background:#fff;border:1px solid var(--line);border-radius:0;padding:15px}
.rl-pdp-card-t{font:600 12.5px var(--grot);color:var(--ink);margin:9px 0 4px}
.rl-pdp-card p{margin:0;font:400 11.5px/1.5 var(--sans);color:var(--muted)}
.rl-recon{background:var(--dark);border-radius:0;padding:24px 26px;position:relative;overflow:hidden}
.rl-recon-glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 82% 8%,rgba(255,255,255,.16) 0,rgba(255,255,255,0) 70%)}
.rl-recon-in{position:relative}
.rl-recon-h{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--mint);margin-bottom:8px}
.rl-recon-sub{margin:0 0 18px;font:400 12px/1.5 var(--sans);color:rgba(255,255,255,.72)}
.rl-recon-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:0;margin-bottom:10px;font:500 12px var(--sans);color:rgba(255,255,255,.72)}
.rl-recon-mono{font:600 13px var(--mono);color:#FFFFFF}
.rl-recon-step{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);font:500 12px var(--mono)}
.rl-recon-step button{width:28px;height:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:0;color:#FFFFFF;font-size:14px;cursor:pointer}
.rl-recon-step button:hover{background:rgba(255,255,255,.14)}
.rl-recon-out{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.rl-recon-cell{background:rgba(174,185,138,.08);border:1px solid rgba(174,185,138,.22);border-radius:0;padding:12px 14px}
.rl-recon-k{font:500 9px/1 var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.55);margin-bottom:6px}
.rl-recon-v{font:600 17px/1 var(--grot);color:#FFFFFF}
.rl-recon-v-mint{color:var(--mint)}
.rl-recon-v span{font-size:11px;color:rgba(255,255,255,.72)}
.rl-recon-note{margin-top:14px;font:500 9.5px/1.4 var(--mono);letter-spacing:.04em;color:rgba(255,255,255,.5)}
.rl-handling{background:#fff;border:1px solid var(--line);border-radius:0;padding:24px 26px}
.rl-handling-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.rl-pdp-faq{margin-top:44px;max-width:840px}
.rl-faq-list{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff}
.rl-faq{border-bottom:1px solid var(--line3)}
.rl-faq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;font:600 14px var(--grot);color:var(--ink);list-style:none}
.rl-faq summary::-webkit-details-marker{display:none}
.rl-faq summary:hover{color:var(--green-d)}
.rl-faq-sign{flex:none;width:22px;height:22px;border-radius:0;background:var(--line2);display:grid;place-items:center;color:var(--green-d);font-size:16px;line-height:1;position:relative}
.rl-faq-sign::before,.rl-faq-sign::after{content:'';position:absolute;background:var(--green-d);border-radius:0}
.rl-faq-sign::before{width:10px;height:2px}
.rl-faq-sign::after{width:2px;height:10px;transition:opacity .15s}
.rl-faq[open] .rl-faq-sign::after{opacity:0}
.rl-faq-a{padding:0 20px 18px;font:400 13.5px/1.65 var(--sans);color:var(--muted)}
.rl-related-head{margin-bottom:22px}

/* ---------- responsive ---------- */
@media(max-width:1080px){
	.rl-card-grid-4{grid-template-columns:repeat(3,1fr)}
	.rl-hero-in{grid-template-columns:1fr;padding:44px 20px 0}
	.rl-hero-media{display:none}
}
@media(max-width:900px){
	.rl-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:#FFFFFF;border-bottom:1px solid var(--line);box-shadow:0 24px 48px rgba(35,40,20,.14);padding:10px;gap:0;z-index:56}
	.rl-nav.open{display:flex}
	.rl-nav .rl-navbtn{width:100%;justify-content:flex-start;padding:12px 14px}
	.rl-has-mega .rl-mega{position:static;box-shadow:none;border:none}
	.rl-mega-in{grid-template-columns:1fr;gap:20px;padding:10px 4px}
	.rl-burger{display:flex}
	.rl-search{display:none}
	.rl-cat-grid,.rl-how-grid,.rl-rev-grid,.rl-card-grid-3,.rl-card-grid-4{grid-template-columns:repeat(2,1fr)}
	.rl-spot,.rl-coa,.rl-pdp,.rl-pdp-detail-grid,.rl-shop-main{grid-template-columns:1fr}
	.rl-spot-media{padding:34px 34px 0}
	.rl-spot-copy{padding:0 34px 40px}
	.rl-coa-intro,.rl-pdp-gallery{position:static}
	.rl-shop-aside{position:static;flex-direction:row;flex-wrap:wrap}
	.rl-shop-aside>div{flex:1;min-width:200px}
	.rl-hero-stats{grid-template-columns:repeat(2,1fr)}
	.rl-hero-stat:nth-child(3){border-left:none}
	.rl-pdp-title{font-size:30px}
	.rl-foot-in{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:560px){
	.rl-wrapc,.rl-sec,.rl-hero,.rl-head-in,.rl-bar-in,.rl-foot-in,.rl-foot-bottom,.rl-shop-head-in,.rl-shop-main,.rl-pdp,.rl-pdp-detail,.rl-pdp-crumbs-wrap{padding-left:16px;padding-right:16px}
	.rl-cart-btn-txt,.rl-cartbtn-txt{display:none}
	.rl-cat-grid,.rl-card-grid-3,.rl-card-grid-4,.rl-how-grid,.rl-rev-grid,.rl-pdp-assure,.rl-pdp-cards3,.rl-recon-out{grid-template-columns:1fr}
	.rl-foot-in{grid-template-columns:1fr}
	.rl-h2{font-size:26px}
	.rl-hero-stats{grid-template-columns:1fr 1fr}
	.rl-hero-stat{padding:14px 18px}
	.rl-hero-stat:first-child{padding-left:18px}
	.rl-coa-row{grid-template-columns:1.4fr .8fr .8fr;row-gap:2px}
	.rl-coa-row span:nth-child(3),.rl-coa-row span:nth-child(4){display:none}
	.rl-pdp-cartrow{gap:10px}
	.rl-add{min-width:100%;order:3}
}


/* =========================================================================
 * Full-bleed sections + scroll animations (home preview enhancement)
 * ===================================================================== */
/*
 * .rl-full used to break out of a centred wrapper with width:100vw, which is
 * wider than the visible page whenever a scrollbar is present, and
 * html{overflow-x:clip} was masking the resulting overflow. These sections are
 * direct children of a full-width main, so they already span the page and the
 * breakout is unnecessary. The class stays so the markup does not have to
 * change, and the clip is gone with the overflow it was hiding.
 */
.rl-full{width:auto;margin-left:0;margin-right:0}
/* keep the sticky header below the WP admin bar (admins only) */
.admin-bar .rl-head{top:32px}
@media screen and (max-width:782px){.admin-bar .rl-head{top:46px}}

/* scroll reveal (store.js adds .rl-reveal to below-the-fold blocks only) */
.rl-reveal{opacity:0;transform:translateY(26px);will-change:opacity,transform}
.rl-reveal.is-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.rl-reveal.is-in .rl-card,.rl-reveal.is-in .rl-cat,.rl-reveal.is-in .rl-how,.rl-reveal.is-in .rl-rev,.rl-reveal.is-in .rl-stat{animation:rlrise .6s cubic-bezier(.22,.61,.36,1) both}
.rl-reveal.is-in .rl-card:nth-child(2),.rl-reveal.is-in .rl-cat:nth-child(2),.rl-reveal.is-in .rl-stat:nth-child(2){animation-delay:.06s}
.rl-reveal.is-in .rl-card:nth-child(3),.rl-reveal.is-in .rl-cat:nth-child(3),.rl-reveal.is-in .rl-stat:nth-child(3){animation-delay:.12s}
.rl-reveal.is-in .rl-card:nth-child(4),.rl-reveal.is-in .rl-cat:nth-child(4),.rl-reveal.is-in .rl-stat:nth-child(4){animation-delay:.18s}
@keyframes rlrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* full-bleed marquee ribbon */
.rl-marquee{background:var(--dark);overflow:hidden;padding:13px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.rl-marquee-track{display:flex;width:max-content;animation:rlmarq 34s linear infinite}
.rl-marquee:hover .rl-marquee-track{animation-play-state:paused}
.rl-marquee-group{display:flex;align-items:center;gap:26px;padding-right:26px;white-space:nowrap;font:600 12px/1 var(--mono);letter-spacing:.16em;color:rgba(255,255,255,.72)}
.rl-marquee-dot{color:var(--mint);font-size:11px}
@keyframes rlmarq{to{transform:translateX(-50%)}}

/* full-bleed "The Re-Gen Labs Standard" band */
.rl-standard{background:var(--dark);color:#FFFFFF;position:relative;overflow:hidden;padding:66px 0}
.rl-standard::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 90% at 85% 20%,rgba(255,255,255,.22),rgba(255,255,255,0) 70%);pointer-events:none}
.rl-standard-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.rl-standard-head{max-width:660px;margin-bottom:40px}
.rl-standard-h{margin:0 0 12px;font:600 clamp(28px,3.4vw,38px)/1.12 var(--grot);letter-spacing:-.02em;color:#FFFFFF}
.rl-standard-head p{margin:0;font:400 15px/1.7 var(--sans);color:rgba(255,255,255,.72)}
.rl-standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rl-stat{border-top:1px solid rgba(255,255,255,.16);padding-top:20px}
.rl-stat-num{font:600 clamp(38px,4vw,52px)/1 var(--grot);color:var(--mint);letter-spacing:-.01em}
.rl-stat-l{margin-top:10px;font:600 10.5px/1.5 var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.72);text-transform:uppercase}

@media(max-width:900px){.rl-standard-grid{grid-template-columns:repeat(2,1fr);gap:24px 18px}}
@media(max-width:560px){.rl-standard-grid{grid-template-columns:1fr 1fr}.rl-standard{padding:48px 0}}
@media (prefers-reduced-motion: reduce){
	.rl-reveal,.rl-reveal.is-in .rl-card,.rl-reveal.is-in .rl-cat,.rl-reveal.is-in .rl-how,.rl-reveal.is-in .rl-rev,.rl-reveal.is-in .rl-stat{opacity:1!important;transform:none!important;animation:none!important}
	.rl-marquee-track{animation:none!important}
}

/* hover feedback (palette-only): subtle dim since green-d==green */
.rl-btn-primary:hover,.rl-btn-dark:hover,.rl-cartbtn:hover{opacity:.9}


/* --- fixes: button text (beat .rl a specificity) + full-bleed band spacing --- */
.rl-btn-primary,.rl a.rl-btn-primary,.rl a.rl-btn-primary:hover{color:#fff}
.rl-btn-dark,.rl a.rl-btn-dark,.rl a.rl-btn-dark:hover{color:#fff}
.rl-btn-mint,.rl a.rl-btn-mint,.rl a.rl-btn-mint:hover{color:var(--dark)}
.rl-btn-ghostd,.rl a.rl-btn-ghostd{color:#fff}
.rl-btn-ghostd:hover,.rl a.rl-btn-ghostd:hover{color:var(--mint)}
.rl-marquee{margin-top:36px;margin-bottom:0}
.rl-standard{margin-top:56px;margin-bottom:8px}


/* =========================================================================
 * Lab Results (COA) page — nova-style COA table, brand palette
 * ===================================================================== */
.rl-lab-hero{background:var(--dark);color:#fff;position:relative;overflow:hidden;padding:60px 0 56px;margin-bottom:40px}
.rl-lab-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 90% at 85% 15%,rgba(255,255,255,.06),rgba(255,255,255,0) 70%);pointer-events:none}
.rl-lab-hero-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.rl-lab-title{margin:0 0 14px;font:600 clamp(30px,4vw,44px)/1.08 var(--grot);letter-spacing:-.02em;color:#fff}
.rl-lab-lead{margin:0;max-width:70ch;font:400 15.5px/1.7 var(--sans);color:rgba(255,255,255,.75)}
.rl-lab-badges{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}
.rl-lab-badges span{display:inline-flex;align-items:center;gap:7px;font:600 11px/1 var(--mono);letter-spacing:.06em;color:rgba(255,255,255,.85)}
.rl-lab-badges svg{color:var(--mint)}

.rl-lab-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.rl-lab-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:0;padding:9px 13px;color:var(--faint);flex:1;min-width:220px;max-width:360px}
.rl-lab-search input{border:none;outline:none;background:none;font:400 13.5px var(--sans);color:var(--ink);width:100%}
[data-lab-filter]{font:500 13px var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0;padding:9px 13px;cursor:pointer}
.rl-lab-count{font:600 10.5px/1 var(--mono);letter-spacing:.08em;color:var(--muted);background:#F1F1F1;border-radius:0;padding:8px 12px;margin-left:auto}

.rl-lab-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:0;background:#fff}
.rl-coatable{width:100%;border-collapse:collapse;min-width:720px}
.rl-coatable thead th{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);background:#FAFAFA;position:sticky;top:0}
.rl-coatable thead th.rl-coa-r{text-align:right}
.rl-coa-sort{background:none;border:none;padding:0;cursor:pointer;font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);display:inline-flex;align-items:center;gap:5px}
.rl-coa-sort:hover{color:var(--green)}
.rl-coa-sort.is-sorted{color:var(--green)}
.rl-coa-sort.is-sorted::after{content:"▲";font-size:8px}
.rl-coa-sort.is-sorted.is-desc::after{content:"▼"}
.rl-coatable tbody tr{border-bottom:1px solid #F1F1F1;transition:background .12s}
.rl-coatable tbody tr:last-child{border-bottom:none}
.rl-coatable tbody tr:hover{background:#FAFAFA}
.rl-coatable td{padding:14px 18px;vertical-align:middle}
.rl-coa-product a{font:600 14px var(--grot);color:var(--ink)}
.rl-coa-product a:hover{color:var(--green)}
.rl-coa-cat{display:block;font:500 10px/1 var(--mono);letter-spacing:.06em;color:var(--faint);margin-top:4px;text-transform:uppercase}
.rl-coa-muted{font:400 13px var(--sans);color:var(--muted)}
.rl-coa-mono{font:500 12px var(--mono);color:var(--muted);letter-spacing:.02em}
.rl-coa-pass{display:inline-flex;align-items:center;gap:5px;font:600 11px/1 var(--mono);color:var(--green);background:#F1F1F1;border-radius:0;padding:6px 10px}
.rl-coa-dash{color:var(--faint)}
.rl-coa-view{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--sans);color:#fff;background:var(--green);border:1px solid var(--green);border-radius:0;padding:8px 13px;transition:opacity .15s}
.rl-coa-view:hover{opacity:.9;color:#fff}
.rl-coa-soon{font:500 11.5px var(--sans);color:var(--faint)}
td.rl-coa-r{text-align:right}
.rl-lab-empty{padding:40px;text-align:center;font:400 14px var(--sans);color:var(--muted)}
.rl-lab-note{margin:16px 2px 0;font:400 12px/1.6 var(--sans);color:var(--faint);max-width:90ch}

@media(max-width:600px){
	.rl-lab-count{margin-left:0}
	.rl-lab-search{max-width:none}
}


/* --- fix: cart button icon+text visibility (beat .rl a) + count badge contrast --- */
.rl-cartbtn,.rl a.rl-cartbtn,.rl a.rl-cartbtn:hover{color:#fff}
.rl-cart-count{background:#fff;color:var(--green)}


/* =========================================================================
 * Checkout + Account (brand) + Google sign-in
 * ===================================================================== */
.rl-fld{margin-bottom:14px}
.rl-fld>label{display:block;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.rl-fld input,.rl-fld select,.rl-fld textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:12px 13px;font:400 14px var(--sans);color:var(--ink);background:#fff}
.rl-fld textarea{resize:vertical}
.rl-fld input:focus,.rl-fld select:focus,.rl-fld textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.rl-fld.err input,.rl-fld.err select{border-color:#B0483C;box-shadow:0 0 0 1px #B0483C}
.rl-fld-msg{font:500 11.5px var(--sans);color:#B0483C;margin-top:5px;min-height:0}
.rl-block{width:100%}

/* google button + divider */
.rl-gbtn{display:flex;justify-content:center;min-height:44px}
.rl-gbtn.is-loading{opacity:.6;pointer-events:none}
.rl-co-or{display:flex;align-items:center;gap:12px;margin:18px 0;font:500 11px/1 var(--mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase}
.rl-co-or::before,.rl-co-or::after{content:"";flex:1;height:1px;background:var(--line)}

/* checkout */
.rl-co{max-width:1180px;margin:0 auto;padding:36px 28px 84px}
.rl-co-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.rl-co-title{margin:0;font:600 34px/1 var(--grot);letter-spacing:-.02em;color:var(--ink)}
.rl-co-back{font:600 13px var(--sans);color:var(--green)}
.rl-co-grid{display:grid;grid-template-columns:1fr 372px;gap:40px;align-items:start}
.rl-co-form{min-width:0}
.rl-co-auth{margin-bottom:8px}
.rl-co-greet{margin:0 0 14px;font:400 13.5px var(--sans);color:var(--muted)}
.rl-co-block{background:#fff;border:1px solid var(--line);border-radius:0;padding:22px 22px 10px;margin-bottom:16px}
.rl-co-legend{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:16px}
.rl-co-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rl-co-pay{display:flex;flex-direction:column;gap:10px}
.rl-co-payopt{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:0;padding:14px 16px;cursor:pointer;font:500 14px var(--sans);color:var(--ink);transition:border-color .12s,background .12s}
.rl-co-payopt:hover{border-color:var(--green)}
.rl-co-payopt input{accent-color:var(--green);width:17px;height:17px}
.rl-co-payopt:has(input:checked){border-color:var(--green);background:#F5F5F5}
.rl-co-place{width:100%;margin-top:6px}
.rl-co-msg[hidden]{display:none}
.rl-co-msg{margin:12px 0 0;font:500 13px var(--sans);color:#B0483C}
.rl-co-legal{margin:14px 0 0;font:400 11px/1.6 var(--sans);color:var(--faint)}

.rl-co-summary{position:sticky;top:90px;background:#F5F5F5;border:1px solid var(--line);border-radius:0;padding:22px}
.rl-co-sum-head{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.rl-co-lines{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.rl-co-line{display:flex;align-items:center;gap:12px}
.rl-co-line-img{position:relative;width:52px;height:52px;flex:none;background:#fff;border:1px solid var(--line);border-radius:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rl-co-line-img img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.rl-co-line-q{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:0;background:var(--green);color:#fff;font:600 10px/19px var(--mono);text-align:center}
.rl-co-line-b{flex:1;display:flex;flex-direction:column;gap:2px}
.rl-co-line-n{font:600 13px var(--grot);color:var(--ink)}
.rl-co-line-v{font:500 10.5px var(--mono);color:var(--muted)}
.rl-co-line-t{font:600 13px var(--grot);color:var(--ink)}
.rl-co-tot{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.rl-co-tot-row{display:flex;justify-content:space-between;font:400 13px var(--sans);color:var(--muted)}
.rl-co-grand{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font:600 16px var(--grot);color:var(--ink)}
.rl-co-grand span{color:var(--ink)}
.rl-co-trust{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;font:500 9.5px/1 var(--mono);letter-spacing:.05em;color:var(--faint);text-transform:uppercase}
.rl-co-empty,.rl-co-done{max-width:560px;margin:60px auto;text-align:center;padding:0 20px}
.rl-co-empty h1,.rl-co-done h1{font:600 30px/1.1 var(--grot);color:var(--ink);margin:0 0 12px}
.rl-co-empty p,.rl-co-done p{color:var(--muted);margin:0 0 12px}
.rl-co-done-ic{width:56px;height:56px;border-radius:50%;background:var(--green);display:inline-grid;place-items:center;margin-bottom:16px}
.rl-co-done-tot{font-size:16px}

/* account */
.rl-acct,.rl-acct-auth{max-width:900px;margin:0 auto;padding:40px 28px 84px}
.rl-acct-authhead{text-align:center;max-width:560px;margin:0 auto 22px}
.rl-acct-h1{margin:6px 0 8px;font:600 clamp(26px,3.4vw,36px)/1.1 var(--grot);letter-spacing:-.02em;color:var(--ink)}
.rl-acct-sub{margin:0;font:400 14.5px/1.6 var(--sans);color:var(--muted)}
.rl-acct-google{max-width:420px;margin:0 auto 6px}
.rl-acct-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.rl-acct-card{background:#fff;border:1px solid var(--line);border-radius:0;padding:24px}
.rl-acct-card h2{margin:0 0 16px;font:600 19px var(--grot);color:var(--ink)}
.rl-acct-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}
.rl-acct-logout{font:600 12.5px var(--sans);color:var(--green);border:1px solid var(--line);border-radius:0;padding:9px 14px}
.rl-acct-logout:hover{border-color:var(--green)}
.rl-acct-h2{margin:0 0 14px;font:600 18px var(--grot);color:var(--ink)}
.rl-acct-empty{background:#F5F5F5;border:1px solid var(--line);border-radius:0;padding:32px;text-align:center;color:var(--muted)}
.rl-acct-empty p{margin:0 0 14px}
.rl-acct-order{background:#fff;border:1px solid var(--line);border-radius:0;padding:18px 20px;margin-bottom:12px;position:relative}
.rl-acct-order-top{display:flex;justify-content:space-between;gap:12px;font:600 14px var(--grot);color:var(--ink)}
.rl-acct-order-top span{font:500 11px var(--mono);color:var(--faint)}
.rl-acct-order-meta{font:500 11px var(--mono);color:var(--muted);margin:6px 0}
.rl-acct-track{font:500 11.5px var(--sans);color:var(--muted);margin:4px 0}
.rl-acct-order-items{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--line3);display:flex;flex-direction:column;gap:5px;font:400 13px var(--sans);color:var(--muted)}
.rl-acct-order-items span{color:var(--faint)}
.rl-acct-order-tot{position:absolute;right:20px;bottom:18px;font:600 15px var(--grot);color:var(--ink)}
.rl-loading{color:var(--faint);font:400 13px var(--sans)}

@media(max-width:860px){
	.rl-co-grid{grid-template-columns:1fr}
	.rl-co-summary{position:static;order:-1}
	.rl-acct-cards{grid-template-columns:1fr}
}
@media(max-width:520px){
	.rl-co-row2{grid-template-columns:1fr}
}

/* app pages (cart/checkout/account/track) — shortcode UI owns the layout */
.rl-apppage{min-height:52vh}


/* 404 */
.rl-404{max-width:720px;margin:0 auto;padding:80px 28px 100px;text-align:center}
.rl-404-code{font:700 clamp(90px,16vw,160px)/1 var(--grot);color:var(--green);letter-spacing:-.03em;margin:8px 0 2px}
.rl-404-h{margin:0 0 12px;font:600 clamp(24px,4vw,34px)/1.1 var(--grot);color:var(--ink)}
.rl-404-p{margin:0 auto 26px;max-width:52ch;font:400 15px/1.7 var(--sans);color:var(--muted)}
.rl-404-search{display:flex;align-items:center;gap:8px;max-width:460px;margin:0 auto 22px;background:#fff;border:1px solid var(--line);border-radius:0;padding:7px 7px 7px 14px;color:var(--faint)}
.rl-404-search input{flex:1;border:none;outline:none;background:none;font:400 14px var(--sans);color:var(--ink)}
.rl-404-search .rl-btn{padding:11px 18px}
.rl-404-cta{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.rl-404-links{display:flex;align-items:center;justify-content:center;gap:10px 20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px}
.rl-404-links-h{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--faint)}
.rl-404-links a{font:600 13px var(--sans);color:var(--green)}
.rl-404-links a:hover{color:var(--green-d)}


/* =========================================================================
 * Customer account dashboard (tabs) + wishlist hearts on cards
 * ===================================================================== */
.rl-acct-dash{max-width:var(--wrap)}
.rl-acct-body{display:grid;grid-template-columns:236px 1fr;gap:36px;align-items:start}
.rl-acct-tabs{display:flex;flex-direction:column;gap:2px;position:sticky;top:96px}
.rl-acct-tab{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid transparent;padding:12px 16px;border-radius:0;font:600 13.5px var(--sans);color:var(--muted);cursor:pointer;transition:all .12s}
.rl-acct-tab:hover{background:#F5F5F5;color:var(--ink)}
.rl-acct-tab.is-on{background:#F1F1F1;color:var(--green);border-left-color:var(--green)}
.rl-acct-panel{min-height:260px}
@media(max-width:760px){
	.rl-acct-body{grid-template-columns:1fr;gap:18px}
	.rl-acct-tabs{position:static;flex-direction:row;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);padding-bottom:10px}
	.rl-acct-tab{width:auto;border-left:none;border-radius:0;padding:9px 13px}
	.rl-acct-tab.is-on{border-left:none}
}
.rl-acct-form{max-width:560px}
.rl-acct-form .rl-btn{margin-top:6px}
.rl-fld input[readonly]{background:#F5F5F5;color:var(--muted);cursor:not-allowed}

/* wishlist heart on product cards */
.rl-card-img{position:relative}
.rl-card-wish{position:absolute;top:10px;right:10px;z-index:2;width:32px;height:32px;display:grid;place-items:center;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:50%;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.rl-card-wish:hover{color:var(--green);border-color:var(--green)}
.rl-card-wish.is-on{color:#fff;background:var(--green);border-color:var(--green)}
.rl-card-wish.is-on svg{fill:#fff}
.rl-card-purity{top:auto;bottom:12px}

/* phone field with country flag (checkout) */
.rl-phone{display:flex;gap:8px}
.rl-phone-cc{flex:0 0 112px;width:112px;border:1px solid var(--line);border-radius:0;padding:12px 8px;font:500 14px var(--sans);color:var(--ink);background:#fff;cursor:pointer}
.rl-phone-cc:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.rl-phone .rl-phone-num{flex:1 1 auto;min-width:0;width:auto}
.rl-fld.err .rl-phone-cc,.rl-fld.err .rl-phone-num{border-color:#B0483C;box-shadow:0 0 0 1px #B0483C}

/* =========================================================================
 * Content & legal pages (client final-copy build) + homepage Standard points.
 * Strict brand palette only: olive #49531E + white + #FAFAFA/#F1F1F1/#F5F5F5.
 * ===================================================================== */

/* homepage: "The Re-Gen Labs Standard" — four named points (dark olive band) */
.rl-std-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.rl-std-feat{border-top:1px solid rgba(255,255,255,.16);padding-top:20px}
.rl-std-feat-ic{display:inline-flex;width:42px;height:42px;border-radius:0;background:rgba(255,255,255,.1);color:#fff;align-items:center;justify-content:center;margin-bottom:14px}
.rl-std-feat h3{margin:0 0 7px;font:600 16px/1.28 var(--grot);color:#fff}
.rl-std-feat p{margin:0;font:400 13.5px/1.6 var(--sans);color:rgba(255,255,255,.72)}
@media(max-width:820px){.rl-std-feats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rl-std-feats{grid-template-columns:1fr}}
.rl-reveal.is-in .rl-std-feat{animation:rlrise .6s cubic-bezier(.22,.61,.36,1) both}
.rl-reveal.is-in .rl-std-feat:nth-child(2){animation-delay:.06s}
.rl-reveal.is-in .rl-std-feat:nth-child(3){animation-delay:.12s}
.rl-reveal.is-in .rl-std-feat:nth-child(4){animation-delay:.18s}

/* content pages: feature cards (About) */
.rl-feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 8px}
.rl-feat{background:#fff;border:1px solid var(--line);border-radius:0;padding:26px 24px}
.rl-feat-ic{display:inline-flex;width:46px;height:46px;border-radius:0;background:#F5F5F5;color:var(--green);align-items:center;justify-content:center;margin-bottom:14px}
.rl-feat h3{margin:0 0 8px;font:600 18px/1.28 var(--grot);color:var(--ink)}
.rl-feat p{margin:0;font:400 14px/1.65 var(--sans);color:var(--muted)}
@media(max-width:640px){.rl-feat-grid{grid-template-columns:1fr}}

/* content blocks / lists / CTAs */
.rl-content-block{margin:32px 0}
.rl-content-block .rl-h2{margin-bottom:12px}
.rl-content-p{margin:0;font:400 15px/1.75 var(--sans);color:var(--ink);max-width:820px}
.rl-content-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.rl-content-note{margin-top:28px;font:italic 400 12.5px/1.6 var(--sans);color:var(--muted)}
.rl-terms-list{list-style:none;margin:8px 0 0;padding:0;max-width:820px;display:grid;gap:12px}
.rl-terms-list li{position:relative;padding-left:26px;font:400 15px/1.65 var(--sans);color:var(--ink)}
.rl-terms-list li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--green)}
.rl-terms-list strong{color:var(--ink)}

/* callout (research-only disclaimer, damaged-delivery, etc.) */
.rl-callout{display:flex;gap:16px;align-items:flex-start;background:#F5F5F5;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:0;padding:22px 24px;margin:28px 0}
.rl-callout-lead{margin-top:6px}
.rl-callout-ic{flex:0 0 auto;display:inline-flex;width:44px;height:44px;border-radius:0;background:#fff;color:var(--green);align-items:center;justify-content:center;border:1px solid var(--line)}
.rl-callout h3{margin:0 0 6px;font:600 17px/1.28 var(--grot);color:var(--ink)}
.rl-callout p{margin:0;font:400 14px/1.65 var(--sans);color:var(--muted)}
.rl-callout a{color:var(--green);text-decoration:underline}

/* shipping tariff cards */
.rl-tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.rl-tariff{background:#fff;border:1px solid var(--line);border-radius:0;padding:24px 20px;text-align:center}
.rl-tariff-free{background:var(--green);border-color:var(--green)}
.rl-tariff-k{font:500 13px/1.35 var(--sans);color:var(--muted);margin-bottom:8px}
.rl-tariff-v{font:600 26px/1 var(--grot);color:var(--ink)}
.rl-tariff-free .rl-tariff-k{color:rgba(255,255,255,.82)}
.rl-tariff-free .rl-tariff-v{color:#fff}
@media(max-width:640px){.rl-tariff-grid{grid-template-columns:1fr}}

/* legal prose (Privacy / Terms / Refund — editor content) */
.rl-prose{max-width:820px;font:400 15px/1.78 var(--sans);color:var(--ink)}
.rl-prose h1{font:600 28px/1.2 var(--grot);color:var(--ink);margin:34px 0 12px}
.rl-prose h2{font:600 22px/1.25 var(--grot);color:var(--ink);margin:34px 0 10px}
.rl-prose h3{font:600 17px/1.3 var(--grot);color:var(--ink);margin:26px 0 8px}
.rl-prose p{margin:0 0 16px}
.rl-prose ul,.rl-prose ol{margin:0 0 16px;padding-left:22px}
.rl-prose li{margin:0 0 8px}
.rl-prose a{color:var(--green);text-decoration:underline}
.rl-prose strong{color:var(--ink)}
.rl-prose hr{border:0;border-top:1px solid var(--line);margin:28px 0}

/* checkout shipping (emirate rate + free-over condition) */
.rl-co-shipnote{margin:8px 2px 0;font:400 12px/1.5 var(--sans);color:var(--muted)}
.rl-co-freehint{margin:2px 0 8px;font:500 12.5px/1.4 var(--sans);color:var(--green);text-align:right}
.rl-co-freehint.is-ok{font-weight:600}
/* checkout rewards redemption */
.rl-co-redeem{border:1px solid var(--line);border-radius:0;padding:14px 16px;margin:14px 0}
.rl-co-redeem .rl-co-legend{margin-bottom:10px}
.rl-co-refnote{font:500 12.5px/1.5 var(--sans);color:var(--green);margin-bottom:8px}
.rl-co-redeemopt{display:flex;align-items:flex-start;gap:9px;padding:7px 0;font:500 13px/1.4 var(--sans);color:var(--ink);cursor:pointer}
.rl-co-redeemopt input{margin-top:2px}
.rl-co-redeemopt em{color:var(--muted);font-style:normal}
.rl-co-disc span:last-child{color:var(--green);font-weight:600}

/* =========================================================================
 * Website-feedback round: carousel, simplified mega menu, PDP COA/bulk/add-on,
 * COA card grid, shop load-more.
 * ===================================================================== */

/* bestsellers horizontal scroller */
.rl-scroll-nav{display:flex;align-items:center;gap:10px}
.rl-scroll-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.rl-scroll-btn:hover{border-color:var(--green);color:var(--green)}
.rl-card-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.rl-card-scroll>*{scroll-snap-align:start}
.rl-card-scroll::-webkit-scrollbar{height:6px}
.rl-card-scroll::-webkit-scrollbar-thumb{background:var(--line2);border-radius:0}
@media(max-width:560px){.rl-card-scroll{grid-auto-columns:minmax(78%,78%)}}

/* simplified mega menu */
.rl-mega-simple .rl-mega-link{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:0;transition:background .14s,color .14s}
.rl-mega-simple .rl-mega-link:hover{background:#F5F5F5;color:var(--green);transform:translateX(2px)}
.rl-mega-dot{width:6px;height:6px;border-radius:50%;background:var(--line2);flex:0 0 auto;transition:background .14s}
.rl-mega-simple .rl-mega-link:hover .rl-mega-dot{background:var(--green)}
.rl-mega-soon{color:var(--faint);cursor:default}
.rl-mega-soon em{font-style:normal;font-size:11px;color:var(--faint)}
.rl-mega-soon:hover{background:transparent!important;color:var(--faint)!important;transform:none!important}

/* PDP: COA button (left), bulk offer, add-on (BAC water), handling note */
.rl-pdp-coa-btn{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.rl-pdp-coa-btn:hover{border-color:var(--green);box-shadow:0 4px 14px rgba(73,83,30,.1)}
.rl-pdp-coa-ic{display:inline-flex;width:38px;height:38px;border-radius:0;background:#F5F5F5;color:var(--green);align-items:center;justify-content:center;flex:0 0 auto}
.rl-pdp-coa-btn span:nth-child(2){display:flex;flex-direction:column;line-height:1.3}
.rl-pdp-coa-btn strong{font:600 14px var(--grot);color:var(--ink)}
.rl-pdp-coa-btn em{font-style:normal;font:400 12px var(--sans);color:var(--muted)}
.rl-pdp-coa-go{margin-left:auto;color:var(--green);font-weight:700}
.rl-pdp-bulk{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;background:#F5F5F5;border-radius:0;font:400 13px/1.55 var(--sans);color:var(--muted)}
.rl-pdp-bulk-ic{color:var(--green);flex:0 0 auto;margin-top:1px}
.rl-pdp-bulk strong{color:var(--ink)}
.rl-pdp-bulk a{color:var(--green);text-decoration:underline;white-space:nowrap}
.rl-pdp-addon{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px dashed var(--line2);border-radius:0}
.rl-pdp-addon-b{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.rl-pdp-addon-t{font:600 13.5px var(--sans);color:var(--ink)}
.rl-pdp-addon-s{font:400 12px var(--sans);color:var(--muted)}
.rl-pdp-addbac{flex:0 0 auto;padding:9px 16px}
.rl-handling-note{margin:14px 0 0;font:400 12.5px/1.5 var(--sans);color:var(--muted)}

/* COA card grid (lab results) */
.rl-coacards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rl-coacard{background:#fff;border:1px solid var(--line);border-radius:0;padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.rl-coacard.is-pending{background:#FAFAFA}
.rl-coacard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rl-coacard-pct{font:600 30px/1 var(--grot);color:var(--green)}
.rl-coacard-pk{font:600 9.5px/1.3 var(--mono);letter-spacing:.08em;color:var(--muted);margin-top:5px}
.rl-coacard-await{color:var(--ink);font-size:13px;letter-spacing:.04em}
.rl-coacard-badge{font:600 9.5px/1 var(--mono);letter-spacing:.06em;padding:6px 10px;border-radius:0;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.rl-coacard-verified{background:#eef1e4;color:#49531E;border:1px solid #dfe4cf}
.rl-coacard-pending{background:#f1efe6;color:#8a844f;border:1px solid #e6e0cf}
.rl-coacard-name{font:600 18px/1.2 var(--grot);color:var(--ink)}
.rl-coacard-name:hover{color:var(--green)}
.rl-coacard-sub{font:400 13px var(--sans);color:var(--muted);margin-top:-6px}
.rl-coacard-chips{display:flex;flex-wrap:wrap;gap:8px}
.rl-coacard-chip{display:inline-flex;align-items:center;gap:5px;font:600 9.5px/1 var(--mono);letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);border-radius:0;padding:6px 10px}
.rl-coacard-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line3)}
.rl-coacard-meta{font:400 11px var(--mono);color:var(--faint)}
.rl-coacard-view{font:600 11px var(--mono);letter-spacing:.04em;color:var(--green)}
.rl-coacard-soon{font:600 11px var(--mono);letter-spacing:.04em;color:var(--faint)}
@media(max-width:900px){.rl-coacards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rl-coacards{grid-template-columns:1fr}}

/* shop load-more / infinite scroll */
.rl-loadmore-wrap{display:flex;justify-content:center;margin:36px 0 8px}
.rl-loadmore{min-width:220px}
.rl-loadmore.is-loading{opacity:.7;pointer-events:none}

/* =========================================================================
 * UI prototype re-skin — light split hero + warm palette.
 * ===================================================================== */
.rl-btn-ghost{background:transparent;border-color:var(--line2);color:var(--ink)}
.rl-btn-ghost:hover{border-color:var(--green);color:var(--green)}

.rl-hero2{max-width:var(--wrap);margin:0 auto;padding:40px 28px 12px}
.rl-hero2-in{display:grid;grid-template-columns:1.06fr .94fr;gap:52px;align-items:center}
.rl-hero2-eyebrow{display:flex;align-items:center;gap:10px;font:600 11px/1 var(--mono);letter-spacing:.18em;color:var(--olive2);margin-bottom:20px;text-transform:uppercase}
.rl-hero2-eyebrow span{width:26px;height:1.5px;background:var(--olive3)}
.rl-hero2-h1{margin:0;font:400 clamp(36px,4.8vw,58px)/1.05 var(--grot);letter-spacing:-.015em;color:var(--ink)}
.rl-hero2-h1 em{font-style:italic;color:var(--olive2)}
.rl-hero2-sub{margin:22px 0 0;max-width:48ch;font:400 15px/1.75 var(--sans);color:var(--muted)}
.rl-hero2-cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 0}
.rl-hero2-stats{display:flex;flex-wrap:wrap;margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.rl-hero2-stat{padding:0 30px;border-right:1px solid var(--line)}
.rl-hero2-stat:first-child{padding-left:0}
.rl-hero2-stat:last-child{border-right:none}
.rl-hero2-n{font:600 22px/1 var(--grot);color:var(--ink)}
.rl-hero2-n span{font-size:13px;color:var(--olive2)}
.rl-hero2-l{margin-top:7px;font:500 9.5px/1.4 var(--mono);letter-spacing:.1em;color:var(--faint)}
.rl-hero2-media{position:relative;border-radius:0;overflow:hidden;border:1px solid var(--line);background:var(--cream);aspect-ratio:1/1.02}
.rl-hero2-media img{width:100%;height:100%;object-fit:cover;display:block}
.rl-hero2-chip{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(250,250,244,.92);border:1px solid var(--line);border-radius:0;padding:8px 14px;font:600 10px/1 var(--mono);letter-spacing:.05em;color:var(--ink)}
@media(max-width:900px){.rl-hero2-in{grid-template-columns:1fr;gap:26px}.rl-hero2-media{aspect-ratio:16/11}}
@media(max-width:520px){.rl-hero2-stat{padding:0 16px 0 0}.rl-hero2-l{font-size:9px}}

/* homepage section leads */
.rl-sec-lead{max-width:680px;margin-bottom:30px}
.rl-sec-sub{margin:12px 0 0;font:400 15px/1.72 var(--sans);color:var(--muted)}
.rl-feat-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.rl-feat-grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rl-feat-grid-4{grid-template-columns:1fr}}

/* SECTION 03 — reconstitution band (dark olive) */
.rl-reconband{background:var(--dark);color:#fff;padding:66px 0;margin:56px 0}
.rl-reconband-in{max-width:var(--wrap);margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.rl-reconband-h{margin:14px 0 0;font:400 clamp(28px,3.4vw,40px)/1.12 var(--grot);letter-spacing:-.02em;color:#fff}
.rl-reconband-copy p{margin:16px 0 0;font:400 15px/1.72 var(--sans);color:rgba(255,255,255,.74);max-width:46ch}
.rl-reconband-pts{display:flex;flex-direction:column;gap:11px;margin-top:22px}
.rl-check-light{color:rgba(255,255,255,.88)}
.rl-check-light .rl-check-ic{background:rgba(255,255,255,.14);color:#fff}
@media(max-width:860px){.rl-reconband-in{grid-template-columns:1fr;gap:30px}}

/* SECTION 05 — cold chain */
.rl-cold{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.rl-cold-media img{width:100%;border-radius:0;border:1px solid var(--line);display:block}
.rl-cold-copy .rl-h2{margin-bottom:14px}
.rl-cold-p{margin:0 0 22px;font:400 15px/1.75 var(--sans);color:var(--muted)}
@media(max-width:860px){.rl-cold{grid-template-columns:1fr;gap:26px}.rl-cold-media{order:2}}

/* product card (prototype) */
.rl-pc{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.rl-pc:hover{border-color:var(--sage);box-shadow:0 10px 26px rgba(73,83,30,.08)}
.rl-pc-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;padding:24px;background:var(--cream2)}
.rl-pc-img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.16))}
.rl-pc-code{position:absolute;top:12px;left:12px;font:600 9.5px/1 var(--mono);letter-spacing:.04em;background:var(--green);color:#fff;padding:5px 8px;border-radius:0}
.rl-pc-purity{position:absolute;top:12px;right:12px;font:600 9.5px/1 var(--mono);background:rgba(255,255,255,.94);color:var(--green);border:1px solid var(--line);padding:5px 8px;border-radius:0}
.rl-pc-dark .rl-pc-purity{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.28)}
.rl-pc-body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:6px;flex:1}
.rl-pc-cat{font:600 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--olive2)}
.rl-pc-name{font:600 16px/1.25 var(--grot);color:var(--ink)}
.rl-pc-name:hover{color:var(--green)}
.rl-pc-rating{display:flex;align-items:center;gap:6px}
.rl-pc-rating .rl-stars{font-size:12px;letter-spacing:1px}
.rl-pc-rcount{color:var(--faint);font:400 11px var(--mono)}
.rl-pc-meta{font:400 11px/1.4 var(--mono);color:var(--muted)}
.rl-pc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}
.rl-pc-price{font:600 18px/1 var(--grot);color:var(--ink)}
.rl-pc-price em{font-style:normal;font:500 10px var(--mono);color:var(--muted);margin-left:2px}
.rl-pc-add{font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 15px;border-radius:0;border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;transition:background .15s}
.rl-pc-add:hover{background:var(--green-d)}
.rl-pc-add.is-loading{opacity:.6;pointer-events:none}
.rl-pc-oos{font:600 10px var(--mono);letter-spacing:.05em;color:var(--faint)}

/* trust strip */
.rl-trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.rl-trust-in{max-width:var(--wrap);margin:0 auto;padding:20px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.rl-trust-item{display:flex;align-items:center;gap:12px}
.rl-trust-ic{flex:0 0 auto;display:inline-flex;width:36px;height:36px;border-radius:0;background:var(--cream2);color:var(--green);align-items:center;justify-content:center}
.rl-trust-item strong{display:block;font:600 12.5px/1.3 var(--sans);color:var(--ink)}
.rl-trust-item span{display:block;font:400 11px/1.4 var(--sans);color:var(--muted);margin-top:2px}
@media(max-width:860px){.rl-trust-in{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:520px){.rl-trust-in{grid-template-columns:1fr}}

/* SECTION 01 — Standard as bordered columns */
.rl-std2-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:30px}
.rl-std2-lead{max-width:38ch;margin:0;font:400 14px/1.7 var(--sans);color:var(--muted);text-align:right}
.rl-std2-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.rl-std2-col{padding:26px 26px 4px 0;border-right:1px solid var(--line)}
.rl-std2-col:last-child{border-right:none;padding-right:0}
.rl-std2-n{font:500 11px/1 var(--mono);color:var(--olive3);margin-bottom:14px}
.rl-std2-col h3{margin:0 0 10px;font:600 17px/1.25 var(--grot);color:var(--ink)}
.rl-std2-col p{margin:0;font:400 13px/1.65 var(--sans);color:var(--muted)}
@media(max-width:860px){.rl-std2-head{flex-direction:column;align-items:flex-start;gap:10px}.rl-std2-lead{text-align:left}.rl-std2-grid{grid-template-columns:1fr 1fr}.rl-std2-col{border-right:none;border-bottom:1px solid var(--line);padding:22px 0}.rl-std2-col:nth-child(odd){border-right:1px solid var(--line);padding-right:22px}}
@media(max-width:520px){.rl-std2-grid{grid-template-columns:1fr}.rl-std2-col:nth-child(odd){border-right:none;padding-right:0}}

/* nav labels — uppercase IBM Plex Mono (prototype) */
.rl-navbtn{font:500 11.5px var(--mono)!important;letter-spacing:.14em;text-transform:uppercase}
.rl-navbtn svg{opacity:.7}

/* card button as outline (prototype "VIEW") */
.rl-pc-add{background:transparent;border-color:var(--line2);color:var(--ink)}
.rl-pc-add:hover{background:var(--green);border-color:var(--green);color:#fff}
.rl-pc-dark .rl-pc-add{border-color:rgba(255,255,255,.35);color:#fff}
.rl-pc-dark .rl-pc-add:hover{background:#fff;color:var(--green);border-color:#fff}

/* SECTION 04 — full-width lab table (Every lot) */
.rl-labtbl-wrap{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff}
.rl-labtbl{width:100%;border-collapse:collapse;font:400 13.5px var(--sans)}
.rl-labtbl thead th{text-align:left;font:600 9.5px/1 var(--mono);letter-spacing:.08em;color:var(--muted);padding:16px 18px;background:var(--cream);border-bottom:1px solid var(--line)}
.rl-labtbl tbody td{padding:15px 18px;border-bottom:1px solid var(--line3);color:var(--ink);vertical-align:middle}
.rl-labtbl tbody tr:last-child td{border-bottom:none}
.rl-labtbl tbody tr:hover td{background:var(--cream)}
.rl-labtbl-code{font:600 11px var(--mono);color:var(--olive2)}
.rl-labtbl-name a{font:600 13.5px var(--grot);color:var(--ink)}
.rl-labtbl-name a:hover{color:var(--green)}
.rl-labtbl-mono{font:400 12px var(--mono);color:var(--muted)}
.rl-labtbl-muted{color:var(--muted);font-size:12.5px}
.rl-labtbl-purity{font:600 12.5px var(--mono);color:var(--green)}
.rl-labtbl-r{text-align:right}
.rl-labtbl-r a{font:600 11px var(--mono);letter-spacing:.03em;color:var(--green);white-space:nowrap}
@media(max-width:760px){
	.rl-labtbl thead{display:none}
	.rl-labtbl tbody td{display:flex;justify-content:space-between;gap:12px;padding:8px 16px;border:none}
	.rl-labtbl tbody td::before{content:attr(data-th);font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
	.rl-labtbl tbody tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}
}

/* =========================================================================
 * My Account — dashboard, orders table, credits/points ledgers, referral.
 * ===================================================================== */
.rl-acct-hint{margin:0 0 14px;font:400 12.5px/1.55 var(--sans);color:var(--muted)}

/* status badges */
.rl-badge{display:inline-block;font:600 10.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:0;border:1px solid var(--line)}
.rl-badge-delivered{background:#eef1e4;color:#49531E;border-color:#dfe4cf}
.rl-badge-progress{background:#F5F5F5;color:#6a6a6a;border-color:#e6e6e6}
.rl-badge-cancelled{background:#f7ecea;color:#B0483C;border-color:#f0d9d5}

/* orders table */
.rl-ordtbl{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff}
.rl-ordtbl-head,.rl-ordtbl-row{display:grid;grid-template-columns:1.2fr 1fr .9fr .8fr 1.4fr;gap:12px;align-items:center;padding:14px 18px}
.rl-ordtbl-head{background:#F5F5F5;font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rl-ordtbl-row{border-top:1px solid var(--line);font:500 13.5px var(--sans);color:var(--ink)}
.rl-ordtbl-row:first-of-type{border-top:0}
.rl-ord-num{font:600 13px var(--mono);color:var(--ink)}
.rl-ordtbl-act{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rl-ord-btn{font:600 12px var(--sans);padding:8px 12px;border-radius:0;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.rl-ord-btn:hover{border-color:var(--green);color:var(--green)}
.rl-ord-btn-p{background:var(--green);border-color:var(--green);color:#fff}
.rl-ord-btn-p:hover{background:var(--green-d);color:#fff}
.rl-ord-detail{grid-column:1/-1;border-top:1px dashed var(--line);margin-top:10px;padding-top:12px}
.rl-ord-items{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px;font:400 13px var(--sans);color:var(--muted)}
.rl-ord-items li{display:flex;justify-content:space-between;gap:12px}
.rl-ord-sums{display:flex;flex-wrap:wrap;gap:14px;font:500 12px var(--mono);color:var(--muted);padding-top:8px;border-top:1px solid var(--line3)}
.rl-ord-grand{color:var(--ink);font-weight:700}
.rl-ord-shipto,.rl-acct-track{margin-top:8px;font:400 12px var(--sans);color:var(--muted)}

/* rewards tiles + balance */
.rl-rw-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.rl-rw-tile{background:#fff;border:1px solid var(--line);border-radius:0;padding:22px 20px;text-align:center}
.rl-rw-n{font:600 26px/1 var(--grot);color:var(--green)}
.rl-rw-l{margin-top:7px;font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rl-rw-balance{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#fff;border-radius:0;padding:22px 24px;margin-bottom:20px}
.rl-rw-balance-l{font:500 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.rl-rw-balance-v{font:600 26px/1 var(--grot)}
.rl-rw-sec{margin-top:24px}

/* referral */
.rl-rw-ref{margin-top:24px;background:#F5F5F5;border:1px solid var(--line);border-radius:0;padding:20px 22px}
.rl-rw-refrow{display:flex;gap:10px}
.rl-rw-refrow input{flex:1 1 auto;min-width:0;border:1px solid var(--line);border-radius:0;padding:12px 14px;font:500 13px var(--mono);color:var(--ink);background:#fff}
.rl-rw-refrow .rl-btn{flex:0 0 auto}

/* ledger tables (credits + points) */
.rl-led{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff}
.rl-led-head,.rl-led-row{display:grid;grid-template-columns:1fr 1.2fr .8fr 1.6fr;gap:12px;padding:12px 16px;align-items:center}
.rl-led-pts .rl-led-head,.rl-led-pts .rl-led-row{grid-template-columns:1fr 1.1fr 1.8fr .7fr}
.rl-led-head{background:#F5F5F5;font:600 10.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.rl-led-row{border-top:1px solid var(--line);font:500 13px var(--sans);color:var(--ink)}
.rl-pos{color:#49531E;font-weight:700}
.rl-neg{color:#B0483C;font-weight:700}

/* ways to earn */
.rl-ways{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.rl-ways li{position:relative;padding:12px 16px 12px 40px;background:#fff;border:1px solid var(--line);border-radius:0;font:400 14px/1.5 var(--sans);color:var(--ink)}
.rl-ways li::before{content:"";position:absolute;left:16px;top:17px;width:9px;height:9px;border-radius:50%;background:var(--green)}
.rl-ways strong{color:var(--green)}

/* dashboard quick links */
.rl-dash-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.rl-dash-links button{font:600 13px var(--sans);padding:11px 16px;border-radius:0;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,color .15s}
.rl-dash-links button:hover{border-color:var(--green);color:var(--green)}

/* address: same-as-shipping */
.rl-addr-same{display:flex;align-items:center;gap:9px;margin:2px 0 14px;font:500 13px var(--sans);color:var(--ink);cursor:pointer}

@media(max-width:720px){
	.rl-rw-tiles{grid-template-columns:1fr 1fr}
	.rl-ordtbl-head{display:none}
	.rl-ordtbl-row{grid-template-columns:1fr 1fr;gap:8px 12px}
	.rl-ordtbl-row>span[data-th]::before{content:attr(data-th) " · ";font:600 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
	.rl-ordtbl-act{grid-column:1/-1;justify-content:flex-start}
	.rl-led-head{display:none}
	.rl-led-row,.rl-led-pts .rl-led-row{grid-template-columns:1fr 1fr;gap:6px 12px}
	.rl-led-row>span[data-th]::before{content:attr(data-th) " · ";font:600 10px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
}

/* ============================================================
   Lab Results (COA) — matched to the UI prototype.
   Values measured off the prototype render, not estimated.
   ============================================================ */
.rl-coa-hero, .rl-phero { padding: 64px 0 0; }
.rl-coa-hero-in, .rl-phero-in {
	max-width: var(--wrap);
	margin-inline: auto;
	padding: 0 28px 34px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 60px;
	align-items: start;
	border-bottom: 1px solid rgba(34, 39, 14, .12);
}
.rl-coa-eyebrow, .rl-phero-eyebrow {
	font: 400 10px/1 var(--mono);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #8C9560;
	margin-bottom: 26px;
}
.rl-coa-title, .rl-phero-title {
	margin: 0;
	font: 400 60px/1 var(--grot);
	letter-spacing: -.022em;
	color: var(--deep);
}
.rl-coa-lead, .rl-phero-lead {
	margin: 0;
	font: 400 13px/1.75 var(--sans);
	color: #6E7845;
	align-self: end;
}

.rl-coa-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
.rl-coa-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rl-coa-chip {
	appearance: none;
	background: transparent;
	border: 1px solid rgba(34, 39, 14, .16);
	padding: 9px 16px;
	font: 400 10.5px/1 var(--mono);
	letter-spacing: .1em;
	color: var(--deep);
	cursor: pointer;
	transition: background .18s, color .18s, border-color .18s;
}
.rl-coa-chip:hover { border-color: rgba(34, 39, 14, .34); }
.rl-coa-chip.is-on { background: var(--green); border-color: var(--green); color: #fff; }
.rl-coa-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	width: 320px;
	max-width: 100%;
	background: #fff;
	border: 1px solid rgba(34, 39, 14, .16);
	padding: 11px 14px;
	color: #8C9560;
}
.rl-coa-search input {
	border: 0;
	background: none;
	outline: none;
	width: 100%;
	font: 400 12.5px/1 var(--sans);
	color: var(--deep);
}

/* card internals: mono purity, larger serif name, two-line footer */
.rl-coacard { border-color: rgba(34, 39, 14, .14); padding: 26px 28px 22px; }
.rl-coacard-pct { font: 400 30px/1 var(--mono); color: var(--green); }
.rl-coacard-name { font: 400 26px/1.15 var(--grot); color: var(--deep); }
.rl-coacard-sub { font: 400 12px/1.5 var(--sans); color: #8C9560; margin-top: 0; }
.rl-coacard-meta { display: flex; flex-direction: column; gap: 3px; }
.rl-coacard-lot,
.rl-coacard-line2 { font: 400 11px/1.45 var(--mono); color: var(--faint); }

@media (max-width: 900px) {
	.rl-coa-hero-in, .rl-phero-in { grid-template-columns: 1fr; gap: 22px; }
	.rl-coa-title, .rl-phero-title { font-size: 40px; }
	.rl-coa-search { width: 100%; }
}

/* ============================================================
   Reviews — matched to the UI prototype.
   ============================================================ */
.rl-rv-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: #fff;
	border: 1px solid rgba(34, 39, 14, .12);
	margin-bottom: 44px;
}
.rl-rv-stat { padding: 30px 32px 26px; border-left: 1px solid rgba(34, 39, 14, .12); }
.rl-rv-stat:first-child { border-left: 0; }
.rl-rv-stat-v { font: 400 38px/1 var(--mono); color: var(--green); }
.rl-rv-stat-l { margin-top: 9px; font: 400 9.5px/1 var(--mono); letter-spacing: .18em; color: #8C9560; }

.rl-rv-body { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 40px; align-items: start; }
.rl-rv-side { background: #fff; border: 1px solid rgba(34, 39, 14, .12); padding: 26px 28px 28px; }
.rl-rv-dist-t { font: 400 9.5px/1 var(--mono); letter-spacing: .18em; color: #8C9560; margin-bottom: 20px; }
.rl-rv-bar { display: grid; grid-template-columns: 12px 1fr 34px; align-items: center; gap: 10px; margin-bottom: 10px; }
.rl-rv-bar-n { font: 400 11px/1 var(--mono); color: var(--deep); }
.rl-rv-bar-track { height: 6px; background: #EDEEE2; }
.rl-rv-bar-fill { display: block; height: 100%; background: var(--green); }
.rl-rv-bar-p { font: 400 10px/1 var(--mono); color: #8C9560; text-align: right; }
.rl-rv-cta {
	display: block;
	margin: 22px 0 18px;
	background: var(--green);
	color: #fff;
	text-align: center;
	padding: 14px 16px;
	font: 400 10.5px/1 var(--mono);
	letter-spacing: .14em;
}
.rl a.rl-rv-cta { color: #fff; }
.rl a.rl-rv-cta:hover { background: var(--green-d); color: #fff; }
.rl-rv-note { margin: 0; font: 400 12px/1.7 var(--sans); color: #8C9560; }

.rl-rv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.rl-rv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rl-rv-card { background: #fff; border: 1px solid rgba(34, 39, 14, .12); padding: 28px 30px 30px; display: flex; flex-direction: column; }
.rl-rv-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.rl-rv-date { font: 400 9.5px/1 var(--mono); letter-spacing: .12em; color: #A8B075; }
.rl-rv-meta { font: 400 9.5px/1.5 var(--mono); letter-spacing: .12em; color: #8C9560; margin-bottom: 10px; }
.rl-rv-title { margin: 0 0 12px; font: 400 23px/1.25 var(--grot); color: var(--deep); }
.rl-rv-quote { margin: 0 0 22px; font: 400 13px/1.75 var(--sans); color: #4A5227; }
.rl-rv-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid rgba(34, 39, 14, .1);
}
.rl-rv-role { font: 400 12px/1 var(--sans); color: var(--deep); }
.rl-rv-loc { font: 400 9.5px/1 var(--mono); letter-spacing: .14em; color: #A8B075; }
.rl-rv-empty { grid-column: 1 / -1; font: 400 13px var(--sans); color: var(--muted); }

/* calculator band */
.rl-calcband {
	margin-top: 64px;
	background: #22270E;
	color: #fff;
	padding: 52px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}
.rl-calcband-h { margin: 0 0 12px; font: 400 34px/1.2 var(--grot); color: #fff; }
.rl-calcband-p { margin: 0; max-width: 60ch; font: 400 13px/1.75 var(--sans); color: rgba(255, 255, 255, .68); }
.rl-calcband-btn {
	background: #fff;
	padding: 15px 26px;
	font: 400 10.5px/1 var(--mono);
	letter-spacing: .14em;
	white-space: nowrap;
}
.rl a.rl-calcband-btn { color: var(--deep); }
.rl a.rl-calcband-btn:hover { background: #EFEDE2; color: var(--deep); }

@media (max-width: 1000px) {
	.rl-rv-stats { grid-template-columns: 1fr 1fr; }
	.rl-rv-stat:nth-child(3) { border-left: 0; }
	.rl-rv-body { grid-template-columns: 1fr; }
	.rl-rv-grid { grid-template-columns: 1fr; }
	.rl-calcband { padding: 38px 26px; }
	.rl-calcband-h { font-size: 26px; }
}

/* ============================================================
   Closing band — renders inside the footer on every page, so it lives
   here rather than in home.css, which is enqueued on the front page only.
   ============================================================ */
:root {
	--rlh-bg: #F4F3EC;
	--rlh-ink: #22270E;
	--rlh-olive: #49531E;
	--rlh-olive-dk: #333A14;
	--rlh-olive-deep: #3E4718;
	--rlh-muted: #6E7845;
	--rlh-muted-2: #7A8352;
	--rlh-muted-3: #8C9560;
	--rlh-muted-4: #A8B075;
	--rlh-light: #C7D18A;
	--rlh-panel: #FAFAF4;
	--rlh-media: #EAE8DC;
	--rlh-line: rgba(34, 39, 14, .12);
	--rlh-line-2: rgba(34, 39, 14, .14);
	--rlh-line-3: rgba(34, 39, 14, .1);
	--rlh-line-4: rgba(34, 39, 14, .08);
	--rlh-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--rlh-serif: 'Times New Roman', Times, serif;
	--rlh-wrap: var(--wrap, clamp(1280px, calc(100% - 56px), 1720px));
	--rlh-bleed: calc(max(0px, 100% - var(--rlh-wrap)) / 2);
}
.rlh-closing {
	background: transparent;
	color: #E4E6D2;
	border-top: 1px solid rgba(228,230,210,.14);
	padding: 56px 0 4px;
}
.rlh-closing-in {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	/* Same container as .rl-foot-in so the band lines up with the columns. */
	max-width: var(--wrap);
	margin-inline: auto;
	/* The band itself is clamped, so this only carries the gutter. Re-applying
	   --wrap here would clamp a second time (100% - 56px of an already
	   clamped parent) and push the content 28px further in. */
	padding-inline: 28px;
}
.rlh-closing-eyebrow {
	font-family: var(--rlh-mono);
	font-size: 10px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--rlh-light);
	margin-bottom: 18px;
}
.rlh-closing-h {
	font-family: var(--rlh-serif);
	font-size: 36px;
	line-height: 1.16;
	margin: 0;
	font-weight: 400;
	text-wrap: pretty;
}
.rlh-closing-body {
	font-size: 12.5px;
	line-height: 1.75;
	color: rgba(255, 255, 255, .72);
	margin: 0 0 16px;
	text-wrap: pretty;
}
.rlh-closing-body strong {
	color: #fff;
	font-weight: 500;
}

@media (max-width: 1000px) {
	.rlh-closing { padding: 44px 0 4px; }
	.rlh-closing-in { grid-template-columns: 1fr; gap: 28px; }
	.rlh-closing-h { font-size: 30px; }
}
@media (max-width: 680px) {
	.rlh-closing { padding: 36px 0 4px; }
	.rlh-closing-h { font-size: 25px; }
}
@media (max-width: 560px) {
	.rlh-closing-in { padding-left: 16px; padding-right: 16px; }
}

.rl-foot .rlh-closing-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--rlh-mono);
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--rlh-light);
	border-bottom: 1px solid rgba(199, 209, 138, .4);
	padding-bottom: 3px;
}
.rl-foot .rlh-closing-link:hover {
	color: #fff;
	border-bottom-color: #fff;
}

/* ============================================================
   FAQ — numbered accordion, matched to the UI prototype.
   ============================================================ */
.rl-faqp { border-top: 1px solid rgba(34, 39, 14, .12); }
.rl-faqp-row { border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-faqp-q {
	display: grid;
	grid-template-columns: 46px 210px minmax(0, 1fr) 24px;
	align-items: baseline;
	gap: 18px;
	padding: 26px 0;
	cursor: pointer;
	list-style: none;
}
.rl-faqp-q::-webkit-details-marker { display: none; }
.rl-faqp-n { font: 400 10px/1 var(--mono); color: #A8B075; }
.rl-faqp-cat { font: 400 9.5px/1.4 var(--mono); letter-spacing: .16em; color: #8C9560; }
.rl-faqp-t { font: 400 21px/1.35 var(--grot); color: var(--deep); }
.rl-faqp-x { position: relative; height: 14px; align-self: center; justify-self: end; }
/* +/- drawn as rules rather than glyphs so it never depends on a text font. */
.rl-faqp-x::before,
.rl-faqp-x::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 13px;
	height: 1px;
	background: var(--deep);
	transition: transform .2s;
}
.rl-faqp-x::after { transform: rotate(90deg); }
.rl-faqp-row[open] .rl-faqp-x::after { transform: rotate(0deg); }
.rl-faqp-a {
	padding: 0 24px 30px 274px;
	max-width: 96ch;
	font: 400 13px/1.8 var(--sans);
	color: #4A5227;
}
.rl-faqp-a p { margin: 0 0 12px; }
.rl-faqp-a p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
	.rl-faqp-q { grid-template-columns: 30px minmax(0, 1fr) 20px; gap: 12px; }
	.rl-faqp-cat { display: none; }
	.rl-faqp-t { font-size: 18px; }
	.rl-faqp-a { padding: 0 20px 24px 42px; }
}

/* ============================================================
   Catalog — matched to the UI prototype.
   ============================================================ */
.rl-filter-search { margin-bottom: 26px; }
.rl-filter-search input {
	width: 100%;
	background: #fff;
	border: 1px solid rgba(34, 39, 14, .16);
	padding: 11px 13px;
	font: 400 12.5px/1 var(--sans);
	color: var(--deep);
	outline: none;
}
.rl-filter-h { font: 400 9.5px/1 var(--mono); letter-spacing: .18em; color: #8C9560; margin-bottom: 12px; }
.rl-filter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border: 1px solid rgba(34, 39, 14, .14);
	background: #fff;
	padding: 10px 13px;
	margin-bottom: 7px;
	font: 400 12.5px/1 var(--sans);
}
.rl a.rl-filter { color: var(--deep); }
.rl a.rl-filter:hover { border-color: rgba(34, 39, 14, .34); color: var(--deep); }
.rl a.rl-filter.is-on { background: var(--green); border-color: var(--green); color: #fff; }
.rl-filter-n { font: 400 10px/1 var(--mono); opacity: .7; }
.rl-filter-cta { border: 1px solid rgba(34, 39, 14, .14); padding: 18px 16px; margin-top: 26px; }
.rl-filter-cta-h { font: 400 9.5px/1 var(--mono); letter-spacing: .18em; color: #8C9560; margin-bottom: 10px; }
.rl-filter-cta p { margin: 0 0 14px; font: 400 12px/1.7 var(--sans); color: #6E7845; }
.rl a.rl-filter-cta > a,
.rl .rl-filter-cta a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 400 10px/1 var(--mono);
	letter-spacing: .12em;
	color: var(--green);
	border-bottom: 1px solid rgba(73, 83, 30, .35);
	padding-bottom: 3px;
}
.rl-shop-showing { font: 400 10px/1 var(--mono); letter-spacing: .16em; color: #8C9560; }

/* product card */
.rl-pc { background: #fff; border: 1px solid rgba(34, 39, 14, .12); display: flex; flex-direction: column; }
.rl-pc-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.rl-pc-cat { font: 400 9px/1 var(--mono); letter-spacing: .18em; color: #8C9560; margin-bottom: 9px; }
.rl-pc-name { font: 400 20px/1.2 var(--grot); color: var(--deep); }
.rl .rl-pc-name:hover { color: var(--green); }
.rl-pc-rating { display: flex; align-items: center; gap: 7px; margin-top: 9px; }
.rl-pc-score { font: 400 11px/1 var(--mono); color: var(--deep); }
.rl-pc-rcount { font: 400 10px/1 var(--mono); color: #A8B075; }
.rl-pc-meta { margin-top: 10px; font: 400 10px/1.5 var(--mono); color: #8C9560; }
.rl-pc-blurb { margin: 12px 0 0; font: 400 12px/1.65 var(--sans); color: #6E7845; }
.rl-pc-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid rgba(34, 39, 14, .1);
}
.rl-pc-price { font: 400 14px/1 var(--mono); color: var(--deep); }
.rl-pc-price em { font-style: normal; font-size: 11px; }
.rl-pc-was { margin-left: 7px; font: 400 10.5px/1 var(--mono); color: #A8B075; }
.rl-pc-view {
	border: 1px solid rgba(34, 39, 14, .22);
	padding: 9px 16px;
	font: 400 10px/1 var(--mono);
	letter-spacing: .14em;
}
.rl a.rl-pc-view { color: var(--deep); }
.rl a.rl-pc-view:hover { background: var(--green); border-color: var(--green); color: #fff; }
/* Prototype image panel measures 350x230 (~3:2), not the square we had. */
.rl-pc-img { aspect-ratio: 350 / 230; padding: 18px; }
.rl-pc-code, .rl-pc-purity { font: 400 9px/1 var(--mono); letter-spacing: .1em; }
/* The image's height:100% could not resolve against a parent sized only by
   aspect-ratio, so it fell back to its intrinsic height and stretched the
   panel. Taking the image out of flow keeps the 3:2 panel exact. */
.rl-pc-img { min-height: 0; }
.rl-pc-img img {
	position: absolute;
	inset: 18px;
	width: calc(100% - 36px);
	height: calc(100% - 36px);
	object-fit: contain;
}
@media (max-width: 700px) {
	/* iOS Safari can zero out a grid item whose height comes only from
	   aspect-ratio when every child is absolute; floor it. */
	.rl-pc-img { min-height: 200px; }
}

/* ============================================================
   Product page — matched to the UI prototype.
   ============================================================ */
.rl-pdp-rate { display: flex; align-items: center; gap: 9px; margin: 12px 0 16px; }
.rl-pdp-rate-v { font: 400 12px/1 var(--mono); color: var(--deep); }
.rl .rl-pdp-rate-c { font: 400 11px/1 var(--sans); color: #8C9560; border-bottom: 1px solid rgba(140,149,96,.5); padding-bottom: 2px; }
.rl-pdp-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid rgba(34, 39, 14, .14);
	background: #fff;
	margin: 22px 0 26px;
}
.rl-pdp-strip-c { padding: 14px 16px; border-left: 1px solid rgba(34, 39, 14, .12); }
.rl-pdp-strip-c:first-child { border-left: 0; }
.rl-pdp-strip-k { font: 400 8.5px/1 var(--mono); letter-spacing: .16em; color: #8C9560; margin-bottom: 8px; }
.rl-pdp-strip-v { font: 400 13px/1.3 var(--mono); color: var(--deep); }

.rl-pdp-offers-h { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.rl-pdp-offers-n { font: 400 10.5px/1.4 var(--sans); color: #8C9560; }
.rl-pdp-sizes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.rl-size {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	text-align: left;
	background: #fff;
	border: 1px solid rgba(34, 39, 14, .16);
	padding: 14px 16px 15px;
	cursor: pointer;
}
.rl-size-l { font: 400 12.5px/1.2 var(--sans); color: var(--deep); }
.rl-size .rl-size-price { font: 400 15px/1 var(--mono); color: var(--deep); }
.rl-size-was { font: 400 10px/1 var(--mono); color: #A8B075; text-decoration: line-through; }
.rl-size-save { font: 400 9px/1 var(--mono); letter-spacing: .1em; color: var(--green); }
.rl-size.is-active { background: var(--green); border-color: var(--green); }
.rl-size.is-active .rl-size-l,
.rl-size.is-active .rl-size-price { color: #fff; }
.rl-size.is-active .rl-size-was { color: rgba(255,255,255,.6); }
.rl-size.is-active .rl-size-save { color: #C7D18A; }

@media (max-width: 900px) {
	.rl-pdp-strip { grid-template-columns: 1fr 1fr; }
	.rl-pdp-strip-c:nth-child(3) { border-left: 0; }
	.rl-pdp-sizes { grid-template-columns: 1fr; }
}

/* ============================================================
 * PDP — certificate card, tab panels, reviews block, related row.
 * Matched to the UI prototype: sharp edges, hairline #22270E@12%,
 * mono labels, Times headings.
 * ============================================================ */

/* ---- certificate card under the gallery ---- */
.rl-pdp-coacard {
	background: #fff;
	border: 1px solid rgba(34, 39, 14, .12);
	padding: 22px 24px 24px;
	margin-top: 14px;
}
.rl-pdp-coacard-h { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.rl-pdp-coacard-t {
	display: inline-flex; align-items: center; gap: 10px;
	font: 400 10px/1.3 var(--mono); letter-spacing: .16em; color: var(--green);
}
.rl-pdp-coacard-t svg { flex: none; }
.rl-pdp-coacard-chip {
	flex: none; background: var(--line); color: var(--green);
	padding: 5px 9px; font: 400 9.5px/1 var(--mono); letter-spacing: .14em;
}
.rl-pdp-coagrid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
	background: rgba(34, 39, 14, .12); border: 1px solid rgba(34, 39, 14, .12);
	margin-bottom: 18px;
}
.rl-pdp-coagrid[data-cells="3"] { grid-template-columns: repeat(3, 1fr); }
.rl-pdp-coagrid[data-cells="2"] { grid-template-columns: repeat(2, 1fr); }
.rl-pdp-coagrid[data-cells="1"] { grid-template-columns: 1fr; }
.rl-pdp-coacell { background: #FAFAF4; padding: 13px 14px; }
.rl-pdp-coacell-k { font: 400 8.5px/1 var(--mono); letter-spacing: .14em; color: var(--sage); margin-bottom: 6px; }
.rl-pdp-coacell-v { font: 400 12.5px/1.3 var(--mono); color: var(--deep); overflow-wrap: anywhere; }
.rl-pdp-coacta { display: flex; gap: 10px; }
.rl .rl-pdp-cbtn {
	flex: 1; display: inline-flex; align-items: center; justify-content: center;
	background: #fff; color: var(--green); border: 1px solid rgba(34, 39, 14, .2);
	padding: 14px 12px; font: 400 11px/1 var(--sans); letter-spacing: .14em;
	text-align: center; transition: border-color .18s, background .18s, color .18s;
}
.rl .rl-pdp-cbtn:hover { border-color: var(--green); background: #FAFAF4; color: var(--green); }
.rl .rl-pdp-cbtn-fill { background: var(--green); border-color: var(--green); color: #fff; }
.rl .rl-pdp-cbtn-fill:hover { background: #333A14; border-color: #333A14; color: #fff; }
.rl .rl-pdp-cbtn-wide { width: 100%; margin-top: 24px; }

/* ---- tab bar + panels ---- */
.rl-pdp-tabsec { max-width: var(--wrap); margin: 0 auto; padding: 0 28px; }
.rl-pdp-tabbar {
	display: flex; gap: 36px; flex-wrap: wrap;
	border-bottom: 1px solid rgba(34, 39, 14, .14);
}
.rl-pdp-tab {
	background: none; border: 0; border-bottom: 2px solid transparent;
	padding: 20px 0 17px; cursor: pointer;
	font: 400 11.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
	color: var(--olive3); transition: color .16s, border-color .16s;
}
.rl-pdp-tab:hover { color: var(--green); }
.rl-pdp-tab.is-on { color: var(--deep); border-bottom-color: var(--green); }
.rl-pdp-panel { display: none; padding: 44px 0 60px; }
.rl-pdp-panel.is-on { display: block; }
.rl-pdp-panel-overview.is-on,
.rl-pdp-panel-shipping.is-on { display: grid; grid-template-columns: 1.3fr 1fr; gap: 70px; }
.rl-pdp-ph { font: 400 30px/1.1 var(--grot); color: var(--deep); margin: 0 0 16px; }
.rl-pdp-ptext { font: 400 13.5px/1.8 var(--sans); color: #4A5227; margin: 0; }
.rl-pdp-ptext p { margin: 0 0 18px; }
.rl-pdp-ptext p:last-child { margin-bottom: 0; }
.rl-pdp-ptext-legal { margin-top: 18px; }
.rl-pdp-areas { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(34, 39, 14, .12); }
.rl-pdp-areas-h { font: 400 10px/1 var(--mono); letter-spacing: .18em; color: var(--olive3); margin-bottom: 14px; }
.rl-pdp-area { display: flex; align-items: flex-start; gap: 10px; font: 400 12.5px/1.6 var(--sans); color: #4A5227; margin-bottom: 8px; }
.rl-pdp-area-ic { color: var(--green); flex: none; margin-top: 3px; display: inline-flex; }
.rl-pdp-specpanel { border: 1px solid rgba(34, 39, 14, .14); background: #fff; align-self: start; }
.rl-pdp-specpanel-h {
	padding: 14px 20px; border-bottom: 1px solid rgba(34, 39, 14, .12);
	font: 400 10px/1 var(--mono); letter-spacing: .16em; color: var(--green);
}
.rl-pdp-specrow,
.rl-pdp-coarow,
.rl-pdp-shiprow { display: flex; justify-content: space-between; gap: 18px; font: 400 12.5px/1.5 var(--sans); }
.rl-pdp-specrow { padding: 13px 20px; border-bottom: 1px solid rgba(34, 39, 14, .08); }
.rl-pdp-specrow:last-child { border-bottom: 0; }
.rl-pdp-speck { color: var(--olive3); flex: none; }
.rl-pdp-specv { font-family: var(--mono); color: var(--deep); text-align: right; overflow-wrap: anywhere; }
.rl-pdp-specv.is-good { color: var(--green); }

/* COA panel */
.rl-pdp-coapanel { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rl-pdp-coabox { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 28px 30px 30px; }
.rl-pdp-coabox-h { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.rl-pdp-coabox-e { font: 400 10px/1 var(--mono); letter-spacing: .16em; color: var(--olive3); margin-bottom: 8px; }
.rl-pdp-coabox-e.rl-mbig { margin-bottom: 22px; }
.rl-pdp-coabox-t { font: 400 28px/1.1 var(--grot); color: var(--deep); }
.rl-pdp-coarow { padding: 12px 0; border-top: 1px solid rgba(34, 39, 14, .1); }
.rl-pdp-coarow:last-of-type { border-bottom: 1px solid rgba(34, 39, 14, .1); }
.rl-pdp-tests { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.rl-pdp-test {
	display: inline-flex; align-items: center; gap: 8px;
	border: 1px solid rgba(34, 39, 14, .16); background: #FAFAF4; padding: 9px 13px;
}
.rl-pdp-test-ic { color: var(--green); display: inline-flex; }
.rl-pdp-test-l { font: 400 9.5px/1 var(--mono); letter-spacing: .14em; color: var(--green); }
.rl-pdp-coanote { font: 400 12px/1.65 var(--sans); color: var(--olive2); margin: 0 0 20px; }
.rl .rl-pdp-coalink {
	display: inline-flex; align-items: center; gap: 8px;
	font: 400 10px/1 var(--mono); letter-spacing: .16em; color: var(--green);
	border-bottom: 1px solid rgba(73, 83, 30, .35); padding-bottom: 3px;
}
.rl .rl-pdp-coalink:hover { border-bottom-color: var(--green); color: var(--green); }
.rl-pdp-coaempty { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 30px 32px; max-width: 720px; }
.rl-pdp-coaempty p { margin: 0 0 18px; font: 400 13px/1.75 var(--sans); color: #4A5227; }

/* storage panel */
.rl-pdp-storgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rl-pdp-storcard { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 28px; }
.rl-pdp-storcard-n { font: 400 24px/1.1 var(--mono); color: var(--green); margin-bottom: 16px; }
.rl-pdp-storcard-t { font: 400 22px/1.2 var(--grot); color: var(--deep); margin: 0 0 10px; }
.rl-pdp-storcard p { margin: 0; font: 400 12.5px/1.7 var(--sans); color: var(--olive2); }
.rl-pdp-handling { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(34, 39, 14, .12); }
.rl-pdp-handling-h { font: 400 10px/1 var(--mono); letter-spacing: .18em; color: var(--olive3); margin-bottom: 14px; }
.rl-pdp-handling-list { display: flex; flex-wrap: wrap; gap: 10px 36px; }

/* shipping panel */
.rl-pdp-shiprow { padding: 14px 0; border-top: 1px solid rgba(34, 39, 14, .12); font-size: 13px; }
.rl-pdp-shiprow span:first-child { color: var(--olive2); }
.rl-pdp-shiprow:last-child { border-bottom: 1px solid rgba(34, 39, 14, .12); }

/* ---- reviews block ---- */
.rl-pdp-rvs { max-width: var(--wrap); margin: 0 auto; padding: 0 28px 8px; border-top: 1px solid rgba(34, 39, 14, .12); }
.rl-pdp-rvs-head {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 24px;
	margin: 44px 0 26px; padding-bottom: 22px; border-bottom: 1px solid rgba(34, 39, 14, .14);
}
.rl-pdp-rvs-e { font: 400 10px/1 var(--mono); letter-spacing: .22em; color: var(--olive3); margin-bottom: 14px; }
.rl-pdp-rvs-h { font: 400 44px/1.04 var(--grot); letter-spacing: -.02em; color: var(--deep); margin: 0; scroll-margin-top: 24px; }
.rl-pdp-rvs-write {
	flex: none; background: var(--green); color: #fff; border: 1px solid var(--green);
	padding: 16px 30px; cursor: pointer;
	font: 400 11.5px/1 var(--sans); letter-spacing: .16em;
	transition: background .18s;
}
.rl-pdp-rvs-write:hover { background: #333A14; }
.rl-pdp-rvs-stats {
	display: grid; grid-template-columns: 280px 1fr 1fr; gap: 1px;
	background: rgba(34, 39, 14, .12); border: 1px solid rgba(34, 39, 14, .12);
	margin-bottom: 20px;
}
.rl-pdp-rvs-stats.is-2col { grid-template-columns: 280px 1fr; }
.rl-pdp-rvs-score { background: #fff; padding: 32px 34px; display: flex; flex-direction: column; justify-content: center; }
.rl-pdp-rvs-avg { font: 400 66px/.9 var(--grot); color: var(--green); margin-bottom: 12px; }
.rl-pdp-rvs-stars { display: inline-flex; gap: 3px; color: var(--green); margin-bottom: 10px; }
.rl-pdp-rvs-count { font: 400 10px/1 var(--mono); letter-spacing: .14em; color: var(--olive3); }
.rl-pdp-rvs-bars { background: #fff; padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.rl-pdp-rvs-bar { display: grid; grid-template-columns: 28px 1fr 42px; align-items: center; gap: 14px; }
.rl-pdp-rvs-bar-n { font: 400 11px/1 var(--mono); color: var(--olive3); }
.rl-pdp-rvs-bar-track { height: 6px; background: var(--cream2); display: block; }
.rl-pdp-rvs-bar-fill { display: block; height: 6px; background: var(--green); }
.rl-pdp-rvs-bar-p { font: 400 10.5px/1 var(--mono); color: var(--sage); text-align: right; }
.rl-pdp-rvs-side { background: #FAFAF4; padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.rl-pdp-rvs-sidrow { display: flex; align-items: baseline; gap: 14px; }
.rl-pdp-rvs-sidv { font: 400 20px/1 var(--mono); color: var(--green); min-width: 78px; }
.rl-pdp-rvs-sidl { font: 400 12px/1.5 var(--sans); color: var(--olive2); }
.rl-pdp-rvs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rl-pdp-rvcard { border: 1px solid rgba(34, 39, 14, .12); background: #fff; padding: 28px 30px 30px; display: flex; flex-direction: column; }
.rl-pdp-rvcard-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.rl-pdp-rvcard-stars { display: inline-flex; gap: 2px; color: var(--green); }
.rl-pdp-rvcard-date { font: 400 9.5px/1 var(--mono); letter-spacing: .12em; color: var(--sage); }
.rl-pdp-rvcard-t { font: 400 23px/1.22 var(--grot); color: var(--deep); margin: 0 0 12px; }
.rl-pdp-rvcard-q { font: 400 12.5px/1.72 var(--sans); color: #4A5227; margin: 0 0 24px; flex: 1; }
.rl-pdp-rvcard-ver {
	display: flex; align-items: center; gap: 9px; padding: 9px 0; margin-bottom: 14px;
	border-top: 1px solid rgba(34, 39, 14, .1); border-bottom: 1px solid rgba(34, 39, 14, .1);
	font: 400 9.5px/1 var(--mono); letter-spacing: .12em; color: var(--green);
}
.rl-pdp-rvcard-ver .rl-dot { width: 5px; height: 5px; flex: none; animation: none; }
.rl-pdp-rvcard-foot { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.rl-pdp-rvcard-n { font: 500 12.5px/1.3 var(--sans); color: var(--deep); }
.rl-pdp-rvcard-role { font: 400 11px/1.3 var(--sans); color: var(--olive3); margin-top: 3px; }
.rl-pdp-rvcard-loc { font: 400 9.5px/1 var(--mono); letter-spacing: .12em; color: var(--sage); flex: none; }
.rl-pdp-rvs-empty { font: 400 13px/1.7 var(--sans); color: var(--olive2); margin: 0; }

/*
 * The review plugin still renders submission. Its own heading, summary and
 * list duplicate the block above, so only the form survives here.
 */
.rl-pdp-rvs-form .ucro-reviews__head,
.rl-pdp-rvs-form .ucro-summary,
.rl-pdp-rvs-form .ucro-reviews__list,
.rl-pdp-rvs-form .ucro-reviews__empty { display: none; }
.rl-pdp-rvs-form .ucro-reviews { background: none; padding: 0; margin: 0; }
.rl-pdp-rvs-form .ucro-reviews__inner { padding: 0; margin: 0; max-width: none; }
.rl-pdp-rvs-form .ucro-review-form {
	border: 1px solid var(--green); background: #fff; border-radius: 0;
	padding: 34px 36px 36px; margin: 20px 0 0;
}
.rl-pdp-rvs-form .ucro-review-form__title { font: 400 30px/1.1 var(--grot); color: var(--deep); margin: 0 0 22px; }
.rl-pdp-rvs-form .ucro-review-form input,
.rl-pdp-rvs-form .ucro-review-form select,
.rl-pdp-rvs-form .ucro-review-form textarea {
	border: 1px solid rgba(34, 39, 14, .16); background: #FAFAF4; border-radius: 0;
	padding: 14px; font: 400 13px/1.55 var(--sans); color: var(--deep);
}
.rl-pdp-rvs-form .ucro-review-form__submit {
	background: var(--green); color: #fff; border: 0; border-radius: 0;
	padding: 15px 32px; font: 400 11.5px/1 var(--sans); letter-spacing: .16em;
	text-transform: uppercase; cursor: pointer;
}
.rl-pdp-rvs-form .ucro-review-form__submit:hover { background: #333A14; }
.rl-pdp-rvs-form .ucro-star-btn { color: var(--green); }

/* ---- frequently ordered together ---- */
.rl-pdp-relhead {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 24px;
	margin: 64px 0 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(34, 39, 14, .12);
}
.rl-pdp-relh { font: 400 38px/1.04 var(--grot); letter-spacing: -.02em; color: var(--deep); margin: 0; }
.rl .rl-pdp-rellink {
	display: inline-flex; align-items: center; gap: 8px; flex: none;
	font: 400 11.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
	color: var(--green); border-bottom: 1px solid rgba(73, 83, 30, .35); padding-bottom: 2px;
}
.rl .rl-pdp-rellink:hover { border-bottom-color: var(--green); color: var(--green); }

@media (max-width: 1100px) {
	.rl-pdp-panel-overview.is-on,
	.rl-pdp-panel-shipping.is-on { grid-template-columns: 1fr; gap: 34px; }
	.rl-pdp-coapanel { grid-template-columns: 1fr; }
	.rl-pdp-rvs-stats,
	.rl-pdp-rvs-stats.is-2col { grid-template-columns: 1fr; }
	.rl-pdp-rvs-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
	.rl-pdp-tabsec, .rl-pdp-rvs { padding-left: 16px; padding-right: 16px; }
	.rl-pdp-tabbar { gap: 20px; }
	.rl-pdp-tab { font-size: 10.5px; letter-spacing: .1em; }
	.rl-pdp-coagrid, .rl-pdp-coagrid[data-cells="3"] { grid-template-columns: 1fr 1fr; }
	.rl-pdp-storgrid { grid-template-columns: 1fr; }
	.rl-pdp-rvs-grid { grid-template-columns: 1fr; }
	.rl-pdp-rvs-head { flex-direction: column; align-items: flex-start; }
	.rl-pdp-rvs-h { font-size: 32px; }
	.rl-pdp-relhead { flex-direction: column; align-items: flex-start; gap: 14px; }
	.rl-pdp-relh { font-size: 28px; }
	.rl-pdp-coacta { flex-direction: column; }
}

/* Review form: the plugin caps its own section and form width for a narrow
   column layout; inside the PDP block it spans the section instead. */
.rl-pdp-rvs-form .ucro-reviews,
.rl-pdp-rvs-form .ucro-review-form { max-width: none; width: 100%; }
.rl-pdp-rvs-form .ucro-reviews__inner { border-top: 0; padding-top: 0; }
/* The plugin's star SVGs carry no fill attribute, so they paint UA black
   rather than following the button colour. */
.rl-pdp-rvs-form .ucro-star-btn { color: var(--cream2); }
.rl-pdp-rvs-form .ucro-star-btn svg { fill: currentColor; }
.rl-pdp-rvs-form .ucro-star-btn.is-on,
.rl-pdp-rvs-form .ucro-star-btn.is-hover { color: var(--green); }
.rl-pdp-rvs-form .ucro-review-form { margin: 0 0 20px; }

/* ============================================================
 * Header — measured against the prototype: 76px bar on the page
 * ground colour, mark + serif wordmark, Poppins nav.
 * ============================================================ */
.rl-head { background: rgba(244, 243, 236, .94); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-head-in { height: 76px; gap: 22px; }
.rl-logo { gap: 11px; }
.rl-logo-mk { width: 34px; height: 34px; flex: none; color: var(--green); }
.rl-logo-wm { font: 400 27px/1 var(--grot); letter-spacing: -.01em; color: var(--deep); white-space: nowrap; }
.rl-nav { gap: 30px; }
/* Nav is Poppins in the design, not the mono face the earlier pass used. */
.rl-navbtn { font: 500 11.5px/1 var(--sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--olive2); padding: 4px 0 3px; border-bottom: 1px solid transparent; }
.rl-navbtn:hover { background: none; color: var(--deep); }
.rl-head-actions { gap: 22px; }
.rl-head-actions .rl-icon-btn { width: 40px; height: 40px; border: 1px solid rgba(34, 39, 14, .18); color: #5C6534; background: transparent; border-radius: 0; display: flex; align-items: center; justify-content: center; }
.rl .rl-head-actions a.rl-icon-btn { color: #5C6534; }
.rl-head-actions .rl-icon-btn:hover,
.rl .rl-head-actions a.rl-icon-btn:hover { border-color: var(--green); color: var(--green); background: #fff; }
@media (max-width: 900px) {
	.rl-head-in { height: 64px; gap: 12px; }
	.rl-logo-wm { font-size: 20px; }
	.rl-logo-mk { width: 28px; height: 28px; }
	.rl-head-actions { gap: 10px; }
}

/* ============================================================
 * PDP hero — measured against the prototype: 660px tinted image
 * panel with the chips inside it, then a 52/60/56 buy column.
 * ============================================================ */
.rl-pdp { grid-template-columns: 660px minmax(0, 1fr); gap: 0; max-width: var(--wrap); margin: 0 auto; padding: 0 28px; align-items: stretch; }
.rl-pdp-gallery { border-right: 1px solid rgba(34, 39, 14, .12); display: flex; flex-direction: column; position: static; }
.rl-pdp-frame {
	position: relative; flex: 1; min-height: 520px;
	display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 0; padding: 0; overflow: hidden;
}
.rl-pdp-mainimg { max-height: 430px; max-width: 100%; object-fit: contain; display: block; }
.rl-pdp-lotchip {
	position: absolute; left: 28px; top: 28px;
	font: 400 10px/1 var(--mono); letter-spacing: .16em;
	background: rgba(244, 243, 236, .92); color: var(--green); padding: 6px 11px;
}
.rl-pdp-frame .rl-pdp-thumbs { position: absolute; left: 28px; bottom: 28px; display: flex; gap: 8px; margin: 0; }
.rl-pdp-thumb {
	width: 56px; height: 56px; padding: 0; border-radius: 0;
	border: 1px solid rgba(34, 39, 14, .18); background: rgba(244, 243, 236, .82);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	transition: border-color .16s;
}
.rl-pdp-thumb:hover, .rl-pdp-thumb.is-on { border-color: var(--green); }
.rl-pdp-thumb img { max-height: 46px; max-width: 46px; object-fit: contain; display: block; }
.rl-pdp-buy-wrap { padding: 52px 60px 56px; }
.rl-pdp-goal { font: 400 10px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--olive3); margin-bottom: 14px; }
.rl-pdp-title { font: 400 50px/1.02 var(--grot); letter-spacing: -.02em; color: var(--deep); margin: 0 0 14px; }
.rl-pdp-meta { margin-bottom: 18px; }
.rl .rl-pdp-rate { display: inline-flex; align-items: center; gap: 12px; color: inherit; }
.rl-pdp-rate-s { display: inline-flex; gap: 2px; color: var(--green); }
.rl-pdp-rate-v { font: 400 12.5px/1 var(--mono); color: var(--deep); }
.rl-pdp-rate-sep { width: 1px; height: 11px; background: rgba(34, 39, 14, .24); }
.rl .rl-pdp-rate .rl-pdp-rate-c { font: 400 11.5px/1 var(--sans); color: var(--olive2); border-bottom: 1px solid rgba(73, 83, 30, .35); padding-bottom: 1px; }
.rl-pdp-blurb { font: 400 14px/1.72 var(--sans); color: #4A5227; margin: 0 0 28px; max-width: 520px; }
.rl-pdp-strip { margin-bottom: 34px; }
.rl-pdp-offers-n a { text-decoration: none; border-bottom: 1px solid rgba(73, 83, 30, .35); }

.rl-pdp-priceline { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 20px 0 18px; }
.rl-pdp-priceline .rl-pdp-price { font: 400 28px/1 var(--mono); color: var(--deep); }
.rl-pdp-was { font: 400 14px/1 var(--mono); color: var(--sage); text-decoration: line-through; }
.rl-pdp-save { font: 400 9.5px/1 var(--mono); letter-spacing: .14em; background: var(--line); color: var(--green); padding: 4px 9px; }

.rl-pdp-cartrow { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 0 0 16px; padding: 0; border: 0; }
.rl-pdp-cartrow .rl-qtybox { margin: 0; flex: none; }
.rl-pdp-order {
	flex: 1 1 240px; background: var(--green); color: #fff; border: 1px solid var(--green);
	padding: 19px; cursor: pointer; border-radius: 0;
	font: 500 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
	transition: background .18s;
}
.rl-pdp-order:hover { background: #333A14; border-color: #333A14; }
.rl .rl-pdp-coabtn2 {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	background: #fff; color: var(--green); border: 1px solid rgba(34, 39, 14, .2);
	padding: 19px 26px; font: 400 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
	transition: border-color .18s;
}
.rl .rl-pdp-coabtn2:hover { border-color: var(--green); color: var(--green); }

.rl-pdp-meta3 { display: flex; gap: 26px; flex-wrap: wrap; align-items: center; font: 400 11.5px/1.5 var(--sans); color: #7A8352; margin-top: 18px; }
.rl-pdp-meta3 span::before { content: "\25E6"; margin-right: 7px; color: var(--sage); }

.rl-pdp-addon {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	border: 1px solid rgba(34, 39, 14, .16); border-style: solid; background: #fff;
	padding: 16px 18px; margin: 20px 0 0;
}
.rl-pdp-addon-img { width: 52px; height: 52px; background: var(--cream2); flex: none; display: flex; align-items: center; justify-content: center; }
.rl-pdp-addon-img img { max-height: 44px; max-width: 44px; object-fit: contain; display: block; }
.rl-pdp-addon-b { flex: 1 1 220px; }
.rl-pdp-addon-t { font: 500 12.5px/1.4 var(--sans); color: var(--deep); display: block; margin-bottom: 3px; }
.rl-pdp-addon-s { font: 400 11.5px/1.5 var(--sans); color: var(--olive3); display: block; }
.rl-pdp-addon-p { font: 400 14px/1 var(--mono); color: var(--deep); flex: none; }
.rl-pdp-addbac {
	flex: none; background: transparent; border: 1px solid var(--green); color: var(--green);
	padding: 11px 18px; border-radius: 0; cursor: pointer;
	font: 400 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase;
	transition: background .16s, color .16s;
}
.rl-pdp-addbac:hover { background: var(--green); color: #fff; }

@media (max-width: 1100px) {
	.rl-pdp { grid-template-columns: 1fr; }
	.rl-pdp-gallery { border-right: 0; border-bottom: 1px solid rgba(34, 39, 14, .12); }
	.rl-pdp-buy-wrap { padding: 34px 0 40px; }
	.rl-pdp-title { font-size: 36px; }
	.rl-pdp-frame { min-height: 380px; }
	.rl-pdp-mainimg { max-height: 320px; }
}
@media (max-width: 820px) {
	.rl-pdp { padding-left: 16px; padding-right: 16px; }
	.rl-pdp-title { font-size: 30px; }
	.rl-pdp-lotchip, .rl-pdp-frame .rl-pdp-thumbs { left: 14px; }
	.rl-pdp-lotchip { top: 14px; }
	.rl-pdp-frame .rl-pdp-thumbs { bottom: 14px; }
	.rl-pdp-cartrow { flex-direction: column; align-items: stretch; }
	.rl .rl-pdp-coabtn2 { padding: 16px; }
}
/* Quantity sits with the price so the two CTAs stay on one row, as designed. */
.rl-pdp-priceline .rl-qtybox { margin-left: auto; flex: none; }
.rl-pdp-cartrow { flex-wrap: nowrap; }
.rl-pdp-order { flex: 1 1 auto; }

/* ============================================================
 * PDP page frame. The design runs the product page edge to edge
 * with 60px gutters, not inside the site's centred wrap: inset by
 * the wrap, the buy column loses ~130px and the whole hero reads
 * cramped against the prototype.
 * ============================================================ */
.rl-pdp-crumbs-wrap {
	max-width: none; margin: 0; padding: 20px 60px;
	border-bottom: 1px solid rgba(34, 39, 14, .12);
}
.rl-pdp {
	max-width: none; margin: 0; padding: 0;
	grid-template-columns: 660px minmax(0, 1fr);
	border-bottom: 1px solid rgba(34, 39, 14, .12);
}
.rl-pdp-tabsec { max-width: none; margin: 0; padding: 0 60px; }
.rl-pdp-rvs { max-width: none; margin: 0; padding: 0 60px 8px; }
.rl-pdp-rel { max-width: none; margin: 0; padding: 0 60px 64px; }

@media (max-width: 1100px) {
	.rl-pdp-crumbs-wrap { padding: 18px 28px; }
	.rl-pdp-tabsec, .rl-pdp-rvs, .rl-pdp-rel { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 820px) {
	.rl-pdp-crumbs-wrap { padding: 16px; }
	.rl-pdp-tabsec, .rl-pdp-rvs, .rl-pdp-rel { padding-left: 16px; padding-right: 16px; }
}
/* Spec strip keeps the design's cell size when a product records fewer than
   four headline specs, rather than stretching two cells across the column. */
.rl-pdp-strip { grid-template-columns: repeat(4, minmax(0, 165px)); justify-content: start; width: fit-content; max-width: 100%; }

/* These must come after the full-bleed block above, which sets a fixed 660px
   first column and would otherwise win at every width. */
@media (max-width: 1100px) {
	.rl-pdp { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-gallery { border-right: 0; border-bottom: 1px solid rgba(34, 39, 14, .12); }
	.rl-pdp-buy-wrap { padding: 34px 28px 40px; }
}
@media (max-width: 820px) {
	.rl-pdp-buy-wrap { padding: 28px 16px 34px; }
	.rl-pdp-coacard { padding: 18px 16px 20px; }
}

/* ============================================================
 * PDP hero, revised to the reference crop: even 50/50 split,
 * title and copy across the full column, no quantity stepper,
 * variant cards on the design's type scale.
 * ============================================================ */
.rl-pdp { grid-template-columns: 1fr 1fr; }
.rl-pdp-blurb { max-width: none; }
.rl-pdp-title { max-width: none; }

.rl-pdp-sizes { grid-template-columns: repeat(3, 1fr); gap: 10px; }
.rl-size { padding: 16px 14px; text-align: left; display: block; }
.rl-size-l { display: block; font: 500 12.5px/1.2 var(--sans); color: var(--deep); margin-bottom: 5px; }
.rl-size-sub { display: block; font: 400 10px/1.2 var(--mono); color: var(--olive3); margin-bottom: 12px; }
.rl-size .rl-size-price { display: block; font: 400 15px/1 var(--mono); color: var(--deep); }
.rl-size-was { display: block; font: 400 10.5px/1 var(--mono); color: var(--sage); text-decoration: line-through; margin-top: 4px; }
.rl-size-save { display: block; font: 400 9.5px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--green); margin-top: 8px; }
.rl-size.is-active .rl-size-sub { color: rgba(255, 255, 255, .62); }

/* Quantity is set in the cart, as in the design; add-to-cart posts qty 1. */
.rl-pdp-priceline .rl-qtybox { display: none; }
/* Fixed-width cells whatever the count: with explicit 4-column tracks the two
   empty ones collapse and the two real cells split the row unevenly. */
.rl-pdp-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 165px; justify-content: start; width: fit-content; max-width: 100%; }
@media (max-width: 820px) { .rl-pdp-strip { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr 1fr; width: auto; } }

/* ============================================================
 * Reconstitution calculator page.
 * ============================================================ */
.rl-calc-hero { background: var(--green); color: #fff; padding: 56px 60px 52px; }
.rl-calc-hero-in { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.rl-calc-eyebrow { font: 400 10px/1 var(--mono); letter-spacing: .22em; text-transform: uppercase; color: #C7D18A; margin-bottom: 18px; }
.rl-calc-title { font: 400 62px/1 var(--grot); letter-spacing: -.022em; color: #fff; margin: 0; }
.rl-calc-lead { font: 400 13px/1.75 var(--sans); color: rgba(255, 255, 255, .72); max-width: 400px; margin: 0; }

.rl-calc { display: grid; grid-template-columns: 520px minmax(0, 1fr); border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-calc-inputs { background: #fff; border-right: 1px solid rgba(34, 39, 14, .12); padding: 44px 46px 52px; }
.rl-calc-output { padding: 44px 60px 52px; background: var(--bg); }
.rl-calc-lbl { font: 400 10px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--olive3); margin-bottom: 28px; }

.rl-calc-field { margin-bottom: 34px; }
.rl-calc-field-last { margin-bottom: 0; }
.rl-calc-field-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 12px; }
.rl-calc-field-l { font: 500 13px/1.3 var(--sans); color: var(--deep); }
.rl-calc-field-l-block { display: block; margin-bottom: 12px; }
.rl-calc-field-v { font: 400 19px/1 var(--mono); color: var(--green); white-space: nowrap; }
.rl-calc-field input[type="range"] { width: 100%; accent-color: var(--green); height: 3px; }
.rl-calc-scale { display: flex; justify-content: space-between; font: 400 9.5px/1 var(--mono); color: var(--sage); margin-top: 8px; }
.rl-calc-syringes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rl-calc-syr {
	background: #fff; color: var(--green); border: 1px solid rgba(34, 39, 14, .2);
	padding: 13px; cursor: pointer; border-radius: 0;
	font: 400 12px/1 var(--mono); transition: background .16s, color .16s, border-color .16s;
}
.rl-calc-syr:hover { border-color: var(--green); }
.rl-calc-syr.is-on { background: var(--green); border-color: var(--green); color: #fff; }

.rl-calc-cells {
	display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
	background: rgba(34, 39, 14, .12); border: 1px solid rgba(34, 39, 14, .12); margin-bottom: 28px;
}
.rl-calc-cell { background: #fff; padding: 26px 28px 28px; }
.rl-calc-cell-k { font: 400 9.5px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); margin-bottom: 12px; }
.rl-calc-cell-v { font: 400 38px/1 var(--mono); color: var(--deep); }
.rl-calc-cell-v em { font-style: normal; font-size: 15px; color: var(--olive3); margin-left: 6px; }
.rl-calc-cell-fill { background: var(--green); }
.rl-calc-cell-fill .rl-calc-cell-k { color: #C7D18A; }
.rl-calc-cell-fill .rl-calc-cell-v { color: #fff; }
.rl-calc-cell-fill .rl-calc-cell-v em { color: rgba(255, 255, 255, .6); }

.rl-calc-barrel { background: #fff; border: 1px solid rgba(34, 39, 14, .14); padding: 30px 32px 34px; margin-bottom: 24px; }
.rl-calc-barrel-h { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 20px; }
.rl-calc-barrel-t { font: 400 10px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--olive3); }
.rl-calc-barrel-p { font: 400 11px/1 var(--mono); color: var(--green); white-space: nowrap; }
.rl-calc-tube { position: relative; height: 52px; border: 1.5px solid var(--green); background: #FAFAF4; overflow: hidden; }
.rl-calc-tube-fill { height: 100%; background: var(--green); transition: width .25s cubic-bezier(.2, .8, .3, 1); }
.rl-calc-ticks { position: absolute; inset: 0; display: flex; pointer-events: none; }
.rl-calc-ticks span { flex: 1; border-right: 1px solid rgba(34, 39, 14, .2); }
.rl-calc-ticks span:last-child { border-right: 0; }
.rl-calc-warn {
	margin-top: 18px; background: #F6EFE0; border-left: 2px solid #A8792B;
	padding: 12px 16px; font: 400 12px/1.6 var(--sans); color: #6B5320;
}
.rl-calc-warn[hidden] { display: none; }
.rl-calc-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rl-calc-note { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 22px 24px; }
.rl-calc-note-h { font: 400 10px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--green); margin-bottom: 10px; }
.rl-calc-note p { margin: 0; font: 400 12px/1.7 var(--sans); color: var(--olive2); }

@media (max-width: 1100px) {
	.rl-calc { grid-template-columns: minmax(0, 1fr); }
	.rl-calc-inputs { border-right: 0; border-bottom: 1px solid rgba(34, 39, 14, .12); padding: 34px 28px 40px; }
	.rl-calc-output { padding: 34px 28px 40px; }
	.rl-calc-hero { padding: 40px 28px 36px; }
	.rl-calc-title { font-size: 42px; }
	.rl-calc-hero-in { flex-direction: column; align-items: flex-start; gap: 22px; }
}
@media (max-width: 820px) {
	.rl-calc-hero { padding: 32px 16px 28px; }
	.rl-calc-title { font-size: 32px; }
	.rl-calc-inputs, .rl-calc-output { padding: 28px 16px 34px; }
	.rl-calc-cells, .rl-calc-notes { grid-template-columns: 1fr; }
	.rl-calc-cell-v { font-size: 30px; }
}

/* ============================================================
 * Cart drawer — measured against the prototype: 460px panel on
 * the page ground, white header/foot, freight progress bar.
 * ============================================================ */
.rl-drawer { width: 460px; max-width: 100%; background: var(--bg); box-shadow: -24px 0 60px rgba(20, 24, 8, .24); }
.rl-drawer-overlay { background: rgba(24, 28, 10, .42); }
.rl-drawer-head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 24px 30px; border-bottom: 1px solid rgba(34, 39, 14, .14); background: #fff;
}
.rl-drawer-title { font: 400 10px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--green); }
.rl-drawer-count { font: inherit; background: none; padding: 0; color: inherit; }
.rl-drawer-x { background: none; border: 0; color: var(--olive3); cursor: pointer; padding: 0; line-height: 1; }
.rl-drawer-x:hover { color: var(--green); }

.rl-drawer-freight { padding: 20px 30px; border-bottom: 1px solid rgba(34, 39, 14, .12); background: #fff; }
.rl-drawer-freight[hidden] { display: none; }
.rl-drawer-freight-h {
	display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px;
	font: 400 10px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--olive3);
}
.rl-drawer-freight-track { height: 3px; background: var(--cream2); display: block; }
.rl-drawer-freight-bar { display: block; height: 3px; background: var(--green); transition: width .3s; }

.rl-drawer-lines { padding: 0 30px; }
.rl-drawer-foot { padding: 24px 30px 28px; border-top: 1px solid rgba(34, 39, 14, .14); background: #fff; }
.rl-drawer-row { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; font: 400 13px/1.4 var(--sans); }
.rl-drawer-row span:first-child { color: var(--olive2); }
.rl-drawer-row span:last-child { font-family: var(--mono); color: var(--deep); }
.rl-drawer-row-last { padding-bottom: 16px; }
.rl .rl-drawer-co {
	display: block; width: 100%; text-align: center; background: var(--green); color: #fff;
	border: 0; padding: 18px; cursor: pointer;
	font: 500 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
	transition: background .18s;
}
.rl .rl-drawer-co:hover { background: #333A14; color: #fff; }
.rl-drawer-note { margin: 14px 0 0; text-align: center; font: 400 9.5px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--sage); }

@media (max-width: 520px) {
	.rl-drawer { width: 100%; }
	.rl-drawer-head, .rl-drawer-freight, .rl-drawer-foot { padding-left: 18px; padding-right: 18px; }
	.rl-drawer-lines { padding: 0 18px; }
}

/* ============================================================
 * Header search panel + a narrower Shop dropdown.
 * ============================================================ */
.rl-searchpanel { border-bottom: 1px solid rgba(34, 39, 14, .14); background: #fff; }
.rl-searchpanel[hidden] { display: none; }
.rl-searchpanel-in { max-width: none; margin: 0; padding: 26px 60px 30px; }
/* Hide the UA's own clear affordance; the panel has its own close control. */
.rl-searchbar input::-webkit-search-cancel-button,
.rl-searchbar input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }
.rl-searchbar { display: flex; align-items: center; gap: 14px; border: 1px solid var(--green); background: #FAFAF4; padding: 0 16px; }
.rl-searchbar svg { flex: none; }
.rl-searchbar input {
	flex: 1; min-width: 0; border: 0; background: transparent; padding: 16px 0;
	font: 400 14px/1.4 var(--sans); color: var(--deep); outline: none;
}
.rl-searchbar-x { background: none; border: 0; color: var(--olive3); cursor: pointer; padding: 6px; flex: none; display: flex; }
.rl-searchbar-x:hover { color: var(--green); }

.rl-searchhits { display: flex; flex-direction: column; gap: 1px; background: rgba(34, 39, 14, .1); border: 1px solid rgba(34, 39, 14, .12); border-top: 0; }
.rl-searchhits[hidden] { display: none; }
.rl .rl-searchhit { display: flex; align-items: center; gap: 18px; background: #fff; padding: 14px 16px; color: var(--deep); transition: background .14s; }
.rl .rl-searchhit:hover { background: #FAFAF4; color: var(--deep); }
.rl-searchhit-img { width: 46px; height: 46px; background: var(--cream2); flex: none; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rl-searchhit-img img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.rl-searchhit-b { flex: 1; min-width: 0; }
.rl-searchhit-n { display: block; font: 500 13.5px/1.3 var(--sans); margin-bottom: 3px; }
.rl-searchhit-m { display: block; font: 400 10px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--sage); }
.rl-searchhit-p { font: 400 13px/1 var(--mono); flex: none; color: var(--deep); }
.rl-searchempty { border: 1px solid rgba(34, 39, 14, .12); border-top: 0; background: #fff; padding: 20px 16px; font: 400 12.5px/1.6 var(--sans); color: var(--olive3); }
.rl-searchempty[hidden] { display: none; }
.rl-searchcommon { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.rl-searchcommon-l { font: 400 9.5px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); flex: none; }
.rl-searchchip {
	background: transparent; border: 1px solid rgba(34, 39, 14, .16); color: #5C6534;
	padding: 8px 13px; border-radius: 0; cursor: pointer;
	font: 400 11.5px/1 var(--sans); transition: border-color .16s, color .16s, background .16s;
}
.rl-searchchip:hover { border-color: var(--green); color: var(--green); background: #FAFAF4; }

/* Shop dropdown keeps its original three-column layout; it just no longer
   spans the whole viewport. */
.rl-has-mega { position: relative; }
/* .rl-nav-item.rl-has-mega is position:static, so the panel anchors to the
   header: line its left edge up with the page gutter rather than the nav item. */
.rl-mega { left: 28px; right: auto; top: 100%; width: 1040px; max-width: calc(100vw - 120px); border: 1px solid rgba(34, 39, 14, .14); box-shadow: 0 18px 44px rgba(34, 39, 14, .11); }
.rl-mega-in { max-width: none; margin: 0; padding: 26px 28px 30px; }
.rl-mega-overlay { display: none; }

@media (max-width: 900px) {
	.rl-searchpanel-in { padding: 18px 16px 20px; }
	.rl-mega { position: static; width: auto; max-width: none; box-shadow: none; border: 0; }
	.rl-mega-in { grid-template-columns: 1fr; padding: 8px 0; gap: 10px; }
}

/* About hero reuses the COA hero; only the trust badges are extra. */
.rl-about-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.rl-about-badges span {
	display: inline-flex; align-items: center; gap: 7px;
	border: 1px solid rgba(34, 39, 14, .16); background: #fff; padding: 8px 12px;
	font: 400 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--green);
}

/* ============================================================
 * FAQ rows, to the design's own grid: 56 / 240 / 1fr / 40 with
 * no gap, and the answer on the same grid so it starts exactly
 * under the question instead of 18px to its left.
 * ============================================================ */
.rl-faqsec { padding-top: 0; }
.rl-faqp { border-top: 1px solid rgba(34, 39, 14, .14); }
.rl-faqp-q {
	grid-template-columns: 56px 240px minmax(0, 1fr) 40px;
	gap: 0;
	align-items: center;
	padding: 24px 0;
}
.rl-faqp-n { font-size: 10.5px; }
.rl-faqp-cat { letter-spacing: .14em; padding-right: 16px; }
.rl-faqp-t { font: 400 24px/1.25 var(--grot); }
.rl-faqp-a {
	display: grid;
	grid-template-columns: 56px 240px minmax(0, 1fr) 40px;
	padding: 0 0 26px;
	max-width: none;
	font: 400 13.5px/1.8 var(--sans);
}
.rl-faqp-a > * { grid-column: 3; max-width: 760px; }

@media (max-width: 900px) {
	.rl-faqp-q { grid-template-columns: 30px minmax(0, 1fr) 20px; gap: 12px; }
	.rl-faqp-t { font-size: 19px; }
	.rl-faqp-a { display: block; padding: 0 20px 24px 42px; }
	.rl-faqp-a > * { max-width: none; }
}

/* Footer brand block: mark beside the wordmark, as in the header and design. */
.rl-foot-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.rl-foot-mk { width: 30px; height: 30px; flex: none; color: #C7D18A; }
.rl-foot-wm { font: 400 22px/1 var(--grot); letter-spacing: -.01em; color: #fff; }
.rl-foot-meta { display: flex; flex-direction: column; gap: 5px; margin-top: 18px; font: 400 10px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }

/* ============================================================
 * Footer type, measured off the design: #333A14 ground, ink
 * #E4E6D2, mono labels in #A8B075, 12.5px links at 80% opacity.
 * ============================================================ */
.rl-foot { background: #333A14; color: #E4E6D2; margin-top: 110px; }
.rl-foot-in {
	max-width: none; margin: 0;
	padding: 74px 60px 54px;
	display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.rl-foot-logo { gap: 11px; margin-bottom: 20px; }
.rl-foot-wm { font: 400 25px/1 var(--grot); color: #fff; }
.rl-foot-brand p { font: 400 12.5px/1.75 var(--sans); color: rgba(228, 230, 210, .72); max-width: 330px; margin: 0 0 22px; }
.rl-foot-meta { gap: 0; margin-top: 0; font: 400 10px/2 var(--mono); letter-spacing: .14em; color: #A8B075; }
.rl-foot-col h3 { font: 400 10px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: #A8B075; margin: 0 0 20px; }
.rl-foot-col ul { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.rl-foot-col li { margin: 0; }
.rl .rl-foot-col a { font: 400 12.5px/1.3 var(--sans); color: rgba(228, 230, 210, .8); transition: color .16s; }
.rl .rl-foot-col a:hover { color: #fff; }

.rlh-closing { margin: 0 60px; padding: 44px 0 40px; border-top: 1px solid rgba(228, 230, 210, .14); }
.rlh-closing-in { max-width: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.rlh-closing-eyebrow { font: 400 10px/1 var(--mono); letter-spacing: .22em; text-transform: uppercase; color: #A8B075; margin-bottom: 16px; }
.rlh-closing-body { font: 400 12.5px/1.8 var(--sans); color: rgba(228, 230, 210, .72); margin: 0; }
.rl .rlh-closing-link {
	font: 400 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #C7D18A;
	border-bottom: 1px solid rgba(199, 209, 138, .4); padding-bottom: 3px; align-self: flex-start;
}
.rl .rlh-closing-link:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, .6); }

.rl-foot-bottom { max-width: none; margin: 0; padding: 26px 60px 34px; }
.rl-foot-legal { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.rl-foot-legal span,
.rl .rl-foot-legal a { font: 400 10px/1.6 var(--mono); letter-spacing: .13em; text-transform: uppercase; color: rgba(228, 230, 210, .5); }
.rl .rl-foot-legal a:hover { color: #fff; }

@media (max-width: 1100px) {
	.rl-foot-in { grid-template-columns: 1fr 1fr; gap: 36px; padding: 48px 28px 40px; }
	.rlh-closing { margin: 0 28px; }
	.rlh-closing-in { grid-template-columns: 1fr; gap: 26px; }
	.rl-foot-bottom { padding: 22px 28px 28px; }
}
@media (max-width: 700px) {
	.rl-foot-in { grid-template-columns: 1fr; padding: 40px 16px 32px; }
	.rlh-closing { margin: 0 16px; }
	.rl-foot-bottom { padding: 20px 16px 26px; }
	.rl-foot-legal { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ============================================================
 * One page frame. The header, compliance strip and the sections
 * that were rebuilt full-bleed disagreed by a few pixels, and the
 * pages still on the centred wrap disagreed by more. Everything
 * now runs edge to edge on the design's 60px gutter, so content
 * lines up with the logo on every page.
 * ============================================================ */
.rl-bar-in,
.rl-head-in,
.rl-wrapc,
.rl-sec,
.rl-hero-in,
.rl-hero-stats,
.rl-shop-head-in,
.rl-shop-main,
.rl-standard-in,
.rl-lab-hero-in,
.rl-hero2,
.rl-reconband-in,
.rl-trust-in,
.rl-coa-hero-in,
.rl-phero-in,
.rl-pdp-detail {
	max-width: none;
	margin-inline: 0;
	padding-left: 60px;
	padding-right: 60px;
}
.rl-searchpanel-in { padding-left: 60px; padding-right: 60px; }
.rl-mega { left: 60px; }

@media (max-width: 1100px) {
	.rl-bar-in, .rl-head-in, .rl-wrapc, .rl-sec, .rl-hero-in, .rl-hero-stats,
	.rl-shop-head-in, .rl-shop-main, .rl-standard-in, .rl-lab-hero-in, .rl-hero2,
	.rl-reconband-in, .rl-trust-in, .rl-coa-hero-in, .rl-phero-in, .rl-pdp-detail,
	.rl-searchpanel-in { padding-left: 28px; padding-right: 28px; }
	.rl-mega { left: 28px; }
}
@media (max-width: 820px) {
	.rl-bar-in, .rl-head-in, .rl-wrapc, .rl-sec, .rl-hero-in, .rl-hero-stats,
	.rl-shop-head-in, .rl-shop-main, .rl-standard-in, .rl-lab-hero-in, .rl-hero2,
	.rl-reconband-in, .rl-trust-in, .rl-coa-hero-in, .rl-phero-in, .rl-pdp-detail,
	.rl-searchpanel-in { padding-left: 16px; padding-right: 16px; }
	.rl-mega { left: 16px; }
}

/* ============================================================
 * Responsive, stated last so nothing appended earlier wins.
 * The 50/50 product grid was added after the collapse rules and
 * kept two columns at every width, pushing the buy column off
 * the right edge on phones.
 * ============================================================ */
@media (max-width: 1100px) {
	.rl-pdp { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-gallery { border-right: 0; border-bottom: 1px solid rgba(34, 39, 14, .12); }
	.rl-pdp-buy-wrap { padding: 34px 28px 40px; }
	.rl-pdp-frame { min-height: 380px; }
	.rl-pdp-mainimg { max-height: 320px; }
	.rl-pdp-panel-overview.is-on,
	.rl-pdp-panel-shipping.is-on { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.rl-pdp-coapanel { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-rvs-stats, .rl-pdp-rvs-stats.is-2col { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-rvs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-pdp-rel .rl-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-calc { grid-template-columns: minmax(0, 1fr); }
	.rl-foot-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rlh-closing-in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 820px) {
	.rl-pdp-buy-wrap { padding: 28px 16px 34px; }
	.rl-pdp-title { font-size: 30px; }
	.rl-pdp-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-flow: row; grid-auto-columns: auto; width: auto;
	}
	.rl-pdp-coagrid,
	.rl-pdp-coagrid[data-cells="3"],
	.rl-pdp-coagrid[data-cells="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-pdp-cartrow { flex-wrap: wrap; }
	.rl-pdp-order { flex: 1 1 100%; }
	.rl .rl-pdp-coabtn2 { flex: 1 1 100%; }
	.rl-pdp-rvs-grid,
	.rl-pdp-rel .rl-card-grid { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-storgrid { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-tabbar { gap: 18px; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
	.rl-pdp-tab { white-space: nowrap; font-size: 10.5px; letter-spacing: .1em; }
	.rl-calc-cells, .rl-calc-notes { grid-template-columns: minmax(0, 1fr); }
	.rl-foot-in { grid-template-columns: minmax(0, 1fr); }
	.rl-searchhit-p { display: none; }
}
/* Nothing may draw a horizontal scrollbar on a phone. */
@media (max-width: 820px) {
	html, body { overflow-x: hidden; }
}
/* Wide data rows scroll inside their own box rather than being clipped by the
   page's overflow guard: the lot table needs ~403px and was losing its last
   column on a phone. */
@media (max-width: 820px) {
	.rl-lab-table, .rl-coa-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
/* Tablet portrait: the phone rules above collapse card grids to one column at
   820px, which wastes a 768px screen. Two columns down to 640px. */
@media (min-width: 641px) and (max-width: 820px) {
	.rl-pdp-rvs-grid,
	.rl-pdp-rel .rl-card-grid,
	.rl-card-grid-3,
	.rl-card-grid-4,
	.rl-pdp-storgrid,
	.rl-calc-cells,
	.rl-calc-notes,
	.rl-foot-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Phone: footer columns two to a line, brand across the top. */
@media (max-width: 820px) {
	.rl-foot-in { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
	.rl-foot-brand { grid-column: 1 / -1; }
}

/* ============================================================
 * Page width cap. Containers keep the 60px gutter but stop
 * growing past the wrap token, so line length stays readable on
 * wide monitors. Full-bleed bands (footer, calculator hero) keep
 * their background edge to edge and cap their inner content.
 * ============================================================ */
.rl-bar-in,
.rl-head-in,
.rl-wrapc,
.rl-sec,
.rl-hero-in,
.rl-hero-stats,
.rl-shop-head-in,
.rl-shop-main,
.rl-standard-in,
.rl-lab-hero-in,
.rl-hero2,
.rl-reconband-in,
.rl-trust-in,
.rl-coa-hero-in,
.rl-phero-in,
.rl-pdp-detail,
.rl-pdp-crumbs-wrap,
.rl-pdp,
.rl-pdp-tabsec,
.rl-pdp-rvs,
.rl-pdp-rel,
.rl-searchpanel-in,
.rl-foot-in,
.rl-foot-bottom,
.rlh-closing,
.rl-calc-hero-in,
.rl-calc {
	max-width: var(--wrap);
	margin-inline: auto;
}
/* The olive hero band stays full width; only its content is capped. */
.rl-calc-hero { padding-left: 0; padding-right: 0; }
.rl-calc-hero-in { padding-left: 60px; padding-right: 60px; }
/* .rlh-closing is inset by the footer's own gutter, so it caps to the
   wrap minus that inset to stay flush with the columns above it. */
.rlh-closing { margin-inline: auto; }

@media (max-width: 1100px) {
	.rl-calc-hero-in { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 820px) {
	.rl-calc-hero-in { padding-left: 16px; padding-right: 16px; }
}
/* Tablet portrait gutter: 16px is a phone step, too tight for a 768 screen. */
@media (min-width: 641px) and (max-width: 820px) {
	.rl-bar-in, .rl-head-in, .rl-wrapc, .rl-sec, .rl-hero-in, .rl-hero-stats,
	.rl-shop-head-in, .rl-shop-main, .rl-standard-in, .rl-lab-hero-in, .rl-hero2,
	.rl-reconband-in, .rl-trust-in, .rl-coa-hero-in, .rl-phero-in, .rl-pdp-detail,
	.rl-searchpanel-in, .rl-pdp-crumbs-wrap, .rl-pdp-tabsec, .rl-pdp-rvs, .rl-pdp-rel,
	.rl-calc-hero-in { padding-left: 28px; padding-right: 28px; }
	.rl-pdp-buy-wrap { padding: 34px 28px 40px; }
	.rl-calc-inputs, .rl-calc-output { padding-left: 28px; padding-right: 28px; }
	.rl-foot-in, .rl-foot-bottom { padding-left: 28px; padding-right: 28px; }
	.rlh-closing { margin-left: 28px; margin-right: 28px; }
	.rl-mega { left: 28px; }
}
/* Closing band: the width cap replaced its 60px inset with auto margins, so
   its rule and copy ran to the container edge while the footer columns above
   stayed inset. It now carries the same max-width and gutter as .rl-foot-in,
   with the hairline on the inner grid so it starts where the columns do.
   Insetting by max-width alone does not work below 1280, where the wrap
   token's own floor makes the cap inert. */
.rlh-closing { max-width: var(--wrap); margin-inline: auto; padding: 0 60px; border-top: 0; }
.rlh-closing-in { border-top: 1px solid rgba(228, 230, 210, .14); padding: 44px 0 40px; }
@media (max-width: 1100px) {
	.rlh-closing { padding-left: 28px; padding-right: 28px; }
}
@media (max-width: 640px) {
	.rlh-closing { padding-left: 16px; padding-right: 16px; }
	.rlh-closing-in { padding: 34px 0 30px; }
}
/* Shop panel opens under the Shop button, not at the page gutter. store.js
   measures the button and clamps the offset so the panel stays on screen. */
:root { --mega-gutter: 16px; }
.rl-nav .rl-nav-item.rl-has-mega { position: static; }
.rl-mega { left: var(--mega-left, 28px); }
@media (max-width: 900px) {
	.rl-mega { left: 0; }
}

/* ============================================================
 * Checkout, to the design: full-width header rule, form against
 * a sticky 460px summary rail. The markup already had the grid;
 * it was capped at 1180px in one narrow centred column.
 * ============================================================ */
.rl-co { max-width: none; margin: 0; padding: 0; }
.rl-co-head {
	max-width: var(--wrap); margin-inline: auto;
	padding: 44px 60px 30px;
	border-bottom: 1px solid rgba(34, 39, 14, .12);
	align-items: flex-end;
}
.rl-co-title { font: 400 52px/1 var(--grot); letter-spacing: -.022em; color: var(--deep); }
.rl .rl-co-back { font: 400 11.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--green); border-bottom: 1px solid rgba(73, 83, 30, .35); padding-bottom: 3px; }
.rl-co-grid {
	max-width: var(--wrap); margin-inline: auto;
	grid-template-columns: minmax(0, 1fr) 460px;
	gap: 0;
	align-items: start;
	min-height: 640px;
}
.rl-co-form { padding: 44px 60px 60px; }
.rl-co-summary {
	position: sticky; top: 0;
	padding: 44px 44px 60px;
	max-height: 100vh; overflow-y: auto;
	border-left: 1px solid rgba(34, 39, 14, .12);
	background: #fff;
}
.rl-co-block { margin-bottom: 24px; }
.rl-co-row2 { gap: 14px; }
.rl .rl-co-place {
	width: 100%; margin-top: 28px; padding: 19px;
	background: var(--green); border-color: var(--green); color: #fff; border-radius: 0;
	font: 500 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
}
.rl .rl-co-place:hover { background: #333A14; border-color: #333A14; }

@media (max-width: 1100px) {
	.rl-co-head { padding: 32px 28px 22px; }
	.rl-co-title { font-size: 38px; }
	.rl-co-grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.rl-co-form { padding: 28px 28px 20px; }
	.rl-co-summary { position: static; max-height: none; border-left: 0; border-top: 1px solid rgba(34, 39, 14, .12); padding: 28px 28px 40px; }
}
@media (max-width: 640px) {
	.rl-co-head { padding: 24px 16px 18px; }
	.rl-co-title { font-size: 30px; }
	.rl-co-form { padding: 22px 16px 16px; }
	.rl-co-summary { padding: 22px 16px 32px; }
	.rl-co-row2 { grid-template-columns: minmax(0, 1fr); }
}
/* Grid items default to min-width:auto, so the phone group's fixed 112px
   country select pushed its column wide and collapsed the email field beside
   it to a few characters. */
.rl-co-row2 > * { min-width: 0; }
.rl-co-row2 input,
.rl-co-row2 select,
.rl-co-row2 textarea { width: 100%; min-width: 0; }
.rl-phone { min-width: 0; }
@media (max-width: 520px) {
	.rl-phone-cc { flex: 0 0 92px; width: 92px; }
}

/* ============================================================
 * Account: same frame and type as the rest of the site. It sat
 * on its own 1180px container, so its content started ~30px
 * inside every other page's left edge.
 * ============================================================ */
.rl-acct, .rl-acct-dash, .rl-acct-auth {
	max-width: var(--wrap);
	margin-inline: auto;
	padding-left: 60px;
	padding-right: 60px;
}
.rl-acct-h1 { font: 400 44px/1.04 var(--grot); letter-spacing: -.02em; color: var(--deep); }
.rl-acct-tab { font: 400 13px/1.3 var(--sans); }
.rl-acct-tab.is-on { font-weight: 500; }
/* Buttons follow the storefront: uppercase, tracked, sharp. */
.rl .rl-acct .rl-btn-primary,
.rl .rl-acct-empty .rl-btn,
.rl .rl-acct-logout {
	border-radius: 0;
	font: 500 11.5px/1 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	padding: 15px 26px;
}
.rl .rl-acct-logout { background: transparent; border: 1px solid rgba(34, 39, 14, .2); color: var(--green); }
.rl .rl-acct-logout:hover { border-color: var(--green); background: #fff; }

@media (max-width: 1100px) {
	.rl-acct, .rl-acct-dash, .rl-acct-auth { padding-left: 28px; padding-right: 28px; }
	.rl-acct-h1 { font-size: 34px; }
}
@media (max-width: 640px) {
	.rl-acct, .rl-acct-dash, .rl-acct-auth { padding-left: 16px; padding-right: 16px; }
	.rl-acct-h1 { font-size: 28px; }
}
/* The account app sits inside a legacy .rgl-wrap capped at 1100px, which
   stacked with the frame above and pushed content 155px past the logo. The
   outer .rl-acct carries the gutter; this wrapper stops constraining it. */
.rl-apppage .rgl-wrap { max-width: none; padding-left: 0; padding-right: 0; }

/* ============================================================
 * Account dashboard, matched to the design: carded sidebar with
 * a live figure per area, a support card beneath it, stat tiles
 * with a line of context each, and a recent-orders table.
 * ============================================================ */
.rl-acct-body { grid-template-columns: 264px minmax(0, 1fr); gap: 0; border-top: 1px solid rgba(34, 39, 14, .12); }
.rl-acct-side { border-right: 1px solid rgba(34, 39, 14, .12); padding: 30px 26px 40px; background: #fff; }
.rl-acct-sidelabel { font: 400 10px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--olive3); margin-bottom: 14px; }
.rl-acct-tabs { position: static; display: block; border: 1px solid rgba(34, 39, 14, .14); padding: 16px 0 0; }
.rl-acct-tabs .rl-acct-sidelabel { padding: 0 16px; }
.rl-acct-tab {
	display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
	border: 0; border-top: 1px solid rgba(34, 39, 14, .1);
	padding: 14px 16px; color: var(--deep);
}
.rl-acct-tab:hover { background: #FAFAF4; color: var(--green); }
.rl-acct-tab.is-on { background: var(--green); color: #fff; border-left-color: transparent; }
.rl-acct-tabmeta { font: 400 10px/1 var(--mono); letter-spacing: .06em; color: var(--sage); flex: none; }
.rl-acct-tab.is-on .rl-acct-tabmeta { color: rgba(255, 255, 255, .7); }
.rl-acct-support { border: 1px solid rgba(34, 39, 14, .14); padding: 18px 16px 20px; margin-top: 20px; }
.rl-acct-support p { margin: 0 0 14px; font: 400 12px/1.65 var(--sans); color: var(--olive2); }
.rl .rl-acct-supportlink { font: 400 11px/1 var(--sans); letter-spacing: .1em; color: var(--green); border-bottom: 1px solid rgba(73, 83, 30, .35); padding-bottom: 3px; }
.rl-acct-panel { padding: 30px 0 60px 34px; }
.rl-acct-panelh { margin-bottom: 16px; }

.rl-acct-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(34, 39, 14, .12); border: 1px solid rgba(34, 39, 14, .12); margin-bottom: 20px; }
.rl-acct-tile { background: #fff; padding: 20px 22px 22px; }
.rl-acct-tile-l { font: 400 9px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); margin-bottom: 12px; }
.rl-acct-tile-v { font: 400 26px/1 var(--mono); color: var(--deep); margin-bottom: 10px; }
.rl-acct-tile-s { font: 400 11.5px/1.5 var(--sans); color: var(--olive2); }

.rl-acct-recent { border: 1px solid rgba(34, 39, 14, .14); background: #fff; }
.rl-acct-recent-h { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-acct-recent-h .rl-acct-sidelabel { margin-bottom: 0; }
.rl-acct-all { background: none; border: 0; cursor: pointer; font: 400 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.rl-acct-ordrow {
	width: 100%; display: grid; grid-template-columns: 96px minmax(0, 1fr) 110px 100px 92px;
	align-items: center; gap: 14px; text-align: left; cursor: pointer;
	background: none; border: 0; border-top: 1px solid rgba(34, 39, 14, .08); padding: 15px 20px;
}
.rl-acct-ordrow:first-of-type { border-top: 0; }
.rl-acct-ordrow:hover { background: #FAFAF4; }
.rl-acct-ordnum { font: 400 11px/1 var(--mono); color: var(--olive2); }
.rl-acct-orditems { font: 400 12.5px/1.4 var(--sans); color: var(--deep); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rl-acct-orddate { font: 400 10.5px/1 var(--mono); color: var(--sage); }
.rl-acct-ordtot { font: 400 12.5px/1 var(--mono); color: var(--deep); }

@media (max-width: 1100px) {
	.rl-acct-body { grid-template-columns: minmax(0, 1fr); }
	.rl-acct-side { border-right: 0; border-bottom: 1px solid rgba(34, 39, 14, .12); padding: 24px 0 26px; }
	.rl-acct-panel { padding: 26px 0 48px; }
	.rl-acct-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-acct-ordrow { grid-template-columns: 88px minmax(0, 1fr) 88px; row-gap: 6px; }
	.rl-acct-orddate, .rl-acct-ordrow .rl-badge { grid-column: span 1; }
}
@media (max-width: 640px) {
	.rl-acct-tiles { grid-template-columns: minmax(0, 1fr); }
	.rl-acct-ordrow { grid-template-columns: minmax(0, 1fr) auto; }
}
.rl-acct-ordrow .rl-badge { white-space: nowrap; justify-self: end; }

/* ---- account: store credit ---- */
.rl-cred-banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; background: var(--green); color: #fff; padding: 30px 34px 34px; margin-bottom: 20px; }
.rl-cred-l { font: 400 10px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .7); margin-bottom: 14px; }
.rl-cred-v { font: 400 46px/1 var(--grot); color: #fff; }
.rl-cred-note { margin: 0; font: 400 12.5px/1.7 var(--sans); color: rgba(255, 255, 255, .82); }
.rl-cred-tbl { border: 1px solid rgba(34, 39, 14, .14); background: #fff; }
.rl-cred-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) 130px 110px; gap: 16px; align-items: center; padding: 14px 20px; border-top: 1px solid rgba(34, 39, 14, .08); font: 400 12.5px/1.4 var(--sans); }
.rl-cred-row:first-child { border-top: 0; }
.rl-cred-head { font: 400 9.5px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-cred-row > span:first-child { font-family: var(--mono); font-size: 10.5px; color: var(--sage); }
.rl-cred-ref { font-family: var(--mono); font-size: 10.5px; color: var(--olive3); }
.rl-cred-row > span:last-child { font-family: var(--mono); text-align: right; }
.rl-pos { color: var(--green); }
.rl-neg { color: #8C5A3C; }

/* ---- account: reward points ---- */
.rl-pts-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(34, 39, 14, .12); border: 1px solid rgba(34, 39, 14, .12); margin-bottom: 20px; }
.rl-pts-tile { background: #fff; padding: 22px 24px 24px; }
.rl-pts-tile.is-lead { background: var(--green); }
.rl-pts-l { font: 400 9px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); margin-bottom: 12px; }
.rl-pts-tile.is-lead .rl-pts-l { color: rgba(255, 255, 255, .7); }
.rl-pts-v { font: 400 30px/1 var(--mono); color: var(--deep); margin-bottom: 8px; }
.rl-pts-tile.is-lead .rl-pts-v { color: #fff; }
.rl-pts-s { font: 400 11.5px/1.5 var(--sans); color: var(--olive2); }
.rl-pts-tile.is-lead .rl-pts-s { color: rgba(255, 255, 255, .8); }
.rl-pts-ref { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 20px 22px 22px; margin-bottom: 20px; }
.rl-pts-refhead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.rl-pts-refhead .rl-acct-sidelabel { margin-bottom: 14px; }
.rl-pts-refhint { font: 400 11.5px/1.4 var(--sans); color: var(--olive3); }
.rl-pts-refrow { display: flex; gap: 12px; }
.rl-pts-refrow input { flex: 1; min-width: 0; border: 1px solid rgba(34, 39, 14, .16); background: #FAFAF4; border-radius: 0; padding: 13px 14px; font: 400 12.5px/1 var(--mono); color: var(--deep); }
.rl .rl-pts-refrow .rl-btn { flex: none; border-radius: 0; font: 500 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 13px 22px; }
.rl-pts-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.rl-pts-tbl { border: 1px solid rgba(34, 39, 14, .14); background: #fff; }
.rl-pts-row { display: grid; grid-template-columns: 104px minmax(0, 1fr) 74px; gap: 14px; align-items: center; padding: 13px 20px; border-top: 1px solid rgba(34, 39, 14, .08); }
.rl-pts-row:first-child { border-top: 0; }
.rl-pts-head { font: 400 9.5px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-pts-row > span:first-child { font: 400 10.5px/1.4 var(--mono); color: var(--sage); }
.rl-pts-row b { display: block; font: 400 12.5px/1.4 var(--sans); color: var(--deep); }
.rl-pts-row em { display: block; font-style: normal; font: 400 11px/1.4 var(--sans); color: var(--olive3); margin-top: 2px; }
.rl-pts-row > span:last-child { font-family: var(--mono); font-size: 12.5px; text-align: right; }
.rl-pts-ways { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 20px 22px 24px; }
.rl-pts-ways ul { margin: 0; padding: 0; list-style: none; }
.rl-pts-ways li { position: relative; padding-left: 16px; margin-bottom: 14px; font: 400 12px/1.6 var(--sans); color: var(--olive2); }
.rl-pts-ways li::before { content: ""; position: absolute; left: 0; top: 8px; width: 4px; height: 4px; background: var(--sage); }
.rl-pts-ways strong { color: var(--deep); font-weight: 500; }

@media (max-width: 900px) {
	.rl-cred-banner { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.rl-pts-tiles { grid-template-columns: minmax(0, 1fr); }
	.rl-pts-grid { grid-template-columns: minmax(0, 1fr); }
	.rl-cred-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; }
	.rl-cred-row.rl-cred-head { display: none; }
	.rl-pts-refhead { flex-direction: column; gap: 4px; }
	.rl-pts-refrow { flex-direction: column; }
}

/* ---- account: cold-chain stage track ---- */
.rl-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; }
.rl-track-bar { display: block; height: 2px; background: rgba(34, 39, 14, .14); margin-bottom: 10px; }
.rl-track-step.is-done .rl-track-bar { background: var(--green); }
.rl-track-l { font: 400 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sage); }
.rl-track-step.is-done .rl-track-l { color: var(--green); }

/* ---- account: active consignment ---- */
.rl-consign { border: 1px solid rgba(34, 39, 14, .14); background: #fff; margin-bottom: 20px; }
.rl-consign-h { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 22px; border-bottom: 1px solid rgba(34, 39, 14, .12); }
.rl-consign-h .rl-acct-sidelabel { margin-bottom: 0; }
.rl-consign-b { display: grid; grid-template-columns: minmax(0, 1fr) 260px; }
.rl-consign-b > div:first-child { padding: 20px 22px 24px; }
.rl-consign-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.rl-consign-meta i { display: block; font-style: normal; font: 400 9px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); margin-bottom: 7px; }
.rl-consign-meta div { font: 400 12.5px/1.5 var(--sans); color: var(--deep); }
.rl-consign-val { border-left: 1px solid rgba(34, 39, 14, .12); padding: 20px 22px 24px; display: flex; flex-direction: column; justify-content: center; }
.rl-consign-v { font: 400 26px/1 var(--mono); color: var(--deep); margin-bottom: 16px; }
.rl .rl-consign-btn { width: 100%; border-radius: 0; font: 500 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; padding: 14px; }

/* ---- account: order cards ---- */
.rl-ocard-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.rl-ocard-head .rl-acct-sidelabel { margin-bottom: 0; }
.rl-ocard-showing { font: 400 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sage); }
.rl-ocard { border: 1px solid rgba(34, 39, 14, .14); background: #fff; margin-bottom: 18px; }
.rl-ocard-h { display: grid; grid-template-columns: 96px minmax(0, 1fr) 104px 100px 96px; gap: 14px; align-items: center; padding: 14px 22px; border-bottom: 1px solid rgba(34, 39, 14, .12); background: #FAFAF4; }
.rl-ocard-num { font: 400 11px/1 var(--mono); color: var(--deep); }
.rl-ocard-dest { font: 400 10px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--sage); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rl-ocard-date { font: 400 10.5px/1 var(--mono); color: var(--sage); }
.rl-ocard-tot { font: 400 12.5px/1 var(--mono); color: var(--deep); }
.rl-ocard-h .rl-badge { justify-self: end; white-space: nowrap; }
.rl-ocard-items { padding: 6px 22px 0; }
.rl-ocard-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) 110px 92px 96px 64px; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(34, 39, 14, .08); }
.rl-ocard-item:last-child { border-bottom: 0; }
.rl-ocard-thumb { width: 52px; height: 52px; background: var(--cream2); display: grid; place-items: center; overflow: hidden; }
.rl-ocard-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rl-ocard-name b { display: block; font: 400 13px/1.3 var(--sans); color: var(--deep); }
.rl-ocard-name em { display: block; font-style: normal; font: 400 10.5px/1.4 var(--mono); letter-spacing: .08em; color: var(--sage); margin-top: 4px; }
.rl-ocard-f { font: 400 12px/1.3 var(--mono); color: var(--deep); }
.rl-ocard-f i { display: block; font-style: normal; font: 400 9px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sage); margin-bottom: 6px; }
.rl .rl-ocard-coa { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(34, 39, 14, .2); color: var(--green); padding: 9px 0; font: 400 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.rl .rl-ocard-coa:hover { border-color: var(--green); background: #FAFAF4; }
.rl-ocard .rl-track { padding: 0 22px; margin-top: 6px; }
.rl-ocard-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px 18px; margin-top: 16px; border-top: 1px solid rgba(34, 39, 14, .1); font: 400 11.5px/1.4 var(--sans); color: var(--olive2); }
.rl-ocard-acts { display: flex; gap: 10px; flex: none; }
.rl-ocard-btn { background: #fff; border: 1px solid rgba(34, 39, 14, .2); color: var(--green); padding: 11px 20px; cursor: pointer; font: 400 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.rl-ocard-btn:hover { border-color: var(--green); }
.rl-ocard-btn.is-fill { background: var(--green); border-color: var(--green); color: #fff; }
.rl-ocard-btn.is-fill:hover { background: #333A14; }
.rl-badge-transit { background: var(--line); color: var(--green); }

@media (max-width: 1000px) {
	.rl-consign-b { grid-template-columns: minmax(0, 1fr); }
	.rl-consign-val { border-left: 0; border-top: 1px solid rgba(34, 39, 14, .12); }
	.rl-ocard-h { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
	.rl-ocard-dest { display: none; }
	.rl-ocard-item { grid-template-columns: 44px minmax(0, 1fr) 84px; row-gap: 8px; }
	.rl-ocard-item .rl-ocard-f:nth-of-type(3) { display: none; }
	.rl-consign-meta { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.rl-ocard-foot { flex-direction: column; align-items: flex-start; }
}

/* ---- account: saved addresses ---- */
.rl-addr-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 26px; }
.rl-addr-card { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 20px 22px 22px; }
.rl-addr-card-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.rl-addr-card-h .rl-acct-sidelabel { margin-bottom: 16px; }
.rl-addr-edit { background: none; border: 0; cursor: pointer; font: 400 10px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--green); border-bottom: 1px solid rgba(73, 83, 30, .35); padding-bottom: 2px; }
.rl-addr-name { font: 500 13.5px/1.4 var(--sans); color: var(--deep); margin-bottom: 8px; }
.rl-addr-lines { font: 400 12.5px/1.7 var(--sans); color: var(--olive2); padding-bottom: 14px; border-bottom: 1px solid rgba(34, 39, 14, .1); }
.rl-addr-phone { font: 400 11.5px/1 var(--mono); color: var(--olive3); margin-top: 14px; }
.rl-addr-form, .rl-det-card { border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 24px 26px 10px; }
.rl-addr-row3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.rl-addr-row3 > *, .rl-co-row2 > * { min-width: 0; }
.rl-addr-save { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid rgba(34, 39, 14, .14); background: #fff; padding: 18px 26px; margin-top: 18px; }
.rl-addr-same { display: flex; align-items: center; gap: 10px; font: 400 12.5px/1.4 var(--sans); color: var(--olive2); cursor: pointer; }
.rl .rl-addr-btn { flex: none; border-radius: 0; font: 500 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; padding: 15px 28px; }

/* ---- account: details + gateway agreement ---- */
.rl-det-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
.rl-gw { border: 1px solid rgba(34, 39, 14, .14); background: #FAFAF4; padding: 20px 22px 24px; }
.rl-gw-h { display: flex; align-items: center; gap: 9px; }
.rl-gw-h .rl-acct-sidelabel { margin-bottom: 0; }
.rl-gw .rl-dot { width: 6px; height: 6px; animation: none; flex: none; }
.rl-gw p { margin: 16px 0 18px; font: 400 12px/1.7 var(--sans); color: var(--olive2); }
.rl-gw-meta { border-top: 1px solid rgba(34, 39, 14, .12); padding-top: 14px; font: 400 9.5px/1.9 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--sage); }
.rl-det-pass { margin-top: 20px; }
.rl-det-pass .rl-acct-hint { margin: 0 0 18px; font: 400 12px/1.6 var(--sans); color: var(--olive2); }
.rl-det-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }

@media (max-width: 1000px) {
	.rl-addr-cards { grid-template-columns: minmax(0, 1fr); }
	.rl-det-grid { grid-template-columns: minmax(0, 1fr); }
	.rl-addr-row3 { grid-template-columns: minmax(0, 1fr); }
	.rl-addr-save { flex-direction: column; align-items: stretch; }
	.rl-det-actions { flex-direction: column-reverse; }
}
/* A single saved address should fill the column, not sit in a half-width slot. */
.rl-addr-cards { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.rl-acct-form { max-width: none; }

/* ---- PDP review form, matched to the design ---- */
.rl-pdp-rvs-form .ucro-review-form { padding: 0; border: 1px solid var(--green); }
.rl-rvform-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 30px 34px 24px; }
.rl-rvform-eyebrow { font: 400 10px/1 var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--olive3); margin-bottom: 10px; }
.rl-rvform-name { font: 400 30px/1.1 var(--grot); color: var(--deep); }
.rl-rvform-chip { display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(34, 39, 14, .16); background: #FAFAF4; padding: 9px 14px; font: 400 10px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--green); flex: none; }
.rl-rvform-chip .rl-dot { width: 6px; height: 6px; animation: none; }
.rl-pdp-rvs-form .ucro-review-form__title { display: none; }
.rl-pdp-rvs-form .ucro-review-form__rating { display: flex; align-items: center; gap: 8px; padding: 0 34px 24px; margin: 0 34px 24px; border-bottom: 1px solid rgba(34, 39, 14, .12); position: relative; padding-left: 0; margin-left: 34px; margin-right: 34px; }
.rl-pdp-rvs-form .ucro-review-form__rating::before { content: "Rating"; font: 400 10px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--olive3); margin-right: 10px; }
.rl-pdp-rvs-form .ucro-star-btn svg { width: 26px; height: 26px; }
.rl-pdp-rvs-form .ucro-review-form__row,
.rl-pdp-rvs-form .ucro-phone,
.rl-pdp-rvs-form .ucro-review-form textarea,
.rl-pdp-rvs-form .ucro-review-form__note,
.rl-pdp-rvs-form .ucro-review-form__actions { margin-left: 34px; margin-right: 34px; }
.rl-pdp-rvs-form .ucro-review-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.rl-pdp-rvs-form .ucro-review-form__row > * { min-width: 0; }
.rl-pdp-rvs-form .ucro-review-form textarea { display: block; width: calc(100% - 68px); min-height: 104px; margin-bottom: 16px; }
.rl-pdp-rvs-form .ucro-review-form__note { font: 400 11.5px/1.6 var(--sans); color: var(--olive3); margin-bottom: 18px; }
.rl-pdp-rvs-form .ucro-review-form__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0 26px; border-top: 1px solid rgba(34, 39, 14, .12); }
.rl-pdp-rvs-form .ucro-review-form__submit { order: 2; }
.rl-rvform-note { font: 400 11.5px/1.6 var(--sans); color: var(--olive3); max-width: 420px; margin: 0; }
@media (max-width: 760px) {
	.rl-rvform-h { flex-direction: column; padding: 22px 18px 18px; }
	.rl-pdp-rvs-form .ucro-review-form__row { grid-template-columns: minmax(0, 1fr); }
	.rl-pdp-rvs-form .ucro-review-form__row,
	.rl-pdp-rvs-form .ucro-phone,
	.rl-pdp-rvs-form .ucro-review-form textarea,
	.rl-pdp-rvs-form .ucro-review-form__note,
	.rl-pdp-rvs-form .ucro-review-form__rating,
	.rl-pdp-rvs-form .ucro-review-form__actions { margin-left: 18px; margin-right: 18px; }
	.rl-pdp-rvs-form .ucro-review-form textarea { width: calc(100% - 36px); }
}
/* Logged-in branch renders its label and readonly email outside the row grid,
   so they were escaping the form's gutter. */
.rl-pdp-rvs-form .ucro-review-form__lbl,
.rl-pdp-rvs-form .ucro-review-form > input[type="email"] { display: block; margin-left: 34px; margin-right: 34px; }
.rl-pdp-rvs-form .ucro-review-form > input[type="email"] { width: calc(100% - 68px); margin-bottom: 14px; }
.rl-pdp-rvs-form .ucro-review-form__lbl { font: 400 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--sage); margin-bottom: 8px; }
@media (max-width: 760px) {
	.rl-pdp-rvs-form .ucro-review-form__lbl,
	.rl-pdp-rvs-form .ucro-review-form > input[type="email"] { margin-left: 18px; margin-right: 18px; }
	.rl-pdp-rvs-form .ucro-review-form > input[type="email"] { width: calc(100% - 36px); }
}
.rl-rvform-extra .ucro-review-form__lbl i { font-style: normal; color: #C7B98A; }
.rl-rvform-extra input { width: 100%; }
.rl-pdp-rvs-form .ucro-review-form__actions .rl-rvform-cancel { order: 1; }
.rl-rvform-rateword { font: 400 11.5px/1 var(--mono); letter-spacing: .06em; color: var(--green); margin-left: 8px; }
/* ---- review form: attach media ---- */
.rl-rvform-media { display: flex; align-items: center; gap: 14px; border: 1px dashed rgba(34, 39, 14, .24); background: #FAFAF4; padding: 16px 18px; margin: 0 34px 16px; }
.rl-rvform-media-ic { color: var(--green); flex: none; display: inline-flex; }
.rl-rvform-media-b { flex: 1; min-width: 0; }
.rl-rvform-media-b b { display: block; font: 500 12.5px/1.4 var(--sans); color: var(--deep); }
.rl-rvform-media-b b i { font-style: normal; font: 400 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: #C7B98A; margin-left: 6px; }
.rl-rvform-media-b em { display: block; font-style: normal; font: 400 11.5px/1.5 var(--sans); color: var(--olive3); margin-top: 3px; }
.rl-rvform-media-btn { flex: none; cursor: pointer; border: 1px solid rgba(34, 39, 14, .2); background: #fff; color: var(--green); padding: 11px 18px; font: 400 9.5px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.rl-rvform-media-btn:hover { border-color: var(--green); }
@media (max-width: 760px) { .rl-rvform-media { margin-left: 18px; margin-right: 18px; flex-wrap: wrap; } }
/* The actions row is space-between across note, cancel and submit, which pushed
   the two buttons apart. Note stays left; the buttons sit together on the right. */
.rl-pdp-rvs-form .ucro-review-form__actions { justify-content: flex-start; gap: 10px; }
.rl-pdp-rvs-form .ucro-review-form__actions .rl-rvform-cancel { margin-left: auto; }
.rl-pdp-rvs-form .ucro-review-form__status { order: 0; flex: 0 1 auto; }
/* Cancel inherited the compact order-card button metrics, so it sat 8px shorter
   than submit in a different face. Both now share the submit's box and type. */
.rl-pdp-rvs-form .ucro-review-form__actions .rl-rvform-cancel {
	padding: 15px 32px;
	font: 500 11.5px/1 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	border: 1px solid rgba(34, 39, 14, .2);
	background: #fff;
	color: var(--green);
}
.rl-pdp-rvs-form .ucro-review-form__actions .rl-rvform-cancel:hover { border-color: var(--green); background: #FAFAF4; }
/* Cancel carries a 1px border and submit none, which left them 2px apart in
   height. Submit takes a border in its own colour so both boxes measure alike. */
.rl-pdp-rvs-form .ucro-review-form__submit { border: 1px solid var(--green); }
