html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
}

body {
  line-height: 150%;
  font-size: 16px;
  font-family: 'Montserrat', Arial, sans-serif;
  letter-spacing: -0.02em;
  background-color: #ffffff;
  color: #fff;
  min-height: 100vh;
}

.lp-header-image {

  background-image: url('https://pages.lenovo.com/rs/183-WCT-620/images/20260129-thinkvision-lp-masthead.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 520px;
  padding-top: 30px;
}
  
  .lp-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .lp-main {
    padding-top: 60px;
    padding-bottom: 60px;
    
  }
  .brand-logo {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .hero-title {
    font-size: 50px;
    line-height: 95%;
    font-weight: 700;
    max-width: 600px;
   
    margin-bottom: 16px;
  }
  .hero-subtitle {
    font-size: 24px;
    font-weight: 600;
   
  }
  .badge-list li {
    margin-bottom: 6px;
  }
  .badge-title {
    font-weight: 600;
  }
  .form-top-image {
    position: absolute;
    top: -165px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 100%;
    text-align: center;
  }

  .form-top-image img {
    max-width: 360px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  /* Add top padding to form card to accommodate image */
  #form-section .lp-card, #form-section .lp-card-thankyou {
    margin-top: -120px;
  }

  /* iPad Pro (1024x1366) */
  @media (min-width: 1024px) and (max-width: 1366px) and (hover: none)
  and (pointer: coarse) {
    .form-top-image {
      top: -68px;
    }

    .form-top-image img {
      max-width: 250px;
    }

    #form-section .lp-card {
      margin-top: 70px;
    }
  }

  @media (max-width: 991.98px) {
    .form-top-image {
      position: relative;
      top: 50px;
      left: 0;
      transform: none;
      margin-bottom: 0px;
    }

    #form-section .lp-card, #form-section .lp-card-thankyou {
      margin-top: 0;
    }
  }

  @media (max-width: 767.98px) {
    .form-top-image {
      position: relative;
      top: 50px;
      left: 0;
      transform: none;
      margin-bottom: 50px;
    }

    #form-section .lp-card, #form-section .lp-card-thankyou {
      margin-top: 0;
    }
  }

  .lp-card {
    background: #fff; 
    background-image: url('https://pages.lenovo.com/rs/183-WCT-620/images/20260129-thinkvision-lp-form-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 36px;
    border-radius: 10px;
    color: #212121;
   
  }

  .lp-card-thankyou{
    background: #fff; 
    background-image: url('https://pages.lenovo.com/rs/183-WCT-620/images/20260129-thinkvision-lp-form-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 36px;
    border-radius: 10px;
    color: #333;
    min-height: 400px;
  }
  .lp-card-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 16px;
  }

  .lp-card-title-thankyou {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 16px;
    margin-top: 66px;
  }
  .lp-footer {
    background: #F2F3F4;
    color: #1E0013;
    padding: 16px 0 32px;
    font-size: 12px;
    line-height: 150%;
  }
  .lp-footer a {
    color: #1E0013;
    text-decoration: none;
  }
  .lp-footer a:hover {
    text-decoration: underline;
  }
  .hero-image-placeholder {
    width: 100%;
    border-radius: 8px;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    margin-bottom: 20px;
    font-size: 14px;
    color: #ccc;
  }

  .feature-icon {
    width: 60px;
    height: auto;
    max-height: 60px;
    flex-shrink: 0;
    object-fit: contain;
    align-self: flex-start;
  }

  /* Product video trigger */
  .product-video-trigger {
    transition: opacity 0.3s ease;
  }

  .product-video-trigger:hover {
    opacity: 0.85;
  }

  /* Video Modal Close Button */
  .video-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1055;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    padding: 0;
    opacity: 1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }

  .video-modal-close:hover {
    background-color: rgba(255, 255, 255, 1);
    opacity: 1;
  }

  .video-modal-close::before,
  .video-modal-close::after {
    background-color: #000;
  }

  #videoModal .modal-content {
    border: none;
    background: transparent;
  }

  /* Extra spacing on left hero column */
  .hero-left {
    padding-right: 80px;
  }

  /* iPad Pro (1024x1366) */
  @media (max-width: 1024px) {
    .hero-left {
      padding-right: 40px;
    }

    .hero-title{
     line-height: 100%;
      max-width: 400px;
      font-size: 40px;
    }

    .hero-subtitle{
      font-size: 20px;
      max-width: 300px;
    }
  }

  @media (max-width: 991.98px) {
    .hero-left {
      padding-right: 0;
    }
  }

  /* Extra horizontal padding on mobile for both left & right sections */
  @media (max-width: 767.98px) {

    .lp-header-image{
      background-position: left;
      min-height: auto;
    }
    .lp-main .col-lg-6.hero-left, .lp-main .col-6, .lp-header-image .container {
      padding-left: 36px;
      padding-right: 36px;
      
    }

    .lp-card-title-thankyou{
      margin-top: 0;
    }

    #form-section{
        background:#ffffff;
    }

    .lp-card{
        box-shadow: none;
        padding-top: 36px;
        padding-bottom: 36px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .lp-main{
        padding-top: 36px;
        padding-bottom: 0;
    }

    .hero-title{
      font-size: 32px;
      color: #ffffff;
      line-height: 110%;
      
    }
    .hero-subtitle{
      font-size: 16px;
    }
    .lp-main .hero-image{
      width: 100%;
      height: auto;
    }

    .lp-footer{
        padding-left: 20px;
      padding-right: 20px;
    }
  }
  .btn-lenovo {
    background-color: #6b0f3f;
    border-color: #6b0f3f;
    color: #fff;
    font-weight: 600;
    padding: 8px 20px;
    border-radius: 4px;
  }
  .btn-lenovo:hover {
    background-color: #540b32;
    border-color: #540b32;
    color: #fff;
  }



  /* Signature red */
  .lenovo-bg-signature-red { background-color: #E1251B; }
  .lenovo-text-signature-red { color: #E1251B; }

  /* Primary / Deep tones */
  .lenovo-bg-deep-red-1 { background-color: #64131E; }
  .lenovo-text-deep-red-1 { color: #64131E; }

  .lenovo-bg-deep-red-2 { background-color: #871C23; }
  .lenovo-text-deep-red-2 { color: #871C23; }

  .lenovo-bg-deep-purple-1 { background-color: #4D144A; }
  .lenovo-text-deep-purple-1 { color: #4D144A; }

  .lenovo-bg-deep-purple-2 { background-color: #7A126B; }
  .lenovo-text-deep-purple-2 { color: #7A126B; }

  .lenovo-bg-deep-blue-1 { background-color: #11184F; }
  .lenovo-text-deep-blue-1 { color: #11184F; }

  .lenovo-bg-deep-blue-2 { background-color: #294E95; }
  .lenovo-text-deep-blue-2 { color: #294E95; }

  .lenovo-bg-black { background-color: #1E0013; }
  .lenovo-text-black { color: #1E0013; }

  .lenovo-bg-deep-gray { background-color: #4E444E; }
  .lenovo-text-deep-gray { color: #4E444E; }

  /* Mid tones */
  .lenovo-bg-mid-red-1 { background-color: #B8252E; }
  .lenovo-text-mid-red-1 { color: #B8252E; }

  .lenovo-bg-mid-red-2 { background-color: #F26A52; }
  .lenovo-text-mid-red-2 { color: #F26A52; }

  .lenovo-bg-mid-red-3 { background-color: #FFB9A2; }
  .lenovo-text-mid-red-3 { color: #FFB9A2; }

  .lenovo-bg-mid-gray { background-color: #ABA8B1; }
  .lenovo-text-mid-gray { color: #ABA8B1; }

  /* Pale tones */
  .lenovo-bg-pale-red-1 { background-color: #F0C7BF; }
  .lenovo-text-pale-red-1 { color: #F0C7BF; }

  .lenovo-bg-pale-red-2 { background-color: #FAECEB; }
  .lenovo-text-pale-red-2 { color: #FAECEB; }

  .lenovo-bg-pale-purple-1 { background-color: #D9C1D8; }
  .lenovo-text-pale-purple-1 { color: #D9C1D8; }

  .lenovo-bg-pale-purple-2 { background-color: #F1E1ED; }
  .lenovo-text-pale-purple-2 { color: #F1E1ED; }

  .lenovo-bg-pale-blue-1 { background-color: #C9D0F0; }
  .lenovo-text-pale-blue-1 { color: #C9D0F0; }

  .lenovo-bg-pale-blue-2 { background-color: #EAEEF5; }
  .lenovo-text-pale-blue-2 { color: #EAEEF5; }

  .lenovo-bg-pale-gray { background-color: #E6E2E4; }
  .lenovo-text-pale-gray { color: #E6E2E4; }

  .lenovo-bg-white { background-color: #FFFFFF; }
  .lenovo-text-white { color: #FFFFFF; }

  /* Marketo Form Styling */


  /* Marketo Form Container */
  .mktoForm {
    
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
    width: 100% !important;
    padding:0 !important;
  }

  /* Marketo Form Rows */
  .mktoFormRow {
    clear: unset;
    width: calc(50% - 15px);
  }

  .mktoForm .mktoFieldWrap{
    width: 100% !important;
  }
  /* Marketo Field Descriptors - Two Column Layout */
  .mktoFormRow .mktoFieldDescriptor {
    margin-bottom: 1rem;
  }

  /* First 3 rows should be 2 columns */
  .mktoFormRow.mktoFormCol
  {
    float: none !important;
    margin-bottom: 15px !important;
  }

  .ciNumberOfEmployees, .ciCountry, .cipmcfFlexField1, .cisalesNotesIDG, .ciemailPermissionStatus{
    width: 100% !important;
  }

  .mktoForm .mktoFormRow.ciemailPermissionStatus .mktoFieldWrap{
    display:flex;
  }
  .mktoForm .mktoFormRow.ciemailPermissionStatus .mktoFieldWrap label{
    order:2;
    margin-left:20px;
  }
  .mktoForm .mktoRadioList, .mktoForm .mktoCheckboxList{
    padding:0 !important;
  }

  .mktoForm .mktoCheckboxList input {
    width: 26px !important;
    height: 26px !important;
    margin: 0 15px 0 0;
    cursor: pointer;
}
  /* Labels */
  .mktoLabel {
    display: block !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #212121 !important;
    margin-bottom: 6px !important;
    line-height: 1.5 !important;
    width: auto !important;
  }

  .mktoLabel .mktoAsterix {
    color: #E1251B !important;
    display: none !important;
  }

  /* Input Fields */
  .mktoField {
    width: 100% !important;
    padding: 8px 12px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #333 !important;
    background-color: #fff !important;
    border: 1px solid #707070 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    font-family: 'Montserrat', sans-serif !important;
  }

  .mktoField:focus {
    border-color: #4D144A !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(77, 20, 74, 0.25) !important;
  }

  /* Select Dropdowns */
  .mktoFormRow select.mktoField {
    padding: 8px 12px !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
    padding-right: 2.5rem !important;
    appearance: none !important;
  }

  /* Radio Buttons */
  .mktoRadioList {
    margin-top: 8px !important;
  }

  .mktoRadioList .mktoField {
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px !important;
    margin-left: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  .mktoRadioList input[type="radio"].mktoField {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
  }

  .mktoRadioList .mktoLabel {
    display: inline !important;
    margin-left: 4px !important;
    margin-right: 16px !important;
    font-weight: 400 !important;
  }

  /* Textarea */
  .mktoFormRow textarea.mktoField {
    min-height: 100px !important;
    resize: vertical !important;
  }

  /* Checkbox */
  .mktoCheckboxList {
    margin-top: 8px !important;
  }

  .mktoCheckboxList .mktoField {
    width: auto !important;
    margin-right: 8px !important;
    margin-top: 2px !important;
  }

  .mktoCheckboxList .mktoLabel {
    display: inline !important;
    margin-left: 4px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
  }

  .mktoCheckboxList .mktoLabel a {
    color: #4D144A !important;
    text-decoration: underline !important;
  }

  .mktoCheckboxList .mktoLabel a:hover {
    color: #7A126B !important;
  }

  /* Privacy Policy link in checkbox text */
  .mktoCheckboxList .mktoLabel,
  .mktoFormRow .mktoLabel a {
    color: #333 !important;
  }

  .mktoFormRow .mktoLabel a {
    color: #4D144A !important;
    text-decoration: underline !important;
  }

  .mktoFormRow .mktoLabel a:hover {
    color: #7A126B !important;
  }

  /* Mandatory field text styling */
  .mandatory-field-text {
    font-size: 11px !important;
    color: #666 !important;
    margin-top: 0.5rem !important;
    text-align: right !important;
  }

  /* Button Row */
  .mktoButtonRow {
    margin-top: 1.5rem !important;
    margin-bottom: 0rem !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding-bottom: 0 !important;
  }

  /* Submit Button */
  .mktoButton {
    background-color: #4D144A !important;
    border-color: #4D144A !important;
    color: #fff !important;
    font-weight: 600 !important;
    padding: 14px 36px !important;
    font-size: 16px !important;
    border-radius: 4px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    font-family: 'Montserrat', sans-serif !important;
  }

  .mktoButtonWrap.mktoNative{
    margin:0 !important;
  }

  .mktoFormRow.cijobLevel, .mktoFormRow.ciadobeCIDz, .mktoForm .mktoFormRow.cimktoutmcampaign, .mktoForm .mktoFormRow.cimktoutmmedium, .mktoForm .mktoFormRow.cimktoutmsource, .mktoForm .mktoFormRow.cimktoutmterm, .mktoForm .mktoFormRow.cimktoutmcontentdownload, .mktoForm .mktoFormRow.cileadSourceLastIDG, .mktoForm .mktoFormRow.cileadSourceLast, .mktoForm .mktoFormRow.cicontactMeDate, .mktoForm .mktoFormRow.cicontactMeReason, .mktoForm .mktoFormRow.ciactiveStatus, .mktoForm .mktoFormRow.cigeography, .mktoForm .mktoFormRow.cicampaignStatusTrigger, .mktoForm .mktoFormRow.cibusinessGroupLast, .mktoForm .mktoFormRow.ciwebformReferralPageURLLast, .mktoForm .mktoFormRow.ciemailLastSource {
    display: none;
}

.mktoButtonRow:after {
    content: '* Mandatory field';
    color: #212121;
    font-size: 16px;
    display: inline-block;
    margin-left: auto;
    flex-shrink: 0;
}

  .mktoButton:hover {
    background-color: #7A126B !important;
    border-color: #7A126B !important;
    color: #fff !important;
  }

  .mktoButton:active {
    background-color: #64131E !important;
    border-color: #64131E !important;
  }

  /* Mandatory Field Text */
  .mktoForm .mktoRequiredField + .mktoLabel::after,
  .mktoForm .mktoAsterix {
    color: #E1251B !important;
  }

  /* Error Messages */
  .mktoError {
    color: #E1251B !important;
    font-size: 12px !important;
    margin-top: 4px !important;
  }

  /* Remove Marketo default styling */
  .mktoForm .mktoFormRow .mktoFormCol {
    float: none !important;
  }

  .mktoForm .mktoOffset {
    display: none !important;
  }

  /* Mandatory field text at bottom */
  .mktoFormRow:last-child {
    margin-top: 0.5rem;
  }

  .mktoFormRow:last-child .mktoLabel,
  .mktoFormRow:last-child .mktoField {
    display: inline !important;
    font-size: 11px !important;
    color: #666 !important;
    margin: 0 !important;
  }

  /* Mobile adjustments for Marketo form */
  @media (max-width: 767.98px) {
    .mktoFormRow{
        width: 100% !important;
    }

    .mktoButton {
      width: 100% !important;
    }

    .mktoForm .mktoFormRow input[type=text], .mktoForm .mktoFormRow input[type=tel], .mktoForm .mktoFormRow input[type=email] {
        padding: 16px 12px !important;
    }

    .mktoForm .mktoAsterix{
        float:right !important;
    }
    .mktoForm .mktoFormRow.ciemailPermissionStatus .mktoFieldWrap label{
        margin-left:0 !important;
    }

    .mktoButtonRow:after {
        font-size: 14px !important;
  }}
  /* Mobile Fixed Contact Button */
  .mobile-contact-btn {
    display: none;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    background-color: #FFFFFF;
    color: #000000;
    border: none;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    text-align: center;
    z-index: 9999 !important;
    box-shadow: 0 -2px 25px rgba(0, 0, 0, 0.5);
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.2s;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    visibility: visible !important;
    opacity: 1 !important;
  }

  .mobile-contact-btn:hover {
    background-color: #F5F5F5;
  }

  .mobile-contact-btn:active {
    background-color: #EEEEEE;
  }
  
  @media (max-width: 767.98px) {
    .mobile-contact-btn {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
    
    /* Add padding to body bottom to prevent content from being hidden behind button */
    body {
      padding-bottom: 60px;
    }
  }