
  :root{
    color-scheme: light;
    --ground:#F6F8F9;
    --surface:#FFFFFF;
    --ink:#0F161B;
    --muted:#5B6873;
    --faint:#8A959E;
    --line:#DCE2E6;
    --line-strong:#C3CCD2;
    --accent:#0E5A62;
    --accent-deep:#0A4249;
    --accent-wash:#E4EEEE;
    --maxw:1080px;
    --gutter:clamp(16px,5vw,60px);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:72px;}
  body{margin:0;background:var(--ground);color:var(--ink);font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
  a{color:inherit;}
  a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
  img{max-width:100%;height:auto;display:block;}
  .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}

  /* masthead */
  .masthead{position:sticky;top:0;z-index:20;background:rgba(246,248,249,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
  .masthead-in{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;padding-block:14px;}
  .wordmark{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;}
  .nav{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;}
  .nav a{color:var(--muted);text-decoration:none;}
  .nav a:hover{color:var(--ink);}
  .nav .mail{color:var(--accent);border-bottom:1px solid var(--line-strong);padding-bottom:1px;text-transform:none;letter-spacing:.02em;}
  @media (max-width:640px){.nav .opt{display:none;}}

  /* section grammar */
  .band{border-top:1px solid var(--line);}
  .band-in{padding-block:clamp(44px,7vw,76px);}
  .cols{display:grid;grid-template-columns:1fr;gap:12px 40px;}
  @media (min-width:880px){.cols{grid-template-columns:170px minmax(0,1fr);gap:0 48px;}}
  .cols > div{min-width:0;}
  .marker{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding-top:.5em;}
  h2{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;letter-spacing:-.018em;line-height:1.15;font-size:clamp(1.45rem,3vw,1.9rem);margin:0 0 18px;text-wrap:balance;}
  h3{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;letter-spacing:-.012em;line-height:1.25;font-size:1.06rem;margin:0 0 8px;}
  p{margin:0 0 16px;max-width:66ch;}
  p:last-child{margin-bottom:0;}
  .lede{font-size:clamp(1.02rem,1.9vw,1.16rem);color:var(--muted);line-height:1.62;}

  /* hero */
  .hero{padding-block:clamp(44px,8vw,96px) clamp(44px,7vw,80px);}
  .eyebrow{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.73rem;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;}
  h1{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:clamp(2.05rem,5.4vw,3.35rem);line-height:1.08;letter-spacing:-.032em;margin:0 0 24px;max-width:19ch;text-wrap:balance;}
  .hero .lede{max-width:60ch;}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;}
  @media (min-width:960px){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;}}
  .hero-grid > *{min-width:0;}
  .fieldmap{margin:0;background:var(--surface);border:1px solid var(--line);padding:14px 14px 12px;}
  .fieldmap canvas{display:block;width:100%;height:auto;max-width:100%;}
  .fieldmap figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-top:10px;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
  .fieldmap i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:0;}

  .actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:28px;}
  .btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;padding:13px 22px;border-radius:2px;transition:background .15s ease;}
  .btn:hover{background:var(--accent-deep);}
  .btn.dark{background:var(--ink);}
  .btn.dark:hover{background:#26323a;}
  .textlink{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px;}
  .textlink:hover{color:var(--ink);border-bottom-color:var(--ink);}

  /* three ways */
  .ways{display:grid;grid-template-columns:1fr;gap:16px;}
  @media (min-width:880px){.ways{grid-template-columns:repeat(3,minmax(0,1fr));}}
  .way{background:var(--surface);border:1px solid var(--line);padding:24px 22px 26px;display:flex;flex-direction:column;gap:12px;min-width:0;}
  .tag{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
  .way h3{font-size:1.14rem;margin:0;}
  .way p{color:var(--muted);font-size:.95rem;margin:0;}
  .way ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:.93rem;}
  .way li{padding-left:16px;position:relative;}
  .way li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:1px;background:var(--accent);}
  .way .keeps{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink);}
  .way .keeps b{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-weight:500;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:4px;}

  /* statement */
  .statement{background:var(--accent-wash);border-top:1px solid var(--line);}
  .statement .band-in{padding-block:clamp(48px,7vw,78px);}
  .statement p{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:-.02em;line-height:1.28;font-size:clamp(1.3rem,3.2vw,1.85rem);color:var(--accent-deep);max-width:26ch;text-wrap:balance;}
  .statement .sub{font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:1rem;line-height:1.6;letter-spacing:0;color:var(--accent-deep);opacity:.85;max-width:56ch;margin-top:20px;}

  /* ledger + figures */
  .ledger{display:grid;grid-template-columns:1fr;gap:0;margin-top:8px;}
  @media (min-width:700px){.ledger{grid-template-columns:1fr 1fr;gap:0 44px;}}
  .ledger div{padding-block:14px;border-top:1px solid var(--line);}
  .ledger b{display:block;font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:1rem;margin-bottom:2px;}
  .ledger span{color:var(--muted);font-size:.93rem;}
  .figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:6px 0 30px;}
  @media (min-width:700px){.figs{grid-template-columns:repeat(4,minmax(0,1fr));}}
  .fig{padding-block:14px;border-top:1px solid var(--line-strong);}
  .fig b{display:block;font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:clamp(1.5rem,3.2vw,2rem);letter-spacing:-.03em;color:var(--accent-deep);font-variant-numeric:tabular-nums;line-height:1.1;}
  .fig span{font-size:.86rem;color:var(--muted);line-height:1.4;display:block;margin-top:4px;}
  .who{display:grid;grid-template-columns:1fr;gap:0 44px;}
  @media (min-width:700px){.who{grid-template-columns:1fr 1fr;}}
  .who div{padding-block:16px;border-top:1px solid var(--line);}
  .who b{display:block;font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;margin-bottom:3px;}
  .who span{color:var(--muted);font-size:.93rem;}

  /* steps */
  .steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:0;}
  .steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 14px;padding-block:18px;border-top:1px solid var(--line);}
  .steps li:first-child{border-top:none;padding-top:0;}
  .steps li::before{content:counter(s,decimal-leading-zero);font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.8rem;color:var(--accent);padding-top:3px;}
  .steps h3{margin-bottom:4px;}
  .steps p{color:var(--muted);font-size:.95rem;margin:0;}

  .sub-head{margin-top:48px;padding-top:34px;border-top:1px solid var(--line-strong);}
  /* AeroSheds */
  .status{display:inline-block;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-wash);padding:5px 9px;border-radius:2px;margin-bottom:16px;}

  /* people */
  .people{display:grid;grid-template-columns:1fr;gap:0 44px;}
  @media (min-width:700px){.people{grid-template-columns:1fr 1fr;}}
  .person{padding-block:20px;border-top:1px solid var(--line);}
  @media (min-width:700px){.person{border-top:none;padding-top:0;}}
  .person:first-child{border-top:none;padding-top:0;}
  .person .role{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px;}
  .person p{color:var(--muted);font-size:.95rem;}
  .regions{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:18px;}

  /* contact */
  .contact-mail{display:inline-block;margin-top:6px;font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;letter-spacing:-.02em;font-size:clamp(1.25rem,3.4vw,1.85rem);color:var(--accent);text-decoration:none;border-bottom:2px solid var(--accent-wash);word-break:break-word;}
  .contact-mail:hover{border-bottom-color:var(--accent);}
  .phone{display:inline-block;margin-top:12px;text-decoration:none;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.85rem;letter-spacing:.06em;color:var(--muted);}

  .inline{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line-strong);}
  .inline:hover{border-bottom-color:var(--accent);}
  footer{border-top:1px solid var(--line);}
  .footer-in{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;padding-block:24px 34px;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);}
  .footer-in a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line-strong);}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}}

  .phone{display:block;width:fit-content;margin-top:12px;}
  .nav a.here{color:var(--ink);}
  .divs{display:grid;grid-template-columns:1fr;gap:16px;}
  @media (min-width:760px){.divs{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .div-card{background:var(--surface);border:1px solid var(--line);padding:24px 22px 20px;display:flex;flex-direction:column;gap:10px;text-decoration:none;min-width:0;transition:border-color .15s ease;}
  .div-card:hover{border-color:var(--accent);}
  .div-card .tag{margin:0;}
  .div-card h3{font-size:1.3rem;margin:0;}
  .div-card p{color:var(--muted);font-size:.95rem;margin:0;}
  .div-card .go{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
  .crumb{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 18px;}
  .crumb a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line-strong);}
  .page-head h1{max-width:22ch;font-size:clamp(1.9rem,4.6vw,2.9rem);}

  /* lean site additions */
  .hero-lean{padding-block:clamp(56px,10vw,120px) clamp(48px,8vw,92px);}
  .hero-lean h1{max-width:18ch;font-size:clamp(2.2rem,6vw,3.8rem);}
  .hero-lean .lede{max-width:52ch;}
  .tiles{display:grid;grid-template-columns:1fr;gap:14px;}
  @media (min-width:760px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .tile{display:flex;flex-direction:column;gap:8px;min-height:170px;padding:26px 24px 22px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:border-color .15s ease, transform .15s ease;}
  .tile:hover{border-color:var(--accent);transform:translateY(-2px);}
  .tile h3{font-size:clamp(1.5rem,2.6vw,1.9rem);letter-spacing:-.02em;margin:0;}
  .tile p{color:var(--muted);margin:0;font-size:1rem;max-width:38ch;}
  .tile .go{margin-top:auto;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
  .tile .pill{align-self:flex-start;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-wash);padding:3px 7px;border-radius:2px;}
  .team{display:grid;grid-template-columns:1fr;gap:28px 48px;align-items:center;}
  @media (min-width:860px){.team{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}}
  .team img{width:100%;height:auto;display:block;border:1px solid var(--line);}
  .role{padding-block:22px;border-top:1px solid var(--line);}
  .role:first-child{border-top:none;padding-top:0;}
  .role .tag{display:block;margin-bottom:8px;}
  .role h3{font-size:1.3rem;margin:0 0 8px;}
  .role p{color:var(--muted);margin:0;}
  .cta-strip{background:var(--accent-wash);border-top:1px solid var(--line);}
  .cta-strip .band-in{padding-block:clamp(44px,6vw,68px);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px 40px;}
  .cta-strip h2{margin:0;color:var(--accent-deep);max-width:22ch;}
  .cta-strip .reach{display:flex;flex-direction:column;gap:8px;}
  .cta-strip .contact-mail{margin:0;border-bottom-color:rgba(14,90,98,.25);}
  .cta-strip .phone{margin:0;}
  .note{font-size:.95rem;color:var(--muted);margin-top:22px;max-width:60ch;}
  .footer-in .legal{flex-basis:100%;text-transform:none;letter-spacing:.02em;font-size:.72rem;}
  .simple{display:grid;grid-template-columns:1fr;gap:12px;}
  @media (min-width:700px){.simple{grid-template-columns:repeat(3,minmax(0,1fr));}}
  .simple div{background:var(--surface);border:1px solid var(--line);padding:18px 18px 16px;}
  .simple b{display:block;font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:600;font-size:1.02rem;margin-bottom:4px;}
  .simple span{color:var(--muted);font-size:.92rem;}
  @media (min-width:700px){.simple.two{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .tile .val{color:var(--accent-deep);font-size:.92rem;}
  .gets{margin-top:30px;}
  .figs.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px;}
  .creds{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
  .creds li{position:relative;padding-left:18px;color:var(--ink);font-size:.98rem;}
  .creds li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--accent);}
  .team h2{margin-bottom:12px;}
  .gets h3{font-size:1.05rem;margin:0 0 12px;}
  .for{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:22px;max-width:none;}
  .shots{display:grid;gap:14px;margin-top:26px;}
  .shots figure{margin:0;}
  .shots img{width:100%;height:auto;display:block;border:1px solid var(--line);}
  .shots figcaption{font-size:.9rem;color:var(--muted);margin-top:8px;max-width:60ch;}
  .shots .row3{display:grid;grid-template-columns:1fr;gap:14px;}
  @media (min-width:700px){.shots .row3{grid-template-columns:repeat(3,minmax(0,1fr));}}
  .showcase h2{margin-bottom:12px;}
  .way .seen{display:inline-block;margin-top:12px;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none;}
