:root {
  --ink: #080909;
  --ink-2: #111212;
  --ink-3: #1a1b1b;
  --paper: #f5f1e8;
  --white: #fffdf8;
  --muted: #b8b5ae;
  --gold: #c99829;
  --gold-light: #e0b84f;
  --gold-dark: #8f6324;
  --line: rgba(255,255,255,.12);
  --shadow: 0 24px 80px rgba(0,0,0,.38);
  --radius: 22px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display:block; max-width:100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.container { width:min(calc(100% - 40px), var(--max)); margin-inline:auto; }
.eyebrow { color:var(--gold-light); text-transform:uppercase; letter-spacing:.18em; font-weight:800; font-size:.78rem; }
.display { font-size:clamp(2.8rem,7vw,6.5rem); line-height:.91; letter-spacing:-.055em; margin:.2em 0; font-weight:850; }
.section-title { font-size:clamp(2.1rem,4.2vw,4.25rem); line-height:1; letter-spacing:-.045em; margin:.25em 0 .4em; }
.lead { color:#d2cfc7; font-size:clamp(1.05rem,1.6vw,1.25rem); max-width:66ch; }
.muted { color: var(--muted); }
.gold { color:var(--gold-light); }

.site-header {
  position:fixed; inset:0 0 auto; z-index:1000;
  background:linear-gradient(180deg, rgba(8,9,9,.95), rgba(8,9,9,.75) 75%, transparent);
  transition:.25s ease;
}
.site-header.scrolled { background:rgba(8,9,9,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.nav { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; min-width:0; }
.brand img { width:56px; height:66px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { letter-spacing:.1em; font-size:.95rem; }
.brand-copy span { margin-top:5px; color:var(--gold-light); letter-spacing:.19em; font-size:.63rem; text-transform:uppercase; }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a { text-decoration:none; font-size:.93rem; color:#e8e5de; font-weight:650; }
.nav-links a:hover { color:var(--gold-light); }
.nav-cta { border:1px solid rgba(224,184,79,.65); padding:11px 17px; border-radius:999px; }
.nav-toggle { display:none; background:transparent; border:0; color:white; font-size:1.8rem; cursor:pointer; }

.hero { min-height:100svh; position:relative; display:grid; align-items:end; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background:url('../images/guys4.webp') center/cover no-repeat; transform:scale(1.015); }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 44%, rgba(0,0,0,.23) 70%, rgba(0,0,0,.18)), linear-gradient(0deg, rgba(8,9,9,1) 0%, transparent 40%); }
.hero-inner { position:relative; z-index:2; padding:180px 0 88px; max-width:890px; }
.hero p { max-width:700px; color:#ece9e2; font-size:clamp(1.08rem,1.7vw,1.32rem); }
.actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:0 22px; border-radius:999px; text-decoration:none; border:1px solid transparent; font-weight:800; letter-spacing:.01em; transition:.2s ease; cursor:pointer; }
.btn-primary { background:linear-gradient(135deg,var(--gold-light),var(--gold-dark)); color:#090909; box-shadow:none; }
.btn-primary:hover { transform:translateY(-2px); filter:brightness(1.04); }
.btn-ghost { border-color:rgba(255,255,255,.32); background:rgba(0,0,0,.2); color:white; }
.btn-ghost:hover { border-color:var(--gold-light); color:var(--gold-light); }

.proof-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#0d0e0e; }
.proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.proof-item { padding:23px 20px; border-right:1px solid var(--line); }
.proof-item:last-child { border-right:0; }
.proof-item strong { display:block; color:var(--gold-light); font-size:1.05rem; }
.proof-item span { color:#bbb8b0; font-size:.87rem; }

.section { padding:100px 0; }
.section-light { background:var(--paper); color:#121313; }
.section-light .lead, .section-light .muted { color:#5e5a53; }
.grid-2 { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.photo-card { position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); min-height:540px; }
.photo-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.photo-card::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); border-radius:inherit; pointer-events:none; }

.services { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; }
.service { padding:30px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#111212,#0b0c0c); min-height:205px; }
.service-num { color:var(--gold-light); font-weight:850; font-size:.82rem; letter-spacing:.14em; }
.service h3 { margin:28px 0 8px; font-size:1.3rem; }
.service p { margin:0; color:#aaa79f; font-size:.95rem; }

.projects-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; margin-top:42px; }
.project-card { position:relative; min-height:520px; border-radius:22px; overflow:hidden; text-decoration:none; background:#151515; box-shadow:var(--shadow); }
.project-card.small { min-height:251px; }
.project-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .45s ease; }
.project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.96) 0%, rgba(0,0,0,.72) 38%, rgba(0,0,0,.18) 78%); }
.project-card:hover img { transform:scale(1.035); }
.project-info { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; text-shadow:0 3px 18px rgba(0,0,0,.9); }
.project-info small { text-transform:uppercase; letter-spacing:.15em; color:#f1d58b; font-weight:800; }
.project-info h3 { margin:6px 0 0; font-size:clamp(1.5rem,2.4vw,2.2rem); color:#fffdf8; }
.project-stack { display:grid; gap:18px; }

.before-after { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ba-panel { position:relative; min-height:550px; overflow:hidden; border-radius:20px; background:#222; }
.ba-panel img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ba-label { position:absolute; left:18px; top:18px; z-index:3; background:rgba(8,9,9,.86); border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:8px 13px; text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:800; }

.gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:12px; margin-top:44px; }
.gallery figure { margin:0; min-height:270px; position:relative; overflow:hidden; border-radius:16px; background:#161616; }
.gallery figure:nth-child(1), .gallery figure:nth-child(4) { grid-column:span 7; }
.gallery figure:nth-child(2), .gallery figure:nth-child(3) { grid-column:span 5; }
.gallery figure:nth-child(5), .gallery figure:nth-child(6) { grid-column:span 6; }
.gallery img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .3s ease; }
.gallery figure:hover img { transform:scale(1.025); }

.quote-band { background:linear-gradient(115deg,#15120b,#090a0a 55%); border-top:1px solid rgba(224,184,79,.24); border-bottom:1px solid rgba(224,184,79,.24); }
.quote-band .container { padding-block:72px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.quote-band h2 { font-size:clamp(2rem,4vw,4rem); max-width:780px; margin:0; line-height:1.03; letter-spacing:-.045em; }

.page-hero { padding:180px 0 75px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 80% 20%, rgba(201,152,41,.14), transparent 35%), #090a0a; }
.page-hero .display { max-width:900px; }

.about-story { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.about-mark { position:sticky; top:125px; border:1px solid var(--line); border-radius:22px; padding:36px; background:#0e0f0f; }
.about-mark img { max-width:250px; margin:auto; }
.about-copy h2 { font-size:clamp(2rem,4vw,3.6rem); line-height:1.05; letter-spacing:-.04em; }
.about-copy p { color:#c6c2ba; font-size:1.08rem; }
.values { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:36px; }
.value { border-top:1px solid rgba(224,184,79,.36); padding-top:18px; }
.value strong { display:block; margin-bottom:6px; }
.value span { color:#aaa79f; }

.consult-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:44px; align-items:start; }
.consult-aside { position:sticky; top:125px; }
.form-card { background:#f6f2e9; color:#171717; border-radius:24px; padding:34px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:.83rem; font-weight:800; letter-spacing:.02em; }
.field input, .field select, .field textarea { width:100%; border:1px solid #cbc5b9; background:#fff; border-radius:12px; padding:13px 14px; color:#151515; outline:none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--gold-dark); box-shadow:0 0 0 3px rgba(201,152,41,.15); }
.field textarea { min-height:160px; resize:vertical; }
.form-note { color:#777168; font-size:.83rem; }
.success-card { max-width:720px; margin:30px auto 0; border:1px solid var(--line); background:#101111; border-radius:24px; padding:50px; text-align:center; }
.success-card img { width:130px; margin:0 auto 24px; }

.footer { padding:65px 0 30px; border-top:1px solid var(--line); background:#070808; }
.footer-grid { display:grid; grid-template-columns:1.1fr .8fr .8fr; gap:40px; }
.footer-brand img { width:100px; margin-bottom:14px; }
.footer h4 { color:var(--gold-light); margin:0 0 15px; text-transform:uppercase; letter-spacing:.13em; font-size:.75rem; }
.footer a { display:block; text-decoration:none; color:#bdb9b0; margin:7px 0; }
.footer a:hover { color:white; }
.footer-bottom { margin-top:48px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; color:#77756f; font-size:.82rem; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.on { opacity:1; transform:none; }

@media (max-width: 900px) {
  .nav-links { position:fixed; inset:86px 16px auto; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px; border:1px solid var(--line); border-radius:18px; background:#0c0d0d; box-shadow:var(--shadow); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:13px 14px; }
  .nav-toggle { display:block; }
  .grid-2, .about-story, .consult-layout { grid-template-columns:1fr; }
  .about-mark, .consult-aside { position:static; }
  .services { grid-template-columns:1fr 1fr; }
  .projects-grid { grid-template-columns:1fr; }
  .project-stack { grid-template-columns:1fr 1fr; }
  .project-card.small { min-height:310px; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-item:nth-child(2) { border-right:0; }
  .proof-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .gallery figure { grid-column:span 6 !important; }
  .quote-band .container { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .brand-copy { display:none; }
  .brand img { width:45px; height:58px; }
  .nav { min-height:74px; }
  .nav-links { inset:74px 12px auto; }
  .hero-inner { padding:145px 0 60px; }
  .hero::after { background:linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.48)), linear-gradient(0deg,rgba(8,9,9,1),transparent 45%); }
  .section { padding:72px 0; }
  .services, .project-stack, .before-after, .form-grid, .values { grid-template-columns:1fr; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-item { padding:18px 14px; }
  .project-card, .project-card.small { min-height:390px; }
  .ba-panel { min-height:430px; }
  .gallery { grid-template-columns:1fr; }
  .gallery figure { grid-column:auto !important; min-height:330px; }
  .form-card { padding:22px; border-radius:18px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; transition:none !important; }
  .reveal { opacity:1; transform:none; }
}

/* --- 2026 refinement pass --- */
.display, .section-title { font-weight: 720; }
.brand-horizontal img { width: 205px; height: 58px; object-fit: contain; object-position:left center; }
.brand-copy { display:none !important; }
.phone-link { color:var(--gold-light) !important; white-space:nowrap; }
.hero-luxury::before { background-image:url('../images/luxury-kitchen-wide.webp'); background-position:center 52%; }
.hero-contact { margin-top:28px; display:flex; gap:18px; align-items:center; color:#d6d1c7; font-weight:700; font-size:.9rem; }
.hero-contact a { color:var(--gold-light); text-decoration:none; }
.dark-eyebrow { color:var(--gold-dark) !important; }
.testimonials-section { background:#0b0c0c; }
.testimonials { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:42px; }
.testimonial { margin:0; padding:30px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#111212,#0a0b0b); }
.testimonial p { font-size:1.06rem; line-height:1.65; margin:0 0 24px; color:#ece9e2; }
.testimonial footer { color:var(--gold-light); font-size:.82rem; font-weight:750; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:42px; }
.process-step { border-top:2px solid #b98524; padding-top:22px; }
.process-step span { color:#8f6324; font-weight:850; letter-spacing:.12em; }
.process-step h3 { font-size:1.25rem; margin:12px 0 8px; }
.process-step p { color:#655f56; margin:0; }
.values-band { border-top:1px solid rgba(224,184,79,.22); border-bottom:1px solid rgba(224,184,79,.22); background:radial-gradient(circle at 20% 0,rgba(201,152,41,.14),transparent 38%),#0c0d0d; }
.values-band-inner { padding-block:75px; display:flex; justify-content:space-between; gap:55px; align-items:end; }
.values-band h2 { max-width:880px; margin:.25em 0; font-size:clamp(2rem,4vw,3.8rem); line-height:1.03; letter-spacing:-.04em; font-weight:700; }
.values-band p { color:#aaa79f; max-width:780px; }
.text-link { color:var(--gold-light); font-weight:800; white-space:nowrap; text-decoration:none; }
.about-contact { display:grid; gap:7px; margin-top:25px; border-top:1px solid var(--line); padding-top:22px; }
.about-contact a { color:var(--gold-light); text-decoration:none; font-weight:800; }
.about-contact span { color:#aaa79f; font-size:.85rem; }
.community-grid { display:grid; grid-template-columns:1fr .85fr; gap:70px; align-items:center; }
.community-photo { min-height:500px; }
.bilingual-band { padding:70px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.bilingual-band .container { display:flex; justify-content:space-between; gap:40px; align-items:center; }
.bilingual-band h2 { margin:.25em 0; font-size:clamp(2rem,4vw,3.4rem); font-weight:700; }
.bilingual-band p { color:#bbb7ae; margin:.2em 0; }
.bilingual-band .fr { color:var(--gold-light); }
.consult-title { font-size:clamp(2rem,4vw,3.7rem) !important; }
.contact-card { margin-top:30px; padding:22px; border:1px solid var(--line); border-radius:16px; display:grid; gap:7px; }
.contact-card span { color:#aaa79f; font-size:.85rem; }
.contact-card a { color:inherit; font-size:1rem; text-decoration:none; font-weight:700; }
.contact-card a:hover { color:var(--gold-light); }
.contact-card small { color:#918e87; }
.check { flex-direction:row !important; align-items:flex-start; gap:10px !important; }
.check input { width:auto !important; margin-top:4px; }
.footer-brand img { width:220px; max-height:65px; object-fit:contain; object-position:left center; }
.footer-phone { color:#bdb9b0 !important; font-size:1rem; font-weight:600; }
.micro { color:#817e77; font-size:.78rem; max-width:370px; }
.feature-gallery figure:nth-child(1), .feature-gallery figure:nth-child(4) { grid-column:span 6; }
.feature-gallery figure:nth-child(2), .feature-gallery figure:nth-child(3) { grid-column:span 6; }
@media(max-width:900px){ .testimonials{grid-template-columns:1fr;} .process-grid{grid-template-columns:1fr 1fr;} .community-grid{grid-template-columns:1fr;} .values-band-inner,.bilingual-band .container{align-items:flex-start;flex-direction:column;} .brand-horizontal img{width:180px;} .phone-link{display:none;} }
@media(max-width:620px){ .brand-horizontal img{width:155px;height:48px;} .process-grid{grid-template-columns:1fr;} .hero-contact{flex-direction:column;align-items:flex-start;gap:5px;} }

.journal-card { margin-top:28px; padding:26px; border:1px solid rgba(224,184,79,.28); border-radius:18px; background:#101111; }
.journal-card h3 { margin:.35em 0 .55em; font-size:1.35rem; }
.journal-card p { font-size:1rem; }

/* v5 consultation refinement */
.field textarea { min-height: 132px; }
