body {
        font-family: Arial;
        background: #ffffff;
        margin: 0
      }

      .wrapper {
        max-width: 1000px;
        margin: 60px auto;
        background: #ffffff;
        padding: 40px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
      }

      h1 {
        margin-bottom: 40px
      }

      .flex {
        display: flex;
        gap: 40px;
        flex-wrap: wrap
      }

      .left,
      .right {
        flex: 1;
        min-width: 320px
      }

      .input-card {
        margin-bottom: 25px
      }

      .label-row {
        display: flex;
        justify-content: space-between;
        margin-bottom: 8px;
        font-weight: 600
      }

      input[type=number]::-webkit-inner-spin-button,
      input[type=number]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0
      }

      input[type=number] {
        -moz-appearance: textfield
      }

      .input-box {
        padding: 8px 12px;
        border-radius: 8px;
        border: 1px solid #d1d5db;
        width: 150px;
        text-align: right;
        font-weight: bold
      }

      .currency-input,
      .percent-input,
      .year-input {
        position: relative;
        display: inline-block
      }

      .currency-symbol {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: #6b7280
      }

      .currency-input input {
        padding-left: 25px
      }

      .percent-symbol,
      .year-symbol {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        color: #6b7280
      }

      .percent-input input,
      .year-input input {
        padding-right: 30px
      }

      input[type=range] {
        width: 100%;
        height: 6px;
        border-radius: 10px;
        background: #e5e7eb;
        appearance: none
      }

      input[type=range]::-webkit-slider-thumb {
        appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: #4f46e5;
        cursor: pointer
      }

      .result-box {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        padding: 20px;
        border-radius: 12px;
        margin-top: 20px
      }

      .result-table {
        width: 100%;
        border-collapse: collapse
      }

      .result-table td {
        padding: 12px 10px;
        border-bottom: 1px solid #e5e7eb
      }

      .result-table td:last-child {
        text-align: right;
        font-weight: 600
      }

      .total-row td {
        font-weight: 700;
        font-size: 18px;
        color: #4f46e5;
        border-bottom: none
      }

      .chart-container {
        width: 260px;
        height: 260px;
        margin: auto
      }

      .amortization {
        margin-top: 60px;
        padding: 30px;
        background: #ffffff
      }

      .year-row {
        padding: 18px 0;
        border-bottom: 1px solid #e5e7eb;
        display: flex;
        justify-content: space-between;
        font-weight: 600;
        cursor: pointer
      }

      .year-details {
        display: none;
        margin-top: 15px
      }

      .amort-table {
        width: 100%;
        border-collapse: collapse;
        background: #d9ece6;
        border-radius: 10px;
        overflow: hidden
      }

      .amort-table th {
        background: #c6ddd7;
        padding: 14px;
        text-align: left;
        font-weight: 600
      }

      .amort-table td {
        padding: 14px;
        border-top: 1px solid rgba(255, 255, 255, 0.4)
      }

      .amort-table td:last-child {
        text-align: right
      }

      .arrow {
        transition: 0.3s
      }

      .rotate {
        transform: rotate(180deg)
      }

      @media(max-width:768px) {
        .flex {
          flex-direction: column
        }
      }
      
      /* ===== HEADER ===== */

.site-header{
  width:100%;
  background:#ffffff;
  border-bottom:1px solid #e5e7eb;
  position:sticky;
  top:0;
  z-index:1000;
}

.header-container{
  max-width:1100px;
  margin:auto;
  padding:15px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.logo a{
  font-size:22px;
  font-weight:700;
  text-decoration:none;
  color:#111827;
}

.nav-menu{
  display:flex;
  gap:25px;
}

.nav-menu a{
  text-decoration:none;
  color:#374151;
  font-weight:500;
  transition:0.3s;
}

.nav-menu a:hover{
  color:#4f46e5;
}

.menu-toggle{
  display:none;
  font-size:24px;
  cursor:pointer;
}

/* ===== MOBILE ===== */

@media(max-width:768px){

  .nav-menu{
    position:absolute;
    top:60px;
    left:0;
    width:100%;
    background:#ffffff;
    flex-direction:column;
    align-items:center;
    padding:20px 0;
    border-top:1px solid #e5e7eb;
    display:none;
  }

  .nav-menu.active{
    display:flex;
  }

  .menu-toggle{
    display:block;
  }
}
.page-title{
  max-width:1000px;
  margin:30px auto 30px auto;
  font-size:30px;
  font-weight:700;
  color:#374151;
  padding:0 20px; /* prevent edge touching */
}
@media (max-width:768px){

  .page-title{
    font-size:28px;
    margin:30px auto 20px auto;
    line-height:1.2;
  }

}
.wrapper{
  max-width:1000px;
  margin:30px auto 30px auto; /* equal top & bottom */
  background:#ffffff;
  padding:40px;
  border-radius:16px;
  border:1px solid #e5e7eb;
}

.content-section{
  max-width:1000px;
  margin:30px auto;
  padding:0 20px;
  line-height:1.7;
  color:#374151;
}

.content-section h2{
  margin-top:40px;
  margin-bottom:15px;
  font-size:26px;
}

.content-section h3{
  margin-top:25px;
  font-size:20px;
}

.content-section ul,
.content-section ol{
  padding-left:20px;
  margin:15px 0;
}
/* ===== FAQ SECTION ===== */

.faq-section{
  max-width:1000px;
  margin:60px auto;
  padding:0 20px;
}

.faq-title{
  font-size:28px;
  margin-bottom:30px;
}

.faq-item{
  border:1px solid #e5e7eb;
  border-radius:12px;
  margin-bottom:15px;
  overflow:hidden;
  background:#ffffff;
  transition:0.3s;
}

.faq-question{
  padding:18px 20px;
  font-weight:600;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:16px;
}

.faq-question:hover{
  background:#f9fafb;
}

.faq-icon{
  font-size:20px;
  transition:0.3s;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
  padding:0 20px;
}

.faq-answer p{
  padding:15px 0;
  margin:0;
  color:#4b5563;
  line-height:1.6;
}

.faq-item.active .faq-answer{
  max-height:300px;
}

.faq-item.active .faq-icon{
  transform:rotate(45deg);
}

/* Mobile */
@media(max-width:768px){
  .faq-title{
    font-size:22px;
  }
}