@import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root{
  --jti-primary:#4B2FD1;
  --jti-primary-dark:#2F1C94;
  --jti-primary-light:#7C63F0;
  --jti-secondary:#FF6F91;
  --jti-accent:#FFB627;
  --jti-teal:#2BB8A6;
  --jti-ink:#1C1A29;
  --jti-ink-soft:#4F4A63;
  --jti-ink-faint:#7A7590;
  --jti-bg:#FBF9FD;
  --jti-surface:#FFFFFF;
  --jti-surface-alt:#F4F1FA;
  --jti-border:#E6E1F0;
  --jti-radius-xs:6px;
  --jti-radius-sm:12px;
  --jti-radius-md:20px;
  --jti-radius-lg:32px;
  --jti-radius-xl:44px;
  --jti-radius-pill:999px;
  --jti-shadow-sm:0 1px 2px rgba(28,26,41,.06), 0 1px 1px rgba(28,26,41,.05);
  --jti-shadow-md:0 8px 24px rgba(28,26,41,.08), 0 2px 6px rgba(28,26,41,.06);
  --jti-shadow-lg:0 30px 70px rgba(28,26,41,.16), 0 10px 24px rgba(28,26,41,.09);
  --jti-space-1:.4rem;
  --jti-space-2:.8rem;
  --jti-space-3:1.2rem;
  --jti-space-4:1.6rem;
  --jti-space-5:2.4rem;
  --jti-space-6:3.2rem;
  --jti-space-7:4.8rem;
  --jti-space-8:6.4rem;
  --jti-space-9:8rem;
  --jti-ease:cubic-bezier(.65,0,.35,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  background:var(--jti-bg);
  color:var(--jti-ink-soft);
  line-height:1.65;
  font-size:16px;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Gabarito',sans-serif;
  color:var(--jti-ink);
  line-height:1.15;
  margin:0 0 var(--jti-space-3);
}
h1{font-weight:800}
h2{font-weight:700; font-size:clamp(1.8rem,3.6vw,2.6rem)}
h3{font-weight:600; font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 var(--jti-space-3)}
a{color:var(--jti-primary); transition:color .25s var(--jti-ease)}
img{max-width:100%; display:block; height:auto}
ul{padding:0; margin:0; list-style:none}
button{font-family:inherit; cursor:pointer; border:none; background:none}
.jti-sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0)}

.jti-kicker{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--jti-primary);
  margin-bottom:var(--jti-space-2);
  &.jti-kicker--center{ display:block; text-align:center }
  &.jti-kicker--light{ color:#E9E3FF }
}

.jti-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.95rem 1.9rem;
  border-radius:var(--jti-radius-pill);
  font-weight:600;
  font-size:.95rem;
  text-decoration:none;
  transition:transform .3s var(--jti-ease), box-shadow .3s var(--jti-ease), background .3s var(--jti-ease), color .3s var(--jti-ease);
  min-height:48px;
  &.jti-btn-accent{
    background:var(--jti-accent);
    color:#241900;
    box-shadow:var(--jti-shadow-md);
    &:hover{ transform:translateY(-3px); box-shadow:var(--jti-shadow-lg) }
  }
  &.jti-btn-ghost{
    background:rgba(255,255,255,.08);
    color:#fff;
    border:1.5px solid rgba(255,255,255,.5);
    &:hover{ background:rgba(255,255,255,.18); transform:translateY(-3px) }
  }
  &.jti-btn-block{ width:100%; }
}


.jti-header{ background:#181425; position:relative; z-index:50 }
.jti-nav-bar{ position:relative }
.jti-nav-inner{
  max-width:1320px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.1rem 1.5rem;
}
.jti-logo{
  display:flex; align-items:center; gap:.6rem;
  text-decoration:none; color:#fff;
  font-family:'Gabarito',sans-serif; font-weight:700; font-size:1.2rem;
  &.jti-logo--footer{ margin-bottom:var(--jti-space-3) }
}
.jti-logo-mark{ width:36px; height:36px }
.jti-nav{ display:none }
.jti-nav-list{ display:flex; align-items:center; gap:1.9rem }
.jti-nav-item{ position:relative; display:flex; align-items:center; gap:.3rem }
.jti-nav-link{
  color:rgba(255,255,255,.82);
  text-decoration:none;
  font-weight:500;
  font-size:.95rem;
  padding:.4rem 0;
  transition:color .25s var(--jti-ease);
  &:hover{ color:#fff }
  &.jti-active{ color:var(--jti-accent) }
}
.jti-nav-caret{
  color:rgba(255,255,255,.6);
  font-size:.7rem;
  padding:.4rem;
  transition:transform .3s var(--jti-ease), color .3s var(--jti-ease);
}
#jtiDemoPrivacy, .jti-field--checkbox input {
  width: 20px;
}
.jti-has-sub:hover .jti-nav-caret{ color:#fff }
.jti-nav-sub{
  position:absolute;
  top:100%; left:-1rem;
  background:#fff;
  border-radius:var(--jti-radius-sm);
  box-shadow:var(--jti-shadow-lg);
  min-width:220px;
  padding:.6rem;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .25s var(--jti-ease), transform .25s var(--jti-ease), visibility .25s;
  li a{
    display:block; padding:.6rem .8rem; border-radius:var(--jti-radius-xs);
    color:var(--jti-ink-soft); text-decoration:none; font-size:.9rem;
    transition:background .2s var(--jti-ease), color .2s var(--jti-ease);
    &:hover{ background:var(--jti-surface-alt); color:var(--jti-primary) }
  }
}
.jti-has-sub:hover .jti-nav-sub{ opacity:1; visibility:visible; transform:translateY(0) }

.jti-hamburger{
  display:flex; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; padding:10px;
  span{ display:block; height:2px; width:100%; background:#fff; border-radius:2px; transition:transform .3s var(--jti-ease), opacity .3s var(--jti-ease) }
  &[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg) }
  &[aria-expanded="true"] span:nth-child(2){ opacity:0 }
  &[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg) }
}

.jti-mobile-accordion{
  max-height:0; overflow:hidden;
  background:#141020;
  transition:max-height .4s var(--jti-ease);
  &.jti-open{ max-height:600px }
}
.jti-mobile-item{
  border-top:1px solid rgba(255,255,255,.08);
  > a{
    display:block; padding:1rem 1.5rem; color:rgba(255,255,255,.85);
    text-decoration:none; font-weight:500;
    min-height:44px;
  }
}
.jti-mobile-row{
  display:flex; align-items:center; justify-content:space-between;
  a{ flex:1; padding:1rem 1.5rem; color:rgba(255,255,255,.85); text-decoration:none; font-weight:500 }
  button{ padding:1rem 1.5rem; color:rgba(255,255,255,.6);
    i{ transition:transform .3s var(--jti-ease) }
  }
  &[data-open="true"] button i{ transform:rotate(180deg) }
}
.jti-mobile-sub{
  max-height:0; overflow:hidden; background:rgba(0,0,0,.2);
  transition:max-height .35s var(--jti-ease);
  li a{ display:block; padding:.85rem 2.4rem; color:rgba(255,255,255,.65); text-decoration:none; font-size:.9rem }
}


.jti-hero{ position:relative; min-height:88vh; overflow:hidden; background:#181425 }
.jti-hero-panel{ position:absolute; top:0; height:100%; width:50%; transition:transform 1.2s var(--jti-ease) }
.jti-hero-panel--left{
  left:0; background:linear-gradient(160deg, var(--jti-primary), var(--jti-primary-dark));
  transform:translateX(100%);
}
.jti-hero-panel--right{
  right:0; background-size:cover; background-position:center;
  transform:translateX(-100%);
  &::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(24,20,37,.55), rgba(24,20,37,.15)) }
}
.jti-hero.jti-hero-open .jti-hero-panel--left{ transform:translateX(0) }
.jti-hero.jti-hero-open .jti-hero-panel--right{ transform:translateX(0) }
.jti-hero-content{
  position:relative; z-index:5; max-width:920px; margin:0 auto;
  padding:9rem 1.5rem 5rem; text-align:center; color:#fff;
  opacity:0;
}
.jti-hero.jti-hero-open .jti-hero-content{ opacity:1; transition:opacity .9s ease .9s }
.jti-hero-title{
  font-size:clamp(2.4rem,6vw,4.4rem);
  margin-bottom:var(--jti-space-4);
  .char{ display:inline-block; opacity:0; transform:translateY(30px); animation:jtiCharIn .7s var(--jti-ease) forwards; animation-delay:calc(var(--char-index) * 0.025s + 1s) }
}
@keyframes jtiCharIn{ to{ opacity:1; transform:translateY(0) } }
.jti-hero-sub{
  font-size:clamp(1rem,1.6vw,1.2rem);
  color:rgba(255,255,255,.82);
  max-width:640px; margin:0 auto var(--jti-space-5);
}
.jti-hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center }

.jti-page-header{
  background:linear-gradient(160deg, var(--jti-primary), var(--jti-primary-dark));
  padding:6rem 1.5rem 5rem; text-align:center; color:#fff;
  h1{
    color:#fff; font-size:clamp(2.2rem,5vw,3.4rem); margin-bottom:var(--jti-space-3);
    .char{ display:inline-block; opacity:0; transform:translateY(20px); animation:jtiCharIn .6s var(--jti-ease) forwards; animation-delay:calc(var(--char-index) * 0.02s + 0.1s) }
  }
}
.jti-page-header-sub{ max-width:560px; margin:0 auto; color:rgba(255,255,255,.82) }


.jti-mesh-wrap{
  position:relative;
  background:
    radial-gradient(at 15% 10%, rgba(75,47,209,.16) 0px, transparent 55%),
    radial-gradient(at 85% 15%, rgba(255,111,145,.14) 0px, transparent 55%),
    radial-gradient(at 75% 85%, rgba(43,184,166,.13) 0px, transparent 55%),
    radial-gradient(at 10% 90%, rgba(255,182,39,.12) 0px, transparent 50%),
    var(--jti-bg);
  padding:var(--jti-space-7) 0 var(--jti-space-6);
}
.jti-sheet{
  background:var(--jti-surface);
  border-radius:var(--jti-radius-xl);
  box-shadow:var(--jti-shadow-lg);
  margin:0 auto var(--jti-space-6);
  padding:var(--jti-space-7) var(--jti-space-5);
  opacity:0; transform:translateY(40px);
  transition:opacity .8s var(--jti-ease), transform .8s var(--jti-ease);
  &.jti-inview{ opacity:1; transform:translateY(0) }
  &--1{ max-width:1240px }
  &--2{ max-width:1200px }
  &--3{ max-width:1280px }
  &--4{ max-width:1160px; background:transparent; box-shadow:none; padding:0 }
  &--5{ max-width:1200px }
  &--6{ max-width:1160px }
  &--7{ max-width:1200px }
}
.jti-sheet-inner{ width:100% }


.jti-intro-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-5);
  @media (min-width:860px){ grid-template-columns:0.85fr 1.15fr; gap:var(--jti-space-7) }
}
.jti-intro-copy p{ font-size:1.05rem }


.jti-section-title{ margin-bottom:var(--jti-space-2) }
.jti-section-title--center{ text-align:center }
.jti-section-lead{ max-width:720px; margin:0 auto var(--jti-space-6); text-align:center; font-size:1.05rem }
.jti-steps-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-4);
  margin-top:var(--jti-space-6);
  @media (min-width:700px){ grid-template-columns:repeat(2,1fr) }
  @media (min-width:1080px){ grid-template-columns:repeat(4,1fr) }
}
.jti-step-card{
  background:var(--jti-surface-alt);
  border-radius:var(--jti-radius-md);
  padding:var(--jti-space-5) var(--jti-space-4);
  transition:transform .3s var(--jti-ease), box-shadow .3s var(--jti-ease);
  &:hover{ transform:translateY(-6px); box-shadow:var(--jti-shadow-md) }
}
.jti-step-num{
  display:inline-block; font-family:'Gabarito',sans-serif; font-weight:800;
  font-size:1.6rem; color:var(--jti-primary-light); margin-bottom:var(--jti-space-2);
}
.jti-workflow-img{
  width:100%; border-radius:var(--jti-radius-lg); margin-top:var(--jti-space-6);
  box-shadow:var(--jti-shadow-md); aspect-ratio:16/8; object-fit:cover;
}


.jti-library-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-5); margin-top:var(--jti-space-6);
  @media (min-width:700px){ grid-template-columns:repeat(2,1fr) }
}
.jti-library-card{
  background:var(--jti-surface-alt);
  border-radius:var(--jti-radius-lg);
  overflow:hidden;
  box-shadow:var(--jti-shadow-sm);
  transition:transform .35s var(--jti-ease), box-shadow .35s var(--jti-ease);
  &:hover{ transform:translateY(-8px); box-shadow:var(--jti-shadow-lg) }
  img{ width:100%; aspect-ratio:16/10; object-fit:cover }
}
.jti-library-body{ padding:var(--jti-space-4) var(--jti-space-4) var(--jti-space-5) }
.jti-library-count{
  display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.06em;
  color:var(--jti-teal); text-transform:uppercase; margin-bottom:.5rem;
}
.jti-text-link{
  display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.9rem;
  text-decoration:none; color:var(--jti-primary);
  transition:gap .25s var(--jti-ease);
  &:hover{ gap:.7rem }
}


.jti-gradient-banner{
  background:linear-gradient(135deg, var(--jti-primary) 0%, var(--jti-secondary) 55%, var(--jti-accent) 120%);
  border-radius:var(--jti-radius-xl);
  padding:var(--jti-space-8) var(--jti-space-5);
  box-shadow:var(--jti-shadow-lg);
}
.jti-gradient-content{
  max-width:760px; margin:0 auto; color:#fff; text-align:center;
  h2{ color:#fff; font-size:clamp(1.9rem,4vw,2.8rem) }
  p{ color:rgba(255,255,255,.92); font-size:1.05rem }
}


.jti-persona-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-6); align-items:center;
  @media (min-width:900px){ grid-template-columns:0.9fr 1.1fr }
  &--reverse{ @media (min-width:900px){ direction:rtl; > *{ direction:ltr } } }
}
.jti-persona-image img{
  border-radius:var(--jti-radius-lg); box-shadow:var(--jti-shadow-md);
  aspect-ratio:4/5; object-fit:cover; width:100%;
}


.jti-curriculum-table{ margin-top:var(--jti-space-6); border-radius:var(--jti-radius-md); overflow:hidden; border:1px solid var(--jti-border) }
.jti-curriculum-row{
  display:grid; grid-template-columns:2fr 1fr .6fr; gap:1rem;
  padding:1rem 1.4rem; font-size:.92rem;
  &:nth-child(even){ background:var(--jti-surface-alt) }
  &--head{ background:var(--jti-primary); color:#fff; font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em }
}


.jti-features-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-5); margin-top:var(--jti-space-6);
  @media (min-width:700px){ grid-template-columns:repeat(2,1fr) }
  @media (min-width:1080px){ grid-template-columns:repeat(4,1fr) }
}
.jti-feature-item{
  text-align:center; padding:var(--jti-space-4);
  i{ font-size:1.7rem; color:var(--jti-primary); margin-bottom:var(--jti-space-2) }
}


.jti-cta-minimal{
  text-align:center; padding:var(--jti-space-9) var(--jti-space-4);
  max-width:760px; margin:0 auto;
  h2{ margin-bottom:var(--jti-space-5); font-size:clamp(1.8rem,4vw,2.6rem) }
}


.jti-footer{ background:#141020; color:rgba(255,255,255,.72); padding-top:var(--jti-space-7) }
.jti-footer-inner{ max-width:1320px; margin:0 auto; padding:0 1.5rem }
.jti-footer-newsletter{
  display:flex; flex-direction:column; gap:var(--jti-space-4);
  border-bottom:1px solid rgba(255,255,255,.1);
  padding-bottom:var(--jti-space-6); margin-bottom:var(--jti-space-6);
  h3{ color:#fff; margin-bottom:.4rem }
  p{ color:rgba(255,255,255,.6); max-width:420px }
  @media (min-width:900px){ flex-direction:row; align-items:center; justify-content:space-between }
}
.jti-newsletter-form{
  display:flex; gap:.7rem; flex-wrap:wrap;
  input{
    padding:.9rem 1.2rem; border-radius:var(--jti-radius-pill); border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.06); color:#fff; min-width:220px; min-height:48px;
    transition:border-color .25s var(--jti-ease), background .25s var(--jti-ease);
    &:focus{ outline:none; border-color:var(--jti-accent); background:rgba(255,255,255,.1) }
  }
}
.jti-footer-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-6);
  padding-bottom:var(--jti-space-7);
  @media (min-width:700px){ grid-template-columns:1.3fr 1fr 1fr 1fr }
}
.jti-footer-col{
  h4{ color:#fff; font-size:.95rem; margin-bottom:var(--jti-space-3); text-transform:uppercase; letter-spacing:.08em }
  p{ color:rgba(255,255,255,.6); font-size:.92rem }
  ul li{ margin-bottom:.7rem }
  a{ color:rgba(255,255,255,.65); text-decoration:none; transition:color .25s var(--jti-ease); &:hover{ color:var(--jti-accent) } }
}
.jti-footer-contact li{ display:flex; align-items:flex-start; gap:.6rem; color:rgba(255,255,255,.65); font-size:.92rem;
  i{ color:var(--jti-accent); margin-top:.2rem; width:16px }
  a{ color:rgba(255,255,255,.65) }
}
.jti-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:var(--jti-space-4) 0;
  display:flex; flex-direction:column; gap:.4rem;
  font-size:.85rem; color:rgba(255,255,255,.5);
  @media (min-width:700px){ flex-direction:row; justify-content:space-between }
  &--solo{ justify-content:space-between; a{ color:rgba(255,255,255,.6) } }
}
.jti-footer--legal{ padding-top:var(--jti-space-5) }


.jti-back-to-top{
  position:fixed; right:1.5rem; bottom:1.5rem; z-index:60;
  width:52px; height:52px; border-radius:50%;
  background:var(--jti-primary); color:#fff; box-shadow:var(--jti-shadow-lg);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .3s var(--jti-ease), transform .3s var(--jti-ease), visibility .3s, background .3s var(--jti-ease);
  &.jti-visible{ opacity:1; visibility:visible; transform:translateY(0) }
  &:hover{ background:var(--jti-primary-dark) }
}


.jti-contact-hero{
  background:linear-gradient(160deg, var(--jti-primary), var(--jti-primary-dark));
  padding:6rem 1.5rem 7rem;
}
.jti-contact-form-page{
  max-width:640px; margin:0 auto; color:#fff; text-align:center;
  .jti-kicker{ color:#E9E3FF }
  h1{ color:#fff; font-size:clamp(2rem,5vw,3rem) }
}
.jti-contact-lead{ color:rgba(255,255,255,.82); margin-bottom:var(--jti-space-6) }
.jti-form{
  text-align:left; background:var(--jti-surface); border-radius:var(--jti-radius-lg);
  padding:var(--jti-space-6); box-shadow:var(--jti-shadow-lg);
  display:flex; flex-direction:column; gap:var(--jti-space-4);
}
.jti-field{
  display:flex; flex-direction:column; gap:.4rem;
  label{ font-weight:600; font-size:.92rem; color:var(--jti-ink) }
  input, textarea{
    padding:.9rem 1.1rem; border-radius:var(--jti-radius-sm); border:1.5px solid var(--jti-border);
    font-family:inherit; font-size:.96rem; color:var(--jti-ink); background:var(--jti-surface-alt);
    transition:border-color .25s var(--jti-ease), box-shadow .25s var(--jti-ease);
    min-height:48px;
    &:focus{ outline:none; border-color:var(--jti-primary); box-shadow:0 0 0 4px rgba(75,47,209,.12) }
  }
  textarea{ resize:vertical; min-height:120px }
  .jti-helper{ font-size:.82rem; color:var(--jti-ink-faint) }
  &--checkbox{
    flex-direction:row; align-items:flex-start; gap:.7rem;
    input{ width:20px; height:20px; min-height:20px; margin-top:.15rem; accent-color:var(--jti-primary) }
    label{ font-weight:400; font-size:.88rem; color:var(--jti-ink-soft) }
  }
}

.jti-demo-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-6);
  @media (min-width:960px){ grid-template-columns:0.9fr 1.1fr }
}
.jti-demo-list{
  margin-top:var(--jti-space-4);
  li{ display:flex; align-items:flex-start; gap:.6rem; margin-bottom:.8rem; font-size:.95rem;
    i{ color:var(--jti-teal); margin-top:.25rem } }
}
.jti-demo-form-wrap .jti-form{ box-shadow:var(--jti-shadow-md) }

.jti-contact-details-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-4); margin-top:var(--jti-space-5);
  @media (min-width:700px){ grid-template-columns:repeat(3,1fr) }
}
.jti-contact-detail{
  text-align:center; background:var(--jti-surface-alt); border-radius:var(--jti-radius-md); padding:var(--jti-space-5);
  i{ font-size:1.5rem; color:var(--jti-primary); margin-bottom:.6rem }
  a{ text-decoration:none }
}
.jti-contact-map{ margin-top:var(--jti-space-6); border-radius:var(--jti-radius-lg); overflow:hidden; box-shadow:var(--jti-shadow-md) }
.jti-contact-gallery{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-4); margin-top:var(--jti-space-6);
  @media (min-width:700px){ grid-template-columns:repeat(2,1fr) }
  img{ border-radius:var(--jti-radius-md); aspect-ratio:4/3; object-fit:cover; box-shadow:var(--jti-shadow-sm) }
}


.jti-report-quote{
  background:var(--jti-surface-alt); border-left:4px solid var(--jti-primary);
  border-radius:var(--jti-radius-sm); padding:var(--jti-space-5); font-style:italic; font-size:1.05rem;
}
.jti-carousel-preview{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-3); margin-top:var(--jti-space-5);
  @media (min-width:700px){ grid-template-columns:repeat(5,1fr) }
}
.jti-carousel-slide{
  background:linear-gradient(160deg, var(--jti-primary), var(--jti-primary-dark));
  color:#fff; border-radius:var(--jti-radius-md); padding:var(--jti-space-4); aspect-ratio:3/4;
  display:flex; flex-direction:column; justify-content:flex-end; font-size:.9rem; font-weight:500;
  span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--jti-accent); margin-bottom:.4rem }
}
.jti-script-preview{
  background:var(--jti-surface-alt); border-radius:var(--jti-radius-md); padding:var(--jti-space-5); margin-top:var(--jti-space-5);
  p{ font-size:1rem }
}
.jti-newsletter-preview{
  background:var(--jti-surface-alt); border-radius:var(--jti-radius-md); padding:var(--jti-space-5); margin-top:var(--jti-space-5);
}
.jti-caption-grid{
  display:grid; grid-template-columns:1fr; gap:var(--jti-space-4); margin-top:var(--jti-space-5);
  @media (min-width:800px){ grid-template-columns:repeat(3,1fr) }
}
.jti-caption-card{
  background:var(--jti-surface-alt); border-radius:var(--jti-radius-md); padding:var(--jti-space-4);
}
.jti-caption-label{ display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--jti-secondary); font-weight:700; margin-bottom:.5rem }


.jti-legal-wrap{ max-width:840px; margin:0 auto; padding:var(--jti-space-7) 1.5rem var(--jti-space-8) }
.jti-legal-doc{
  h2{ margin-top:var(--jti-space-6); font-size:1.4rem }
  p{ font-size:.98rem }
}
.jti-legal-updated{ font-weight:600; color:var(--jti-ink); margin-bottom:var(--jti-space-4) }
.jti-legal-bullets{
  li{ position:relative; padding-left:1.4rem; margin-bottom:.6rem; font-size:.98rem;
    &::before{ content:'\2013'; position:absolute; left:0; color:var(--jti-primary); font-weight:700 } }
}
.jti-cookie-table{
  width:100%; border-collapse:collapse; margin:var(--jti-space-5) 0;
  th,td{ text-align:left; padding:.8rem 1rem; border-bottom:1px solid var(--jti-border); font-size:.92rem }
  th{ background:var(--jti-surface-alt); font-family:'Gabarito',sans-serif }
}


.jti-thanks-main{ display:flex; align-items:center; justify-content:center; min-height:70vh }
.jti-thanks{ text-align:center; padding:var(--jti-space-8) 1.5rem; max-width:520px; margin:0 auto }
.jti-envelope{ position:relative; width:160px; height:110px; margin:0 auto var(--jti-space-6) }
.jti-envelope-back{ position:absolute; inset:0; background:var(--jti-surface-alt); border-radius:10px; box-shadow:var(--jti-shadow-md) }
.jti-envelope-letter{
  position:absolute; left:20px; right:20px; top:14px; height:70px; background:#fff;
  border-radius:4px; box-shadow:0 2px 8px rgba(0,0,0,.1);
  animation:jtiLetterUp 1.6s var(--jti-ease) .6s forwards; transform:translateY(20px); opacity:0;
}
@keyframes jtiLetterUp{ to{ transform:translateY(-38px); opacity:1 } }
.jti-envelope-flap{
  position:absolute; top:0; left:0; right:0; height:60px;
  background:var(--jti-primary); clip-path:polygon(0 0,100% 0,50% 65%);
  transform-origin:top; transform:rotateX(0deg); z-index:3;
  animation:jtiFlapOpen 1s var(--jti-ease) forwards;
}
@keyframes jtiFlapOpen{ 0%{ transform:rotateX(0deg) } 100%{ transform:rotateX(180deg) } }
.jti-envelope-front-left, .jti-envelope-front-right{
  position:absolute; bottom:0; width:50%; height:70px; background:var(--jti-primary-dark); z-index:2;
}
.jti-envelope-front-left{ left:0; clip-path:polygon(0 0,100% 100%,0 100%) }
.jti-envelope-front-right{ right:0; clip-path:polygon(100% 0,100% 100%,0 100%) }
.jti-thanks-title{ opacity:0; animation:jtiFadeUp .8s var(--jti-ease) 1.8s forwards }
.jti-thanks-text{ opacity:0; animation:jtiFadeUp .8s var(--jti-ease) 2.1s forwards; margin-bottom:var(--jti-space-5) }
@keyframes jtiFadeUp{ from{ opacity:0; transform:translateY(16px) } to{ opacity:1; transform:translateY(0) } }
.jti-thanks .jti-btn-ghost{ color:var(--jti-primary); border-color:var(--jti-primary); opacity:0; animation:jtiFadeUp .8s var(--jti-ease) 2.3s forwards;
  &:hover{ background:var(--jti-primary); color:#fff }
}


.jti-cookie-trigger{
  position:fixed; left:1.2rem; bottom:1.2rem; z-index:70;
  display:flex; align-items:center; gap:.5rem;
  background:var(--jti-surface); color:var(--jti-ink-soft);
  border:1px solid var(--jti-border); border-radius:var(--jti-radius-pill);
  padding:.6rem 1rem; font-size:.82rem; font-weight:600; box-shadow:var(--jti-shadow-md);
  transition:transform .25s var(--jti-ease), box-shadow .25s var(--jti-ease);
  &:hover{ transform:translateY(-3px); box-shadow:var(--jti-shadow-lg) }
  &.jti-pulse{ animation:jtiPulse 1.8s ease-in-out 3; }
  i{ color:var(--jti-primary) }
}
@keyframes jtiPulse{ 0%,100%{ box-shadow:var(--jti-shadow-md) } 50%{ box-shadow:0 0 0 8px rgba(75,47,209,.15), var(--jti-shadow-md) } }

.jti-cookie-modal-overlay{
  position:fixed; inset:0; background:rgba(20,16,32,.55); backdrop-filter:blur(4px);
  z-index:90; display:flex; align-items:center; justify-content:center; padding:1.5rem;
  opacity:0; visibility:hidden; transition:opacity .3s var(--jti-ease), visibility .3s;
  &.jti-open{ opacity:1; visibility:visible }
}
.jti-cookie-modal{
  background:var(--jti-surface); border-radius:var(--jti-radius-lg); box-shadow:var(--jti-shadow-lg);
  max-width:520px; width:100%; padding:var(--jti-space-6); max-height:85vh; overflow-y:auto;
  transform:scale(.94); transition:transform .3s var(--jti-ease);
}
.jti-cookie-modal-overlay.jti-open .jti-cookie-modal{ transform:scale(1) }
.jti-cookie-modal-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--jti-space-3) }
.jti-cookie-close{ font-size:1.2rem; color:var(--jti-ink-faint); width:36px; height:36px; border-radius:50%; transition:background .2s var(--jti-ease); &:hover{ background:var(--jti-surface-alt) } }
.jti-cookie-category{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding:1rem 0; border-bottom:1px solid var(--jti-border);
  h4{ margin:0 0 .3rem; font-size:1rem }
  p{ margin:0; font-size:.85rem; color:var(--jti-ink-faint) }
}
.jti-toggle{
  position:relative; width:46px; height:26px; flex-shrink:0;
  input{ opacity:0; width:0; height:0 }
  span{ position:absolute; inset:0; background:var(--jti-border); border-radius:var(--jti-radius-pill); transition:background .25s var(--jti-ease);
    &::before{ content:''; position:absolute; width:20px; height:20px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .25s var(--jti-ease); box-shadow:var(--jti-shadow-sm) } }
  input:checked + span{ background:var(--jti-primary) }
  input:checked + span::before{ transform:translateX(20px) }
  input:disabled + span{ opacity:.6 }
}
.jti-cookie-actions{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:var(--jti-space-5) }
.jti-cookie-actions .jti-btn-secondary{
  background:var(--jti-surface-alt); color:var(--jti-ink); padding:.9rem 1.6rem; border-radius:var(--jti-radius-pill); font-weight:600; font-size:.9rem;
  transition:background .25s var(--jti-ease);
  &:hover{ background:var(--jti-border) }
}


[data-reveal]{ }


@media (min-width:960px){
  .jti-nav{ display:block }
  .jti-hamburger{ display:none }
  .jti-mobile-accordion{ display:none }
}
@media (max-width:959px){
  .jti-nav{ display:none }
}

@media (max-width:640px){
  .jti-sheet{ padding:var(--jti-space-6) var(--jti-space-4) }
  .jti-hero-content{ padding:7rem 1.2rem 4rem }
}