@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root{
  --ink:#070707;
  --ink-2:#11110f;
  --paper:#f7f5f1;
  --paper-2:#eeeae4;
  --white:#ffffff;
  --brown:#806046;
  --brown-dark:#674a35;
  --brown-soft:#b79f8b;
  --muted:#6a665f;
  --rule:rgba(7,7,7,.14);
  --rule-dark:rgba(255,255,255,.13);
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300;line-height:1.65}
a{color:inherit}
img{max-width:100%}

/* Navigation */
.site-nav{
  position:sticky;top:0;z-index:1000;
  min-height:68px;
  display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:2rem;
  padding:0 5vw;background:rgba(249,248,245,.98);
  border-bottom:1px solid rgba(7,7,7,.09);
  backdrop-filter:blur(14px)
}
.nav-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.nav-logo img{display:block;width:158px;height:auto}
.nav-menu{display:flex;align-items:center;justify-content:center;gap:2.5rem}
.nav-menu a{
  position:relative;padding:25px 0 21px;
  font-size:.67rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#191816
}
.nav-menu a:after{
  content:'';position:absolute;left:0;bottom:17px;width:100%;height:1px;background:var(--brown);
  transform:scaleX(0);transform-origin:left;transition:transform .2s ease
}
.nav-menu a:hover:after,.nav-menu a.active:after{transform:scaleX(1)}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;font-weight:500
}
.nav-cta{background:var(--brown);color:white;padding:1rem 1.35rem;min-width:215px;transition:background .2s ease}
.nav-cta:hover{background:var(--brown-dark)}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);font:500 .68rem 'DM Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}

/* Home hero */
.home-hero{position:relative;overflow:hidden;background:#090a09;color:white;min-height:600px}
.hero-grid{position:relative;z-index:2;max-width:1440px;margin:0 auto;min-height:600px;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);padding:0 5vw}
.hero-copy{padding:6.3rem 0 5.3rem;align-self:center}
.eyebrow,.kicker,.section-label{
  display:flex;align-items:center;gap:1.1rem;font-size:.61rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase
}
.eyebrow{color:#dbd6cf;margin-bottom:1.4rem}.eyebrow span,.section-label span{display:block;width:38px;height:1px;background:var(--brown)}
.home-hero h1{
  margin:0;max-width:650px;
  font-family:'Barlow Condensed','Arial Narrow',sans-serif;
  font-size:clamp(4rem,6.5vw,6.4rem);font-weight:600;line-height:.88;letter-spacing:-.018em;text-transform:uppercase
}
.home-hero .lead{max-width:530px;margin:1.65rem 0 0;font-size:1rem;color:rgba(255,255,255,.78);line-height:1.62}
.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.btn{min-height:48px;padding:.9rem 1.7rem;border:1px solid transparent;transition:all .2s ease}
.btn-brown,.btn-sand{background:var(--brown);color:white;border-color:var(--brown)}
.btn-brown:hover,.btn-sand:hover{background:var(--brown-dark);border-color:var(--brown-dark)}
.btn-outline-light,.btn-ghost{color:white;border-color:rgba(255,255,255,.7);background:transparent}
.btn-outline-light:hover,.btn-ghost:hover{background:white;color:var(--ink)}
.btn-dark{background:var(--ink);color:white;border-color:var(--ink)}
.btn-dark:hover{background:var(--brown);border-color:var(--brown)}

/* architectural hero art */
.hero-art{position:relative;overflow:hidden;min-height:600px}
.hero-art:before{
  content:'';position:absolute;inset:0 -8vw 0 -5vw;opacity:.76;
  background:
    linear-gradient(111deg,transparent 0 33%,rgba(255,255,255,.04) 33.2% 34%,transparent 34.2% 100%),
    linear-gradient(111deg,transparent 0 44%,rgba(255,255,255,.28) 44.2% 46.4%,transparent 46.6% 100%),
    linear-gradient(111deg,transparent 0 54%,rgba(255,255,255,.13) 54.2% 56.8%,transparent 57% 100%),
    linear-gradient(111deg,transparent 0 65%,rgba(255,255,255,.06) 65.2% 70%,transparent 70.2% 100%);
  transform:skewX(-5deg)
}
.hero-art:after{
  content:'';position:absolute;left:13%;top:0;width:58%;height:100%;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 54px);
  clip-path:polygon(36% 100%,67% 0,100% 0,67% 100%);
  opacity:.58
}
.beam{position:absolute;display:block;bottom:-16%;transform-origin:bottom center;background:linear-gradient(to right,rgba(255,255,255,.68),rgba(255,255,255,.16));border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.beam:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 40px,rgba(0,0,0,.38) 40px 41px)}
.beam-a{left:6%;width:90px;height:390px;transform:rotate(25deg) skewY(-12deg)}
.beam-b{left:30%;width:150px;height:520px;transform:rotate(29deg) skewY(-10deg)}
.beam-c{left:56%;width:180px;height:660px;transform:rotate(31deg) skewY(-8deg);opacity:.48}
.outline{position:absolute;border:1px solid rgba(128,96,70,.75);transform:skewX(-34deg)}
.outline-a{right:5%;top:14%;width:45%;height:46%}
.outline-b{right:-12%;bottom:-12%;width:62%;height:54%}
.hero-values{position:absolute;right:2.5%;bottom:9%;display:flex;flex-direction:column;gap:.65rem}
.hero-values span{font-size:.57rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.hero-values i{display:block;width:34px;height:1px;margin-top:.45rem;background:var(--brown)}

/* Home service rail */
.service-band{background:var(--paper);border-bottom:1px solid var(--rule)}
.service-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding:0 5vw}
.service-tile{
  min-height:210px;padding:2.25rem 2rem 2rem;text-decoration:none;border-right:1px solid var(--rule);
  display:flex;flex-direction:column;align-items:flex-start;transition:background .2s ease
}
.service-tile:first-child{border-left:1px solid var(--rule)}
.service-tile:hover{background:#fff}
.service-tile svg{width:34px;height:34px;fill:none;stroke:var(--brown);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1rem}
.service-tile h2{
  margin:0 0 .55rem;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1.16rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase
}
.service-tile p{margin:0 0 1rem;font-size:.86rem;line-height:1.55;color:#46423e;max-width:260px}
.learn{margin-top:auto;font-size:.61rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-dark)}

/* Home about */
.home-about{background:#fbfaf8;border-bottom:1px solid var(--rule);padding:4.8rem 5vw}
.home-about-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1.1fr .9fr;gap:5rem;align-items:start}
.section-label{color:#3b3834;margin-bottom:1.25rem}
.about-heading h2,.home-context h2,.home-cta h2{
  margin:0;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:600;line-height:.95;text-transform:uppercase
}
.about-heading h2{font-size:clamp(2.9rem,4.4vw,4.6rem);max-width:450px}
.about-copy{padding-top:1.5rem}
.about-copy p{font-size:.92rem;line-height:1.72;color:#4c4843;margin:0 0 1rem}
.text-link{display:inline-block;margin-top:.7rem;text-decoration:none;font-size:.63rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-dark)}
.about-quote{position:relative;margin:1.1rem 0 0;padding:1.6rem 1.2rem 1.6rem 3.8rem;border-top:1px solid var(--brown);border-bottom:1px solid var(--brown)}
.quote-mark{position:absolute;left:.1rem;top:1.4rem;font-family:Georgia,serif;font-size:4.6rem;line-height:.8;color:var(--brown)}
.about-quote p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:1.15rem;line-height:1.6;color:#2f2c29}

/* Context section */
.home-context{background:var(--ink);color:white;padding:5.3rem 5vw;border-bottom:1px solid rgba(255,255,255,.08)}
.context-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:7rem;align-items:start}
.light-label{color:rgba(255,255,255,.68)}
.home-context h2{font-size:clamp(3rem,5vw,5rem)}
.context-copy{padding-top:1.6rem}
.context-copy p{margin:0;color:rgba(255,255,255,.68);line-height:1.85;max-width:660px}
.context-links{display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem;margin-top:2rem}
.context-links a{text-decoration:none;font-size:.64rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--brown-soft)}

/* Home CTA */
.home-cta{max-width:1280px;margin:0 auto;padding:5rem 5vw;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:end}
.home-cta h2{font-size:clamp(2.8rem,4.6vw,4.5rem);max-width:780px}
.home-cta p{max-width:700px;color:#55504a;margin:1rem 0 0}

/* Interior page framework */
.page-hero{position:relative;overflow:hidden;padding:6.8rem 5vw 5.8rem;background:var(--ink);color:white}
.page-hero:after{
  content:'';position:absolute;right:-5%;top:-35%;width:54%;height:170%;
  border:1px solid rgba(128,96,70,.5);transform:skewX(-31deg);pointer-events:none
}
.page-hero:before{
  content:'';position:absolute;right:15%;top:-20%;width:28%;height:150%;
  background:linear-gradient(111deg,transparent 0 42%,rgba(255,255,255,.09) 42.4% 45%,transparent 45.4% 100%);
  pointer-events:none
}
.wrap{position:relative;z-index:1;max-width:var(--max);margin:0 auto;width:100%}
.kicker{color:var(--brown-soft);margin-bottom:1rem}
.page-hero h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif}
.page-hero h1{font-size:clamp(3.5rem,6vw,5.8rem);font-weight:600;line-height:.93;letter-spacing:-.015em;text-transform:uppercase;max-width:900px;margin:.8rem 0 1.4rem}
.page-hero h1 em,h2 em{color:var(--brown-soft);font-style:normal}
.page-hero p{max-width:760px;color:rgba(255,255,255,.7);font-size:1rem;line-height:1.85}

.section{padding:6.3rem 5vw;border-bottom:1px solid var(--rule)}
.section.alt{background:var(--paper-2)}
.section.dark{background:var(--ink);color:white}
.section .section-label{margin-bottom:2rem}
.section.dark .section-label{color:rgba(255,255,255,.7)}
.split{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.9fr 1.35fr;gap:5.5rem;align-items:start}
.split h2,.center h2{font-size:clamp(2.7rem,4.4vw,4.1rem);font-weight:600;line-height:.98;text-transform:uppercase;margin:0}
.body{font-size:.98rem;color:#403c38;line-height:1.9}
.dark .body{color:rgba(255,255,255,.7)}
.cards{max-width:var(--max);margin:2.6rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule)}
.dark .cards{background:var(--rule-dark)}
.card{padding:2.3rem;background:var(--paper);border-top:2px solid var(--brown)}
.dark .card{background:var(--ink);border-top-color:var(--brown-soft)}
.card h3{font-size:1.6rem;font-weight:600;line-height:1.05;letter-spacing:.04em;text-transform:uppercase;margin:.1rem 0 .8rem}
.card p{margin:0;color:#55504a;line-height:1.8;font-size:.9rem}
.dark .card p{color:rgba(255,255,255,.62)}
.list{list-style:none;padding:0;margin:1.5rem 0 0}
.list li{padding:.88rem 0;border-bottom:1px solid var(--rule);display:flex;gap:.9rem}
.list li:before{content:'—';color:var(--brown)}
.dark .list li{border-color:var(--rule-dark)}
.proof{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule)}
.proof div{padding:1.8rem;background:var(--paper);border-top:2px solid var(--brown)}
.proof strong{display:block;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1.75rem;font-weight:600;text-transform:uppercase}
.proof span{font-size:.78rem;color:var(--muted)}
.portrait-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.8fr 1.3fr;gap:4.5rem}
.portrait{width:100%;display:block;aspect-ratio:3/4;object-fit:cover;object-position:center top;filter:saturate(.82) contrast(1.04)}
.faq-item{padding:1.4rem 0;border-bottom:1px solid var(--rule)}
.faq-item h3{font-family:'DM Sans',Arial,sans-serif;font-size:1rem;font-weight:500;margin:0 0 .5rem}
.faq-item p{margin:0;color:#55504a}
.cta{text-align:center;background:var(--paper)}
.cta h2{max-width:800px;margin-left:auto;margin-right:auto}
.cta p{max-width:680px;margin:1rem auto 2rem;color:#55504a}

/* Footer */
.site-footer{background:var(--ink);color:white;padding:4.5rem 5vw 2rem;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem}
.footer-logo-img{display:block;width:172px;height:auto;margin-bottom:1.35rem;filter:brightness(0) invert(1)}
.footer-grid p{color:rgba(255,255,255,.52);max-width:330px}
.footer-grid h4{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-soft);margin:0 0 1rem}
.footer-grid a{display:block;text-decoration:none;color:rgba(255,255,255,.7);font-size:.84rem;margin:.58rem 0}
.footer-grid a:hover{color:white}
.footer-bottom{max-width:var(--max);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:.71rem}
.note{font-size:.82rem;color:var(--muted)}

@media(max-width:1050px){
  .site-nav{grid-template-columns:180px 1fr auto;padding:0 3vw;gap:1.2rem}
  .nav-menu{gap:1.4rem}.nav-cta{min-width:auto}
  .hero-grid{grid-template-columns:55% 45%;padding:0 4vw}
  .service-grid{padding:0 4vw}
  .home-about-grid{gap:3rem}
}
@media(max-width:900px){
  .site-nav{grid-template-columns:1fr auto;min-height:64px;padding:0 1.25rem}
  .nav-logo img{width:142px}.nav-cta{display:none}.nav-toggle{display:block}
  .nav-menu{display:none;grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:0;padding:.3rem 0 1rem}
  .nav-menu.open{display:flex}.nav-menu a{padding:.7rem 0}.nav-menu a:after{bottom:.5rem}
  .hero-grid{grid-template-columns:1fr;padding:0 1.5rem;min-height:auto}.hero-copy{padding:5.5rem 0 4rem;max-width:650px}
  .hero-art{position:absolute;inset:0 0 0 45%;min-height:100%;opacity:.55}.hero-values{display:none}
  .service-grid{grid-template-columns:1fr 1fr;padding:0 1.5rem}.service-tile:nth-child(odd){border-left:1px solid var(--rule)}
  .home-about,.home-context{padding-left:1.5rem;padding-right:1.5rem}
  .home-about-grid{grid-template-columns:1fr;gap:2rem}.about-copy{padding-top:0}.about-quote{max-width:560px}
  .context-grid{grid-template-columns:1fr;gap:2rem}.context-copy{padding-top:0}
  .home-cta{grid-template-columns:1fr;align-items:start;padding-left:1.5rem;padding-right:1.5rem;gap:2rem}
  .page-hero,.section{padding-left:1.5rem;padding-right:1.5rem}
  .split,.portrait-grid{grid-template-columns:1fr;gap:2.2rem}
  .cards,.proof{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:.5rem}
}
@media(max-width:580px){
  .home-hero h1{font-size:3.9rem}.home-hero .lead{font-size:.95rem}
  .actions{flex-direction:column;align-items:flex-start}.btn{width:100%}
  .hero-art{left:25%;opacity:.35}
  .service-grid{grid-template-columns:1fr;padding:0}.service-tile,.service-tile:first-child,.service-tile:nth-child(odd){border-left:0;border-right:0;border-bottom:1px solid var(--rule);padding-left:1.5rem;padding-right:1.5rem}
  .home-about{padding-top:4rem;padding-bottom:4rem}.about-heading h2{font-size:3rem}.home-context h2{font-size:3.2rem}
  .footer-grid{grid-template-columns:1fr}
  .page-hero h1{font-size:3.7rem}
}
/* High-trust proof bar */
.proof-strip{background:#f0ece6;border-bottom:1px solid var(--rule)}
.proof-strip-inner{max-width:1440px;margin:0 auto;padding:0 5vw;display:grid;grid-template-columns:repeat(5,1fr)}
.proof-strip-inner>div{padding:1.25rem 1.4rem;border-right:1px solid var(--rule)}
.proof-strip-inner>div:first-child{border-left:1px solid var(--rule)}
.proof-strip strong{display:block;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1.35rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.proof-strip span{display:block;margin-top:.18rem;font-size:.72rem;line-height:1.45;color:var(--muted)}
.proof-strip-about{background:#faf8f4}
@media(max-width:900px){
  .proof-strip-inner{grid-template-columns:1fr 1fr;padding:0 1.5rem}
  .proof-strip-inner>div,.proof-strip-inner>div:first-child{border-left:1px solid var(--rule);border-bottom:1px solid var(--rule)}
}
@media(max-width:580px){
  .proof-strip-inner{grid-template-columns:1fr;padding:0}
  .proof-strip-inner>div,.proof-strip-inner>div:first-child{border-left:0;border-right:0;padding-left:1.5rem;padding-right:1.5rem}
}
