:root {
  --bg: #f6f3ee;
  --bg-soft: #fbf9f6;
  --panel: #ffffff;
  --panel-soft: rgba(255,255,255,.82);
  --line: #e7dfd8;
  --text: #111827;
  --muted: #5f6678;
  --shadow-soft: 0 18px 45px rgba(17, 24, 39, 0.06);
  --shadow-card: 0 18px 42px rgba(17, 24, 39, 0.08);
}
html { scroll-behavior: smooth; }
body {
  color: var(--text);
  background: radial-gradient(circle at top left, rgba(255,255,255,.95) 0%, rgba(255,255,255,0) 28%), linear-gradient(180deg, #faf7f4 0%, #f5f0eb 100%);
}
.site-shell { min-height: 100vh; background: radial-gradient(circle at 78% 18%, rgba(201,154,84,0.12), transparent 18%); }
.hero-section { padding: 4.25rem 0 3.25rem; }
.hero-grid { display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(320px, .95fr); gap:3rem; align-items:center; }
.hero-eyebrow { display:inline-flex; align-items:center; margin-bottom:1rem; padding:.55rem .85rem; border-radius:999px; background:rgba(255,248,232,.92); border:1px solid #ead8a0; color:#8b6a0c; font-size:.92rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hero-title { margin:0; font-size:clamp(2.85rem, 5vw, 5rem); line-height:1.01; letter-spacing:-.055em; font-weight:800; max-width:11.5ch; }
.hero-copy { margin:1.5rem 0 2rem; font-size:clamp(1.04rem, 1.7vw, 1.3rem); line-height:1.72; color:var(--muted); max-width:40rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:1.25rem; }
.hero-actions--compact { margin-bottom:0; }
.btn-brand,.btn-soft { padding:1rem 1.65rem; font-weight:700; border-width:1px; font-size:1.02rem; box-shadow:none; }
.btn-brand { background:var(--brand-accent, #C99A54); border-color:var(--brand-accent, #C99A54); color:#111827; }
.btn-brand:hover,.btn-brand:focus { filter:brightness(.96); color:#111827; }
.btn-soft { background:var(--panel); border-color:var(--line); color:var(--text); }
.btn-soft:hover,.btn-soft:focus { background:#f7f4ef; border-color:#ddd3c8; color:var(--text); }
.mini-points,.advantage-list,.hero-proof-row { display:flex; flex-wrap:wrap; gap:.85rem; }
.mini-points span,.advantage-list span,.hero-proof-row span { display:inline-flex; align-items:center; min-height:3rem; padding:.7rem 1.1rem; border-radius:999px; background:rgba(255,255,255,.82); border:1px solid var(--line); color:#26314f; font-weight:700; font-size:.98rem; box-shadow:0 6px 18px rgba(17,24,39,.03); }
.hero-visual-card { background:rgba(255,255,255,.9); border:1px solid rgba(231,223,216,.95); border-radius:2rem; box-shadow:var(--shadow-card); padding:1.5rem; min-height:450px; display:flex; flex-direction:column; justify-content:space-between; backdrop-filter:blur(8px); }
.hero-visual-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.hero-visual-card__label { color:var(--muted); font-size:.9rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.hero-visual-card__title { font-size:1.45rem; font-weight:800; letter-spacing:-.03em; margin-top:.25rem; }
.hero-visual-card__badge { border-radius:999px; padding:.65rem .95rem; background:#f7f0e5; color:#8b6a0c; font-weight:800; }
.hero-stat-grid { display:grid; gap:1rem; margin:1.2rem 0 1.3rem; }
.hero-stat { border:1px solid var(--line); border-radius:1.25rem; padding:1rem 1.05rem; background:#fff; }
.hero-stat__title { font-weight:800; margin-bottom:.35rem; }
.hero-stat__text { color:var(--muted); line-height:1.6; }
.services-section,.works-section,.trust-section { padding: 0 0 3.75rem; }
.split-shell { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr); gap:1.5rem; align-items:start; }
.section-copy { max-width:50rem; margin-bottom:1.35rem; }
.section-title { margin:0 0 1rem; font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.08; letter-spacing:-.04em; font-weight:800; }
.section-intro { margin:0; color:var(--muted); font-size:1.05rem; line-height:1.7; }
.service-grid,.work-grid { display:grid; gap:1rem; }
.service-grid--three { grid-template-columns:repeat(3, minmax(0,1fr)); }
.service-card,.work-card,.trust-card { background:rgba(255,255,255,.86); border:1px solid rgba(231,223,216,.95); border-radius:1.6rem; box-shadow:var(--shadow-card); backdrop-filter:blur(8px); }
.service-card { padding:1.5rem 1.35rem; }
.service-icon { width:3.25rem; height:3.25rem; border-radius:1rem; display:grid; place-items:center; margin-bottom:1rem; color:#111827; background:#f8f2e7; font-size:1rem; font-weight:800; }
.service-card h3,.work-card h3,.trust-cta h3 { margin:0 0 .8rem; font-size:1.25rem; line-height:1.35; font-weight:800; color:var(--text); }
.service-card p,.work-card p,.trust-cta p { margin:0; color:var(--muted); font-size:1rem; line-height:1.65; }
.work-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.work-card { padding:1.35rem 1.2rem; }
.trust-card { padding:1.6rem; display:grid; grid-template-columns:1.05fr .95fr; gap:1.2rem; align-items:center; }
@media (max-width: 991px) {
  .hero-grid,.service-grid--three,.work-grid,.split-shell,.trust-card { grid-template-columns:1fr; }
  .hero-section { padding-top:3rem; }
  .hero-visual-card { min-height:auto; }
}
@media (max-width: 575px) {
  .site-shell {
    background: linear-gradient(180deg, #fbf8f4 0%, #f5f0eb 100%);
  }
  .hero-section {
    padding: 2.1rem 0 2.35rem;
  }
  .hero-title {
    max-width: 100%;
    font-size: clamp(2.25rem, 12vw, 3.2rem);
    letter-spacing: -.045em;
  }
  .hero-copy {
    margin: 1.05rem 0 1.35rem;
    font-size: 1rem;
    line-height: 1.62;
  }
  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
  }
  .btn-brand,
  .btn-soft {
    width: 100%;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .85rem 1rem;
  }
  .mini-points,
  .advantage-list,
  .hero-proof-row {
    gap: .55rem;
  }
  .mini-points span,
  .advantage-list span,
  .hero-proof-row span {
    min-height: 2.55rem;
    padding: .55rem .78rem;
    font-size: .9rem;
  }
  .hero-visual-card,
  .service-card,
  .work-card,
  .trust-card {
    border-radius: 1.25rem;
  }
  .section-title {
    font-size: clamp(1.8rem, 9vw, 2.35rem);
  }
}
