  :root{
    --ink:#1c1712;
    --paper:#fbf9f6;
    --panel:#efece5;
    --steel:#2c3e50;
    --rust:#c21807;
    --rust-dark:#8f1204;
    --line:#ddd7cb;
    --radius:2px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.55;
    padding-bottom:calc(60px + env(safe-area-inset-bottom)); /* room for sticky mobile bar */
    overflow-x:hidden;
  }
  h1,h2,h3,h4{
    font-family:'Oswald',sans-serif;
    font-weight:600;
    letter-spacing:0.2px;
    line-height:1.15;
    text-transform:uppercase;
  }
  h2{font-size:1.5rem;}
  @media(min-width:640px){h2{font-size:1.9rem;}}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
  section{padding:56px 0;}
  @media(min-width:640px){section{padding:72px 0;} .wrap{padding:0 24px;}}
  .eyebrow{
    color:var(--rust-dark);
    font-weight:600;
    font-size:0.85rem;
    margin-bottom:8px;
  }

  /* HEADER */
  header{
    position:sticky;top:0;z-index:50;
    background:var(--ink);
    border-bottom:3px solid var(--rust);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 20px;max-width:1120px;margin:0 auto;
    position:relative;
  }
  @media(min-width:640px){.nav{padding:14px 24px;}}
  .logo{color:var(--paper);font-family:'Oswald',sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:1px;}
  .logo span{color:var(--rust);}
  .navlinks{display:none;gap:28px;font-size:0.92rem;color:#e9e4d8;}
  @media(min-width:860px){.navlinks{display:flex;}}
  .navlinks a:hover{color:var(--rust);}
  .navcall{
    display:none;
    background:var(--rust);color:#fff;padding:9px 16px;
    font-weight:600;font-size:0.9rem;border-radius:var(--radius);
  }
  @media(min-width:860px){.navcall{display:inline-block;}}

  /* Mobile hamburger */
  .navtoggle{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;
  }
  @media(min-width:860px){.navtoggle{display:none;}}
  .navtoggle span{display:block;height:2px;width:100%;background:#e9e4d8;border-radius:2px;}
  .mobile-menu{
    display:none;flex-direction:column;
    background:var(--ink);border-top:1px solid #3a3225;
    padding:8px 20px 18px;
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a{
    padding:12px 4px;font-size:0.98rem;color:#e9e4d8;border-bottom:1px solid #3a3225;
  }
  .mobile-menu a.mm-call{color:var(--rust);font-weight:700;border-bottom:none;padding-top:16px;}
  @media(min-width:860px){.mobile-menu{display:none !important;}}

  /* HERO */
  .hero{
    background:linear-gradient(135deg,var(--ink) 0%, #2a2118 100%);
    color:var(--paper);
    padding:44px 0 48px;
    position:relative;
    overflow:hidden;
  }
  @media(min-width:640px){.hero{padding:88px 0 72px;}}
  .hero::after{
    content:"";
    position:absolute;right:-80px;top:-80px;
    width:360px;height:360px;
    border:2px solid rgba(193,80,13,0.25);
    border-radius:50%;
  }
  .hero-inner{max-width:640px;position:relative;z-index:1;}
  .hero .eyebrow{color:#f0a89e;font-size:0.8rem;}
  .hero h1{font-size:clamp(1.7rem,7vw,3.2rem);margin-bottom:14px;}
  .hero p{font-size:1rem;color:#d9d3c6;max-width:520px;margin-bottom:26px;}
  .cta-row{display:flex;flex-direction:column;gap:12px;align-items:stretch;}
  @media(min-width:480px){.cta-row{flex-direction:row;flex-wrap:wrap;align-items:center;}}
  .btn-primary{
    background:#25D366;color:#0c2b16;
    padding:15px 26px;font-weight:700;font-size:1rem;
    border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;
    width:100%;
  }
  @media(min-width:480px){.btn-primary{width:auto;}}
  .btn-secondary{
    color:#e9e4d8;padding:6px;font-weight:600;font-size:0.95rem;
    border-bottom:1px solid rgba(233,228,216,0.4);
    text-align:center;
  }
  .hero-stats{
    display:flex;gap:24px;margin-top:36px;flex-wrap:wrap;
  }
  @media(min-width:640px){.hero-stats{gap:36px;margin-top:48px;}}
  .stat-num{font-family:'Oswald',sans-serif;font-size:1.6rem;color:var(--rust);}
  @media(min-width:640px){.stat-num{font-size:1.9rem;}}
  .stat-label{font-size:0.78rem;color:#c9c2b3;}

  /* ABOUT */
  .about-grid{display:grid;gap:40px;}
  @media(min-width:860px){.about-grid{grid-template-columns:1.1fr 0.9fr;}}
  .about-copy h2{margin-bottom:18px;}
  .about-copy p{margin-bottom:14px;color:#3a352c;max-width:560px;}
  .trait-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px;}
  @media(min-width:480px){.trait-list{grid-template-columns:1fr 1fr;gap:14px;}}
  .trait{
    background:var(--panel);padding:12px 14px;font-size:0.85rem;font-weight:600;
    border-left:3px solid var(--rust);
  }

  /* SERVICES */
  .services{background:var(--panel);}
  .service-grid{display:grid;gap:22px;margin-top:36px;}
  @media(min-width:640px){.service-grid{grid-template-columns:1fr 1fr;}}
  @media(min-width:960px){.service-grid{grid-template-columns:repeat(4,1fr);}}
  .service-card{
    background:var(--paper);padding:26px 22px;border:1px solid var(--line);
    display:flex;flex-direction:column;gap:10px;
  }
  .service-card .icon{font-size:1.6rem;}
  .service-card h3{font-size:1.05rem;}
  .service-card p{font-size:0.88rem;color:#4a4437;flex:1;}
  .tag{
    font-size:0.75rem;font-weight:700;color:var(--rust-dark);
  }

  /* SPARE PARTS */
  .spares{}
  .filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
  .filter-btn{
    background:var(--panel);border:1px solid var(--line);color:#4a4437;
    padding:9px 16px;font-size:0.85rem;font-weight:600;border-radius:20px;
    cursor:pointer;transition:background 0.15s, color 0.15s;
  }
  .filter-btn:hover{background:#e4dfd1;}
  .filter-btn.active{background:var(--rust);border-color:var(--rust);color:#fff;}
  .part-grid{display:grid;gap:16px;margin-top:28px;}
  @media(min-width:560px){.part-grid{grid-template-columns:1fr 1fr;}}
  @media(min-width:820px){.part-grid{grid-template-columns:repeat(3,1fr);}}
  @media(min-width:1080px){.part-grid{grid-template-columns:repeat(4,1fr);}}
  .part-card{
    background:var(--panel);border:1px solid var(--line);padding:18px;
    display:flex;flex-direction:column;gap:4px;
  }
  .part-cat{font-size:0.72rem;font-weight:700;color:var(--rust-dark);text-transform:uppercase;letter-spacing:0.5px;}
  .part-card h4{font-family:'Oswald',sans-serif;font-size:1rem;text-transform:none;margin:2px 0;}
  .part-card p{font-size:0.85rem;color:#4a4437;flex:1;}
  .part-stock{font-size:0.78rem;font-weight:700;color:#2f7a3d;}
  .part-card.hidden{display:none;}

  /* TESTIMONIALS */
  .testimonials{background:var(--ink);color:var(--paper);}
  .testimonials .eyebrow{color:#f0a89e;}
  .t-grid{display:grid;gap:20px;margin-top:36px;}
  @media(min-width:860px){.t-grid{grid-template-columns:repeat(3,1fr);}}
  .t-card{
    background:#241d15;padding:24px;border-top:3px solid var(--rust);
  }
  .stars{color:var(--rust);margin-bottom:12px;font-size:0.95rem;}
  .t-card p{font-size:0.92rem;color:#d9d3c6;margin-bottom:16px;}
  .t-name{font-size:0.85rem;font-weight:600;color:#e9e4d8;}
  .t-role{font-size:0.78rem;color:#9c9587;}
  .review-link{display:inline-block;margin-top:28px;color:var(--rust);font-weight:600;font-size:0.9rem;}

  /* WHY US */
  .why-grid{display:grid;gap:24px;margin-top:36px;}
  @media(min-width:640px){.why-grid{grid-template-columns:1fr 1fr;}}
  .why-card{padding:20px 0;border-bottom:1px solid var(--line);}
  .why-card h3{font-size:1.05rem;margin-bottom:8px;}
  .why-card p{font-size:0.9rem;color:#4a4437;}

  /* QUICK INQUIRY */
  .quick-inquiry{
    background:var(--rust);color:#fff;padding:32px 0;
  }
  @media(min-width:640px){.quick-inquiry{padding:40px 0;}}
  .qi-inner{display:flex;flex-direction:column;gap:20px;}
  @media(min-width:860px){.qi-inner{flex-direction:row;align-items:center;justify-content:space-between;}}
  .qi-text h3{color:#fff;font-size:1.2rem;margin-bottom:6px;}
  .qi-text p{color:#ffd6d0;font-size:0.88rem;}
  .qi-form{display:flex;flex-direction:column;gap:10px;flex:1;max-width:640px;}
  @media(min-width:640px){.qi-form{flex-direction:row;flex-wrap:wrap;}}
  .qi-form input, .qi-form select{
    padding:13px 14px;border:none;border-radius:var(--radius);font-family:inherit;
    flex:1;min-width:0;font-size:16px; /* 16px prevents iOS auto-zoom on focus */
    width:100%;
  }
  @media(min-width:640px){.qi-form input, .qi-form select{min-width:140px;width:auto;}}
  .qi-form button{
    background:var(--ink);color:#fff;border:none;padding:13px 20px;
    font-weight:700;border-radius:var(--radius);cursor:pointer;font-size:0.9rem;
    width:100%;
  }
  @media(min-width:640px){.qi-form button{width:auto;}}

  /* BOOKING */
  .booking-grid{display:grid;gap:40px;margin-top:36px;}
  @media(min-width:900px){.booking-grid{grid-template-columns:1fr 1fr;}}
  .steps{display:flex;flex-direction:column;gap:20px;}
  .step{display:flex;gap:16px;}
  .step-num{
    font-family:'Oswald',sans-serif;font-size:1.4rem;color:var(--rust);
    min-width:36px;
  }
  .step h4{font-size:0.95rem;margin-bottom:4px;text-transform:none;}
  .step p{font-size:0.88rem;color:#4a4437;}
  form.full-form{
    background:var(--panel);padding:20px;display:flex;flex-direction:column;gap:14px;
  }
  @media(min-width:640px){form.full-form{padding:28px;}}
  form.full-form label{font-size:0.82rem;font-weight:600;margin-bottom:4px;display:block;}
  form.full-form input, form.full-form select, form.full-form textarea{
    width:100%;padding:12px;border:1px solid var(--line);border-radius:var(--radius);
    font-family:inherit;font-size:16px;background:#fff; /* 16px prevents iOS auto-zoom */
  }
  form.full-form button{
    background:var(--ink);color:#fff;border:none;padding:15px;font-weight:700;
    border-radius:var(--radius);cursor:pointer;margin-top:6px;font-size:0.95rem;
  }
  .hours-note{font-size:0.85rem;color:#4a4437;margin-top:16px;}

  /* CONTACT */
  .contact{background:var(--panel);}
  .contact-grid{display:grid;gap:32px;margin-top:36px;}
  @media(min-width:860px){.contact-grid{grid-template-columns:1fr 1fr;}}
  .contact-row{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start;}
  .contact-row .ic{font-size:1.3rem;}
  .contact-row h4{font-size:0.9rem;text-transform:none;margin-bottom:2px;}
  .contact-row p, .contact-row a{font-size:0.9rem;color:#4a4437;}
  .wa-box{background:var(--paper);border:1px solid var(--line);padding:20px;}
  .wa-box p{font-size:0.87rem;color:#4a4437;margin-bottom:14px;font-style:italic;}

  /* FOOTER */
  footer{background:var(--ink);color:#c9c2b3;padding:40px 0 90px;font-size:0.85rem;}
  .footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-bottom:24px;}
  footer h5{color:#fff;font-size:0.85rem;margin-bottom:10px;text-transform:none;}
  footer a:hover{color:var(--rust);}
  .footer-bottom{border-top:1px solid #3a3225;padding-top:16px;font-size:0.78rem;color:#8a8272;}

  /* STICKY MOBILE CTA BAR */
  .mobile-bar{
    position:fixed;bottom:0;left:0;right:0;z-index:60;
    display:flex;background:var(--ink);border-top:2px solid var(--rust);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .mobile-bar a{
    flex:1;text-align:center;padding:13px 4px;font-size:0.78rem;font-weight:700;
    color:#fff;display:flex;flex-direction:column;align-items:center;gap:3px;
    min-height:48px;justify-content:center; /* comfortable tap target */
  }
  .mobile-bar a.wa{background:#1ea952;}
  .mobile-bar a.book{background:var(--rust);}
  @media(min-width:860px){.mobile-bar{display:none;}body{padding-bottom:0;}}

/* BLOG PAGES */
.blog-hero{background:linear-gradient(135deg,var(--ink) 0%, #2a2118 100%);color:var(--paper);padding:56px 0 44px;}
.blog-hero h1{font-size:clamp(1.6rem,5vw,2.4rem);}
.blog-hero p{color:#d9d3c6;max-width:560px;margin-top:10px;}
.blog-grid{display:grid;gap:22px;margin-top:36px;}
@media(min-width:720px){.blog-grid{grid-template-columns:repeat(3,1fr);}}
.blog-card{background:var(--panel);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:10px;}
.blog-card .cat{font-size:0.75rem;font-weight:700;color:var(--rust-dark);text-transform:uppercase;}
.blog-card h3{font-size:1.05rem;text-transform:none;}
.blog-card p{font-size:0.88rem;color:#4a4437;flex:1;}
.blog-card a.read-more{font-weight:700;color:var(--rust);font-size:0.88rem;}
.post-body{max-width:680px;margin:0 auto;}
.post-body h2{font-size:1.25rem;margin-top:32px;margin-bottom:10px;}
.post-body p{margin-bottom:14px;color:#3a352c;font-size:0.98rem;}
.post-body ul{margin:0 0 16px 20px;color:#3a352c;font-size:0.98rem;}
.post-body li{margin-bottom:6px;}
.post-meta{font-size:0.85rem;color:#8a8272;margin-bottom:24px;}
.post-cta{background:var(--panel);border-left:3px solid var(--rust);padding:20px;margin-top:32px;}
.post-cta a.btn-primary{margin-top:12px;background:#25D366;}
.back-link{display:inline-block;margin-bottom:20px;font-size:0.88rem;font-weight:600;color:var(--rust-dark);}
