:root{
  --ink:#111512;
  --charcoal:#181d19;
  --forest:#1f3a2e;
  --sage:#9fb89e;
  --sand:#f1eee6;
  --paper:#fbfaf6;
  --clay:#c65f35;
  --clay2:#e98959;
  --line:rgba(17,21,18,.13);
  --white:#fff;
  --shadow:0 24px 70px rgba(17,21,18,.16);
  --radius:28px;
  --max:1320px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 56px));margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--clay)}.display{font-family:Georgia,'Times New Roman',serif;line-height:.93;letter-spacing:-.045em}.muted{color:#687067}.btn{display:inline-flex;align-items:center;gap:.65rem;padding:15px 20px;border-radius:999px;font-weight:750;border:1px solid transparent;transition:.25s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--clay);color:#fff;box-shadow:0 10px 30px rgba(198,95,53,.25)}.btn-dark{background:var(--ink);color:#fff}.btn-line{border-color:rgba(255,255,255,.34);color:#fff}.section{padding:110px 0}.section-sm{padding:74px 0}.grid{display:grid;gap:28px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* nav */
.nav-shell{position:fixed;inset:0 0 auto 0;z-index:50;padding:18px 0;transition:.25s ease}.nav-shell.scrolled{background:rgba(251,250,246,.92);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line);padding:10px 0}.nav{width:min(1420px,calc(100% - 42px));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--clay),#a94423);position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:#fff;border-radius:2px}.brand-mark:before{width:7px;height:23px;left:10px;top:9px;transform:skew(-25deg)}.brand-mark:after{width:7px;height:23px;right:10px;top:9px;transform:skew(-25deg)}.brand strong{display:block;font-size:1rem;letter-spacing:.01em}.brand small{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;margin-top:3px}.nav-links{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px;background:rgba(255,255,255,.72);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:999px}.nav-links a{padding:11px 16px;border-radius:999px;font-size:.9rem;font-weight:650;transition:.2s}.nav-links a:hover,.nav-links a.active{background:var(--ink);color:#fff}.nav-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.nav-phone{font-size:.88rem;font-weight:700}.menu-btn{display:none;width:44px;height:44px;border:0;border-radius:13px;background:var(--ink);color:#fff;font-size:1.3rem}.mobile-menu{display:none}

/* hero */
.hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--sand)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,23,18,.9) 0%,rgba(16,23,18,.62) 48%,rgba(16,23,18,.12) 78%);pointer-events:none}.hero-photo{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=2000&q=84');background-size:cover;background-position:center 50%;filter:saturate(.78)}.hero-content{position:relative;z-index:2;color:#fff;padding-top:96px;width:min(760px,60%)}.hero h1{font-size:clamp(4.5rem,7.9vw,8.4rem);margin:22px 0}.hero h1 em{color:#ff9b68;font-style:normal}.hero p{font-size:1.14rem;line-height:1.8;max-width:650px;color:rgba(255,255,255,.78)}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.hero-proof{position:absolute;z-index:3;right:5vw;bottom:7vh;width:min(390px,34vw);background:rgba(250,247,238,.94);color:var(--ink);border-radius:26px;padding:24px;box-shadow:var(--shadow)}.hero-proof-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}.hero-proof-row:last-child{border-bottom:0}.hero-proof .n{font-family:Georgia,serif;font-size:2.1rem;color:var(--clay)}

/* homepage */
.proof-strip{background:var(--ink);color:#fff}.proof-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:0}.proof-cell{padding:34px;border-right:1px solid rgba(255,255,255,.12)}.proof-cell:last-child{border-right:0}.proof-cell .big{font-family:Georgia,serif;font-size:2.4rem;margin-bottom:8px}.proof-cell p{margin:0;color:rgba(255,255,255,.64);line-height:1.55}.section-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:end;margin-bottom:54px}.section-head h2{font-size:clamp(3.1rem,6vw,6.4rem);margin:0}.section-head p{font-size:1.05rem;line-height:1.8;margin:0;color:#60675f;max-width:650px}.cap-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;transition:.25s;position:relative}.cap-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.cap-visual{height:240px;background-size:cover;background-position:center;position:relative}.cap-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.48))}.cap-card:nth-child(1) .cap-visual{background-image:url('https://images.unsplash.com/photo-1531834685032-c34bf0d84c77?auto=format&fit=crop&w=1200&q=82')}.cap-card:nth-child(2) .cap-visual{background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1200&q=82')}.cap-card:nth-child(3) .cap-visual{background-image:url('https://images.unsplash.com/photo-1590479773265-7464e5d48118?auto=format&fit=crop&w=1200&q=82')}.cap-card:nth-child(4) .cap-visual{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=82')}.cap-card-body{padding:26px}.cap-card h3{font-size:1.3rem;margin:0 0 10px}.cap-card p{color:#6a706a;line-height:1.65;margin:0}.arrow-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--clay);font-weight:800;font-size:.9rem}.foundation{background:var(--forest);color:#fff;overflow:hidden}.foundation-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.foundation-map{min-height:560px;border:1px solid rgba(255,255,255,.16);border-radius:32px;position:relative;overflow:hidden;background:linear-gradient(145deg,#173124,#294d38)}.foundation-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px}.slab{position:absolute;border:2px solid rgba(255,255,255,.75);background:rgba(255,255,255,.06);transition:.3s;cursor:pointer}.slab:hover{background:rgba(233,137,89,.25);border-color:#ffb087}.slab span{position:absolute;background:#fff;color:var(--ink);font-size:.72rem;font-weight:800;padding:8px 10px;border-radius:999px;white-space:nowrap}.slab.one{width:52%;height:31%;left:9%;top:10%}.slab.two{width:36%;height:29%;right:8%;top:22%}.slab.three{width:42%;height:25%;left:24%;bottom:9%}.slab.four{width:25%;height:28%;right:8%;bottom:7%}.slab.one span{left:12px;top:12px}.slab.two span{right:12px;top:12px}.slab.three span{left:12px;bottom:12px}.slab.four span{right:12px;bottom:12px}.foundation-copy h2{font-size:clamp(3rem,5.4vw,5.8rem);margin:10px 0 22px}.foundation-copy p{color:rgba(255,255,255,.72);line-height:1.8}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.fact{padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:18px}.fact b{display:block;font-size:1.06rem}.fact span{display:block;font-size:.82rem;color:rgba(255,255,255,.58);margin-top:6px}.evidence-card{border:1px solid var(--line);border-radius:28px;padding:30px;background:#fff}.evidence-card .status{display:inline-flex;padding:8px 10px;border-radius:999px;background:#e7f1e5;color:#2f5b36;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.evidence-card h3{font-size:1.7rem;margin:20px 0 10px}.evidence-card p{color:#677067;line-height:1.7}.meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.meta span{background:#f1efe8;border-radius:999px;padding:9px 11px;font-size:.76rem;font-weight:700}.cta-band{background:var(--clay);color:#fff;border-radius:34px;padding:58px;display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center}.cta-band h2{font-size:clamp(2.8rem,5vw,5.5rem);margin:0}.cta-band p{color:rgba(255,255,255,.8);line-height:1.7}

/* pages */
.page-hero{padding:180px 0 90px;background:var(--sand);position:relative;overflow:hidden}.page-hero .wrap{position:relative;z-index:2}.page-hero h1{font-size:clamp(4rem,8vw,8rem);margin:20px 0}.page-hero p{max-width:720px;font-size:1.08rem;line-height:1.8;color:#60685f}.page-hero .ghost{position:absolute;font-family:Georgia,serif;font-size:22vw;line-height:.8;right:-3vw;bottom:-6vw;color:rgba(31,58,46,.05);font-weight:700}.service-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;padding:34px 0;border-top:1px solid var(--line)}.service-row h3{font-size:1.7rem;margin:0}.service-row p{margin:0 0 15px;color:#677067;line-height:1.7}.service-list{display:flex;gap:8px;flex-wrap:wrap}.service-list span{font-size:.78rem;background:#eeeae0;border-radius:999px;padding:8px 11px}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.portfolio-item{min-height:380px;border-radius:28px;overflow:hidden;position:relative;background:#d9d4c8;background-size:cover;background-position:center}.portfolio-item:nth-child(1){grid-column:span 7;background-image:url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1400&q=82')}.portfolio-item:nth-child(2){grid-column:span 5;background-image:url('https://images.unsplash.com/photo-1531834685032-c34bf0d84c77?auto=format&fit=crop&w=1200&q=82')}.portfolio-item:nth-child(3){grid-column:span 5;background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1200&q=82')}.portfolio-item:nth-child(4){grid-column:span 7;background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1400&q=82')}.portfolio-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,13,9,.85))}.portfolio-copy{position:absolute;left:24px;right:24px;bottom:24px;color:#fff;z-index:2}.portfolio-copy b{display:block;font-size:1.35rem}.portfolio-copy span{font-size:.84rem;color:rgba(255,255,255,.7)}.proof-card{background:var(--ink);color:#fff;border-radius:30px;padding:36px}.proof-card h3{font-size:2rem;margin:16px 0 10px}.proof-card p{color:rgba(255,255,255,.68);line-height:1.7}.proof-card .kicker{color:#ff9b68;font-weight:800;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.timeline{border-left:1px solid var(--line);padding-left:34px}.timeline-item{position:relative;padding:0 0 42px 12px}.timeline-item:before{content:"";width:12px;height:12px;background:var(--clay);border-radius:50%;position:absolute;left:-41px;top:6px}.timeline-item h3{margin:0 0 8px}.timeline-item p{margin:0;color:#687067;line-height:1.7}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.contact-card{background:var(--forest);color:#fff;border-radius:30px;padding:36px}.contact-card h2{font-size:3rem;margin:14px 0}.contact-card a{display:block;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}.contact-card span{display:block;font-size:.75rem;color:#a9c3b3;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.contact-card strong{font-size:1.06rem;color:#fff}.form-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:36px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#687067}.field input,.field select,.field textarea{width:100%;border:1px solid #d8d4ca;border-radius:14px;padding:15px 16px;background:#fbfaf6;font:inherit;color:var(--ink)}.field textarea{min-height:130px;resize:vertical}

footer{background:#0c100d;color:#fff;padding:64px 0 28px;margin-top:90px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:40px}.footer-brand p{max-width:430px;color:rgba(255,255,255,.6);line-height:1.7}.footer-col b{display:block;margin-bottom:14px}.footer-col a{display:block;color:rgba(255,255,255,.64);margin:9px 0;font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:42px;display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:.78rem}

.reveal{opacity:0;transform:translateY(24px);transition:.6s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.wrap{width:min(100% - 32px,var(--max))}.nav{grid-template-columns:1fr auto}.nav-links,.nav-actions{display:none}.menu-btn{display:block}.mobile-menu{position:fixed;inset:78px 16px auto 16px;background:#fff;border-radius:22px;padding:18px;z-index:49;box-shadow:var(--shadow)}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:15px;border-bottom:1px solid var(--line);font-weight:700}.mobile-menu .btn{margin-top:12px;display:flex;justify-content:center}.hero{min-height:820px}.hero-content{width:100%;padding-top:80px}.hero h1{font-size:clamp(4rem,14vw,7rem)}.hero-proof{position:relative;right:auto;bottom:auto;width:100%;margin-top:42px}.hero:after{background:linear-gradient(180deg,rgba(12,17,13,.88),rgba(12,17,13,.52))}.proof-grid{grid-template-columns:1fr 1fr}.proof-cell{border-bottom:1px solid rgba(255,255,255,.12)}.section-head,.foundation-grid,.cta-band,.contact-grid,.service-row{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}.foundation-map{min-height:430px}.footer-grid{grid-template-columns:1fr 1fr}.portfolio-item{grid-column:span 6!important}}
@media(max-width:640px){.section{padding:80px 0}.section-head h2,.page-hero h1{font-size:3.5rem}.grid-4,.grid-3,.grid-2,.proof-grid,.form-grid{grid-template-columns:1fr}.proof-cell{border-right:0}.hero h1{font-size:3.9rem}.hero p{font-size:1rem}.hero-proof{display:none}.page-hero{padding-top:140px}.foundation-map{min-height:360px}.portfolio-item{grid-column:span 12!important;min-height:320px}.cta-band{padding:34px 24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.nav{width:calc(100% - 24px)}.brand small{display:none}}

/* ===== GLOBAL CONTRAST HARDENING =====
   Explicit foreground colours prevent text from inheriting white/dark
   colours when cards are nested inside contrasting sections. */

/* Light surfaces */
.hero-proof,
.cap-card,
.evidence-card,
.form-card,
.mobile-menu {
  color: var(--ink);
}

.hero-proof strong,
.hero-proof p,
.hero-proof .muted {
  color: #596159;
}
.hero-proof strong { color: var(--ink); }
.hero-proof .eyebrow,
.hero-proof .n { color: var(--clay); }

.cap-card h3,
.evidence-card h3,
.form-card h1,
.form-card h2,
.form-card h3,
.mobile-menu a {
  color: var(--ink);
}

.cap-card p,
.evidence-card p {
  color: #5f685f;
}

/* Light pills must always use dark text */
.meta span,
.service-list span {
  color: #202720;
}
.evidence-card .meta span {
  background: #f1efe8;
  color: #202720;
}

/* Dark evidence cards: light copy, but dark text on their pale pills */
.proof-card {
  color: #ffffff;
}
.proof-card h3 { color: #ffffff; }
.proof-card p { color: rgba(255,255,255,.78); }
.proof-card .kicker { color: #ff9b68; }
.proof-card .meta span {
  background: #f4f1e9;
  color: #182019;
  border: 1px solid rgba(255,255,255,.16);
}

/* Dark sections */
.proof-strip,
.foundation,
.contact-card,
footer {
  color: #ffffff;
}
.proof-strip p,
.foundation p,
footer p {
  color: rgba(255,255,255,.72);
}
.contact-card h1,
.contact-card h2,
.contact-card h3,
.contact-card strong,
.contact-card a {
  color: #ffffff;
}
.contact-card span { color: #b7d0c0; }

/* CTA / buttons */
.btn-primary { color: #ffffff; }
.btn-dark { color: #ffffff; }
.btn-line { color: #ffffff; }

/* Form controls always stay readable on light fields */
.field input,
.field select,
.field textarea {
  color: var(--ink);
  background: #fbfaf6;
}
.field input::placeholder,
.field textarea::placeholder {
  color: #777e77;
  opacity: 1;
}
