/* Page-specific overrides */
html{scroll-behavior:smooth; scroll-padding-top:88px; }
a:focus-visible, button:focus-visible{outline:3px solid var(--red); outline-offset:2px;}

@media (prefers-reduced-motion: reduce) {
  *{animation:none !important; transition:none !important;}
}
section{padding:70px 0;}
.eyebrow{display:inline-block; font-size:.78rem; font-weight:700; color:var(--red); background:rgba(192,20,42,0.08); padding:6px 14px; border-radius:100px; margin-bottom:14px; letter-spacing:.02em;}
.section-head{max-width:640px; margin:0 auto 48px; text-align:center;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.3rem);}
.section-head p{color:var(--muted); margin-top:12px; font-size:1rem;}

@media (max-width:900px) {
  section{padding:20px 0 ;}
}
/* ---------- Hero ---------- */
.hero .wrap{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-bottom:40px;}
.hero h1{font-size:clamp(2rem,4vw,2.9rem); letter-spacing:-.01em;}
.hero p.lead{color:var(--muted); font-size:1.05rem; max-width:46ch; margin:20px 0 32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.hero-media{position:relative;}
.hero-media .frame{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/3.4;}
.hero-media .frame img{width:100%; height:100%; object-fit:cover;}
.stat-badge{
    position:absolute; left:-24px; bottom:-24px; background:var(--black); color:#fff;
    border-radius:var(--radius-sm); padding:20px 26px; box-shadow:var(--shadow);
    min-width:190px;
  }
.stat-badge .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.9rem; color:#fff;}
.stat-badge .lbl{font-size:.8rem; color:#C9C9C9; margin-top:2px;}

@media (max-width:900px) {
  .hero .wrap{grid-template-columns:1fr; padding-top:40px;}
  .hero-media{order:-1;}
  .stat-badge{left:16px; bottom:16px;}
}
/* ---------- About split ---------- */
.about-split .wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center;}
.about-split .frame{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:1/1;}
.about-split .frame img{width:100%; height:100%; object-fit:cover;}
.about-split .eyebrow{margin-bottom:14px;}
.about-split h2{font-size:clamp(1.6rem,2.8vw,2.1rem); margin-bottom:18px;}
.about-split p{color:var(--muted); margin-bottom:16px;}
.about-split .btn{margin-top:10px;}

@media (max-width:900px) {
  .about-split .wrap{grid-template-columns:1fr; gap:32px;}
}
/* ---------- Value ---------- */
.value-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.svc-card{background:var(--panel); border-radius:var(--radius); padding:34px 28px; box-shadow:var(--shadow-sm); transition:transform .15s, box-shadow .15s; border: solid, 1px; border-color: var(--red);}
.svc-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.svc-icon{width:52px; height:52px; border-radius:14px; background:rgba(192,20,42,0.09); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.svc-icon svg{width:26px; height:26px; stroke:var(--red);}
.svc-card h3{font-size:1.08rem; margin-bottom:10px;}
.svc-card p{color:var(--muted); font-size:.92rem; margin-bottom:16px;}
.svc-card a{font-size:.85rem; font-weight:700; color:var(--red); text-decoration:none;}

@media (max-width:900px) {
  .services-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:600px) {
  .services-grid{grid-template-columns:1fr;}
}
/* ---------- Why choose us ---------- */
.why .wrap{display:grid; grid-template-columns:1fr .9fr; gap:60px; align-items:center;}
.why .eyebrow{margin-bottom:14px;}
.why h2{font-size:clamp(1.6rem,2.8vw,2.1rem); margin-bottom:14px;}
.why p.lead{color:var(--muted); margin-bottom:26px;}
.check-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
.check-list li{display:flex; gap:14px; align-items:flex-start; font-size:.96rem;}
.check-list .tick{width:24px; height:24px; border-radius:50%; background:var(--red); flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:1px;}
.check-list .tick svg{width:13px; height:13px; stroke:#fff;}
.why-media{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:1/1;}
.why-media img{width:100%; height:100%; object-fit:cover;}

@media (max-width:900px) {
  .why .wrap{grid-template-columns:1fr; gap:32px;}
  .why-media{order:-1;}
}
/* Interactive machine image viewer */
.machine-viewer {
  position: relative;
  overflow: hidden;
  cursor: grab;
  user-select: none;
  touch-action: none;
  background: #f1f1f1;
}
.machine-viewer:active {
  cursor: grabbing;
}
.machine-viewer img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.machine-viewer-hint {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  padding: 7px 13px;
  border-radius: 100px;
  background: rgba(17, 17, 17, 0.78);
  color: white;
  font-size: 0.75rem;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0.9;
  transition: opacity 0.3s ease;
}
.machine-viewer-hint.hidden {
  opacity: 0;
}
/* ============ VIDEO CAROUSEL ============ */
.video-section{padding:20px 0;}
.video-section .section-head{text-align:center; max-width:640px; margin:0 auto 40px;}
.video-section .kicker{color:var(--red); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; display:block;}
.video-section h2{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(1.6rem,2.6vw,2.1rem); margin:0; color:var(--black);}
.video-section .section-head p{color:var(--muted); margin-top:12px;}
.video-carousel{
    position:relative; max-width:860px; margin:0 auto;
  }
.video-frame{
    position:relative; aspect-ratio:16/9; border-radius:var(--radius);
    overflow:hidden; background:var(--black); box-shadow:var(--shadow);
  }
.video-frame video{width:100%; height:100%; display:block; object-fit:cover; background:#000;}
.video-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:48px; height:48px; border-radius:50%;
    background:rgba(17,17,17,.55); border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    z-index:5; transition:background .15s, opacity .2s;
    opacity:0; pointer-events:none;
  }
.video-frame:hover .video-arrow{
    opacity:1; pointer-events:auto;
  }
.video-arrow:hover{background:var(--red);}
.video-arrow svg{width:22px; height:22px; stroke:#fff; fill:none; stroke-width:2.2;}
.video-arrow.prev{left:16px;}
.video-arrow.next{right:16px;}

@media (max-width:560px) {
  .video-arrow{width:38px; height:38px;}
  .video-arrow svg{width:18px; height:18px;}
  .video-arrow.prev{left:8px;}
  .video-arrow.next{right:8px;}
}
.video-caption{
    display:flex; justify-content:center; align-items:center;
    gap:16px; margin-top:18px; flex-wrap:wrap;
  }
.video-caption h3{font-family:'Poppins',sans-serif; font-weight:600; font-size:1.05rem; margin:0; color:var(--black);}
.video-caption p{color:var(--muted); font-size:.88rem; margin:4px 0 0;}
.video-dots{display:flex; gap:8px;}
.video-dot{
    width:9px; height:9px; border-radius:50%; background:var(--line);
    border:none; cursor:pointer; padding:0; transition:background .15s;
  }
.video-dot.active{background:var(--red);}
/* ---------- Contact ---------- */
#contact{ scroll-margin-top:50px; }
.contact-panel{background:var(--black); border:solid 3px; border-color: var(--red); border-radius:var(--radius); color:#fff; padding:56px; display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.contact-panel h2{color:#fff; font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:14px;}
.contact-panel p.lead{color:#C9C9C9; margin-bottom:28px;}
.contact-panel .info-row{display:flex; gap:14px; align-items:flex-start; margin-bottom:20px;}
.contact-panel .info-row .ic{width:38px; height:38px; border-radius:10px; background:rgba(192,20,42,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.contact-panel .info-row .ic svg{width:18px; height:18px; stroke:var(--red);}
.contact-panel .info-row .lbl{font-size:.75rem; color:#9A9A9A; text-transform:uppercase; letter-spacing:.03em;}
.contact-panel .info-row .val{font-size:.96rem; margin-top:3px;}
.contact-panel .info-row a{color:#fff; text-decoration:none; font-weight:600;}
form.enquiry .row{margin-bottom:16px;}
form.enquiry label{display:block; font-size:.8rem; font-weight:600; margin-bottom:7px; color:#C9C9C9;}
form.enquiry input, form.enquiry select, form.enquiry textarea{
    width:100%; padding:12px 15px; border:1.5px solid rgba(255,255,255,.18); border-radius:var(--radius-sm);
    font-family:inherit; font-size:.94rem; background:rgba(255,255,255,.06); color:#fff;
  }
form.enquiry input::placeholder, form.enquiry textarea::placeholder{color:#8A8A8A;}
form.enquiry input:focus, form.enquiry select:focus, form.enquiry textarea:focus{border-color:var(--red); outline:none;}
form.enquiry textarea{resize:vertical; min-height:96px;}
form.enquiry .two-col{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-note{font-size:.8rem; color:#9A9A9A; margin-top:12px;}

@media (max-width:900px) {
  .contact-panel{grid-template-columns:1fr; padding:36px 24px; gap:32px;}
  form.enquiry .two-col{grid-template-columns:1fr;}
}
.foot-map-link{display:inline-flex; align-items:center; gap:6px; font-size:.82rem; color:#fff; margin-bottom:12px; text-decoration:none; font-weight:600;}
.foot-map-link svg{width:12px;height:12px;stroke:#fff;}
.foot-map-link:hover{color:var(--red);}
.wa-float{
    position:fixed; bottom:22px; right:22px; z-index:60; width:56px; height:56px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); text-decoration:none;
  }
.wa-float svg{width:28px;height:28px;fill:#fff;}
