 :root{
  --bg:#f2eee7;--surface:#fbf8f2;--surface2:#e8e1d7;--ink:#18212a;
  --muted:#6d7479;--accent:#9a7446;--accent2:#6f512f;--dark:#182028;
  --line:rgba(24,33,42,.14);--max:1180px;--radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1.65}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:99;background:rgba(242,238,231,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-weight:750}
.brand-mark{width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:.75rem}
nav{display:flex;gap:26px;align-items:center}
nav a{font-size:.9rem;font-weight:650;color:#424b52}
nav a.active{color:var(--accent2)}
.nav-cta{padding:9px 15px;border:1px solid var(--line);border-radius:999px}
.menu-toggle{display:none;border:0;background:none;font-size:1.4rem}
.hero,.eng-hero{padding:90px 0 105px}
.hero-grid{display:grid;grid-template-columns:1.6fr .6fr;gap:70px;align-items:stretch}
.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;letter-spacing:-.025em}
h1{font-size:clamp(3.4rem,7.8vw,7rem)}
h1 span,h2 span{color:var(--accent2)}
h2{font-size:clamp(2.3rem,4.7vw,4.3rem)}
h3{font-size:clamp(1.4rem,2.4vw,2.05rem)}
.hero-copy{max-width:760px;font-size:1.15rem;margin-top:30px;color:var(--muted)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;font-size:.9rem;font-weight:750}
.primary{background:var(--ink);color:white}.secondary{border:1px solid var(--line)}
.meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:var(--muted);font-size:.85rem}
.hero-card{min-height:500px;border-radius:28px;padding:26px;background:linear-gradient(155deg,#252f38,#11171c);color:white;display:flex;flex-direction:column;justify-content:space-between}
.hero-card>div:first-child{font-size:.72rem;letter-spacing:.13em;color:rgba(255,255,255,.55)}
.hero-letter{font:500 11rem/1 Georgia,serif;text-align:center;color:rgba(255,255,255,.08)}
.focus{display:grid;gap:8px;color:rgba(255,255,255,.8)}
.section{padding:105px 0}.soft{background:var(--surface);border-block:1px solid var(--line)}.dark{background:var(--dark);color:white}.contact{background:#ded6cb}
.split,.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}
.prose p+p{margin-top:18px}.lead{font-size:1.25rem;color:var(--ink)}
.section-head{margin-bottom:52px}.section-head>p:last-child{margin-top:18px;max-width:700px;color:var(--muted)}.center{text-align:center}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.path-card{min-height:380px;border:1px solid var(--line);border-radius:26px;padding:30px;display:grid;grid-template-rows:auto 1fr auto;background:rgba(255,255,255,.22)}
.path-card:hover{background:var(--surface);transform:translateY(-4px);transition:.2s}
.number{font-size:.75rem;color:var(--accent2);font-weight:800}.path-card h3{margin:16px 0}.arrow{justify-self:end;font-size:1.5rem;color:var(--accent2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:40px 0}
.stats div{padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:16px}.stats strong{display:block;font:500 3rem Georgia;color:#d0ab78}.stats span{color:rgba(255,255,255,.62);font-size:.9rem}
.light-btn{border:1px solid rgba(255,255,255,.2);color:white}
.card-grid,.technical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.simple-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--bg)}.simple-card>span{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--accent2)}.simple-card h3{margin:28px 0 14px}.simple-card ul{padding-left:19px;color:var(--muted)}
.contact-list{border-top:1px solid var(--line)}.contact-list a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-list span{font-size:.75rem;text-transform:uppercase;color:var(--muted)}
footer{background:var(--dark);color:rgba(255,255,255,.7);padding:24px 0}.footer-row{display:flex;justify-content:space-between;gap:20px;font-size:.84rem}

/* engineering page */
.eng-hero h1{max-width:1050px}
.project-case{background:var(--surface)}
.case-head{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:end;margin-bottom:42px}
.location{margin-top:17px;color:var(--muted)}
.role-box{display:grid;grid-template-columns:85px 1fr;gap:12px 17px}.role-box span{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:var(--accent2)}.role-box strong{font-size:.9rem}
.hero-photo{margin-bottom:82px}.hero-photo img{width:100%;max-height:710px;object-fit:cover;border-radius:22px}.hero-photo figcaption,.image-pair figcaption,.feature-grid figcaption{padding-top:9px;font-size:.78rem;color:var(--muted)}
.story-grid{margin-bottom:65px}.story-grid h3{font-size:clamp(2rem,4vw,3.5rem)}
.spec-row{display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--line);margin-bottom:96px}
.spec-row div{padding:23px 18px;border-right:1px solid var(--line)}.spec-row div:last-child{border-right:0}.spec-row span{display:block;font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--muted);margin-bottom:14px}.spec-row strong{font:500 1.55rem Georgia}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:78px}.process{padding:26px;min-height:260px;border:1px solid var(--line);border-radius:18px;background:var(--bg)}.process>span{font-size:.72rem;color:var(--accent2);font-weight:800}.process h3{margin:36px 0 14px}
.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 95px}.image-pair img{width:100%;height:470px;object-fit:cover;border-radius:18px}
.field-note{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;background:var(--dark);color:white;padding:54px;border-radius:26px;margin-bottom:100px}.field-note h2{margin-bottom:26px}.field-note p{color:rgba(255,255,255,.62)}.field-note p+p{margin-top:16px}.field-note>div:first-child>span{color:rgba(255,255,255,.52)}
.feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:center;margin-bottom:105px}.feature-grid h2{margin-bottom:24px}.feature-grid p+p{margin-top:17px}.feature-grid img{width:100%;height:550px;object-fit:cover;border-radius:18px}
.handover{padding:55px 0;border-block:1px solid var(--line);margin:100px 0 80px}.handover h2{margin-bottom:40px}.final-gallery{grid-template-columns:1.3fr .7fr}
.next-project{padding:48px;border:1px dashed rgba(24,33,42,.22);border-radius:24px}.next-project h2{margin-bottom:14px}
.reveal{opacity:0;transform:translateY(15px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .hero-grid,.split,.story-grid,.case-head,.field-note,.feature-grid{grid-template-columns:1fr}
  .path-grid,.image-pair{grid-template-columns:1fr}
  .stats,.spec-row{grid-template-columns:repeat(2,1fr)}
  .card-grid,.technical-grid,.process-grid{grid-template-columns:1fr 1fr}
  nav{display:none;position:absolute;top:78px;left:20px;right:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;flex-direction:column;align-items:stretch}
  nav.open{display:flex}.menu-toggle{display:block}.hero-card{min-height:350px}
}
@media(max-width:600px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:76px 0}.hero,.eng-hero{padding:60px 0 75px}
  .stats,.spec-row,.card-grid,.technical-grid,.credential-grid,.process-grid{grid-template-columns:1fr}
  .spec-row div,.stats div{border-right:0}.image-pair img,.feature-grid img{height:auto}
  .field-note{padding:30px 24px}.contact-list a{flex-direction:column}.footer-row{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}


/* ===============================
   PROJECT 02 - GREENHOUSE DRYER
   =============================== */

.project-transition{
  margin:80px 0 0;
  padding:22px 0;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.project-transition span{
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
}
.project-transition a{
  color:var(--accent2);
  font-weight:750;
}

.greenhouse-case{
  border-top:8px solid var(--dark);
}
.project-subtitle{
  margin-top:14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.4rem;
  color:var(--accent2);
}

.ghd-opening{
  margin:30px 0 55px;
  padding:58px;
  border-radius:28px;
  background:var(--dark);
  color:white;
}
.ghd-opening h2{
  max-width:1000px;
  color:white;
}
.ghd-opening-copy{
  margin-top:42px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
}
.ghd-opening-copy .lead{
  color:rgba(255,255,255,.9);
}
.ghd-opening-copy p{
  color:rgba(255,255,255,.62);
}

.ghd-quote{
  margin:0 0 105px;
  padding:36px 0 36px 34px;
  border-left:2px solid var(--accent);
}
.ghd-quote p{
  font:500 clamp(1.5rem,3vw,2.5rem) Georgia,"Times New Roman",serif;
  color:var(--muted);
}
.ghd-quote strong{
  display:block;
  margin-top:6px;
  font:500 clamp(1.8rem,3.5vw,3rem) Georgia,"Times New Roman",serif;
  color:var(--ink);
}

.ghd-design-block{
  margin-bottom:72px;
}
.design-sheet img{
  background:white;
  object-fit:contain;
  padding:8px;
}

.ghd-spec-row{
  margin-bottom:105px;
}

.localization-section{
  margin:0 0 105px;
  padding:56px;
  border:1px solid var(--line);
  border-radius:26px;
  background:var(--bg);
}
.localization-section{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:55px;
}
.localization-copy p+p{
  margin-top:18px;
}
.localization-flow{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:12px;
}
.localization-flow div{
  padding:22px;
  border-top:1px solid var(--line);
}
.localization-flow span{
  display:block;
  margin-bottom:22px;
  color:var(--accent2);
  font-size:.72rem;
  font-weight:800;
}
.localization-flow strong{
  display:block;
  margin-bottom:7px;
  font-size:.96rem;
}
.localization-flow small{
  color:var(--muted);
}

.ghd-nic{
  margin-bottom:70px;
}

.fabrication-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:18px;
  margin-bottom:105px;
}
.fabrication-grid figure{
  overflow:hidden;
  border-radius:18px;
}
.fabrication-grid img{
  width:100%;
  height:330px;
  object-fit:cover;
}
.fabrication-grid .fabrication-main{
  grid-row:span 2;
}
.fabrication-grid .fabrication-main img{
  height:690px;
}
.fabrication-grid figcaption{
  padding-top:9px;
  color:var(--muted);
  font-size:.78rem;
}

.design-validation{
  margin-bottom:105px;
  padding:52px 0;
  border-block:1px solid var(--line);
}
.design-validation h2{
  margin-bottom:36px;
}

.dryer-flow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 62px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--bg);
  overflow-x:auto;
}
.dryer-flow div{
  min-width:130px;
  padding:15px 12px;
  text-align:center;
  border-radius:12px;
  background:var(--surface);
}
.dryer-flow span{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--accent2);
}
.dryer-flow b{
  color:var(--muted);
  font-weight:500;
}
.ghd-tech{
  margin-bottom:105px;
}

.prototype-outcome{
  margin:0 0 105px;
  padding:58px;
  border-radius:26px;
  background:#ded6cb;
}
.prototype-outcome h2{
  margin-bottom:38px;
}

.scale-block{
  margin-bottom:105px;
}
.scale-render img{
  background:#222a31;
  object-fit:contain;
}

.ghd-skills{
  margin-bottom:95px;
}
.ghd-skill-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.ghd-skill-grid div{
  min-height:150px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--bg);
}
.ghd-skill-grid strong{
  display:block;
  margin-bottom:9px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.2rem;
  font-weight:500;
}
.ghd-skill-grid span{
  color:var(--muted);
  font-size:.88rem;
}

.ghd-closing{
  margin-bottom:90px;
  padding:55px 0;
  text-align:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.ghd-closing p{
  font:500 clamp(1.6rem,3vw,2.5rem) Georgia,"Times New Roman",serif;
  color:var(--muted);
}
.ghd-closing strong{
  display:block;
  margin-top:8px;
  font:500 clamp(2rem,4vw,3.5rem) Georgia,"Times New Roman",serif;
  color:var(--ink);
}

@media(max-width:900px){
  .ghd-opening-copy,
  .localization-section{
    grid-template-columns:1fr;
  }
  .localization-flow{
    grid-template-columns:1fr 1fr;
  }
  .fabrication-grid{
    grid-template-columns:1fr 1fr;
  }
  .fabrication-grid .fabrication-main{
    grid-row:auto;
    grid-column:1/-1;
  }
  .fabrication-grid .fabrication-main img{
    height:480px;
  }
  .ghd-skill-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .ghd-opening,
  .localization-section,
  .prototype-outcome{
    padding:32px 24px;
  }
  .localization-flow,
  .fabrication-grid,
  .ghd-skill-grid{
    grid-template-columns:1fr;
  }
  .fabrication-grid .fabrication-main{
    grid-column:auto;
  }
  .fabrication-grid img,
  .fabrication-grid .fabrication-main img{
    height:auto;
  }
  .project-transition{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ===============================
   ENGINEERING CATEGORY STRUCTURE
   =============================== */
.category-hero{padding-bottom:78px;border-bottom:1px solid var(--line)}
.category-hero h1{max-width:1000px}
.engineering-index-hero{padding-bottom:82px}
.engineering-categories{background:var(--surface);border-top:1px solid var(--line)}
.engineering-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.engineering-category-card{
  min-height:480px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;
  border:1px solid var(--line);border-radius:26px;background:var(--bg);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease
}
a.engineering-category-card:hover{transform:translateY(-5px);box-shadow:0 20px 55px rgba(24,33,42,.08);background:#fffdf9}
.engineering-category-card h2{margin:18px 0;font-size:clamp(2rem,3.6vw,3.25rem)}
.engineering-category-card p:not(.eyebrow){max-width:580px;color:var(--muted)}
.category-number{align-self:flex-end;color:var(--accent2);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.category-footer{padding-top:26px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:.86rem}
.category-footer strong{color:var(--ink)}
.category-footer span{color:var(--accent2);font-weight:750}
.coming-card{background:#e5ded4}.coming-card .category-footer span{color:var(--muted)}

.street-map{margin:0 0 72px}
.street-map img{width:100%;max-height:700px;object-fit:cover;border-radius:22px;border:1px solid var(--line)}
.street-map figcaption{padding-top:9px;color:var(--muted);font-size:.78rem}
.street-specs{margin-bottom:95px}.street-story{margin-bottom:85px}
.street-field{margin-bottom:100px;padding:54px;border-radius:26px;background:var(--dark);color:white}
.street-field h2{max-width:900px;margin-bottom:40px;color:white}
.street-field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.street-field-grid div{min-height:140px;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:15px}
.street-field-grid strong{display:block;margin-bottom:12px;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;font-weight:500}
.street-field-grid span{color:rgba(255,255,255,.58);font-size:.86rem}
.street-workflow{margin:0 0 95px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:9px;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.street-workflow div{min-width:125px;padding:15px 10px;text-align:center;background:var(--surface);border-radius:11px}
.street-workflow span{color:var(--accent2);font-size:.67rem;font-weight:800;letter-spacing:.08em}
.street-workflow b{color:var(--muted);font-weight:500}
.street-analysis{margin-bottom:95px}.street-close{margin-top:100px}
.street-more{margin-top:80px;padding:48px;border:1px dashed rgba(24,33,42,.23);border-radius:24px}
.street-more h2{margin-bottom:16px}.street-more p:last-child{max-width:760px}

@media(max-width:900px){
  .engineering-category-grid{grid-template-columns:1fr}
  .street-field-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .engineering-category-card{min-height:390px;padding:26px}
  .category-footer{flex-direction:column}
  .street-field{padding:32px 24px}
  .street-field-grid{grid-template-columns:1fr}
  .street-more{padding:32px 24px}
}


/* ===============================================================
   v5 TYPOGRAPHY REFINEMENT
   Smaller, calmer headings for laptop screens.
   =============================================================== */
.hero,.eng-hero{padding:72px 0 82px}
h1{font-size:clamp(2.6rem,4.8vw,4.65rem);line-height:1.04}
h2{font-size:clamp(1.9rem,3.15vw,3.05rem);line-height:1.1}
h3{font-size:clamp(1.25rem,1.9vw,1.8rem);line-height:1.18}
.hero-copy{max-width:800px;font-size:1.08rem;margin-top:24px}
.eng-hero h1,.category-hero h1{max-width:900px}
.story-grid h3{font-size:clamp(1.65rem,2.45vw,2.35rem)}
.engineering-category-card h2{font-size:clamp(1.75rem,2.6vw,2.45rem);line-height:1.12}
.ghd-quote p{font-size:clamp(1.35rem,2.1vw,1.9rem)}
.ghd-quote strong{font-size:clamp(1.55rem,2.5vw,2.2rem)}
.ghd-closing p{font-size:clamp(1.35rem,2.1vw,1.9rem)}
.ghd-closing strong{font-size:clamp(1.65rem,2.7vw,2.4rem)}
.street-field h2,.field-note h2{font-size:clamp(1.75rem,2.7vw,2.55rem)}
.section-head h2{max-width:900px}
@media(max-width:600px){
  .hero,.eng-hero{padding:50px 0 62px}
  h1{font-size:clamp(2.25rem,11vw,3.1rem)}
  h2{font-size:clamp(1.7rem,8vw,2.35rem)}
}

/* ===============================================================
   v5 FULL STREET-LIGHTING CATEGORY
   =============================================================== */
.street-index{padding-top:78px}
.street-project-nav{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin:38px 0 75px;
}
.street-project-card{
  min-width:0;
  min-height:225px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  transition:transform .2s ease,background .2s ease;
}
.street-project-card>span{
  align-self:flex-end;
  color:var(--accent2);
  font-size:.7rem;
  font-weight:800;
}
.street-project-card h3{
  margin:38px 0 8px;
  font-size:1.35rem;
}
.street-project-card p{color:var(--ink);font-weight:700;font-size:.88rem}
.street-project-card small{margin-top:auto;padding-top:14px;color:var(--muted);line-height:1.45}
@media(hover:hover) and (pointer:fine){
  .street-project-card:hover{transform:translateY(-4px);background:#fffdf9}
}

.street-role-band{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:55px;
  padding:42px 0;
  border-block:1px solid var(--line);
}
.street-role-band h2{font-size:clamp(1.7rem,2.6vw,2.4rem)}
.street-role-band>p{color:var(--muted);align-self:center}

.street-case{scroll-margin-top:90px;border-top:1px solid var(--line)}
.alt-case{background:#f2eee8}
.case-lead{
  max-width:920px;
  margin:-12px 0 52px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,2.2vw,2.05rem);
  line-height:1.3;
  color:var(--ink);
}

.compact-tech{margin-bottom:55px}
.compact-tech .simple-card{min-height:210px}
.compact-tech .simple-card h3{margin:22px 0 12px}
.compact-tech .simple-card p{color:var(--muted)}

.covid-note,.data-note{
  margin-top:48px;
  padding:28px 30px;
  border-left:2px solid var(--accent2);
  background:var(--bg);
}
.covid-note h3{margin-bottom:12px}
.covid-note p:last-child,.data-note{color:var(--muted)}

.priority-band{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:20px 0 85px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--bg);
}
.priority-band div{min-width:0;text-align:center}
.priority-band strong{display:block;font:500 1.55rem Georgia,"Times New Roman",serif}
.priority-band span{display:block;margin-top:5px;color:var(--muted);font-size:.78rem}
.priority-band b{color:var(--muted);font-weight:500}

.smart-system-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:60px;
  align-items:center;
  margin:75px 0 95px;
}
.smart-system-grid figure img{
  width:100%;
  max-height:600px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:18px;
  background:white;
}
.smart-system-grid figcaption{
  margin-top:9px;
  color:var(--muted);
  font-size:.78rem;
}
.smart-system-grid h3{margin:12px 0 18px;font-size:clamp(1.7rem,2.5vw,2.35rem)}
.component-grid{grid-template-columns:.8fr 1.2fr}

.budha-gallery{
  display:grid;
  grid-template-columns:1.35fr .65fr .65fr;
  grid-auto-rows:270px;
  gap:14px;
  margin:0 0 85px;
}
.budha-gallery figure{
  min-width:0;
  overflow:hidden;
  border-radius:16px;
}
.budha-gallery figure:first-child{grid-row:span 2}
.budha-gallery img{width:100%;height:100%;object-fit:cover}
.budha-gallery figcaption{
  display:none;
}
.budha-gallery figure:nth-child(4){grid-column:2}
.budha-gallery figure:nth-child(5){grid-column:3}

.highmast-intro{
  background:var(--dark);
  color:white;
  border-top:0;
}
.highmast-intro h2{color:white;max-width:850px}
.highmast-intro .section-copy{max-width:820px;color:rgba(255,255,255,.62)}
.highmast-summary{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:45px;
}
.highmast-summary div{
  min-height:135px;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
}
.highmast-summary strong{
  display:block;
  font:500 1.75rem Georgia,"Times New Roman",serif;
  color:#d0ab78;
}
.highmast-summary span{
  display:block;
  margin-top:9px;
  color:rgba(255,255,255,.58);
  font-size:.8rem;
}

.highmast-case{background:#faf8f4}
.highmast-main-drawing{margin:10px 0 75px}
.highmast-main-drawing img{
  width:100%;
  max-height:760px;
  object-fit:contain;
  padding:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:white;
}
.highmast-main-drawing figcaption,.foundation-gallery figcaption{
  margin-top:9px;
  color:var(--muted);
  font-size:.78rem;
}

.foundation-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:80px 0;
}
.foundation-gallery img{
  width:100%;
  height:650px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:16px;
  background:white;
}

.highmast-compare{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:0 0 85px;
}
.highmast-compare div{
  padding:28px;
  border:1px solid var(--line);
  border-radius:17px;
  background:var(--bg);
}
.highmast-compare span{
  display:block;
  color:var(--accent2);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
}
.highmast-compare strong{
  display:block;
  margin:16px 0 9px;
  font:500 1.35rem Georgia,"Times New Roman",serif;
}
.highmast-compare small{color:var(--muted);line-height:1.5}

.street-closing{border-top:1px solid var(--line)}

@media(max-width:1050px){
  .street-project-nav{grid-template-columns:repeat(3,1fr)}
  .budha-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
  .budha-gallery figure:first-child{grid-row:auto;grid-column:1/-1}
  .budha-gallery figure:nth-child(4),.budha-gallery figure:nth-child(5){grid-column:auto}
  .highmast-summary{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .street-role-band,.smart-system-grid{grid-template-columns:1fr}
  .street-project-nav{grid-template-columns:1fr 1fr}
  .priority-band{flex-wrap:wrap}
  .priority-band b{display:none}
  .priority-band div{width:calc(50% - 8px)}
  .foundation-gallery{grid-template-columns:1fr}
  .foundation-gallery img{height:auto}
  .highmast-compare{grid-template-columns:1fr}
}
@media(max-width:600px){
  .street-project-nav{grid-template-columns:1fr}
  .street-project-card{min-height:180px}
  .street-project-card h3{margin-top:22px}
  .priority-band div{width:100%}
  .budha-gallery{grid-template-columns:1fr;grid-auto-rows:auto}
  .budha-gallery figure:first-child{grid-column:auto}
  .budha-gallery img{height:auto;max-height:420px}
  .highmast-summary{grid-template-columns:1fr 1fr}
  .highmast-summary div{min-height:115px}
}


/* ===============================================================
   v6 SAT PORTFOLIO
   =============================================================== */
.sat-hero{background:linear-gradient(180deg,#f2eee7 0%,#eee8df 100%)}
.sat-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:64px;align-items:center}
.sat-score-panel{padding:30px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.45)}
.sat-score-panel>p{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--accent2)}
.score-cloud{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:26px 0}
.score-cloud strong{display:grid;place-items:center;min-height:82px;border-radius:12px;background:var(--dark);color:#d0ab78;font:500 1.8rem Georgia,"Times New Roman",serif}
.sat-score-panel small{color:var(--muted);line-height:1.5}
.sat-stat-section{padding:34px 0;border-block:1px solid var(--line);background:var(--surface)}
.sat-top-stats{display:grid;grid-template-columns:repeat(4,1fr)}
.sat-top-stats div{padding:17px 24px;border-right:1px solid var(--line)}
.sat-top-stats div:last-child{border-right:0}
.sat-top-stats strong{display:block;font:500 1.9rem Georgia,"Times New Roman",serif;color:var(--accent2)}
.sat-top-stats span{font-size:.78rem;color:var(--muted)}
.sat-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sat-path-card{min-height:350px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--bg);display:grid;grid-template-rows:auto 1fr auto}
.sat-path-card h3{margin:20px 0 14px;font-size:clamp(1.65rem,2.5vw,2.3rem)}
.sat-path-card p:last-child{color:var(--muted)}
.sat-photo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:58px;align-items:center}
.sat-photo-grid figure img,.sat-wide-photo img,.sat-method-grid figure img{width:100%;border-radius:18px;object-fit:cover}
.sat-photo-grid figure img{height:560px}
.sat-photo-grid figcaption,.sat-wide-photo figcaption,.sat-method-grid figcaption{padding-top:9px;font-size:.78rem;color:var(--muted)}
.text-link{display:inline-block;margin-top:24px;color:var(--accent2);font-weight:750}
.sat-philosophy h2{color:white}
.sat-philosophy .lead{color:rgba(255,255,255,.9)}
.sat-philosophy .prose p:not(.lead){color:rgba(255,255,255,.62)}
.sat-dual-teaser{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.sat-dual-teaser h2{font-size:clamp(1.8rem,2.9vw,2.65rem);margin-bottom:20px}
.sat-dual-teaser>div>p:not(.eyebrow){color:var(--muted)}
.sat-detail-hero h1{max-width:960px}
.sat-experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:55px}
.sat-wide-photo{margin:25px 0 0}.sat-wide-photo img{max-height:680px}
.sat-method-grid{display:grid;grid-template-columns:1fr .9fr;gap:62px;align-items:center}
.sat-method-grid>div>p+p{margin-top:18px}
.sat-method-grid figure img{height:600px}
.sat-rule{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.sat-rule strong{font:500 1.2rem Georgia,"Times New Roman",serif}.sat-rule span{color:var(--accent)}
.sat-results{background:#eee7dd}
.result-score-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.result-score-grid div{padding:25px 15px;text-align:center;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.result-score-grid strong{display:block;font:500 2.25rem Georgia,"Times New Roman",serif;color:var(--accent2)}
.result-score-grid span{font-size:.76rem;color:var(--muted)}
.evidence-note{margin-top:18px;color:var(--muted);font-size:.82rem}
.draft-warning{padding:14px 16px;border-left:2px solid var(--accent);background:#efe7dc;color:var(--muted)!important}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial{margin:0;padding:26px;border:1px solid var(--line);border-radius:17px;background:var(--bg)}
.testimonial>span{font-size:.62rem;font-weight:800;letter-spacing:.1em;color:#9b5c42}
.testimonial p{margin:18px 0;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.55}
.testimonial footer{background:none;color:var(--muted);padding:0;font-size:.75rem}
.sat-closing{background:#e5ddd2}
.sat-module-story{margin-top:70px}
.sat-workflow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:25px;padding:21px;border:1px solid var(--line);border-radius:16px;overflow:auto}
.sat-workflow div{white-space:nowrap;font-size:.67rem;font-weight:800;letter-spacing:.08em;color:var(--accent2)}
.sat-workflow b{font-weight:500;color:var(--muted)}
.distractor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.distractor-grid div{padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.distractor-grid strong{display:block;color:#d0ab78;font-size:.72rem;letter-spacing:.08em}
.distractor-grid span{display:block;margin-top:8px;color:rgba(255,255,255,.65);font-size:.86rem}
.question-gallery{display:grid;gap:18px}
.question-sample{border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden}
.question-top{display:grid;grid-template-columns:55px 1fr;gap:22px;padding:26px 28px 0;align-items:start}
.question-top>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);font-size:.72rem;color:var(--accent2);font-weight:800}
.question-top .eyebrow{margin-bottom:7px}.question-top h3{font-size:clamp(1.45rem,2.1vw,1.9rem)}
.question-text{margin:22px 28px;padding:24px;border-radius:14px;background:var(--bg);font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;line-height:1.65}
.question-sample details{border-top:1px solid var(--line)}
.question-sample summary{cursor:pointer;padding:18px 28px;font-weight:750;color:var(--accent2);list-style:none}
.question-sample summary::-webkit-details-marker{display:none}
.question-sample summary:after{content:'+';float:right}.question-sample details[open] summary:after{content:'−'}
.question-analysis{padding:4px 28px 28px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.question-analysis>div{padding:20px;border:1px solid var(--line);border-radius:13px}
.question-analysis strong{font-size:.65rem;letter-spacing:.09em;color:var(--accent2)}
.question-analysis p{margin-top:8px;color:var(--muted)}
.question-analysis .solution-box{grid-column:1/-1;background:var(--dark);border-color:var(--dark)}
.question-analysis .solution-box strong{color:#d0ab78}.question-analysis .solution-box p{color:rgba(255,255,255,.74)}
.sat-difficulty-grid,.explanation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

@media(max-width:950px){
  .sat-hero-grid,.sat-photo-grid,.sat-method-grid{grid-template-columns:1fr}
  .sat-top-stats{grid-template-columns:repeat(2,1fr)}
  .sat-top-stats div:nth-child(2){border-right:0}
  .sat-path-grid,.sat-dual-teaser,.sat-experience-grid{grid-template-columns:1fr}
  .result-score-grid{grid-template-columns:repeat(3,1fr)}
  .testimonial-grid,.distractor-grid{grid-template-columns:1fr 1fr}
  .sat-photo-grid figure img,.sat-method-grid figure img{height:auto;max-height:650px}
}
@media(max-width:650px){
  .score-cloud{grid-template-columns:repeat(3,1fr)}
  .sat-top-stats{grid-template-columns:1fr}.sat-top-stats div{border-right:0;border-bottom:1px solid var(--line)}.sat-top-stats div:last-child{border-bottom:0}
  .result-score-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid,.distractor-grid,.sat-difficulty-grid,.explanation-grid{grid-template-columns:1fr}
  .question-analysis{grid-template-columns:1fr}.question-analysis .solution-box{grid-column:auto}
  .question-top{grid-template-columns:42px 1fr;gap:14px;padding:22px 20px 0}.question-text{margin:18px 20px;padding:19px}.question-sample summary{padding:17px 20px}.question-analysis{padding:2px 20px 20px}
}

/* ===============================================================
   CREDENTIALS PAGE
   =============================================================== */

.credentials-hero{
  background:linear-gradient(180deg,#f2eee7 0%,#ece5dc 100%);
}
.credentials-hero-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:64px;
  align-items:center;
}
.credentials-summary{
  padding:30px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.45);
}
.credentials-summary>p{
  margin-bottom:22px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.13em;
  color:var(--accent2);
}
.credential-summary-item{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:18px;
  align-items:center;
  padding:18px 0;
  border-top:1px solid var(--line);
}
.credential-summary-item strong{
  font:500 1.7rem Georgia,"Times New Roman",serif;
  color:var(--accent2);
}
.credential-summary-item span{
  color:var(--muted);
  font-size:.88rem;
}

.education-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.education-card{
  padding:34px;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--bg);
}
.education-card-top{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:45px;
}
.credential-year,.credential-type{
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.11em;
}
.credential-year{color:var(--accent2)}
.credential-type{color:var(--muted)}
.education-card h3{
  max-width:520px;
  margin-bottom:22px;
  font-size:clamp(1.7rem,2.7vw,2.5rem);
}
.institution{font-weight:750}
.institution-detail{color:var(--muted)}
.credential-description{
  margin-top:24px;
  color:var(--muted);
}
.credential-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:30px;
  border-block:1px solid var(--line);
}
.credential-details div{padding:18px 0}
.credential-details span{
  display:block;
  margin-bottom:6px;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.09em;
  color:var(--muted);
}
.credential-details strong{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
}
.credential-leadership{
  margin-top:28px;
  padding-top:4px;
}
.credential-leadership>span{
  display:block;
  margin-bottom:12px;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--accent2);
}
.credential-leadership p{
  margin-top:7px;
  color:var(--muted);
}
.credential-link{
  display:inline-block;
  margin-top:28px;
  font-size:.88rem;
  font-weight:750;
  color:var(--accent2);
}
.credential-note{
  display:inline-block;
  margin-top:28px;
  font-size:.78rem;
  color:rgba(255,255,255,.46);
}

.registration-feature{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:75px;
  align-items:center;
  padding:55px;
  border:1px solid var(--line);
  border-radius:26px;
}
.registration-feature h2{
  margin-bottom:18px;
  font-size:clamp(2.2rem,4vw,3.7rem);
}
.registration-organization{
  margin-bottom:22px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  color:var(--accent2);
}
.registration-feature>div:first-child>p:last-child{
  max-width:620px;
  color:var(--muted);
}
.registration-data{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}
.registration-data>div{
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.registration-data span{
  display:block;
  margin-bottom:5px;
  font-size:.63rem;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--muted);
}
.registration-data strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.15rem;
  font-weight:500;
}
.registration-data .btn{
  margin-top:25px;
  justify-self:start;
}

.certification-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.certification-card{
  min-height:430px;
  padding:30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  display:flex;
  flex-direction:column;
}
.certification-heading{
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-bottom:42px;
}
.certification-heading span,.certification-heading strong{
  font-size:.62rem;
  letter-spacing:.1em;
}
.certification-heading span{
  color:#d0ab78;
  font-weight:800;
}
.certification-heading strong{color:rgba(255,255,255,.45)}
.certification-card h3{
  color:white;
  margin-bottom:12px;
  font-size:clamp(1.5rem,2.2vw,2rem);
}
.certificate-subtitle{
  color:#d0ab78!important;
  margin-bottom:22px;
}
.certification-card>p{color:rgba(255,255,255,.62)}
.certificate-meta{
  margin-top:auto;
  padding-top:28px;
}
.certificate-meta span{
  display:block;
  margin-bottom:4px;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.1em;
  color:rgba(255,255,255,.42);
}
.certificate-meta strong{
  color:white;
  font-size:.82rem;
}
.light-link{color:#d0ab78}

.experience-timeline{border-top:1px solid var(--line)}
.experience-row{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:55px;
  padding:42px 0;
  border-bottom:1px solid var(--line);
}
.experience-date{padding-top:5px}
.experience-date span{
  display:block;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.09em;
  color:var(--muted);
}
.experience-date strong{
  display:block;
  margin-top:5px;
  font:500 1.25rem Georgia,"Times New Roman",serif;
  color:var(--accent2);
}
.experience-body{max-width:780px}
.experience-body .eyebrow{margin-bottom:10px}
.experience-body h3{
  margin-bottom:7px;
  font-size:clamp(1.6rem,2.4vw,2.15rem);
}
.experience-body h4{
  margin-bottom:17px;
  font-size:.92rem;
  font-weight:700;
  color:var(--accent2);
}
.experience-body>p:not(.eyebrow){color:var(--muted)}
.text-link{
  display:inline-block;
  margin-top:18px;
  color:var(--accent2);
  font-weight:750;
}
.credentials-closing{background:#e5ddd2}

@media(max-width:950px){
  .credentials-hero-grid,.education-grid,.registration-feature{grid-template-columns:1fr}
  .certification-grid{grid-template-columns:1fr 1fr}
  .registration-feature{gap:45px}
}
@media(max-width:650px){
  .certification-grid{grid-template-columns:1fr}
  .experience-row{grid-template-columns:1fr;gap:20px}
  .education-card{padding:26px 22px}
  .registration-feature{padding:32px 24px}
  .education-card-top{margin-bottom:32px}
}
.academic-note{display:inline-block;margin-top:28px;font-size:.78rem;color:var(--muted)}
.registration-note{display:inline-block;margin-top:24px;font-size:.78rem;color:var(--muted)}

/* Contact details */
.contact-intro{max-width:620px;margin-top:22px;color:var(--muted)}
.contact-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:28px;font-size:.78rem;color:var(--muted)}
.contact-meta span{padding-right:18px;border-right:1px solid var(--line)}
.contact-meta span:last-child{border-right:0;padding-right:0}
@media(max-width:650px){.contact-meta{flex-direction:column;gap:8px}.contact-meta span{border-right:0;padding-right:0}}
/* Homepage profile photo */

.hero-profile {
  width: 100%;
  max-width: 410px;
  margin-left: auto;
}

.profile-photo-frame {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 24px;
  background: #ddd;
}

.profile-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 23%;
  display: block;
}

.profile-photo-caption {
  margin-top: 12px;
  font-size: 0.78rem;
  color: var(--muted);
  letter-spacing: 0.03em;
}

@media (max-width: 850px) {
  .hero-profile {
    margin: 40px auto 0;
    max-width: 340px;
  }
}/* ===============================================================
   GREENHOUSE DRYER - COMPLETED PROTOTYPE
   =============================================================== */

.completed-prototype {
  margin-top: 70px;
  margin-bottom: 80px;
}

.completed-prototype-heading {
  max-width: 820px;
  margin-bottom: 35px;
}

.completed-prototype-heading h2 {
  margin-bottom: 18px;
}

.completed-prototype-heading p:last-child {
  max-width: 700px;
  color: var(--muted);
}

.completed-prototype-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: start;
}

.completed-prototype-image {
  margin: 0;
}

.completed-prototype-image img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.completed-prototype-image:first-child img {
  object-position: center center;
}

.completed-prototype-image:last-child img {
  object-position: center center;
}

.completed-prototype-image figcaption {
  margin-top: 14px;
  font-size: 0.86rem;
  line-height: 1.65;
  color: var(--muted);
}

.completed-prototype-image figcaption strong {
  color: var(--ink);
  font-weight: 700;
}


/* Mobile */

@media (max-width: 800px) {

  .completed-prototype-grid {
    grid-template-columns: 1fr;
  }

  .completed-prototype-image img {
    height: auto;
    aspect-ratio: 4 / 3;
  }

}/* Greenhouse dryer page transition */

/* Greenhouse dryer page: remove divider between hero and project content */

.greenhouse-page .category-hero {
  border-bottom: none !important;
  box-shadow: none !important;
}

.greenhouse-page .project-case,
.greenhouse-page .greenhouse-case {
  border-top: none !important;
  box-shadow: none !important;
}

/* ===============================================================
   v9 GREENHOUSE DRYER - MULTI-PROJECT FIELD WORK
   =============================================================== */
.ghd-project-index{padding:26px 0 34px;background:var(--surface);border-bottom:1px solid var(--line)}
.ghd-project-index-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ghd-project-index-grid a{padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--bg);transition:.2s ease}
.ghd-project-index-grid a:hover{transform:translateY(-3px);background:#fffdf9}
.ghd-project-index-grid span{display:block;color:var(--accent2);font-size:.68rem;font-weight:800;letter-spacing:.1em;margin-bottom:12px}
.ghd-project-index-grid strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;font-weight:500;line-height:1.25}
.ghd-project-index-grid small{display:block;margin-top:7px;color:var(--muted);line-height:1.4}
.ghd-field-case{scroll-margin-top:86px;background:var(--surface)}
.ghd-field-case.ghd-alt{background:var(--bg)}
.ghd-field-case .case-head{margin-bottom:32px}
.ghd-field-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:20px 0 88px}
.ghd-field-gallery figure{overflow:hidden;border-radius:18px}
.ghd-field-gallery img{width:100%;height:390px;object-fit:cover}
.ghd-field-gallery figure:first-child{grid-row:span 2}
.ghd-field-gallery figure:first-child img{height:796px}
.ghd-field-gallery figcaption,.ghd-community-gallery figcaption,.ghd-operation-photo figcaption{padding-top:10px;color:var(--muted);font-size:.8rem;line-height:1.55}
.ghd-field-gallery figcaption strong,.ghd-community-gallery figcaption strong,.ghd-operation-photo figcaption strong{color:var(--ink)}
.ghd-operation-photo{margin:0 0 92px}
.ghd-operation-photo img{width:100%;max-height:720px;object-fit:cover;border-radius:20px}
.ghd-community-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 90px}
.ghd-community-gallery figure{min-width:0}
.ghd-community-gallery img{width:100%;height:430px;object-fit:cover;border-radius:18px}
.ghd-contrast{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;margin:0 0 88px;padding:48px;border:1px solid var(--line);border-radius:24px;background:var(--bg)}
.ghd-contrast h2{margin-top:5px}
.ghd-contrast>p{color:var(--muted)}
.modi-feature{margin-top:40px}
.modi-feature figure img{height:520px}
@media(max-width:950px){
  .ghd-project-index-grid{grid-template-columns:1fr 1fr}
  .ghd-field-gallery{grid-template-columns:1fr 1fr}
  .ghd-field-gallery figure:first-child{grid-column:1/-1;grid-row:auto}
  .ghd-field-gallery figure:first-child img{height:520px}
  .ghd-contrast{grid-template-columns:1fr}
}
@media(max-width:650px){
  .ghd-project-index-grid,.ghd-field-gallery,.ghd-community-gallery{grid-template-columns:1fr}
  .ghd-field-gallery figure:first-child{grid-column:auto}
  .ghd-field-gallery img,.ghd-field-gallery figure:first-child img,.ghd-community-gallery img{height:auto;max-height:480px}
  .ghd-contrast{padding:30px 24px}
  .modi-feature figure img{height:auto}
}

/* ===============================================================
   v10 ACCESSIBILITY, RESILIENCE & SAT RESOURCE LIBRARY
   September 2026
   =============================================================== */

/* Keep core content readable if JavaScript is unavailable. */
.no-js .reveal{opacity:1!important;transform:none!important;transition:none!important}
.js .reveal{opacity:0;transform:translateY(15px);transition:.55s ease}
.js .reveal.visible{opacity:1;transform:none}

.skip-link{
  position:fixed;left:16px;top:12px;z-index:9999;padding:10px 14px;border-radius:10px;
  background:var(--dark);color:white;font-weight:750;transform:translateY(-160%);transition:.18s ease
}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid rgba(154,116,70,.7);outline-offset:3px}
button,a{-webkit-tap-highlight-color:transparent}
main{overflow:clip}
img{height:auto}

/* If JavaScript is blocked on a small screen, keep navigation visible rather than inaccessible. */
@media(max-width:900px){
  .no-js .menu-toggle{display:none!important}
  .no-js nav{display:flex!important;position:static!important;flex-direction:row!important;flex-wrap:wrap!important;background:transparent!important;border:0!important;padding:0!important}
}

/* Make wide content, MathML and handbook tables safe on phones. */
.handbook-reader table,.handbook-reader math[display="block"]{max-width:100%}
.handbook-reader table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.handbook-reader math[display="block"]{overflow-x:auto;overflow-y:hidden;padding:.15em 0}
.handbook-reader p,.handbook-reader li,.practice-topic-card p{overflow-wrap:anywhere}

/* SAT resource overview */
.sat-resource-overview{background:var(--surface)}
.resource-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.resource-path-card{
  min-height:330px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--bg);
  display:flex;flex-direction:column;transition:transform .2s ease,background .2s ease,box-shadow .2s ease
}
.resource-path-card.featured{background:#e7dfd4}
.resource-path-card:hover{transform:translateY(-4px);background:#fffdf9;box-shadow:0 18px 48px rgba(24,33,42,.07)}
.resource-kicker{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--accent2)}
.resource-path-card h3{margin:42px 0 14px;font-size:clamp(1.6rem,2.5vw,2.3rem)}
.resource-path-card p{color:var(--muted);max-width:560px}
.resource-action{margin-top:auto;padding-top:28px;color:var(--accent2);font-weight:750;border-top:1px solid var(--line)}

.domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.domain-grid-large{margin-top:5px}
.domain-card{
  min-height:330px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--bg);
  display:flex;flex-direction:column;transition:transform .2s ease,background .2s ease
}
.domain-card>span{align-self:flex-end;color:var(--accent2);font-size:.7rem;font-weight:800;letter-spacing:.1em}
.domain-card .eyebrow{margin-top:42px;margin-bottom:11px}
.domain-card h3{font-size:clamp(1.55rem,2.25vw,2.1rem);margin-bottom:18px}
.domain-card small{margin-top:auto;color:var(--accent2);font-weight:750}
.domain-card:hover{transform:translateY(-4px);background:#fffdf9}
.resource-home-card{display:block;transition:.2s ease}
.resource-home-card strong{display:block;margin-top:22px;color:var(--accent2)}
.resource-home-card:hover{transform:translateY(-3px);background:#fffdf9}
.resource-note{max-width:850px}
.resource-note h2{margin-bottom:22px}
.resource-note>p:last-child{color:var(--muted)}

/* Topic library pages */
.resource-hero{background:linear-gradient(180deg,#f2eee7 0%,#eee8df 100%)}
.practice-topic-list{display:grid;gap:16px}
.practice-topic-card{
  display:grid;grid-template-columns:60px 1fr auto;gap:24px;align-items:start;
  padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)
}
.topic-index{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;font-size:.7rem;font-weight:800;color:var(--accent2)}
.practice-topic-card .eyebrow{margin-bottom:7px}
.practice-topic-card h3{margin-bottom:10px;font-size:clamp(1.4rem,2vw,1.85rem)}
.practice-topic-card p:not(.eyebrow){color:var(--muted);max-width:680px}
.resource-download-link{align-self:center;white-space:nowrap;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--accent2);font-weight:750;font-size:.85rem}
.resource-download-link:hover{background:var(--bg)}
.resource-download-link.resource-unavailable{color:var(--muted);cursor:default;background:#eee8df}
.resource-file-note{margin-top:24px;padding:18px 20px;border-left:2px solid var(--accent);background:var(--surface);color:var(--muted);font-size:.88rem}

/* Handbook reader */
.handbook-hero{background:linear-gradient(180deg,#f2eee7 0%,#eae2d7 100%)}
.handbook-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:58px;align-items:center}
.handbook-side-note{padding:30px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.46)}
.handbook-side-note strong{font-size:.7rem;letter-spacing:.11em;color:var(--accent2)}
.handbook-side-note p{margin-top:14px;color:var(--muted)}
.handbook-reading-section{padding-top:70px}
.handbook-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:62px;align-items:start}
.handbook-sticky{position:sticky;top:105px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.handbook-sticky p:not(.eyebrow){font-size:.85rem;color:var(--muted)}
.handbook-reader{max-width:820px;min-width:0}
.handbook-reader>h2{margin:70px 0 24px;padding-top:15px;border-top:1px solid var(--line);font-size:clamp(2rem,3.4vw,3rem)}
.handbook-reader>h2:first-of-type{margin-top:36px}
.handbook-reader h3{margin:34px 0 14px;font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;font-weight:760;letter-spacing:-.01em;font-size:1.22rem}
.handbook-reader p{margin:12px 0}
.handbook-reader ul,.handbook-reader ol{padding-left:22px;margin:12px 0 18px}
.handbook-reader li{margin:6px 0}
.handbook-reader blockquote{margin:22px 0;padding:18px 20px;border-left:3px solid var(--accent);background:#eee7dd;color:var(--ink)}
.handbook-reader a{color:var(--accent2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.handbook-reader img{width:100%;max-width:700px;margin:24px auto;border-radius:12px}
.handbook-reader .handbook-table{display:table;width:100%;border-collapse:collapse;margin:22px 0;background:var(--surface)}
.handbook-reader .handbook-table th,.handbook-reader .handbook-table td{padding:12px;border:1px solid var(--line);vertical-align:top;text-align:left}
.handbook-reader .handbook-table th{background:var(--dark);color:white}
.handbook-reader code{font-family:inherit;background:#eee8df;padding:1px 4px;border-radius:4px}
.handbook-reader math{font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;font-size:1.05em}

@media(max-width:950px){
  .resource-path-grid,.domain-grid,.handbook-hero-grid,.handbook-layout{grid-template-columns:1fr}
  .handbook-sticky{position:static}
  .practice-topic-card{grid-template-columns:52px 1fr}
  .resource-download-link{grid-column:2;justify-self:start}
}
@media(max-width:650px){
  .resource-path-card,.domain-card{min-height:auto;padding:24px}
  .practice-topic-card{grid-template-columns:40px 1fr;gap:14px;padding:20px 18px}
  .topic-index{width:36px;height:36px}
  .resource-download-link{grid-column:1/-1;width:100%;text-align:center}
  .handbook-reader .handbook-table{display:block;white-space:normal}
  .handbook-reader>h2{font-size:1.85rem}
}

/* v10.1 reveal fallback correction: visible by default; JS only animates prepared items. */
.reveal{opacity:1!important;transform:none!important}
.js .reveal.reveal-ready{opacity:0!important;transform:translateY(15px)!important;transition:.55s ease}
.js .reveal.reveal-ready.visible{opacity:1!important;transform:none!important}
.no-js .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* September review: readable navigation, stable content and compact answer checks. */
:root{--muted:#606970}
html{scroll-padding-top:100px}
[id]{scroll-margin-top:100px}
.reveal,.js .reveal,.js .reveal.reveal-ready{opacity:1!important;transform:none!important}
.menu-toggle{min-width:44px;min-height:44px;cursor:pointer;color:var(--ink)}
#mainNav a{min-height:44px;display:flex;align-items:center}
.hero-grid>*,.split>*,.story-grid>*,.case-head>*,.feature-grid>*{min-width:0}
h1,h2,h3{overflow-wrap:break-word}
.answer-link a{display:inline-block;margin-top:12px;color:var(--accent2);font-weight:650;text-decoration:underline;text-underline-offset:4px}
.handbook-sticky{padding:18px;max-height:calc(100vh - 120px);overflow-y:auto}
.handbook-contents summary{cursor:pointer;font-weight:700;min-height:44px}
.handbook-toc{display:grid;gap:3px}
.handbook-toc a{font-size:.875rem;line-height:1.4;padding:8px 0;border-bottom:1px solid var(--line);color:var(--accent2)}
.table-scroll{overflow-x:auto;max-width:100%;margin:22px 0;-webkit-overflow-scrolling:touch}
.handbook-reader .table-scroll .handbook-table{display:table;min-width:480px;margin:0}
.handbook-reader math[display="block"]{padding:.35em 0}
.answer-hero{padding-bottom:48px}.answer-hero h1{font-size:clamp(2.2rem,5vw,4rem);max-width:1000px}
.answer-section{padding-top:25px}.answer-list{max-width:900px}
.answer-note{margin-bottom:24px;color:var(--muted)}
.answer-item{border:1px solid var(--line);border-radius:12px;background:var(--surface);margin:12px 0;overflow:hidden}
.answer-item summary{padding:16px 20px;cursor:pointer;font-weight:650;min-height:48px}
.answer-item>div{padding:4px 20px 20px}.answer-item p+p{margin-top:10px}
.answer-item[open] summary{color:var(--accent2)}
@media(max-width:950px){.handbook-sticky{max-height:none}}
@media(max-width:900px){.no-js .nav{flex-wrap:wrap;padding:14px 0;gap:10px}.no-js #mainNav{width:100%;gap:6px 18px}.site-header #mainNav{max-height:calc(100dvh - 100px);overflow-y:auto}}
@media(max-width:600px){h1{font-size:clamp(2.35rem,10vw,3.6rem)}.hero-copy{font-size:1rem}.handbook-layout{gap:28px}.resource-download-link{white-space:normal}.contact-list a{overflow-wrap:anywhere}.role-box{grid-template-columns:70px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-header,.handbook-sticky,.handbook-hero,.skip-link,footer{display:none}.handbook-layout{display:block}.handbook-reader{max-width:none}.handbook-reading-section{padding:0}body{background:white;color:black}.table-scroll{overflow:visible}.answer-item{break-inside:avoid}}
/* Anonymous student results — existing site colors */
#results .anon-score-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#results .anon-score-card {
  min-width: 0;
  padding: 28px;
  background: var(--surface, #fbf8f2);
  border: 1px solid var(--line, rgba(24, 33, 42, .14));
  border-top: 3px solid var(--accent, #9a7446);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(24, 33, 42, .035);
}

#results .anon-score-card h3 {
  margin: 0 0 24px;
  color: var(--accent2, #6f512f);
  font: 700 .875rem/1.4 "Segoe UI", Arial, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#results .anon-score-subject {
  margin: 0 0 8px;
  color: var(--ink, #18212a);
  font-size: 1rem;
  font-weight: 600;
}

#results .anon-score-value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0;
  color: var(--ink, #18212a);
  font-variant-numeric: tabular-nums;
}

#results .anon-score-value strong {
  font: 500 clamp(3rem, 5vw, 4.25rem)/1.15 Georgia, serif;
  letter-spacing: -.035em;
}

#results .anon-score-value span {
  color: var(--muted, #606970);
  font-size: 1rem;
}

#results .anon-score-caption {
  margin: 22px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line, rgba(24, 33, 42, .14));
  color: var(--muted, #606970);
  font-size: .875rem;
}

#results .anon-score-note {
  max-width: 760px;
  margin: 26px 0 0;
  color: var(--muted, #606970);
  font-size: .9375rem;
  line-height: 1.7;
}

@media (max-width: 850px) {
  #results .anon-score-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  #results .anon-score-grid {
    grid-template-columns: 1fr;
  }
}