/* shared styles for contact, research, journal, set pages */
.pg{padding-block:clamp(28px,5vh,56px) clamp(40px,7vh,72px)}
.pg h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.03em;line-height:1.08;margin-top:10px}
.pg .lead{font-size:clamp(15.5px,1.3vw,18px);color:var(--ink2);line-height:1.6;margin:14px 0 0;max-width:640px}
.h2s{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;margin:8px 0 22px}
.ct-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.btn-wa{background:#25d366;border-color:#25d366;color:#062E16;gap:8px}
.btn-wa svg{width:20px;height:20px}
.fillic{stroke:none!important}

/* contact */
.ct-intro{max-width:820px;margin-bottom:28px}
.ct-intro>p{color:var(--ink2);font-size:clamp(15px,1.2vw,17px);line-height:1.65;margin:14px 0 0}
.ct-intro a{color:var(--green);font-weight:700}
.ct-reply{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--success)!important;background:#e8f5ee;border-radius:999px;padding:8px 14px}
.ct-reply svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ct-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ccard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s}
.ccard:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(20,30,40,.09)}
.ccard .ci{width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:var(--sage);display:flex;align-items:center;justify-content:center}
.ccard .ci svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ccard.wa2 .ci{background:#25d366;color:#fff}.ccard.wa2 .ci svg{width:26px;height:26px}
.cc-b{display:flex;flex-direction:column;gap:3px;min-width:0}
.cc-b small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.cc-b strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.ct-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;margin-top:20px}
.cform,.cmap{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3vw,32px)}
.cform h2,.cmap h2{font-size:22px;margin-bottom:6px}
.cform>p,.cmap>p{margin:0 0 18px;color:var(--mute);font-size:14px;line-height:1.55}
.cmap>p strong{color:var(--ink)}
.cmap{display:flex;flex-direction:column}
.cmap iframe{border:0;width:100%;flex:1;min-height:280px;border-radius:16px;background:var(--sage);margin-bottom:14px}
.cmap .btn{align-self:flex-start}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.fld label{font-size:13px;font-weight:700}
.fld label i{font-style:normal;font-weight:500;color:var(--mute)}
.fld input,.fld select,.fld textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:14px;padding:12px 14px;min-height:48px;width:100%;box-sizing:border-box}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--green);outline-offset:1px}
[aria-invalid=true]{border-color:var(--error)!important}
.ferr{font-size:12.5px;color:var(--error)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink2);margin:4px 0 2px;line-height:1.45}
.consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--green);flex:0 0 18px}
.cf-send{margin-top:12px;min-width:180px;justify-content:center}
.cf-ok{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#e8f5ee;color:var(--success);font-weight:700;font-size:14px}
.cf-ok.err{background:#fdecec;color:var(--error)}
.ct-faq{margin-top:56px;max-width:860px}
.ct-faq h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:14px}
.ct-help{margin-top:56px;background:var(--green);color:#fff;border-radius:28px;padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center}
.ct-help h2{color:#fff;font-size:clamp(24px,2.6vw,32px)}
.ct-help p{color:var(--ondark);margin:10px 0 0}
.ct-help ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ct-help li{display:flex;gap:10px;align-items:center;font-weight:700}
.ct-help li svg{width:22px;height:22px;flex:0 0 22px;stroke:var(--accent);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.btn-line-w{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-line-w:hover{border-color:#fff}
@media(max-width:1024px){.ct-cards{grid-template-columns:1fr 1fr}.ct-main,.ct-help{grid-template-columns:1fr}}
@media(max-width:560px){.ct-cards{grid-template-columns:1fr;gap:10px}.ccard{padding:14px}.frow{grid-template-columns:1fr;gap:0}.cmap iframe{min-height:240px}.ct-reply{border-radius:14px}}

/* research */
.rs-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:center;padding-bottom:20px}
.rs-fig{margin:0;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(20,35,50,.3)}
.rs-fig img{width:100%;display:block}
.rs-sec{padding-top:clamp(48px,8vh,80px)}
.rs-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.rs-steps li{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;position:relative;overflow:hidden}
.rs-steps li span{font-size:13px;font-weight:900;color:var(--accent);letter-spacing:.08em}
.rs-steps h3{font-size:22px;margin:8px 0 8px}
.rs-steps p{margin:0;color:var(--ink2);line-height:1.6;font-size:15px}
.rs-steps li::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;background:var(--sage)}
.rs-note{margin:18px 0 0;color:var(--mute);font-size:14px}
.rs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.rs-stats div{background:var(--green);color:#fff;border-radius:22px;padding:22px}
.rs-stats b{display:block;font-size:clamp(30px,3.2vw,44px);font-weight:900;letter-spacing:-.03em;line-height:1}
.rs-stats span{display:block;margin-top:8px;font-size:14px;color:var(--ondark);line-height:1.4}
.rs-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.rs-split figure{margin:0;border-radius:24px;overflow:hidden}
.rs-split img{width:100%;display:block}
.rs-split h3{font-size:22px;margin-bottom:10px}
.rs-split p{color:var(--ink2);line-height:1.65;margin:0 0 12px}
.rs-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rs-two article{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.rs-two img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.rs-two article>div{padding:22px}
.rs-two h3{font-size:21px;margin-bottom:8px}
.rs-two h3 small{font-size:11px;font-weight:700;letter-spacing:.06em;background:var(--sage);color:var(--green);border-radius:999px;padding:3px 9px;margin-left:6px;vertical-align:3px}
.rs-two p{color:var(--ink2);line-height:1.6;margin:0 0 14px}
.rs-mini{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rs-mini li{font-size:14px;color:var(--ink2);border-top:1px solid var(--line);padding-top:8px}
.rs-mini b{color:var(--green);font-size:17px;margin-right:6px}
.rs-p{color:var(--ink2);line-height:1.65;max-width:760px;margin:0 0 18px}
.rs-labs{display:flex;flex-wrap:wrap;gap:10px}
.rs-labs span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px}
.rs-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rs-docs a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s}
.rs-docs a:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(20,30,40,.08)}
.rs-docs svg{width:40px;height:40px;flex:0 0 40px;padding:9px;border-radius:12px;background:var(--sage);stroke:var(--green);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rs-docs span{display:flex;flex-direction:column;flex:1;min-width:0}
.rs-docs em{font-style:normal;font-size:12.5px;color:var(--mute)}
.rs-cta,.jr-sub{margin-top:clamp(48px,8vh,80px);background:var(--sage);border-radius:28px;padding:clamp(24px,4vw,40px);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.rs-cta h2,.jr-sub h2{font-size:clamp(22px,2.4vw,30px)}
.rs-cta p,.jr-sub p{color:var(--ink2);margin:8px 0 0}
@media(max-width:1024px){.rs-hero,.rs-split{grid-template-columns:1fr;gap:24px}.rs-stats{grid-template-columns:1fr 1fr}.rs-docs{grid-template-columns:1fr}}
@media(max-width:760px){.rs-steps,.rs-two{grid-template-columns:1fr}}
@media(max-width:420px){.rs-stats{gap:10px}.rs-stats div{padding:16px}}

/* journal */
.jr-head{max-width:720px;margin-bottom:28px}
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jcard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s}
.jcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,30,40,.1)}
.jimg{aspect-ratio:16/10;overflow:hidden;background:var(--sage);display:block}
.jimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.jcard.cut .jimg img{object-fit:contain;padding:18px}
.jcard:hover .jimg img{transform:scale(1.04)}
.jb{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.jmeta{font-size:12px;color:var(--mute);display:flex;gap:10px;align-items:center}
.jmeta b{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--sage);border-radius:999px;padding:3px 9px}
.jb strong{font-size:17px;line-height:1.35}
.jb em{font-style:normal;font-size:13.5px;font-weight:700;color:var(--green);margin-top:auto}
@media(max-width:1024px){.jgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.jgrid{grid-template-columns:1fr}}

/* fresh kitchen set */
.setitems{display:grid;gap:12px;margin-bottom:8px}
.setit{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;text-decoration:none;color:var(--ink);transition:border-color .3s}
.setit:hover{border-color:var(--green)}
.si-img{background:var(--sage);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:8px}
.si-img img{max-height:86px;width:auto;max-width:100%}
.setit>span:last-child{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--ink2);line-height:1.5}
.setit strong{font-size:16px;color:var(--ink)}
.setit em{font-style:normal;font-size:12px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.06em}
.faq{border-top:1px solid var(--line);padding:16px 0}
.faq:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-size:20px;color:var(--green);transition:transform .3s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{margin-top:8px;color:var(--ink2)}
.faq summary::-webkit-details-marker{display:none}
/* contact map card (no third-party embed) */
.mapcard{position:relative;flex:1;min-height:260px;border:0;border-radius:16px;margin-bottom:14px;background:#e9efe9;overflow:hidden;cursor:pointer;display:block;width:100%;font:inherit;padding:0}
.mc-grid{position:absolute;inset:0;background-image:linear-gradient(#dfe7df 1px,transparent 1px),linear-gradient(90deg,#dfe7df 1px,transparent 1px);background-size:34px 34px}
.mc-road{position:absolute;background:#fff;box-shadow:0 0 0 1px #d4ddd4}
.mc-road.r1{left:-10%;right:-10%;top:58%;height:22px;transform:rotate(-12deg)}
.mc-road.r2{top:-10%;bottom:-10%;left:62%;width:14px;transform:rotate(18deg)}
.mc-pin{position:absolute;left:50%;top:44%;transform:translate(-50%,-100%);width:52px;height:52px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--green);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(20,30,40,.25)}
.mc-pin svg{rotate:45deg;width:24px;height:24px;stroke:#fff!important}
.mc-label{position:absolute;left:50%;top:calc(44% + 26px);transform:translateX(-50%);background:#fff;border-radius:12px;padding:8px 14px;font-weight:700;font-size:14px;color:var(--ink);box-shadow:0 8px 20px rgba(20,30,40,.12);white-space:nowrap;text-align:center;line-height:1.3}
.mc-label small{font-weight:500;color:var(--mute)}
.mapcard:hover .mc-pin{transform:translate(-50%,-108%)}
.mapcard:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
/* journal */
.jex{font-size:14px;color:var(--ink2);line-height:1.5}
.art{max-width:760px;margin:0 auto}
.art-h h1{font-size:clamp(28px,3.6vw,42px);margin:12px 0 0}
.art-h .jmeta{margin:0}
.art-fig{margin:26px 0;border-radius:24px;overflow:hidden;background:var(--sage);aspect-ratio:16/9}
.art-fig img{width:100%;height:100%;object-fit:cover;display:block}
.art-fig.cut img{object-fit:contain;padding:24px}
.art-body{font-size:17px;line-height:1.75;color:var(--ink2)}
.art-body h2{font-size:clamp(21px,2.2vw,26px);color:var(--ink);margin:32px 0 10px}
.art-body p{margin:0 0 16px}
.art-body ul,.art-body ol{margin:0 0 18px;padding-left:22px;display:grid;gap:8px}
.art-body strong{color:var(--ink)}
.art-prod{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;margin:30px 0 0;flex-wrap:wrap}
.ap-img{width:64px;height:64px;border-radius:14px;background:var(--sage);display:flex;align-items:center;justify-content:center;flex:0 0 64px}
.ap-img img{max-height:52px;max-width:52px}
.ap-t{flex:1;min-width:160px;display:flex;flex-direction:column}
.ap-t span{font-size:13px;color:var(--mute)}
.art-more{margin-top:64px}
.art-more h2{font-size:clamp(22px,2.4vw,28px);margin-bottom:18px}

/* ===== 10 Nov b: checkout on narrow screens ===== */
@media(max-width:900px){.co-grid{grid-template-columns:minmax(0,1fr)}}
.consent{display:block;position:relative;padding-left:28px}
.consent input{position:absolute;left:0;top:1px;margin:0}
[dir=rtl] .consent{padding-left:0;padding-right:28px}[dir=rtl] .consent input{left:auto;right:0}
@media(max-width:440px){.co-box,.co-sum{padding:16px}.co-it{grid-template-columns:56px minmax(0,1fr)}.co-it .ci-img{height:56px}.co-it .co-p{grid-column:2;flex-direction:row;gap:8px;align-items:baseline;text-align:left}}

/* ===== 10 Nov b: research "effective on" buttons ===== */
.rs-on2{gap:10px}
.rs-ob{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:700;font-size:14px;color:var(--green);background:#fff;border:1.5px solid var(--line2);border-radius:999px;padding:6px 16px 6px 8px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s}
.rs-ob svg{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--sage);padding:4px;color:var(--green)}
.rs-ob:hover{border-color:var(--green);transform:translateY(-2px)}
.rs-ob[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.rs-ob[aria-pressed=true] svg{background:#fff}
.rs-opan{margin-top:16px;max-width:860px}
.rs-op{display:none;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px}
.rs-op.on{display:grid;animation:fade .45s var(--ease)}
.rs-od{width:120px;height:120px;border-radius:24px;background:var(--sage);color:var(--green);display:flex;align-items:center;justify-content:center}
.rs-od svg{width:84px;height:84px}
.rs-op h3{font-size:20px;margin-bottom:6px}
.rs-op p{margin:0;color:var(--ink2);line-height:1.6}
.rs-of{font-weight:800;color:var(--green)!important;font-size:17px;margin-bottom:6px!important;letter-spacing:.02em}
@media(max-width:560px){.rs-op{grid-template-columns:1fr;text-align:center;justify-items:center;padding:18px}.rs-od{width:96px;height:96px}.rs-od svg{width:66px;height:66px}.rs-ob{font-size:13px}}
/* checkout */
.co h1{margin:4px 0 22px}
.co-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.co-form{display:grid;gap:16px}
.co-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(18px,2.6vw,26px)}
.co-box h2{font-size:19px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.co-box h2 span{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
.co-note{font-size:13px;color:var(--mute);margin:4px 0 0}
.co-pay{background:var(--sage);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.co-pay strong{display:block}
.co-pay p{margin:6px 0 0;font-size:13.5px;color:var(--ink2)}
.co-place{width:100%;justify-content:center;min-height:52px;margin-top:10px;font-size:16px}
.co-sum{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;position:sticky;top:120px}
.co-sum h2{font-size:19px;margin-bottom:12px}
.co-it{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.co-it .ci-img{height:72px;position:relative}
.co-it .ci-img b{position:absolute;top:-6px;right:-6px;background:var(--green);color:#fff;font-size:11px;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.co-n{display:flex;flex-direction:column;font-size:13px;color:var(--mute)}
.co-n strong{font-size:15px;color:var(--ink)}
.co-p{text-align:right;font-weight:700;display:flex;flex-direction:column}
.co-p s{font-size:12px;color:var(--mute);font-weight:500}
.co-code p{margin:12px 0 0;font-size:13px;border-radius:10px;padding:8px 12px}
.co-codeon{background:#e8f5ee;color:var(--success);font-weight:700}
.co-codeoff{background:var(--sage);color:var(--ink2)}
.co-codeoff a{color:var(--green);font-weight:700}
.co-tot{margin-top:12px;display:grid;gap:8px;font-size:14.5px}
.co-tot div{display:flex;justify-content:space-between;gap:10px}
.co-tot .g{color:var(--success);font-weight:700}
.co-tot .big{font-size:19px;font-weight:800;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.co-small{font-size:12px;color:var(--mute);margin:12px 0 0}
.co-empty,.co-done{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;text-align:center;grid-column:1/-1}
.co-done{max-width:640px;margin:0 auto}
.co-done .ct-btns{justify-content:center}
.cd-tick{width:56px;height:56px;border-radius:50%;background:#e8f5ee;display:inline-flex;align-items:center;justify-content:center}
.cd-tick svg{width:28px;height:28px;stroke:var(--success);stroke-width:2.6;fill:none}
@media(max-width:900px){.co-grid{grid-template-columns:1fr}.co-sum{position:static;order:-1}}
/* legal */
.legal header{max-width:760px;margin-bottom:28px}
.lg-upd{font-size:13px;color:var(--mute);margin:10px 0 0}
.lg-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
.lg-toc{position:sticky;top:120px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.lg-toc p{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.lg-toc ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13.5px}
.lg-toc a{color:var(--ink2);text-decoration:none}.lg-toc a:hover{color:var(--green)}
.lg-body{max-width:760px}
.lg-body section{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line);scroll-margin-top:130px}
.lg-body h2{font-size:21px;margin-bottom:10px}
.lg-body p,.lg-body li{color:var(--ink2);line-height:1.7;font-size:15.5px}
.lg-body p{margin:0 0 10px}
.lg-body ul{padding-left:20px;display:grid;gap:6px;margin:0}
.lg-body a{color:var(--green);font-weight:700}
@media(max-width:900px){.lg-grid{grid-template-columns:1fr;gap:20px}.lg-toc{position:static}}
/* research v2 */
.rs-steps li::after{display:none}
.rs-steps li{transition:background .35s var(--ease),color .35s,transform .35s var(--ease),box-shadow .35s}
.rs-steps li:hover{background:var(--green);transform:translateY(-4px);box-shadow:0 20px 40px rgba(20,35,50,.18)}
.rs-steps li:hover h3,.rs-steps li:hover p{color:#fff}.rs-steps li:hover span{color:var(--accent)}
.rs-stats div{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
.rs-stats b{font-size:clamp(24px,2.5vw,34px);line-height:1.05;white-space:nowrap}
.rs-dia{background:none;box-shadow:none;border-radius:28px;overflow:visible}
.pco{width:100%;height:auto;display:block;border-radius:28px;box-shadow:0 30px 60px -24px rgba(20,35,50,.35)}
.pco .lbl{font:700 15px Montserrat,sans-serif;fill:#253d55}.pco .sm{font:600 13px Montserrat,sans-serif;fill:#4a5b68}.pco .tag{font:700 11px Montserrat,sans-serif;fill:#7c8b99;letter-spacing:.1em;text-transform:uppercase}.pco .mol{font:700 12px Montserrat,sans-serif;fill:#253d55}
.pco .rays path{animation:rays 1.2s linear infinite}.pco .flow{animation:rays 1.6s linear infinite}
.pco .halo{animation:halo 2.4s ease-in-out infinite alternate}
.pco .m{animation:drift 3s ease-in-out infinite alternate}.pco .m2{animation-delay:-1s}.pco .m3{animation-delay:-2s}
@keyframes rays{to{stroke-dashoffset:-30}}@keyframes halo{from{opacity:.45}to{opacity:1}}@keyframes drift{to{transform:translateX(10px)}}
@media(prefers-reduced-motion:reduce){.pco *{animation:none!important}}
.rs-parts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.rs-parts div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;transition:border-color .3s,transform .3s var(--ease)}
.rs-parts div:hover{border-color:var(--accent);transform:translateY(-2px)}
.rs-parts dt{font-weight:800;color:var(--ink);margin-bottom:4px}.rs-parts dd{margin:0;font-size:14px;color:var(--ink2);line-height:1.55}
.rs-safe{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rs-safe div{background:var(--sage);border-radius:20px;padding:20px;transition:background .3s,transform .3s var(--ease)}
.rs-safe div:hover{background:#dff1ea;transform:translateY(-3px)}
.rs-safe h3{font-size:18px;margin-bottom:6px}.rs-safe p{margin:0;font-size:14px;color:var(--ink2);line-height:1.55}
.rs-chips{display:flex;flex-wrap:wrap;gap:8px}
.rs-chips span{background:var(--sage);border-radius:14px;padding:10px 12px;font-size:12.5px;color:var(--ink2);display:flex;flex-direction:column;gap:2px;flex:1 1 140px;line-height:1.35}
.rs-chips b{font-size:18px;color:var(--green)}
.rs-docs a{background:linear-gradient(140deg,#1d3247 0%,#253d55 55%,#2f5470 100%);border:0;color:#fff;padding:22px 22px 20px;border-radius:22px;flex-direction:column;align-items:flex-start;gap:16px;min-height:200px;position:relative;overflow:hidden;box-shadow:0 18px 40px -18px rgba(20,35,50,.6)}
.rs-docs a::before{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(closest-side,rgba(102,189,164,.45),transparent)}
.rs-docs a:hover{transform:translateY(-4px);box-shadow:0 26px 50px -18px rgba(20,35,50,.7)}
.rs-docs .dk{font-weight:800;font-size:12px;letter-spacing:.12em;background:var(--accent);color:#10261f;border-radius:10px;padding:8px 10px}
.rs-docs .dt{display:flex;flex-direction:column;gap:6px;flex:1}
.rs-docs .dt strong{font-size:19px;color:#fff}.rs-docs .dt em{color:rgba(255,255,255,.75);font-size:13px}
.rs-docs .dg{font-weight:700;font-size:14px;color:var(--accent);display:inline-flex;gap:8px;align-items:center}
.rs-docs a:hover .dg .arr{transform:translateX(4px)}
.rs-docs svg{display:none}
@media(max-width:1024px){.rs-safe{grid-template-columns:1fr 1fr}.rs-parts{grid-template-columns:1fr}}
@media(max-width:560px){.rs-safe{grid-template-columns:1fr}}
/* 404 */
.nf{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:center;min-height:60vh}
.nf h1{font-size:clamp(34px,5vw,60px)}
.nf-links{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.nf-links a{display:inline-block;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:14px}
.nf-links a:hover{border-color:var(--green);background:var(--sage)}
.nf-img{max-width:240px;justify-self:center;filter:drop-shadow(0 30px 30px rgba(20,35,50,.2));transform:rotate(-8deg)}
@media(max-width:760px){.nf{grid-template-columns:1fr}.nf-img{max-width:150px;grid-row:1}}

.rs-stats b small{display:block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ondark);margin-bottom:6px}
@media(max-width:480px){.rs-stats b{font-size:26px}}
/* research v3 */
.rs-sub{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:14px 0 14px}
.rs-two img.rs-deo{object-position:center 12%}
.rs-two img{aspect-ratio:4/3}
.rs-cmp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.rs-cmp-c{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.rs-cmp-c h3{font-size:18px;margin-bottom:12px}
.rs-cmp-c ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.rs-cmp-c li{position:relative;padding-left:26px;color:var(--ink2);line-height:1.5}
.rs-cmp-c li::before{content:"\2715";position:absolute;left:0;top:0;color:#b4544a;font-weight:700}
.rs-cmp-c.on{background:var(--green);border-color:var(--green)}
.rs-cmp-c.on h3{color:#fff}.rs-cmp-c.on li{color:var(--ondark)}
.rs-cmp-c.on li::before{content:"\2713";color:var(--accent)}
.rs-on{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.rs-on span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:700;font-size:14px;color:var(--green);transition:background .3s,color .3s}
.rs-on span:hover{background:var(--green);color:#fff}
.rs-poll{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 14px}
.rs-poll div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;transition:background .35s,border-color .35s,transform .35s}
.rs-poll div:hover{background:var(--sage);transform:translateY(-3px)}
.rs-poll b{display:block;font-size:clamp(28px,2.6vw,38px);font-weight:900;color:var(--green);line-height:1;letter-spacing:-.02em}
.rs-poll b small{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.rs-poll h3{font-size:17px;margin:12px 0 2px}
.rs-poll span{font-size:13px;font-weight:700;color:var(--success)}
.rs-poll p{font-size:14px;color:var(--ink2);line-height:1.5;margin:8px 0 0}
.rs-low .rs-split{align-items:start}
.rs-low .rs-split>div{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}
.rs-app{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.rs-app li{position:relative;padding-left:26px;color:var(--ink2);line-height:1.5}
.rs-app li::before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:900}
.rs-labs a{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;text-decoration:none;transition:background .3s}
.rs-labs a:hover{background:var(--accent);color:var(--green)}
.rs-labs a svg{width:14px;height:14px}
@media(max-width:1024px){.rs-poll{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.rs-cmp{grid-template-columns:1fr}}
@media(max-width:420px){.rs-poll{grid-template-columns:1fr}}

/* ===== 10 Nov: research steps as scroll cards + icon safety tiles ===== */
.rs-flow{display:flex!important;flex-direction:column;gap:14px;max-width:860px;position:relative}
.rs-flow::before{content:"";position:absolute;left:39px;top:30px;bottom:30px;width:2px;background:linear-gradient(#5db7f5,#e3a21b,#3f9c80);opacity:.35}
.rs-flow .st{--c:#2f7fd1;--t:#eaf3fc;padding:0!important;border:0!important;border-radius:24px!important;background:var(--t)!important;color:var(--ink);transform:none!important;box-shadow:none;overflow:hidden;transition:background .6s var(--ease),box-shadow .6s var(--ease)!important}
.rs-flow .st-react{--c:#c98a10;--t:#fdf3dd}.rs-flow .st-break{--c:#2f8a6e;--t:#e3f4ee}
.rs-flow .st-h{display:flex;align-items:center;gap:14px;padding:16px 20px}
.rs-flow .st-ic{width:40px;height:40px;border-radius:14px;background:#fff;color:var(--c);display:inline-flex;align-items:center;justify-content:center;flex:none;position:relative;z-index:1;transition:transform .6s var(--ease),background .6s,color .6s}
.rs-flow .st-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rs-flow .st-n{font-size:12px!important;font-weight:900;letter-spacing:.1em;color:var(--c)!important;transition:color .6s}
.rs-flow h3{margin:0!important;font-size:22px;color:var(--ink)!important;transition:color .6s}
.rs-flow .st-b{display:grid;grid-template-rows:1fr;transition:grid-template-rows .7s var(--ease)}
.rs-flow .st-b p{overflow:hidden;min-height:0;margin:0;padding:0 24px 22px 74px;font-size:16px;line-height:1.6;color:rgba(255,255,255,.9)!important;transition:opacity .5s .15s,padding .7s var(--ease)}
.rs-flow.js .st:not(.open) .st-b{grid-template-rows:0fr}
.rs-flow.js .st:not(.open) .st-b p{opacity:0;padding-bottom:0}
.rs-flow .st.open,.rs-flow:not(.js) .st{background:linear-gradient(135deg,var(--c),var(--green))!important;box-shadow:0 22px 44px rgba(20,35,50,.18)}
.rs-flow .st.open h3,.rs-flow:not(.js) .st h3{color:#fff!important}
.rs-flow .st.open .st-n,.rs-flow:not(.js) .st .st-n{color:rgba(255,255,255,.75)!important}
.rs-flow .st.open .st-ic{transform:scale(1.12) rotate(-6deg)}
.rs-flow .st:not(.open) .st-b p{color:var(--ink2)!important}
.rs-flow:not(.js) .st .st-b p{color:rgba(255,255,255,.9)!important}
.rs-safe div{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px!important}
.rs-safe .sf-ic{width:64px;height:64px;border-radius:50%;background:#fff;color:var(--green);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(20,35,50,.08)}
.rs-safe .sf-ic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rs-safe .sf-ic .sl{stroke:#c0432a;stroke-width:2.2}
.rs-safe h3{margin:4px 0 0!important;font-size:17px}
.rs-safe p{font-size:13px!important;color:var(--mute)!important}
@media(max-width:760px){
 .rs-flow::before{left:35px}
 .rs-flow .st-h{padding:14px 16px;gap:12px}.rs-flow h3{font-size:19px}
 .rs-flow .st-b p{padding:0 18px 18px 18px;font-size:15px}
 .rs-safe{grid-template-columns:1fr 1fr!important;gap:10px}
 .rs-safe div{padding:16px 10px!important}.rs-safe .sf-ic{width:54px;height:54px}.rs-safe .sf-ic svg{width:28px;height:28px}
 .rs-safe h3{font-size:15px}.rs-safe p{font-size:12px!important}
}

/* ===== 10 Nov c: research "effective on" as static cards ===== */
@media(min-width:1000px){.rs-cards{grid-template-columns:repeat(6,minmax(0,1fr))!important;max-width:none}.rs-card b{font-size:14px}}
.rs-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-width:1100px}
.rs-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px 12px 18px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.rs-card svg{width:58px;height:58px;color:var(--green)}
.rs-card b{font-size:15px;line-height:1.25;color:var(--ink)}
.rs-card small{font-size:13px;font-weight:700;color:var(--green);letter-spacing:.02em}
@media(max-width:560px){.rs-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rs-card{padding:16px 8px}.rs-card svg{width:48px;height:48px}}

/* 11 Nov: lab names not clickable, even spacing */
.rs-labs{align-items:center}.rs-labs span{line-height:1.2}

/* 11 Nov j */
.rs-sub{font-size:clamp(16px,1.4vw,20px)!important;letter-spacing:.12em!important}
.rs-stats b{font-weight:700!important;letter-spacing:-.01em!important}

/*p27*/@media(max-width:560px){.rs-cards>.rs-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}}@media(min-width:561px) and (max-width:999px){.rs-cards{display:flex!important;flex-wrap:wrap;justify-content:center;max-width:none}.rs-cards>.rs-card{flex:0 1 calc(25% - 9px);min-width:140px}}@media(max-width:700px){.rs-poll{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.rs-poll div{padding:16px 14px;border-radius:18px}.rs-poll b{font-size:28px}.rs-poll b small{font-size:10.5px;margin-bottom:4px}.rs-poll h3{font-size:15px;margin:10px 0 2px}.rs-poll span{font-size:12px}.rs-poll p{display:none}}

/* Journal guides (12 Nov 2026): tables, sub-headings, links, sources */
.art-body h3{font-size:18px;color:var(--ink);margin:22px 0 6px}
.art-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.art-body table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px;line-height:1.5;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.art-body th,.art-body td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.art-body thead th{background:var(--sage);color:var(--ink);font-weight:700}
.art-body tr:last-child td{border-bottom:0}
.art-body .art-src{font-size:14px;line-height:1.5;color:var(--mute);gap:6px}
.art-body .art-src a{color:var(--mute)}
@media (max-width:640px){.art-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.art-body th,.art-body td{min-width:110px}}

.rs-fig img,.rs-split img,.rs-two img{height:auto}

/* 13 Nov research, desktop: photocatalysis fits one screen (headline left, text right); ethylene image = text height, section centred */
@media(min-width:1025px){
#how.rs-sec{min-height:calc(100svh - 114px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:48px;row-gap:0;align-content:center;padding-block:20px}
#how>.eyebrow{grid-column:1;grid-row:1;align-self:end;margin:0 0 6px}
#how>.h2s{grid-column:1;grid-row:2;align-self:start;margin:0}
#how>.rs-p{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:15.5px}
#how>.rs-steps{grid-column:1/-1;grid-row:3;margin-top:24px}
#how .st{padding:16px 18px}
#how .st p{font-size:14px;line-height:1.5}
.rs-eth.rs-sec{min-height:calc(100svh - 114px);display:flex;align-items:center}
.rs-eth .rs-split{width:100%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.rs-eth .rs-split figure{position:relative;align-self:stretch;background:transparent;border-radius:0;max-width:380px;justify-self:start}
.rs-eth .rs-split figure img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:contain}
}
/* 13 Nov (2): Technology page, mobile - compact */
@media(max-width:760px){
.rs-hero{padding-top:10px;gap:12px;padding-bottom:8px}
.rs-hero h1{font-size:26px;margin-top:4px;line-height:1.1}
.rs-hero .eyebrow{margin:0}
.rs-sub{font-size:12px!important;letter-spacing:.1em!important;margin:6px 0 0!important}
.rs-hero .lead{font-size:14px;line-height:1.45;margin-top:6px}
.rs-hero .ct-btns{flex-wrap:nowrap;gap:8px;margin-top:12px}
.rs-hero .ct-btns .btn{min-height:38px;height:38px;padding:0 10px;font-size:12.5px;flex:1 1 0;white-space:nowrap}
#how.rs-sec{padding-top:24px}
#how .h2s{font-size:20px;margin:4px 0 8px;line-height:1.15}
#how .rs-p{font-size:13.5px;line-height:1.5;margin:0 0 10px}
.rs-flow{gap:8px}
.rs-flow::before{display:none}
.rs-flow .st{border-radius:16px!important}
.rs-flow .st-h{padding:8px 12px;gap:10px}
.rs-flow .st-ic{width:32px;height:32px;border-radius:10px}
.rs-flow .st-ic svg{width:18px;height:18px}
.rs-flow h3{font-size:16px}
.rs-flow .st-b p{padding:0 14px 12px;font-size:13px;line-height:1.45}
.rs-eth.rs-sec{padding-top:16px}
.rs-eth .rs-split{gap:12px}
.rs-eth .rs-split figure{width:58%;margin:0 auto}
.rs-eth .h2s{font-size:21px;margin:4px 0 8px;line-height:1.15}
.rs-eth .rs-p{font-size:14px;line-height:1.5;margin:0 0 8px}
}

.si-img img[src*="deo-float"]{max-height:46px!important}

/* contact page: red "to be confirmed" items back to normal styling (Anthony confirmed) */
body[data-page="contact"] main .tbc{color:inherit!important;outline:0!important;background:none!important}
/* contact page, laptop: bigger and aligned to the page margins */
@media(min-width:1025px){
body[data-page="contact"] .ct-intro{max-width:none}
body[data-page="contact"] .ct-intro h1{font-size:clamp(44px,4.2vw,60px)}
body[data-page="contact"] .ct-intro>p{max-width:1000px;font-size:19px}
body[data-page="contact"] .ct-reply{font-size:17px;padding:10px 18px}
body[data-page="contact"] .ct-cards{gap:20px}
body[data-page="contact"] .ccard{padding:26px 24px;gap:18px}
body[data-page="contact"] .ccard .ci{width:56px;height:56px;flex-basis:56px}
body[data-page="contact"] .ccard .ci svg{width:26px;height:26px}
body[data-page="contact"] .cc-b small{font-size:12.5px}
body[data-page="contact"] .cc-b strong{font-size:18px}
body[data-page="contact"] .ct-main{gap:28px;margin-top:28px}
body[data-page="contact"] .cform,body[data-page="contact"] .cmap{padding:40px}
body[data-page="contact"] .cform h2,body[data-page="contact"] .cmap h2{font-size:28px}
body[data-page="contact"] .cform>p,body[data-page="contact"] .cmap>p{font-size:16px}
body[data-page="contact"] .fld label{font-size:15px}
body[data-page="contact"] .fld input,body[data-page="contact"] .fld select,body[data-page="contact"] .fld textarea{font-size:17px;padding-block:14px}
body[data-page="contact"] .ct-faq{max-width:none}
body[data-page="contact"] .ct-faq h2,body[data-page="contact"] .ct-help h2{font-size:clamp(30px,3vw,40px)}
body[data-page="contact"] .ct-faq summary{font-size:18px}
}
