.rhr-module{box-sizing:border-box;width:100%;min-width:0;padding:28px;border:1px solid rgba(112,210,140,.24);border-radius:12px;background:#07110b;color:#e9f2ec;font-family:inherit;line-height:1.8}
.rhr-module *{box-sizing:border-box}.rhr-module h1,.rhr-module h2,.rhr-module h3{color:#fff;line-height:1.28;letter-spacing:-.4px}
.rhr-module h1{font-size:clamp(28px,4vw,46px)}.rhr-module h2{font-size:clamp(23px,2.4vw,31px);margin:0 0 16px}.rhr-module h3{font-size:20px;margin:0 0 12px}
.rhr-module p,.rhr-module li{color:#cbdace;font-size:16px;line-height:1.85}.rhr-module p{margin:0 0 16px}.rhr-module p:last-child{margin-bottom:0}
.rhr-module a{color:#83e5a1;text-underline-offset:4px}.rhr-module a:focus-visible,.rhr-module summary:focus-visible{outline:3px solid #a4f3bd;outline-offset:4px}
.rhr-section+.rhr-section{border-top:1px solid rgba(112,210,140,.22);margin-top:30px;padding-top:30px}
.rhr-related{margin-top:30px;padding-top:25px;border-top:1px solid rgba(112,210,140,.22)}.rhr-related ul{margin:0;padding-left:20px}.rhr-related li{margin:7px 0}
.rhr-faqs{display:grid;gap:14px;width:100%}.rhr-faqs details{border:1px solid rgba(112,210,140,.25);background:#0a1a10;border-radius:10px;padding:23px}
.rhr-faqs summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;color:#fff;font-size:17px;font-weight:600;line-height:1.5}
.rhr-faqs summary::-webkit-details-marker{display:none}.rhr-faqs summary:after{content:'+';color:#83e5a1;font-size:24px;font-weight:400}.rhr-faqs details[open] summary:after{content:'−'}
.rhr-faqs details p{margin:18px 0 0;font-size:15px}.rhr-module>.rhr-faqs{margin-top:20px}.rhr-module>h2:not(:first-child){margin-top:34px}
@media(max-width:767px){.rhr-module{padding:23px 20px}.rhr-module p,.rhr-module li{font-size:15px}.rhr-faqs details{padding:20px}.rhr-faqs summary{font-size:16px}}

.rhw-portfolio{--rhw-green:#48d778;--rhw-line:rgba(118,214,146,.24);color:#edf4ef;font-family:inherit;width:100%;min-width:0}
.rhw-portfolio *{box-sizing:border-box}
.rhw-portfolio a{color:#73e598;text-underline-offset:4px}
.rhw-portfolio a:focus-visible,.rhw-portfolio summary:focus-visible{outline:3px solid #90f2ad;outline-offset:5px;border-radius:4px}
.rhw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;width:100%;align-items:start}
.rhw-case{min-width:0;scroll-margin-top:110px;padding:32px;border:1px solid var(--rhw-line);border-radius:14px;background:linear-gradient(145deg,#0b1b11,#070b08 72%);display:flex;flex-direction:column;align-items:flex-start}
.rhw-case:last-child{grid-column:1/-1;background:linear-gradient(120deg,#102c19,#070b08 75%)}
.rhw-kicker{display:block;color:#7ce29b;font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 18px;line-height:1.6}
.rhw-case h3{font-size:25px;font-weight:650;line-height:1.23;letter-spacing:-.5px;margin:0 0 14px;color:#fff}
.rhw-context{font-size:13px;line-height:1.6;color:#b8cbbb;margin:0 0 22px}
.rhw-summary{font-size:15px;line-height:1.8;color:#d1ded4;margin:0 0 22px}
.rhw-deliverables{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none;margin:0 0 24px}
.rhw-deliverables li{font-size:11px;line-height:1.5;border:1px solid var(--rhw-line);border-radius:6px;padding:7px 9px;color:#cfe7d5;background:rgba(69,164,96,.06)}
.rhw-details{width:100%;border-top:1px solid var(--rhw-line);margin-top:auto;padding-top:17px}
.rhw-details summary{cursor:pointer;font-size:14px;font-weight:650;line-height:1.5;color:#7ce29b;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px}
.rhw-details summary::-webkit-details-marker,.rhw-faq summary::-webkit-details-marker{display:none}
.rhw-details summary:after,.rhw-faq summary:after{content:'+';font-size:24px;font-weight:400;line-height:1}
.rhw-details[open] summary:after,.rhw-faq[open] summary:after{content:'−'}
.rhw-details h4{font-size:12px;color:#fff;letter-spacing:.8px;text-transform:uppercase;margin:23px 0 9px}
.rhw-details p,.rhw-details li{font-size:14px;line-height:1.8;color:#cbd9cf}
.rhw-details p{margin:0 0 12px}.rhw-details ul{padding-left:19px;margin:0 0 15px}.rhw-details li+li{margin-top:8px}
.rhw-footlink{margin-top:22px;font-size:13px;line-height:1.6}
.rhw-live-links{display:flex;gap:20px;flex-wrap:wrap;margin:6px 0 20px;font-size:14px}
.rhw-sample{margin-top:36px;padding:28px 30px;border:1px solid var(--rhw-line);border-radius:14px;background:#090f0b;min-width:0}
.rhw-sample h3{font-size:22px;line-height:1.35;color:#fff;margin:0 0 12px}
.rhw-sample p{font-size:14px;line-height:1.8;color:#cbd9cf;margin:0 0 16px}
.rhw-table-wrap{max-width:100%;overflow-x:auto}
.rhw-sample table{border-collapse:collapse;min-width:540px;width:100%;font-size:13px;text-align:left;line-height:1.7}
.rhw-sample th{color:#8fe7aa;font-weight:650;border-bottom:1px solid var(--rhw-line);padding:12px}
.rhw-sample td{color:#d3dfd7;vertical-align:top;border-bottom:1px solid rgba(118,214,146,.12);padding:15px 12px}
.rhw-faq-list{width:100%;display:grid;gap:12px}
.rhw-faq{border:1px solid var(--rhw-line);padding:22px 25px;border-radius:12px;background:#0a120d;min-width:0}
.rhw-faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#fff;font-size:16px;font-weight:600;line-height:1.5;cursor:pointer}
.rhw-faq p{font-size:15px;line-height:1.8;color:#cbd9cf;margin:18px 0 2px}
@media(min-width:780px){.rhw-case:last-child .rhw-summary,.rhw-case:last-child .rhw-context{max-width:800px}}
@media(max-width:779px){.rhw-grid{grid-template-columns:minmax(0,1fr);gap:18px}.rhw-case{padding:25px}.rhw-case h3{font-size:23px}.rhw-case:last-child{grid-column:auto}.rhw-sample{padding:23px 20px}.rhw-faq{padding:20px}.rhw-faq summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){.rhw-portfolio *{scroll-behavior:auto!important;transition:none!important}}

/* Span the existing Elementor grid when one HTML widget contains the full FAQ or portfolio section. */
.elementor .elementor-widget-html:has(.rhr-module),
.elementor .elementor-widget-html:has(.rhw-portfolio){grid-column:1/-1;width:100%!important;max-width:100%!important;min-width:0;align-self:stretch}
