/* templatein20 css 2026-09-04-01 */

:root{
  --ip-primary:#d61f8f;
  --ip-primary-ink:#a81272;
  --ip-primary-soft:#fbe3f1;
  --ip-deep:#8f1fb8;
  --ip-deep-ink:#6b1590;
  --ip-ink:#241b28;
  --ip-ink-soft:#5c4f63;
  --ip-ink-faint:#8a7d92;
  --ip-canvas:#f7f5f8;
  --ip-surface:#ffffff;
  --ip-border:#ece4ef;
  --ip-border-hover:#b8a9c2;
  --ip-active:#c05112;
  --ip-radius-s:4px;
  --ip-radius-m:10px;
  --ip-shadow:0 1px 3px rgba(36,27,40,.06), 0 6px 20px rgba(36,27,40,.05);
  --ip-glow:0 0 18px rgba(214,31,143,.28);
  --ip-font:'Outfit',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --ip-maxw:1120px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ip-font);
  background:var(--ip-canvas);
  color:var(--ip-ink);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5,h6{
  line-height:1.3;
  margin:0 0 .55em;
  font-weight:700;
  text-transform:capitalize;
}
p{margin:0 0 1em;}
button{font-family:inherit;}
p:empty{display:none;}

.ip20-wrap{
  max-width:var(--ip-maxw);
  margin:0 auto;
  padding:0 20px;
}

/* ---------- HEADER ---------- */
.ip20-header{
  background:var(--ip-surface);
  border-bottom:1px solid var(--ip-border);
  position:relative;
  z-index:40;
}
.ip20-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:14px;
  padding-bottom:14px;
}
.ip20-brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:700;
  font-size:1.1rem;
  color:var(--ip-ink);
  text-transform:capitalize;
  min-width:0;
}
.ip20-brand__img{
  height:36px;
  width:auto;
  border-radius:var(--ip-radius-s);
}
.ip20-brand__text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ip20-nav{
  display:flex;
  align-items:center;
}
.ip20-nav__list{
  display:flex;
  align-items:center;
  gap:4px;
  list-style:none;
  padding:0;
  margin:0;
}
.ip20-nav__link{
  display:inline-block;
  padding:8px 14px;
  font-size:.95rem;
  font-weight:500;
  color:var(--ip-ink);
  border-radius:var(--ip-radius-s);
  transition:background .15s, color .15s;
}
.ip20-nav__link:hover,
.ip20-nav__link:focus-visible{
  background:var(--ip-primary-soft);
  color:var(--ip-primary);
  outline:none;
}
.ip20-nav__link--home{
  font-weight:700;
}
.ip20-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:40px;
  height:40px;
  padding:10px;
  background:transparent;
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-s);
  cursor:pointer;
}
.ip20-burger__bar{
  display:block;
  width:100%;
  height:2px;
  background:var(--ip-ink);
  border-radius:1px;
  transition:transform .2s, opacity .2s;
}
.ip20-burger[aria-expanded="true"] .ip20-burger__bar:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.ip20-burger[aria-expanded="true"] .ip20-burger__bar:nth-child(2){
  opacity:0;
}
.ip20-burger[aria-expanded="true"] .ip20-burger__bar:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

/* ---------- HERO (dual-column, pink glow) ---------- */
.ip20-hero{
  padding:28px 20px 12px;
  max-width:var(--ip-maxw);
  margin:0 auto;
}
.ip20-hero__card{
  background:var(--ip-surface);
  border-radius:var(--ip-radius-m);
  box-shadow:var(--ip-glow);
  overflow:hidden;
  padding:36px;
  display:block;
}
.ip20-hero__title{
  font-size:2.1rem;
  font-weight:700;
  text-transform:capitalize;
  margin-bottom:12px;
  color:var(--ip-ink);
}
.ip20-hero__version{
  display:inline-block;
  background:var(--ip-primary-soft);
  color:var(--ip-primary-ink);
  padding:6px 14px;
  font-size:.88rem;
  font-weight:600;
  border-radius:var(--ip-radius-s);
  margin-bottom:16px;
  text-transform:none;
}
.ip20-hero__sub{
  font-size:.95rem;
  color:var(--ip-ink-soft);
  margin-bottom:18px;
  text-transform:none;
  font-weight:400;
}
.ip20-hero__desc{
  font-size:1rem;
  color:var(--ip-ink-soft);
  margin:16px 0 22px;
}
.ip20-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--ip-primary);
  color:#fff;
  font-weight:600;
  font-size:1rem;
  padding:12px 22px;
  min-width:200px;
  max-width:100%;
  border:2px solid transparent;
  border-radius:var(--ip-radius-s);
  cursor:pointer;
  transition:background .15s, border-color .15s, color .15s, transform .15s;
  text-decoration:none;
  text-align:center;
}
.ip20-btn:hover,
.ip20-btn:focus-visible{
  background:var(--ip-surface);
  color:var(--ip-primary);
  border-color:var(--ip-ink);
  outline:none;
}
.ip20-btn__icon{
  width:18px;
  height:18px;
  flex-shrink:0;
}
.ip20-btn--deep{
  background:var(--ip-deep);
}
.ip20-btn--deep:hover,
.ip20-btn--deep:focus-visible{
  color:var(--ip-deep);
  border-color:var(--ip-ink);
  background:var(--ip-surface);
}
.ip20-btn--square{
  border-radius:0;
  width:320px;
  max-width:100%;
  margin:0 auto;
}
.ip20-hero__trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.ip20-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  background:var(--ip-canvas);
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-s);
  font-size:.82rem;
  font-weight:500;
  color:var(--ip-ink-soft);
}
.ip20-chip__icon{
  width:14px;
  height:14px;
  color:var(--ip-primary);
}
.ip20-hero__visual{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:24px;
}
.ip20-hero__img{
  width:100%;
  max-width:320px;
  border-radius:var(--ip-radius-m);
  object-fit:cover;
}

/* ---------- SPECS TABLE (hero section / special) ---------- */
.ip20-specs{
  background:var(--ip-surface);
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-m);
  padding:28px;
  margin-top:20px;
  margin-bottom:20px;
  box-shadow:var(--ip-shadow);
}
.ip20-specs__title{
  font-size:1.3rem;
  margin-bottom:16px;
  color:var(--ip-ink);
}
.ip20-specs__table{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
}
.ip20-specs__table tr{
  border-bottom:1px solid var(--ip-border);
}
.ip20-specs__table tr:last-child{
  border-bottom:0;
}
.ip20-specs__table th,
.ip20-specs__table td{
  padding:10px 6px;
  vertical-align:top;
}
.ip20-specs__table--home th{
  text-align:left;
  font-weight:600;
  color:var(--ip-ink-soft);
  width:45%;
}
.ip20-specs__table--home td{
  text-align:right;
  color:var(--ip-ink);
}
.ip20-specs__table--special thead th{
  background:var(--ip-primary-soft);
  color:var(--ip-primary-ink);
  padding:10px;
  text-align:left;
  font-weight:600;
}
.ip20-specs__table--special td:first-child{
  font-weight:600;
  color:var(--ip-ink);
  width:45%;
}
.ip20-specs__table--special td:last-child{
  color:var(--ip-ink-soft);
}

/* ---------- SINGLE COLUMN: main content card ---------- */
.ip20-main{
  min-width:0;
  background:var(--ip-surface);
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-m);
  padding:32px;
  box-shadow:var(--ip-shadow);
  margin:24px auto;
  max-width:var(--ip-maxw);
}

/* ---------- CONTENT (article body) ---------- */
.ip20-content{
  font-size:16.5px;
  line-height:1.65;
}
.ip20-content > * + *{
  margin-top:16px;
}
.ip20-content h2{
  background:var(--ip-primary);
  color:#fff;
  text-align:center;
  padding:12px 20px;
  margin:36px 0 20px;
  font-weight:700;
  line-height:1.35;
  border-radius:0;
  font-size:1.35rem;
}
.ip20-content h3{
  margin:28px 0 12px;
  font-size:1.15rem;
  font-weight:700;
  color:var(--ip-ink);
}
.ip20-content h4{
  margin:22px 0 10px;
  font-size:1.02rem;
  font-weight:700;
  color:var(--ip-ink);
}
.ip20-content p{
  color:var(--ip-ink);
}
.ip20-content ul,
.ip20-content ol{
  margin:12px 0 20px;
  padding-left:24px;
}
.ip20-content ul{list-style:disc;}
.ip20-content ol{list-style:decimal;}
.ip20-content li{
  margin-top:6px;
  padding-left:4px;
}
.ip20-content a{
  color:var(--ip-primary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.ip20-content a:hover{
  color:var(--ip-primary-ink);
}
.ip20-content strong{
  color:var(--ip-ink);
  font-weight:700;
}
.ip20-content__img{
  display:block;
  max-width:100%;
  height:auto;
  margin:18px auto;
  border-radius:var(--ip-radius-m);
}
.ip20-content table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0;
  font-size:.95rem;
}
.ip20-content th,
.ip20-content td{
  padding:10px 12px;
  border:1px solid var(--ip-border);
  vertical-align:top;
}
.ip20-content th{
  background:var(--ip-canvas);
  font-weight:600;
  text-align:left;
}
.ip20-content blockquote{
  margin:18px 0;
  padding:12px 20px;
  border-left:4px solid var(--ip-primary);
  background:var(--ip-primary-soft);
  color:var(--ip-ink);
}

/* ---------- TOC (JS-generated details) ---------- */
.ip20-toc{
  background:var(--ip-surface);
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-m);
  padding:18px 22px;
  margin-bottom:28px;
}
.ip20-toc summary{
  font-weight:700;
  font-size:1.05rem;
  cursor:pointer;
  padding:4px 0;
  color:var(--ip-ink);
  list-style:none;
  display:flex;
  align-items:center;
  gap:8px;
}
.ip20-toc summary::-webkit-details-marker{display:none;}
.ip20-toc summary::before{
  content:"+";
  display:inline-block;
  width:20px;
  height:20px;
  line-height:18px;
  text-align:center;
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-s);
  font-weight:700;
  font-size:1rem;
  color:var(--ip-primary);
  transition:transform .2s;
}
.ip20-toc[open] summary::before{
  content:"−";
}
.ip20-toc__list{
  margin-top:14px;
  padding-left:14px;
  list-style:disc;
  font-size:.95rem;
}
.ip20-toc__list li{
  padding:4px 0;
}
.ip20-toc__list ul{
  list-style:circle;
  padding-left:20px;
  margin-top:4px;
}
.ip20-toc__list a{
  color:var(--ip-primary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.ip20-toc__list a:hover{
  color:var(--ip-primary-ink);
}

/* ---------- FAQ accordion (home, JS-generated) ---------- */
.ip20-faq{
  margin-top:36px;
}
.ip20-faq__item{
  background:var(--ip-surface);
  border:1px solid var(--ip-border);
  border-radius:var(--ip-radius-s);
  margin-bottom:8px;
  overflow:hidden;
  transition:border-color .2s;
}
.ip20-faq__item[open]{
  border-color:var(--ip-active);
}
.ip20-faq__item summary{
  padding:14px 18px;
  font-weight:600;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:var(--ip-ink);
  transition:background .15s, color .15s;
}
.ip20-faq__item summary::-webkit-details-marker{display:none;}
.ip20-faq__item summary:hover{
  background:var(--ip-primary);
  color:#fff;
}
.ip20-faq__item summary::after{
  content:"+";
  font-weight:700;
  font-size:1.3rem;
  color:var(--ip-primary);
  flex-shrink:0;
  transition:transform .2s;
}
.ip20-faq__item[open] summary{
  background:var(--ip-primary);
  color:#fff;
  border-bottom:2px solid var(--ip-active);
}
.ip20-faq__item[open] summary::after{
  content:"−";
  color:#fff;
}
.ip20-faq__body{
  padding:16px 18px 20px;
  color:var(--ip-ink-soft);
  line-height:1.6;
}

/* ---------- DOWNLOAD CTA (special page) ---------- */
.ip20-cta-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
  margin:24px 0 36px;
}

/* ---------- FOOTER (minimal) ---------- */
.ip20-footer{
  background:var(--ip-ink);
  text-align:center;
  padding:18px 20px;
  font-size:.88rem;
  margin-top:40px;
  color:rgba(255,255,255,.7);
}
.ip20-footer a{
  color:rgba(255,255,255,.9);
}
.ip20-footer a:hover{
  color:var(--ip-primary-soft);
}

/* ---------- BACK TO TOP ---------- */
.ip20-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:42px;
  height:42px;
  background:var(--ip-primary);
  color:#fff;
  border:0;
  border-radius:var(--ip-radius-s);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s, visibility .2s, transform .2s, background .15s;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ip20-top:hover{
  background:var(--ip-primary-ink);
}
.ip20-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.ip20-top svg{
  width:18px;
  height:18px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:960px){
  .ip20-hero__card{
    padding:28px;
  }
  .ip20-hero__img{
    max-width:240px;
  }
  .ip20-hero__title{
    font-size:1.7rem;
  }
  .ip20-btn--square{
    width:100%;
  }
}
@media (max-width:640px){
  .ip20-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--ip-surface);
    border-top:1px solid var(--ip-border);
    border-bottom:1px solid var(--ip-border);
    padding:14px 20px;
    transform:translateY(-12px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .2s, opacity .2s;
  }
  .ip20-nav.is-open{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .ip20-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  .ip20-nav__link{
    display:block;
    padding:10px 12px;
  }
  .ip20-burger{
    display:flex;
  }
  .ip20-hero__card{
    padding:22px;
  }
  .ip20-hero__title{
    font-size:1.5rem;
  }
  .ip20-main{
    padding:22px;
  }
  .ip20-content h2{
    font-size:1.15rem;
    padding:10px 16px;
  }
}
