* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: #222;
  background: #f7f4ef;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, 92%); margin: 0 auto; }

.site-header {
  position: sticky; top: 0; z-index: 10;
  background: #fff; border-bottom: 1px solid #ddd6cc;
}
.nav { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.brand { margin-right: auto; display: flex; flex-direction: column; line-height: 1; }
.brand-main { font-size: 25px; font-weight: 900; letter-spacing: 3px; }
.brand-sub { font-size: 12px; letter-spacing: 2px; margin-top: 5px; }
nav { display: flex; gap: 24px; font-size: 14px; font-weight: 700; }
nav a:hover { text-decoration: underline; }
.nav-button, .button {
  display: inline-block; padding: 13px 21px; border-radius: 4px;
  font-weight: 800; border: 2px solid transparent; transition: .2s;
}
.nav-button { background: #9b5a25; color: #fff; }
.button.primary { background: #a45d25; color: white; }
.button.primary:hover, .nav-button:hover { background: #7d451c; }
.button.secondary { border-color: #fff; color: #fff; margin-left: 8px; }
.button.secondary:hover { background: #fff; color: #222; }

.hero {
  min-height: 650px; display: flex; align-items: center; position: relative;
  background:
    linear-gradient(90deg, rgba(28,20,14,.82), rgba(28,20,14,.48), rgba(28,20,14,.22)),
    linear-gradient(135deg, #6e4326, #bd8a55 50%, #ddd0bc);
  color: #fff;
}
.hero-content { position: relative; max-width: 760px; padding: 90px 0; }
.eyebrow { font-size: 13px; font-weight: 900; letter-spacing: 2.5px; margin: 0 0 13px; }
.eyebrow.dark { color: #a45d25; }
.hero h1 { font-size: clamp(42px, 7vw, 76px); line-height: .98; margin: 0 0 24px; max-width: 850px; }
.hero-text { font-size: 20px; max-width: 690px; margin-bottom: 32px; }
.hero-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.intro { background: #fff; padding: 70px 0; }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
h2 { font-size: clamp(34px, 5vw, 52px); line-height: 1.05; margin: 0 0 18px; }
.intro p:last-child { font-size: 19px; color: #5e584f; }

.section { padding: 90px 0; }
.section-heading { max-width: 720px; margin-bottom: 45px; }
.section-heading p:last-child { color: #6a655e; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card {
  background: #fff; padding: 30px; border: 1px solid #e1d9ce;
  border-radius: 7px; box-shadow: 0 8px 25px rgba(45,30,15,.05);
}
.card-icon {
  width: 48px; height: 48px; border-radius: 50%; background: #ead9c7;
  display: grid; place-items: center; font-weight: 900; color: #8d4e20; margin-bottom: 22px;
}
.card h3 { margin: 0 0 10px; font-size: 22px; }
.card p { margin: 0; color: #69645d; }

.delivery { background: #2f2924; color: #fff; padding: 90px 0; }
.delivery-grid { display: grid; grid-template-columns: 1.4fr .8fr; gap: 70px; align-items: center; }
.delivery h2 { max-width: 700px; }
.delivery p { color: #d7d0c9; max-width: 680px; }
.delivery-box { background: #443a33; border: 1px solid #62564c; padding: 38px; border-radius: 8px; }
.truck { font-size: 52px; margin-bottom: 12px; }

.about { background: #fff; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.about-image {
  min-height: 390px; border-radius: 8px;
  background: linear-gradient(145deg, #b77a43, #79502f);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #fff; letter-spacing: 5px;
}
.about-image span { font-size: 48px; font-weight: 900; }
.about-image small { letter-spacing: 2px; margin-top: 10px; }
.about p { color: #5f5a53; }

.quote-section { background: #171411; color: #fff; padding: 90px 0; }
.section-heading.light p:last-child { color: #c8c0b8; }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { font-weight: 800; font-size: 14px; }
input, select, textarea {
  width: 100%; padding: 14px 15px; border: 1px solid #5c534c; border-radius: 4px;
  background: #28231f; color: #fff; font: inherit;
}
textarea { resize: vertical; }
.submit { cursor: pointer; justify-self: start; border: 0; margin-top: 5px; }

.contact { padding: 80px 0; background: #f0e9e0; }
.contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; }
.contact-details { font-size: 17px; }
.contact-details strong { color: #8d4e20; }
.contact-details a { text-decoration: underline; }

footer { background: #111; color: #bdb7b1; padding: 24px 0; font-size: 13px; }
.footer-inner { display: flex; justify-content: space-between; gap: 20px; }

@media (max-width: 850px) {
  nav { display: none; }
  .nav-button { margin-left: auto; }
  .intro-grid, .delivery-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 35px; }
  .cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .nav { min-height: 68px; }
  .brand-main { font-size: 21px; }
  .nav-button { padding: 10px 13px; font-size: 13px; }
  .hero { min-height: 600px; }
  .hero h1 { font-size: 48px; }
  .hero-text { font-size: 17px; }
  .cards, .quote-form { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .button.secondary { margin-left: 0; }
  .footer-inner { flex-direction: column; }
}

/* Materials */
.materials-section { background: #f7f4ef; }
.material-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.material-card { background:#fff; border:1px solid #e0d8ce; border-radius:9px; overflow:hidden; box-shadow:0 10px 30px rgba(45,30,15,.07); }
.material-photo { min-height:285px; position:relative; display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; }
.material-photo::before { content:""; position:absolute; inset:0; z-index:-2; }
.material-photo::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(20,16,12,.75),rgba(20,16,12,0) 65%); }
.fill-dirt-photo::before { background:radial-gradient(ellipse at 55% 72%,#654021 0 18%,transparent 19%),linear-gradient(150deg,#8e633c 0 45%,#6a4529 46% 100%); }
.topsoil-photo::before { background:radial-gradient(ellipse at 45% 65%,#3f2a1e 0 23%,transparent 24%),linear-gradient(150deg,#6f4930 0 48%,#35251d 49% 100%); }
.sand-photo::before { background:radial-gradient(ellipse at 50% 70%,#d9bd82 0 28%,transparent 29%),linear-gradient(150deg,#ead3a1 0 45%,#c6a46d 46% 100%); }
.clay-photo::before { background:radial-gradient(ellipse at 53% 70%,#9d4b20 0 25%,transparent 26%),linear-gradient(150deg,#c86a35 0 45%,#7f3519 46% 100%); }
.material-label { position:relative; margin:0 25px 22px; padding:9px 14px; border-left:4px solid #d9a43a; color:#fff; background:rgba(18,15,12,.72); font-size:24px; font-weight:900; letter-spacing:2px; }
.material-body { padding:27px 28px 30px; }
.material-body h3 { margin:0 0 9px; font-size:26px; }
.material-body p { margin:0 0 19px; color:#69635b; }
.material-link { color:#9b571f; font-weight:900; }
.material-link:hover { text-decoration:underline; }
.materials-note { margin-top:28px; padding:24px 27px; background:#2f2924; color:#fff; border-radius:8px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.materials-note span { color:#d5cec7; margin-right:auto; }
@media (max-width:850px) { .material-grid { grid-template-columns:1fr; } }

/* Pickup, Delivery & Hauling Services */
.services-section {
  padding: 95px 0;
  background: #fff;
}
.services-heading {
  max-width: 760px;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.service-card {
  position: relative;
  background: #f7f4ef;
  border: 1px solid #dfd6ca;
  border-radius: 9px;
  padding: 34px 30px 32px;
  overflow: hidden;
}
.service-card.featured-service {
  background: #2f2924;
  color: #fff;
  border-color: #2f2924;
}
.service-card.featured-service p {
  color: #d4cdc5;
}
.service-number {
  position: absolute;
  top: 18px;
  right: 22px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2px;
  color: #a45d25;
}
.service-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ead9c7;
  color: #8d4e20;
  font-size: 25px;
  font-weight: 900;
  margin-bottom: 25px;
}
.featured-service .service-icon {
  background: #5a493c;
  color: #e3ad4b;
}
.service-card h3 {
  margin: 0 0 12px;
  font-size: 27px;
}
.service-card p {
  color: #69635c;
  margin: 0 0 22px;
}
.service-banner {
  margin-top: 25px;
  padding: 30px 32px;
  background: #eee4d8;
  border-left: 5px solid #a45d25;
  border-radius: 7px;
  display: flex;
  align-items: center;
  gap: 30px;
}
.service-banner > div {
  flex: 1;
}
.service-banner h3 {
  font-size: 29px;
  margin: 0 0 7px;
}
.service-banner p:last-child {
  margin: 0;
  color: #665f57;
}
.service-banner .eyebrow {
  margin-bottom: 8px;
}

@media (max-width: 850px) {
  .service-grid {
    grid-template-columns: 1fr;
  }
  .service-banner {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Real material photos */
.material-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.material-photo::before {
  display: none;
}
.fill-dirt-photo img { object-position: center center; }
.topsoil-photo img { object-position: center center; }
.sand-photo img { object-position: center center; }
.clay-photo img { object-position: center center; }

/* Fix material photos visibility */
.material-photo {
  position: relative;
  isolation: isolate;
  background: #c8c0b8;
}
.material-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  display: block;
}
.material-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(20,16,12,.78), rgba(20,16,12,0) 65%);
  pointer-events: none;
}
.material-label {
  position: relative;
  z-index: 2;
}

/* Final material image fix */
.material-photo { position: relative !important; overflow: hidden; }
.material-photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  z-index: 0 !important;
}
.material-photo::after {
  z-index: 1 !important;
}
.material-label {
  position: relative !important;
  z-index: 2 !important;
}


/* Bilingual welcome and language controls */
.language-overlay {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  background: rgba(18,14,11,.88); backdrop-filter: blur(5px); padding: 24px;
}
.language-overlay.hidden { display: none; }
.language-card {
  width: min(560px, 100%); background: #fff; border-radius: 12px; padding: 46px;
  text-align: center; box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
.language-mark { font-size: 38px; font-weight: 900; letter-spacing: 5px; margin-bottom: 18px; }
.language-card h1 { font-size: clamp(30px, 6vw, 48px); line-height: 1.05; margin: 0 0 15px; }
.language-card > p:not(.eyebrow) { color: #686158; font-size: 17px; margin-bottom: 28px; }
.language-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.language-choice-button { border: 2px solid #dfd5c9; background: #f8f4ee; color: #26221e; border-radius: 6px; padding: 16px; font-size: 18px; font-weight: 900; cursor: pointer; }
.language-choice-button:hover { border-color: #a45d25; background: #fff; }
.language-switcher { display:flex; gap:5px; align-items:center; margin-left:auto; }
.language-switcher button { border:1px solid #d8d0c6; background:#fff; border-radius:4px; padding:7px 9px; font-size:12px; font-weight:800; cursor:pointer; }
.language-switcher button.active { background:#2f2924; color:#fff; border-color:#2f2924; }
@media (max-width: 850px) { .language-switcher { display:none; } }
@media (max-width: 560px) { .language-card { padding: 34px 22px; } .language-choice { grid-template-columns:1fr; } }

.language-choice-button:focus-visible, .language-switcher button:focus-visible { outline: 3px solid #d9a43a; outline-offset: 2px; }

/* V8 Home / bilingual business homepage */
.home-hero {
  position: relative;
  min-height: 590px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(31,24,18,.92), rgba(31,24,18,.62) 48%, rgba(31,24,18,.30)),
    radial-gradient(circle at 75% 35%, #a86c39 0, #654329 34%, #29231f 72%);
}
.home-hero-content {
  position: relative;
  z-index: 2;
  padding-top: 70px;
  padding-bottom: 70px;
  color: #fff;
  max-width: 900px;
}
.home-hero h1 {
  max-width: 800px;
  margin: 0 0 22px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .98;
  letter-spacing: -2px;
}
.home-hero .eyebrow { color: #e6b44d; }
.hero-copy {
  max-width: 670px;
  color: #eee5dc;
  font-size: 20px;
  line-height: 1.65;
  margin-bottom: 30px;
}
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.outline-light {
  border: 1px solid rgba(255,255,255,.65);
  color:#fff;
  background:transparent;
}
.outline-light:hover { background:#fff; color:#2f2924; }

.quick-services {
  background:#2f2924;
  color:#fff;
}
.quick-service-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.quick-service {
  padding:24px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  border-right:1px solid rgba(255,255,255,.12);
  color:#fff;
}
.quick-service:last-child { border-right:0; }
.quick-service:hover { background:#40372f; }
.quick-icon {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#5a493c;
  color:#e6b44d;
  font-weight:900;
}
.quick-service strong { display:block; font-size:16px; }
.quick-service small { display:block; color:#cfc6bd; margin-top:4px; }

.leadership-contact {
  padding:92px 0;
  background:#f7f4ef;
}
.leadership-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.leader-card {
  background:#fff;
  border:1px solid #ded6cd;
  border-radius:9px;
  padding:28px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  box-shadow:0 8px 25px rgba(45,30,15,.05);
}
.leader-title {
  margin:0 0 6px;
  color:#a45d25;
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
}
.leader-card h3 { margin:0 0 10px; font-size:28px; }
.leader-card a:not(.button) {
  display:block;
  color:#625b54;
  margin-top:5px;
}
.button.small { padding:11px 16px; white-space:nowrap; }

@media (max-width: 850px) {
  .quick-service-grid { grid-template-columns:1fr 1fr; }
  .quick-service { border-bottom:1px solid rgba(255,255,255,.12); }
  .leadership-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .home-hero { min-height:520px; }
  .home-hero h1 { font-size:43px; }
  .quick-service-grid { grid-template-columns:1fr; }
  .quick-service { border-right:0; }
  .leader-card { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 560px) {
  .language-card { padding: 38px 22px; }
  .language-buttons { grid-template-columns: 1fr; }
}

/* V13 Materials Showcase — polished four-card layout */
.materials-section { background:#fff; padding:78px 0 88px; }
.materials-showcase-heading { max-width:980px; text-align:center; margin:0 auto 42px; }
.materials-showcase-heading .eyebrow { margin-bottom:10px; }
.materials-showcase-heading h2 { font-size:clamp(36px,4.8vw,52px); margin-bottom:14px; }
.materials-showcase-heading p:last-child { max-width:900px; margin:0 auto; font-size:17px; line-height:1.55; color:#625c55; }
.material-showcase-grid { grid-template-columns:repeat(4,1fr); gap:22px; align-items:stretch; }
.showcase-card { border:1px solid #e6dfd6; border-radius:0; box-shadow:0 8px 22px rgba(45,30,15,.055); display:flex; flex-direction:column; }
.showcase-card .material-photo { min-height:205px; height:205px; border-radius:0; }
.showcase-card .material-photo::after { display:none; }
.showcase-card .material-body { padding:18px 15px 18px; display:flex; flex-direction:column; flex:1; }
.showcase-card .material-body h3 { font-size:23px; line-height:1.15; margin:0 0 12px; }
.showcase-card .material-body p { font-size:14px; line-height:1.45; margin:0 0 14px; color:#5e5a55; }
.uses-title { font-size:13px; margin-bottom:3px; }
.showcase-card ul { margin:0 0 18px; padding-left:19px; color:#514d48; font-size:13px; line-height:1.55; }
.material-quote-button { margin-top:auto; width:100%; text-align:center; padding:10px 9px; font-size:12px; border-radius:4px; }
@media (max-width:1050px) { .material-showcase-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .materials-section { padding:60px 0 68px; } .material-showcase-grid { grid-template-columns:1fr; } .showcase-card .material-photo { height:220px; } }


/* V14 Delivery / Pickup & Removal Showcase */
.services-showcase-section { background:#f7f4ef; padding:78px 0 88px; }
.service-hero { position:relative; min-height:350px; overflow:hidden; border-radius:10px; margin-bottom:30px; background:#2f2924; }
.service-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.service-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,20,16,.92),rgba(25,20,16,.66) 48%,rgba(25,20,16,.12)); }
.service-hero-content { position:relative; z-index:2; max-width:690px; color:#fff; padding:64px 56px; }
.service-hero-content h2 { font-size:clamp(42px,5.5vw,68px); line-height:.98; margin:0 0 16px; letter-spacing:-1.5px; }
.service-hero-content p:not(.eyebrow) { color:#eee6df; font-size:19px; line-height:1.55; margin:0 0 26px; max-width:600px; }
.service-showcase-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.service-showcase-card { background:#fff; border:1px solid #e3dbd1; box-shadow:0 8px 24px rgba(45,30,15,.06); }
.service-showcase-photo { height:245px; overflow:hidden; }
.service-showcase-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.service-showcase-body { padding:28px 30px 30px; }
.service-heading-row { display:flex; gap:16px; align-items:center; margin-bottom:18px; }
.service-heading-row .service-icon { flex:0 0 54px; margin:0; }
.service-heading-row h3 { margin:0 0 2px; font-size:31px; line-height:1.05; }
.service-heading-row span { color:#a45d25; font-weight:900; font-size:15px; }
.service-showcase-body > p { color:#5f5952; line-height:1.58; margin:0 0 18px; }
.service-checklist { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:9px; }
.service-checklist li { position:relative; padding-left:27px; color:#4f4a45; font-size:14px; }
.service-checklist li::before { content:'✓'; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%; display:grid; place-items:center; background:#a45d25; color:#fff; font-size:11px; font-weight:900; }
.service-full-button { width:100%; text-align:center; }
.hauling-strip { margin-top:25px; padding:28px 30px; background:#2f2924; color:#fff; display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; border-radius:8px; }
.hauling-strip-icon { width:56px; height:56px; border-radius:50%; background:#5a493c; color:#e6b44d; display:grid; place-items:center; font-size:26px; font-weight:900; }
.hauling-strip h3 { margin:0 0 6px; font-size:25px; }
.hauling-strip p:last-child { margin:0; color:#d4ccc4; line-height:1.5; }
.hauling-strip .button { white-space:nowrap; border:1px solid rgba(255,255,255,.35); color:#fff; }
.hauling-strip .button:hover { background:#fff; color:#2f2924; }
.service-note { margin-top:20px; padding:18px 22px; background:#eee4d8; border-left:4px solid #a45d25; color:#5c554e; line-height:1.5; }
.service-note strong { color:#2f2924; margin-right:5px; }
@media (max-width:850px) { .service-showcase-grid { grid-template-columns:1fr; } .hauling-strip { grid-template-columns:auto 1fr; } .hauling-strip .button { grid-column:2; justify-self:start; } }
@media (max-width:560px) { .service-hero { min-height:430px; } .service-hero-content { padding:48px 26px; } .service-hero-overlay { background:linear-gradient(90deg,rgba(25,20,16,.9),rgba(25,20,16,.62)); } .service-showcase-photo { height:220px; } .service-showcase-body { padding:24px 21px; } .hauling-strip { grid-template-columns:1fr; } .hauling-strip .button { grid-column:auto; width:100%; text-align:center; } }

/* V15 Professional Quote Form */
.quote-section { background:linear-gradient(135deg,#2b231d 0%,#3b2b20 100%); }
.quote-form { max-width:980px; margin:0 auto; background:#fff; color:#2f2924; padding:32px; border-radius:10px; box-shadow:0 18px 50px rgba(0,0,0,.22); }
.quote-form-intro { display:flex; align-items:center; gap:14px; padding:15px 17px; margin-bottom:24px; background:#f5eee6; border-left:4px solid #a45d25; }
.quote-form-badge { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#a45d25; color:#fff; font-weight:900; flex:0 0 34px; }
.quote-form-intro strong,.quote-form-intro span { display:block; }
.quote-form-intro strong { font-size:16px; margin-bottom:3px; }
.quote-form-intro span { color:#6a625a; font-size:13px; line-height:1.45; }
.quote-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.quote-form .field { display:flex; flex-direction:column; }
.quote-form .field.full { grid-column:1 / -1; }
.quote-form label { color:#39332d; font-size:13px; font-weight:800; margin-bottom:7px; }
.quote-form input,.quote-form select,.quote-form textarea { width:100%; box-sizing:border-box; border:1px solid #d8d0c8; background:#fff; color:#29241f; border-radius:5px; padding:13px 14px; font:inherit; outline:none; transition:border-color .15s,box-shadow .15s; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { border-color:#a45d25; box-shadow:0 0 0 3px rgba(164,93,37,.12); }
.quote-form textarea { resize:vertical; min-height:125px; }
.quote-form-note { margin:22px 0; padding:15px 17px; background:#f7f4ef; border:1px solid #e5ddd4; color:#5f5851; font-size:13px; line-height:1.5; }
.quote-form-note strong { color:#2f2924; display:block; margin-bottom:3px; }
.quote-form .submit { width:100%; margin-top:2px; padding:14px 20px; font-size:15px; }
@media (max-width:650px) { .quote-form { padding:22px 18px; } .quote-form-grid { grid-template-columns:1fr; } .quote-form .field.full { grid-column:auto; } }

/* About Sanco refresh */
.about-copy h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.25rem 0 1rem}
.about-copy>p{font-size:1.05rem;line-height:1.75}
.about-image{min-height:440px;background:linear-gradient(135deg,rgba(20,16,12,.2),rgba(20,16,12,.75)),url('images/delivery-hero.jpg') center/cover;border-radius:24px;display:flex;align-items:flex-end;padding:2rem;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.16)}
.about-image-overlay{color:#fff}.about-mark{display:block;font-size:3.5rem;font-weight:900;letter-spacing:.08em}.about-image-overlay strong{display:block;letter-spacing:.12em;font-size:.8rem;margin-top:.35rem}
.about-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 1.75rem}.about-highlights>div{padding:1rem;border:1px solid #ddd3c7;border-radius:14px;background:#faf7f2}.about-highlights strong,.about-highlights span{display:block}.about-highlights strong{font-size:1rem}.about-highlights span{font-size:.78rem;line-height:1.4;margin-top:.35rem;color:#665e56}
@media(max-width:760px){.about-highlights{grid-template-columns:1fr}.about-image{min-height:330px}}


/* v19 navigation and contact polish */
.nav nav { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.nav nav a { color:#1c1a18; font-weight:700; text-decoration:none; }
.nav nav a:hover { color:#9b5a25; }
.contact-details { display:grid; gap:18px; }
.contact-details p { margin:0; padding:18px 20px; background:#fff; border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.contact-details a { color:#8d4e20; }
.footer-inner { align-items:center; }
.footer-inner strong { color:#fff; font-size:16px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.footer-links a { color:#d7d0c9; text-decoration:none; }
.footer-links a:hover { color:#fff; }
@media (max-width: 860px) {
  .nav { gap:14px; flex-wrap:wrap; padding:10px 0; }
  .nav nav { order:3; width:100%; justify-content:center; gap:12px 18px; }
  .footer-inner { align-items:flex-start; }
}

/* v22 mobile experience */
.mobile-menu-toggle { display:none; border:0; background:#2f2924; width:44px; height:44px; border-radius:8px; padding:10px; cursor:pointer; }
.mobile-menu-toggle span { display:block; height:2px; background:#fff; margin:5px 0; border-radius:2px; transition:.2s; }
@media (max-width: 760px) {
  .site-header { position:sticky; top:0; z-index:50; }
  .nav { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:10px; padding:10px 16px; }
  .brand { min-width:0; }
  .brand-main { font-size:24px; }
  .brand-sub { font-size:10px; }
  .mobile-menu-toggle { display:block; }
  .nav nav { display:none; grid-column:1 / -1; order:initial; width:100%; padding:8px 0 4px; flex-direction:column; align-items:stretch; gap:0; background:#fff; }
  .nav nav.open { display:flex; }
  .nav nav a { padding:12px 8px; border-top:1px solid #eee7df; font-size:16px; }
  .language-switcher { display:flex; gap:6px; margin:0; }
  .language-switcher button { padding:9px 10px; font-size:12px; }
  .nav-button { padding:10px 12px; font-size:12px; white-space:nowrap; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .home-hero { min-height:620px; }
  .home-hero-content { padding:70px 22px 60px; }
  .home-hero-content h1 { font-size:clamp(38px,11vw,54px); }
  .hero-copy { font-size:16px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; box-sizing:border-box; text-align:center; }
  .section { padding-left:0; padding-right:0; }
  .section-heading h2 { font-size:clamp(30px,9vw,42px); }
  .material-showcase-grid, .service-showcase-grid { gap:16px; }
  .showcase-card .material-photo, .service-showcase-photo { height:220px; }
  .service-hero { border-radius:0; margin-left:-16px; margin-right:-16px; }
  .service-hero-content { padding:52px 24px; }
  .service-hero-content h2 { font-size:clamp(38px,11vw,54px); }
  .about-image { min-height:300px; border-radius:16px; }
  .quote-form { border-radius:8px; }
  .quote-form-grid { gap:14px; }
  .contact-details p { padding:16px; overflow-wrap:anywhere; }
  .footer-inner { display:flex; flex-direction:column; gap:18px; }
  .footer-links { gap:12px 18px; }
}
@media (max-width: 420px) {
  .nav { grid-template-columns:1fr auto; }
  .language-switcher { grid-column:1 / -1; justify-content:flex-end; }
  .nav-button { grid-column:1 / -1; width:100%; box-sizing:border-box; text-align:center; }
  .mobile-menu-toggle { grid-column:2; grid-row:1; }
  .brand { grid-column:1; grid-row:1; }
  .home-hero { min-height:650px; }
  .home-hero-content { padding-top:58px; }
  .quick-service-grid { grid-template-columns:1fr !important; }
  .quick-service { border-right:0; }
}
