:root {
  --offgrid-green: #1f7133;
  --offgrid-green-dark: #0b4520;
  --offgrid-green-deep: #073517;
  --offgrid-green-mid: #4e9b5e;
  --offgrid-green-pale: #eaf6ec;
  --offgrid-amber: #f3a61f;
  --offgrid-amber-light: #fff3d6;
  --offgrid-ink: #17271d;
  --offgrid-muted: #637067;
  --offgrid-line: #dbe5dc;
  --offgrid-soft: #f6faf7;
  --offgrid-white: #fff;
  --offgrid-shadow: 0 22px 56px rgba(8, 56, 25, .13);
  --offgrid-shadow-soft: 0 12px 34px rgba(8, 56, 25, .08);
  --offgrid-radius: 20px;
  --offgrid-radius-small: 12px;
  --offgrid-container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--offgrid-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
body.offgrid-menu-open { overflow: hidden; }
a { color: var(--offgrid-green); }
a:hover { color: var(--offgrid-green-dark); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.offgrid-container { width: min(var(--offgrid-container), calc(100% - 42px)); margin-inline: auto; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; display: block; height: auto; left: 8px; padding: 12px 18px; top: 8px; width: auto; z-index: 100000; background: #fff; color: #111; border-radius: 8px; box-shadow: var(--offgrid-shadow); }
.skip-link { position: fixed !important; }

.offgrid-scroll-progress { position: fixed; z-index: 99999; inset: 0 0 auto; height: 3px; pointer-events: none; }
.offgrid-scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--offgrid-amber), #ffd56d); }
.offgrid-topbar { background: var(--offgrid-green-deep); color: rgba(255,255,255,.9); font-size: .82rem; }
.offgrid-topbar__inner { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.offgrid-topbar__links { display: flex; gap: 22px; }
.offgrid-topbar a { color: inherit; text-decoration: none; }
.offgrid-topbar a:hover { color: #ffd56d; }

.offgrid-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(219,229,220,.88); box-shadow: 0 8px 28px rgba(8,56,25,.05); }
.admin-bar .offgrid-header { top: 32px; }
.offgrid-header__inner { min-height: 84px; display: flex; align-items: center; gap: 28px; }
.offgrid-brand-wrap { flex: 0 0 228px; }
.offgrid-brand, .custom-logo-link { display: flex; align-items: center; text-decoration: none; }
.offgrid-brand img, .custom-logo { display: block; width: 218px; max-height: 72px; object-fit: contain; object-position: left center; }
.offgrid-navigation { flex: 1; }
.offgrid-menu { list-style: none; display: flex; justify-content: center; align-items: center; gap: 1.35rem; margin: 0; padding: 0; }
.offgrid-menu li { position: relative; margin: 0; }
.offgrid-menu a { color: var(--offgrid-muted); text-decoration: none; font-size: .9rem; font-weight: 760; white-space: nowrap; }
.offgrid-menu > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 2px; background: var(--offgrid-green); transform: scaleX(0); transition: transform .2s ease; }
.offgrid-menu a:hover, .offgrid-menu .current-menu-item > a, .offgrid-menu .current_page_item > a, .offgrid-menu .current-menu-ancestor > a { color: var(--offgrid-green); }
.offgrid-menu > li:hover > a::after, .offgrid-menu > .current-menu-item > a::after, .offgrid-menu > .current_page_item > a::after { transform: scaleX(1); }
.offgrid-menu .sub-menu { position: absolute; top: calc(100% + 20px); left: -20px; min-width: 220px; list-style: none; padding: 12px; margin: 0; background: #fff; border: 1px solid var(--offgrid-line); border-radius: 14px; box-shadow: var(--offgrid-shadow); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .2s ease; }
.offgrid-menu li:hover > .sub-menu, .offgrid-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.offgrid-menu .sub-menu a { display: block; padding: .7rem .8rem; border-radius: 8px; }
.offgrid-menu .sub-menu a:hover { background: var(--offgrid-soft); }
.offgrid-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.offgrid-cart-link { display: inline-flex; align-items: center; gap: 7px; color: var(--offgrid-ink); text-decoration: none; border: 1px solid var(--offgrid-line); border-radius: 10px; background: #fff; padding: .62rem .72rem; font-weight: 800; }
.offgrid-cart-count { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 99px; background: var(--offgrid-amber); color: #192016; font-size: .72rem; }
.offgrid-header-cta { display: inline-flex; align-items: center; justify-content: center; padding: .72rem 1rem; border-radius: 10px; background: var(--offgrid-green); color: #fff; text-decoration: none; font-size: .88rem; font-weight: 800; }
.offgrid-header-cta:hover { background: var(--offgrid-green-dark); color: #fff; transform: translateY(-1px); }
.offgrid-menu-toggle { display: none; width: 44px; height: 42px; padding: 9px; border: 1px solid var(--offgrid-line); border-radius: 10px; background: #fff; }
.offgrid-menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: var(--offgrid-ink); }

.offgrid-hero, .offgrid-slides, .offgrid-slide { min-height: 690px; }
.offgrid-hero { position: relative; overflow: hidden; background: var(--offgrid-green-dark); }
.offgrid-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .75s ease, visibility .75s ease; }
.offgrid-slide.is-active { opacity: 1; visibility: visible; }
.offgrid-slide__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.03); transition: transform 7s ease; }
.offgrid-slide.is-active .offgrid-slide__image { transform: scale(1.09); }
.offgrid-slide__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,42,18,.98) 0%, rgba(8,58,25,.9) 48%, rgba(8,58,25,.18) 100%); }
.offgrid-slide__inner { position: relative; z-index: 2; min-height: 690px; display: flex; align-items: center; }
.offgrid-slide__copy { width: min(720px, 100%); padding: 80px 0; }
.offgrid-hero-pill { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 1.4rem; padding: .48rem .88rem; border: 1px solid rgba(255,255,255,.3); border-radius: 99px; background: rgba(255,255,255,.1); color: #fff; font-size: .8rem; font-weight: 850; backdrop-filter: blur(10px); }
.offgrid-hero-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--offgrid-amber); box-shadow: 0 0 0 5px rgba(243,166,31,.18); }
.offgrid-slide h1 { max-width: 700px; margin: 0 0 1.35rem; color: #fff; font-size: clamp(2.9rem, 6vw, 5.25rem); line-height: .99; letter-spacing: -.055em; }
.offgrid-slide p { max-width: 650px; margin: 0 0 2rem; color: rgba(255,255,255,.84); font-size: 1.14rem; }
.offgrid-slider-arrow { position: absolute; z-index: 3; top: 50%; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; backdrop-filter: blur(10px); transform: translateY(-50%); transition: .2s ease; }
.offgrid-slider-arrow:hover { background: #fff; color: var(--offgrid-green-dark); }
.offgrid-slider-arrow--prev { left: 22px; }
.offgrid-slider-arrow--next { right: 22px; }
.offgrid-slider-dots { position: absolute; z-index: 3; left: 50%; bottom: 28px; display: flex; gap: 9px; transform: translateX(-50%); }
.offgrid-slider-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.48); cursor: pointer; transition: .2s ease; }
.offgrid-slider-dot.is-active { width: 30px; border-radius: 99px; background: var(--offgrid-amber); }

.offgrid-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.offgrid-button, .wp-element-button, input[type="submit"], button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 46px; padding: .82rem 1.25rem; border: 0; border-radius: 11px; font-weight: 820; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.offgrid-button:hover, .wp-element-button:hover, input[type="submit"]:hover, button[type="submit"]:hover { transform: translateY(-2px); }
.offgrid-button--primary { background: var(--offgrid-amber); color: #172015; box-shadow: 0 12px 25px rgba(243,166,31,.2); }
.offgrid-button--primary:hover { background: #ffbd42; color: #172015; }
.offgrid-button--ghost { border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.08); color: #fff; }
.offgrid-button--ghost:hover { background: rgba(255,255,255,.18); color: #fff; }
.offgrid-button--dark { background: var(--offgrid-green-dark); color: #fff; }
.offgrid-button--dark:hover { background: var(--offgrid-green-deep); color: #fff; }
.offgrid-button--outline { border: 1px solid var(--offgrid-green); background: transparent; color: var(--offgrid-green); }
.offgrid-button--light { border: 1px solid var(--offgrid-line); background: #fff; color: var(--offgrid-green-dark); }

.offgrid-section { padding: 94px 0; }
.offgrid-section--soft { background: var(--offgrid-soft); }
.offgrid-section--dark { background: linear-gradient(135deg, var(--offgrid-green-dark), var(--offgrid-green-deep)); color: #fff; }
.offgrid-section-heading { max-width: 780px; margin: 0 auto 46px; text-align: center; }
.offgrid-kicker { display: inline-block; margin-bottom: .7rem; color: var(--offgrid-green); font-size: .76rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.offgrid-section--dark .offgrid-kicker, .offgrid-cta .offgrid-kicker { color: #ffd16a; }
.offgrid-section-heading h2, .offgrid-split h2, .offgrid-cta h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4.2vw, 3.25rem); line-height: 1.08; letter-spacing: -.04em; }
.offgrid-section-heading p { max-width: 720px; margin: 0 auto; color: var(--offgrid-muted); font-size: 1.05rem; }
.offgrid-section--dark .offgrid-section-heading p { color: rgba(255,255,255,.72); }
.offgrid-card-grid { display: grid; gap: 22px; }
.offgrid-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.offgrid-info-card { position: relative; padding: 28px; border: 1px solid var(--offgrid-line); border-radius: var(--offgrid-radius); background: rgba(255,255,255,.9); box-shadow: 0 8px 28px rgba(8,56,25,.045); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.offgrid-info-card::after { content: ""; position: absolute; inset: auto -40px -50px auto; width: 120px; height: 120px; border-radius: 50%; background: var(--offgrid-green-pale); opacity: .7; }
.offgrid-info-card:hover { transform: translateY(-7px); border-color: rgba(31,113,51,.28); box-shadow: var(--offgrid-shadow-soft); }
.offgrid-card-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 18px; border-radius: 15px; background: var(--offgrid-green-pale); font-size: 1.45rem; }
.offgrid-info-card h3 { position: relative; z-index: 1; margin: 0 0 .55rem; font-size: 1.08rem; }
.offgrid-info-card p { position: relative; z-index: 1; margin: 0; color: var(--offgrid-muted); font-size: .92rem; }
.offgrid-section-action { margin-top: 38px; text-align: center; }
.offgrid-plugin-notice { padding: 24px; border: 1px solid #f0d494; border-radius: 14px; background: var(--offgrid-amber-light); text-align: center; }

.offgrid-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 66px; }
.offgrid-split__copy p { margin: 0 0 1.8rem; color: var(--offgrid-muted); font-size: 1.05rem; }
.offgrid-split__visual { padding: 26px; border: 1px solid var(--offgrid-line); border-radius: 28px; background: linear-gradient(145deg, #fff, var(--offgrid-green-pale)); box-shadow: var(--offgrid-shadow); }
.offgrid-split__visual img { width: 100%; border-radius: 18px; }
.offgrid-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.offgrid-process-card { padding: 27px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--offgrid-radius); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.offgrid-process-card > span { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 19px; border-radius: 50%; background: var(--offgrid-amber); color: #172015; font-weight: 900; }
.offgrid-process-card h3 { margin: 0 0 .5rem; color: #fff; }
.offgrid-process-card p { margin: 0; color: rgba(255,255,255,.72); font-size: .9rem; }

.offgrid-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.offgrid-project-card { overflow: hidden; border: 1px solid var(--offgrid-line); border-radius: var(--offgrid-radius); background: #fff; box-shadow: 0 8px 28px rgba(8,56,25,.05); transition: transform .25s ease, box-shadow .25s ease; }
.offgrid-project-card:hover { transform: translateY(-7px); box-shadow: var(--offgrid-shadow-soft); }
.offgrid-project-media { height: 230px; overflow: hidden; background: var(--offgrid-green-pale); }
.offgrid-project-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.offgrid-project-card:hover .offgrid-project-media img { transform: scale(1.055); }
.offgrid-project-body { padding: 24px; }
.offgrid-project-body h3 { margin: .25rem 0 .55rem; font-size: 1.12rem; }
.offgrid-project-body p { margin: 0; color: var(--offgrid-muted); font-size: .9rem; }

.offgrid-cta { padding: 62px 0; background: linear-gradient(135deg, var(--offgrid-amber), #ffc34e); }
.offgrid-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 42px; }
.offgrid-cta h2 { margin-bottom: .6rem; color: #172015; }
.offgrid-cta p { max-width: 710px; margin: 0; color: rgba(23,32,21,.75); }
.offgrid-cta .offgrid-kicker { color: var(--offgrid-green-deep); }

.offgrid-page-hero { padding: 78px 0; background: radial-gradient(circle at 80% 20%, rgba(78,155,94,.28), transparent 35%), linear-gradient(135deg, var(--offgrid-green-dark), var(--offgrid-green-deep)); color: #fff; text-align: center; }
.offgrid-page-hero h1 { max-width: 950px; margin: 0 auto; font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1.04; letter-spacing: -.045em; }
.offgrid-content { padding-top: 76px; padding-bottom: 86px; }
.offgrid-content > h1:first-child, .offgrid-content > h2:first-child { text-align: center; }
.offgrid-content > p:first-of-type { max-width: 760px; margin-inline: auto; text-align: center; color: var(--offgrid-muted); }
.offgrid-content h1, .offgrid-content h2, .offgrid-content h3 { line-height: 1.16; letter-spacing: -.025em; }
.offgrid-content h2 { margin-top: 2.4rem; }
.offgrid-content p, .offgrid-content li { color: #3f4b43; }
.offgrid-elementor-content { width: 100%; }
.offgrid-elementor-content > .elementor { width: 100%; }
.elementor-editor-active .offgrid-reveal, .elementor-editor-preview .offgrid-reveal { opacity: 1 !important; transform: none !important; }

.offgrid-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 38px 0 56px; }
.offgrid-contact-card { padding: 28px; border: 1px solid var(--offgrid-line); border-radius: var(--offgrid-radius); background: var(--offgrid-soft); text-align: center; }
.offgrid-contact-card > span { display: block; margin-bottom: 12px; font-size: 2rem; }
.offgrid-contact-card h3 { margin: 0 0 .4rem; }
.offgrid-contact-card p { margin: 0; }
.offgrid-contact-card a { text-decoration: none; }
.offgrid-form-placeholder, .offgrid-plugin-form { max-width: 820px; margin: 34px auto; padding: 34px; border: 1px solid var(--offgrid-line); border-radius: var(--offgrid-radius); background: var(--offgrid-soft); }
.offgrid-form-placeholder h3 { margin-top: 0; }
.offgrid-plugin-form input:not([type="submit"]), .offgrid-plugin-form select, .offgrid-plugin-form textarea, .offgrid-content input:not([type="submit"]), .offgrid-content select, .offgrid-content textarea { width: 100%; padding: .82rem 1rem; border: 1px solid var(--offgrid-line); border-radius: 10px; background: #fff; color: var(--offgrid-ink); }
.offgrid-plugin-form input:focus, .offgrid-plugin-form select:focus, .offgrid-plugin-form textarea:focus { outline: 3px solid rgba(31,113,51,.14); border-color: var(--offgrid-green); }

.offgrid-calculator { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 42px auto; padding: 32px; border-radius: 28px; background: linear-gradient(135deg, var(--offgrid-green-dark), var(--offgrid-green-deep)); box-shadow: var(--offgrid-shadow); color: #fff; }
.offgrid-calculator-inputs, .offgrid-calculator-results { padding: 25px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.offgrid-calculator h2 { margin: 0 0 1.4rem; color: #fff; }
.offgrid-calculator label { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 0 0 1.45rem; color: rgba(255,255,255,.82); font-size: .9rem; font-weight: 700; }
.offgrid-calculator label strong { color: #ffd16a; }
.offgrid-calculator input[type="range"] { grid-column: 1 / -1; width: 100%; accent-color: var(--offgrid-amber); }
.offgrid-calculator-note { color: rgba(255,255,255,.62); font-size: .83rem; }
.offgrid-calculator-results dl { margin: 0 0 1.5rem; }
.offgrid-calculator-results dl > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: .88rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.offgrid-calculator-results dt { color: rgba(255,255,255,.72); }
.offgrid-calculator-results dd { margin: 0; color: #fff; font-weight: 900; text-align: right; }
.offgrid-calculator-results dl > div:first-child dd, .offgrid-calculator-results dl > div:nth-child(2) dd, .offgrid-calculator-results dl > div:nth-child(5) dd { color: #ffd16a; }

.offgrid-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 42px; padding-top: 70px; padding-bottom: 80px; }
.offgrid-post-list { display: grid; gap: 26px; }
.offgrid-post-card { display: grid; grid-template-columns: 260px 1fr; overflow: hidden; border: 1px solid var(--offgrid-line); border-radius: var(--offgrid-radius); background: #fff; box-shadow: 0 8px 28px rgba(8,56,25,.05); }
.offgrid-post-card__image img { width: 100%; height: 100%; min-height: 245px; object-fit: cover; }
.offgrid-post-card__body { padding: 28px; }
.offgrid-post-card h2 { margin: .25rem 0 .65rem; }
.offgrid-post-card h2 a { color: var(--offgrid-ink); text-decoration: none; }
.offgrid-post-meta { color: var(--offgrid-muted); font-size: .8rem; }
.offgrid-post-meta a { color: inherit; }
.offgrid-post-card__excerpt p { color: var(--offgrid-muted); }
.offgrid-text-link { font-weight: 800; text-decoration: none; }
.offgrid-sidebar .widget { margin-bottom: 24px; padding: 24px; border: 1px solid var(--offgrid-line); border-radius: 16px; background: var(--offgrid-soft); }
.widget-title { margin-top: 0; font-size: 1.1rem; }
.offgrid-single__content { max-width: 860px; padding-top: 55px; padding-bottom: 80px; }
.offgrid-featured-image { margin: 0 0 34px; }
.offgrid-featured-image img { border-radius: var(--offgrid-radius); }
.comments-area { margin-top: 50px; padding-top: 35px; border-top: 1px solid var(--offgrid-line); }
.comment-list { padding-left: 1.25rem; }
.offgrid-error { min-height: 65vh; display: grid; place-items: center; padding: 80px 0; text-align: center; }
.offgrid-error__code { display: block; color: var(--offgrid-green-pale); font-size: clamp(6rem, 18vw, 14rem); font-weight: 950; line-height: .85; }
.offgrid-error h1 { margin-top: -1rem; }

.offgrid-footer { padding: 72px 0 22px; background: var(--offgrid-green-deep); color: rgba(255,255,255,.72); }
.offgrid-footer__grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.2fr; gap: 42px; }
.offgrid-footer .offgrid-brand img, .offgrid-footer .custom-logo { filter: brightness(0) invert(1); max-width: 210px; }
.offgrid-footer__brand p { max-width: 380px; }
.offgrid-footer h3 { margin-top: 0; color: #fff; font-size: 1rem; }
.footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-menu li { margin: 0 0 .65rem; }
.footer-menu a { color: rgba(255,255,255,.68); text-decoration: none; }
.footer-menu a:hover { color: #ffd16a; }
.offgrid-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 52px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; color: rgba(255,255,255,.48); }

.offgrid-reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease var(--reveal-delay, 0ms), transform .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms); }
.offgrid-reveal.is-visible { opacity: 1; transform: none; }

.alignwide { width: min(1400px, calc(100vw - 42px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.wp-block-image img { border-radius: 14px; }
.wp-block-button__link { background: var(--offgrid-green); }

@media (max-width: 1120px) {
  .offgrid-brand-wrap { flex-basis: 190px; }
  .offgrid-brand img, .custom-logo { width: 185px; }
  .offgrid-menu { gap: .9rem; }
  .offgrid-menu a { font-size: .84rem; }
  .offgrid-header-cta { display: none; }
}

@media (max-width: 920px) {
  .admin-bar .offgrid-header { top: 46px; }
  .offgrid-topbar__location { display: none; }
  .offgrid-topbar__inner { justify-content: center; }
  .offgrid-topbar__links { justify-content: center; flex-wrap: wrap; gap: 9px 20px; padding: 8px 0; }
  .offgrid-header__inner { min-height: 76px; }
  .offgrid-brand-wrap { flex: 1; }
  .offgrid-navigation { position: fixed; z-index: 999; top: 116px; left: 16px; right: 16px; max-height: calc(100vh - 140px); overflow: auto; padding: 16px; border: 1px solid var(--offgrid-line); border-radius: 18px; background: #fff; box-shadow: var(--offgrid-shadow); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: .2s ease; }
  .admin-bar .offgrid-navigation { top: 162px; }
  .offgrid-navigation.is-open { opacity: 1; visibility: visible; transform: none; }
  .offgrid-menu { align-items: stretch; flex-direction: column; gap: 2px; }
  .offgrid-menu a { display: block; padding: .8rem .9rem; border-radius: 9px; font-size: .96rem; }
  .offgrid-menu a:hover, .offgrid-menu .current-menu-item > a { background: var(--offgrid-soft); }
  .offgrid-menu > li > a::after { display: none; }
  .offgrid-menu .sub-menu { position: static; min-width: 0; margin-left: 15px; padding: 0 0 0 10px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .offgrid-menu-toggle { display: block; }
  .offgrid-hero, .offgrid-slides, .offgrid-slide, .offgrid-slide__inner { min-height: 640px; }
  .offgrid-slider-arrow { display: none; }
  .offgrid-card-grid--3, .offgrid-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offgrid-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offgrid-split, .offgrid-calculator { grid-template-columns: 1fr; }
  .offgrid-split__visual { order: -1; }
  .offgrid-layout { grid-template-columns: 1fr; }
  .offgrid-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .offgrid-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .offgrid-footer__grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .offgrid-container { width: min(100% - 28px, var(--offgrid-container)); }
  .offgrid-topbar__links a:first-child { display: none; }
  .offgrid-brand img, .custom-logo { width: 166px; max-height: 62px; }
  .offgrid-cart-link { padding: .55rem .62rem; }
  .offgrid-hero, .offgrid-slides, .offgrid-slide, .offgrid-slide__inner { min-height: 600px; }
  .offgrid-slide__copy { padding: 70px 0; }
  .offgrid-slide h1 { font-size: clamp(2.5rem, 13vw, 3.6rem); }
  .offgrid-slide p { font-size: 1rem; }
  .offgrid-section { padding: 72px 0; }
  .offgrid-card-grid--3, .offgrid-project-grid, .offgrid-process-grid, .offgrid-contact-grid { grid-template-columns: 1fr; }
  .offgrid-project-media { height: 210px; }
  .offgrid-cta__inner { align-items: flex-start; flex-direction: column; }
  .offgrid-calculator { padding: 16px; }
  .offgrid-calculator-inputs, .offgrid-calculator-results { padding: 20px; }
  .offgrid-calculator-results dl > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .offgrid-calculator-results dd { text-align: left; }
  .offgrid-post-card { grid-template-columns: 1fr; }
  .offgrid-post-card__image img { min-height: 220px; }
  .offgrid-sidebar { grid-template-columns: 1fr; }
  .offgrid-footer__grid { grid-template-columns: 1fr; }
  .offgrid-footer__grid > :last-child { grid-column: auto; }
  .offgrid-footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .offgrid-reveal { opacity: 1; transform: none; }
}


/* =========================================================
   HTML REVIEW ENHANCEMENTS
   The base styling above comes directly from the uploaded
   WordPress theme. These rules add the bounded 3D hero,
   director, learning, diaspora desk, product preview and
   review-only cart/contact interactions.
   ========================================================= */
body{overflow-x:hidden}
section[id]{scroll-margin-top:88px}
.offgrid-section-heading{text-align:center}
.offgrid-section-heading p{margin-left:auto;margin-right:auto}
.review-only{font-size:.72rem;color:var(--offgrid-muted)}
.offgrid-menu a{cursor:pointer}
.offgrid-menu a.is-active{color:var(--offgrid-green)}
.offgrid-header{top:0}
.offgrid-header__inner{min-height:80px}
.offgrid-brand img{width:218px;max-height:68px;object-fit:contain}
.offgrid-menu{gap:1rem}
.offgrid-menu a{font-size:.86rem}
.offgrid-header-cta{white-space:nowrap}

/* Preserve theme content while adding a Figma-like intro band. */
.offgrid-intro-band{
  padding:34px 0;
  border-bottom:1px solid var(--offgrid-line);
  background:#fff;
}
.offgrid-intro-band__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.offgrid-intro-stat{
  padding:18px 20px;border:1px solid var(--offgrid-line);
  border-radius:16px;background:linear-gradient(145deg,#fff,var(--offgrid-soft));
}
.offgrid-intro-stat strong{display:block;color:var(--offgrid-green-dark);font-size:.95rem}
.offgrid-intro-stat span{color:var(--offgrid-muted);font-size:.78rem}

/* Director section */
.offgrid-director{
  display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);
  gap:62px;align-items:center;
}
.offgrid-director__photo{position:relative}
.offgrid-director__photo img{
  width:100%;max-height:720px;aspect-ratio:3/4;object-fit:cover;
  border-radius:28px;box-shadow:var(--offgrid-shadow);
}
.offgrid-director__badge{
  position:absolute;left:18px;right:18px;bottom:18px;
  padding:16px 18px;border:1px solid rgba(255,255,255,.17);
  border-radius:16px;background:rgba(7,53,23,.78);backdrop-filter:blur(12px);color:#fff;
}
.offgrid-director__badge strong{display:block}
.offgrid-director__badge span{font-size:.8rem;color:rgba(255,255,255,.68)}
.offgrid-director__copy h2{margin:.35rem 0 1rem;line-height:1.08;letter-spacing:-.04em}
.offgrid-director__copy>p{color:var(--offgrid-muted);font-size:1.03rem}
.offgrid-director__principle{
  margin:25px 0;padding:22px 24px;border-left:4px solid var(--offgrid-amber);
  border-radius:0 16px 16px 0;background:var(--offgrid-soft);color:#2d3c32;
  font-weight:700
}

/* Diaspora / remote project desk */
.offgrid-diaspora{
  position:relative;overflow:hidden;
  padding:58px;border-radius:30px;color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(243,166,31,.17),transparent 28%),
    linear-gradient(135deg,var(--offgrid-green-dark),var(--offgrid-green-deep));
  box-shadow:var(--offgrid-shadow);
}
.offgrid-diaspora::after{
  content:"";position:absolute;width:360px;height:360px;right:-150px;bottom:-160px;
  border:1px solid rgba(255,255,255,.08);border-radius:50%;
  box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.015);
}
.offgrid-diaspora__head{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;
}
.offgrid-diaspora__head h2{color:#fff;margin:.45rem 0 0}
.offgrid-diaspora__head p{margin:0;color:rgba(255,255,255,.72)}
.offgrid-remote-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px;
}
.offgrid-remote-card{
  padding:22px;border:1px solid rgba(255,255,255,.13);
  border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)
}
.offgrid-remote-card span{display:block;color:#ffd16a;font-size:.75rem;font-weight:900;letter-spacing:.08em}
.offgrid-remote-card h3{margin:1.4rem 0 .45rem;color:#fff;font-size:1rem}
.offgrid-remote-card p{margin:0;color:rgba(255,255,255,.65);font-size:.84rem}

/* Learning/technical depth */
.offgrid-learning-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch
}
.offgrid-learning-feature{
  min-height:500px;padding:36px;border-radius:26px;display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;overflow:hidden;position:relative;
  background:
    linear-gradient(180deg,rgba(5,42,18,.12),rgba(5,42,18,.94)),
    url("https://images.pexels.com/photos/6961123/pexels-photo-6961123.jpeg?auto=compress&cs=tinysrgb&w=1500") center/cover;
}
.offgrid-learning-feature h3{margin:.55rem 0 .8rem;color:#fff;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}
.offgrid-learning-feature p{max-width:620px;margin:0 0 1.3rem;color:rgba(255,255,255,.75)}
.offgrid-learning-list{display:grid;gap:12px}
.offgrid-learning-item{
  display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:start;
  padding:20px;border:1px solid var(--offgrid-line);border-radius:17px;background:#fff;
  transition:.22s ease;
}
.offgrid-learning-item:hover{transform:translateX(5px);box-shadow:var(--offgrid-shadow-soft)}
.offgrid-learning-item b{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:var(--offgrid-green-pale);color:var(--offgrid-green-dark)
}
.offgrid-learning-item h3{margin:0 0 .35rem;font-size:1rem}
.offgrid-learning-item p{margin:0;color:var(--offgrid-muted);font-size:.85rem}

/* Field notes */
.offgrid-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.offgrid-note-card{
  padding:26px;border:1px solid var(--offgrid-line);border-radius:20px;background:#fff;
  box-shadow:0 8px 28px rgba(8,56,25,.045)
}
.offgrid-note-card h3{margin:.55rem 0 .55rem;font-size:1.08rem}
.offgrid-note-card p{margin:0;color:var(--offgrid-muted);font-size:.89rem}

/* Static WooCommerce-style product review */
.offgrid-shop-tools{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 28px
}
.offgrid-product-tabs{display:flex;gap:8px;flex-wrap:wrap}
.offgrid-product-tab{
  border:1px solid var(--offgrid-line);border-radius:999px;padding:.58rem .9rem;
  background:#fff;color:var(--offgrid-muted);font-weight:800;font-size:.79rem;cursor:pointer
}
.offgrid-product-tab.is-active,.offgrid-product-tab:hover{background:var(--offgrid-green);border-color:var(--offgrid-green);color:#fff}
.offgrid-demo-cart-button{
  display:inline-flex;align-items:center;gap:8px;border:1px solid var(--offgrid-line);border-radius:10px;
  padding:.6rem .8rem;background:#fff;cursor:pointer;font-weight:850
}
.offgrid-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offgrid-product-card{
  position:relative;overflow:hidden;border:1px solid var(--offgrid-line);border-radius:20px;background:#fff;
  box-shadow:0 8px 28px rgba(8,56,25,.05);transition:.24s ease
}
.offgrid-product-card:hover{transform:translateY(-6px);box-shadow:var(--offgrid-shadow-soft)}
.offgrid-product-media{height:220px;padding:10px;background:linear-gradient(145deg,#f9fcfa,#eaf6ec);overflow:hidden}
.offgrid-product-media img{width:100%;height:100%;object-fit:contain;transition:.4s ease}
.offgrid-product-card:hover .offgrid-product-media img{transform:scale(1.035)}
.offgrid-product-badge{
  position:absolute;top:14px;right:14px;z-index:2;padding:.35rem .62rem;border-radius:999px;
  background:var(--offgrid-amber);color:#172015;font-size:.68rem;font-weight:900
}
.offgrid-product-body{padding:20px}
.offgrid-product-category{color:var(--offgrid-green);font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.offgrid-product-card h3{margin:.45rem 0 .45rem;font-size:1.02rem;line-height:1.3}
.offgrid-product-card p{margin:0 0 .85rem;color:var(--offgrid-muted);font-size:.82rem;line-height:1.55}
.offgrid-product-specs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 1rem}
.offgrid-product-specs span{padding:.25rem .45rem;border-radius:6px;background:var(--offgrid-green-pale);color:var(--offgrid-green-dark);font-size:.67rem;font-weight:800}
.offgrid-product-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.offgrid-product-price{color:var(--offgrid-green-dark);font-size:1.1rem;font-weight:900}
.offgrid-product-actions{display:flex;gap:6px}
.offgrid-mini-button{
  min-height:38px;padding:.48rem .65rem;border:1px solid var(--offgrid-line);border-radius:8px;
  background:#fff;color:var(--offgrid-ink);font-size:.75rem;font-weight:850;cursor:pointer
}
.offgrid-mini-button--add{background:var(--offgrid-green);border-color:var(--offgrid-green);color:#fff}

/* cart + modal */
.offgrid-review-overlay{
  position:fixed;inset:0;z-index:10020;background:rgba(7,28,15,.45);
  opacity:0;pointer-events:none;transition:.25s ease
}
.offgrid-review-overlay.is-open{opacity:1;pointer-events:auto}
.offgrid-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:10030;width:min(420px,94vw);
  display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 55px rgba(0,0,0,.14);
  transform:translateX(105%);transition:.3s ease
}
.offgrid-cart-drawer.is-open{transform:none}
.offgrid-drawer-head{padding:20px;border-bottom:1px solid var(--offgrid-line);display:flex;justify-content:space-between;align-items:center}
.offgrid-drawer-head h2{margin:0;font-size:1.15rem}
.offgrid-close{
  width:38px;height:38px;border:1px solid var(--offgrid-line);border-radius:9px;background:#fff;cursor:pointer
}
.offgrid-cart-items{flex:1;overflow:auto;padding:14px 20px}
.offgrid-empty{padding:50px 10px;text-align:center;color:var(--offgrid-muted)}
.offgrid-cart-item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid #eef3ef;align-items:center}
.offgrid-cart-item img{width:56px;height:56px;object-fit:contain;border-radius:9px;background:var(--offgrid-soft)}
.offgrid-cart-item strong{display:block;font-size:.82rem}
.offgrid-cart-item small{color:var(--offgrid-green-dark);font-weight:850}
.offgrid-cart-qty{display:flex;align-items:center;gap:6px;margin-top:5px}
.offgrid-cart-qty button{width:25px;height:25px;border:1px solid var(--offgrid-line);border-radius:6px;background:#fff;cursor:pointer}
.offgrid-remove{border:0;background:transparent;color:#b03535;cursor:pointer}
.offgrid-drawer-foot{padding:18px 20px;border-top:1px solid var(--offgrid-line)}
.offgrid-cart-total{display:flex;justify-content:space-between;font-weight:900;margin-bottom:12px}
.offgrid-cart-checkout{width:100%}
.offgrid-modal{
  position:fixed;left:50%;top:50%;z-index:10040;width:min(680px,calc(100% - 28px));max-height:88vh;overflow:auto;
  transform:translate(-50%,-46%) scale(.98);opacity:0;pointer-events:none;
  background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.22);transition:.24s ease
}
.offgrid-modal.is-open{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}
.offgrid-modal-body{padding:22px}
.offgrid-modal-product{display:grid;grid-template-columns:190px 1fr;gap:22px}
.offgrid-modal-product img{width:190px;height:190px;object-fit:contain;border-radius:16px;background:var(--offgrid-soft)}
.offgrid-modal-price{font-size:1.35rem;font-weight:900;color:var(--offgrid-green-dark)}
.offgrid-spec-list{margin-top:16px}
.offgrid-spec-row{display:flex;justify-content:space-between;gap:20px;padding:.62rem 0;border-bottom:1px solid #edf2ed;font-size:.85rem}
.offgrid-spec-row span{color:var(--offgrid-muted)}

/* calculator + quote form alignment */
.offgrid-calculator{margin-top:0}
.offgrid-contact-form{
  max-width:900px;margin:0 auto;padding:32px;border:1px solid var(--offgrid-line);
  border-radius:22px;background:#fff;box-shadow:var(--offgrid-shadow-soft)
}
.offgrid-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.offgrid-field{margin-bottom:14px}
.offgrid-field label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:850}
.offgrid-field input,.offgrid-field select,.offgrid-field textarea{
  width:100%;padding:.78rem .9rem;border:1px solid var(--offgrid-line);border-radius:10px;background:#fff
}
.offgrid-field textarea{min-height:120px;resize:vertical}
.offgrid-field input:focus,.offgrid-field select:focus,.offgrid-field textarea:focus{
  outline:3px solid rgba(31,113,51,.12);border-color:var(--offgrid-green)
}

/* Reuse original footer but prevent dark logo. */
.offgrid-footer .offgrid-brand img{filter:none;background:#fff;padding:7px;border-radius:10px}

/* reveal class */
.offgrid-reveal{opacity:0;transform:translateY(26px)}
.offgrid-reveal.is-visible{opacity:1;transform:none;transition:opacity .75s ease,transform .75s ease}

/* responsive */
@media(max-width:1080px){
  .offgrid-product-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-remote-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-director{gap:38px}
  .offgrid-menu{gap:.65rem}
  .offgrid-menu a{font-size:.81rem}
}
@media(max-width:940px){
  .offgrid-director,.offgrid-learning-grid,.offgrid-diaspora__head{grid-template-columns:1fr}
  .offgrid-director__photo{max-width:560px;margin:auto}
  .offgrid-intro-band__grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-notes-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .offgrid-product-grid,.offgrid-remote-grid,.offgrid-intro-band__grid{grid-template-columns:1fr}
  .offgrid-diaspora{padding:34px 22px}
  .offgrid-modal-product{grid-template-columns:1fr}
  .offgrid-modal-product img{width:100%;height:220px}
  .offgrid-form-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .offgrid-reveal{opacity:1!important;transform:none!important}
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}
}



/* =========================================================
   PREMIUM DECISION-SUPPORT & CONVERSION ENHANCEMENTS
   ========================================================= */
.offgrid-pathways{
  background:
    radial-gradient(circle at 50% 0%,rgba(31,113,51,.065),transparent 35%),
    #fff;
}
.offgrid-pathway-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.offgrid-pathway-card{
  position:relative;
  min-height:280px;
  padding:24px;
  overflow:hidden;
  text-align:left;
  border:1px solid var(--offgrid-line);
  border-radius:22px;
  background:#fff;
  color:var(--offgrid-ink);
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.offgrid-pathway-card::after{
  content:"";
  position:absolute;
  width:160px;height:160px;
  right:-80px;bottom:-90px;
  border-radius:50%;
  background:var(--offgrid-green-pale);
  transition:transform .35s ease;
}
.offgrid-pathway-card:hover,
.offgrid-pathway-card.is-active{
  transform:translateY(-6px);
  border-color:rgba(31,113,51,.32);
  box-shadow:var(--offgrid-shadow-soft);
}
.offgrid-pathway-card.is-active{
  background:linear-gradient(150deg,#fff,#f4fbf5);
}
.offgrid-pathway-card:hover::after,
.offgrid-pathway-card.is-active::after{transform:scale(1.35)}
.offgrid-pathway-icon{
  display:grid;place-items:center;
  width:50px;height:50px;
  border-radius:15px;
  background:var(--offgrid-green-pale);
  color:var(--offgrid-green-dark);
  font-size:1.35rem;
  font-weight:900;
}
.offgrid-pathway-number{
  position:absolute;
  top:25px;right:24px;
  color:#a9b7ad;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
}
.offgrid-pathway-card strong{
  display:block;
  margin:28px 0 8px;
  font-size:1.08rem;
}
.offgrid-pathway-card small{
  display:block;
  position:relative;z-index:2;
  min-height:64px;
  color:var(--offgrid-muted);
  line-height:1.6;
}
.offgrid-pathway-action{
  display:block;
  position:absolute;
  left:24px;bottom:22px;z-index:2;
  color:var(--offgrid-green);
  font-size:.78rem;
  font-weight:900;
}
.offgrid-pathway-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:18px;
  padding:23px 25px;
  border:1px solid var(--offgrid-line);
  border-radius:18px;
  background:var(--offgrid-soft);
}
.offgrid-pathway-result h3{margin:.3rem 0 .3rem;font-size:1.08rem}
.offgrid-pathway-result p{margin:0;color:var(--offgrid-muted);font-size:.88rem}

.offgrid-shop-discovery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:18px;
}
.offgrid-shop-search,
.offgrid-shop-guidance{
  padding:18px 20px;
  border:1px solid var(--offgrid-line);
  border-radius:16px;
  background:#fff;
}
.offgrid-shop-search label{
  display:block;
  margin-bottom:8px;
  font-size:.75rem;
  font-weight:900;
  color:var(--offgrid-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.offgrid-shop-search__control{
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 .8rem;
  border:1px solid var(--offgrid-line);
  border-radius:11px;
  background:var(--offgrid-soft);
}
.offgrid-shop-search__control span{font-size:1.1rem;color:var(--offgrid-muted)}
.offgrid-shop-search__control input{
  width:100%;
  min-height:45px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--offgrid-ink);
}
.offgrid-shop-guidance{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  background:linear-gradient(145deg,var(--offgrid-green-pale),#fff);
}
.offgrid-shop-guidance strong{color:var(--offgrid-green-dark)}
.offgrid-shop-guidance span{color:var(--offgrid-muted);font-size:.82rem;line-height:1.45}
.offgrid-shop-guidance a{color:var(--offgrid-green);font-size:.78rem;font-weight:900;white-space:nowrap}
.offgrid-shop-tools__right{display:flex;align-items:center;gap:10px}
.offgrid-product-count{font-size:.75rem;color:var(--offgrid-muted);font-weight:800}

.offgrid-assurance{
  position:relative;
  background:#fff;
}
.offgrid-assurance-shell{
  padding:56px;
  border:1px solid var(--offgrid-line);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0%,rgba(243,166,31,.08),transparent 24%),
    linear-gradient(145deg,#fbfdfb,#f5faf6);
}
.offgrid-assurance-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.offgrid-assurance-item{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  min-height:155px;
  padding:20px;
  border:1px solid var(--offgrid-line);
  border-radius:16px;
  background:#fff;
}
.offgrid-assurance-item>span{
  display:grid;place-items:center;
  width:42px;height:42px;
  border-radius:13px;
  background:var(--offgrid-green-pale);
  color:var(--offgrid-green-dark);
  font-size:.72rem;
  font-weight:900;
}
.offgrid-assurance-item h3{margin:.1rem 0 .4rem;font-size:.96rem}
.offgrid-assurance-item p{margin:0;color:var(--offgrid-muted);font-size:.82rem;line-height:1.55}

.offgrid-diaspora-visibility{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  align-items:center;
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.12);
}
.offgrid-diaspora-visibility h3{margin:.35rem 0 .55rem;color:#fff;font-size:1.3rem}
.offgrid-diaspora-visibility p{margin:0;color:rgba(255,255,255,.65);font-size:.86rem}
.offgrid-milestone-track{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
}
.offgrid-milestone-track span{
  position:relative;
  min-height:76px;
  display:flex;
  align-items:flex-end;
  padding:11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.62);
  font-size:.67rem;
  font-weight:800;
  line-height:1.35;
}
.offgrid-milestone-track span::before{
  content:"";
  position:absolute;
  top:11px;left:11px;
  width:8px;height:8px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.4);
}
.offgrid-milestone-track span.is-done{
  color:#fff;
  border-color:rgba(255,209,106,.24);
  background:rgba(243,166,31,.08);
}
.offgrid-milestone-track span.is-done::before{
  background:#ffd16a;border-color:#ffd16a;
  box-shadow:0 0 0 4px rgba(255,209,106,.08);
}

.offgrid-faq{
  max-width:900px;
  margin:0 auto;
  border-top:1px solid var(--offgrid-line);
}
.offgrid-faq-item{border-bottom:1px solid var(--offgrid-line)}
.offgrid-faq-question{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:20px 4px;
  border:0;
  background:transparent;
  color:var(--offgrid-ink);
  text-align:left;
  cursor:pointer;
  font-weight:850;
}
.offgrid-faq-question b{
  display:grid;place-items:center;
  flex:0 0 32px;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--offgrid-green-pale);
  color:var(--offgrid-green-dark);
  font-size:1.1rem;
  transition:transform .2s ease;
}
.offgrid-faq-item.is-open .offgrid-faq-question b{transform:rotate(45deg)}
.offgrid-faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .3s ease;
}
.offgrid-faq-answer>p{
  overflow:hidden;
  margin:0;
  color:var(--offgrid-muted);
  line-height:1.7;
}
.offgrid-faq-item.is-open .offgrid-faq-answer{grid-template-rows:1fr}
.offgrid-faq-item.is-open .offgrid-faq-answer>p{padding:0 48px 20px 4px}

.offgrid-header.is-scrolled{
  box-shadow:0 9px 30px rgba(8,56,25,.08);
}
.offgrid-header{
  transition:box-shadow .25s ease,background .25s ease;
}

.offgrid-mobile-actions{display:none}

@media(max-width:1080px){
  .offgrid-pathway-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-assurance-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-diaspora-visibility{grid-template-columns:1fr}
}
@media(max-width:800px){
  .offgrid-shop-discovery{grid-template-columns:1fr}
  .offgrid-shop-guidance{grid-template-columns:1fr}
  .offgrid-milestone-track{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:760px){
  body{padding-bottom:74px}
  .offgrid-pathway-grid,
  .offgrid-assurance-grid{grid-template-columns:1fr}
  .offgrid-pathway-card{min-height:245px}
  .offgrid-pathway-result{align-items:flex-start;flex-direction:column}
  .offgrid-assurance-shell{padding:34px 20px}
  .offgrid-shop-tools__right{width:100%;justify-content:space-between}
  .offgrid-milestone-track{grid-template-columns:1fr 1fr}
  .offgrid-milestone-track span{min-height:64px}
  .offgrid-mobile-actions{
    position:fixed;
    left:12px;right:12px;bottom:10px;
    z-index:9995;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:7px;
    border:1px solid rgba(17,70,33,.12);
    border-radius:15px;
    background:rgba(255,255,255,.94);
    box-shadow:0 12px 34px rgba(0,0,0,.13);
    backdrop-filter:blur(14px);
  }
  .offgrid-mobile-actions a{
    display:flex;align-items:center;justify-content:center;
    min-height:45px;
    border-radius:10px;
    text-decoration:none;
    font-size:.82rem;
    font-weight:900;
  }
  .offgrid-mobile-actions a:first-child{background:#1ebd62;color:#fff}
  .offgrid-mobile-actions a:last-child{background:var(--offgrid-green-dark);color:#fff}
}


/* =========================================================
   OFFGRID DESIGN SYSTEM — REFERO-INFORMED PREMIUM PASS
   Tesla: image-led storytelling & restrained UI
   Dyson: flat engineering-product gallery
   Vercel: precise technical interfaces & hairline hierarchy
   ========================================================= */

:root{
  --offgrid-canvas:#f7f7f2;
  --offgrid-paper:#ffffff;
  --offgrid-ink:#172019;
  --offgrid-muted:#667069;
  --offgrid-line:#e0e4df;
  --offgrid-soft:#f2f4f1;
  --offgrid-green:#1f7133;
  --offgrid-green-dark:#0d4b22;
  --offgrid-green-deep:#073517;
  --offgrid-green-pale:#edf6ee;
  --offgrid-amber:#f3a61f;
  --offgrid-amber-light:#fff3d6;
  --offgrid-radius:8px;
  --offgrid-radius-small:6px;
  --offgrid-shadow:none;
  --offgrid-shadow-soft:none;
  --offgrid-container:1240px;
  --offgrid-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

html{scroll-padding-top:88px}
body{
  background:var(--offgrid-canvas);
  color:var(--offgrid-ink);
  font-weight:400;
  line-height:1.62;
}
h1,h2,h3,h4,h5,h6{
  font-weight:500;
  letter-spacing:-.045em;
}
.offgrid-container{width:min(var(--offgrid-container),calc(100% - 48px))}
.offgrid-section{padding:116px 0}
.offgrid-section--soft{background:#f1f3ef}
.offgrid-section-heading{
  max-width:820px;
  margin-bottom:56px;
}
.offgrid-section-heading h2,
.offgrid-split h2,
.offgrid-cta h2{
  font-weight:500;
  font-size:clamp(2.15rem,4.3vw,3.9rem);
  line-height:1.04;
  letter-spacing:-.055em;
}
.offgrid-section-heading p{
  max-width:690px;
  font-size:1rem;
  line-height:1.7;
}
.offgrid-kicker{
  font-family:var(--offgrid-mono);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

/* Header: quieter, thinner and more product-led */
.offgrid-topbar{
  background:#0b2f17;
  font-family:var(--offgrid-mono);
  font-size:.68rem;
  letter-spacing:.02em;
}
.offgrid-header{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--offgrid-line);
  box-shadow:none!important;
}
.offgrid-header__inner{min-height:76px}
.offgrid-menu{gap:1.1rem}
.offgrid-menu a{
  font-size:.82rem;
  font-weight:500;
  color:#4f5a53;
}
.offgrid-menu > li > a::after{bottom:-9px;height:1px}
.offgrid-cart-link,
.offgrid-header-cta,
.offgrid-menu-toggle{
  border-radius:6px;
  box-shadow:none;
}
.offgrid-header-cta{background:var(--offgrid-green-dark);font-weight:600}
.offgrid-cart-link{font-weight:600}

/* Hero: preserve approved slider geometry while removing excess chrome */
.offgrid-hero,.offgrid-slides,.offgrid-slide{min-height:690px}
.offgrid-slide__overlay{
  background:
    linear-gradient(90deg,rgba(4,34,15,.96) 0%,rgba(5,45,19,.82) 44%,rgba(5,45,19,.15) 78%,rgba(5,45,19,.04) 100%);
}
.offgrid-slide__copy{max-width:650px}
.offgrid-slide h1{
  max-width:650px;
  font-weight:500;
  font-size:clamp(3rem,5.5vw,5rem);
  line-height:1;
  letter-spacing:-.06em;
}
.offgrid-slide p{
  max-width:570px;
  font-size:1rem;
  line-height:1.65;
}
.offgrid-hero-pill{
  padding:.42rem .68rem;
  border-radius:6px;
  border-color:rgba(255,255,255,.24);
  background:rgba(0,0,0,.08);
  font-family:var(--offgrid-mono);
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.05em;
}
.offgrid-hero-pill::before{width:6px;height:6px;box-shadow:none}
.offgrid-slider-arrow{
  width:42px;height:42px;
  border-radius:6px;
  background:rgba(7,31,15,.28);
}
.offgrid-slider-dot{width:7px;height:7px}
.offgrid-slider-dot.is-active{width:27px}
.offgrid-button,
.wp-element-button,
input[type="submit"],
button[type="submit"]{
  min-height:44px;
  border-radius:6px;
  padding:.72rem 1.15rem;
  font-size:.82rem;
  font-weight:600;
  box-shadow:none!important;
  transform:none!important;
}
.offgrid-button--primary{
  background:var(--offgrid-amber);
  color:#182017;
}
.offgrid-button--primary:hover{background:#ffb82f}
.offgrid-button--outline,
.offgrid-button--light{
  border:1px solid var(--offgrid-line);
  background:#fff;
}

/* Intro strip: one continuous engineering rail, not four floating cards */
.offgrid-intro-band{
  background:#fff;
  border-bottom:1px solid var(--offgrid-line);
  padding:0;
}
.offgrid-intro-band__grid{
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.offgrid-intro-stat{
  padding:24px 26px;
  border:0;
  border-right:1px solid var(--offgrid-line);
  border-radius:0;
  background:#fff;
}
.offgrid-intro-stat:last-child{border-right:0}
.offgrid-intro-stat strong{
  font-weight:600;
  font-size:.86rem;
}
.offgrid-intro-stat span{font-size:.76rem;line-height:1.5}

/* Decision pathways: Vercel-like precision */
.offgrid-pathways{background:var(--offgrid-canvas)}
.offgrid-pathway-grid{gap:0;border:1px solid var(--offgrid-line)}
.offgrid-pathway-card{
  min-height:270px;
  border:0;
  border-right:1px solid var(--offgrid-line);
  border-radius:0;
  background:var(--offgrid-paper);
  box-shadow:none!important;
}
.offgrid-pathway-card:last-child{border-right:0}
.offgrid-pathway-card::after{display:none}
.offgrid-pathway-card:hover,
.offgrid-pathway-card.is-active{
  transform:none;
  background:#f4f8f4;
  border-color:var(--offgrid-line);
}
.offgrid-pathway-icon{
  width:42px;height:42px;
  border-radius:6px;
  font-size:1rem;
}
.offgrid-pathway-number{
  font-family:var(--offgrid-mono);
  font-size:.64rem;
}
.offgrid-pathway-card strong{font-weight:600}
.offgrid-pathway-action{
  font-family:var(--offgrid-mono);
  font-size:.67rem;
  font-weight:500;
}
.offgrid-pathway-result{
  margin-top:0;
  border-radius:0 0 6px 6px;
  border-top:0;
  background:#fff;
}

/* Director: editorial, restrained */
.offgrid-director{gap:74px}
.offgrid-director__photo img{
  border-radius:8px;
  box-shadow:none;
  border:1px solid var(--offgrid-line);
}
.offgrid-director__badge{
  left:16px;right:16px;bottom:16px;
  border-radius:6px;
  background:rgba(5,35,15,.82);
}
.offgrid-director__copy h2{
  font-size:clamp(2.3rem,4.4vw,4.2rem);
  font-weight:500;
  letter-spacing:-.06em;
}
.offgrid-director__copy>p{font-size:.98rem;line-height:1.75}
.offgrid-director__principle{
  margin:26px 0 18px;
  padding:22px 0 22px 22px;
  border-left:2px solid var(--offgrid-amber);
  border-radius:0;
  background:transparent;
  font-size:.93rem;
}
.offgrid-editorial-meta{
  display:flex;flex-wrap:wrap;gap:7px;
  margin:0 0 28px;
}
.offgrid-editorial-meta span{
  padding:.35rem .5rem;
  border:1px solid var(--offgrid-line);
  border-radius:4px;
  background:#fff;
  color:var(--offgrid-muted);
  font-family:var(--offgrid-mono);
  font-size:.6rem;
  letter-spacing:.06em;
}

/* Service & info cards: flat hairline grid */
.offgrid-card-grid{gap:0;border:1px solid var(--offgrid-line)}
.offgrid-info-card{
  min-height:220px;
  padding:28px;
  border:0!important;
  border-right:1px solid var(--offgrid-line)!important;
  border-bottom:1px solid var(--offgrid-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
}
.offgrid-card-grid--3 .offgrid-info-card:nth-child(3n){border-right:0!important}
.offgrid-card-grid--3 .offgrid-info-card:nth-last-child(-n+3){border-bottom:0!important}
.offgrid-card-icon{
  border-radius:6px!important;
  background:var(--offgrid-green-pale)!important;
  box-shadow:none!important;
}
.offgrid-info-card h3{font-size:1rem;font-weight:600}
.offgrid-info-card p{font-size:.84rem;line-height:1.65}

/* SHOP — Dyson-inspired engineering gallery */
#shop{
  background:#f6f3e9;
  border-top:1px solid #ebe7dc;
  border-bottom:1px solid #ebe7dc;
}
.offgrid-shop-discovery{
  grid-template-columns:.95fr 1.05fr;
  gap:0;
  border:1px solid #e4e0d4;
  margin-bottom:20px;
}
.offgrid-shop-search,
.offgrid-shop-guidance{
  border:0;
  border-radius:0;
  background:#fff;
}
.offgrid-shop-search{border-right:1px solid #e4e0d4}
.offgrid-shop-search label,
.offgrid-product-category{
  font-family:var(--offgrid-mono);
  letter-spacing:.08em;
}
.offgrid-shop-search__control{
  border-radius:4px;
  background:#fafaf8;
}
.offgrid-shop-tools{
  margin-bottom:30px;
  padding-bottom:18px;
  border-bottom:1px solid #dfdbcf;
}
.offgrid-product-tab{
  border-radius:4px;
  background:transparent;
  border-color:#d9d5cb;
  font-family:var(--offgrid-mono);
  font-size:.64rem;
  font-weight:500;
  letter-spacing:.03em;
}
.offgrid-product-tab.is-active,
.offgrid-product-tab:hover{
  background:var(--offgrid-green-dark);
  border-color:var(--offgrid-green-dark);
}
.offgrid-product-grid{
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  border:1px solid #dfdbcf;
  background:#dfdbcf;
}
.offgrid-product-card{
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none!important;
  transform:none!important;
}
.offgrid-product-card:hover{background:#fff}
.offgrid-product-media{
  height:310px;
  padding:26px;
  background:#fbfbf7;
  border-bottom:1px solid #ece9e0;
}
.offgrid-product-media img{
  object-fit:contain;
  transform:none!important;
  filter:drop-shadow(0 16px 14px rgba(27,46,31,.08));
}
.offgrid-product-badge{
  top:16px;right:16px;
  border-radius:3px;
  padding:.3rem .48rem;
  font-family:var(--offgrid-mono);
  font-size:.58rem;
  letter-spacing:.06em;
}
.offgrid-product-body{padding:24px}
.offgrid-product-category{
  font-size:.58rem;
  font-weight:600;
  color:#7b837d;
}
.offgrid-product-card h3{
  min-height:52px;
  margin:.55rem 0 .6rem;
  font-size:1.06rem;
  font-weight:500;
  letter-spacing:-.025em;
}
.offgrid-product-card p{
  min-height:64px;
  font-size:.8rem;
  line-height:1.55;
}
.offgrid-product-specs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0 0 18px;
  border-top:1px solid #ece9e0;
  border-left:1px solid #ece9e0;
}
.offgrid-product-specs span{
  padding:.48rem .55rem;
  border-right:1px solid #ece9e0;
  border-bottom:1px solid #ece9e0;
  border-radius:0;
  background:#fff;
  color:#59625b;
  font-family:var(--offgrid-mono);
  font-size:.58rem;
  font-weight:500;
}
.offgrid-product-foot{
  align-items:flex-end;
  padding-top:4px;
}
.offgrid-product-price{
  color:var(--offgrid-green-dark);
  font-size:1.12rem;
  font-weight:600;
}
.offgrid-product-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}
.offgrid-mini-button{
  min-height:34px;
  padding:.38rem .54rem;
  border-radius:4px;
  font-size:.66rem;
  font-weight:600;
  box-shadow:none;
}
.offgrid-mini-button--add{
  background:var(--offgrid-green-dark);
  border-color:var(--offgrid-green-dark);
}
.offgrid-mini-button--compare.is-active{
  background:var(--offgrid-amber-light);
  border-color:#e7bd64;
  color:#5c4316;
}

/* Comparison workspace */
.offgrid-compare-workspace{
  margin-top:28px;
  border:1px solid #dfdbcf;
  background:#fff;
}
.offgrid-compare-workspace[hidden]{display:none}
.offgrid-compare-head{
  display:flex;justify-content:space-between;gap:20px;align-items:end;
  padding:24px;
  border-bottom:1px solid #e8e4da;
}
.offgrid-compare-head h3{margin:.25rem 0 0;font-size:1.35rem;font-weight:500}
.offgrid-compare-clear{
  min-height:36px;
  padding:.45rem .65rem;
  border:1px solid #ddd8cd;
  border-radius:4px;
  background:#fff;
  color:var(--offgrid-muted);
  font-family:var(--offgrid-mono);
  font-size:.62rem;
  cursor:pointer;
}
.offgrid-compare-table-wrap{overflow-x:auto}
.offgrid-compare-table{
  min-width:720px;
  display:grid;
}
.offgrid-compare-row{
  display:grid;
  grid-template-columns:160px repeat(var(--compare-cols,2),minmax(180px,1fr));
  border-bottom:1px solid #ece9e0;
}
.offgrid-compare-row:last-child{border-bottom:0}
.offgrid-compare-cell{
  padding:16px 18px;
  border-right:1px solid #ece9e0;
  font-size:.8rem;
}
.offgrid-compare-cell:last-child{border-right:0}
.offgrid-compare-label{
  background:#fbfaf6;
  color:#6a716c;
  font-family:var(--offgrid-mono);
  font-size:.61rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.offgrid-compare-product{
  display:grid;gap:8px;
}
.offgrid-compare-product img{
  width:100%;height:130px;object-fit:contain;background:#fbfbf7;
}
.offgrid-compare-product strong{font-weight:600;font-size:.86rem}
.offgrid-compare-product .price{color:var(--offgrid-green-dark);font-weight:600}

/* Load-first split: cinematic product/engineering feature */
.offgrid-split{
  gap:72px;
}
.offgrid-split__visual{
  padding:30px;
  border:1px solid var(--offgrid-line);
  border-radius:8px;
  background:#fff;
}
.offgrid-split__visual img{border-radius:0}
.offgrid-split__copy p{max-width:660px}

/* Process: cleaner engineering rail */
.offgrid-process-grid{
  gap:1px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.14);
}
.offgrid-process-card{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#0b3d1d!important;
}
.offgrid-process-card span{
  font-family:var(--offgrid-mono);
  color:#ffd16a;
}
.offgrid-process-card h3{font-weight:500}
.offgrid-process-card p{font-size:.83rem;line-height:1.6}

/* Technical assurance: Vercel notebook language */
.offgrid-assurance{background:var(--offgrid-canvas)}
.offgrid-assurance-shell{
  padding:0;
  border:1px solid var(--offgrid-line);
  border-radius:6px;
  background:#fafafa;
}
.offgrid-assurance-shell .offgrid-section-heading{
  padding:52px 40px 0;
}
.offgrid-assurance-grid{
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--offgrid-line);
}
.offgrid-assurance-item{
  min-height:190px;
  padding:24px;
  border:0;
  border-right:1px solid var(--offgrid-line);
  border-bottom:1px solid var(--offgrid-line);
  border-radius:0;
  background:#fff;
}
.offgrid-assurance-item:nth-child(3n){border-right:0}
.offgrid-assurance-item:nth-last-child(-n+3){border-bottom:0}
.offgrid-assurance-item>span{
  width:34px;height:34px;
  border-radius:4px;
  font-family:var(--offgrid-mono);
  font-size:.62rem;
}
.offgrid-assurance-item h3{font-size:.94rem;font-weight:600}
.offgrid-assurance-item p{font-size:.8rem}

/* Diaspora: technical project-control feel */
.offgrid-diaspora{
  padding:0;
  border-radius:6px;
  background:#0b2f17;
  box-shadow:none;
}
.offgrid-diaspora::after{display:none}
.offgrid-diaspora__head{
  padding:48px 44px 34px;
}
.offgrid-remote-grid{
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin:0;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.offgrid-remote-card{
  min-height:220px;
  border:0;
  border-right:1px solid rgba(255,255,255,.13);
  border-radius:0;
  background:transparent;
}
.offgrid-remote-card:last-child{border-right:0}
.offgrid-remote-card span{font-family:var(--offgrid-mono);font-size:.62rem}
.offgrid-diaspora-visibility{
  padding:34px 44px 42px;
  margin:0;
  border-top:0;
}
.offgrid-milestone-track{gap:0}
.offgrid-milestone-track span{
  min-height:82px;
  border-radius:0;
  border-right:0;
  background:rgba(255,255,255,.035);
  font-family:var(--offgrid-mono);
  font-size:.58rem;
}
.offgrid-milestone-track span.is-done{background:rgba(243,166,31,.07)}

/* Projects: Tesla-inspired image-first stories */
.offgrid-project-grid{
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.offgrid-project-card{
  position:relative;
  min-height:510px;
  overflow:hidden;
  border:0!important;
  border-radius:8px!important;
  background:#0a2916!important;
  box-shadow:none!important;
}
.offgrid-project-media{
  position:absolute;inset:0;
  height:100%!important;
}
.offgrid-project-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(5,30,13,.92) 0%,rgba(5,30,13,.2) 56%,rgba(5,30,13,.05) 100%);
}
.offgrid-project-media img{width:100%;height:100%;object-fit:cover}
.offgrid-project-body{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  padding:30px;
  color:#fff;
  background:transparent!important;
}
.offgrid-project-body .offgrid-kicker{color:#ffd16a}
.offgrid-project-body h3{color:#fff;font-size:1.45rem;font-weight:500}
.offgrid-project-body p{color:rgba(255,255,255,.72);max-width:520px;font-size:.84rem}

/* Learning: editorial / technical */
.offgrid-learning-grid{grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--offgrid-line)}
.offgrid-learning-feature{
  min-height:560px;
  border-radius:0;
}
.offgrid-learning-list{gap:0}
.offgrid-learning-item{
  min-height:92px;
  padding:17px 20px;
  border:0;
  border-bottom:1px solid var(--offgrid-line);
  border-radius:0;
  box-shadow:none!important;
  transform:none!important;
}
.offgrid-learning-item:last-child{border-bottom:0}
.offgrid-learning-item b{
  width:36px;height:36px;
  border-radius:4px;
  font-family:var(--offgrid-mono);
  font-size:.62rem;
}
.offgrid-learning-item h3{font-size:.88rem;font-weight:600}
.offgrid-learning-item p{font-size:.75rem}
.offgrid-notes-grid{gap:1px;border:1px solid var(--offgrid-line);background:var(--offgrid-line)}
.offgrid-note-card{
  border:0;border-radius:0;background:#fff;box-shadow:none;
}

/* Calculator: signature Vercel-style engineering interface */
#calculator{background:#f7f7f2}
.offgrid-calculator{
  grid-template-columns:.9fr 1.1fr;
  gap:0;
  padding:0;
  border:1px solid #d9ddd8;
  border-radius:6px;
  background:#111713;
  box-shadow:none;
  overflow:hidden;
}
.offgrid-calculator-inputs,
.offgrid-calculator-results{
  padding:34px;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
}
.offgrid-calculator-inputs{
  border-right:1px solid rgba(255,255,255,.14);
}
.offgrid-engineering-stamp{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:34px;
  color:#8ba092;
  font-family:var(--offgrid-mono);
  font-size:.61rem;
  letter-spacing:.06em;
}
.offgrid-engineering-stamp b{
  display:grid;place-items:center;width:30px;height:30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:4px;
  color:#ffd16a;
  font-weight:500;
}
.offgrid-calculator h2{
  margin-bottom:2rem;
  font-size:1.7rem;
  font-weight:500;
}
.offgrid-calculator label{
  grid-template-columns:1fr auto;
  padding:0 0 1.2rem;
  margin:0 0 1.35rem;
  border-bottom:1px solid rgba(255,255,255,.09);
  font-family:var(--offgrid-mono);
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.offgrid-calculator label strong{
  color:#fff;
  font-size:.7rem;
  font-weight:500;
}
.offgrid-calculator input[type="range"]{
  margin-top:12px;
  accent-color:var(--offgrid-amber);
}
.offgrid-calculator-note{
  max-width:500px;
  font-size:.72rem;
  line-height:1.6;
}
.offgrid-calculator-results dl{
  border-top:1px solid rgba(255,255,255,.12);
}
.offgrid-calculator-results dl > div{
  padding:1rem 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.offgrid-calculator-results dt{
  font-family:var(--offgrid-mono);
  font-size:.64rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.offgrid-calculator-results dd{
  font-weight:500;
  letter-spacing:-.02em;
}
.offgrid-calculator-results dl > div:first-child dd,
.offgrid-calculator-results dl > div:nth-child(2) dd,
.offgrid-calculator-results dl > div:nth-child(5) dd{
  color:#ffd16a;
}

/* FAQ and contact: precise and calm */
.offgrid-faq-question{font-weight:500}
.offgrid-faq-question b{border-radius:4px}
.offgrid-contact-card,
.offgrid-contact-form{
  border-radius:6px!important;
  box-shadow:none!important;
}

/* Footer */
.offgrid-footer{background:#0a2413}
.offgrid-footer__grid{border-top:1px solid rgba(255,255,255,.1)}

/* Responsive */
@media(max-width:1080px){
  .offgrid-card-grid--3 .offgrid-info-card:nth-child(3n){border-right:1px solid var(--offgrid-line)!important}
  .offgrid-card-grid--3 .offgrid-info-card:nth-child(2n){border-right:0!important}
  .offgrid-card-grid--3 .offgrid-info-card:nth-last-child(-n+3){border-bottom:1px solid var(--offgrid-line)!important}
  .offgrid-card-grid--3 .offgrid-info-card:nth-last-child(-n+2){border-bottom:0!important}
  .offgrid-product-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-assurance-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-assurance-item:nth-child(3n){border-right:1px solid var(--offgrid-line)}
  .offgrid-assurance-item:nth-child(2n){border-right:0}
  .offgrid-assurance-item:nth-last-child(-n+3){border-bottom:1px solid var(--offgrid-line)}
  .offgrid-assurance-item:nth-last-child(-n+2){border-bottom:0}
  .offgrid-remote-grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-remote-card:nth-child(2){border-right:0}
  .offgrid-remote-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
}
@media(max-width:900px){
  .offgrid-section{padding:92px 0}
  .offgrid-intro-band__grid{grid-template-columns:repeat(2,1fr)}
  .offgrid-intro-stat:nth-child(2){border-right:0}
  .offgrid-intro-stat:nth-child(-n+2){border-bottom:1px solid var(--offgrid-line)}
  .offgrid-director{gap:42px}
  .offgrid-project-grid{grid-template-columns:1fr}
  .offgrid-learning-grid{grid-template-columns:1fr}
  .offgrid-calculator{grid-template-columns:1fr}
  .offgrid-calculator-inputs{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:760px){
  .offgrid-container{width:min(var(--offgrid-container),calc(100% - 28px))}
  .offgrid-section{padding:76px 0}
  .offgrid-section-heading{margin-bottom:38px}
  .offgrid-section-heading h2,.offgrid-split h2,.offgrid-cta h2{font-size:clamp(2rem,10vw,3rem)}
  .offgrid-slide h1{font-size:clamp(2.55rem,11vw,3.7rem)}
  .offgrid-pathway-grid{border-bottom:0}
  .offgrid-pathway-card{min-height:220px;border-right:0;border-bottom:1px solid var(--offgrid-line)}
  .offgrid-pathway-card:last-child{border-bottom:0}
  .offgrid-intro-band__grid{grid-template-columns:1fr}
  .offgrid-intro-stat{border-right:0;border-bottom:1px solid var(--offgrid-line)}
  .offgrid-intro-stat:last-child{border-bottom:0}
  .offgrid-product-grid{grid-template-columns:1fr}
  .offgrid-product-media{height:290px}
  .offgrid-assurance-shell .offgrid-section-heading{padding:36px 22px 0}
  .offgrid-assurance-grid{grid-template-columns:1fr}
  .offgrid-assurance-item{border-right:0!important;border-bottom:1px solid var(--offgrid-line)!important}
  .offgrid-assurance-item:last-child{border-bottom:0!important}
  .offgrid-diaspora__head{padding:36px 24px 28px}
  .offgrid-remote-grid{grid-template-columns:1fr}
  .offgrid-remote-card{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important}
  .offgrid-remote-card:last-child{border-bottom:0!important}
  .offgrid-diaspora-visibility{padding:28px 24px 34px}
  .offgrid-project-card{min-height:450px}
  .offgrid-project-body{padding:24px}
  .offgrid-calculator-inputs,.offgrid-calculator-results{padding:25px 20px}
  .offgrid-compare-head{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   DRAMATIC SCROLL PASS
   - tighter content width
   - reduced dead vertical space
   - stronger section-to-section chapter transitions
   - desktop sticky moments / mobile-safe simplification
   ========================================================= */

:root{
  --offgrid-container:1120px;
}

/* Content should never feel pressed against the viewport. */
.offgrid-container{
  width:min(var(--offgrid-container),calc(100% - 72px));
}
.offgrid-hero .offgrid-container{
  width:min(1180px,calc(100% - 72px));
}

/* Less dead air between sections. */
.offgrid-section{
  position:relative;
  overflow:clip;
  padding:84px 0;
}
#about{padding-top:64px}
.offgrid-section-heading{
  margin-bottom:38px;
}
.offgrid-section-heading h2,
.offgrid-split h2,
.offgrid-cta h2{
  margin-bottom:.8rem;
}
.offgrid-section-heading p{
  max-width:650px;
}
.offgrid-intro-band__grid{
  max-width:1120px;
  margin-inline:auto;
}
.offgrid-cta{padding:58px 0}
.offgrid-footer{padding-top:58px}

/* Each major section gets a restrained but oversized chapter index. */
.offgrid-scroll-chapter{
  isolation:isolate;
}
.offgrid-chapter-index{
  position:absolute;
  z-index:0;
  top:18px;
  right:max(36px,calc((100vw - 1120px)/2));
  color:currentColor;
  opacity:.035;
  font-family:var(--offgrid-mono);
  font-size:clamp(4.5rem,9vw,9rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.08em;
  pointer-events:none;
  user-select:none;
}
.offgrid-section--dark .offgrid-chapter-index,
.offgrid-diaspora-section .offgrid-chapter-index{
  opacity:.06;
}

/* Thin section energy line draws itself on entry. */
.offgrid-section-trace{
  position:absolute;
  z-index:2;
  top:0;
  left:50%;
  width:min(1120px,calc(100% - 72px));
  height:1px;
  transform:translateX(-50%);
  background:var(--offgrid-line);
  overflow:hidden;
  pointer-events:none;
}
.offgrid-section-trace::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,var(--offgrid-green),var(--offgrid-amber));
  transform:scaleX(var(--trace-progress,0));
  transform-origin:left center;
}

/* Headings now feel like chapter-title reveals rather than ordinary fades. */
.offgrid-section-heading{
  position:relative;
  z-index:2;
}
.offgrid-section-heading .offgrid-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.offgrid-section-heading .offgrid-kicker::after{
  content:"";
  width:34px;
  height:1px;
  background:currentColor;
  transform-origin:left center;
  transform:scaleX(var(--kicker-line,0));
  opacity:.45;
}
.offgrid-section-heading h2{
  will-change:transform,clip-path,opacity;
}

/* More deliberate sticky editorial moments. */
@media(min-width:941px){
  .offgrid-director__photo{
    align-self:start;
    position:sticky;
    top:112px;
  }
  .offgrid-learning-feature{
    position:sticky;
    top:106px;
    align-self:start;
  }
}

/* Make projects feel like cinematic chapters. */
.offgrid-project-card{
  will-change:transform;
}
.offgrid-project-media img{
  will-change:transform;
}
.offgrid-project-grid{
  gap:14px;
}

/* Make product grid less edge-heavy and less dense. */
.offgrid-product-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.offgrid-product-body{padding:22px}
.offgrid-product-media{height:285px}
.offgrid-shop-discovery{margin-inline:auto}
.offgrid-shop-tools{margin-top:4px}

/* Slightly tighter service / assurance areas. */
.offgrid-info-card{min-height:205px;padding:25px}
.offgrid-assurance-shell .offgrid-section-heading{padding-top:42px}
.offgrid-assurance-item{min-height:170px}

/* Reduce oversized gaps within long information sections. */
#services .offgrid-section-heading[style],
#learning .offgrid-section-heading[style]{
  margin-top:48px!important;
}
.offgrid-learning-feature{min-height:510px}
.offgrid-learning-item{min-height:84px}
.offgrid-note-card{padding:23px}

/* Diaspora becomes a strong chapter break. */
#diaspora{
  padding-top:72px;
  padding-bottom:72px;
}
.offgrid-diaspora{
  transform-origin:center top;
}
.offgrid-diaspora__head{
  padding:42px 40px 30px;
}
.offgrid-remote-card{
  min-height:200px;
}

/* Calculator less oversized vertically but visually stronger. */
#calculator{padding-top:76px;padding-bottom:76px}
.offgrid-calculator-inputs,
.offgrid-calculator-results{padding:30px}
.offgrid-engineering-stamp{margin-bottom:24px}

/* Persistent chapter rail gives scroll position a visual narrative. */
.offgrid-chapter-rail{
  position:fixed;
  z-index:920;
  left:18px;
  top:50%;
  display:flex;
  align-items:center;
  gap:10px;
  transform:translateY(-50%);
  color:#637069;
  pointer-events:none;
  mix-blend-mode:multiply;
}
.offgrid-chapter-rail__line{
  position:relative;
  width:1px;
  height:120px;
  background:rgba(77,91,82,.22);
  overflow:hidden;
}
.offgrid-chapter-rail__line span{
  display:block;
  width:100%;
  height:100%;
  background:var(--offgrid-amber);
  transform:scaleY(0);
  transform-origin:top center;
}
.offgrid-chapter-rail__meta{
  display:grid;
  gap:3px;
  width:58px;
}
.offgrid-chapter-rail__meta b{
  color:var(--offgrid-green-dark);
  font-family:var(--offgrid-mono);
  font-size:.63rem;
  font-weight:600;
}
.offgrid-chapter-rail__meta span{
  max-width:58px;
  font-family:var(--offgrid-mono);
  font-size:.55rem;
  line-height:1.25;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Parallax masks. */
.offgrid-parallax-mask{
  overflow:hidden;
}
.offgrid-parallax-mask img{
  will-change:transform;
}

/* The standard reveal is now intentionally deeper. */
.offgrid-reveal{
  will-change:transform,opacity;
}

/* Avoid content crowding on common laptop widths. */
@media(max-width:1280px){
  .offgrid-chapter-rail{display:none}
}
@media(max-width:1180px){
  .offgrid-container,
  .offgrid-hero .offgrid-container{
    width:min(var(--offgrid-container),calc(100% - 48px));
  }
  .offgrid-section-trace{width:calc(100% - 48px)}
}
@media(max-width:900px){
  .offgrid-section{padding:68px 0}
  #about{padding-top:54px}
  .offgrid-section-heading{margin-bottom:32px}
  .offgrid-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .offgrid-container,
  .offgrid-hero .offgrid-container{
    width:calc(100% - 32px);
  }
  .offgrid-section-trace{width:calc(100% - 32px)}
  .offgrid-section{padding:58px 0}
  #about{padding-top:44px}
  #diaspora,#calculator{padding-top:58px;padding-bottom:58px}
  .offgrid-section-heading{margin-bottom:28px}
  .offgrid-section-heading p{font-size:.94rem}
  .offgrid-chapter-index{
    top:14px;
    right:16px;
    font-size:4.8rem;
  }
  .offgrid-product-grid{grid-template-columns:1fr}
  .offgrid-product-media{height:270px}
  .offgrid-project-card{min-height:420px}
  .offgrid-director{gap:30px}
  .offgrid-director__copy h2{font-size:clamp(2rem,9vw,2.8rem)}
}

/* Reduced motion: retain the tightened layout without the choreography. */
@media(prefers-reduced-motion:reduce){
  .offgrid-chapter-rail{display:none}
  .offgrid-chapter-index{opacity:.025}
}
