/* Home page only. Flat colours, no gradients. Brand: deep green #10362a, gold #f5b82e. */
:root{--ink:#10362a;--gold:#f5b82e;--paper:#fff;--soft:#f2f2f7}
@media(prefers-color-scheme:dark){:root{--paper:#131314;--soft:#1c1c1e}}
header.top{display:block;padding:0}.bar{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;padding-bottom:.75rem}
header.top nav{display:flex;align-items:center;gap:1.1rem}header.top nav a:not(.btn){color:var(--label);font-weight:500}
.btn.gold{background:var(--gold);color:var(--ink)}
.btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn.dk{background:var(--ink);color:#fff}
.btn.line-dk{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:0}
.hero{background:var(--ink);color:#fff;padding:3rem 0 3.5rem;display:block}
.hero-in{display:grid;gap:2.5rem;align-items:center}
.hero h1{color:#fff;max-width:13ch;font-size:clamp(2.5rem,9vw,4.4rem)}
.hero .lead{color:rgba(255,255,255,.78);margin-bottom:1.6rem}
.phone{background:#0b261d;border-radius:1.9rem;padding:1.2rem;display:grid;gap:.65rem;max-width:25rem;justify-self:center;width:100%}
.phone p{margin:0}.phone .me{justify-self:end;background:var(--gold);color:var(--ink);border-radius:1.3rem 1.3rem .4rem 1.3rem;padding:.6rem 1rem;max-width:85%;font-weight:500}
.phone .padi{color:rgba(255,255,255,.88);padding:0 .2rem}
.phone .sum{background:#17493a;border-radius:1.1rem;padding:.75rem 1rem;display:grid;gap:.1rem}.phone .sum span{color:rgba(255,255,255,.7);font-size:.95rem}
.phone>*{animation:rise .6s var(--spring) both}.phone>:nth-child(2){animation-delay:.3s}.phone>:nth-child(3){animation-delay:.55s}.phone>:nth-child(4){animation-delay:.9s}.phone>:nth-child(5){animation-delay:1.2s}
.band{padding:3.25rem 0}.band.alt{background:var(--soft)}
.band h2,.cta h2{font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.1;margin-bottom:.5rem}
.sub{color:var(--label2);margin:0 0 1.6rem}
.rows{list-style:none;margin:1.5rem 0 0;padding:0;display:grid}
.rows li{display:grid;gap:.2rem;padding:1.1rem 0;border-top:1px solid var(--sep)}
.rows h3{font-size:1.4rem;margin:0}.rows p{margin:0;color:var(--label2);max-width:38rem}
.steps{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.9rem;counter-reset:n}
.steps li{counter-increment:n;background:var(--paper);border-radius:1.4rem;padding:1.15rem 1.2rem}
.steps li::before{content:counter(n);display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--ink);color:var(--gold);font-weight:700;margin-bottom:.6rem}
.steps h3{margin:0 0 .2rem}.steps p{margin:0;color:var(--label2)}
.trio{display:grid;gap:1rem;margin-top:1rem}
.phone.slim{max-width:none;background:var(--ink)}
.band.dark{background:var(--ink);color:#fff}.band.dark h2{color:#fff}
.band.dark .rows li{border-color:rgba(255,255,255,.2)}.band.dark .rows p,.band.dark .sub{color:rgba(255,255,255,.75)}
.band.dark a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.narrow{max-width:46rem}
details{border-top:1px solid var(--sep)}details:last-of-type{border-bottom:1px solid var(--sep)}
summary{font-weight:600;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:.6rem 0}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--tint);font-weight:700;transition:transform .2s var(--spring)}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 1rem;color:var(--label2)}
.cta{background:var(--gold);color:var(--ink);padding:3.25rem 0}.cta h2{color:var(--ink)}.cta p{margin:0 0 1.3rem;color:var(--ink)}.cta .actions{margin:0}
footer.foot{background:var(--ink);color:rgba(255,255,255,.75);padding:1.6rem 0}
footer.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
footer.foot nav{display:flex;flex-wrap:wrap;gap:1.1rem}footer.foot a{color:#fff}
@media(min-width:48rem){
.hero-in{grid-template-columns:1.15fr 1fr}.hero{padding:4.5rem 0 5rem}
.rows li{grid-template-columns:14rem 1fr;gap:2rem;align-items:baseline}
.steps{grid-template-columns:repeat(4,1fr)}.trio{grid-template-columns:repeat(3,1fr)}.band{padding:4.5rem 0}}

/* tap targets: every link and control is at least 44px tall */
.brand{display:inline-flex;align-items:center;min-height:2.75rem}
header.top nav a:not(.btn){display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .35rem}
footer.foot nav{gap:.2rem 1rem}footer.foot a{display:inline-flex;align-items:center;min-height:2.75rem}
.band.dark .sub a{display:inline-flex;align-items:center;min-height:2.75rem}
details p a,.sub a{display:inline}
@media(max-width:40rem){header.top nav a:not(.btn):not([href="/install"]){display:none}header.top nav{gap:.5rem}}
