:root { color-scheme: light; --ink:#172924; --muted:#52655d; --accent:#0a765a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:white; font:16px/1.6 Arial,Helvetica,sans-serif; letter-spacing:0; }
a { color:inherit; text-decoration:none; } a:hover { text-decoration:underline; text-underline-offset:5px; }
:focus-visible { outline:3px solid #e58b46; outline-offset:4px; }
.wrap { max-width:1208px; padding:0 36px; margin:auto; }
header { max-width:1280px; margin:auto; min-height:80px; padding:20px 36px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.brand { font-size:22px; font-weight:700; } .brand span { font-weight:400; color:var(--muted); }
nav, footer > div { display:flex; gap:24px; font-size:14px; }
.hero { position:relative; overflow:hidden; isolation:isolate; min-height:580px; background:#14231e; color:white; }
.hero > img { position:absolute; height:100%; width:100%; object-fit:contain; object-position:85% center; opacity:.9; }
.shade { position:absolute; inset:0; background:linear-gradient(90deg,#14231e 0%,rgba(20,35,30,.95) 27%,rgba(20,35,30,.55) 52%,rgba(20,35,30,0) 80%); }
.hero-content { position:relative; max-width:1208px; margin:auto; padding:52px 36px 60px; }
.eyebrow { font-size:12px; text-transform:uppercase; font-weight:700; color:var(--accent); margin:0 0 24px; }
.hero .eyebrow { color:#c4dacb; }
h1 { font-size:58px; line-height:1.05; margin:0 0 22px; }
.lead { font-size:30px; line-height:1.2; margin:0 0 20px; }
.hero-content > p:not(.eyebrow):not(.lead) { max-width:420px; color:#d9e5de; font-size:15px; }
.actions { display:flex; align-items:center; gap:24px; margin-top:30px; font-size:14px; }
.primary { padding:12px 20px; background:#d7f0e2; color:#163a2b; border-radius:4px; font-weight:700; }
.overview { padding-top:40px; padding-bottom:64px; }
.columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.columns > div { border-top:1px solid #cbdace; padding-top:20px; }
h2 { font-size:25px; line-height:1.2; margin:0 0 16px; } .columns h2 { font-size:20px; }
p { margin:0 0 16px; } .columns p, .setup p, .scope p { font-size:14px; color:var(--muted); }
.connection { background:#edf5f0; padding:44px 0; }
.flow { display:flex; align-items:center; gap:24px; font-size:23px; margin-bottom:24px; font-weight:700; }
.flow b { color:var(--accent); font-weight:400; }
.connection p:last-child { max-width:780px; color:var(--muted); font-size:14px; }
.setup { display:grid; grid-template-columns:minmax(0, .8fr) minmax(0,1.2fr); gap:80px; padding-top:64px; padding-bottom:64px; scroll-margin-top:24px; }
.setup > div > h2 { font-size:36px; } .setup a { color:var(--accent); font-size:14px; text-decoration:underline; }
ol { margin:0; padding-left:24px; } li { padding:0 0 24px 8px; } li::marker { color:var(--accent); font-weight:700; }
.setup > * { min-width:0; }
h3 { font-size:18px; line-height:1.3; margin:0 0 12px; }
pre { background:#f2f5f3; padding:18px; border-left:3px solid #82b79a; overflow:auto; font-size:12px; line-height:1.8; }
code { overflow-wrap:anywhere; font-family:Consolas,monospace; } pre code { overflow-wrap:normal; }
button { background:transparent; border:1px solid #a3baab; border-radius:4px; color:var(--accent); padding:8px 12px; cursor:pointer; font:600 12px Arial,sans-serif; }
.copy-status { font-size:12px; margin-left:12px; }
.scope { padding-top:24px; padding-bottom:60px; }
details { border-top:1px solid #d4dfd7; padding:20px 0; } summary { cursor:pointer; font-size:18px; font-weight:600; } details p { margin:16px 0 0; max-width:850px; } details a { color:var(--accent); }
.closing { padding:52px 0; background:#173a2d; color:white; } .closing h2 { font-size:32px; } .closing p { color:#c9dbd1; max-width:650px; font-size:15px; } .closing a { text-decoration:underline; color:#d8f0e4; }
footer { padding-top:28px !important; padding-bottom:28px !important; display:flex; gap:24px; justify-content:space-between; font-size:12px; } footer p { margin:0; font-weight:700; } footer span { color:var(--muted); font-weight:400; } footer > div { font-size:12px; flex-wrap:wrap; }
.skip { position:absolute; top:-100px; left:20px; z-index:10; background:white; padding:12px; } .skip:focus { top:12px; }
@media (min-width:1600px) { .hero > img { object-position:68% center; } }
@media (max-width:800px) {
  header { padding:20px; min-height:68px; } .brand { font-size:18px; } nav { font-size:12px; gap:16px; }
  .hero { min-height:550px; } .hero > img { object-fit:cover; object-position:65% center; opacity:.5; } .shade { background:rgba(15,32,25,.65); }
  .hero-content { padding:44px 24px 56px; } h1 { font-size:42px; } .lead { font-size:27px; }
  .wrap { padding-left:24px; padding-right:24px; } .columns, .setup { grid-template-columns:minmax(0,1fr); gap:28px; }
  .overview { padding-top:32px; padding-bottom:40px; } .flow { flex-wrap:wrap; gap:12px; font-size:16px; }
  .setup { padding-top:44px; padding-bottom:24px; } .actions { gap:18px; font-size:12px; } footer { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
