/* EarthRoster public pages: shared type, navigation and genuine product views. */
:root{--ink:#203c31;--green:#28533f;--forest:#254b39;--muted:#657266;--line:#d8dfd3;--paper:#faf9f3}
body.er102-public{background:#faf9f3;color:var(--ink);-webkit-text-size-adjust:100%}
.er102-public .site-header{background:#faf9f3;border-bottom:1px solid #dce2d6;backdrop-filter:none}
.er102-public .wrap{width:100%;max-width:1220px;padding-inline:40px;margin-inline:auto}
.er102-public .nav{height:78px;min-height:78px;gap:22px}
.er102-public .logo{font-size:24px;font-weight:780;letter-spacing:-1.1px}
.er102-public .navlinks a{font-size:13px;font-weight:600}
.er102-public .pill{min-height:44px;padding:12px 20px;border-radius:10px;font-size:13px;line-height:1.35;letter-spacing:0;transition:background .12s,border-color .12s}
.er102-public .pill:hover{transform:none}
.er102-public .pill.solid{background:#28533f;color:#fff;box-shadow:none}
.er102-public .pill.warm{background:#e4eabf;color:#23442f;border-color:#d7dfaa}
.er102-public .pill.light{background:#fafbf5;border-color:#becdbb;color:#2e533a}
.er102-public .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.14em;font-weight:750}
.er102-public .hero{padding:65px 0 55px;background:linear-gradient(125deg,#f5f1e4 0%,#edf0e3 52%,#e2eadb 100%);color:#203e30;overflow:hidden}
.er102-public .hero::before{display:none}
.er102-public .hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);align-items:center;gap:45px}
.er102-public .hero .eyebrow{color:#57704f}
.er102-public .hero h1{max-width:590px;font-size:clamp(44px,4vw,58px);line-height:1.08;letter-spacing:-2.5px;font-weight:740;margin:22px 0}
.er102-public .hero h1 em{font-style:normal;color:#5c754e;font-size:.95em}
.er102-public .hero-copy>p{color:#5c6d5e;font-size:16px;line-height:1.75;max-width:475px}
.er102-public .hero-actions{gap:18px;margin:26px 0 18px}
.er102-public .hero-actions .pill{padding:14px 20px;font-size:13px}
.er102-public .hero-actions .text-link{font-size:13px}
.er102-public .hero-notes{gap:9px 15px;font-size:11px;color:#64745d;line-height:1.6}
.er102-free-note{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:9px 12px;border:1px solid #c7d3ba;background:#f6f8ec;border-radius:8px;color:#476039;font-size:11px;font-weight:650}
.er102-free-note::before{content:'✓';display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dce7c9;color:#3d6435}
.er102-public .hero-visual{min-width:0;padding:14px 0 0;position:relative}
.er102-public .hero-visual::before{display:none}
.er102-public .visual-label{margin:0 0 12px;letter-spacing:.09em;font-size:8px;color:#68775e}
.er102-public .visual-label b{font-size:9px;font-weight:600}
.er102-public .app-window{transform:none;border-radius:13px;border:1px solid #c5d0bd;background:#fffdf8;box-shadow:0 14px 40px #263f3012;overflow:hidden}
.er102-public .window-bar{height:30px;background:#f7f8f1;border-bottom:1px solid #dbe2d4}
.er102-public .window-bar small{font-size:8px}
.er102-public .app-window img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top}
.er102-public .trial-stamp{position:static;display:inline-flex;align-items:center;gap:9px;transform:none;margin:14px 0 0;padding:0;background:transparent;border:0;box-shadow:none;color:#3f6242;border-radius:0}
.er102-public .trial-stamp strong{font-size:13px;letter-spacing:0;line-height:1.5}
.er102-public .trial-stamp span{font-size:10px;line-height:1.5;color:#5f7256}
.er102-public .trial-stamp br{display:none}
.er102-public .shot-caption{font-size:9px;margin:8px 0 0;color:#74816d}
.er102-public .benefit-strip{background:#e4eadb;padding:18px 0}
.er102-public .benefit-strip b{font-size:12px}
.er102-public .section{padding-block:76px}
.er102-public .section h2{font-size:clamp(30px,3.1vw,43px);line-height:1.16;letter-spacing:-1.5px}
.er102-public .section-heading>p,.er102-public .inside-copy>p,.er102-public .faq-grid>div>p,.er102-public .contact-grid>div>p{font-size:15px;line-height:1.75}
.er102-public .feature{padding:25px 22px;border-radius:13px;box-shadow:none}
.er102-public .feature h3{font-size:19px;line-height:1.3}
.er102-public .feature p{font-size:13px;line-height:1.75}
.er102-public .feature a{font-size:12px}
.er102-public .feature-number{width:31px;height:31px;font-size:11px;margin-bottom:22px}
.er102-public .phone-stage{gap:20px;justify-content:center}
.er102-public .phone-shot{transform:none;border:5px solid #fffdf8;border-radius:19px;box-shadow:0 12px 30px #213c3010;max-width:235px;width:46%}
.er102-public .phone-shot.second{transform:none;margin-top:24px}
.er102-public .phone-shot figcaption{font-size:10px}
.er102-public .steps p,.er102-public .faq details p{font-size:13px;line-height:1.75}
.er102-public .plan-top>span{font-size:10px}
.er102-public .plan-top p,.er102-public .plan li{font-size:12px;line-height:1.7}
.er102-public .plan-cap{font-size:11px}
.er102-public .plan .pill{font-size:11px;padding-inline:9px}
.er102-public .pricing-note{font-size:12px}
.er102-public .comparison-scroll table{font-size:12px}
.er102-public .contact-card{box-shadow:none}
.er102-public .contact-card input,.er102-public .contact-card textarea{font-size:16px}
.er102-public .contact-card label{font-size:12px}
.er102-public .footer-links{font-size:12px}
.er102-public .footer-small{font-size:10px}
.er102-public .product-intro,.er102-public .about-hero{padding:68px 0;background:linear-gradient(125deg,#f3efdf,#e7eddf);color:#244531;border-bottom:1px solid #d9e1d0}
.er102-public :is(.product-intro,.about-hero) .eyebrow{color:#62764e}
.er102-public :is(.product-intro,.about-hero) h1{font-size:clamp(36px,4.2vw,58px);max-width:820px;letter-spacing:-2px;line-height:1.1;color:#244531;margin:18px 0 22px}
.er102-public :is(.product-intro,.about-hero) p{color:#5f705e;font-size:17px;line-height:1.75;max-width:720px}
.er102-public .public-grid article,.er102-public .about-grid article{background:#fffefa;box-shadow:none;border-color:#d7dfd1;border-radius:13px}
.er102-public .prose-section{padding-block:56px}
.er102-product-view{margin:30px 0 0;padding:14px;background:#e5eadc;border:1px solid #ced9c3;border-radius:16px;max-width:1000px}
.er102-product-view img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top;border-radius:8px}
.er102-product-view figcaption{font-size:11px;color:#677960;padding:10px 3px 0}
@media(max-width:1023px){
 .er102-public .wrap{padding-inline:26px}
 .er102-public .nav{height:72px;min-height:72px;gap:10px}
 .er102-public .nav-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-width:42px;min-height:44px;padding:10px;margin-left:auto}
 .er102-public .nav-toggle span{width:21px;height:2px;background:#315440}
 .er102-public .navlinks{display:none;position:absolute;top:71px;left:0;right:0;margin:0;padding:18px 26px;background:#faf9f3;border-bottom:1px solid #d2dccb;box-shadow:0 10px 20px #21402e09}
 .er102-public .navlinks.open{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
 .er102-public .navlinks a{font-size:14px;min-height:44px;display:flex;align-items:center;padding:9px 0}
 .er102-public .hero-grid{grid-template-columns:1fr;gap:34px}
 .er102-public .hero h1{max-width:650px;font-size:58px}
 .er102-public .hero-visual{max-width:760px;width:100%;margin-inline:auto}
 .er102-public .hero-visual .app-window img{aspect-ratio:1.6}
 .er102-public .hero{padding:46px 0}
 .er102-public .feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .er102-public .wrap{padding-inline:20px}
 .er102-public .nav{gap:7px}
 .er102-public .logo{font-size:21px}
 .er102-public .logo img{width:33px;height:33px}
 .er102-public .nav-trial{min-height:40px;padding:9px 11px;font-size:10px;white-space:nowrap}
 .er102-public .hero{padding:32px 0 34px}
 .er102-public .hero-grid{gap:25px}
 .er102-public .hero h1{font-size:44px;letter-spacing:-2px;margin:18px 0}
 .er102-public .hero h1 br{display:none}
 .er102-public .hero-copy>p{font-size:14px;line-height:1.75}
 .er102-public .hero-actions{margin:22px 0 15px;gap:16px}
 .er102-public .hero-actions .pill{font-size:12px;padding:13px 15px}
 .er102-public .hero-actions .text-link{font-size:12px}
 .er102-public .hero-notes{font-size:10px;gap:6px 12px}
 .er102-free-note{margin-top:16px;font-size:10px;padding:8px 10px}
 .er102-public .visual-label{font-size:7px}
 .er102-public .hero-visual{padding:0}
 .er102-public .section{padding-block:48px}
 .er102-public .section h2{font-size:30px;letter-spacing:-1px}
 .er102-public .section-heading>p,.er102-public .inside-copy>p,.er102-public .faq-grid>div>p,.er102-public .contact-grid>div>p{font-size:14px}
 .er102-public .feature-grid{grid-template-columns:1fr;gap:12px}
 .er102-public .feature{padding:21px}
 .er102-public .feature-number{margin-bottom:16px}
 .er102-public .feature h3{font-size:20px}
 .er102-public .feature p{font-size:14px;line-height:1.7}
 .er102-public .feature a{font-size:12px}
 .er102-public .phone-stage{gap:12px;padding:5px 0}
 .er102-public .phone-shot{width:48%;border-width:4px;border-radius:15px}
 .er102-public .phone-shot figcaption{font-size:8px}
 .er102-public .plan-grid{grid-template-columns:1fr;gap:14px}
 .er102-public .plan-grid>.plan:last-child{grid-column:auto;display:flex}
 .er102-public .plan{padding:24px}
 .er102-public .plan.recommended{padding:23px}
 .er102-public .plan-top>span{min-height:0;font-size:11px}
 .er102-public .plan-top p,.er102-public .plan li{font-size:13px}
 .er102-public .plan .pill{font-size:13px}
 .er102-public .plan-cap{min-height:0;font-size:12px}
 .er102-public .amount strong{font-size:36px}
 .er102-public .amount>span{font-size:11px}
 .er102-public .faq summary{font-size:14px}
 .er102-public .steps p{font-size:13px}
 .er102-public .product-intro,.er102-public .about-hero{padding:42px 0}
 .er102-public :is(.product-intro,.about-hero) h1{font-size:38px;letter-spacing:-1.4px}
 .er102-public :is(.product-intro,.about-hero) p{font-size:15px}
 .er102-public .prose-section{padding-block:36px}
 .er102-product-view{padding:8px;border-radius:12px;margin-top:22px}
 .er102-product-view figcaption{font-size:10px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.er102-public *{scroll-behavior:auto!important;transition:none!important}}

/* V105.1: stable page width, comfortable touch targets and uncluttered feature links. */
:root{scrollbar-gutter:stable}
.er-skip-link{position:fixed;top:8px;left:16px;z-index:1000;transform:translateY(-150%);background:#fffdf7;color:#244531;padding:12px 18px;border:2px solid #244531;border-radius:8px}
.er-skip-link:focus{transform:none}
.er102-public .section{scroll-margin-top:92px}
.er102-public .public-related{display:flex;flex-wrap:wrap;gap:10px}
.er102-public .public-related a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #cbd6c5;border-radius:9px;background:#f4f6ed;font-size:14px;line-height:1.5}
.er102-public .footer>nav{max-width:1220px;margin:24px auto 0;padding:20px 40px 0;border-top:1px solid #38533c}
.er102-public .footer-links a{min-height:36px;display:inline-flex;align-items:center}
.er102-public .hero-copy,.er102-public .public-grid article{overflow-wrap:break-word}
@media(max-width:1023px){.er102-public .footer>nav{padding-inline:26px}.er102-public .section{scroll-margin-top:86px}}
@media(max-width:560px){.er102-public .footer>nav{padding-inline:20px}.er102-public .public-related a{font-size:13px;padding:10px 13px}.er102-public .footer-links{gap:8px 20px}.er102-public .hero .eyebrow{max-width:290px}}

/* V108: one recognizable header and explicit page context across the public site. */
.er102-public .navlinks{gap:20px}
.er102-public .navlinks a[aria-current=page]{color:#28533f;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#9cb48f}
.er102-public .nav-trial{flex:none;white-space:nowrap}
.site-search-open{display:inline-flex;align-items:center;gap:8px;min-height:42px;background:transparent;border:0;color:#315440;font:600 13px system-ui;cursor:pointer;padding:8px 0}
.site-search-open span{font-size:23px;line-height:1}
.er108-breadcrumb{display:flex;align-items:center;gap:10px;min-height:48px;padding-block:13px;color:#70806e;font-size:12px;line-height:1.5;background:#faf9f3}
.er108-breadcrumb a{font-weight:650;text-decoration:none;color:#395e44}.er108-breadcrumb a:hover{text-decoration:underline}
.er102-public :is(.product-intro,.about-hero) h1{max-width:790px;font-size:clamp(34px,4.2vw,55px)}
.er102-public .product-intro .intro-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.er102-public .hero-copy>p{font-size:16px}
.er108-site-search{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:25px;border:1px solid #d8e0d2;border-radius:19px;background:#fffefa;color:#254532;box-shadow:0 25px 90px #142b2c30;overscroll-behavior:contain}
.er108-site-search::backdrop{background:#132f254f;backdrop-filter:blur(3px)}
.er108-search-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.er108-search-heading h2{font:730 23px/1.25 system-ui;letter-spacing:-.7px;margin:0}
.er108-search-heading button{display:grid;place-items:center;width:40px;height:40px;flex:none;background:#edf2e8;border:0;border-radius:10px;color:#335940;font-size:25px;cursor:pointer}
.er108-site-search label{display:block;font:650 12px system-ui;margin-bottom:8px}
.er108-site-search input{display:block;width:100%;min-height:48px;box-sizing:border-box;font:400 16px system-ui;padding:12px 14px;border:1px solid #bdcdb7;border-radius:11px;background:white;color:#244531}
.er108-search-count{font:500 12px system-ui;color:#77836e;margin:18px 0 8px}
.er108-search-results a{display:block;text-decoration:none;padding:14px 5px;border-bottom:1px solid #e6ebdf}
.er108-search-results a:hover{background:#f2f6ed}.er108-search-results strong{display:block;font:670 15px/1.5 system-ui}.er108-search-results span{display:block;font:400 13px/1.6 system-ui;color:#6c7b67;margin-top:3px}
@media(max-width:1023px){.er102-public .navlinks{gap:0 24px}.site-search-open{font-size:14px;min-height:44px}.er102-public .navlinks.open{max-height:calc(100dvh - 76px);overflow:auto;overscroll-behavior:contain}}
@media(max-width:560px){
 .er102-public .nav{height:68px;min-height:68px;gap:7px}
 .er102-public .logo{font-size:20px;letter-spacing:-.9px;gap:8px}.er102-public .logo img{width:32px;height:32px}
 .er102-public .nav-toggle{min-width:40px;width:40px;flex:none;padding:8px}
 .er102-public .nav-trial{font-size:11px;padding:10px 12px;min-height:40px;gap:7px}
 .er102-public .navlinks{top:67px}
 .er108-breadcrumb{font-size:11px;min-height:43px;padding-block:10px}
 .er102-public :is(.product-intro,.about-hero){padding:30px 0 35px}
 .er102-public :is(.product-intro,.about-hero) h1{font-size:35px;line-height:1.12;letter-spacing:-1.3px}
 .er102-public :is(.product-intro,.about-hero) p,.er102-public .hero-copy>p{font-size:15px;line-height:1.7}
 .er102-public .hero h1{font-size:41px;line-height:1.1}.er102-public .hero-visual .app-window{max-width:285px;margin-inline:auto}.er102-public .hero-visual .app-window img{aspect-ratio:393/560;object-fit:cover;object-position:top}
 .er108-site-search{padding:19px}.er108-search-heading h2{font-size:21px}
}

.er108-feature-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:50px}.er108-feature-view>div{max-width:510px}.er108-feature-view p{font-size:16px;line-height:1.75;color:#65745f}.er108-feature-view figure{margin:0;max-width:300px;width:100%;justify-self:center}.er108-feature-view img{display:block;width:100%;height:auto;border:1px solid #d9e1d4;border-radius:18px;box-shadow:0 15px 40px #28442e0c}.er108-feature-view figcaption{font-size:11px;line-height:1.5;color:#72816a;margin-top:12px;text-align:center}@media(max-width:710px){.er108-feature-view{grid-template-columns:minmax(0,1fr);gap:28px}.er108-feature-view figure{max-width:280px}}
