*{margin:0;padding:0;box-sizing:border-box}
:root{--red:#e73121;--red-dark:#b82518;--red-light:#ff4d3a;--navy:#001f3f;--navy-mid:#002d5a;--cream:#FAF7F3;--offwhite:#F0EBE3;--white:#FFFFFF;--charcoal:#1E1E1E;--muted:#7A7470;--serif:'Playfair Display',Georgia,serif;--compressed:'Barlow Condensed','Arial Narrow',sans-serif;--sans:'DM Sans',sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--charcoal);background:var(--cream);font-weight:300;line-height:1.7;overflow-x:hidden}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 4rem;height:68px;background:var(--navy);border-bottom:3px solid var(--red)}
.nav-logo-wrap{display:flex;flex-direction:column;line-height:1}
.nav-logo{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--cream);text-decoration:none;letter-spacing:0.05em}
.nav-logo span{color:var(--red)}
.nav-tagline{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:rgba(250,247,243,0.35);line-height:1;margin-top:2px}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:var(--compressed);font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(250,247,243,0.5);text-decoration:none;transition:color 0.2s;font-weight:500}
.nav-links a:hover{color:var(--red)}
.btn{display:inline-block;padding:0.7rem 1.8rem;font-family:var(--compressed);font-size:0.85rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;transition:all 0.22s;cursor:pointer;border:none}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark)}
.btn-ghost{background:transparent;border:1.5px solid rgba(250,247,243,0.35);color:rgba(250,247,243,0.8)}.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-mid)}
.hero{min-height:100vh;display:grid;grid-template-columns:58% 42%;padding-top:68px}
.hero-left{background:var(--navy);display:flex;flex-direction:column;justify-content:center;padding:5rem 4.5rem;position:relative;overflow:hidden}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(231,49,33,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(231,49,33,0.07) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.hero-tagline-block{display:inline-flex;align-items:center;gap:0.8rem;margin-bottom:2.5rem;position:relative}
.hero-tagline-pill{background:var(--red);color:#fff;font-family:var(--compressed);font-size:0.72rem;letter-spacing:0.26em;text-transform:uppercase;padding:0.4rem 1rem;font-weight:700}
.hero-tagline-text{font-family:var(--compressed);font-size:0.72rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(250,247,243,0.35);font-weight:500}
.hero-h1{font-family:var(--serif);font-size:clamp(2.8rem,4.8vw,4.4rem);font-weight:700;line-height:1.06;color:var(--cream);position:relative;margin-bottom:2rem}
.hero-h1 em{font-style:italic;color:var(--red)}
.hero-sub{font-size:0.92rem;color:rgba(250,247,243,0.55);max-width:380px;line-height:1.85;position:relative;margin-bottom:3rem;font-weight:300}
.hero-cta{display:flex;align-items:center;gap:0.8rem;flex-wrap:wrap;position:relative}
.hero-right{background:var(--red);display:flex;flex-direction:column;overflow:hidden}
.hero-right-quote{flex:1;display:flex;align-items:center;padding:4rem 3.5rem;position:relative;overflow:hidden}
.hero-right-quote::before{content:'\201C';font-family:var(--serif);font-size:22rem;font-weight:700;color:rgba(0,31,63,0.18);position:absolute;top:-4rem;left:-1rem;line-height:1;pointer-events:none}
.hero-quote{position:relative;z-index:1;max-width:340px}
.hero-quote p{font-family:var(--serif);font-size:1.2rem;font-style:italic;font-weight:400;line-height:1.7;color:#fff;margin-bottom:1.2rem}
.hero-quote span{font-family:var(--compressed);font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.5);font-weight:500}
.hero-stats{background:var(--navy);padding:1.8rem 3.5rem;display:flex;gap:0}
.hero-stat{flex:1;padding:0 1.5rem;border-left:3px solid var(--red)}.hero-stat:first-child{padding-left:0;border-left:none}
.hero-stat-num{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--cream);line-height:1;display:block}
.hero-stat-label{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(250,247,243,0.35);font-weight:500}
.tagline-band{background:var(--red);padding:1.2rem 4rem;overflow:hidden;white-space:nowrap}
.tagline-band-inner{display:inline-flex;gap:4rem;animation:marquee 18s linear infinite}
.tagline-band-inner span{font-family:var(--compressed);font-size:0.95rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,255,255,0.9);font-weight:600}
.tagline-band-inner .dot{color:rgba(255,255,255,0.4)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.intro-strip{background:var(--charcoal);padding:3.5rem 4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.intro-item{padding:1.5rem 2.5rem;border-right:1px solid rgba(255,255,255,0.07)}.intro-item:first-child{padding-left:0}.intro-item:last-child{border-right:none}
.intro-dot{width:8px;height:8px;background:var(--red);margin-bottom:1rem}
.intro-label{font-family:var(--compressed);font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(250,247,243,0.35);margin-bottom:0.5rem;font-weight:600;display:block}
.intro-text{font-size:0.85rem;color:rgba(250,247,243,0.6);line-height:1.75}
.section-eyebrow{display:flex;align-items:center;gap:0.8rem;margin-bottom:0.8rem}
.section-eyebrow-line{width:28px;height:2px;background:var(--red);flex-shrink:0}
.section-eyebrow-text{font-family:var(--compressed);font-size:0.72rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--red);font-weight:600}
.section-title{font-family:var(--serif);font-size:clamp(2rem,3.2vw,2.8rem);font-weight:700;line-height:1.12;color:var(--navy);margin-bottom:0.4rem}
.section-title em{font-style:italic;color:var(--red)}
.section-subtitle{font-family:var(--compressed);font-size:1.1rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.services{background:var(--cream);padding:7rem 4rem}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3.5rem;border:1.5px solid var(--offwhite)}
.service-item{padding:2.5rem;border-right:1.5px solid var(--offwhite);border-bottom:1.5px solid var(--offwhite);background:var(--white);transition:all 0.28s;position:relative;overflow:hidden}
.service-item::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--red);transition:width 0.35s ease}
.service-item:hover::after{width:100%}
.service-item:hover{background:var(--navy)}.service-item:hover .service-title{color:var(--cream)}.service-item:hover .service-desc{color:rgba(250,247,243,0.5)}.service-item:hover .service-fee{color:var(--red)}.service-item:hover .service-num{color:rgba(255,255,255,0.06)}
.service-num{font-family:var(--serif);font-size:3rem;font-weight:700;color:var(--offwhite);position:absolute;top:1.2rem;right:1.5rem;line-height:1;transition:color 0.28s;pointer-events:none}
.service-tag{font-family:var(--compressed);font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:1rem;display:block}
.service-bar{width:24px;height:2.5px;background:var(--red);margin-bottom:1.2rem}
.service-title{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:0.7rem;transition:color 0.28s;line-height:1.25}
.service-desc{font-size:0.82rem;color:var(--muted);line-height:1.8;transition:color 0.28s}
.service-fee{margin-top:1.2rem;font-family:var(--compressed);font-size:0.75rem;letter-spacing:0.14em;color:var(--red);text-transform:uppercase;font-weight:600;transition:color 0.28s}
.process{background:var(--navy);padding:7rem 4rem}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3.5rem}
.step{padding:2.5rem 2rem;border-left:1px solid rgba(255,255,255,0.07)}.step:first-child{border-left:none;padding-left:0}
.step-num{font-family:var(--serif);font-size:3.8rem;font-weight:700;color:var(--red);line-height:1;margin-bottom:1rem;opacity:0.75}
.step-label{font-family:var(--compressed);font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(250,247,243,0.3);font-weight:600;margin-bottom:0.4rem;display:block}
.step-title{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--cream);margin-bottom:0.6rem}
.step-desc{font-size:0.8rem;color:rgba(250,247,243,0.45);line-height:1.75}
.projects{background:var(--offwhite);padding:7rem 4rem}

/* ═══════════════════════════════════════
   MASONRY GALLERY
   ─────────────────────────────────────
   To add a project: copy one .mg-item block
   in the HTML and update the image src,
   data-title, data-category, data-desc.
   Use data-size="tall" for portrait images,
   data-size="wide" for landscape hero shots,
   or omit for standard square.
═══════════════════════════════════════ */
.mg-grid{
  column-count:3;
  column-gap:12px;
  margin-top:3.5rem;
}
@media(max-width:900px){.mg-grid{column-count:2}}
@media(max-width:560px){.mg-grid{column-count:1}}
.mg-item{
  break-inside:avoid;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  margin-bottom:12px;
  display:block;
}
.mg-item img{
  width:100%;
  display:block;
  object-fit:cover;
  transition:transform 0.5s cubic-bezier(.25,.46,.45,.94);
}
.mg-item[data-size="tall"] img{aspect-ratio:3/4}
.mg-item[data-size="wide"] img{aspect-ratio:4/3}
.mg-item:not([data-size]) img{aspect-ratio:1/1}
.mg-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,31,63,0.92) 0%, rgba(0,31,63,0.3) 50%, transparent 100%);
  opacity:0;
  transition:opacity 0.35s;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.6rem 1.4rem;
}
.mg-item:hover .mg-overlay{opacity:1}
.mg-item:hover img{transform:scale(1.05)}
.mg-cat{
  font-family:var(--compressed);
  font-size:0.62rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--red);
  font-weight:600;
  margin-bottom:0.3rem;
  display:block;
}
.mg-title{
  font-family:var(--serif);
  font-size:1.1rem;
  font-weight:700;
  color:var(--cream);
  line-height:1.2;
  margin-bottom:0.8rem;
}
.mg-btn{
  display:inline-block;
  font-family:var(--compressed);
  font-size:0.68rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#fff;
  border:1px solid rgba(255,255,255,0.4);
  padding:0.4rem 0.9rem;
  transition:border-color 0.2s, background 0.2s;
  width:fit-content;
}
.mg-btn:hover{border-color:var(--red);background:var(--red)}

/* Lightbox */
.mg-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.96);z-index:200;flex-direction:column;align-items:center;justify-content:center;padding:1rem}
.mg-lb.open{display:flex}
.mg-lb-inner{display:flex;flex-direction:column;align-items:center;width:100%;max-width:960px}
.mg-lb-header{width:100%;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:1rem}
.mg-lb-meta{text-align:left}
.mg-lb-cat{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:0.25rem}
.mg-lb-title{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--cream)}
.mg-lb-close{background:none;border:none;color:rgba(255,255,255,0.4);font-size:2rem;cursor:pointer;transition:color 0.2s;line-height:1;flex-shrink:0}
.mg-lb-close:hover{color:var(--red)}
.mg-lb-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,0.1);width:100%}
.mg-lb-tab{font-family:var(--compressed);font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.35);padding:0.6rem 1.4rem;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all 0.2s;margin-bottom:-1px}
.mg-lb-tab:hover{color:rgba(255,255,255,0.7)}
.mg-lb-tab.active{color:var(--red);border-bottom-color:var(--red)}
.mg-lb-ba{display:flex;gap:0.5rem;margin-bottom:1rem;justify-content:center}
.mg-lb-ba-btn{font-family:var(--compressed);font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.4);padding:0.4rem 1.3rem;cursor:pointer;border:1px solid rgba(255,255,255,0.18);background:none;border-radius:999px;transition:all 0.2s}
.mg-lb-ba-btn:hover{color:rgba(255,255,255,0.85)}
.mg-lb-ba-btn.active{color:#fff;background:var(--red);border-color:var(--red)}
.mg-lb-stage{position:relative;width:100%;display:flex;align-items:center;justify-content:center}
.mg-lb-img{max-width:100%;max-height:62vh;object-fit:contain;display:block}
.mg-lb-nav{display:flex;align-items:center;gap:1.5rem;margin-top:1rem}
.mg-lb-btn{background:none;border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:1.4rem;padding:0.3rem 1rem;cursor:pointer;transition:border-color 0.2s;font-family:var(--serif);line-height:1}
.mg-lb-btn:hover{border-color:var(--red);color:var(--red)}
.mg-lb-ctr{font-family:var(--compressed);font-size:0.68rem;letter-spacing:0.14em;color:rgba(255,255,255,0.3);min-width:60px;text-align:center}
.mg-lb-caption{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-top:0.5rem;min-height:1em}
.mg-lb-desc{font-size:0.78rem;color:rgba(250,247,243,0.4);line-height:1.75;max-width:640px;text-align:center;margin-top:0.5rem}

/* ═══════════════════════════════════════
   CABINETRY SPECIALIST PORTFOLIO
═══════════════════════════════════════ */
.cabinetry{background:var(--navy);padding:7rem 4rem}
.cabinetry .section-eyebrow-text{color:var(--red)}
.cabinetry .section-eyebrow-line{background:var(--red)}
.cabinetry .sec-title{color:var(--cream)}
.cabinetry .sec-title em{color:var(--red)}
.cab-intro{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:rgba(250,247,243,0.45);margin-top:0.8rem}
.cab-grid{column-count:3;column-gap:10px;margin-top:3.5rem}
@media(max-width:900px){.cab-grid{column-count:2}}
@media(max-width:560px){.cab-grid{column-count:1}}
.cab-item{break-inside:avoid;position:relative;overflow:hidden;cursor:pointer;margin-bottom:10px;display:block;border:1px solid rgba(255,255,255,0.06)}
.cab-item img{width:100%;display:block;object-fit:cover;transition:transform 0.5s cubic-bezier(.25,.46,.45,.94);filter:brightness(0.92)}
.cab-item[data-size="tall"] img{aspect-ratio:3/4}
.cab-item[data-size="wide"] img{aspect-ratio:4/3}
.cab-item:not([data-size]) img{aspect-ratio:1/1}
.cab-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,31,63,0.95) 0%,rgba(0,31,63,0.2) 55%,transparent 100%);opacity:0;transition:opacity 0.35s;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem 1.2rem}
.cab-item:hover .cab-overlay{opacity:1}
.cab-item:hover img{transform:scale(1.05);filter:brightness(1)}
.cab-type{font-family:var(--compressed);font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:0.25rem;display:block}
.cab-name{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--cream);line-height:1.2;margin-bottom:0.7rem}
.cab-btn{display:inline-block;font-family:var(--compressed);font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,0.35);padding:0.35rem 0.8rem;transition:border-color 0.2s,background 0.2s;width:fit-content}
.cab-btn:hover{border-color:var(--red);background:var(--red)}

/* Cabinetry lightbox — reuses mg-lb styles with cab-lb prefix */
.cab-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.96);z-index:300;flex-direction:column;align-items:center;justify-content:center;padding:1rem}
.cab-lb.open{display:flex}
.cab-lb-inner{display:flex;flex-direction:column;align-items:center;width:100%;max-width:960px}
.cab-lb-header{width:100%;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}
.cab-lb-meta{text-align:left}
.cab-lb-cat{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:0.25rem}
.cab-lb-title{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--cream)}
.cab-lb-close{background:none;border:none;color:rgba(255,255,255,0.4);font-size:2rem;cursor:pointer;transition:color 0.2s;line-height:1}
.cab-lb-close:hover{color:var(--red)}
.cab-lb-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,0.1);width:100%}
.cab-lb-tab{font-family:var(--compressed);font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.35);padding:0.6rem 1.4rem;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all 0.2s;margin-bottom:-1px}
.cab-lb-tab:hover{color:rgba(255,255,255,0.7)}
.cab-lb-tab.active{color:var(--red);border-bottom-color:var(--red)}
.cab-lb-img{max-width:100%;max-height:64vh;object-fit:contain;display:block}
.cab-lb-nav{display:flex;align-items:center;gap:1.5rem;margin-top:1rem}
.cab-lb-btn{background:none;border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:1.4rem;padding:0.3rem 1rem;cursor:pointer;transition:border-color 0.2s;font-family:var(--serif);line-height:1}
.cab-lb-btn:hover{border-color:var(--red);color:var(--red)}
.cab-lb-ctr{font-family:var(--compressed);font-size:0.68rem;letter-spacing:0.14em;color:rgba(255,255,255,0.3);min-width:60px;text-align:center}
.cab-lb-caption{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-top:0.5rem;min-height:1em}
.cab-lb-desc{font-size:0.78rem;color:rgba(250,247,243,0.4);line-height:1.75;max-width:640px;text-align:center;margin-top:0.5rem}

.testimonials{background:var(--navy);padding:7rem 4rem}
.testimonials-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3.5rem}
.testimonial{padding:2.5rem;border-top:3px solid var(--red);background:rgba(255,255,255,0.04)}
.testimonial-mark{font-family:var(--serif);font-size:4.5rem;color:var(--red);line-height:0.75;margin-bottom:1rem;font-weight:700}
.testimonial-quote{font-family:var(--serif);font-size:1.05rem;font-style:italic;line-height:1.8;color:rgba(250,247,243,0.82);margin-bottom:1.5rem}
.testimonial-attr{font-family:var(--compressed);font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(250,247,243,0.35);font-weight:500}
.about{background:var(--cream);padding:7rem 4rem}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.about-badge{display:inline-flex;align-items:center;gap:0.6rem;background:var(--navy);color:var(--cream);padding:0.55rem 1.1rem;font-family:var(--compressed);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;margin-bottom:2rem}
.about-badge::before{content:'';width:7px;height:7px;background:var(--red);flex-shrink:0}
.about-body{font-size:0.9rem;color:var(--muted);line-height:1.9;margin-bottom:1.4rem}
.about-signature{font-family:var(--serif);font-size:2.2rem;font-style:italic;color:var(--red);margin-top:1rem;line-height:1}
.about-abn{font-family:var(--compressed);font-size:0.68rem;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;margin-top:0.5rem;font-weight:500}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--offwhite)}
.pillar{padding:1.8rem;border-right:1.5px solid var(--offwhite);border-bottom:1.5px solid var(--offwhite);background:var(--white)}
.pillar:nth-child(even){border-right:none}.pillar:nth-child(3),.pillar:nth-child(4){border-bottom:none}
.pillar-bar{width:20px;height:2.5px;background:var(--red);margin-bottom:1rem}
.pillar-title{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem}
.pillar-text{font-size:0.78rem;color:var(--muted);line-height:1.7}
.contact{background:var(--red);padding:7rem 4rem;position:relative;overflow:hidden}
.contact::after{content:'LAYOUT';font-family:var(--serif);font-size:16rem;font-weight:700;font-style:italic;color:rgba(0,0,0,0.07);position:absolute;bottom:-3rem;right:-2rem;line-height:1;pointer-events:none;white-space:nowrap}
.contact-inner{max-width:700px;position:relative;z-index:1}
.contact-pre{font-family:var(--compressed);font-size:0.72rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,255,255,0.5);font-weight:600;display:block;margin-bottom:1rem}
.contact-title{font-family:var(--serif);font-size:clamp(2.5rem,5vw,3.8rem);font-weight:700;color:#fff;line-height:1.08;margin-bottom:1.5rem}
.contact-title em{font-style:italic;color:var(--navy)}
.contact-sub{font-size:0.92rem;color:rgba(255,255,255,0.65);margin-bottom:3rem;max-width:460px;line-height:1.85}
.contact-details{display:flex;gap:4rem;margin-top:4rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,0.2)}
.contact-item-label{font-family:var(--compressed);font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:0.4rem;font-weight:600}
.contact-item-val{font-size:0.9rem;color:rgba(255,255,255,0.85)}
.contact-item-val a{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer{background:var(--navy);padding:2rem 4rem;display:flex;align-items:center;justify-content:space-between;border-top:3px solid var(--red)}
.footer-left{font-size:0.7rem;color:rgba(250,247,243,0.25);letter-spacing:0.06em}
.footer-brand{display:flex;flex-direction:column;align-items:flex-end}
.footer-brand-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:rgba(250,247,243,0.4);letter-spacing:0.08em}
.footer-brand-name span{color:var(--red)}
.footer-brand-tag{font-family:var(--compressed);font-size:0.58rem;letter-spacing:0.24em;text-transform:uppercase;color:rgba(250,247,243,0.2);font-weight:500}



.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--navy,#001F3F);transition:transform .2s,opacity .2s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:768px){
.nav-toggle{display:flex}
.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--cream,#faf7f3);max-height:0;overflow:hidden;transition:max-height .25s ease;gap:0;padding:0 1.5rem;box-shadow:0 8px 16px rgba(0,0,0,0.08)}
.nav-links.open{max-height:400px;padding:1rem 1.5rem}
.nav-links li{width:100%}
.nav-links a{display:block;padding:.85rem 0;border-bottom:1px solid rgba(0,0,0,0.06)}
nav{position:relative}
}
@media(max-width:768px){nav{padding:0 1.5rem}.hero{grid-template-columns:1fr}.hero-left{padding:4.5rem 1.5rem 3rem}.hero-right{display:none}.tagline-band{padding:1rem 1.5rem}.intro-strip{grid-template-columns:1fr;padding:2.5rem 1.5rem}.intro-item{border-right:none;border-bottom:1px solid rgba(255,255,255,0.07);padding:1.2rem 0}.services{padding:4rem 1.5rem}.services-grid{grid-template-columns:1fr}.process{padding:4rem 1.5rem}.process-steps{grid-template-columns:1fr 1fr}.projects{padding:4rem 1.5rem}.projects-grid{display:flex;flex-direction:column;gap:3rem;margin-top:3.5rem}.project-card.wide{grid-column:auto}.testimonials{padding:4rem 1.5rem}.testimonials-grid{grid-template-columns:1fr}.about{padding:4rem 1.5rem}.about-inner{grid-template-columns:1fr;gap:3rem}.about-pillars{grid-template-columns:1fr}.contact{padding:4rem 1.5rem}.contact-details{flex-direction:column;gap:1.5rem}footer{flex-direction:column;gap:1rem;text-align:center;padding:1.5rem}.footer-brand{align-items:center}}


.projects-grid{display:flex;flex-direction:column;gap:3rem;margin-top:3.5rem}
@media(max-width:1024px){.projects-grid{display:flex;flex-direction:column;gap:3rem;margin-top:3.5rem}}
@media(max-width:640px){.projects-grid{display:flex;flex-direction:column;gap:3rem;margin-top:3.5rem}}
.projects-grid>.project-card,[class*="project-card"]{border-radius:4px}


input::placeholder, textarea::placeholder { color: rgba(250,247,243,0.45); }
select option { color: var(--navy); }
.nav-links a.active{color:var(--red)}
