*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#181818;font:16px/1.55 Inter,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1180px;margin:auto;padding:0 28px}header{position:sticky;top:0;z-index:9;background:#fffffff2;border-bottom:1px solid #eee}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:850;letter-spacing:-.04em}.navlinks{display:flex;gap:26px;align-items:center;font-size:14px}.btn{display:inline-block;background:#181818;color:#fff;padding:13px 20px;border:0;border-radius:3px;font-weight:750}.red{background:#b52b32}.white{background:#fff;color:#181818}.hero{min-height:78vh;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,#000b,#0002),url('assets/hero.jpg') center/cover}.hero h1,.pagehero h1{font-size:clamp(44px,7vw,86px);line-height:.98;letter-spacing:-.055em;max-width:900px;margin:17px 0 25px}.hero p,.lead{font-size:19px;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:#777}.hero .eyebrow{color:#ddd}.actions{display:flex;gap:12px;margin-top:28px}section{padding:95px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.headline{font-size:clamp(35px,4.5vw,58px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 20px}.lead,p{color:#666}.value,.pagehero{background:#f5f3ee}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.card{background:#fff;border:1px solid #dfddd7;padding:32px}.card h3{font-size:24px;margin:38px 0 10px}.dark{background:#181818;color:#fff}.dark p{color:#bbb}.fit{list-style:none;padding:0}.fit li{padding:14px 0;border-bottom:1px solid #363636}.fit li:before{content:'—';margin-right:12px;color:#999}.photo{width:100%;height:550px;object-fit:cover}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.gallery img{width:100%;height:410px;object-fit:cover}.gallery .tall{height:836px;grid-row:span 2}.band{padding:70px 0;background:#e9e6df;text-align:center}.band h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.05em;line-height:1}.pagehero{padding:95px 0 70px}.pagehero h1{font-size:clamp(44px,6vw,72px)}.service{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;padding:48px 0;border-top:1px solid #ddd}.service h2{font-size:32px;margin:0}.formwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.formcard{background:#f5f3ee;padding:34px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:750;margin-bottom:7px}input,select,textarea{width:100%;padding:13px;border:1px solid #ccc;background:#fff;font:inherit}textarea{min-height:125px}footer{background:#111;color:#aaa;padding:45px 0}.foot{display:flex;justify-content:space-between;gap:30px}.foot strong{color:#fff}.mobile{display:none}@media(max-width:820px){.navlinks{display:none}.mobile{display:block}.grid2,.service,.formwrap{grid-template-columns:1fr;gap:35px}.cards,.gallery{grid-template-columns:1fr}.gallery img,.gallery .tall,.photo{height:420px;grid-row:auto}.fields{grid-template-columns:1fr}.full{grid-column:auto}.foot{display:block}section{padding:70px 0}}
.logo{display:block;height:48px;width:auto}.foot-logo{height:62px;width:auto;margin-bottom:12px}
@media(max-width:820px){.logo{height:42px}}

/* V3 brand treatment */
.logo{height:68px!important;width:auto!important}
.foot-logo{height:98px!important;width:auto!important;margin-bottom:10px}
.brand-stamp{display:flex;justify-content:center;align-items:center;margin:0 0 24px}
.brand-stamp.left{justify-content:flex-start}
.brand-stamp img{height:78px;width:auto}
header{border-top:0}
header:after{display:none}
.band{border-top:0;border-bottom:0}
@media(max-width:820px){
 .logo{height:52px!important}
 .brand-stamp img{height:62px}
}

/* V6 logo clarity + About page */
.logo,.foot-logo,.brand-stamp img{
  width:auto!important;
  max-width:none;
  object-fit:contain;
  image-rendering:auto;
}
.logo{height:64px!important}
.foot-logo{height:84px!important}
.brand-stamp img{height:70px!important}
.portrait-photo{object-position:center 22%;background:#f4f2ed}
.crew-photo{object-position:center}
.about-team{background:#f5f3ee}
@media(max-width:820px){
  .logo{height:50px!important}
  .foot-logo{height:68px!important}
  .brand-stamp img{height:58px!important}
  .portrait-photo{height:480px!important}
}

.founder-memorial{background:#fff;padding-top:76px;padding-bottom:82px}
.founder-photo{object-position:center 20%;max-height:520px}
.founder-dedication{margin-top:26px}
@media(max-width:820px){
 .founder-memorial{padding-top:54px;padding-bottom:60px}
 .founder-photo{height:auto!important;max-height:none}
}


/* V9 mobile navigation, materials section and expanded project gallery */
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;cursor:pointer;background:#181818;color:#fff;padding:12px 18px;border-radius:3px;font-weight:750;user-select:none}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-nav{position:absolute;right:0;top:54px;min-width:230px;background:#fff;border:1px solid #ddd;box-shadow:0 16px 35px #0002;padding:10px;display:flex;flex-direction:column;gap:2px}
.mobile-nav a{display:block;padding:12px 14px;font-weight:700}
.mobile-nav a:not(.btn):hover{background:#f5f3ee}
.mobile-nav .btn{margin-top:6px;text-align:center;color:#fff}
.materials-service img{width:100%;height:430px;object-fit:cover;margin-top:24px}
.project-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.project-catalog img{width:100%;height:360px;object-fit:cover}
.project-catalog img:nth-child(5n+1),.project-catalog img:nth-child(7n+3){height:480px}
@media(max-width:820px){
  .mobile-menu{display:block}
  .project-catalog{grid-template-columns:1fr 1fr;gap:10px}
  .project-catalog img,.project-catalog img:nth-child(5n+1),.project-catalog img:nth-child(7n+3){height:300px}
  .materials-service img{height:340px}
}
@media(max-width:560px){
  .wrap{padding:0 20px}
  .nav{height:70px}
  .logo{height:44px!important}
  .mobile-menu summary{padding:10px 14px}
  .mobile-nav{position:fixed;left:14px;right:14px;top:72px;min-width:0}
  .project-catalog{grid-template-columns:1fr}
  .project-catalog img,.project-catalog img:nth-child(5n+1),.project-catalog img:nth-child(7n+3){height:auto;max-height:520px;object-fit:cover}
}

/* v10: improve hero copy contrast over photography */
.hero p{color:#f2f2f2;text-shadow:0 1px 3px rgba(0,0,0,.35)}
