@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Unbounded:wght@500;600;700&display=swap');

:root{
  --ink:#0c0c0c;
  --muted:#656565;
  --paper:#ffffff;
  --card:#FAFAFA;
  --red:#AD0000;
  --line:#e9e9e9;
  --max:1180px;
}
*{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.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1.05;font-family:'Unbounded',sans-serif;font-weight:700;letter-spacing:-.03em}
.brand small{font-family:'Inter',sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-top:7px;color:var(--muted)}
.nav-links{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:600}
.nav-links a:hover,.nav-links a[aria-current='page']{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--ink);font-weight:700;font-size:14px;transition:.2s ease}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--red);border-color:var(--red);transform:translateY(-1px)}
.btn-light:hover{border-color:var(--red);color:var(--red)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--red);margin-bottom:14px}
h1,h2,h3{font-family:'Unbounded',sans-serif;line-height:1.08;letter-spacing:-.04em;margin:0 0 18px}
h1{font-size:clamp(44px,7vw,88px);max-width:900px}
h2{font-size:clamp(32px,4.5vw,56px)}
h3{font-size:clamp(20px,2vw,27px)}
p{margin:0 0 18px;color:#242424}
.hero{padding:90px 0 70px;border-bottom:1px solid var(--line)}
.hero p{font-size:clamp(18px,2vw,22px);max-width:760px;color:#3c3c3c}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.section{padding:90px 0}
.section-soft{background:#f7f7f7}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.kicker-block{border-left:4px solid var(--red);padding-left:22px;font-size:20px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:46px}
.service-card{background:var(--card);border:1px solid #eeeeee;padding:34px;min-height:350px;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 48px rgba(0,0,0,.07);border-color:#dedede}
.service-card .icon{width:72px;height:72px;color:var(--red);margin-bottom:26px;animation:iconFloat 4.2s ease-in-out infinite;transform-origin:center}
.service-card:nth-child(2n) .icon{animation-delay:.55s}.service-card:nth-child(3n) .icon{animation-delay:1.1s}
.service-card svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card p{color:#343434}
.service-meta{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#777;margin-top:auto;padding-top:18px}
@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.service-card .icon{animation:none}.service-card{transition:none}}
.band{background:#111;color:#fff;padding:72px 0}
.band p{color:#d3d3d3;max-width:780px}.band .eyebrow{color:#ff6666}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2a2a2a;border:1px solid #2a2a2a;margin-top:36px}
.stat{background:#111;padding:26px}.stat strong{display:block;font-family:'Unbounded';font-size:26px;margin-bottom:8px}.stat span{color:#bbb;font-size:14px}
.map-shell{overflow:hidden;border:1px solid var(--line);background:#f3f3f3;margin-top:36px}.map-shell iframe{display:block;width:100%;height:460px;border:0}
.cta{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;padding:70px 0}
.site-footer{border-top:1px solid var(--line);padding:34px 0 46px}.footer-row{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}.small{font-size:13px;color:#707070}
.about-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.about-copy p{font-size:17px}.image-placeholder{min-height:520px;background:linear-gradient(135deg,#efefef,#fafafa);border:1px dashed #cfcfcf;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:#7a7a7a;font-size:14px}
.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.community-card{padding:28px;border:1px solid var(--line);background:#fff}.community-card strong{font-family:'Unbounded';font-size:18px;display:block;margin-bottom:10px}.quote{font-family:'Unbounded';font-size:clamp(28px,4vw,48px);line-height:1.18;max-width:980px}
.reward-box{border:1px solid var(--line);background:var(--card);padding:34px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
@media(max-width:900px){.nav-links{display:none}.intro-grid,.about-story,.cta,.reward-box{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.community-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.hero{padding-top:66px}.section{padding:68px 0}.image-placeholder{min-height:340px}}

/* Real project imagery */
.project-photo{margin:0;overflow:hidden;background:#eee;border:1px solid var(--line)}
.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.project-photo:hover img{transform:scale(1.018)}
.project-photo figcaption{padding:11px 14px;font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.11em;color:#666;background:#fff;border-top:1px solid var(--line)}
.about-main-photo{min-height:560px;height:100%}
.about-main-photo img{min-height:560px}
.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-self:stretch}
.photo-stack .project-photo{min-height:440px}
.photo-stack .project-photo img{min-height:440px}
.community-photos{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:34px}
.community-photos .project-photo{height:420px}
.work-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:170px;gap:14px;margin-top:38px}
.work-gallery .project-photo{height:auto}
.work-gallery .wide{grid-column:span 7;grid-row:span 2}
.work-gallery .tall{grid-column:span 5;grid-row:span 3}
.work-gallery .small{grid-column:span 4;grid-row:span 2}
.work-gallery .medium{grid-column:span 8;grid-row:span 2}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}
.before-after .project-photo{height:520px;position:relative}
.photo-badge{position:absolute;top:16px;left:16px;z-index:2;background:#fff;color:#111;padding:8px 11px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;border:1px solid rgba(0,0,0,.1)}
.photo-badge.after{background:var(--red);color:#fff;border-color:var(--red)}
.service-proof{padding-top:72px}
.service-proof-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
@media (prefers-reduced-motion:reduce){.project-photo img{transition:none}.project-photo:hover img{transform:none}}
@media(max-width:900px){.about-main-photo,.about-main-photo img{min-height:360px}.photo-stack{grid-template-columns:1fr}.photo-stack .project-photo,.photo-stack .project-photo img{min-height:320px}.community-photos{grid-template-columns:1fr}.community-photos .project-photo{height:340px}.work-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}.work-gallery .wide,.work-gallery .tall,.work-gallery .small,.work-gallery .medium{grid-column:auto;grid-row:auto;height:340px}.before-after{grid-template-columns:1fr}.before-after .project-photo{height:420px}.service-proof-intro{grid-template-columns:1fr}}


/* Service detail and authority links */
.service-card h3 a{color:inherit;text-decoration:none}
.service-card h3 a:hover{color:var(--red)}
.service-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:800;color:var(--red);text-decoration:underline;text-underline-offset:3px}
.breadcrumbs{font-size:13px;color:#666;margin-bottom:30px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:70px;align-items:start}
.detail-copy h2{margin-top:42px;font-size:clamp(28px,3vw,42px)}
.detail-copy h3{margin-top:30px;font-size:clamp(20px,2vw,26px)}
.detail-copy ul{padding-left:22px}
.detail-aside{position:sticky;top:110px;background:#f7f7f7;border:1px solid var(--line);padding:28px}
.detail-aside h2{font-size:24px}
.detail-aside ul{list-style:none;padding:0;margin:0 0 24px}
.detail-aside li{padding:10px 0;border-bottom:1px solid var(--line)}
.authority-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:13px}
.authority-links a{text-decoration:underline;text-underline-offset:3px}
.press-box{margin-top:34px;padding:26px;border-left:4px solid var(--red);background:#f7f7f7}
.press-box h3{margin-top:0}
.news-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#111;margin-top:24px}
.news-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.detail-aside{position:static}}
