:root{--navy:#17364a;--navy-2:#102938;--sage:#708a73;--paper:#f7f4ed;--charcoal:#26333a;--muted:#64727a;--line:#d9dfdc;--white:#fff;--shadow:0 20px 50px rgba(18,40,52,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--charcoal);background:#fff;line-height:1.65}img{display:block;width:100%}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem 1rem;z-index:999}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,54,74,.08)}.nav-shell{width:min(1220px,calc(100% - 32px));margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;color:var(--navy)}.brand-mark{width:58px;height:24px}.brand strong,.brand small{display:block}.brand strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;line-height:1}.brand small{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem}.main-nav{display:flex;align-items:center;gap:1.45rem;font-size:.87rem}.nav-cta{border:1px solid var(--navy);padding:.65rem .95rem;border-radius:999px}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .8rem}.hero{position:relative;min-height:78vh;display:grid;align-items:center;overflow:hidden;color:#fff}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;transform:scale(1.035);animation:slowDrift 24s ease-in-out infinite alternate}.hero-wash,.consultation-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,40,.70),rgba(10,28,40,.35) 55%,rgba(10,28,40,.10))}.hero-content{position:relative;z-index:2;padding:7rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:600;color:var(--sage)}.eyebrow.light{color:#dbe7df}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);line-height:1.04;margin:.15em 0 .45em}.hero h1{font-size:clamp(3.2rem,7vw,6.7rem);color:#fff;max-width:850px}.hero-copy{max-width:760px;font-size:1.15rem;color:rgba(255,255,255,.9)}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.88rem 1.2rem;border-radius:999px;font-weight:600;font-size:.92rem}.button.primary{background:#fff;color:var(--navy)}.button.ghost{border:1px solid rgba(255,255,255,.65);color:#fff}.button.secondary{background:var(--navy);color:#fff}.photo-credit{position:absolute;right:18px;bottom:10px;z-index:3;margin:0;font-size:.7rem;color:rgba(255,255,255,.72)}.section{padding:7rem 0}.soft{background:var(--paper)}.story{display:grid;grid-template-columns:1fr 1.05fr;gap:5rem;align-items:center}h2{font-size:clamp(2.4rem,4.2vw,4.4rem)}h3{font-size:1.7rem}.lead{font-size:1.14rem}.text-link{display:inline-block;margin-top:1rem;color:var(--navy);font-weight:600}.text-link.centered{display:block;text-align:center;margin-top:2rem}.editorial-photo{margin:0}.editorial-photo img{aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}figcaption{font-size:.72rem;color:var(--muted);margin-top:.55rem}.card-grid{display:grid;gap:1.1rem;margin-top:2.5rem}.card-grid.four{grid-template-columns:repeat(4,1fr)}.method-card,.service-card,.library-grid article{background:#fff;border:1px solid var(--line);padding:1.7rem;border-radius:18px}.method-card .step{font-size:.72rem;letter-spacing:.1em;color:var(--sage);font-weight:600}.section-heading{display:grid;grid-template-columns:1.5fr .8fr;gap:4rem;align-items:end;margin-bottom:2.5rem}.section-heading>p{color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.service-card{padding:2rem}.service-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sage);font-weight:600}.service-card a,.library-grid a{color:var(--navy);font-weight:600}.dark{background:var(--navy);color:#e7eeec}.dark h2{color:#fff}.why-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem}.questions{display:grid;gap:.55rem;margin:1.2rem 0 1.5rem}.questions strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;color:#fff}.assessment-section{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.report-preview{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:2rem;min-height:470px;transform:rotate(1deg)}.preview-bar{height:9px;background:var(--navy);width:42%;margin-bottom:2rem}.mini-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sage);font-weight:600}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1.2rem 0}.mini-grid span{padding:.75rem;background:var(--paper);font-size:.78rem}.preview-photo{height:170px;background:linear-gradient(135deg,#b6c2b8,#617769);margin-top:1.2rem}.mini-copy{font-size:.9rem;color:var(--muted)}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.library-grid article span{font-size:.72rem;color:var(--sage);text-transform:uppercase;letter-spacing:.08em}.consultation{position:relative;min-height:560px;display:grid;align-items:center;color:#fff;overflow:hidden}.consultation>img{position:absolute;inset:0;height:100%;object-fit:cover}.consultation-wash{background:linear-gradient(90deg,rgba(16,41,56,.78),rgba(16,41,56,.30))}.consultation-content{position:relative;z-index:2;padding:7rem 0;max-width:820px}.consultation h2{color:#fff}.site-footer{background:var(--navy-2);color:#dbe3e2;padding:4.5rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr 1.2fr;gap:3rem}.site-footer h4{color:#fff;margin-top:0}.site-footer a{display:block;margin:.42rem 0}.footer-logo{color:#fff}.footer-brand p{color:#b9c6c5}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:3rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;font-size:.75rem;color:#aebcbb;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes slowDrift{from{transform:scale(1.035)}to{transform:scale(1.07) translate3d(-1.2%,.6%,0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img{animation:none}.reveal{opacity:1;transform:none;transition:none}}@media (max-width:960px){.menu-toggle{display:block}.main-nav{position:absolute;left:16px;right:16px;top:70px;background:#fff;padding:1rem;border:1px solid var(--line);box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.story,.assessment-section,.why-grid,.section-heading{grid-template-columns:1fr;gap:2rem}.card-grid.four{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.shell{width:min(100% - 28px,1180px)}.hero{min-height:72vh}.hero-content{padding:5rem 0}.section{padding:4.5rem 0}.card-grid.four,.service-grid,.library-grid,.footer-grid{grid-template-columns:1fr}.button{width:100%}}


/* Homepage v1.1 — Project Blue Ridge logo production pass */
.logo-link{
  display:inline-flex;
  align-items:center;
  line-height:0;
}
.site-logo{
  width:200px;
  max-width:38vw;
  height:auto;
}
.footer-site-logo{
  width:200px;
  max-width:100%;
}

/* Primary header action: deliberate visual hierarchy */
.main-nav .nav-cta{
  background:var(--navy);
  color:#fff;
  border:1px solid var(--navy);
  padding:.68rem 1rem;
  border-radius:999px;
  opacity:1;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.main-nav .nav-cta:hover,
.main-nav .nav-cta:focus-visible{
  background:#244c64;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(23,54,74,.14);
}

/* Footer logo doubles as a quiet back-to-top control */
.footer-logo{
  cursor:pointer;
  transition:opacity .18s ease, transform .18s ease;
}
.footer-logo:hover,
.footer-logo:focus-visible{
  opacity:.88;
  transform:translateY(-1px);
}

@media (max-width:960px){
  .site-logo{width:260px;max-width:62vw}
  .footer-site-logo{width:220px;max-width:100%}
}
@media (max-width:650px){
  .site-logo{width:225px;max-width:68vw}
  .footer-site-logo{width:220px;max-width:100%}
}
/* Request a Consultation — Client Intake v1.0 */

.consultation-intro{
  position:relative;
  min-height:480px;
  display:grid;
  align-items:center;
  color:#fff;
  overflow:hidden;
}

.consultation-intro>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.consultation-intro-content{
  position:relative;
  z-index:2;
  padding:7rem 0;
  max-width:820px;
}

.consultation-intro h2{
  color:#fff;
  max-width:760px;
}

.consultation-intro-content>p:last-child{
  max-width:680px;
  font-size:1.1rem;
  color:rgba(255,255,255,.9);
}

.consultation-form-section{
  background:var(--paper);
  padding:7rem 0;
}

.consultation-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);
  gap:6rem;
  align-items:start;
}

.consultation-form-wrap h2{
  margin-bottom:.3em;
}

.consultation-lead{
  color:var(--muted);
  max-width:650px;
  margin-bottom:2.5rem;
}

.ies-consultation-form{
  display:grid;
  gap:1.6rem;
}

.form-grid{
  display:grid;
  gap:1.2rem;
}

.form-grid.two{
  grid-template-columns:repeat(2,1fr);
}

.form-field{
  display:grid;
  gap:.5rem;
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}

.form-field label,
.form-field legend{
  font-size:.82rem;
  font-weight:600;
  color:var(--navy);
}

.form-field > label > span{
  color:var(--sage);
}

.form-field label small{
  color:var(--muted);
  font-weight:400;
  margin-left:.3rem;
}

.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--charcoal);
  font:inherit;
  border-radius:10px;
  padding:.9rem 1rem;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.form-field textarea{
  resize:vertical;
  min-height:160px;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(112,138,115,.12);
}

.choice-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.7rem;
}

.choice-grid label,
.radio-row label{
  display:flex;
  align-items:center;
  gap:.65rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:.8rem .9rem;
  cursor:pointer;
  font-weight:500;
}

.choice-grid input,
.radio-row input{
  width:auto;
  margin:0;
  accent-color:var(--navy);
}

.radio-row{
  display:flex;
  gap:.7rem;
}

.radio-row label{
  min-width:120px;
}

.form-submit{
  border:0;
  cursor:pointer;
  width:max-content;
}

.form-note{
  margin:0;
  font-size:.75rem;
  color:var(--muted);
}

.consultation-next{
  border-left:1px solid var(--line);
  padding-left:2.5rem;
}

.next-step{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:1rem;
  padding:1.4rem 0;
  border-bottom:1px solid var(--line);
}

.next-step>span{
  color:var(--sage);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.08em;
}

.next-step h3{
  font-size:1.35rem;
  margin:0 0 .35rem;
}

.next-step p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

.direct-contact{
  margin-top:2rem;
  padding:1.3rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
}

.direct-contact p{
  margin:0 0 .25rem;
  font-size:.78rem;
  color:var(--muted);
}

.direct-contact a{
  color:var(--navy);
  font-weight:600;
  font-size:.88rem;
  overflow-wrap:anywhere;
}

.consultation-message{
  margin-top:2rem;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--sage);
  padding:1.5rem;
  border-radius:10px;
}

.consultation-message h3{
  margin-top:0;
}

.consultation-message p{
  margin-bottom:0;
}

.consultation-message.error{
  border-left-color:var(--navy);
}

@media (max-width:960px){
  .consultation-layout{
    grid-template-columns:1fr;
    gap:4rem;
  }

  .consultation-next{
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:2.5rem;
  }
}

@media (max-width:650px){
  .consultation-intro{
    min-height:440px;
  }

  .consultation-intro-content{
    padding:5rem 0;
  }

  .consultation-form-section{
    padding:4.5rem 0;
  }

  .form-grid.two,
  .choice-grid{
    grid-template-columns:1fr;
  }

  .radio-row{
    flex-direction:column;
  }

  .radio-row label{
    min-width:0;
  }

  .form-submit{
    width:100%;
  }
}
/* About IES — v1.0 */

.about-ies{
  background:#fff;
}

.about-intro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:3.5rem;
  align-items:end;
  margin-bottom:4.5rem;
}

.about-intro h2{
  margin-bottom:0;
}

.about-intro-copy{
  max-width:650px;
}

.about-intro-copy p:last-child{
  color:var(--muted);
}


/* Experience Timeline */

.experience-timeline{
  position:relative;
  max-width:900px;
  margin:0 auto 6rem;
  padding-left:3rem;
}

.experience-timeline::before{
  content:"";
  position:absolute;
  left:12px;
  top:10px;
  height:calc(100% - 22px);
  width:1px;
  background:var(--sage);
  opacity:.55;
}

.timeline-item{
  position:relative;
  padding:0 0 3.5rem 2rem;
}

.timeline-item:last-child{
  padding-bottom:0;
}

.timeline-marker{
  position:absolute;
  left:-3rem;
  top:.2rem;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--sage);
}

.timeline-marker::after{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  background:var(--sage);
}

.timeline-item-current .timeline-marker{
  background:var(--sage);
}

.timeline-item-current .timeline-marker::after{
  background:#fff;
}


/* Small era marker before 2011 / Field Experience / etc. */

.timeline-era{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0 0 .55rem;
  color:var(--sage);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.timeline-era::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--sage);
}

.timeline-content h3{
  font-size:2rem;
  margin:.1rem 0 .35rem;
}

.timeline-detail{
  margin:0 0 .65rem;
  color:var(--navy);
  font-weight:600;
  font-size:.9rem;
}

.timeline-content>p:last-child{
  max-width:680px;
  margin-bottom:0;
  color:var(--muted);
}


/* Person Behind IES */

.about-person{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5rem;
  align-items:center;
  padding:5rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.about-portrait{
  margin:0;
}
.about-photo{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.about-portrait figcaption{
  margin-top:.65rem;
  color:var(--muted);
  font-size:.78rem;
}
.about-photo-placeholder{
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
  background:linear-gradient(
    145deg,
    #eef1ed,
    #dbe3dd
  );
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.about-photo-placeholder span{
  color:var(--sage);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
}

.about-person-copy{
  max-width:650px;
}

.about-person-copy h2{
  margin-bottom:.35em;
}

.about-person-copy>p:not(.eyebrow):not(.lead){
  color:var(--muted);
}


/* Signature */

.about-signature{
  max-width:760px;
  margin:5rem auto 0;
  text-align:center;
}

.about-signature blockquote{
  margin:0 0 1.5rem;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.08;
  color:var(--navy);
}

.signature-name{
  margin:0;
  color:var(--navy);
  font-weight:600;
}

.signature-company{
  margin:.15rem 0 1.8rem;
  color:var(--muted);
  font-size:.84rem;
}

.about-signature .button{
  margin-top:.4rem;
}


/* About responsive */

@media (max-width:960px){

  .about-intro,
  .about-person{
    grid-template-columns:1fr;
    gap:2.5rem;
  }

  .about-intro{
    margin-bottom:4rem;
  }

  .about-person{
    padding:4rem 0;
  }

  .about-portrait{
    max-width:520px;
  }
}

@media (max-width:650px){

  .experience-timeline{
    padding-left:2.5rem;
    margin-bottom:4.5rem;
  }

  .experience-timeline::before{
    left:9px;
  }

  .timeline-item{
    padding-left:1.5rem;
    padding-bottom:3rem;
  }

  .timeline-marker{
    left:-2.5rem;
    width:20px;
    height:20px;
  }

  .timeline-marker::after{
    inset:5px;
  }

  .timeline-content h3{
    font-size:1.7rem;
  }

  .timeline-detail{
    font-size:.84rem;
  }

  .about-photo-placeholder{
    aspect-ratio:4/5;
  }

  .about-signature{
    margin-top:4rem;
  }

  .about-signature .button{
    width:100%;
  }
}
/* =========================================================
   Service Pages v1.0 — Project Blue Ridge
   Reusable framework for Asbestos / Mold / IAQ / Moisture
   ========================================================= */


/* Service Hero */

.service-hero{
  padding:7rem 0;
  background:#fff;
}

.service-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:5rem;
  align-items:center;
}

.service-hero-copy{
  max-width:700px;
}

.service-hero-copy h1{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(3.4rem,6vw,6.2rem);
  line-height:.98;
  color:var(--navy);
  margin:.15em 0 .35em;
}

.service-hero-lead{
  font-size:1.16rem;
  max-width:650px;
}

.service-hero-copy>p:not(.eyebrow):not(.service-hero-lead){
  color:var(--muted);
  max-width:650px;
}

.service-hero-actions{
  display:flex;
  align-items:center;
  gap:1.2rem;
  flex-wrap:wrap;
  margin-top:2rem;
}

.service-hero-actions .text-link{
  margin-top:0;
}

.service-hero-photo,
.service-field-photo{
  margin:0;
}

.service-photo-placeholder{
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#edf1ee,#dbe3dd);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.service-photo-placeholder span{
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  text-align:center;
  padding:1rem;
}


/* Editorial Intro */

.service-editorial-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:6rem;
  align-items:start;
}

.service-editorial-copy{
  max-width:660px;
}

.service-editorial-copy>p{
  color:var(--muted);
}

.service-callout-quote{
  margin:2rem 0;
  padding:0 0 0 1.5rem;
  border-left:3px solid var(--sage);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.6rem);
  line-height:1.08;
  color:var(--navy);
}


/* Service Notes */

.service-note{
  margin-top:2rem;
  padding:1.4rem 1.5rem;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:14px;
}

.service-note .eyebrow{
  margin-top:0;
}

.service-note p:last-child{
  margin-bottom:0;
}

.centered-note{
  max-width:850px;
  margin:3rem auto 0;
  text-align:center;
}


/* IES Approach */

.service-process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}

.service-process-step{
  background:#fff;
  border:1px solid var(--line);
  padding:1.6rem;
  border-radius:16px;
}

.service-process-step>span{
  display:block;
  margin-bottom:1rem;
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.1em;
}

.service-process-step h3{
  font-size:1.55rem;
  margin-bottom:.45rem;
}

.service-process-step p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}


/* Material Index */

.material-index{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
}

.material-index article{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:1rem;
  padding:1.7rem 1rem 1.7rem 0;
  border-bottom:1px solid var(--line);
}

.material-index article:nth-child(odd){
  padding-right:2rem;
}

.material-index article:nth-child(even){
  padding-left:2rem;
  border-left:1px solid var(--line);
}

.material-index article>span{
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
  padding-top:.25rem;
}

.material-index h3{
  margin:0 0 .35rem;
  font-size:1.55rem;
}

.material-index p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}


/* Fieldwork */

.service-fieldwork-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:5rem;
  align-items:center;
}

.service-fieldwork-copy{
  max-width:650px;
}

.service-fieldwork-copy>p:not(.eyebrow):not(.lead){
  color:var(--muted);
}

.service-principles{
  display:grid;
  gap:.35rem;
  margin-top:2rem;
}

.service-principles strong{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.55rem;
  font-weight:500;
  color:var(--navy);
}


/* Deliverables */

.service-deliverables{
  background:#fff;
}

.deliverables-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}

.deliverables-grid article{
  padding:1.6rem;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:14px;
}

.deliverables-grid h3{
  font-size:1.45rem;
  margin:0 0 .45rem;
}

.deliverables-grid p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

.service-report-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--line);
}

.service-report-link .eyebrow{
  margin:0;
}


/* Scenarios */

.scenario-list{
  max-width:920px;
}

.scenario-list article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:1rem;
  padding:1.35rem 0;
  border-bottom:1px solid var(--line);
}

.scenario-list article:first-child{
  border-top:1px solid var(--line);
}

.scenario-list>article>span{
  color:var(--sage);
  font-size:1.2rem;
  line-height:1.2;
  padding-top:.15rem;
}

.scenario-list h3{
  margin:0 0 .25rem;
  font-size:1.5rem;
}

.scenario-list p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

.service-regulatory-note{
  max-width:850px;
  margin:2rem 0 0;
  color:var(--muted);
  font-size:.82rem;
  font-style:italic;
}


/* Conclusion */

.service-conclusion{
  background:#fff;
}

.service-conclusion-inner{
  max-width:900px;
  margin-inline:auto;
  text-align:center;
}

.service-conclusion-inner>p{
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
}

.service-conclusion-inner>p:not(.eyebrow){
  color:var(--muted);
}

.service-conclusion blockquote{
  margin:3rem auto;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.6rem,5vw,4.8rem);
  line-height:1.03;
  color:var(--navy);
}


/* CTA */

.service-cta{
  background:var(--navy);
  color:#e7eeec;
  padding:6rem 0;
}

.service-cta-inner{
  max-width:820px;
  text-align:center;
}

.service-cta h2{
  color:#fff;
}

.service-cta-inner>p:not(.eyebrow):not(.service-area-note){
  max-width:700px;
  margin:0 auto 2rem;
  color:#dbe3e2;
}

.service-area-note{
  margin:1.2rem 0 0;
  color:#b9c6c5;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}


/* Continue Learning */

.service-learning{
  background:var(--paper);
}

.learning-preview{
  display:flex;
  justify-content:space-between;
  gap:3rem;
  align-items:end;
  padding-top:1rem;
}

.learning-preview>div{
  max-width:760px;
}

.learning-preview h2{
  margin-bottom:.25em;
}

.learning-preview p{
  margin-bottom:0;
  color:var(--muted);
}

.coming-soon{
  flex:0 0 auto;
  padding:.55rem .85rem;
  border:1px solid var(--sage);
  border-radius:999px;
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.service-photo{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
/* Tablet */

@media (max-width:960px){

  .service-hero-grid,
  .service-editorial-grid,
  .service-fieldwork-grid{
    grid-template-columns:1fr;
    gap:3rem;
  }

  .service-hero{
    padding:5.5rem 0;
  }

  .service-hero-copy{
    max-width:850px;
  }

  .service-hero-photo{
    max-width:760px;
  }

  .service-process-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .deliverables-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .service-field-photo{
    max-width:760px;
  }

  .service-report-link{
    align-items:flex-start;
    flex-direction:column;
  }
}

.mobile-story-link{
  display:none;
}

.mobile-service-actions{
  display:none;
}
/* Mobile */

@media (max-width:650px){

  .service-hero{
    padding:4.5rem 0;
  }

  .service-hero-copy h1{
    font-size:clamp(3rem,14vw,4.5rem);
  }

  .service-hero-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .service-hero-actions .button{
    width:100%;
  }

  .service-hero-actions .text-link{
    text-align:center;
  }

  .service-process-grid,
  .deliverables-grid,
  .material-index{
    grid-template-columns:1fr;
  }

  .material-index article,
  .material-index article:nth-child(odd),
  .material-index article:nth-child(even){
    padding:1.4rem 0;
    border-left:0;
  }

   .material-index article{
    grid-template-columns:38px 1fr;
  }

  .service-callout-quote{
    padding-left:1rem;
  }

  .service-principles strong{
    font-size:1.4rem;
  }

  .service-report-link{
    gap:1.4rem;
  }

  .service-report-link .button{
    width:100%;
  }

  .scenario-list article{
    grid-template-columns:30px 1fr;
  }

  .service-conclusion blockquote{
    margin:2.5rem auto;
  }

  .service-cta{
    padding:4.5rem 0;
  }

  .learning-preview{
    align-items:flex-start;
    flex-direction:column;
    gap:1.5rem;
  }
 .desktop-story-link{
    display:none;
}

  .mobile-story-link{
    display:inline-block;
    margin-top:1rem;
}
  
  .desktop-service-actions{
    display:none;
}

  .mobile-service-actions{
    display:flex;
}
}
/* =========================================================
   Mold Investigations — Service-specific elements
   ========================================================= */


/* Sampling Question */

.sampling-question{
  margin:2rem 0;
  padding:1.4rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.sampling-question span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:.45rem;
}

.sampling-question strong{
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.7rem,3vw,2.4rem);
  line-height:1.08;
  font-weight:500;
  color:var(--navy);
}


/* From Symptom to Source */

.mold-source{
  background:var(--paper);
}

.mold-source-heading{
  max-width:820px;
  margin:0 auto 3.5rem;
  text-align:center;
}

.mold-source-heading>p:not(.eyebrow){
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
  color:var(--muted);
}

.mold-source-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.mold-source-grid article{
  padding:1.8rem 1.4rem;
  border-right:1px solid var(--line);
}

.mold-source-grid article:last-child{
  border-right:0;
}

.mold-source-grid article>span{
  display:block;
  margin-bottom:1.3rem;
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
}

.mold-source-label{
  margin:0 0 .45rem;
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.mold-source-grid h3{
  margin:0;
  font-size:1.35rem;
  line-height:1.15;
}

.mold-source-quote{
  max-width:900px;
  margin:4rem auto 0;
  text-align:center;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.06;
  color:var(--navy);
}


/* Mold Tablet */

@media (max-width:960px){

  .mold-source-grid{
    grid-template-columns:repeat(2,1fr);
    border-bottom:0;
  }

  .mold-source-grid article{
    border-bottom:1px solid var(--line);
  }

  .mold-source-grid article:nth-child(even){
    border-right:0;
  }

  .mold-source-grid article:last-child{
    border-right:1px solid var(--line);
  }
}


/* Mold Mobile */

@media (max-width:650px){

  .mold-source-grid{
    grid-template-columns:1fr;
  }

  .mold-source-grid article,
  .mold-source-grid article:nth-child(even),
  .mold-source-grid article:last-child{
    border-right:0;
    padding:1.4rem 0;
  }

  .mold-source-grid article>span{
    margin-bottom:.75rem;
  }

  .mold-source-quote{
    margin-top:3rem;
  }
}
/* =========================================================
   Indoor Air Quality — Service-specific elements
   ========================================================= */


/* That's Still a Finding */

.iaq-finding{
  background:var(--paper);
}

.iaq-finding-inner{
  max-width:900px;
  text-align:center;
}

.iaq-finding-inner>h2{
  margin-bottom:2rem;
}

.iaq-finding-copy{
  max-width:680px;
  margin:0 auto;
  color:var(--muted);
}

.iaq-finding-copy p{
  margin-bottom:1rem;
}

.iaq-finding-copy strong{
  color:var(--navy);
}

.iaq-finding-statement{
  max-width:850px;
  margin:4.5rem auto 2rem;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.4rem,5vw,4.6rem);
  line-height:1.02;
  font-weight:500;
  color:var(--navy);
}

.iaq-finding-close{
  max-width:650px;
  margin:0 auto;
  color:var(--muted);
}


/* Following the Pattern */

.iaq-pattern-heading{
  max-width:800px;
  margin-bottom:3.5rem;
}

.iaq-pattern-heading>p:not(.eyebrow){
  max-width:680px;
  color:var(--muted);
}

.iaq-pattern-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.iaq-pattern-grid article{
  position:relative;
  padding:1.8rem 1.4rem 2rem;
  border-right:1px solid var(--line);
}

.iaq-pattern-grid article:last-child{
  border-right:0;
}

.iaq-pattern-grid article>span{
  display:block;
  margin-bottom:1.4rem;
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
}

.iaq-pattern-label{
  margin:0 0 .5rem;
  color:var(--sage);
  font-size:.72rem;
  line-height:1.3;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.iaq-pattern-grid h3{
  margin:0;
  font-size:1.25rem;
  line-height:1.18;
}


/* Important Distinction */

.iaq-distinction-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5rem;
  align-items:start;
}

.iaq-distinction-copy{
  max-width:650px;
}

.iaq-distinction-copy p{
  color:var(--muted);
}

.iaq-distinction-copy strong{
  color:var(--navy);
}


/* IAQ Tablet */

@media (max-width:960px){

  .iaq-pattern-grid{
    grid-template-columns:repeat(2,1fr);
    border-bottom:0;
  }

  .iaq-pattern-grid article{
    border-bottom:1px solid var(--line);
  }

  .iaq-pattern-grid article:nth-child(even){
    border-right:0;
  }

  .iaq-pattern-grid article:last-child{
    border-right:1px solid var(--line);
  }

  .iaq-distinction-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
}


/* IAQ Mobile */

@media (max-width:650px){

  .iaq-finding-statement{
    margin-top:3rem;
  }

  .iaq-pattern-grid{
    grid-template-columns:1fr;
  }

  .iaq-pattern-grid article,
  .iaq-pattern-grid article:nth-child(even),
  .iaq-pattern-grid article:last-child{
    border-right:0;
    padding:1.4rem 0;
  }

  .iaq-pattern-grid article>span{
    margin-bottom:.75rem;
  }
}
/* =========================================================
   Moisture Investigations — Service-specific elements
   ========================================================= */


/* Following the Evidence */

.moisture-evidence{
  background:var(--paper);
}

.moisture-evidence-heading{
  max-width:760px;
  margin-bottom:4rem;
}

.moisture-evidence-path{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  margin-bottom:4.5rem;
}

.moisture-evidence-path::before{
  content:"";
  position:absolute;
  top:1.05rem;
  left:1rem;
  right:1rem;
  height:1px;
  background:var(--line);
}

.moisture-evidence-path article{
  position:relative;
  padding:3.2rem 1.5rem 1.5rem;
}

.moisture-evidence-path article::before{
  content:"";
  position:absolute;
  top:.78rem;
  left:1.5rem;
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:var(--sage);
}

.evidence-number{
  display:block;
  margin-bottom:.8rem;
  color:var(--sage);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.08em;
}

.evidence-label{
  margin:0 0 .55rem;
  color:var(--sage);
  font-size:.74rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.moisture-evidence-path h3{
  margin:0 0 .8rem;
  font-size:1.35rem;
  line-height:1.18;
}

.moisture-evidence-path article>p:last-child{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}

.moisture-evidence-statement{
  max-width:900px;
  margin:0 auto;
  text-align:center;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(2.1rem,4vw,3.7rem);
  line-height:1.08;
  font-weight:500;
  color:var(--navy);
}


/* Condensation */

.moisture-condensation-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5rem;
  align-items:start;
}

.moisture-condensation-copy{
  max-width:650px;
}

.moisture-condensation-copy>p{
  color:var(--muted);
}

.moisture-condensation-copy strong{
  color:var(--navy);
}


/* Moisture & Microbial Growth */

.moisture-microbial-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5rem;
  align-items:start;
}

.moisture-microbial-copy{
  max-width:650px;
}

.moisture-microbial-copy>p{
  color:var(--muted);
}


/* Investigation Limits */

.moisture-limits-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5rem;
  align-items:start;
}

.moisture-limits-copy{
  max-width:650px;
}

.moisture-limits-copy>p{
  color:var(--muted);
}


/* Moisture Tablet */

@media (max-width:960px){

  .moisture-evidence-path{
    grid-template-columns:repeat(2,1fr);
  }

  .moisture-evidence-path::before{
    display:none;
  }

  .moisture-evidence-path article{
    padding:2rem 1.5rem;
    border-top:1px solid var(--line);
  }

  .moisture-evidence-path article::before{
    display:none;
  }

  .moisture-condensation-grid,
  .moisture-microbial-grid,
  .moisture-limits-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
}


/* Moisture Mobile */

@media (max-width:650px){

  .moisture-evidence-heading{
    margin-bottom:2.5rem;
  }

  .moisture-evidence-path{
    grid-template-columns:1fr;
    margin-bottom:3rem;
  }

  .moisture-evidence-path article{
    padding:1.5rem 0;
  }

  .moisture-evidence-statement{
    text-align:left;
  }
}


/* =========================================================
   IES Knowledge Library — Publication Template v1.0
   Article 01: Understanding Moisture in Buildings
   ========================================================= */

.knowledge-article-page{background:#fff}
.knowledge-hero{background:var(--paper);padding:6.5rem 0 5.5rem;border-bottom:1px solid var(--line)}
.knowledge-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:6rem;align-items:end}
.knowledge-hero-copy{max-width:800px}
.knowledge-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(3.8rem,7vw,6.7rem);line-height:.96;color:var(--navy);margin:.14em 0 .3em}
.knowledge-deck{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08;color:var(--navy);margin:0 0 1.5rem}
.knowledge-hero-copy>p:not(.eyebrow):not(.knowledge-deck){max-width:720px;color:var(--muted);font-size:1.05rem}
.knowledge-meta{display:flex;gap:1rem 1.8rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.knowledge-field-note{background:#fff;border:1px solid var(--line);padding:2rem;box-shadow:var(--shadow)}
.field-note-question{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.08;margin:.4rem 0 1.7rem}
.field-note-pathways{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.field-note-pathways span{padding:.8rem .7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.74rem;color:var(--muted)}

.knowledge-reading-shell{display:grid;grid-template-columns:minmax(0,760px) minmax(250px,300px);gap:7rem;align-items:start;padding-top:6rem;padding-bottom:7rem}
.knowledge-article{min-width:0}
.knowledge-intro{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.55rem,2.6vw,2.05rem);line-height:1.35;color:var(--navy);margin:0 0 5rem}
.knowledge-section{scroll-margin-top:110px;padding:0 0 5rem;margin:0 0 5rem;border-bottom:1px solid var(--line)}
.knowledge-section:last-child{margin-bottom:0}
.knowledge-section h2{font-size:clamp(2.5rem,4.6vw,4.15rem);margin:.15em 0 .55em}
.knowledge-section h3{font-size:1.65rem;margin:2.4rem 0 .5rem}
.knowledge-section>p:not(.eyebrow){color:#44535b}
.knowledge-section strong{color:var(--navy)}

.knowledge-definition-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:2.5rem 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.knowledge-definition-grid article{padding:1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.knowledge-definition-grid h3{font-size:1.5rem;margin:0 0 .45rem}
.knowledge-definition-grid p{margin:0;color:var(--muted);font-size:.92rem}

.knowledge-principle{margin:3rem 0;padding:0 0 0 1.5rem;border-left:3px solid var(--sage);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.1;color:var(--navy)}
.knowledge-principle-major{font-size:clamp(2.15rem,4vw,3.35rem);padding:2.2rem 0 2.2rem 1.8rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.knowledge-signature{margin:4rem 0 0;text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.03;color:var(--navy)}

.knowledge-figure{margin:3.5rem 0 1rem}
.knowledge-figure img{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.knowledge-figure figcaption{margin-top:.7rem}

.knowledge-material-list{display:grid;grid-template-columns:1fr 1fr;margin:2.5rem 0;border-top:1px solid var(--line)}
.knowledge-material-list article{padding:1.35rem 1rem 1.35rem 0;border-bottom:1px solid var(--line)}
.knowledge-material-list article:nth-child(even){padding-left:1.5rem;border-left:1px solid var(--line)}
.knowledge-material-list h3{margin:0 0 .3rem;font-size:1.4rem}
.knowledge-material-list p{margin:0;color:var(--muted);font-size:.9rem}

.knowledge-question-pair{display:grid;grid-template-columns:95px 1fr;gap:.55rem 1.2rem;margin:2.2rem 0;padding:1.5rem;background:var(--paper);border:1px solid var(--line)}
.knowledge-question-pair span{color:var(--sage);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding-top:.25rem}
.knowledge-question-pair strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;line-height:1.15;font-weight:500}

.knowledge-pattern-list{display:grid;gap:0;margin:2rem 0;border-top:1px solid var(--line)}
.knowledge-pattern-list span{display:grid;grid-template-columns:135px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.knowledge-pattern-list b{color:var(--navy)}
.knowledge-process{display:grid;grid-template-columns:repeat(4,1fr);margin:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.knowledge-process span{position:relative;padding:1.3rem .75rem;text-align:center;color:var(--navy);font-weight:600}
.knowledge-process span:not(:last-child)::after{content:"→";position:absolute;right:-.35rem;color:var(--sage)}

.knowledge-example-conclusion{margin:2rem 0;padding:1.5rem;background:var(--paper);border:1px solid var(--line);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;line-height:1.22;color:var(--navy)!important}
.knowledge-example-conclusion span{display:block;margin-bottom:.5rem;font-family:Inter,system-ui,sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--sage)}
.knowledge-closing-sequence{display:grid;gap:.55rem;margin:2rem 0;padding:1.7rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.knowledge-closing-sequence span{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;color:var(--navy)}

.knowledge-sidebar{min-width:0}
.knowledge-sidebar-sticky{position:sticky;top:110px}
.knowledge-sidebar-card{padding:1.7rem;border:1px solid var(--line);background:var(--paper)}
.knowledge-toc{display:grid;gap:.2rem}
.knowledge-toc a{padding:.45rem 0;color:var(--muted);font-size:.84rem;border-bottom:1px solid rgba(217,223,220,.75)}
.knowledge-toc a:hover,.knowledge-toc a:focus-visible{color:var(--navy)}
.knowledge-sidebar-divider{height:1px;background:var(--line);margin:1.7rem 0}
.knowledge-principles-mini{display:grid;gap:.45rem}
.knowledge-principles-mini span{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;color:var(--navy)}
.knowledge-related-link{display:grid;gap:.25rem}
.knowledge-related-link strong{color:var(--navy)}
.knowledge-related-link span{font-size:.82rem;color:var(--muted)}

.knowledge-related-grid{display:flex;justify-content:space-between;gap:3rem;align-items:end}
.knowledge-related-grid>div{max-width:780px}
.knowledge-related-grid h2{margin-bottom:.25em}
.knowledge-related-grid p{color:var(--muted);margin-bottom:0}
.knowledge-service-bridge{background:var(--navy);color:#dbe3e2;padding:5.5rem 0}
.knowledge-service-bridge-inner{display:flex;align-items:end;justify-content:space-between;gap:4rem}
.knowledge-service-bridge h2{color:#fff;margin-bottom:.25em}
.knowledge-service-bridge p:not(.eyebrow){max-width:670px;margin:0;color:#dbe3e2}
.knowledge-service-bridge .button{flex:0 0 auto}

@media (max-width:960px){
  .knowledge-hero-grid{grid-template-columns:1fr;gap:3rem}
  .knowledge-field-note{max-width:650px}
  .knowledge-reading-shell{grid-template-columns:1fr;gap:4rem;padding-top:5rem}
  .knowledge-sidebar{order:-1}
  .knowledge-sidebar-sticky{position:static}
  .knowledge-toc{grid-template-columns:1fr 1fr;column-gap:2rem}
  .knowledge-service-bridge-inner{align-items:flex-start;flex-direction:column;gap:2rem}
}

@media (max-width:650px){
  .knowledge-hero{padding:4.5rem 0 4rem}
  .knowledge-hero h1{font-size:clamp(3.1rem,14vw,4.7rem)}
  .knowledge-field-note{padding:1.4rem}
  .field-note-pathways{grid-template-columns:1fr}
  .knowledge-reading-shell{padding-top:4rem;padding-bottom:4.5rem}
  .knowledge-intro{margin-bottom:4rem}
  .knowledge-section{padding-bottom:4rem;margin-bottom:4rem}
  .knowledge-definition-grid,.knowledge-material-list{grid-template-columns:1fr}
  .knowledge-material-list article,.knowledge-material-list article:nth-child(even){padding:1.15rem 0;border-left:0}
  .knowledge-question-pair{grid-template-columns:1fr;gap:.35rem}
  .knowledge-question-pair strong{margin-bottom:.6rem}
  .knowledge-pattern-list span{grid-template-columns:1fr;gap:.25rem}
  .knowledge-process{grid-template-columns:1fr}
  .knowledge-process span{border-bottom:1px solid var(--line)}
  .knowledge-process span:last-child{border-bottom:0}
  .knowledge-process span:not(:last-child)::after{content:"↓";right:auto;left:50%;bottom:-.7rem;top:auto;background:#fff;padding:0 .35rem}
  .knowledge-principle-major{padding-left:1.15rem}
  .knowledge-toc{grid-template-columns:1fr}
  .knowledge-related-grid{align-items:flex-start;flex-direction:column;gap:1.5rem}
  .knowledge-service-bridge{padding:4.5rem 0}
  .knowledge-service-bridge .button{width:100%}
}


/* IES Knowledge Library — Article 02 support */
.knowledge-process.five{grid-template-columns:repeat(5,1fr)}
@media (max-width:650px){
  .knowledge-process.five{grid-template-columns:1fr}
  .knowledge-process.five span{border-bottom:1px solid var(--line)}
  .knowledge-process.five span:last-child{border-bottom:0}
  .knowledge-process.five span:not(:last-child)::after{content:"↓";right:auto;left:50%;bottom:-.72rem;top:auto;transform:translateX(-50%);background:#fff;padding:0 .25rem}
}
