
  :root{
    --ground:#FFFFFF;
    --surface:#F1F6F8;
    --ink:#22333C;
    --muted:#55666F;
    --line:#CFDCE2;
    --line-soft:#E2EAEE;
    --accent:#2B6F8C;
    --accent-soft:#5A9AB5;

    /* Hero is a fixed world — deep shade with light through the louvers.
       Defined once, identical in both themes, on purpose. */
    --shade:#2F6078;
    --shade-2:#264F63;
    --shade-ink:#FFFFFF;
    --shade-muted:#D6E5EC;
    --light:#F5DFB3;

    --measure:64ch;
    --pad:clamp(1.25rem,5vw,3rem);
    --gap-section:clamp(4rem,9vw,7.5rem);
  }
  
  *{box-sizing:border-box}
  body{
    margin:0;
    background:var(--ground);
    color:var(--ink);
    font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:1.0625rem;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.ui{font-family:"Montserrat","Helvetica Neue",Helvetica,Arial,sans-serif}
  h1,h2,h3{text-wrap:balance;margin:0}
  p{margin:0}
  a{color:inherit}

  .wrap{max-width:74rem;margin:0 auto;padding-inline:var(--pad)}
  .col{max-width:var(--measure)}

  .label{
    font-family:"Montserrat",sans-serif;
    font-size:.6875rem;font-weight:600;
    letter-spacing:.16em;text-transform:uppercase;
    color:var(--accent);
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    background:var(--shade);
    color:var(--shade-ink);
    isolation:isolate;
  }
  .hero::before{
    content:"";position:absolute;inset:-10% -20%;z-index:0;
    background:
      repeating-linear-gradient(
        102deg,
        transparent 0 46px,
        rgba(255,255,255,.13) 46px 52px,
        rgba(255,255,255,.05) 52px 60px,
        transparent 60px 106px
      );
    filter:blur(.4px);
    animation:drift 34s linear infinite;
  }
  .hero::after{
    content:"";position:absolute;inset:0;z-index:0;
    background:radial-gradient(120% 90% at 78% 8%, rgba(255,255,255,.18), transparent 58%);
  }
  @keyframes drift{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-106px,0,0)}
  }
  @media (prefers-reduced-motion:reduce){
    .hero::before{animation:none}
    .reveal{opacity:1 !important;transform:none !important}
  }
  .hero-inner{
    position:relative;z-index:1;
    padding-block:clamp(4.5rem,14vw,9rem) clamp(3.5rem,10vw,6.5rem);
  }
  .brand{
    display:flex;align-items:baseline;gap:.5rem 1.1rem;flex-wrap:wrap;
    font-family:"Montserrat",sans-serif;
    margin-bottom:clamp(3rem,9vw,5.5rem);
  }
  .brand-mark{
    font-weight:700;letter-spacing:.08em;line-height:1;
    font-size:clamp(2.1rem,6vw,3.4rem);color:var(--shade-ink);
  }
  .brand-rule{order:3;flex:1 1 3rem;height:1px;background:rgba(255,255,255,.45);min-width:2rem;align-self:center}
  .brand-sub{
    font-size:clamp(1rem,2.2vw,1.4rem);font-weight:600;letter-spacing:.16em;
    text-transform:uppercase;color:var(--light);line-height:1.2;
  }
  .hero h1{
    font-size:clamp(2.4rem,6.4vw,4.6rem);
    font-weight:600;line-height:1.02;letter-spacing:-.028em;
    max-width:17ch;
  }
  .hero h1 em{
    font-family:"Newsreader",serif;font-style:italic;font-weight:300;
    color:var(--light);letter-spacing:0;
  }
  .hero-lede{
    margin-top:1.6rem;max-width:52ch;
    font-size:clamp(1.05rem,1.7vw,1.25rem);
    color:var(--muted);line-height:1.6;
  }
  .hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.4rem;align-items:center}

  .btn{
    font-family:"Montserrat",sans-serif;
    font-size:.8125rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
    padding:.95rem 1.6rem;border:1px solid transparent;border-radius:2px;
    text-decoration:none;display:inline-block;
    transition:background .18s ease,color .18s ease,border-color .18s ease;
  }
  .btn-primary{background:var(--light);color:#17130D;}
  .btn-primary:hover{background:#F2D2A4}
  .btn-ghost{border-color:rgba(255,255,255,.34);color:var(--shade-ink)}
  .btn-ghost:hover{border-color:var(--light);color:var(--light)}
  .btn:focus-visible{outline:2px solid var(--light);outline-offset:3px}

  .hero-foot{
    position:relative;z-index:1;
    border-top:1px solid rgba(255,255,255,.14);
    padding-block:1.1rem;
    display:flex;flex-wrap:wrap;gap:.5rem 2.25rem;
    font-family:"Montserrat",sans-serif;font-size:.75rem;font-weight:500;
    letter-spacing:.1em;text-transform:uppercase;color:var(--shade-muted);
  }

  /* ---------- Sections ---------- */
  section{padding-block:var(--gap-section)}
  .section-head{display:grid;gap:.9rem;margin-bottom:clamp(2.25rem,5vw,3.5rem)}
  .section-head h2{
    font-size:clamp(1.6rem,3.1vw,2.35rem);
    font-weight:600;letter-spacing:-.02em;line-height:1.12;max-width:20ch;
  }
  .section-head p{color:var(--muted);max-width:56ch}

  /* Louver rule — the divider motif */
  .louver{height:0;border:0;border-top:1px solid var(--line);position:relative}
  .louver::after{
    content:"";position:absolute;left:0;top:-1px;width:clamp(3rem,8vw,6rem);
    border-top:1px solid var(--accent);
  }

  /* ---------- Services: spec sheet ---------- */
  .spec{border-top:1px solid var(--line)}
  .spec + .spec{margin-top:clamp(2.5rem,6vw,4rem)}
  .spec-group{
    display:flex;align-items:baseline;gap:1rem;
    padding-block:.9rem;border-bottom:1px solid var(--line);
  }
  .spec-group h3{
    font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.015em;
  }
  .spec-group .gloss{
    font-family:"Newsreader",serif;font-style:italic;font-weight:300;
    color:var(--muted);font-size:.95rem;
  }
  .spec-row{
    display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);
    gap:.4rem clamp(1.5rem,5vw,3.5rem);
    padding-block:clamp(1.5rem,3vw,2rem);
    border-bottom:1px solid var(--line-soft);
    align-items:start;
  }
  @media (max-width:44rem){ .spec-row{grid-template-columns:1fr} }
  .spec-row h3{
    font-size:1.0625rem;font-weight:600;letter-spacing:-.005em;line-height:1.35;
  }
  .spec-row .note{color:var(--muted);font-size:.95rem}
  .spec-row .via{
    display:inline-block;margin-top:.55rem;
    font-family:"Montserrat",sans-serif;font-size:.6875rem;font-weight:600;
    letter-spacing:.12em;text-transform:uppercase;color:var(--accent);
  }

  /* ---------- Seams: the one-stop argument ---------- */
  .seams{
    display:grid;gap:0;border-top:1px solid var(--line);
  }
  @media (min-width:56rem){
    .seams{grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,4rem)}
  }
  .seam{
    padding-block:clamp(1.35rem,2.6vw,1.75rem);
    border-bottom:1px solid var(--line-soft);
  }
  .seam p{max-width:44ch}
  .seam .when{
    display:block;margin-bottom:.3rem;
    font-family:"Montserrat",sans-serif;font-size:.6875rem;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  }
  .seams-close{
    margin-top:clamp(2rem,4vw,3rem);
    max-width:52ch;
    font-size:clamp(1.15rem,2.1vw,1.45rem);
    line-height:1.45;letter-spacing:-.01em;
  }
  .seams-close strong{
    font-family:"Montserrat",sans-serif;font-weight:600;
    font-size:.92em;color:var(--accent);
  }

  /* ---------- Process ---------- */
  .steps{display:grid;gap:0;border-top:1px solid var(--line)}
  .step{
    display:grid;grid-template-columns:3.5rem minmax(0,1fr);
    gap:.35rem clamp(1rem,3vw,2rem);
    padding-block:clamp(1.5rem,3vw,2rem);
    border-bottom:1px solid var(--line-soft);
  }
  .step-n{
    font-family:"Montserrat",sans-serif;font-size:.8125rem;font-weight:700;
    letter-spacing:.06em;color:var(--accent);font-variant-numeric:tabular-nums;
    padding-top:.28rem;
  }
  .step h3{font-size:1.0625rem;font-weight:600;margin-bottom:.35rem}
  .step p{color:var(--muted);font-size:.95rem;max-width:58ch}

  /* ---------- Project story ---------- */
  .story{display:grid;gap:0;border-top:1px solid var(--line)}
  .story-step{
    display:grid;gap:1rem clamp(1.5rem,4vw,3rem);
    padding-block:clamp(1.75rem,4vw,2.75rem);
    border-bottom:1px solid var(--line-soft);
    align-items:start;
  }
  @media (min-width:52rem){
    .story-step{grid-template-columns:minmax(0,13rem) minmax(0,1fr)}
  }
  .story-meta .n{
    font-family:"Montserrat",sans-serif;font-size:.75rem;font-weight:700;
    letter-spacing:.1em;color:var(--accent);font-variant-numeric:tabular-nums;
    display:block;margin-bottom:.45rem;
  }
  .story-meta h3{
    font-size:1.0625rem;font-weight:600;letter-spacing:-.005em;margin-bottom:.4rem;
  }
  .story-meta p{color:var(--muted);font-size:.9375rem;max-width:34ch}
  .story-step figure{margin:0}
  .story-step img{
    display:block;width:100%;height:auto;
    border:1px solid var(--line);border-radius:2px;
    background:var(--surface);
  }
  .story-step figcaption{
    margin-top:.6rem;color:var(--muted);font-size:.85rem;font-style:italic;
  }
  .story-lead{max-width:38rem}

  /* ---------- Gallery placeholders ---------- */
  .gallery{
    display:grid;gap:clamp(.75rem,1.6vw,1.1rem);
    grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));
  }
  .frame{
    position:relative;aspect-ratio:4/3;border:1px dashed var(--line);
    background:
      repeating-linear-gradient(
        102deg,
        transparent 0 22px,
        var(--line-soft) 22px 25px
      ),
      var(--surface);
    display:flex;align-items:flex-end;padding:1rem;border-radius:2px;
  }
  .frame span{
    font-family:"Montserrat",sans-serif;font-size:.75rem;font-weight:500;
    color:var(--muted);background:var(--ground);
    padding:.35rem .55rem;border-radius:2px;line-height:1.35;
  }
  .frame.tall{aspect-ratio:3/4}

  .gallery figure{margin:0}
  .gallery img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:2px;background:var(--surface)}
  .gallery figcaption{margin-top:.6rem;color:var(--muted);font-size:.85rem;font-style:italic}

  .quote-card{
    border:1px solid var(--line);border-radius:2px;background:var(--surface);
    padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;
    gap:1.2rem;min-height:11rem;
  }
  .quote-card blockquote{
    margin:0;font-family:"Newsreader",serif;font-style:italic;font-weight:300;
    font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.35;
  }
  .quote-card blockquote::before{content:"\201C";color:var(--accent)}
  .quote-card blockquote::after{content:"\201D";color:var(--accent)}
  .quote-card cite{
    font-family:"Montserrat",sans-serif;font-style:normal;font-size:.8125rem;
    font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  }

  /* ---------- About ---------- */
  .about{background:var(--surface);border-block:1px solid var(--line)}
  .about-grid{
    display:grid;gap:clamp(2rem,5vw,4rem);
    grid-template-columns:minmax(0,1fr);
  }
  @media (min-width:56rem){
    .about-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
  }
  .about p + p{margin-top:1.1rem}
  .creds{display:grid;gap:0;border-top:1px solid var(--line)}
  .cred{
    padding-block:1rem;border-bottom:1px solid var(--line-soft);
    display:grid;gap:.15rem;
  }
  .cred dt{
    font-family:"Montserrat",sans-serif;font-size:.6875rem;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  }
  .cred dd{margin:0;font-size:1rem}

  /* ---------- FAQ ---------- */
  .faq{border-top:1px solid var(--line)}
  .faq details{border-bottom:1px solid var(--line-soft)}
  .faq summary{
    cursor:pointer;list-style:none;padding-block:1.15rem;
    font-family:"Montserrat",sans-serif;font-weight:600;font-size:1rem;
    display:flex;gap:1rem;align-items:baseline;justify-content:space-between;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";color:var(--accent);font-weight:500;font-size:1.15rem}
  .faq details[open] summary::after{content:"–"}
  .faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .faq .answer{padding-bottom:1.35rem;color:var(--muted);max-width:60ch}

  /* ---------- Contact ---------- */
  .contact{background:var(--shade);color:var(--shade-ink);position:relative;overflow:hidden}
  .contact::before{
    content:"";position:absolute;inset:0;
    background:repeating-linear-gradient(102deg,transparent 0 60px,rgba(255,255,255,.06) 60px 66px);
  }
  .contact .wrap{position:relative;z-index:1}
  .contact h2{font-size:clamp(1.8rem,4vw,2.9rem);font-weight:600;letter-spacing:-.025em;line-height:1.06;max-width:16ch}
  .contact p{color:#E8F0F4;margin-top:1.1rem;max-width:48ch}
  .contact .label{color:var(--light)}

  footer{
    background:var(--shade);color:var(--shade-muted);
    border-top:1px solid rgba(255,255,255,.14);
    font-family:"Montserrat",sans-serif;font-size:.75rem;letter-spacing:.06em;
    padding-block:1.6rem;
  }
  footer .wrap{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between}

  /* ---------- To-fill markers ---------- */
  .tofill{
    font-family:"Montserrat",sans-serif;font-size:.6875rem;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;
    border:1px solid var(--accent);color:var(--accent);
    padding:.18rem .45rem;border-radius:2px;white-space:nowrap;
    display:inline-block;line-height:1.4;
  }
  .hero .tofill,.contact .tofill{border-color:var(--light);color:var(--light)}

  /* ---------- Work tabs ---------- */
  .work-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:clamp(1.25rem,2.5vw,1.75rem)}
  .work-tab{
    font-family:"Montserrat",sans-serif;font-size:.8125rem;font-weight:600;
    letter-spacing:.09em;text-transform:uppercase;
    padding:.8rem 1.3rem;border:1px solid var(--line);border-radius:2px;
    background:none;color:var(--muted);cursor:pointer;
    transition:color .18s ease,border-color .18s ease,background .18s ease;
  }
  .work-tab:hover{border-color:var(--accent);color:var(--ink)}
  .work-tab[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--ground)}
  .work-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .work-panel[hidden]{display:none}
  .work-panel > .label + .work-note{margin-top:.9rem}
  .work-note{color:var(--muted);max-width:56ch;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
  .work-note .via{display:block;margin-top:.55rem}
  .work-panel h3.panel-title{
    font-family:"Montserrat",sans-serif;font-size:clamp(1.25rem,2.4vw,1.7rem);
    font-weight:600;letter-spacing:-.015em;margin:.7rem 0 .5rem;
  }

  .js .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
  .js .reveal.in{opacity:1;transform:none}

  img{max-width:100%}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  section[id]{scroll-margin-top:1rem}

  /* ---------- Top nav ---------- */
  .topnav{background:var(--shade);color:var(--shade-ink);border-bottom:1px solid rgba(255,255,255,.14)}
  .topnav .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1.5rem;padding-block:.8rem}
  .topnav a{color:inherit;text-decoration:none}
  .nav-brand{font-family:"Montserrat",sans-serif;font-weight:700;letter-spacing:.1em;font-size:.95rem;white-space:nowrap}
  .nav-brand span{color:var(--light);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-left:.45rem}
  .nav-links{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-family:"Montserrat",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
  .nav-links a{padding-block:.35rem;color:var(--muted)}
  .nav-links a:hover{color:var(--light)}
  .nav-links a:focus-visible,.nav-brand:focus-visible{outline:2px solid var(--light);outline-offset:3px}

  /* ---------- Inner pages ---------- */
  .page-hero{position:relative;overflow:hidden;background:var(--shade);color:var(--shade-ink);isolation:isolate}
  .page-hero::before{content:"";position:absolute;inset:0;z-index:0;
    background:repeating-linear-gradient(102deg,transparent 0 60px,rgba(255,255,255,.07) 60px 66px)}
  .page-hero .wrap{position:relative;z-index:1;padding-block:clamp(2.75rem,8vw,5rem)}
  .page-hero .label{color:var(--light)}
  .page-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:600;line-height:1.06;letter-spacing:-.025em;max-width:20ch;margin-top:.8rem}
  .page-hero p{margin-top:1.2rem;max-width:58ch;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.2rem)}
  .prose{max-width:var(--measure)}
  .prose p + p{margin-top:1.1rem}
  .prose h2,.block-title{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-bottom:1rem}
  .checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:var(--measure)}
  .checks li{padding-block:.85rem;border-bottom:1px solid var(--line-soft)}
  .two-col{display:grid;gap:2.5rem clamp(2.5rem,6vw,5rem);align-items:start}
  @media (min-width:56rem){.two-col{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
  .home .nav-brand{visibility:hidden}
  @media (max-width:30rem){.home .nav-brand{display:none}.nav-links{gap:.2rem .95rem;font-size:.69rem}}
  .inner{padding-block:clamp(2.75rem,6vw,4.5rem)}
  .inner + .inner{padding-top:0}
  .crumbs{font-family:"Montserrat",sans-serif;font-size:.75rem;color:var(--shade-muted);letter-spacing:.04em;margin-bottom:1.5rem}
  .crumbs a{color:inherit}
  .quote-solo{max-width:44rem}
  .prose a,.faq .answer a{color:var(--accent)}
  .links-grid{display:grid;gap:0;border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));column-gap:2rem}
  .links-grid a{display:block;padding-block:.85rem;border-bottom:1px solid var(--line-soft);font-family:"Montserrat",sans-serif;font-weight:600;text-decoration:none}
  .links-grid a:hover{color:var(--accent)}
  .spec-row h3 a{text-decoration:none}
  .spec-row h3 a:hover{color:var(--accent)}
  .creds a{color:inherit}

  /* ---------- Footer ---------- */
  .foot-grid{display:grid;gap:1.75rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));padding-block:1.4rem}
  footer .foot-grid{display:grid}
  footer h2{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--light);font-weight:600;margin-bottom:.7rem}
  footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
  footer a{color:inherit;text-decoration:none}
  footer a:hover{color:var(--light)}
  .foot-legal{border-top:1px solid rgba(255,255,255,.14);padding-top:1rem;font-size:.7rem}

  /* ---------- Coastal look ---------- */
  :root{color-scheme:light}
  .callbar{background:var(--shade);color:#fff;text-align:center;font-family:"Montserrat",sans-serif;font-size:.8rem;font-weight:600;padding:.5rem 1rem}
  .callbar a{color:inherit;text-decoration:none}
  .topnav{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 6px rgba(34,51,60,.08);position:relative;z-index:2}
  .topnav .wrap{padding-block:.9rem}
  .nav-brand{display:inline-grid;gap:.1rem;font-size:clamp(1.7rem,3.2vw,2.2rem);font-weight:700;letter-spacing:.09em;line-height:1;color:var(--ink)}
  .nav-brand span{margin:0;color:var(--accent);font-size:clamp(.72rem,1.2vw,.86rem);letter-spacing:.15em}
  .nav-links{font-size:.8rem;letter-spacing:.04em}
  .nav-links a{color:var(--ink)}
  .nav-links a:hover{color:var(--accent)}
  .nav-links a:focus-visible,.nav-brand:focus-visible{outline-color:var(--accent)}
  .hero{background:#fff;color:var(--ink)}
  .hero::before,.hero::after{display:none}
  .hero-photo{display:block;width:100%;height:clamp(16rem,52vh,34rem);object-fit:cover;object-position:50% 34%}
  .hero-foot{border-top:0;max-width:none;background:var(--shade);color:#fff;justify-content:center;text-align:center;padding-block:.95rem;letter-spacing:.06em}
  .hero-inner{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2.5rem,6vw,4rem)}
  .hero h1{font-size:clamp(2.2rem,5.4vw,3.9rem);font-weight:500;max-width:19ch}
  .hero h1 em{color:var(--accent)}
  .hero-lede{color:var(--muted);max-width:60ch}
  .hero .btn-primary{background:var(--accent);color:#fff}
  .hero .btn-primary:hover{background:var(--shade-2)}
  .hero .btn-ghost{border-color:var(--accent);color:var(--accent)}
  .hero .btn-ghost:hover{background:var(--surface);color:var(--accent);border-color:var(--accent)}
  .btn:focus-visible{outline-color:var(--accent)}
  .btn{border-radius:4px}
  .btn-primary:hover{background:#fff}
  .page-hero::before,.contact::before{opacity:.5}
  .page-hero h1{font-weight:500}
  .page-hero p{color:#E8F0F4}
  .section-head h2,.prose h2,.block-title{font-weight:500}
  section:nth-of-type(even):not(.contact):not(.about):not(.inner){background:var(--surface)}
  .areas{background:var(--surface);padding-block:clamp(2.75rem,6vw,4.5rem)}
  .areas .section-head{margin-bottom:1.5rem}
  .hero-area{display:block;margin-bottom:.9rem;font-size:.85rem}
  .area-grid{display:grid;gap:2rem clamp(2rem,5vw,4rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
  .area-grid h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}
  .area-grid h3 a{text-decoration:none;color:var(--accent)}
  .area-grid p{color:var(--muted)}
  .area-grid .via{display:inline-block;margin-top:.7rem;font-family:"Montserrat",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
  footer{background:var(--shade-2)}
  footer h2{color:var(--light)}
