body {
  font-size: 16px;
  line-height: 1.55;
  background: linear-gradient(135deg, #faf8f3 0%, #f4f0e7 52%, #faf9f6 100%);
  -webkit-font-smoothing: antialiased;
}

.products,
.support {
  background: rgba(255,255,255,.34);
}

.topbar { font-size: 10px; }
.mainnav .links { font-size: 12px; }
.btn { font-size: 11px; }
.hero p { font-size: 15px; line-height: 1.65; }
.section-title a { font-size: 11px; }

.numbers {
  height: clamp(155px, 11vw, 190px);
  background: linear-gradient(105deg, #4b5435 0%, #5d6743 100%);
}

.numbers-inner {
  width: 100%;
  max-width: none;
  grid-template-columns: 66% 34%;
}

.number-grid {
  height: 100%;
  align-items: stretch;
  padding-left: max(28px, calc((100vw - 1240px) / 2));
}

.number-grid > div {
  min-width: 0;
  height: 100%;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.number-grid b {
  font-size: clamp(29px, 2.45vw, 40px);
  font-weight: 500;
  letter-spacing: -.035em;
}

.number-grid small {
  margin-top: 5px;
  display: block;
  font-size: clamp(10px, .85vw, 13px);
  line-height: 1.35;
}

.numbers img {
  height: 100%;
  object-position: center 72%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 30%, #000 100%);
}

.hero h1 {
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.02;
  text-transform: none;
}

.hero-slides,
.hero-slide {
  position: absolute;
  inset: 0;
}

.hero-slide {
  opacity: 0;
  transition: opacity .8s ease;
}

.hero-slide.active { opacity: 1; }

.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-copy h1,
.hero-copy p {
  transition: opacity .22s, transform .22s;
}

.hero-copy.changing h1,
.hero-copy.changing p {
  opacity: 0;
  transform: translateY(8px);
}

.slider-dots {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 16px;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}

.slider-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 1px solid #596040;
  border-radius: 50%;
  background: rgba(255,255,255,.8);
  cursor: pointer;
  transition: width .25s, border-radius .25s, background .25s;
}

.slider-dots button.active {
  width: 24px;
  border-radius: 8px;
  background: #596040;
}

.section-title h2,
.support h2,
.contact h2 {
  font-size: clamp(21px, 1.65vw, 27px);
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 700;
}

.support {
  display: block;
  padding-top: 32px;
  padding-bottom: 32px;
}

.support-card {
  grid-template-columns: 1fr 1fr;
  min-height: 410px;
}

.support-card > div {
  padding: 48px 55px;
}

.support-card > img {
  min-height: 410px;
}

.support-card > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.resources-card > div {
  justify-content: center;
}

.support-intro {
  margin: 8px 0 13px;
  color: #555d59;
  font-size: 11px;
  line-height: 1.5;
}

.dealer-card > img {
  object-position: center;
}

.dealer-card h2 {
  font-size: clamp(28px, 2.7vw, 42px);
}

.dealer-card p {
  max-width: 480px;
  font-size: 15px;
}

.dealer-card li {
  font-size: 14px;
}

.resource-strip {
  background: linear-gradient(105deg, #465034, #616b48);
  color: #fff;
}

.resource-strip > .wrap {
  min-height: 112px;
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  align-items: stretch;
}

.resource-strip-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 28px;
}

.resource-strip-title span {
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
}

.resource-strip-title small {
  margin-top: 5px;
  color: #dce0d3;
  font-size: 11px;
}

.resource-strip a {
  min-width: 0;
  padding: 20px 18px;
  border-left: 1px solid rgba(255,255,255,.24);
  display: flex;
  align-items: center;
  gap: 13px;
  transition: background .2s;
}

.resource-strip a:hover { background: rgba(255,255,255,.1); }
.resource-strip a i { font-style: normal; font-size: 22px; }
.resource-strip a span { min-width: 0; }
.resource-strip a b, .resource-strip a small { display: block; }
.resource-strip a b { font-size: 12px; text-transform: uppercase; }
.resource-strip a small { margin-top: 4px; color: #dce0d3; font-size: 10px; }
.resource-strip a strong { margin-left: auto; font-size: 18px; }

.resources-card > div > a:not(.support-btn) {
  padding: 10px 12px;
}

.resources-card a span b {
  font-size: 12px;
  letter-spacing: .025em;
}

.resources-card a span small {
  font-size: 11px;
  line-height: 1.45;
}

.support-btn {
  padding: 10px;
  font-size: 11px;
}

.dealer-card p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.65;
  color: #555d59;
}

.dealer-card ul {
  margin: 22px 0;
}

.dealer-card li {
  margin: 11px 0;
  font-size: 13px;
}

.category-grid b {
  font-size: 17px;
}

.category-grid small {
  font-size: 13px;
  line-height: 1.5;
  color: #4f5753;
}

.benefits b {
  font-size: 11px;
  letter-spacing: .02em;
}

.benefits small {
  font-size: 10px;
  line-height: 1.5;
}

.footer-grid > div > b {
  font-size: 11px;
  letter-spacing: .04em;
}

.footer-grid > div > a:not(.logo),
.footer-grid p {
  font-size: 11px;
  line-height: 1.55;
}

.footer-meta {
  display: flex;
  align-items: center;
  gap: 13px;
}

.footer-meta i {
  width: 1px;
  height: 11px;
  background: #5a686f;
}

.footer-meta a { color: #c7ced1; }
.footer-meta a:hover { color: #fff; }
.footer-meta .winsopro { color: #e1e5e5; }
.footer-meta .winsopro b { font-weight: 700; letter-spacing: .02em; }

@media (max-width: 700px) {
  .footer-meta { flex-wrap: wrap; }
}

.contact {
  padding: 55px 0 0;
  background: #f6f3ec;
}

.contact-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 35px;
}

.contact-heading span {
  display: block;
  margin-bottom: 8px;
  color: #596040;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px;
  font-weight: 700;
}

.contact-heading h2 {
  margin: 0;
  font: 500 clamp(32px, 3.2vw, 48px)/1.1 "Playfair Display", Georgia, serif;
  letter-spacing: -.03em;
  text-transform: none;
}

.contact-heading > p {
  margin: 0 0 5px;
  color: #59615e;
  font-size: 14px;
  line-height: 1.75;
}

.contact-grid {
  height: auto;
  min-height: 340px;
  grid-template-columns: .75fr 1.15fr 1.5fr;
  border-top: 1px solid #d9d5ca;
}

.contact-grid-map {
  grid-template-columns: .8fr 2.2fr;
  min-height: 410px;
}

.contact-grid-map .contact-info {
  padding: 45px 38px 40px 0;
}

.contact-grid-map .contact-info > a:not(.btn),
.contact-grid-map .contact-info > p {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 18px 0;
  color: #4f5753;
  font-size: 13px;
  line-height: 1.65;
}

.contact-grid-map .contact-info > a:hover {
  color: #596040;
}

.contact-button {
  margin-top: 12px;
}

.contact-grid-map .map {
  min-height: 410px;
  border-left: 1px solid #d9d5ca;
}

.contact-info {
  padding: 30px 25px 30px 0;
}

.contact-info h3 {
  margin: 0 0 22px;
  font-size: 16px;
  text-transform: uppercase;
}

.contact-info p {
  margin: 13px 0;
  font-size: 12px;
  line-height: 1.65;
  color: #4f5753;
}

.contact form {
  padding: 28px 35px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  border-left: 1px solid #d9d5ca;
}

.contact form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact form label:nth-child(4) { grid-column: 1 / -1; }
.contact form label > span { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.contact input, .contact textarea { min-height: 42px; padding: 10px 12px; font-size: 12px; }
.contact textarea { min-height: 76px; }
.contact form .btn { width: 155px; padding: 12px 18px; }
.map { min-height: 340px; }

@media (max-width: 900px) {
  .hero h1 { font-size: 35px; }
  .support-card > div { padding: 28px; }
  .support-card { min-height: 340px; }
  .support-card > img { min-height: 340px; }
  .resource-strip > .wrap { grid-template-columns: 1fr 1fr 1fr; }
  .resource-strip-title { grid-column: 1 / -1; padding: 18px 0 12px; }
  .numbers { height: 145px; }
  .numbers-inner { grid-template-columns: 66% 34%; }
  .number-grid { padding-left: 0; }
  .numbers img { height: 145px; }
  .number-grid b { font-size: 24px; }
  .number-grid small { font-size: 9px; }
  .number-grid > div { padding: 0 8px; }
  .contact-heading { grid-template-columns: 1fr; gap: 15px; }
  .contact-grid { grid-template-columns: .8fr 1.2fr; }
  .map { grid-column: 1 / -1; min-height: 260px; }
  .contact-grid-map { grid-template-columns: .75fr 1.25fr; }
  .contact-grid-map .map { grid-column: auto; min-height: 360px; }
}

@media (max-width: 560px) {
  .hero h1 { font-size: 30px; }
  .support-card { grid-template-columns: 1fr; }
  .support-card > img { min-height: 230px; height: 230px; }
  .support-card > div { padding: 25px 20px; }
  .resource-strip > .wrap { grid-template-columns: 1fr; padding-bottom: 12px; }
  .resource-strip-title { grid-column: auto; }
  .resource-strip a { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding: 15px 5px; }
  .numbers { height: auto; }
  .numbers-inner { grid-template-columns: 1fr; }
  .number-grid { min-height: 150px; grid-template-columns: 1fr 1fr; }
  .numbers img {
    height: 180px;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 30%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0, #000 30%, #000 100%);
  }
  .contact { padding-top: 40px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact form { border-left: 0; padding: 20px 0 30px; grid-template-columns: 1fr; }
  .contact form label:nth-child(4) { grid-column: auto; }
  .contact-info { padding-right: 0; }
  .map { grid-column: auto; }
  .contact-grid-map { grid-template-columns: 1fr; }
  .contact-grid-map .contact-info { padding: 30px 0; }
  .contact-grid-map .map { min-height: 300px; border-left: 0; }
}
/* Refined hero typography and controls */
.hero h1{font-family:"DM Sans",Arial,sans-serif;font-weight:500;font-size:clamp(42px,4.2vw,61px);line-height:1.08;letter-spacing:-.045em}.hero h1 em{font-family:inherit;font-weight:500;font-style:normal;letter-spacing:inherit}.slider{width:46px;height:62px;display:grid;place-items:center;padding:0;border:1px solid rgba(21,35,42,.22);border-radius:2px;background:rgba(255,255,255,.72);font-size:0;color:#15232a;backdrop-filter:blur(5px);transition:background .2s,border-color .2s,transform .2s}.slider:hover{background:#fff;border-color:#596040}.slider:before{content:"";width:11px;height:11px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}.slider.left:before{transform:rotate(-135deg);margin-left:4px}.slider.right:before{transform:rotate(45deg);margin-right:4px}@media(max-width:560px){.slider{display:none}.hero h1{font-size:clamp(32px,9.5vw,40px)}}
/* Compact hero title and solid triangle controls */
.hero h1{font-size:clamp(36px,3.35vw,49px);font-weight:400;line-height:1.12;letter-spacing:-.035em}.hero h1 em{font-weight:500}.slider{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 4px 18px rgba(0,0,0,.16)}.slider:hover{background:#fff;transform:scale(1.05)}.slider:before{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent}.slider.left:before{border-right:11px solid #111;border-left:0;transform:none;margin:0 3px 0 0}.slider.right:before{border-left:11px solid #111;border-right:0;transform:none;margin:0 0 0 3px}@media(max-width:560px){.hero h1{font-size:clamp(29px,8.5vw,35px)}}
.slider,.slider:hover{width:42px;height:54px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.slider:hover{transform:scale(1.12)}.slider:before{filter:drop-shadow(0 1px 2px rgba(255,255,255,.8))}
/* Match homepage slider controls to product gallery */
.slider,.slider:hover{width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(21,35,42,.72);box-shadow:none;backdrop-filter:none;color:#fff;font:28px/1 Georgia,serif;transform:none}.slider:hover{background:#596040}.slider:before{content:none}.slider.left,.slider.right{display:grid;place-items:center;padding:0}
@media(max-width:560px){.slider.left,.slider.right{display:none}}
