:root { --ink:#10251d; --muted:#60736b; --cream:#f5f3ea; --paper:#fffdf7; --line:#dce2dc; --green:#167a55; --lime:#c9f27b; --night:#09231a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font:16px/1.6 "DM Sans",sans-serif; }
a { color:inherit; }
h1,h2,h3 { margin:0 0 .6rem; font-family:"Manrope",sans-serif; line-height:1.08; letter-spacing:-.04em; }
h1 { font-size:clamp(2.7rem,5.8vw,5.5rem); max-width:920px; }
h2 { font-size:clamp(1.5rem,3vw,2.6rem); }
p { margin:.3rem 0 1rem; }
.site-header { min-height:78px; padding:0 max(clamp(1.25rem,5vw,5rem),calc((100vw - 1440px)/2)); display:flex; align-items:center; gap:2rem; border-bottom:1px solid var(--line); background:rgba(245,243,234,.92); position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); }
.auth-warning { background:#7c250e; color:#fff; padding:.85rem clamp(1.25rem,6vw,7rem); font-weight:700; text-align:center; }
.brand { display:inline-flex; align-items:center; gap:.6rem; font:800 1.25rem "Manrope"; letter-spacing:-.05em; text-decoration:none; white-space:nowrap; }
.brand img { display:block; flex:none; }
nav { display:flex; gap:1.7rem; margin-left:auto; }
nav a,.text-link { text-decoration:none; font-weight:600; }
.button { display:inline-flex; border:0; border-radius:999px; padding:.9rem 1.35rem; background:var(--green); color:white; text-decoration:none; font-weight:700; cursor:pointer; justify-content:center; }
.button-small { padding:.55rem 1rem; }
.button-secondary { background:var(--night); }
.download-buttons { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
main { min-height:75vh; }
.hero { width:min(100%,1440px); min-height:clamp(440px,60vh,620px); margin-inline:auto; padding:clamp(3rem,6vw,6rem) clamp(1.25rem,6vw,7rem); display:flex; align-items:center; background:radial-gradient(circle at 85% 10%,rgba(201,242,123,.65),transparent 27%),var(--cream); }
.hero-content { max-width:880px; }
.eyebrow { color:var(--green); font-weight:800; letter-spacing:.14em; font-size:.78rem; }
.hero-copy,.lede { max-width:700px; color:var(--muted); font-size:clamp(1.05rem,2vw,1.3rem); }
.hero-motivations { max-width:760px; margin:1.6rem 0; padding-left:1.4rem; font-size:clamp(1.05rem,1.7vw,1.2rem); font-weight:400; line-height:1.5; }
.hero-motivations li + li { margin-top:.55rem; }
.hero-motivations li::marker { color:var(--green); }
.hero-motivations strong { font-weight:800; color:var(--night); }
.hero-actions { display:flex; align-items:center; gap:1.4rem; margin-top:2rem; }
.hero-explainer-trigger { border-bottom:2px dotted var(--green); padding-bottom:3px; text-decoration:none; }
.hero-explainer-trigger:hover { color:var(--green); }
.hero-hover-trigger,.hero-hover-box { display:none; }
@media (hover: hover) {
  .hero-touch-trigger { display:none; }
  .hero-hover-trigger { display:inline; appearance:none; border:0; border-bottom:2px dotted var(--green); border-radius:0; background:none; color:inherit; font:inherit; padding:0 0 3px; cursor:help; anchor-name:var(--hero-anchor); }
  .hero-motivations li { position:relative; }
  .hero-hover-box { display:block; visibility:hidden; pointer-events:none; position:absolute; z-index:11; top:100%; left:0; width:min(22rem,100%); padding-top:10px; font-size:.95rem; line-height:1.6; font-weight:400; }
  .hero-hover-card { display:block; max-height:calc(100dvh - 2rem); overflow:auto; padding:1.1rem 1.25rem; border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--ink); box-shadow:0 16px 36px rgba(9,35,26,.16); }
  .hero-hover-card strong { display:block; color:var(--green); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.5rem; }
  .hero-hover-card > span { display:block; }
  .hero-explainer:hover > .hero-hover-box,.hero-explainer:focus-within > .hero-hover-box { visibility:visible; pointer-events:auto; }
  @supports (top:anchor(bottom)) {
    .hero-hover-box { position:fixed; position-anchor:var(--hero-anchor); top:anchor(bottom); width:min(22rem,calc(100vw - 2.5rem)); left:clamp(1.25rem,anchor(left),calc(100vw - min(22rem,calc(100vw - 2.5rem)) - 1.25rem)); position-try-fallbacks:flip-block; }
  }
}
@media (hover: none) {
  .hero-touch-trigger { display:inline; }
}
body:has(.hero-panel-overlay) { overflow:hidden; }
.hero-panel-overlay { position:fixed; inset:0; z-index:100; display:flex; align-items:flex-end; justify-content:center; }
.hero-panel-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; background:rgba(9,35,26,.46); color:transparent; font-size:0; cursor:pointer; }
.hero-panel { position:relative; width:100%; max-width:42rem; max-height:85dvh; overflow:auto; overscroll-behavior:contain; border-radius:24px 24px 0 0; background:var(--paper); padding:1.5rem max(1.5rem,env(safe-area-inset-right)) max(1.75rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left)); }
.hero-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.hero-panel-header h2 { font-size:1.6rem; }
.hero-panel-header .eyebrow { margin:0 0 .5rem; }
.hero-panel-close { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; border-radius:5px; background:none; color:var(--muted); font-size:2rem; line-height:1; cursor:pointer; text-decoration:none; }
.hero-panel-close:focus-visible { outline:3px solid #c98716; outline-offset:2px; }
.hero-panel-copy { margin:1rem 0 0; }
.hero-explainer-trigger:focus-visible,.setup-result a:focus-visible,.explanation-overlay a:focus-visible,.explanation-overlay button:focus-visible,.explanation-body:focus-visible { outline:3px solid #c98716; outline-offset:4px; }
.setup-result { max-width:920px; margin:0 auto; padding:clamp(2.5rem,6vw,4.5rem) 1.25rem 4rem; }
.setup-result h1 { font-size:clamp(2.25rem,5vw,4rem); margin:1.2rem 0; }
.setup-result h2 { font-size:1.4rem; letter-spacing:-.025em; margin-bottom:1rem; }
.setup-result h3 { font-size:1.1rem; letter-spacing:-.02em; }
.answer-chips { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 .65rem; padding:0; list-style:none; }
.answer-chips li { border:1px solid var(--line); border-radius:999px; padding:.3rem .8rem; background:var(--paper); font-size:.9rem; font-weight:700; }
.result-change,.result-card-actions a { color:var(--green); }
.result-section { margin-top:2.75rem; }
.setup-lead { max-width:62ch; color:var(--muted); font-size:1.08rem; }
.setup-diagram { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:.8rem; align-items:center; margin-top:1.3rem; }
.setup-box { align-self:stretch; padding:1.25rem 1rem; text-align:center; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.setup-box > img,.setup-symbol { display:block; height:38px; margin:0 auto .75rem; }
.setup-symbol { color:var(--green); font-size:1.6rem; line-height:38px; }
.setup-box p { margin:0; color:var(--muted); font-size:.95rem; }
.setup-server { border:2px solid var(--green); background:#edf6f0; }
.setup-arrow { color:var(--green); font-size:1.5rem; }
.setup-result .detail-limit { margin:1rem 0 0; }
.result-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.result-capability { min-width:0; padding:1.35rem; border:1px solid var(--line); border-radius:22px; background:var(--paper); }
.result-capability > img { display:block; object-fit:contain; margin-bottom:1rem; }
.result-capability h3 { font-family:Georgia,serif; }
.result-when strong { color:var(--green); }
.result-benefit { color:var(--muted); }
.result-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; }
.result-card-actions .status-pill { font-size:.7rem; letter-spacing:.03em; }
.result-card-actions a { font-size:.9rem; }
.result-later { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; padding:0; list-style:none; }
.later-capability { display:flex; align-items:center; gap:.75rem; padding:.8rem; border:1px dashed var(--line); border-radius:18px; color:#53645c; }
.later-capability img { object-fit:contain; opacity:.65; flex:none; }
.later-capability p { margin:0; font-size:.8rem; }
.later-capability.promoted { color:var(--ink); background:var(--paper); border:1px solid var(--green); }
.later-capability.promoted img { opacity:1; }
.capability-placeholder { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--line); color:var(--muted); font-size:2rem; flex:none; }
.setup-needs { list-style:none; padding:0; }
.setup-needs li { display:flex; gap:.75rem; margin:.6rem 0; }
.setup-needs li::before { content:"✓"; display:grid; place-items:center; flex:none; width:25px; height:25px; border-radius:50%; background:#dceee3; color:var(--green); }
.setup-next-steps { list-style:none; padding:0; display:grid; gap:.8rem; }
.setup-next-steps li { display:flex; align-items:flex-start; gap:1rem; padding:1rem 1.25rem; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.setup-next-steps li > span { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:50%; background:var(--green); color:white; font-weight:700; }
.setup-next-steps p { margin:0; color:var(--muted); }
.result-actions { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; margin:2.5rem 0 1.4rem; }
.result-notify { padding:1.1rem 1.25rem; border-radius:18px; background:#eaf1e9; }
.result-notify-primary { margin-top:2.75rem; padding:1.5rem; }
.result-notify-primary .button { margin-right:1.5rem; }
.result-notify-primary > .text-link { display:inline-block; margin-top:.5rem; }
.result-diy-alternative { margin-top:2.75rem; padding-top:2rem; border-top:1px solid var(--line); }
.result-diy-alternative > h2 { font-size:1.65rem; }
body:has(.explanation-overlay) { overflow:hidden; }
.explanation-overlay { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:clamp(1rem,4vw,3rem); }
.explanation-backdrop { position:absolute; inset:0; background:rgba(9,35,26,.46); color:transparent; font-size:0; }
.explanation-dialog { position:relative; display:flex; flex-direction:column; width:min(100%,800px); max-height:calc(100dvh - 2 * clamp(1rem,4vw,3rem)); min-height:0; border-radius:28px; background:var(--paper); box-shadow:0 25px 75px rgba(9,35,26,.2); overflow:hidden; }
.explanation-header { display:flex; align-items:center; gap:1.25rem; padding:1.75rem 1.75rem 1rem; flex:none; }
.explanation-header > img { object-fit:contain; flex:none; }
.explanation-header > div { min-width:0; }
.explanation-header .eyebrow { margin:0 0 .5rem; text-transform:uppercase; }
.explanation-header h2 { font-size:clamp(1.4rem,3vw,2rem); margin:0; overflow-wrap:anywhere; }
.explanation-close { align-self:flex-start; display:grid; place-items:center; width:40px; height:40px; margin-left:auto; flex:none; color:var(--muted); font-size:2rem; line-height:1; text-decoration:none; border-radius:5px; border:0; background:none; cursor:pointer; }
.explanation-footer .button { font:inherit; font-weight:700; }
.explanation-body { padding:.5rem 1.75rem 1.5rem; overflow-y:auto; overscroll-behavior:contain; min-height:0; }
.explanation-body h3 { font-size:1.12rem; letter-spacing:-.025em; margin:0 0 .5rem; }
.explanation-body p { margin:0; }
.explanation-section + .explanation-section,.explanation-limit { margin-top:1.5rem; }
.explanation-limit p { border-left:4px solid var(--green); background:#eaf1e9; padding:1rem; }
.explanation-footer { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; border-top:1px solid var(--line); padding:1.25rem 1.75rem; flex:none; background:var(--paper); }
@media (max-width:760px) { .result-capabilities { grid-template-columns:1fr; } .result-later { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) { .setup-diagram { grid-template-columns:1fr; gap:.4rem; } .setup-arrow { justify-self:center; transform:rotate(90deg); } .setup-box { padding:1rem; } .explanation-header { padding:1.5rem 1.25rem 1rem; gap:.8rem; } .explanation-header > img { width:48px; height:48px; } .explanation-body { padding:.5rem 1.25rem 1.25rem; } .explanation-footer { padding:1rem 1.25rem; gap:.75rem 1rem; } .explanation-footer .button { padding:.7rem 1rem; } }
@media (max-width:360px) { .result-later { grid-template-columns:1fr; } .explanation-header > img { display:none; } }
.status-pill { display:inline-block; padding:.25rem .7rem; border-radius:99px; background:var(--lime); color:var(--night); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.section,.page-heading { padding:clamp(3.5rem,6vw,6rem) clamp(1.25rem,6vw,7rem); }
.section:not(.home-section),.page-heading { max-width:1440px; margin-inline:auto; }
.pricing-grid,.docs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.price-card,.doc-card { padding:2rem; border:1px solid var(--line); border-radius:24px; background:var(--paper); text-decoration:none; }
.home-section { background:#eaf1e9; padding-inline:max(clamp(1.25rem,6vw,7rem),calc((100vw - 1200px)/2)); }
#home { scroll-margin-top:78px; }
.home-section > .eyebrow,.home-section > h2,.home-section > .lede { max-width:1200px; margin-left:auto; margin-right:auto; }
.home-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; max-width:1200px; margin:2.5rem auto 0; }
.home-capability { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:1.7rem; border:1px solid var(--line); border-radius:22px; background:var(--paper); text-decoration:none; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.home-capability-icon { width:72px; height:72px; object-fit:contain; margin-bottom:1rem; }
.home-capability:hover,.home-capability:focus-visible { transform:translateY(-3px); border-color:var(--green); box-shadow:0 14px 28px rgba(9,35,26,.08); }
.home-capability h3 { font-size:1.25rem; margin-top:.5rem; }
.home-capability > p:not(.home-metaphor) { color:var(--muted); }
.home-metaphor { margin:0 0 .5rem; color:var(--green); font-weight:800; }
.home-detail-link { margin-top:auto; padding-top:1rem; color:var(--green); font-weight:700; text-decoration:underline; text-underline-offset:.18em; }
.home-availability { display:inline-block; padding:.35rem .7rem; border-radius:999px; background:#d8eee0; color:var(--night); font-size:.78rem; font-weight:800; }
.home-coming-soon { background:#f3e7c6; }
.feature-detail { max-width:800px; }
.feature-detail-heading { max-width:900px; padding-bottom:1rem; }
.feature-detail-icon { display:block; width:96px; height:96px; object-fit:contain; margin-top:1.25rem; }
.feature-detail-heading h1 { font-size:clamp(2.4rem,5vw,4.5rem); margin-top:1rem; }
.section.feature-detail-body { max-width:900px; padding-top:0; }
.detail-layer { max-width:740px; border-bottom:1px solid var(--line); padding:1.75rem 0; }
.detail-layer:first-child { padding-top:0; }
.detail-layer h2 { font-size:clamp(1.5rem,2.3vw,2rem); }
.detail-layer p { font-size:1.08rem; line-height:1.75; color:var(--muted); }
.detail-layer .button { margin-top:.75rem; }
.detail-limit { max-width:65ch; margin:1.5rem 0 2rem; padding:1rem 1.25rem; border-left:4px solid var(--green); background:#eaf1e9; }
.guide-steps { display:grid; gap:1.25rem; }
.guide-step { max-width:850px; padding:1.5rem; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.guide-step h2 { font-size:1.4rem; }
.icon-review-heading { padding-bottom:1rem; }
.icon-review-heading .text-link { display:inline-block; margin-bottom:2rem; }
.icon-review-section { padding-top:1rem; }
.icon-review-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:1rem; padding:1.5rem 0; border-top:1px solid var(--line); }
.icon-review-label { grid-column:1/-1; }
.icon-review-label h2 { font-size:1.3rem; }
.icon-review-label p { color:var(--muted); }
.icon-review-card { min-width:0; padding:1.25rem; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.icon-review-art { display:block; width:72px; height:72px; margin-bottom:1rem; }
.icon-review-card h3 { font-size:1.05rem; }
.icon-review-card p { color:var(--muted); font-size:.88rem; overflow-wrap:anywhere; }
.icon-review-card .text-link { color:var(--green); font-size:.85rem; }
.icon-review-note { margin-top:2rem; color:var(--muted); }
@media (max-width:900px) { .icon-review-row { grid-template-columns:repeat(3,minmax(0,1fr)); } .icon-review-label { grid-column:1/-1; } }
@media (max-width:600px) { .icon-review-row { grid-template-columns:1fr; } .icon-review-card { display:grid; grid-template-columns:72px 1fr; column-gap:1rem; align-items:center; } .icon-review-art { grid-row:1/4; margin:0; } }
.pricing-grid,.docs-grid { max-width:1000px; margin:0 auto 6rem; grid-template-columns:repeat(2,1fr); padding:0 1.25rem; }
.price-card.featured { background:var(--lime); border-color:transparent; }
.price { font:800 2.4rem "Manrope"; }
.early-access-page { max-width:900px; margin:0 auto; }
.early-access-form { display:grid; gap:1rem; max-width:500px; margin-top:2rem; }
.early-access-form .button { justify-self:start; }
.progress { list-style:none; margin:3rem auto 0; padding:0 1rem; max-width:1050px; display:grid; grid-template-columns:repeat(5,1fr); color:#93a099; }
.progress li { display:flex; gap:.5rem; align-items:center; border-bottom:2px solid var(--line); padding:.7rem 0; font-size:.85rem; }
.progress li.active { color:var(--green); border-color:var(--green); font-weight:700; }
.progress span { display:grid; place-items:center; width:24px; height:24px; border:1px solid currentColor; border-radius:50%; }
.wizard-panel { width:min(850px,calc(100% - 2rem)); margin:2.5rem auto 6rem; padding:clamp(1.5rem,5vw,4rem); background:var(--paper); border:1px solid var(--line); border-radius:30px; box-shadow:0 24px 70px rgba(29,48,39,.08); }
.wizard-panel > form + form { margin-top:.7rem; }
.wizard-panel > form > .text-link { background:none; border:0; padding:.25rem 0; color:var(--green); font:inherit; cursor:pointer; text-decoration:underline; }
.client-context { width:min(850px,calc(100% - 2rem)); margin:1.5rem auto 0; padding:.8rem 1.2rem; background:#e5f4ec; border:1px solid var(--green); border-radius:12px; color:var(--night); font-weight:700; }
.button:disabled { opacity:.48; cursor:not-allowed; }
.wizard-heading h1 { font-size:clamp(2.2rem,5vw,4rem); }
.step-number { float:right; color:var(--muted); font-weight:700; }
.choice-grid,.form-stack { display:grid; gap:1rem; margin-top:2.5rem; }
.choice-card { display:flex; gap:1rem; padding:1.25rem; border:1px solid var(--line); border-radius:18px; cursor:pointer; transition:.15s ease; }
.choice-card:has(input:checked) { border-color:var(--green); background:#eff8ed; box-shadow:0 0 0 2px var(--green); }
.choice-card input { accent-color:var(--green); }
.choice-copy h2 { font-size:1.15rem; letter-spacing:-.02em; }
.choice-copy p { margin:0; color:var(--muted); }
.field { display:grid; gap:.45rem; font-weight:700; }
.field input { width:100%; padding:1rem; border:1px solid #bdc9c1; border-radius:12px; font:inherit; background:white; }
.command-box { display:grid; gap:.7rem; margin:2rem 0; }
code { display:block; overflow:auto; padding:1rem; border-radius:12px; background:var(--night); color:#e7ffd6; }
.device-status { padding:2rem; margin-top:2rem; border:1px dashed #9ead9f; border-radius:18px; }
.device-status.success { border-style:solid; background:#eff8ed; }
.footer { display:flex; justify-content:space-between; padding:2rem max(clamp(1.25rem,5vw,5rem),calc((100vw - 1440px)/2)); border-top:1px solid var(--line); color:var(--muted); }
.dashboard-section { padding-top:1rem; }
.dashboard-devices { display:grid; gap:.85rem; margin-top:1.25rem; }
.dashboard-device { align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:18px; display:flex; justify-content:space-between; padding:1.2rem 1.35rem; }
.dashboard-device h3,.dashboard-device p { margin:0; }
.device-id { color:var(--muted); font-size:.78rem; margin-top:.3rem !important; }
.dashboard-empty { background:var(--paper); border:1px dashed var(--line); border-radius:18px; margin-top:1.25rem; padding:1.5rem; }
a.dashboard-device { text-decoration:none; color:inherit; transition:border-color .15s ease; }
a.dashboard-device:hover { border-color:var(--green); }
.status-pill-good { background:var(--green); color:white; }
.status-pill-warn { background:#e0a63a; color:var(--night); }
.device-panel { margin-top:1.5rem; }
.device-panel .status-pill { margin-bottom:1rem; }
.warning-copy { color:var(--muted); max-width:52ch; margin-bottom:1rem; }
.highlighted-warning { color:var(--night); background:#fff3d9; border-left:4px solid #c98716; border-radius:0 10px 10px 0; padding:.85rem 1rem; }
.box-setup-summary { background:#eaf1e9; border-left:4px solid var(--green); padding:1rem 1.25rem; margin:1rem 0 1.5rem; }
.box-setup-summary p { margin:.2rem 0; }
.back-link { display:inline-block; margin:1.5rem clamp(1.25rem,5vw,5rem); color:var(--green); font-weight:700; text-decoration:none; }
.recovery-codes { list-style:none; margin:1rem 0; padding:0; display:grid; gap:.5rem; }
.recovery-codes code { display:block; background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:.75rem 1rem; font-size:.85rem; word-break:break-all; }
.recovery-reveal { border-color:#e0a63a; background:#fdf6e8; }
.error { color:#b3261e; font-weight:600; }
.device-observations,.device-actions,.device-history { padding-top:2rem; }
.observation-grid,.action-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1rem; margin:1.2rem 0 2.5rem; }
.observation-card,.action-card { min-width:0; padding:1.35rem; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.observation-card h3,.action-card h3 { font-size:1.1rem; }
.observation-data { max-height:18rem; overflow:auto; padding:1rem; border-radius:10px; background:#eef3ed; font-size:.8rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.action-card { display:grid; align-content:start; gap:.75rem; }
.action-card .field input,.action-card .field select { width:100%; padding:.7rem; border:1px solid #bdc9c1; border-radius:10px; font:inherit; background:white; }
.action-card .button { justify-self:start; }
.action-confirm { display:flex; gap:.5rem; align-items:start; font-size:.9rem; }
.action-history-list { display:grid; gap:.6rem; margin-top:1rem; }
.history-entry { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
@media (max-width:760px) { .site-header { flex-wrap:wrap; gap:.65rem; padding-block:.75rem; } .site-header nav { display:flex; order:3; width:100%; justify-content:space-between; margin:0; gap:.5rem; } .site-header nav a { font-size:.9rem; } .site-header > .button { margin-left:auto; } .hero-actions { flex-wrap:wrap; } .pricing-grid,.docs-grid { grid-template-columns:1fr; } .progress li { font-size:0; } .footer { flex-direction:column; } }
@media (max-width:900px) { .home-capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .home-capability-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .observation-grid,.action-group { grid-template-columns:1fr; } }

.signup-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Public guide and compact phone navigation. */
.guide-needs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 2.5rem; }
.connection-disclosure { margin:2rem 0; padding:1.25rem; background:var(--paper); border:1px solid var(--line); border-radius:16px; }
.connection-note { padding:1rem; border-left:3px solid var(--green); margin-bottom:1.5rem; }
.self-host-guide > h2 { margin-top:2rem; }
.self-host-guide > .hero-actions { margin-bottom:1.5rem; }
.sign-in-options { display:grid; gap:1rem; margin-top:2rem; }
.home-capability-chevron { display:none; }
@media (max-width:640px) {
  .hero,.section,.page-heading,.setup-result { padding-left:16px; padding-right:16px; }
  .site-header,.footer { padding-left:16px; padding-right:16px; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:1rem; text-align:center; }
  .hero-actions > .button { width:100%; }
  .guide-needs { grid-template-columns:1fr; }
  .home-capability-grid { grid-template-columns:1fr; gap:.6rem; }
  .home-capability { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:.2rem .8rem; padding:1rem; border-radius:14px; align-items:center; }
  .home-capability .home-capability-icon { grid-column:1; grid-row:1 / span 3; width:40px; height:40px; margin:0; }
  .home-capability .home-metaphor { grid-column:2; grid-row:1; margin:0; font-size:.72rem; }
  .home-capability h3 { grid-column:2; grid-row:2; margin:0; font-size:1rem; }
  .home-capability .home-availability { grid-column:2; grid-row:3; justify-self:start; margin:.2rem 0 0; }
  .home-capability .home-capability-summary,.home-capability .home-detail-link { display:none; }
  .home-capability .home-capability-chevron { display:block; grid-column:3; grid-row:1 / span 3; font-size:1.6rem; }
}

.guide-illustration { display:block; color:var(--green); margin:0 auto .75rem; }
.explanation-body > p + p { margin-top:1rem; }

.signup-interests { border:1px solid var(--line); border-radius:12px; padding:1rem; margin:1rem 0; }
.interest-option { display:flex; align-items:center; gap:.6rem; padding:.5rem 0; cursor:pointer; }
.interest-option input { width:1.2rem; height:1.2rem; flex:none; }
