
:root{
  --bg:#f5f1ea;
  --surface:#ffffff;
  --surface-2:#efe7db;
  --text:#1f1d1a;
  --muted:#635b52;
  --line:rgba(43,36,29,.12);
  --accent:#8f6a45;
  --accent-dark:#6f4f31;
  --dark:#171411;
  --shadow:0 18px 50px rgba(20,15,10,.14);
  --radius:22px;
  --radius-sm:14px;
  --container:min(1180px, calc(100% - 40px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:var(--container);margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  backdrop-filter:blur(18px);
  background:rgba(245,241,234,.72);
  border-bottom:1px solid rgba(255,255,255,.4);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:82px;
}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:48px;height:48px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),#d2b18e);
  color:#fff;font-weight:800;letter-spacing:.08em
}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-copy small{color:var(--muted)}
.menu{display:flex;align-items:center;gap:26px;color:var(--muted);font-weight:600}
.menu a:hover{color:var(--text)}

.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:999px;
  background:var(--accent);color:#fff;font-weight:700;
  border:1px solid transparent;
  box-shadow:0 10px 25px rgba(111,79,49,.25);
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover{transform:translateY(-1px);background:var(--accent-dark)}
.button--ghost{
  background:transparent;color:var(--text);border-color:var(--line);box-shadow:none
}
.button--ghost:hover{background:#fff}
.button--small{padding:11px 18px}
.button--full{width:100%}

.hero{
  position:relative;
  min-height:82svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#111;
}
.hero-media{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(23,20,17,.20), rgba(23,20,17,.74)),
    url("assets/hero.webp") center/cover no-repeat;
  transform:scale(1.02);
}
.hero-content{
  position:relative;
  z-index:1;
  padding:110px 0 72px;
  color:#fff;
}
.eyebrow{
  display:inline-block;
  font-size:.85rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#ceb79b;
  margin-bottom:16px;
  font-weight:800;
}
.hero h1{
  font-size:clamp(2.7rem, 7vw, 5.5rem);
  line-height:.96;
  margin:0 0 18px;
  letter-spacing:-.04em;
  max-width:14ch;
}
.hero-text{
  max-width:760px;
  font-size:1.1rem;
  color:rgba(255,255,255,.88);
  margin:0;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 28px}
.hero-facts{
  display:flex;gap:12px;flex-wrap:wrap;
  list-style:none;padding:0;margin:0
}
.hero-facts li{
  padding:10px 14px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);border-radius:999px;
  font-size:.95rem;color:#f1e9df
}

.section{padding:92px 0}
.section--dark{background:var(--dark);color:#f8f2ea}
.section--accent{background:linear-gradient(180deg, #efe6d9, #f5f1ea)}
.section-head{
  display:flex;justify-content:space-between;gap:30px;align-items:end;
  margin-bottom:34px
}
.section-head h2{margin:4px 0 0;font-size:clamp(2rem,4vw,3rem);line-height:1.04}
.section-head p{max-width:520px;color:var(--muted);margin:0}
.section--dark .section-head p{color:rgba(248,242,234,.74)}

.intro-band{padding:0 0 30px;background:linear-gradient(180deg, transparent, rgba(255,255,255,.45))}
.intro-grid{
  margin-top:-44px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}
.intro-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.65);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:var(--shadow)
}
.stat{display:block;font-size:1.45rem;font-weight:900;color:var(--accent);margin-bottom:6px}

.services-grid,.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.service-card,.value-card,.check-card,.contact-card,.aside-card,.legal-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.service-card,.value-card{padding:24px}
.service-card h3,.value-card h3,.job-column h3,.check-card h3,.aside-card h3{margin:0 0 10px;font-size:1.2rem}
.service-card p,.value-card p,.job-column li,.check-card li,.aside-card p{color:var(--muted)}

.about-grid,.two-col,.contact-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center
}
.about-copy p{color:rgba(248,242,234,.78)}
.image-stack{
  position:relative;
  min-height:540px
}
.image-card{
  position:absolute;border-radius:28px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 60px rgba(0,0,0,.28)
}
.image-card img{width:100%;height:100%;object-fit:cover}
.image-card--large{inset:0 80px 70px 0}
.image-card--small{width:48%;height:42%;right:0;bottom:0}

.gallery-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:18px
}
.gallery-item{
  overflow:hidden;border-radius:24px;min-height:300px;
  box-shadow:var(--shadow)
}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item--wide{min-height:420px}

.check-grid,.job-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px
}
.check-card{padding:22px}
.check-card ul,.job-column ul{margin:0;padding-left:20px}
.cta-box{
  margin-top:20px;padding:22px;border-radius:var(--radius);
  background:#fff;border:1px solid var(--line)
}
.aside-card{padding:18px}
.aside-card img{border-radius:18px;margin-bottom:18px}

.job-grid{grid-template-columns:repeat(3,1fr)}
.job-column{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px;
}
.jobs-note{
  margin-top:18px;padding:24px;border-radius:24px;background:var(--dark);color:#f7f1e8
}

.contact-section{background:linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,.9))}
.contact-card{padding:26px}
.contact-item{padding:14px 0;border-bottom:1px solid var(--line)}
.contact-item:last-of-type{border-bottom:none}
.contact-item span{display:block;color:var(--muted);font-size:.95rem;margin-bottom:4px}
.contact-item a{font-size:1.1rem;font-weight:700}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

.site-footer{
  padding:28px 0;background:var(--dark);color:#f8f2ea
}
.footer-grid{
  display:flex;justify-content:space-between;gap:20px;align-items:center
}
.footer-grid p{margin:.35rem 0 0;color:rgba(248,242,234,.7)}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{color:rgba(248,242,234,.84)}

.legal-body{background:linear-gradient(180deg,#f7f3ec,#efe6d9)}
.legal-wrap{width:min(900px, calc(100% - 40px));margin:0 auto;padding:60px 0 90px}
.legal-wrap h1{font-size:clamp(2rem,4vw,3.3rem);margin:10px 0 24px}
.legal-card{padding:24px;margin-bottom:18px}
.legal-back{display:inline-flex;margin-bottom:18px;color:var(--muted)}

@media (max-width: 1080px){
  .services-grid,.values-grid,.job-grid,.gallery-grid,.intro-grid,.check-grid,
  .about-grid,.two-col,.contact-grid,.section-head{grid-template-columns:1fr}
  .section-head{align-items:start}
  .image-stack{min-height:420px}
  .gallery-item--wide{min-height:320px}
}
@media (max-width: 860px){
  .menu{display:none}
  .hero{min-height:auto}
  .hero-content{padding:96px 0 56px}
  .image-card--large{inset:0 40px 60px 0}
}
@media (max-width: 640px){
  .container{width:min(100% - 24px, 1180px)}
  .nav{min-height:74px}
  .brand-copy small{display:none}
  .button--small{display:none}
  .section{padding:74px 0}
  .intro-grid{margin-top:-24px}
  .hero h1{max-width:12ch}
  .image-stack{min-height:320px}
  .image-card--large{inset:0 24px 50px 0}
  .image-card--small{width:52%;height:38%}
  .footer-grid{flex-direction:column;align-items:flex-start}
}
