:root{--ink:#171717;--anth:#1C1C1E;--paper:#F5F1EA;--warm:#E8E2D8;--line:#D1CBC2;--muted:#756D64;--soft:#B8AA98;--gold:#B8966A;--text:#262321}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px clamp(20px,4vw,56px);background:rgba(245,241,234,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(28,28,30,.12)}.brand{display:flex;flex-direction:column;gap:3px;min-width:220px}.brand-name{font-size:22px;letter-spacing:.24em;font-weight:600;color:var(--anth)}.brand-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#58524b}.main-nav a{padding:8px 0;border-bottom:1px solid transparent}.main-nav a:hover,.main-nav .active{color:var(--anth);border-color:var(--anth)}.nav-toggle{display:none;border:1px solid var(--line);background:transparent;padding:9px 12px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.hero{position:relative;min-height:calc(100vh - 72px);display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;background:var(--anth);color:var(--paper);overflow:hidden}.hero-media{grid-column:2;background-image:linear-gradient(90deg,rgba(28,28,30,.35),rgba(28,28,30,.1)),url('../images/hero_Home.jpeg');background-size:cover;background-position:center;min-height:560px}.hero-content{grid-column:1;grid-row:1;padding:clamp(56px,8vw,112px) clamp(24px,6vw,76px);align-self:center;max-width:820px}.eyebrow{margin:0 0 18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);font-weight:600}.eyebrow.dark{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:400;letter-spacing:-.025em}h1{font-size:clamp(42px,6.2vw,88px);line-height:.98;margin-bottom:26px}h2{font-size:clamp(30px,4vw,54px);line-height:1.05;margin-bottom:18px}h3{font-size:20px;line-height:1.2;margin-bottom:12px}.lead{font-size:clamp(16px,1.6vw,21px);line-height:1.65;color:#DDD7CE;margin-bottom:32px;max-width:680px}.lead.narrow{max-width:760px;color:#5B554F}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid currentColor;font-size:12px;text-transform:uppercase;letter-spacing:.12em;transition:.2s}.btn-primary{background:var(--paper);color:var(--anth);border-color:var(--paper)}.btn-primary:hover{background:#fff}.btn-secondary{color:var(--paper);border-color:rgba(245,241,234,.42)}.btn-secondary:hover{border-color:var(--paper)}.hero-proof{position:absolute;left:clamp(24px,6vw,76px);right:clamp(24px,6vw,76px);bottom:28px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(245,241,234,.22);border-bottom:1px solid rgba(245,241,234,.18);background:rgba(28,28,30,.68);backdrop-filter:blur(10px)}.hero-proof div{padding:18px 22px;border-right:1px solid rgba(245,241,234,.16)}.hero-proof div:last-child{border-right:0}.hero-proof strong{display:block;font-family:"Playfair Display",serif;font-size:30px;font-weight:400;line-height:1;color:#fff}.hero-proof span{display:block;margin-top:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#BBB3A7}.section{padding:clamp(46px,7vw,90px) clamp(20px,5vw,70px)}.section.compact{padding-top:58px;padding-bottom:48px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:start;border-bottom:1px solid var(--line)}.text-block p{font-size:17px;line-height:1.8;color:#554E47}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:44px;padding-bottom:44px}.service-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:260px;display:flex;flex-direction:column}.service-card .num,.expertise-list span,.portfolio-card span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}.service-card p,.hub-points p,.model-grid p,.expertise-list p,.expertise-list li,.portfolio-card p,.contact-grid p{line-height:1.65;color:#5C554D}.hub-strip{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;background:var(--anth);color:var(--paper);padding-top:56px;padding-bottom:56px}.hub-strip h2,.dark-panel h2,.cta-band h2{color:var(--paper)}.hub-points{display:grid;gap:20px}.hub-points p{color:#DCD6CE;margin:0}.hub-points strong{color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head h2{margin-bottom:0}.text-link{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--anth);border-bottom:1px solid var(--anth);padding-bottom:5px}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:240px 240px;gap:16px}.project-card{position:relative;display:flex;align-items:end;overflow:hidden;background:var(--anth);min-height:240px}.project-card.large{grid-row:span 2}.project-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(20,20,20,.08),rgba(20,20,20,.85)),var(--bg);background-size:cover;background-position:center;transition:transform .45s ease}.project-card:hover:before{transform:scale(1.04)}.project-card>div{position:relative;padding:28px;color:#fff;max-width:560px}.project-card span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#D6C7B5}.project-card h3{font-family:"Playfair Display",serif;font-size:34px;font-weight:400;margin:7px 0}.project-card p{line-height:1.55;color:#E4DFD8;margin:0}.cta-band{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:var(--anth);color:var(--paper);padding-top:48px;padding-bottom:48px}.cta-contact{display:flex;flex-direction:column;gap:8px;min-width:min(420px,100%);padding:22px;border:1px solid rgba(245,241,234,.22);background:rgba(255,255,255,.04)}.cta-contact strong{font-size:15px;margin-bottom:6px}.cta-contact a{color:#F7F1E8}.site-footer{display:flex;justify-content:space-between;gap:24px;padding:26px clamp(20px,4vw,56px);background:#111;color:#CFC8BE}.site-footer strong{display:block;letter-spacing:.2em}.site-footer span{display:block;margin-top:4px;font-size:11px;color:#8D857C}.footer-links{display:flex;gap:20px;align-items:center;font-size:13px}.page-hero{padding:clamp(70px,9vw,126px) clamp(20px,5vw,70px) clamp(42px,6vw,70px);border-bottom:1px solid var(--line)}.page-hero h1{color:var(--anth);max-width:1000px}.expertise-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.expertise-list article{background:#fff;border:1px solid var(--line);padding:30px}.expertise-list ul{margin:18px 0 0;padding-left:18px}.expertise-list li{margin-bottom:8px}.split-hero{display:grid;grid-template-columns:1fr .9fr;min-height:620px;background:var(--anth);color:var(--paper)}.split-hero>div:first-child{padding:clamp(70px,9vw,120px) clamp(20px,6vw,76px);align-self:center}.split-photo{background-image:linear-gradient(180deg,rgba(28,28,30,.05),rgba(28,28,30,.2)),var(--bg);background-size:cover;background-position:center}.hub-model{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.model-grid article{background:#fff;border:1px solid var(--line);padding:24px}.dark-panel{background:var(--anth);color:var(--paper);max-width:none}.dark-panel p:last-child{font-size:19px;line-height:1.7;color:#DDD6CD;max-width:900px}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portfolio-card{display:grid;grid-template-columns:210px 1fr;background:#fff;border:1px solid var(--line);min-height:230px}.portfolio-img{background-image:var(--bg);background-size:cover;background-position:center}.portfolio-card div:last-child{padding:26px}.portfolio-card h2{font-size:31px;margin:8px 0 12px}.contact-hero{display:grid;grid-template-columns:1fr 430px;gap:50px;padding:clamp(70px,9vw,120px) clamp(20px,5vw,70px);background:var(--anth);color:var(--paper);align-items:center}.contact-card{background:var(--paper);color:var(--anth);padding:34px;border:1px solid rgba(255,255,255,.2)}.contact-card span{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}.contact-card h2{font-size:38px;margin:10px 0 8px}.contact-card p{color:#6A6259}.contact-card a{display:block;padding:12px 0;border-top:1px solid var(--line);font-size:18px}.contact-card small{display:block;margin-top:18px;color:var(--muted);letter-spacing:.08em}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-grid article{background:#fff;border:1px solid var(--line);padding:26px}@media (max-width:900px){.site-header{align-items:flex-start}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:14px 22px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.hero,.split-hero,.contact-hero,.intro-grid,.hub-strip,.hub-model,.cta-band{grid-template-columns:1fr}.hero-media{grid-column:1;grid-row:1;min-height:300px;opacity:.45}.hero-content{grid-column:1;grid-row:1}.hero-proof{position:static;grid-template-columns:1fr;margin:0 20px 24px}.hero-proof div{border-right:0;border-bottom:1px solid rgba(245,241,234,.16)}.cards-3,.expertise-list,.project-list,.contact-grid,.model-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr;grid-template-rows:auto}.project-card.large{grid-row:auto}.portfolio-card{grid-template-columns:1fr}.portfolio-img{min-height:220px}.footer-links,.site-footer{flex-direction:column;align-items:flex-start}.contact-hero{gap:24px}.contact-card{width:100%}}@media (max-width:520px){.brand{min-width:0}.brand-name{font-size:18px}.brand-sub{font-size:8px}.section-head{display:block}.cards-3,.section{padding-left:16px;padding-right:16px}.service-card,.expertise-list article,.portfolio-card div:last-child{padding:22px}.contact-card a{font-size:16px}}
.capability-preview{padding-top:46px;padding-bottom:46px;border-bottom:1px solid var(--line)}.capability-preview .section-head{align-items:flex-start}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.capability-grid article{background:#fff;border:1px solid var(--line);padding:24px;min-height:210px}.capability-grid span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}.capability-grid p{line-height:1.65;color:#5C554D}.system-list article{min-height:360px}.cta-contact.generic strong{letter-spacing:.16em}.hero-home .hero-media{background-image:linear-gradient(90deg,rgba(28,28,30,.35),rgba(28,28,30,.1)),url('../images/hero_Home.jpeg')}@media (max-width:1100px){.capability-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.capability-grid{grid-template-columns:1fr}}

/* v4 refinements */
.cap-icon{width:34px;height:34px;margin-bottom:18px;display:block;opacity:.82}.expertise-list .cap-icon{width:38px;height:38px;margin-bottom:20px}.contact-line{grid-template-columns:minmax(0,1fr) minmax(320px,560px)}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.contact-pill{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(245,241,234,.24);background:rgba(255,255,255,.055);color:var(--paper);font-size:14px;letter-spacing:.02em}.contact-pill:hover{border-color:rgba(245,241,234,.7);background:rgba(255,255,255,.09)}.contact-card-light{box-shadow:0 18px 60px rgba(0,0,0,.18);border:0;border-radius:0;background:#f7f2ea}.contact-card-light a{border-top:1px solid #ded6ca}.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none}.hero-media{position:relative}@media (max-width:900px){.contact-line{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}.contact-pill{width:100%;justify-content:center}}

/* v5 contact refinement */
.clean-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:18px;align-items:stretch;justify-content:end;max-width:560px;margin-left:auto}
.clean-contact-actions a{display:flex;flex-direction:column;gap:7px;padding:4px 0 14px;border:0;border-bottom:1px solid rgba(245,241,234,.38);background:transparent;color:var(--paper)}
.clean-contact-actions a:hover{border-bottom-color:var(--paper)}
.clean-contact-actions span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#BDB4A8}
.clean-contact-actions strong{font-size:17px;font-weight:500;color:#fff;letter-spacing:.02em}
.contact-panel{color:var(--paper);padding-left:34px;border-left:1px solid rgba(212,197,176,.55);max-width:470px;justify-self:end}
.contact-panel h2{font-size:clamp(30px,3.2vw,46px);line-height:1.05;margin:10px 0 18px;color:var(--paper)}
.contact-panel p:not(.eyebrow){font-size:16px;line-height:1.7;color:#DCD6CE;margin:0 0 22px}
.contact-person{padding:0 0 18px;margin-bottom:2px;font-size:14px;color:#D4C5B0;letter-spacing:.02em;border-bottom:1px solid rgba(245,241,234,.16)}
.contact-rows{display:flex;flex-direction:column}
.contact-rows a{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:15px 0;border-bottom:1px solid rgba(245,241,234,.16);color:var(--paper)}
.contact-rows span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#9D948A;white-space:nowrap}
.contact-rows strong{font-size:17px;font-weight:500;color:#fff;text-align:right}
.site-footer strong{letter-spacing:.22em}
.site-footer .footer-links a{border-bottom:1px solid transparent;padding-bottom:3px}
.site-footer .footer-links a:hover{border-bottom-color:#CFC8BE}
@media (max-width:900px){.clean-contact-actions{grid-template-columns:1fr;max-width:none;margin-left:0}.contact-panel{justify-self:start;max-width:none;padding-left:22px}.contact-rows a{display:block}.contact-rows strong{display:block;text-align:left;margin-top:5px}}


/* v6 image path fix: use real img tags instead of CSS custom-property URLs */
.project-card::before{display:none;}
.project-card .project-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.62);transition:transform .45s ease;}
.project-card:hover .project-bg{transform:scale(1.04);}
.project-card>div{z-index:1;}
.portfolio-card{overflow:hidden;}
.portfolio-card .portfolio-img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block;background:var(--warm);}
@media (max-width:900px){.portfolio-card .portfolio-img{height:220px;min-height:220px;}}


/* v7 mobile/caching/layout fixes */
.hero-media{pointer-events:none;z-index:0;}
.hero-media::after{pointer-events:none;}
.hero-content{position:relative;z-index:3;}
.hero-actions,.hero-actions .btn{position:relative;z-index:4;}
.hero-proof{z-index:2;}
.portfolio-card{grid-template-columns:minmax(180px,210px) minmax(0,1fr);align-items:stretch;overflow:hidden;}
.portfolio-card>.portfolio-img{grid-column:1;grid-row:1;width:100%!important;max-width:100%!important;height:100%!important;min-height:230px;object-fit:cover;display:block;align-self:stretch;}
.portfolio-card>div:last-child{grid-column:2;min-width:0;}
@media (max-width:900px){
  .hero-content{z-index:3;}
  .hero-media{z-index:0;}
  .hero-proof{z-index:2;}
  .hero-actions .btn{width:100%;} 
  .portfolio-card{grid-template-columns:1fr;}
  .portfolio-card>.portfolio-img{grid-column:1;height:220px!important;min-height:220px;}
  .portfolio-card>div:last-child{grid-column:1;}
}

/* v8 SEO/production refinements */
.hero-media{background-image:linear-gradient(90deg,rgba(28,28,30,.35),rgba(28,28,30,.1)),url('../images/hero_Home.jpeg');}
.main-nav .nav-cta{margin-left:6px;padding:9px 13px;border:1px solid rgba(28,28,30,.28);color:var(--anth);}
.main-nav .nav-cta:hover{border-color:var(--anth);background:rgba(28,28,30,.045);}
.main-nav .nav-cta.active{border-color:rgba(28,28,30,.28);}
.tech-base{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,70px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#F8F4EE;}
.tech-base h2{margin-bottom:0;}
.tech-list{font-size:17px;line-height:1.75;color:#5C554D;}
.tech-list p{margin:0 0 18px;}
.tech-list strong{color:var(--anth);font-weight:600;}
.portfolio-card>.portfolio-img,.project-card .project-bg{background-color:var(--warm);}
@media (max-width:900px){.main-nav .nav-cta{margin-left:0;margin-top:6px;padding:11px 14px;width:100%;text-align:center}.tech-base{grid-template-columns:1fr}.hero-media{background-image:linear-gradient(90deg,rgba(28,28,30,.35),rgba(28,28,30,.1)),url('../images/hero_Home.jpeg');}}


/* v9 hard fix: portfolio images must never become background/overlay cards on hosting */
.project-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.project-list .portfolio-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
  min-height:230px!important;
  height:230px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
}
.project-list .portfolio-card::before,
.project-list .portfolio-card::after{
  content:none!important;
  display:none!important;
}
.project-list .portfolio-card > img.portfolio-img{
  position:static!important;
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:210px!important;
  max-width:210px!important;
  min-width:210px!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  object-fit:cover!important;
  object-position:center!important;
  background:var(--warm)!important;
  filter:none!important;
  transform:none!important;
  opacity:1!important;
  z-index:auto!important;
}
.project-list .portfolio-card > div:last-child{
  position:static!important;
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  min-width:0!important;
  padding:26px!important;
  background:#fff!important;
  color:var(--text)!important;
  z-index:auto!important;
}
.project-list .portfolio-card span{color:var(--gold)!important;}
.project-list .portfolio-card h2{color:var(--anth)!important;}
.project-list .portfolio-card p{color:#5C554D!important;}
@media (max-width:900px){
  .project-list{grid-template-columns:1fr!important;}
  .project-list .portfolio-card{
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:0!important;
  }
  .project-list .portfolio-card > img.portfolio-img{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
  .project-list .portfolio-card > div:last-child{
    grid-column:1!important;
    grid-row:2!important;
    padding:22px!important;
  }
}
