/* Land Screener site styles — shared by / (index.html) and /brief (brief.html) */
  :root{
    --bg:#F7F6F3;
    --bg-2:#FFFFFF;
    --surface:#FFFFFF;
    --surface-2:#F5F4F1;
    --line:rgba(26,36,51,.09);
    --line-strong:rgba(26,36,51,.18);
    --text:#1A2433;
    --muted:#5B6470;
    --dim:#727A85;
    --accent:#2563EB;
    --accent-soft:#EDF3FE;
    --accent-ink:#FFFFFF;
    --flood:#7B93A6;
    --paper:#F1EEE7;
    --paper-line:#D8D3C6;
    --paper-text:#26282C;
    --paper-muted:#6B6E74;
    --shadow:0 10px 40px rgba(20,30,45,.1);
    --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
    --ease:cubic-bezier(.16,1,.3,1);
    --r-card:16px;
    --maxw:1180px;
    /* vertical rhythm: one section step, one head step, one block step */
    --sp-section:clamp(4rem,9vh,6.5rem);
    --sp-head:clamp(2rem,4.5vh,3rem);
    --sp-block:1.5rem;
    /* type scale (1.25 ratio at desktop, fluid down) */
    --t-h1:clamp(2.4rem,4.4vw,3.6rem);
    --t-h2:clamp(1.75rem,2.8vw,2.4rem);
    --t-h3:1.2rem;
    --t-lead:1.06rem;
    --t-body:.95rem;
    --t-small:.88rem;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%;color-scheme:light}
  section[id]{scroll-margin-top:2rem}
  h1,h2,h3{text-wrap:balance}
  a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  @media (prefers-reduced-motion:no-preference){
    html{scroll-behavior:smooth}
  }
  body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img,svg{display:block;max-width:100%}
  a{color:inherit}
  ::selection{background:rgba(37,99,235,.2)}
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
  .btn:focus-visible{outline-offset:4px}
  .cell:focus-within{border-color:rgba(37,99,235,.5)}
  .foot-links a:focus-visible,.nav-links a:focus-visible{outline-offset:4px}

  .skip{
    position:absolute;left:-9999px;top:0;z-index:100;
    background:var(--accent);color:var(--accent-ink);
    padding:.6rem 1.1rem;border-radius:999px;font-weight:600;text-decoration:none;
  }
  .skip:focus{left:1rem;top:1rem}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}

  /* ---------- Nav ---------- */
  .nav{
    position:absolute;top:0;left:0;right:0;z-index:10;
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:76px;
  }
  .wordmark{
    display:flex;align-items:center;gap:.55rem;
    text-decoration:none;font-size:.92rem;
  }
  .wordmark .dia{color:var(--accent);font-size:1.05rem;line-height:1}
  .wordmark .nm{font-weight:800;letter-spacing:.1em}
  .wordmark .nm i{font-style:normal;font-weight:500;color:var(--dim)}
  .nav-links{display:flex;align-items:center;gap:1.6rem;list-style:none}
  .btn-sm.btn-ghost{padding:.62rem 1.15rem}
  .nav-links a:not(.btn){
    text-decoration:none;color:var(--muted);font-size:.92rem;font-weight:500;
    transition:color .3s var(--ease);
  }
  .nav-links a:not(.btn):hover{color:var(--text)}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.7rem;
    border-radius:999px;text-decoration:none;font-weight:600;
    font-size:.95rem;line-height:1;white-space:nowrap;
    transition:transform .45s var(--ease),background .45s var(--ease),border-color .45s var(--ease);
  }
  .btn:active{transform:scale(.98)}
  .btn-primary{
    background:var(--accent);color:var(--accent-ink);
    padding:.5rem .5rem .5rem 1.4rem;
  }
  .btn-primary{box-shadow:0 6px 20px rgba(37,99,235,.3)}
  .btn-primary .btn-dot{
    width:34px;height:34px;border-radius:999px;
    background:rgba(255,255,255,.18);
    display:flex;align-items:center;justify-content:center;
    transition:transform .45s var(--ease);
  }
  .btn-primary:hover .btn-dot{transform:translate(2px,-1px)}
  .btn-primary:hover{background:#1D4FBF}
  .btn-ghost{
    border:1px solid var(--line-strong);color:var(--text);
    padding:.95rem 1.5rem;background:#fff;
  }
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
  .btn-sm{font-size:.88rem}
  .btn-sm.btn-primary{padding:.42rem .42rem .42rem 1.15rem}
  .btn-sm .btn-dot{width:29px;height:29px}

  /* ---------- Reveal motion ---------- */
  /* content is visible by default; the script arms the animation only when it can also finish it */
  html.reveal-armed .reveal{opacity:0;transform:translateY(22px)}
  html.reveal-armed .reveal.in{
    opacity:1;transform:none;
    transition:opacity .8s var(--ease),transform .8s var(--ease);
    transition-delay:var(--d,0s);
  }
  @media (prefers-reduced-motion:reduce){
    html.reveal-armed .reveal{opacity:1;transform:none;transition:none}
    .btn,.btn-dot,.faq-icon::before,.faq-icon::after{transition:none!important}
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:calc(76px + clamp(2.5rem,6vh,5rem)) 0 clamp(3.5rem,7vh,6rem);
    min-height:0;
    display:flex;align-items:center;
    background:
      radial-gradient(1100px 520px at 82% -10%, rgba(37,99,235,.06), transparent 60%),
      var(--bg);
  }
  .hero-grid{
    display:grid;grid-template-columns:1.02fr .98fr;
    gap:clamp(2.5rem,5vw,4.5rem);align-items:center;width:100%;
  }
  .eyebrow{
    display:inline-block;
    font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;
    text-transform:uppercase;color:var(--accent);
    border:1px solid rgba(37,99,235,.3);border-radius:999px;
    background:#fff;
    padding:.35rem .85rem;margin-bottom:1.6rem;
  }
  .hero h1{
    font-size:var(--t-h1);
    line-height:1.04;letter-spacing:-.035em;font-weight:700;
    max-width:16ch;
  }
  .hero-sub{
    margin-top:var(--sp-block);color:var(--muted);
    font-size:var(--t-lead);max-width:46ch;
  }
  .hero-ctas{display:flex;gap:.9rem;margin-top:2rem;flex-wrap:wrap}

  .figure-shell{
    background:#fff;
    border:1px solid var(--line);
    border-radius:calc(var(--r-card) + 6px);
    padding:6px;
    box-shadow:var(--shadow);
  }
  .figure-core{
    background:#0E1013;
    border-radius:var(--r-card);
    padding:clamp(.8rem,2vw,1.4rem);
  }
  .figure-cap{
    font-family:var(--mono);font-size:.72rem;color:var(--dim);
    margin-top:.9rem;padding:0 .2rem;
    display:flex;justify-content:space-between;gap:1rem;
  }

  /* ---------- Section scaffolding ---------- */
  section{padding:var(--sp-section) 0}
  .sec-head{max-width:56ch;margin-bottom:var(--sp-head)}
  .sec-head h2{
    font-size:var(--t-h2);
    letter-spacing:-.03em;line-height:1.1;font-weight:700;
  }
  .sec-head p{margin-top:.9rem;color:var(--muted);max-width:52ch;font-size:var(--t-lead)}

  /* ---------- Coverage grid ---------- */
  .cover{background:var(--bg)}
  .cover-grid{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;
  }
  .cell{
    border:1px solid var(--line);border-radius:var(--r-card);
    background:var(--surface);
    padding:1.75rem 1.6rem 1.6rem;
    display:flex;flex-direction:column;gap:.7rem;
    transition:border-color .5s var(--ease);
  }
  .cell{box-shadow:0 4px 16px rgba(20,30,45,.04)}
  .cell:hover{border-color:rgba(37,99,235,.35)}
  .cell h3{font-size:var(--t-h3);letter-spacing:-.015em;font-weight:600;line-height:1.25}
  .cell p{color:var(--muted);font-size:var(--t-body)}
  .cell .checks{
    margin-top:auto;padding-top:1.1rem;
    font-family:var(--mono);font-size:.72rem;color:var(--dim);
    border-top:1px solid var(--line);line-height:1.7;
  }
  .cell-power{background:
    radial-gradient(560px 260px at 90% 0%, rgba(37,99,235,.08), transparent 65%),
    var(--surface);}
  .cell-gas{background:var(--surface-2)}
  .cell-flood{position:relative;overflow:hidden}
  .cell-flood::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(-45deg,rgba(123,147,166,.13) 0 1px,transparent 1px 9px);
  }
  .cell-air{background:
    radial-gradient(rgba(26,36,51,.07) 1px, transparent 1.4px);
    background-size:18px 18px;background-color:var(--surface);}
  .not-included{
    margin-top:var(--sp-block);color:var(--dim);font-size:var(--t-small);max-width:72ch;
  }
  .not-included strong{color:var(--muted);font-weight:600}

  /* ---------- Report preview ---------- */
  .preview{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .preview .sec-head{margin-left:auto;margin-right:auto;text-align:center}
  .doc-shell{
    max-width:880px;margin:0 auto;
    background:#fff;
    border:1px solid var(--line);
    border-radius:calc(var(--r-card) + 6px);
    padding:6px;
    box-shadow:var(--shadow);
  }
  /* the excerpt uses the same paper, serif headings, masthead rule, verdict banner and table
     rhythm as the generated /report so the two read as one product */
  .doc{
    --rp-paper:#F5F2EC;--rp-ink:#1A2433;--rp-muted:#6B7280;--rp-line:#DDD6C9;
    --rp-gold:#D97706;--rp-gold-bg:#FBF0DA;--rp-teal:#0D9488;
    --rp-serif:"Iowan Old Style",Cambria,Georgia,"Times New Roman",serif;
    background:var(--rp-paper);color:#1F2937;
    border-radius:var(--r-card);
    padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,4.5vw,3rem) clamp(1.5rem,4vw,2.25rem);
  }
  .doc-top{
    display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;
    padding-bottom:.9rem;border-bottom:3px solid var(--rp-ink);
  }
  .doc-top .doc-brand{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rp-ink);font-weight:700}
  .doc-top .doc-meta{font-size:.76rem;color:var(--rp-muted);text-align:right;line-height:1.6}
  .doc-parcel{padding:1.4rem 0 1.25rem}
  .doc-parcel h3{font-family:var(--rp-serif);font-size:clamp(1.35rem,2.4vw,1.75rem);letter-spacing:-.01em;font-weight:600;line-height:1.15;color:var(--rp-ink)}
  .doc-parcel span{display:block;margin-top:.3rem;font-size:.95rem;color:var(--rp-muted)}
  .verdict{
    border:1px solid var(--rp-gold);border-left:7px solid var(--rp-gold);background:var(--rp-gold-bg);
    border-radius:10px;padding:1.25rem 1.4rem;margin-bottom:1.5rem;
  }
  .verdict .v-label{
    display:inline-block;background:var(--rp-gold);color:#fff;border-radius:4px;
    font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .8rem;
  }
  .verdict .v-word{
    font-family:var(--rp-serif);font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:600;letter-spacing:-.01em;color:var(--rp-ink);
    margin:.8rem 0 .4rem;line-height:1.2;
  }
  .verdict p{font-size:1rem;color:#1F2937;max-width:62ch}
  .findings{list-style:none}
  .findings li{
    display:grid;grid-template-columns:150px 112px 1fr;gap:1.25rem;
    padding:.8rem 0;border-bottom:1px solid var(--rp-line);
    align-items:baseline;
  }
  .findings li:last-child{border-bottom:none}
  .f-sys{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rp-muted);font-weight:700}
  .f-status{
    display:inline-flex;align-items:center;gap:.4rem;
    font-size:.68rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;
    padding:.3rem .6rem;border-radius:20px;
  }
  .f-status svg{flex:none}
  .f-clear{color:var(--rp-teal);background:#E3F2F1}
  .f-flag{color:var(--rp-gold);background:var(--rp-gold-bg)}
  .f-note{font-size:.92rem;color:#1F2937}
  .doc-foot{
    margin-top:1.4rem;padding-top:.9rem;border-top:1px solid var(--rp-line);
    font-size:.76rem;color:var(--rp-muted);
  }
  .annos{
    max-width:880px;margin:var(--sp-head) auto 0;
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;
  }
  .anno h3{font-size:1.02rem;font-weight:600;letter-spacing:-.01em}
  .anno p{color:var(--muted);font-size:var(--t-body);margin-top:.35rem}
  .anno .tick{
    width:26px;height:2px;background:var(--accent);margin-bottom:.9rem;
  }

  /* ---------- How it works ---------- */
  .how-list{list-style:none;max-width:820px}
  .how-list li{
    display:grid;grid-template-columns:110px 1fr;gap:clamp(1.5rem,4vw,3rem);
    padding:2.25rem 0;border-top:1px solid var(--line);
  }
  .how-list li:last-child{border-bottom:1px solid var(--line)}
  .how-num{
    font-family:var(--mono);font-size:2.1rem;color:var(--accent);
    line-height:1;font-weight:500;
  }
  .how-list h3{font-size:1.3rem;letter-spacing:-.02em;font-weight:600;margin-bottom:.45rem;line-height:1.2}
  .how-list p{color:var(--muted);max-width:52ch;font-size:var(--t-lead)}

  /* ---------- Statement band ---------- */
  .band{
    background:var(--bg-2);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:clamp(4rem,9vh,6.5rem) 0;
  }
  .band p.big{
    font-size:clamp(1.45rem,2.6vw,2.05rem);
    letter-spacing:-.025em;line-height:1.25;font-weight:600;
    max-width:26ch;
  }
  .band p.big em{font-style:normal;color:var(--accent)}
  .band p.small{margin-top:1.1rem;color:var(--dim);max-width:52ch;font-size:var(--t-lead)}

  /* ---------- Pricing ---------- */
  .price-shell{
    background:#fff;
    border:1px solid var(--line);
    border-radius:calc(var(--r-card) + 6px);
    padding:6px;
    box-shadow:var(--shadow);
  }
  .price-core{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--r-card);
    display:grid;grid-template-columns:1.05fr .95fr;
  }
  .price-main{padding:clamp(2rem,4.5vw,3.25rem)}
  .price-num{
    font-size:clamp(3rem,6vw,4.4rem);font-weight:800;letter-spacing:-.04em;line-height:1;
  }
  .price-eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
  .price-num-sm{font-size:clamp(2rem,3.4vw,2.6rem)}
  .price-main > p a{color:var(--accent);font-weight:600}
  .beta-note{border:1px solid rgba(217,119,6,.35);background:#FBF1E2;border-radius:10px;padding:.9rem 1rem}
  .beta-note h4{color:#8A5A0B}
  .price-num sub{
    font-size:1rem;font-weight:500;color:var(--muted);letter-spacing:0;
    vertical-align:baseline;margin-left:.5rem;
  }
  .price-main > p{color:var(--muted);margin-top:.9rem;max-width:40ch}
  .included{list-style:none;margin-top:1.9rem;display:grid;gap:.65rem}
  .included li{display:flex;gap:.75rem;align-items:flex-start;font-size:.95rem}
  .included svg{flex:none;margin-top:.3rem}
  .price-side{
    border-left:1px solid var(--line);
    padding:clamp(2rem,4.5vw,3.25rem);
    display:flex;flex-direction:column;gap:1.5rem;
    background:var(--surface-2);
    border-radius:0 var(--r-card) var(--r-card) 0;
  }
  .term h4{font-size:.92rem;font-weight:600;letter-spacing:-.01em}
  .term p{color:var(--muted);font-size:.88rem;margin-top:.2rem}
  .price-cta{margin-top:auto;padding-top:1rem}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:760px}
  .faq-list details{border-top:1px solid var(--line)}
  .faq-list details:last-child{border-bottom:1px solid var(--line)}
  .faq-list summary{
    cursor:pointer;list-style:none;
    display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
    padding:1.4rem .25rem;
    font-size:1.05rem;font-weight:600;letter-spacing:-.015em;
    transition:color .3s var(--ease);
  }
  .faq-list summary:hover{color:var(--accent)}
  .faq-list summary::-webkit-details-marker{display:none}
  .faq-icon{position:relative;width:14px;height:14px;flex:none}
  .faq-icon::before,.faq-icon::after{
    content:"";position:absolute;background:var(--dim);
    transition:transform .45s var(--ease);
  }
  .faq-icon::before{left:0;top:6px;width:14px;height:2px}
  .faq-icon::after{left:6px;top:0;width:2px;height:14px}
  details.is-open .faq-icon::after,details[open]:not(.is-open) .faq-icon::after{transform:scaleY(0)}
  details.is-open .faq-icon::before{background:var(--accent)}
  .faq-icon{transition:transform .45s var(--ease)}
  details.is-open .faq-icon{transform:rotate(90deg)}
  .faq-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
  .faq-body{will-change:height,opacity}
  .faq-body{padding:0 .25rem 1.5rem;color:var(--muted);max-width:62ch;font-size:var(--t-lead)}

  /* ---------- Footer ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:2.75rem 0 3rem;
  }
  .foot-inner{
    display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start;
  }
  .foot-inner p{color:var(--dim);font-size:.88rem;max-width:38ch;margin-top:.8rem}
  .foot-links{list-style:none;display:flex;gap:2rem}
  .foot-links a{
    color:var(--muted);text-decoration:none;font-size:.9rem;
    transition:color .3s var(--ease);
  }
  .foot-links a:hover{color:var(--text)}
  .foot-note{
    margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--line);
    font-family:var(--mono);font-size:.72rem;color:var(--dim);
    display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  }

  /* ---------- Responsive ---------- */
  @media (max-width:1100px){
    /* five cards no longer fit: power leads full-width, the other four pair up */
    .cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cell-power{grid-column:span 2}
  }
  @media (max-width:960px){
    .hero{min-height:0;padding-top:calc(76px + 2.5rem)}
    .hero-grid{grid-template-columns:1fr}
  }
  @media (max-width:480px){
    .eyebrow{font-size:.6rem;letter-spacing:.12em;white-space:nowrap}
  }
  @media (max-width:700px){
    .nav-links li.nl{display:none}
    .nav-links{gap:.7rem}
    .cover-grid{grid-template-columns:1fr}
    .cell-power{grid-column:auto}
    .annos{grid-template-columns:1fr;gap:1.75rem}
    .findings li{grid-template-columns:1fr;gap:.35rem;padding:1rem 0}
    .f-status{justify-self:start}
    .f-sys{order:0}
    .how-list li{grid-template-columns:1fr;gap:.6rem;padding:1.75rem 0}
    .how-num{font-size:1.6rem}
    .price-core{grid-template-columns:1fr}
    .price-side{border-left:none;border-top:1px solid var(--line);border-radius:0 0 var(--r-card) var(--r-card)}
  }

  /* ---------- biz: real screenshots in place of drawn mockups ---------- */
  .figure-core.figure-img{padding:0;overflow:hidden;background:#0E1013}
  .figure-core img{display:block;width:100%;height:auto}
  .doc-shell>img{display:block;width:100%;height:auto;border-radius:var(--r-card)}
  .doc-link{text-align:center;margin-top:1.1rem;font-size:var(--t-body)}
  .doc-link a{color:var(--accent);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(37,99,235,.35)}
  .doc-link a:hover{border-bottom-color:var(--accent)}
  .how-figure{margin:2.5rem 0 0;max-width:980px;background:#fff;border:1px solid var(--line);border-radius:calc(var(--r-card) + 6px);padding:6px;box-shadow:var(--shadow)}
  .how-figure img{display:block;width:100%;height:auto;border-radius:var(--r-card)}
  .how-figure figcaption{font-family:var(--mono);font-size:.72rem;color:var(--dim);padding:.8rem .4rem .3rem}

  /* ---------- biz: imagery in the five-system cells and the statement band ---------- */
  .cell.cell-img{padding-top:0;overflow:hidden;background:var(--surface)}
  .cell.cell-img h3{font-size:1.05rem}
  .cell.cell-img p{font-size:.92rem}
  .cell .cell-pic{display:block;width:calc(100% + 3.2rem);max-width:none;margin:0 -1.6rem .9rem;height:132px;object-fit:cover;border-bottom:1px solid var(--line)}
  .cell-flood.cell-img::before,.cell-air.cell-img::after{display:none}
  .cell-power.cell-img,.cell-gas.cell-img,.cell-air.cell-img{background:var(--surface)}
  .band-photo{position:relative;overflow:hidden;background:#0E1013 url(/img/satellite-band.jpg) center/cover no-repeat;border:0}
  .band-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,19,.86) 0%,rgba(14,16,19,.55) 55%,rgba(14,16,19,.25) 100%)}
  .band-photo .wrap{position:relative}
  .band-card{max-width:640px}
  .band-photo p.big{color:#fff}
  .band-photo p.big em{color:#8FB4FF}
  .band-photo p.small{color:rgba(255,255,255,.72)}
  @media (max-width:760px){
    .cell .cell-pic{height:130px}
    .band-photo::before{background:rgba(14,16,19,.78)}
  }
