:root { --ink:#0b2530; --teal:#0b5559; --teal-dark:#062f33; --orange:#f58b2a; --paper:#eef1f4; --white:#fff; --muted:#596c75; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,Arial,sans-serif; line-height:1.6; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:1rem; top:1rem; z-index:20; background:#fff; padding:.7rem 1rem; }
.site-header { width:min(1180px,calc(100% - 32px)); margin:26px auto 0; min-height:72px; padding:10px 18px; display:flex; align-items:center; gap:28px; background:var(--teal-dark); border-radius:16px; box-shadow:0 12px 28px rgba(5,34,38,.2); }
.site-header img { display:block; width:150px; height:auto; }
.site-header nav { display:flex; justify-content:center; gap:24px; margin-left:auto; }
.site-header nav a { color:#d9e5e6; font-size:.78rem; font-weight:700; text-decoration:none; text-transform:uppercase; }
.site-header nav a:hover,.site-header nav a.active { color:var(--orange); }
.contact-button,.cta a { background:#fff; color:var(--ink); border-radius:999px; padding:.72rem 1.1rem; font-size:.82rem; font-weight:800; text-decoration:none; }
main { width:min(1180px,calc(100% - 32px)); margin:0 auto; }
.project-hero { max-width:850px; padding:100px 0 56px; }
.project-heading { max-width:820px; margin:0 0 28px; }
.project-heading h2 { margin:0; font-size:clamp(1.8rem,4vw,3rem); line-height:1.08; letter-spacing:-.035em; }
.project-heading > p:last-child { color:var(--muted); }
.eyebrow { margin:0 0 12px; color:var(--teal); font-size:.78rem; font-weight:800; letter-spacing:.14em; }
h1 { max-width:800px; margin:0; font-size:clamp(2.5rem,6vw,5.1rem); line-height:.98; letter-spacing:-.055em; }
.lead { max-width:730px; margin:30px 0 0; color:var(--muted); font-size:1.08rem; }
.project-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:24px; align-items:start; }
.project-card { overflow:hidden; background:#fff; border-radius:22px; box-shadow:0 18px 45px rgba(9,38,47,.09); }
.project-card a { display:block; overflow:hidden; background:#dfe5e7; }
.project-card img { display:block; width:100%; height:auto; transition:transform .35s ease; }
.project-card a:hover img { transform:scale(1.015); }
.project-card-text { display:grid; grid-template-columns:auto 1fr; gap:18px; padding:24px; }
.project-card-text .number { margin:2px 0 0; color:var(--orange); font-weight:800; }
.project-card h2,.project-value h2,.cta h2 { margin:0; line-height:1.1; letter-spacing:-.03em; }
.project-card p { color:var(--muted); }
.project-card-text p:last-child { margin:.7rem 0 0; }
.project-value { margin:72px 0; padding:54px; display:grid; grid-template-columns:1fr 1fr; gap:50px; color:#fff; background:linear-gradient(135deg,var(--teal),var(--teal-dark)); border-radius:24px; }
.project-value .eyebrow { color:#b9dde0; }
.project-value h2 { font-size:clamp(1.8rem,4vw,3rem); }
.project-value > p { margin:20px 0 0; color:#d7e8e9; }
.project-heading-school { margin-top:82px; }
.project-grid-school { grid-template-columns:1fr; }
.project-grid-school .project-card img { aspect-ratio:2048 / 690; object-fit:cover; }
.layer-feature { margin:34px 0 72px; padding:42px 46px; display:grid; grid-template-columns:1.25fr .75fr; gap:46px; background:#fff; border-radius:22px; box-shadow:0 18px 45px rgba(9,38,47,.08); }
.layer-feature h2 { margin:0; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.08; letter-spacing:-.035em; }
.layer-feature p:last-child { margin:18px 0 0; color:var(--muted); }
.layer-feature ul { margin:0; padding:0; display:grid; gap:10px; list-style:none; }
.layer-feature li { padding:13px 16px 13px 42px; position:relative; color:var(--ink); background:#edf5f5; border-radius:12px; font-weight:700; }
.layer-feature li::before { content:'✓'; position:absolute; left:16px; color:var(--teal); }
.cta { margin:0 0 80px; padding:38px 44px; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#fff; background:var(--teal-dark); border-radius:22px; }
.cta .eyebrow { color:#b9dde0; }
.cta h2 { font-size:clamp(1.7rem,4vw,2.6rem); }
.cta a { white-space:nowrap; }
footer { padding:32px max(16px,calc((100% - 1180px)/2)); display:flex; justify-content:space-between; gap:20px; color:#c7d8da; background:var(--teal-dark); font-size:.85rem; }
footer a { color:#fff; }
@media (max-width:800px) {
  .site-header { flex-wrap:wrap; gap:12px; }
  .site-header nav { order:3; width:100%; overflow:auto; justify-content:flex-start; padding:8px 0 2px; }
  .contact-button { margin-left:auto; }
  .project-hero { padding-top:70px; }
  .project-grid,.project-value,.layer-feature { grid-template-columns:1fr; }
  .project-card-featured { grid-column:auto; }
  .project-value { padding:34px 26px; gap:10px; }
  .layer-feature { padding:32px 26px; gap:24px; }
  .cta,footer { align-items:flex-start; flex-direction:column; }
}
