/* Micro-Mesh Gutter Guards in Nashville — one-page homeowner guide.

   Composition: no masthead and no navigation; the page opens straight into a
   deep woven field. Every H2 owns a full-bleed band of its own, and the bands
   alternate surface, temperature and internal geometry so no two sections read
   as the same sheet: dark weave → white "one part / whole system" split →
   sage canopy field → warm stone card set → dark prose band → stone band with
   two equal company panels. The recurring idea is proportion: the screen is a
   small fitted piece, the system around it is large. */

:root{
  --deep:#14201C;
  --deep-2:#1D2E28;
  --ink:#151C19;
  --ink-2:#3A4A44;
  --ink-3:#586962;
  --on-deep:#E9EFEC;
  --on-deep-2:#A9BEB6;

  --white:#FFFFFF;
  --stone:#F2F0EA;
  --stone-2:#E9ECE7;
  --sage:#DFE7E1;
  --sage-2:#D2DED6;

  --line:#D3DAD4;
  --line-2:#E2E7E2;
  --moss:#1B5E52;
  --moss-deep:#12433A;
  --copper:#A15A2B;
  --mint:#9FD8C6;

  --wide:1080px;
  --read:68ch;
  --gut:clamp(18px,5vw,44px);
  --band:clamp(44px,8vw,88px);

  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--stone-2);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

@media (min-width:900px){ body{font-size:18px} }

p{margin:0 0 1.05em;overflow-wrap:break-word}
p:last-child{margin-bottom:0}

h1,h2{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.015em;
  margin:0;
  overflow-wrap:break-word;
}

a{color:var(--moss);text-underline-offset:3px}
a:hover{color:var(--moss-deep)}

:focus-visible{outline:3px solid var(--copper);outline-offset:3px;border-radius:2px}
.open :focus-visible,.price :focus-visible,.foot :focus-visible{outline-color:var(--mint)}

.sr-only{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}

.skip{
  position:absolute;left:-9999px;top:0;z-index:20;
  background:var(--deep);color:var(--on-deep);
  padding:14px 20px;font-weight:600;text-decoration:none;
}
.skip:focus{left:0}

.wide{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gut)}

/* ============================================================
   1. Opening — deep woven field, no masthead above it
   ============================================================ */

.open{
  position:relative;
  background:var(--deep);
  color:var(--on-deep);
  overflow:hidden;
  padding-block:clamp(56px,13vw,124px) clamp(52px,11vw,110px);
}

.open__weave{
  position:absolute;
  inset:0;
  background-image:
    repeating-linear-gradient(45deg,rgba(233,239,236,.07) 0 1px,transparent 1px 7px),
    repeating-linear-gradient(-45deg,rgba(233,239,236,.07) 0 1px,transparent 1px 7px);
  -webkit-mask-image:linear-gradient(190deg,rgba(0,0,0,.95),rgba(0,0,0,0) 78%);
  mask-image:linear-gradient(190deg,rgba(0,0,0,.95),rgba(0,0,0,0) 78%);
  pointer-events:none;
}

.open__in{position:relative}

.open h1{
  font-size:clamp(2.1rem,7.4vw,4rem);
  line-height:1.04;
  color:#FFFFFF;
  max-width:16ch;
}

.open__answer{
  margin-top:clamp(24px,4.4vw,38px);
  max-width:60ch;
  font-size:clamp(1.06rem,2.5vw,1.34rem);
  line-height:1.56;
  color:var(--on-deep);
}

.open__turn{
  margin-top:clamp(22px,3.6vw,32px);
  padding-top:clamp(18px,2.8vw,26px);
  border-top:2px solid var(--copper);
  display:inline-block;
  max-width:34ch;
  font-family:var(--serif);
  font-size:clamp(1.1rem,3vw,1.5rem);
  line-height:1.35;
  color:#FFFFFF;
}

/* ============================================================
   2. What is a micro-mesh gutter guard? — white band.
      A small fitted screen tile set inside a much larger field.
   ============================================================ */

.part{
  background:var(--white);
  border-bottom:1px solid var(--line-2);
  padding-block:var(--band);
}

.part h2{
  font-size:clamp(1.55rem,4.4vw,2.35rem);
  line-height:1.16;
  max-width:22ch;
}

.part__grid{
  margin-top:clamp(24px,4vw,40px);
  display:grid;
  gap:clamp(22px,3.4vw,34px);
}

.part__screen{
  position:relative;
  margin:0;
  align-self:start;
  background:var(--deep);
  color:#FFFFFF;
  border:3px solid var(--copper);
  padding:clamp(20px,3.6vw,28px);
  font-family:var(--serif);
  font-size:clamp(1.08rem,2.9vw,1.3rem);
  line-height:1.4;
  background-image:
    repeating-linear-gradient(45deg,rgba(255,255,255,.075) 0 1px,transparent 1px 6px),
    repeating-linear-gradient(-45deg,rgba(255,255,255,.075) 0 1px,transparent 1px 6px);
}

.part__whole{max-width:var(--read);color:var(--ink-2)}

.part__ask{
  margin-top:1.15em;
  padding-left:16px;
  border-left:3px solid var(--sage-2);
  font-weight:600;
  color:var(--ink);
}

@media (min-width:900px){
  .part__grid{grid-template-columns:minmax(0,4.4fr) minmax(0,7fr);gap:clamp(34px,4.5vw,60px);align-items:start}
}

/* ============================================================
   Shared section lead (heading + immediate answer)
   ============================================================ */

.lead{
  border-top:1px solid var(--line);
  padding-top:clamp(18px,2.6vw,26px);
  display:grid;
  gap:clamp(12px,2vw,20px);
}

.lead h2{
  font-size:clamp(1.5rem,4.3vw,2.3rem);
  line-height:1.16;
}

.lead__answer{
  margin:0;
  max-width:52ch;
  font-size:clamp(1.02rem,2.1vw,1.16rem);
  line-height:1.55;
  color:var(--ink-2);
}

@media (min-width:900px){
  .lead{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,4vw,54px);align-items:start}
}

/* ============================================================
   3. Does micro-mesh make sense here? — sage canopy field
   ============================================================ */

.local{
  background:var(--sage);
  border-bottom:1px solid var(--sage-2);
  padding-block:var(--band);
}

.local .lead{border-top-color:var(--sage-2)}

.canopy{
  margin-top:clamp(28px,4.4vw,46px);
  background:var(--white);
  border:1px solid var(--sage-2);
  padding:clamp(20px,3.4vw,32px);
}

.canopy__band{
  height:18px;
  margin-bottom:clamp(16px,2.6vw,22px);
  background-image:
    linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.82) 22%,rgba(255,255,255,0) 88%),
    radial-gradient(circle at 3px 3px,#33705A 2px,transparent 2.6px);
  background-size:100% 100%,9px 9px;
  background-repeat:no-repeat,repeat;
}

.canopy__text{
  margin:0;
  max-width:var(--read);
  color:var(--ink-2);
}

.local__act{
  margin-top:clamp(24px,3.6vw,34px);
  max-width:58ch;
  font-family:var(--serif);
  font-size:clamp(1.06rem,2.4vw,1.24rem);
  line-height:1.5;
  color:var(--ink);
}

/* ============================================================
   4. What to check on your own house — warm stone band, check cards
   ============================================================ */

.house{
  background:var(--stone);
  border-bottom:1px solid var(--line);
  padding-block:var(--band);
}

.house__cue{
  margin:clamp(28px,4vw,44px) 0 clamp(14px,2vw,18px);
  font-weight:700;
  letter-spacing:.01em;
  color:var(--ink);
}

.checks{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

.check{
  background:var(--white);
  border:1px solid var(--line-2);
  border-top:3px solid var(--copper);
  padding:clamp(16px,2.6vw,22px);
  color:var(--ink-2);
  line-height:1.55;
}

.check strong{
  display:block;
  margin-bottom:.3em;
  font-family:var(--serif);
  font-weight:400;
  font-size:1.08em;
  color:var(--ink);
}

@media (min-width:620px){ .checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px} }
@media (min-width:980px){ .checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px} }

.house__after{
  margin-top:clamp(24px,3.6vw,36px);
  max-width:var(--read);
  color:var(--ink-2);
}

/* ============================================================
   5. Store price vs installed price — dark prose band, no boxes
   ============================================================ */

.price{
  background:var(--deep-2);
  color:var(--on-deep);
  padding-block:clamp(48px,9vw,96px);
}

.price h2{
  font-size:clamp(1.5rem,4.2vw,2.3rem);
  line-height:1.18;
  color:#FFFFFF;
  max-width:24ch;
}

.price__answer{
  margin-top:clamp(20px,3.2vw,30px);
  max-width:54ch;
  font-family:var(--serif);
  font-size:clamp(1.1rem,2.8vw,1.45rem);
  line-height:1.45;
  color:#FFFFFF;
}

.price__body{
  margin-top:clamp(20px,3vw,28px);
  max-width:var(--read);
  color:var(--on-deep-2);
}

.price__close{
  max-width:var(--read);
  color:var(--on-deep);
}

/* ============================================================
   6. Who installs micro-mesh in Nashville? — two equal panels
   ============================================================ */

.who{
  background:var(--stone-2);
  padding-block:var(--band);
}

.co{
  display:block;
  width:100%;
  margin-top:clamp(26px,4vw,42px);
  border:0;
  border-collapse:collapse;
}

.co__set{
  display:grid;
  gap:16px;
}

.co__panel{
  display:flex;
  flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);
  padding:clamp(18px,3vw,26px);
}

.co__name{
  display:block;
  text-align:left;
  font-weight:400;
  padding:0 0 clamp(14px,2.2vw,18px);
  border-bottom:2px solid var(--sage-2);
  margin-bottom:clamp(14px,2.2vw,18px);
}

.co__name a{
  font-family:var(--serif);
  font-size:clamp(1.14rem,3vw,1.34rem);
  line-height:1.25;
}

.co__product{
  display:block;
  margin-top:.3em;
  font-family:var(--sans);
  font-size:.9rem;
  color:var(--ink-3);
}

.co__field{
  display:block;
  text-align:left;
  padding:0 0 clamp(14px,2.2vw,18px);
}
.co__field:last-child{padding-bottom:0}

.co__label{
  display:block;
  margin-bottom:.28em;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--copper);
}

.co__value{display:block;color:var(--ink-2);line-height:1.55}

.paths{
  margin-top:16px;
  display:grid;
  gap:16px;
}

.path{
  margin:0;
  padding-top:14px;
  border-top:2px solid var(--line);
  max-width:52ch;
  color:var(--ink-2);
}

@media (min-width:860px){
  .co__set{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
  .paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}

.decide{
  margin-top:clamp(30px,4.6vw,50px);
  padding-left:clamp(16px,2.4vw,24px);
  border-left:4px solid var(--moss);
  max-width:var(--read);
}

.decide__last{
  margin-top:.9em;
  font-family:var(--serif);
  font-size:clamp(1.1rem,2.7vw,1.36rem);
  line-height:1.4;
  color:var(--ink);
}

/* ============================================================
   Footer
   ============================================================ */

.foot{
  background:var(--deep);
  color:var(--on-deep-2);
  padding-block:clamp(28px,5vw,44px);
  font-size:.95rem;
}

.foot p{margin:0;max-width:64ch}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
