@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@500;700;900&family=Work+Sans:wght@400;500;600;700&display=swap');

:root{
  --soil:#3a2b1e;
  --soil-light:#5a4632;
  --paper:#f1e6cc;
  --paper-deep:#e8d8ab;
  --rust:#a73b26;
  --rust-dark:#8a2e1c;
  --wheat:#c9a227;
  --steel:#4b5a60;
  --olive:#5b6b3f;
  --ink:#2a2118;
  --line:rgba(58,43,30,0.18);
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  font-family:'Work Sans', Arial, sans-serif;
  color:var(--ink);
  font-size:16px;
  line-height:1.55;
}
h1,h2,h3{ font-family:'Bitter', Georgia, serif; margin:0; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; }

/* ---- Site Header ---- */
header{
  background:var(--soil);
  border-bottom:3px solid var(--rust);
  position:sticky;
  top:0;
  z-index:100;
}
.header-inner{
  max-width:1240px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 28px;
  flex-wrap:wrap;
  gap:14px;
}
.logo{ display:flex; align-items:center; gap:12px; }
.logo-badge{
  width:50px;
  height:50px;
  border:2px solid var(--wheat);
  color:var(--wheat);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Bitter', serif;
  font-weight:700;
  font-size:12px;
  line-height:1.1;
  text-align:center;
}
.logo-text .brand{
  font-family:'Bitter', serif;
  font-size:22px;
  font-weight:700;
  color:var(--paper);
  line-height:1;
}
.logo-text .tag{
  font-size:11px;
  font-weight:500;
  letter-spacing:0.5px;
  color:var(--wheat);
  margin-top:2px;
}
nav ul{ list-style:none; display:flex; gap:30px; margin:0; padding:0; }
nav a{
  font-weight:500;
  font-size:15px;
  color:var(--paper);
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:border-color .15s, color .15s;
}
nav a:hover, nav a.active{
  color:var(--wheat);
  border-bottom-color:var(--wheat);
}
.header-cta{
  border:1px solid var(--wheat);
  color:var(--wheat);
  font-weight:600;
  font-size:14px;
  padding:8px 18px;
}
.header-cta:hover{ background:var(--wheat); color:var(--soil); }

/* ---- Dropdown nav for Products ---- */
.has-dropdown{ position:relative; }
.dropdown{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:var(--soil);
  border:1px solid var(--soil-light);
  min-width:230px;
  padding:4px 0;
  z-index:200;
}
.has-dropdown:hover .dropdown{ display:block; }
.dropdown a{
  display:block;
  padding:10px 18px;
  font-size:14px;
  font-weight:400;
  color:var(--paper);
  border-bottom:1px solid var(--soil-light);
}
.dropdown a:last-child{ border-bottom:none; }
.dropdown a:hover{ color:var(--wheat); }

/* ---- Hero banner ---- */
.banner{
  position:relative;
  width:100%;
  line-height:0;
}
.banner img{ width:100%; height:min(60vw, 480px); object-fit:cover; display:block; }
.banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg, rgba(42,33,24,0.92) 0%, rgba(42,33,24,0.35) 55%, rgba(42,33,24,0.05) 100%);
}
.hero-plate{
  position:absolute;
  left:0;
  bottom:0;
  max-width:640px;
  padding:32px 30px 30px;
  color:var(--paper);
  line-height:0;
}
.hero-plate .hero-eyebrow{
  font-family:'Work Sans', sans-serif;
  font-size:14px;
  font-weight:600;
  color:var(--wheat);
  line-height:1.4;
  display:block;
  margin-bottom:8px;
}
.hero-plate h1{
  font-size:clamp(30px, 5vw, 48px);
  font-weight:700;
  color:var(--paper);
  line-height:1.05;
}
.hero-plate .hero-price{
  font-family:'Work Sans', sans-serif;
  font-size:20px;
  font-weight:600;
  color:var(--wheat);
  display:block;
  margin-top:14px;
  line-height:1.4;
}
.hero-plate .hero-price small{
  font-weight:400;
  color:var(--paper-deep);
  font-size:14px;
}

/* ---- Page banner strip ---- */
.page-title-strip{
  background:var(--soil);
  color:var(--paper);
  padding:16px 30px;
  font-family:'Bitter', serif;
  font-size:20px;
  font-weight:700;
  border-bottom:3px solid var(--rust);
}

.sheet{
  max-width:1240px;
  margin:0 auto;
  padding:30px 28px 0;
}

/* ---- Intro / SEO copy block ---- */
.intro-copy{
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  max-width:760px;
  margin:0 0 30px;
  padding-left:18px;
  border-left:3px solid var(--rust);
}
.intro-copy strong{ color:var(--rust-dark); }

/* ---- Products section (below banner) ---- */
.products-section{
  max-width:1240px;
  margin:36px auto 0;
  padding:0 28px;
}
.section-banner{
  font-family:'Bitter', serif;
  font-size:24px;
  font-weight:700;
  color:var(--soil);
  padding-bottom:10px;
  margin-bottom:24px;
  border-bottom:3px solid var(--rust);
  display:inline-block;
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.product-card{
  background:var(--paper);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  text-align:left;
  transition:background .15s;
}
.product-card:hover{ background:var(--paper-deep); }
.product-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}
.product-card .product-body{ padding:18px 18px 22px; }
.product-card h3{
  font-size:17px;
  color:var(--soil);
  margin:0 0 8px;
  font-weight:700;
}
.product-card p{
  font-size:14px;
  color:var(--soil-light);
  margin:0 0 14px;
  line-height:1.5;
}
.product-card a.view-btn{
  display:inline-block;
  border:1px solid var(--rust);
  color:var(--rust);
  font-size:13px;
  font-weight:600;
  padding:7px 16px;
}
.product-card a.view-btn:hover{ background:var(--rust); color:var(--paper); }

/* ---- Model title row ---- */
.top-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:26px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;
  gap:14px;
}
.spec-banner{
  font-family:'Bitter', serif;
  color:var(--soil);
  font-weight:700;
  font-size:20px;
}
.model-title{ text-align:right; }
.model-title .model-no{
  color:var(--steel);
  font-weight:600;
  font-size:16px;
  letter-spacing:1px;
}
.model-title .model-name{
  font-family:'Bitter', serif;
  color:var(--rust-dark);
  font-weight:900;
  font-size:42px;
  line-height:1;
  margin:4px 0;
}
.model-title .model-sub{
  color:var(--soil-light);
  font-weight:500;
  font-size:14px;
  letter-spacing:1px;
}

/* ---- Spec tables (ledger style) ---- */
.tables-row{ display:flex; gap:34px; flex-wrap:wrap; }
.spec-table{ flex:1; min-width:320px; border-collapse:collapse; width:100%; }
.spec-table td{ border-bottom:1px solid var(--line); padding:9px 4px; font-size:14px; }
.spec-table tr:nth-child(odd) td{ background:var(--paper-deep); }
.spec-table td.label{ font-weight:600; width:48%; color:var(--soil); }
.spec-table tr.section-head td{
  background:var(--soil);
  color:var(--paper);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.3px;
  padding:8px 10px;
}
.spec-table tr.section-head td.label{ font-weight:700; }

.footnote{ font-size:12px; color:var(--soil-light); margin-top:12px; line-height:1.5; }

/* ---- Price / warranty snippet ---- */
.product-snippet{
  border:1px solid var(--line);
  border-left:4px solid var(--wheat);
  padding:18px 20px;
  margin:26px 0;
  background:var(--paper-deep);
}
.product-snippet .price{
  font-family:'Bitter', serif;
  font-size:22px;
  font-weight:700;
  margin:0 0 10px;
  color:var(--rust-dark);
}
.product-snippet .price span{ font-family:'Work Sans', sans-serif; font-weight:400; font-size:13px; color:var(--soil-light); }
.product-snippet ul{ margin:0; padding-left:18px; font-size:14px; color:var(--soil); }
.product-snippet ul li{ margin-bottom:6px; }

/* ---- Features section ---- */
.features-banner{
  font-family:'Bitter', serif;
  color:var(--soil);
  font-weight:700;
  font-size:22px;
  padding-bottom:10px;
  margin:36px 0 20px;
  border-bottom:3px solid var(--rust);
  display:inline-block;
}
.features-wrap{ display:flex; gap:30px; flex-wrap:wrap; }
.features-list{ flex:1; min-width:280px; list-style:none; padding:0; margin:0; font-size:15px; }
.features-list li{ position:relative; padding-left:20px; margin-bottom:11px; color:var(--ink); }
.features-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:8px;
  height:8px;
  background:var(--rust);
}

/* ---- Image gallery ---- */
.gallery{ flex:1; min-width:320px; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.photo-card{ text-align:left; background:var(--paper); }
.photo-card img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}
.photo-card figcaption{ font-size:13px; font-weight:600; padding:8px 10px; color:var(--soil); }

/* ---- Contact Us section ---- */
.contact-section{
  max-width:1240px;
  margin:40px auto 0;
  padding:0 28px 10px;
}
.contact-wrap{
  display:flex;
  gap:0;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.contact-details{
  flex:1;
  min-width:280px;
  background:var(--paper-deep);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px;
  font-size:14px;
  line-height:1.8;
}
.contact-details h3{ font-size:19px; color:var(--soil); margin-bottom:10px; }
.contact-details .call-btn{
  border:1px solid var(--rust);
  color:var(--rust);
  padding:7px 16px;
  font-weight:600;
  display:inline-block;
  margin-top:8px;
}
.contact-details .call-btn:hover{ background:var(--rust); color:var(--paper); }
.contact-form{
  flex:1;
  min-width:280px;
  background:var(--paper);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px;
}
.contact-form h3{ font-size:19px; color:var(--soil); margin-bottom:12px; }
.contact-form label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--soil);
  margin:12px 0 5px;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:9px 10px;
  border:1px solid var(--steel);
  background:#fff;
  font-size:14px;
  font-family:inherit;
}
.contact-form textarea{ min-height:90px; resize:vertical; }
.contact-form button{
  margin-top:16px;
  background:var(--rust);
  color:var(--paper);
  border:none;
  padding:11px 24px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
}
.contact-form button:hover{ background:var(--rust-dark); }
.contact-map{
  margin-top:20px;
  border:1px solid var(--line);
}
.contact-map iframe{ width:100%; height:260px; border:0; display:block; filter:sepia(15%) saturate(80%); }

/* ---- Footer ---- */
footer{ background:var(--soil); margin-top:40px; border-top:3px solid var(--rust); }
.footer-inner{
  max-width:1240px;
  margin:0 auto;
  padding:26px 28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
}
.footer-brand{ display:flex; align-items:center; gap:10px; }
.footer-logo-text .new-tag{
  background:var(--rust);
  color:var(--paper);
  font-size:11px;
  font-weight:600;
  padding:2px 9px;
  display:inline-block;
  margin-bottom:6px;
}
.footer-logo-text .brand-name{
  font-family:'Bitter', serif;
  font-size:28px;
  font-weight:700;
  color:var(--paper);
  letter-spacing:0.5px;
}
.footer-logo-text .brand-sub{
  font-size:12px;
  font-weight:500;
  letter-spacing:1.5px;
  color:var(--wheat);
}
.footer-logo-text .iso{ font-size:10px; color:var(--paper-deep); margin-top:4px; }
.footer-contact{ font-size:14px; color:var(--paper); line-height:1.7; }
.footer-contact strong{ color:#fff; }
.footer-contact .call-btn{
  border:1px solid var(--wheat);
  color:var(--wheat);
  padding:6px 14px;
  font-weight:600;
  display:inline-block;
  margin-top:6px;
}
.dealer-box{
  border:1px solid var(--soil-light);
  padding:16px 30px;
  font-size:13px;
  color:var(--paper-deep);
  text-align:center;
  min-width:180px;
}
.bottom-bar{ background:var(--soil-light); color:var(--paper-deep); text-align:center; font-size:12px; padding:12px; }

@media (max-width:700px){
  .model-title{text-align:left;}
  .footer-inner{flex-direction:column; align-items:flex-start;}
  nav ul{ gap:18px; flex-wrap:wrap; }
  .hero-plate{ padding:24px 20px; }
}
