/* CSS Variables */
:root{
  --Bright:#FAFBFC;
  --Bright-60:rgba(250,251,252,.60);
  --White-60:rgba(255,255,255,.60);
  --White:#FFFFFF;
  --Disabled:rgba(156,163,175,.40);
  --DisabledText:rgba(107,114,128,.70);
  --SurfaceFooter:#F1F5F9;
  --TextDark:#1F2937;
  --GradientTop:#FAFBFC;
  --GradientMid:#F0F8FF;
  --GradientBot:#E0F2FE;
  --Main:#3B82F6;
  --MainHover:#2563EB;
  --Accent:#10B981;
  --AccentLight:#D1FAE5;
  --Neutral:#6B7280;
  --NeutralLight:#F8FAFC;
  --BorderLight:#E2E8F0;
  --TextMuted:#64748B;
}

/* Font Declarations */
@font-face {
  font-family: 'Degular Variable';
  src: local('Degular Variable');
  font-weight: 100 900;
  font-display: swap;
}

/* Global Reset and Base Styles */
* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  margin: 0;
  color: #2C2C2C;
  background: #FFFFFF;
  font-family: 'Degular Variable', Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap {
  display: flex;
  min-height: 100dvh;
  flex-direction: column;
}

/* Hero container - takes full viewport */
.hero-container {
  min-height: 100vh;
  min-height: 100dvh; /* Dynamic viewport height for mobile */
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg,var(--GradientTop)0%,var(--GradientMid)42%,var(--GradientBot)100%);
}

/* Top bar */
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  flex-shrink: 0; /* Prevent topbar from shrinking */
  position: relative;
  z-index: 10;
  padding-right: 180px;
  
}
.logo {
  height: 48px;
  width: auto;
}

.logo-link {
  margin-left: 180px; /* Now the offset is only on the entire anchor */
  display: inline-block; /* Important so the link only fits the image size */
}

/* Button base and states */
.btn{
  display:flex;
  padding:32px 140px;
  justify-content:center;
  align-items:center;
  gap:8px;
  align-self:stretch;
  border-radius:112px;
  border:2px solid var(--BorderLight);
  background:var(--Disabled);
  color:var(--DisabledText);
  font:600 clamp(18px,4vw,40px)/1.1 'Degular Variable',Inter,system-ui,sans-serif;
  text-decoration:none;
  user-select:none;
  cursor:not-allowed;
  transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .2s ease;
  pointer-events:none;
}

/* Enabled state - when checkbox is checked */
#agree:checked ~ .cta .btn,
#agree:checked ~ * .btn,
body:has(#agree:checked) .btn {
  background:var(--Main);
  color:var(--White);
  border-color:var(--Main);
  box-shadow:0 8px 22px rgba(59,130,246,.25);
  cursor:pointer;
  pointer-events:auto;
}

#agree:checked ~ .cta .btn:hover,
#agree:checked ~ * .btn:hover,
body:has(#agree:checked) .btn:hover {
  background: var(--White) !important; /* White background */
  color: var(--Main) !important; /* Blue text */
  border-color: var(--Main) !important; /* Blue border */
  box-shadow: 0 12px 28px rgba(59,130,246,.25); /* Lighter shadow */
  transform: translateY(-1px);
}

/* Make sure the download icon stays white when background changes to white */
#agree:checked ~ .cta .btn:hover .download-icon,
#agree:checked ~ * .btn:hover .download-icon,
body:has(#agree:checked) .btn:hover .download-icon {
  filter: brightness(0) saturate(100%) invert(36%) sepia(93%) saturate(1352%) hue-rotate(204deg) brightness(98%) contrast(97%);
  /* This changes white to blue */
}



/* Hover state - turns white with white border */
.btn--small {
    padding: 26px 48px;
    font-size: 20px;
    background: var(--White);              /* White background on hover */
           /* Blue text on hover */
    border-color: var(--White) !important; /* White border on hover */
    box-shadow: 0 12px 28px rgba(255,255,255,.35) !important; /* White shadow */
    transform: translateY(-1px) !important;
}

.btn--small:hover {

  background: var(--Main);  /* Blue background by default */
  color: var(--White);      /* White text by default */
  border-color: var(--Main); /* Blue border by default */
  cursor: pointer;
  pointer-events: auto;
}


/* Top download button styles */
.top-download{
 
  display: flex;
  padding: 16px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 14px;
  border: 1px solid #3B82F6; /* Black border */
  color: #3B82F6;;
  background: rgba(255,255,255,.8);
  font: 600 14px/1 'Degular Variable', Inter, system-ui, sans-serif;
  text-decoration: none;
  backdrop-filter: blur(4px);
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.6;
  transition: all .25s ease;
  
  }


.top-download svg{
  width:14px;
  height:14px;
  stroke:var(--TextMuted);
  
}

/* Hover effect only when enabled */
body:has(#agree:checked) .top-download {
  cursor: pointer;
  pointer-events: auto;
  opacity: 1;
  background:var(--White);
  border-color: gr; /* Black border */
}
    


body:has(#agree:checked) .top-download  {
  opacity: 1;
}
body:has(#agree:checked) .top-download:hover {
  background: var(--Main);
  color: var(--White);
  backdrop-filter: blur(12px);
  transform:translateY(-1px);
}

body:has(#agree:checked) .top-download:hover .top-download-icon {
  filter: brightness(0) invert(1);
}
.download-icon {
  width: 28px;
  height: 28px;
  margin-top: 8px; /* Top spacing */
    margin-left: 8px; /* Left spacing */
  transition: all .25s ease;
}

     
/* Disabled modifier - explicit disabled state */
.btn.btn--disabled,
.btn[aria-disabled="true"],
.btn:disabled,
.top-download.btn--disabled,
.top-download[aria-disabled="true"] {
  cursor:not-allowed !important;
  pointer-events:none !important;
  background:var(--Disabled) !important;
  color:var(--DisabledText) !important;
  border:1px solid var(--BorderLight) !important;
  box-shadow:none !important;
  opacity:0.6 !important;
  transform:none !important;
}

/* Hero - modified for full viewport */
.hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center; /* Center vertically in available space */
  gap:24px;
  text-align:center;
  padding:0 16px;
  max-width:1200px;
  margin:0 auto;
  flex:1; /* Take remaining space after topbar */
  min-height:0; /* Allow flexbox to work properly */
}

/* Header Section Styles - Added from HTML */
.header-section {
  padding: 0;
  text-align: center;
  width: 100%;
}

.header-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Main Content Styles - Added from HTML */
.main-content {
  flex: 1;
  padding: 120px 20px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  text-align: center;
}

.title {
  margin: 0 0 24px;
  font-weight: 600;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #020817;
}

.title .script {
  font-family: 'Ms Madi', cursive;
  font-weight: 400;
  font-size: 1em;
  letter-spacing: 0;
  color: var(--Main);
}

.subtitle {
  max-width: 900px;
  margin: 0 auto 40px;
   font-size: 1em;
  font: 400 22px/1.6 'Degular Variable', Inter, system-ui, sans-serif!important;
  color: #2C2C2C;
}

.contact-email {
  font: 400 15px/1.3 'Degular Variable', Inter, system-ui, sans-serif;
  color: var(--Main);
  text-decoration: underline;
  text-underline-offset: 4px;
  margin-top: 0px;
  display: inline-block;
}

.contact-email:hover {
  color: gray;
}

.cta{margin-top:12px}

/* Disclaimers */
.disclaimers {
  margin-top: 12px;
  display: grid;
  gap: 1px;
}

.legal {
  color: #9ca3af; /* Lighter gray */
  font: 400 14px/20px 'Degular Variable', Inter, system-ui, sans-serif; /* Changed from 500 to 400 */
}

.legal a {
  color: #9ca3af; /* Same light gray */
  font: 400 14px/20px 'Degular Variable', Inter, system-ui, sans-serif; /* Changed from 500 to 400 */
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease; /* Smooth animation */

}

.legal a:hover {
  color: #6b7280; /* Darker gray on hover */
}

.checkline {
  color: #9ca3af; /* Same light gray */
  font: 400 12px/20px 'Degular Variable', Inter, system-ui, sans-serif; /* Changed from 500 to 400 */
  display: inline-flex;
  align-items: center;
  gap: 3px;
  justify-content: center;
 
}

.check-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.checkbox {
  width: 12px;
  height: 12px;
  position: relative;
  border-radius: 2px;
  flex: none;
  border: 1px solid #d1d5db; /* Light gray border */
}

.checkbox::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(128, 128, 128, 0.5); /* Semi-transparent gray */
  font-size: 10px;
  font-weight: 600;
  opacity: 0; /* Will remain hidden until changed to 1 */
  transition: opacity 0.12s ease;
}

.check-input:checked + .checkbox {
  background: rgba(59, 130, 246, 0.1);
 
}

.check-input:checked + .checkbox::after {
  opacity: 1;
}

.check-input:focus + .checkbox {
  outline: 0.5px solid red ;
  outline-offset: 0px;
}

.check-input:checked:focus + .checkbox {
  outline: none;
}
/* Features section */
.features {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  padding: 71px 140px;
  background: var(--GradientMid);
  color: var(--TextDark);
}

.features .inner {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.feature{display:inline-flex;align-items:center;gap:10px;font:400 14px/1.2 'Degular Variable',Inter,system-ui,sans-serif}
.feature .icon{width:20px;height:20px;flex:none;stroke:var(--Main)}

/* ===== NEW: Why Choose Crystal DOC? ===== */
.why-choose{
  background: var(--White);
  color: var(--TextDark);
  text-align: center;
  padding: 100px 20px;
}
.why-choose .inner{
  max-width: 1200px;
  margin: 0 auto;
}
.why-title{
  font: 600 clamp(28px, 5vw, 48px)/1.2 'Degular Variable', Inter, system-ui, sans-serif;
  margin: 0 0 12px;
  color: var(--TextDark);
}
.why-title .script{
  font-family: 'Ms Madi', cursive;
  font-weight: 400;
  color: var(--Main);
}
.why-subtitle{
  font: 400 22px/1.4 'Degular Variable', Inter, system-ui, sans-serif;
  color: var(--TextMuted);
  max-width: 920px;
  margin: 0 auto 90px;
}
.why-cards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  align-items: stretch;
   
      min-height: 200px; /* Minimum height */
  
  
}
.why-card{
   
  display: flex;
  min-width: 330px;
  max-width: 380px;
  padding: 52px 40px;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  flex: 1 0 0;
  align-self: stretch;       
  border-radius: 24px;
  border: 1px solid var(--BorderLight);
  background: var(--White);
  box-shadow: 0 4px 20px rgba(59,130,246,.08);

}
.why-icon {
  width: 80px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 24px;
  border: 2px solid var(--Main);
  padding:20px; 
  box-sizing: border-box; 
}

.why-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.why-card h3{
  margin: 0 0 6px;
  font: 600 22px/1.3 'Degular Variable', Inter, system-ui, sans-serif;
  color: var(--TextDark);
}
.why-card p{
  margin: 0;
  font: 400 19px/1.6 'Degular Variable', Inter, system-ui, sans-serif;
  color: var(--TextMuted);
}

/* === Features Deep section === */
.features-deep{padding:40px 0;background:var(--NeutralLight);}
.features-deep .inner{max-width:1120px;margin:0 auto;padding:0 24px;}
.features-deep__title{margin:0 0 10px;text-align:center;color:var(--TextDark);font-size:60px;line-height:1;letter-spacing:0;}
.features-deep__title .script{font-family:"Ms Madi", cursive;font-weight:400;font-size:60px;color:var(--Main);}
.features-deep__title strong{font-family:"Degular Variable","Inter",system-ui,sans-serif;font-weight:600;font-size:60px;color:var(--TextDark);}
.features-deep__subtitle{margin:0 auto 40px;max-width:780px;text-align:center;
  font-family:"Degular Variable","Inter",system-ui,sans-serif;font-size:24px;font-weight:400;line-height:1.4;color:var(--TextMuted);
}
/* Grid */
.features-deep__grid{display:grid;gap:32px;grid-template-columns:1fr;}
@media(min-width:992px){.features-deep__grid{grid-template-columns:1fr 1fr;}}

/* Cards */
.fd-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:48px;
  padding:79px;border-radius:24px;
  border:1px solid var(--BorderLight);background:var(--White);box-shadow:0 4px 20px rgba(59,130,246,.06);

}
.fd-card__header{display:flex;align-items:center;gap:12px;align-self:stretch;}
.fd-card__icon{width:40px;height:40px;flex-shrink:0;}
.fd-card__header h3{margin:0;font-family:"Degular Variable","Inter",system-ui,sans-serif;font-size:27px;font-weight:600;line-height:28px;color:var(--TextDark);}

/* List alignment fixes */
.fd-list,.fd-bullets{
  display:flex;
  flex-direction:column;
  gap:20px;
  list-style:none;
  padding:0;
  margin:0;
  align-self:stretch;
}

.fd-list li {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  align-items: start !important;
  gap: 16px !important;
  font-family: "Degular Variable", "Inter", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  color: var(--TextDark);
}

.fd-bullets li {
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  align-items: start !important;
  gap: 16px !important;
  font-family: "Degular Variable", "Inter", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  color: var(--TextDark);
}

.fd-list__icon_with_border {
  width: 44px !important;
  height: 44px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  border: 2px solid var(--Main);
  border-radius: 8px;
  padding: 10px;
  box-sizing: border-box;
}

.fd-bullet__icon {
  width: 28px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.fd-list__icon_with_border img,
.fd-bullet__icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.fd-line {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  min-width: 0;
  word-break: normal;
  overflow-wrap: anywhere;
  white-space: normal;
  margin-top: -2px;
}

.fd-list strong{
  font-weight: 600;
  color: var(--TextDark);
  font-size: 18px;
  line-height: 28px;
  margin: 0;
}

.fd-desc{
  word-break: normal;
  overflow-wrap: anywhere;
  color: var(--TextMuted) !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  margin: 0;
}

.fd-line .fd-sep{
  display: none;
}

/* ===== How to Install ===== */
.how-install {
  background: var(--White);
  color: var(--TextDark);
  padding: 40px 110px;
  
}
.how-install__inner {
  margin: 44px auto; /* top/bottom 44px, right/left auto */

  width: fit-content; /* or define a fixed width */
}

.how-install__title {
  margin: 0 0 12px;
  text-align: center;
  color: var(--TextDark);
  font-size: 60px;
  line-height: 1;
}
.how-install__title .script {
  font-family: "Ms Madi", cursive;
  font-weight: 400;
  color: var(--Main);
}
.how-install__title .strong {
  font-family: "Degular Variable", Inter, system-ui, sans-serif;
  font-weight: 600;
  color: var(--TextDark);
}
.how-install__subtitle {
  max-width: 820px;
  margin: 0 auto 90px;
  text-align: center;
  color: var(--TextMuted);
  font: 400 24px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
}

.how-install__steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 32px;
}
.how-step {
  display: flex;
  grid-template-columns: 48px 1fr;
   align-items: top ; /* Vertically centers the number and text */
  gap: 26px;
}

.how-step__num {
 width: 48px;
  height: 48px;
  min-width: 48px; /* Add this */
  max-width: 48px; /* Add this */
  flex-shrink: 0;
  border-radius: 12px;
  border: 1px solid var(--Main);
  box-shadow: 0 4px 20px rgba(59,130,246,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 16px/1 "Degular Variable", Inter, system-ui, sans-serif;
  color: var(--Main);
}

.how-step__content {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.how-step__icon {
  width: 44px; 
  height: 44px;
  display: flex; 
  align-items: center; 
  justify-content: center;
  flex: 0 0 44px;
  margin-top: 2px;
}
.how-step__icon img {
  width: 28px; 
  height: 28px;
  max-width: 100%; 
  max-height: 100%;
  object-fit: contain; 
  display: block;
}

.how-step__body {
  flex: 1;
  min-width: 0;
}

.how-step__title {
  margin: 0 0 8px;
  color: var(--TextDark);
  font: 600 24px/1.3 "Degular Variable", Inter, system-ui, sans-serif;
}

.how-step__desc {
  margin: 0;
  color: var(--TextMuted);
  font: 400 20px/1.6 "Degular Variable", Inter, system-ui, sans-serif;
}

/* ===== Perfect For Everyone ===== */
.perfect-for {
  background: var(--NeutralLight);
  color: var(--TextDark);
  padding: 96px 20px;
}
.perfect-for__inner {
  max-width: 1120px;
  margin: 0 auto;
}

.perfect-for__title {
  margin: 0 0 12px;
  text-align: center;
  color: var(--TextDark);
  font-size: 60px;
  line-height: 1;
}
.perfect-for__title .script {
  font-family: "Ms Madi", cursive;
  font-weight: 400;
  color: var(--Main);
}
.perfect-for__title .strong {
  font-family: "Degular Variable", Inter, system-ui, sans-serif;
  font-weight: 600;
  color: var(--TextDark);
}
.perfect-for__subtitle {
  max-width: 820px;
  margin: 0 auto 90px;
  text-align: center;
  color: var(--TextMuted);
  font: 400 24px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
}

.perfect-for__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  justify-content: center; /* Centers the grid */
}

.pf-card {
  display: flex;
   min-width: 220px; /* Minimum width */
  flex: 1;          /* Expand within flex container */
  padding: 42px 32px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
  border-radius: 20px;

  background: var(--White);
  box-shadow: 0 4px 20px rgba(59,130,246,.06);
}

.pf-card__icon {
  width: 64px;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  border: 2px solid var(--Main);
  padding: 16px;
  box-sizing: border-box;
}

.pf-card__icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.pf-card__title {
  margin: 0;
  color: var(--TextDark);
  font: 600 20px/1.3 "Degular Variable", Inter, system-ui, sans-serif;
}

.pf-card__desc {
  margin: 0;
  color: var(--TextMuted);
  font: 400 16px/1.5 "Degular Variable", Inter, system-ui, sans-serif;
}

/* ===== Comparison Section ===== */
.comparison {
  background: var(--White);
  color: var(--TextDark);
  padding: 166px 20px;
}
.comparison__inner {
  max-width: 1120px;
  margin: 0 auto;
}

.comparison__title {
  margin: 0 0 12px;
  text-align: center;
  color: var(--TextDark);
  font-size: 60px;
  line-height: 1;
}
.comparison__title .script {
  font-family: "Ms Madi", cursive;
  font-weight: 400;
  color: var(--Main);
}

.comparison__subtitle {
  max-width: 820px;
  margin: 0 auto 90px;
  text-align: center;
  color: var(--TextMuted);
  font: 400 24px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
}

.comparison__table {
  max-width: 1450px;
  margin: 0 auto;
}

.comp-table {
  border-radius: 24px;
  overflow: hidden;

  box-shadow: 0 4px 20px rgba(59,130,246,.06);
}

.comp-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
 
}
.comp-row--header .comp-cell {
  padding: 50px 16px;
  font: 600 25px/1.3 "Degular Variable", Inter, system-ui, sans-serif;
  text-align: center;
  border-bottom: 1px solid var(--BorderLight); /* Added this */
}

.comp-cell--online {
  background: var(--NeutralLight);
  color: var(--TextMuted);
  border: 1px solid var(--BorderLight);
}

.comp-cell--crystal {
  background: var(--Main);
  color: var(--White);
}

.comp-cell--difference {
  background: var(--AccentLight);
  color: var(--TextDark);
  border: 1px solid var(--BorderLight);
}

.comp-row:not(.comp-row--header) .comp-cell {
  padding: 20px 16px;
  font: 400 20px/1.5 "Degular Variable", Inter, system-ui, sans-serif;
  color: var(--TextMuted);
  text-align: center;
  border-bottom: 1px solid var(--BorderLight);
  background: var(--White);
}

.comp-row:not(.comp-row--header) .comp-cell--crystal {
  background: var(--Main);
  color: var(--White);
  font-weight: 600;
}
.comp-row:not(.comp-row--header) .comp-cell--difference {
  background: var(--AccentLight);
  color: var(--TextDark);
  font-weight: 500;
}
.comp-row:last-child .comp-cell {
  border-bottom: none;
}

/* ===== Stats Section ===== */
.stats {
  background: var(--NeutralLight);
  padding: 96px 20px;
}

.stats__inner {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  align-items: center;
}

.stat-card {
  text-align: center;
}

.stat-number {
  font: 600 48px/1.2 "Degular Variable", Inter, system-ui, sans-serif;
  color: var(--Main);
  margin: 0 0 8px;
}

.stat-label {
  font: 400 16px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
  color: var(--TextMuted);
  opacity: 0.9;
}

/* ===== FAQ Section ===== */
.faq {
  background: var(--White);
  color: var(--TextDark);
  padding: 96px 20px;
}

 .faq-item {
  padding: 24px 0;
  border-bottom: 1px solid var(--BorderLight);
    text-align: left; /* Left alignment */
}

.faq-item:last-child {
  border-bottom: none; /* No border after the last item */
}

.faq-item h2 {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
  color: var(--TextDark);
}

.faq-item p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--TextMuted);
}
  .faq__inner {
      max-width: 900px;   /* Limits width for comfortable reading */
      margin: 0 auto;     /* Centers the content */
      padding: 0 40px;    /* Adds spacing from the edges */
    }

/* ===== Final CTA Section ===== */
.final-cta {
  background: var(--Main);
  color: var(--White);
  padding: 96px 20px;
  text-align: center;
}

.final-cta__inner {
  max-width: 1120px;
  margin: 0 auto;
}

.final-cta__title {
  margin: 0 0 24px;
  color: var(--White);
  font-size: 60px;
  line-height: 1;
}
.final-cta__title .script {
  font-family: "Ms Madi", cursive;
  font-weight: 400;
  color: var(--AccentLight);
}

.final-cta__subtitle {
  max-width: 820px;
  margin: 0 auto 90px;
  color: rgba(255,255,255,.85);
  font: 400 24px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
}
/* Final CTA button updates - Updated code */
.final-cta__button {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.final-cta__button .btn {
  width: auto;
  min-width: 300px;
  max-width: 400px;
  padding: 20px 40px;
  background: var(--White);
  color: var(--Main);
  border-color: var(--White);
  cursor: pointer; /* Added this */
  pointer-events: auto; /* Added this */
}

/* Change the hover state to blue with white text - exactly like the top button */
.final-cta__button .btn:hover {
  background: var(--Main) !important;
  color: var(--White) !important;
  border-color: var(--Main) !important;
  box-shadow: 0 12px 28px rgba(59,130,246,.35);
  transform: translateY(-1px);
}

/* If there's a download icon in the bottom button, also add: */
.final-cta__button .btn:hover .download-icon {
  filter: brightness(0) invert(1); /* Makes the icon white */
}

/* ===== Footer Section ===== */
.footer {
  background: var(--TextDark);
  color: rgba(255, 255, 255, 0.8);
  padding: 80px 20px 32px;
}

.footer__inner {
  max-width: 1120px;
  margin: 0 auto;
}

.footer__main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 40px;
}

.footer__brand {
  display: flex;
  flex-direction: row;
  align-items: flex-start; /* Align to top */
  gap: 12px;
}

.footer__logo {
  height: 40px; /* Was 28px - enlarged */
  width: auto;
  filter: brightness(0) invert(1);
}

.footer__tagline {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font: 400 16px/1.5 "Degular Variable", Inter, system-ui, sans-serif;
  max-width: 400px;
}

.footer__links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.footer__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer__title {
  margin: 0;
  color: var(--White);
  font: 600 18px/1.3 "Degular Variable", Inter, system-ui, sans-serif;
}

.footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer__link {
  color: rgba(255, 255, 255, 0.7);
  font: 400 14px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer__link:hover {
  color: var(--White);
}

.footer__bottom {
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer__copyright {
  margin: 0;
  color: rgba(255, 255, 255, 0.6);
  font: 400 14px/1.4 "Degular Variable", Inter, system-ui, sans-serif;
  text-align: center;
}

/* Mobile Responsive */
@media (max-width:600px){
  .btn{padding:20px 32px}
  .btn--small{padding:16px 32px;font-size:18px;}
  .btn--disabled,
.btn[aria-disabled="true"] {
  cursor: not-allowed !important;
  pointer-events: none !important;
  opacity: 0.6;
}

.top-download.btn--disabled,
.top-download[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
.top-download:hover {
  display: flex;
  padding: 16px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 14px;
  border: 1px solid var(--Main);
  background: var(--Main);
  color: var(--White);
  backdrop-filter: blur(8px);
}
  .btn.btn--disabled,.btn[aria-disabled="true"],.btn:disabled{padding:20px 32px}
  .features .inner{padding:40px 16px}
  .why-choose{padding:64px 16px}
  .features-deep{padding:72px 0;}
  .features-deep__title,.features-deep__title .script,.features-deep__title strong{font-size:40px;}
  .fd-card{padding:24px;gap:24px;}
  .fd-list li,.fd-bullets li{font-size:18px;line-height:26px;}
  
  .fd-list li {
    grid-template-columns: 36px 1fr !important;
    gap: 12px !important;
  }
  .fd-bullets li {
    grid-template-columns: 24px 1fr !important;
    gap: 12px !important;
  }
  .fd-list__icon_with_border {
    width: 36px !important;
    height: 36px !important;
    padding: 8px;
  }
  .fd-bullet__icon {
    width: 24px !important;
    height: 24px !important;
  }
  .fd-list strong {
    font-size: 18px !important;
    line-height: 24px !important;
  }
  .fd-desc {
    font-size: 14px !important;
    line-height: 20px !important;
  }
  
  .how-install { padding: 40px 16px; }
  .how-install__title { font-size: 40px; }
  .how-install__steps { gap: 24px; }
  .how-step { grid-template-columns: 40px 1fr; gap: 16px; }
  .how-step__num { width: 40px; height: 40px; font-size: 14px; }
  .how-step__content { gap: 12px; }
  .how-step__icon { width: 36px; height: 36px; }
  .how-step__icon img { width: 24px; height: 24px; }
  .how-step__title { font-size: 20px; }
  .how-step__desc { font-size: 18px; }
  .how-step__title-wrap {
  display: flex;
  align-items: center;
  gap: 10px; /* Space between icon and text */
}

.how-step__inline-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
  .perfect-for { padding: 72px 16px; }
  .perfect-for__title { font-size: 40px; }
  .perfect-for__grid { 
    grid-template-columns: repeat(2, 1fr);
    gap: 16px; 
  }
  .pf-card { padding: 24px 12px; gap: 16px; width: 200;}
  .pf-card__icon { width: 48px; height: 48px; padding: 12px; }
  .pf-card__title { font-size: 18px; }
  .pf-card__desc { font-size: 16px; }
  
  .comparison { padding: 72px 16px; }
  .comparison__title { font-size: 40px; }
  .comp-row { grid-template-columns: 1fr; }
  .comp-row--header .comp-cell { font-size: 18px; padding: 16px 12px; }
  .comp-row:not(.comp-row--header) .comp-cell { font-size: 14px; padding: 16px 12px; }
  
  .stats { padding: 72px 16px; }
  .stats__inner { 
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
  }
  .stat-number { font-size: 36px; }
  .stat-label { font-size: 14px; }
  
  .faq { padding: 72px 16px; }
  .faq__title { font-size: 40px; }
  .faq__subtitle { font-size: 18px; }
  .faq-item { padding: 24px; }
  .faq-item__question { font-size: 18px; }
  .faq-item__answer { font-size: 14px; }
  
  .final-cta { padding: 72px 16px; }
  .final-cta__title { font-size: 40px; }
  .final-cta__subtitle { font-size: 18px; }

  /* Mobile responsive for footer - Added from HTML styles */
  .footer {
    padding: 60px 16px 24px;
  }
  
  .footer__main {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 32px;
  }
  
  .footer__links {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  
  .footer__tagline {
    font-size: 14px;
  }
  
  .footer__title {
    font-size: 16px;
  }
  
  .footer__link {
    font-size: 13px;
  }
  
  .footer__copyright {
    font-size: 12px;
  }

  /* Additional mobile adjustments for About page */
  .main-content {
    padding: 60px 16px;
  }
  
  .subtitle {
    font-size: 16px;
    margin-bottom: 30px;
  }
  
  .contact-email {
    font-size: 18px;
  }
  
  .faq-item {
    padding: 24px 0;
    border-bottom: 1px solid var(--BorderLight);
  }

  .faq-item:last-child {
    border-bottom: none;
  }

  .faq-item h2 {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 600;
    color: var(--TextDark);
  }

  .faq-item p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--TextMuted);
  }

  /* Hero container mobile adjustments */
  .hero-container {
    min-height: 100vh;
    min-height: 100dvh;
  }
  
  .hero {
    padding: 20px 16px;
  }
  
  .title {
    font-size: clamp(28px, 8vw, 48px);
  }
  
  .subtitle {
    font-size: clamp(14px, 3vw, 18px);
  }
}

/* Zoom compatibility - ensures layout works at 150% zoom */
@media (min-resolution: 1.5x) {
  .hero-container {
    min-height: 100vh;
  }
  
  .hero {
    padding: 20px;
  }
}

/* Large screen adjustments */
@media (min-width: 1920px) {
  .hero-container {
    min-height: 100vh;
  }
  
  .hero {
    max-width: 1400px;
  }
  
  .title {
    font-size: clamp(48px, 4vw, 88px);
  }
  
  .subtitle {
    font-size: clamp(18px, 1.5vw, 26px);
  }
  
}


/* Add this CSS to your main.css file */

/* Download Arrow Indicator Container - POSITIONED FROM RIGHT EDGE */


/* Content wrapper for arrow and text */
.indicator-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  /* Smooth horizontal animation on the container */
  animation: smoothHorizontal 2.5s ease-in-out infinite;
}

/* The arrow image */
.indicator-arrow{
  display:block;
 margin-top:20px;   /* Adjust according to actual display */
 margin-right:300px;   /* Adjust according to actual display */

  
  /* Shadow effects for visibility */
  filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.3)) 
          drop-shadow(0 10px 25px rgba(0, 0, 0, 0.2));
  
  /* No rotation - perfectly straight */
  transform: rotate(0deg);
  
  /* Remove the white glow background */
  background: transparent;
  border-radius: 0;
  padding: 0;
}

/* Text box styling - centered in middle of arrow */
.indicator-text-box {
  position: absolute;
  top: 45%;
  left: 26%;
  transform: translate(-50%, -50%);
  text-align: center;
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
  width: 100%;
  pointer-events: auto;
  z-index: 10;
}

/* Title text - plain white */
.indicator-title {

  font-size: 27px;
  font-weight: bold;
  color: #ffffff;
  margin-left: 244;
  margin: 3 0 8px 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  text-shadow: none;
  letter-spacing: normal;
}

/* Subtitle/link text - plain white */
.indicator-subtitle {
  font-size: 14px;
  color: #ffffff;
  margin: 0;
  line-height: 1.4;
  text-shadow: none;
}

/* Download link styling - plain white with underline */
.indicator-link {
  color: #ffffff;
  text-decoration: underline;
  cursor: pointer;
  transition: opacity 0.2s ease;
  font-weight: normal;
}

.indicator-link:hover {
  color: #ffffff;
  opacity: 0.8;
  text-decoration: underline;
}

/* Smooth horizontal-only animation (faster) */
@keyframes smoothHorizontal {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(35px);
  }
}

/* Alternative: Continuous pendulum motion */
@keyframes pendulumSmooth {
  0% {
    transform: translateX(-20px);
  }
  50% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(-20px);
  }
}

/* Use this class for pendulum animation */
.indicator-content.pendulum {
  animation: pendulumSmooth 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Alternative: Figure-8 horizontal motion */
@keyframes figure8 {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(25px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(-25px);
  }
}

/* Use this class for figure-8 motion */
.indicator-content.figure8 {
  animation: figure8 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}



/* Ensure text box stays visible and clickable */
.indicator-text-box {
  z-index: 10;
  cursor: default;
}

/* OVERRIDE ALL OTHER POSITIONING - USE THIS IF NOTHING ELSE WORKS */
#downloadIndicator {
  right: 200px !important;
}
/* ===== OVERLAY STYLES ===== */


/* Ensure the indicator stays above the overlay */
.download-indicator {
  position: fixed;
  top: 0 !important;
  right: 350px !important;
  z-index: 2147483647; /* Maximum z-index - stays above overlay */
  pointer-events: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.download-indicator.show {
  opacity: 1;
  visibility: visible;
}

.download-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  z-index: 2147483646; /* One less than the indicator */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  cursor: pointer; /* Shows it's clickable */
  pointer-events: auto; /* Ensure it receives click events */
  
  background-color: rgba(0, 0, 0, 0.5); /* Black-gray color with transparency */
}


.download-overlay.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto; /* Ensure it's clickable when visible */
}
/* ===== SMOOTH ANIMATION FIXES ===== */

/* Fix for smooth horizontal animation - using linear for consistent speed */
@keyframes smoothHorizontal {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(35px);
  }
  100% {
    transform: translateX(0);
  }
}

/* Apply linear timing for smooth continuous motion */
.indicator-content {
  animation: smoothHorizontal 3s linear infinite; /* Changed to linear for smooth motion */
}

/* Alternative smooth pendulum motion */
@keyframes pendulumSmooth {
  0% {
    transform: translateX(-20px);
  }
  50% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(-20px);
  }
}

/* Use linear timing for pendulum too */
.indicator-content.pendulum {
  animation: pendulumSmooth 2.5s linear infinite; /* Linear for smooth motion */
}

/* Alternative smooth figure-8 motion */
@keyframes figure8 {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(25px);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(-25px);
  }
  100% {
    transform: translateX(0);
  }
}

/* Use linear timing for figure-8 */
.indicator-content.figure8 {
  animation: figure8 4s linear infinite; /* Linear for smooth motion */
}

/* Optional: Add a subtle rotation for extra smoothness */
@keyframes smoothRotate {
  0% {
    transform: translateX(0) rotate(0deg);
  }
  25% {
    transform: translateX(25px) rotate(2deg);
  }
  50% {
    transform: translateX(0) rotate(0deg);
  }
  75% {
    transform: translateX(-25px) rotate(-2deg);
  }
  100% {
    transform: translateX(0) rotate(0deg);
  }
}

/* Use this class for smooth rotation animation */
.indicator-content.smooth-rotate {
  animation: smoothRotate 3s linear infinite;
}

/* Ensure smooth rendering */
.indicator-content,
.indicator-arrow {
  will-change: transform; /* Hint browser to optimize animation */
  backface-visibility: hidden; /* Prevents flickering */
  -webkit-font-smoothing: antialiased; /* Smooth text rendering */
  transform: translateZ(0); /* Enable hardware acceleration */
}
body .download-overlay,
body .download-overlay.show,
#downloadOverlay,
#downloadOverlay.show {
  cursor: default !important;
}
* Main navigation */
.main-nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.nav-link {
  font-family: 'Degular Variable', Inter, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--TextDark);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 8px;
  transition: all 0.2s ease;
  position: relative;
}

.nav-link:hover {
  color: var(--Main);
  background-color: rgba(59, 130, 246, 0.08);
}

/* Mobile navigation - add to your existing mobile section */
@media (max-width: 768px) {
  .logo-text {
    font-size: 20px;
  }
  
  .main-nav {
    display: none; /* Hide navigation on mobile */
  }
}
/* Debug mode - uncomment to see exact positioning */
/* .download-indicator {
  border: 2px solid red;
  background: rgba(255, 0, 0, 0.1);
}
.indicator-arrow {
  border: 2px solid blue;
  background: rgba(0, 0, 255, 0.1);
}
.indicator-text-box {
  border: 2px solid green;
} */