:root{
  --red: #e2402b;
  --red-dark: #c8331f;
  --dark: #26292f;
  --darker: #1c1e22;
  --black: #0c0c0c;
  --serif: Georgia, 'Times New Roman', Times, serif;
  --sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{font-family:var(--sans);color:#333;line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* ---------- HEADER / NAV ---------- */
header.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(12,13,15,0.72);
  backdrop-filter:blur(4px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-wrap{
  max-width:1300px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo img{height:44px;width:auto;}
nav.main-nav ul{display:flex;gap:28px;}
nav.main-nav a{
  color:#fff;font-size:13px;letter-spacing:1px;font-weight:600;
  text-transform:uppercase;transition:color .2s ease;
  padding:6px 0;border-bottom:2px solid transparent;
}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--red);border-bottom-color:var(--red);}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:26px;height:2px;background:#fff;display:block;}

/* ---------- HERO ---------- */
.hero{
  position:relative;min-height:640px;
  display:flex;align-items:center;
  background:url('images/LinkPOSiPadHomepage.jpg') center 30% / cover no-repeat;
  padding-top:80px;
}
.hero-content{
  position:relative;z-index:2;width:100%;
  max-width:1300px;margin:0 auto;padding:0 24px;
  text-align:right;
}
.hero-content h1{
  font-family:var(--serif);color:#fff;font-size:64px;font-weight:400;margin-bottom:10px;
}
.hero-content p.tagline{
  font-family:var(--serif);color:#f2f2f2;font-size:26px;font-style:normal;margin-bottom:30px;
}
.btn-demo{
  display:inline-block;background:var(--red);color:#fff;
  font-size:14px;letter-spacing:1px;font-weight:700;text-transform:uppercase;
  padding:16px 34px;border-radius:2px;transition:background .2s ease;
}
.btn-demo:hover{background:var(--red-dark);}

/* ---------- PAGE HERO (inner pages) ---------- */
.page-hero{
  background:var(--dark);
  padding:160px 0 60px;
  text-align:center;
}
.page-hero h1{
  font-family:var(--serif);color:#fff;font-size:48px;font-weight:400;
}
.page-hero .crumb{
  color:#999;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-top:14px;
}
.page-hero .crumb a{color:var(--red);}
.page-hero .crumb a:hover{text-decoration:underline;}
.page-hero .subtitle{font-family:var(--serif);font-style:italic;color:#ccc;font-size:18px;margin-top:14px;}

/* ---------- FEATURE GRID (features page) ---------- */
.feature-section{background:var(--dark);padding:70px 0 90px;}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:10px;}
.feature-card{background:var(--darker);border-top:3px solid var(--red);padding:26px 22px;border-radius:4px;display:flex;flex-direction:column;}
.feature-card h3{color:#fff;font-size:16px;margin-bottom:10px;font-weight:700;}
.feature-card p{color:#b9b9b9;font-size:14px;margin:0;}
.feature-card .card-logo{margin-top:auto;padding-top:20px;text-align:center;}
.feature-card .card-logo a{display:inline-block;}
.feature-card .card-logo img{max-height:36px;max-width:100%;width:auto;margin:0 auto;background:#fff;padding:6px 10px;border-radius:3px;}
.feature-card .card-logo-dark img{background:var(--black);}
.feature-card .card-image{margin-top:16px;}
.feature-card .card-image img{width:100%;border-radius:4px;display:block;}

/* ---------- INFO CARD GRID (about / customers) ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px;}
.info-card{background:#f7f7f7;border-left:3px solid var(--red);padding:20px 22px;border-radius:2px;}
.info-card h4{font-size:15px;color:#222;margin-bottom:6px;}
.info-card p{font-size:14px;color:#666;margin:0;}

/* ---------- CHECKLIST GRID (support / reports) ---------- */
.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 30px;margin:20px 0 30px;list-style:none;}
.check-grid li{position:relative;padding-left:26px;font-size:15px;color:#444;}
.check-grid li::before{
  content:"\2713";position:absolute;left:0;top:0;color:#fff;background:var(--red);
  width:18px;height:18px;border-radius:50%;font-size:11px;line-height:18px;text-align:center;
}

/* ---------- CONTACT FORM ---------- */
.contact-form{max-width:640px;}
.contact-form .field{margin-bottom:20px;}
.contact-form label{display:block;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#555;margin-bottom:8px;}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
  width:100%;padding:12px 14px;border:1px solid #ccc;font-size:14px;font-family:inherit;border-radius:2px;
}
.contact-form textarea{resize:vertical;min-height:140px;}
.contact-form button{
  background:var(--red);color:#fff;border:none;padding:14px 34px;font-size:13px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background .2s ease;
}
.contact-form button:hover{background:var(--red-dark);}
.form-error{
  background:rgba(226,64,43,0.12);border:1px solid var(--red);color:#fff;
  font-size:14px;padding:14px 16px;border-radius:2px;margin-bottom:24px;
}

/* ---------- ARTICLE / PAGE CONTENT ---------- */
.article{background:#fff;padding:70px 0 90px;}
.article-inner{max-width:820px;margin:0 auto;}
.article h2{font-family:var(--serif);font-size:32px;color:#222;margin-bottom:24px;font-weight:400;}
.article h3{font-size:19px;color:var(--red);margin:30px 0 10px;font-weight:700;}
.article p{font-size:16px;color:#444;margin-bottom:18px;}
.article .source{
  font-size:13px;color:#999;border-top:1px solid #eee;padding-top:20px;margin-top:40px;
}
.article.dark{background:var(--darker);}
.article.dark h2{color:#fff;}
.article.dark h3{color:var(--red);}
.article.dark p{color:#ccc;}
.article.dark ul li{color:#ccc;}
.article.dark .source{color:#888;border-top-color:rgba(255,255,255,0.12);}
.article.dark .check-grid li{color:#ccc;}
.article.dark .contact-form label{color:#ccc;}
.article.dark strong{color:#fff;}
.article ul{margin:0 0 24px 0;}
.article ul li{position:relative;padding-left:22px;margin-bottom:8px;color:#444;font-size:16px;}
.article ul li::before{content:"\2014";position:absolute;left:0;color:var(--red);}

/* ---------- CONFIRMATION PAGE ---------- */
.confirm{text-align:center;padding:40px 0 20px;}
.confirm-icon{
  width:84px;height:84px;border-radius:50%;background:var(--red);
  display:flex;align-items:center;justify-content:center;margin:0 auto 30px;
}
.confirm-icon svg{width:40px;height:40px;}
.confirm h2{margin-bottom:18px;}
.confirm p{max-width:520px;margin-left:auto;margin-right:auto;}
.confirm .confirm-actions{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.confirm .btn-outline{
  display:inline-block;border:1px solid rgba(255,255,255,0.3);color:#fff;
  font-size:14px;letter-spacing:1px;font-weight:700;text-transform:uppercase;
  padding:16px 34px;border-radius:2px;transition:border-color .2s ease,background .2s ease;
}
.confirm .btn-outline:hover{background:rgba(255,255,255,0.08);border-color:#fff;}

/* ---------- TWO COLUMN LAYOUT (contact, etc.) ---------- */
.two-col{display:flex;gap:60px;align-items:flex-start;}
.two-col > div{flex:1;min-width:0;}

/* ---------- WELCOME / ABOUT ---------- */
.welcome{background:var(--dark);color:#e9e9e9;padding:80px 0;}
.welcome h2{
  font-family:var(--serif);font-size:42px;font-weight:400;text-align:center;color:#fff;
}
.welcome .sub{
  text-align:center;font-family:var(--serif);font-style:italic;font-size:17px;
  color:#c8c8c8;margin-top:14px;
}
.welcome hr{
  width:60px;border:none;border-top:1px solid rgba(255,255,255,0.3);margin:34px auto;
}
.welcome-grid{
  display:flex;align-items:center;gap:60px;margin-top:20px;
}
.welcome-grid .graphic{flex:0 0 46%;}
.welcome-grid .copy{flex:1;font-size:15px;color:#d3d3d3;}
.welcome-grid .copy p{margin-bottom:18px;}
.welcome-grid .copy em{color:var(--red);font-style:italic;}

/* ---------- WHY CHOOSE / FEATURES ---------- */
.why-choose{background:#fff;padding:90px 0 100px;text-align:center;}
.why-choose h2{font-size:38px;color:#222;font-weight:400;}
.why-choose .arrow{margin:26px auto;width:44px;height:44px;color:var(--red);}
.video-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px;
}
.video-col h3{
  font-size:16px;font-weight:400;color:#555;margin-bottom:14px;
}
.video-frame{
  position:relative;width:100%;padding-top:66%;background:#000;overflow:hidden;
}
.video-frame iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--black);color:#ccc;padding:70px 0 40px;}
.footer-grid{
  display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr;gap:40px;align-items:start;
}
.footer-grid h4{
  color:var(--red);font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px;
}
.footer-grid p{font-size:14px;line-height:1.9;color:#bbb;}
.social-icons{display:flex;gap:14px;}
.social-icons a{
  width:38px;height:38px;border-radius:50%;border:1px solid #444;
  display:flex;align-items:center;justify-content:center;color:#ccc;
  transition:all .2s ease;
}
.social-icons a:hover{background:var(--red);border-color:var(--red);color:#fff;}
.search-box{display:flex;border:1px solid #444;position:relative;}
.search-box input{
  flex:1;background:transparent;border:none;padding:12px;color:#eee;font-size:13px;
}
.search-box input::placeholder{color:#888;}
.search-box button{
  background:transparent;border:none;border-left:1px solid #444;padding:0 16px;color:#ccc;cursor:pointer;
}
.search-results{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;
  background:var(--darker);border:1px solid #444;
  max-height:220px;overflow-y:auto;
}
.search-results li{border-top:1px solid #333;}
.search-results li:first-child{border-top:none;}
.search-results a{
  display:block;padding:10px 12px;font-size:13px;color:#eee;
}
.search-results a:hover{background:var(--red);color:#fff;}
.search-no-results{padding:10px 12px;font-size:13px;color:#888;}
.footer-logo{display:flex;justify-content:flex-end;align-self:stretch;}
.footer-logo img{height:100%;width:auto;}
.copyright{
  background:var(--red);color:#fff;text-align:center;font-size:13px;
  padding:14px 0;margin-top:50px;letter-spacing:.5px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  nav.main-nav{
    position:fixed;top:73px;left:0;right:0;background:var(--black);
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  nav.main-nav.open{max-height:400px;}
  nav.main-nav ul{flex-direction:column;gap:0;padding:10px 24px;}
  nav.main-nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.08);}
  .nav-toggle{display:flex;}
  .hero-content h1{font-size:44px;}
  .hero-content p.tagline{font-size:16px;}
  .page-hero{padding:140px 0 50px;}
  .page-hero h1{font-size:36px;}
  .two-col{flex-direction:column;gap:40px;}
  .welcome-grid{flex-direction:column;}
  .welcome-grid .graphic{flex:none;width:100%;}
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .check-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-logo{justify-content:flex-start;margin-top:20px;}
}
@media (max-width: 520px){
  .video-grid{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .card-grid{grid-template-columns:1fr;}
  .check-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-content h1{font-size:36px;}
}
