/* =========================================================
   PATCHYP — INTRO I FOR ALL POSTS
   FULL STABLE VERSION
   ========================================================= */


/* =========================================
   PAGE / CONTENT BACKGROUND
   ========================================= */

body.patchyp-chapter-theme-active .site,
body.patchyp-chapter-theme-active .site-content,
body.patchyp-chapter-theme-active .ct-container,
body.patchyp-chapter-theme-active .ct-content-area,
body.patchyp-chapter-theme-active main,
body.patchyp-chapter-theme-active article{
  background:var(--chapter-bg) !important;
  color:var(--chapter-text) !important;
}

body.patchyp-chapter-theme-active .entry-content,
body.patchyp-chapter-theme-active .post,
body.patchyp-chapter-theme-active .type-post,
body.patchyp-chapter-theme-active .type-page,
body.patchyp-chapter-theme-active .ct-page-title,
body.patchyp-chapter-theme-active .hero-section,
body.patchyp-chapter-theme-active .hero-section[data-type="type-2"],
body.patchyp-chapter-theme-active .entry-header{
  background:transparent !important;
  color:var(--chapter-text) !important;
}


/* =========================================
   HEADER
   ========================================= */

body.patchyp-chapter-theme-active #sp-nav,
body.patchyp-chapter-theme-active header#header,
body.patchyp-chapter-theme-active .ct-header,
body.patchyp-chapter-theme-active .ct-header-sticky,
body.patchyp-chapter-theme-active .ct-sticky-container,
body.patchyp-chapter-theme-active .site-header,
body.patchyp-chapter-theme-active [data-device="desktop"] .ct-header,
body.patchyp-chapter-theme-active [data-device="mobile"] .ct-header{
  background:var(--chapter-bg) !important;
  border-bottom:1px solid var(--chapter-border) !important;
  box-shadow:none !important;
  position:relative;
}

body.patchyp-chapter-theme-active .ct-header nav ul li a,
body.patchyp-chapter-theme-active .ct-header .menu li a,
body.patchyp-chapter-theme-active #sp-nav nav ul li a,
body.patchyp-chapter-theme-active #sp-nav .menu li a,
body.patchyp-chapter-theme-active nav ul.menu li a,
body.patchyp-chapter-theme-active ul.menu li a,
body.patchyp-chapter-theme-active .ct-header .ct-menu-link{
  color:var(--chapter-text) !important;
}

body.patchyp-chapter-theme-active .ct-header nav ul li a:hover,
body.patchyp-chapter-theme-active .ct-header .menu li a:hover,
body.patchyp-chapter-theme-active #sp-nav nav ul li a:hover,
body.patchyp-chapter-theme-active #sp-nav .menu li a:hover,
body.patchyp-chapter-theme-active nav ul.menu li a:hover,
body.patchyp-chapter-theme-active ul.menu li a:hover{
  color:var(--chapter-text) !important;
  opacity:.78 !important;
}

body.patchyp-chapter-theme-active .site-branding,
body.patchyp-chapter-theme-active .site-branding *,
body.patchyp-chapter-theme-active .site-title,
body.patchyp-chapter-theme-active .site-title *,
body.patchyp-chapter-theme-active .custom-logo-link,
body.patchyp-chapter-theme-active .custom-logo-link *,
body.patchyp-chapter-theme-active .custom-logo,
body.patchyp-chapter-theme-active .sp-logo,
body.patchyp-chapter-theme-active .sp-logo *,
body.patchyp-chapter-theme-active .patchyp-wordmark,
body.patchyp-chapter-theme-active .patchyp-wordmark *{
  color:unset !important;
  -webkit-text-fill-color:unset !important;
  -webkit-text-stroke:unset !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}

body.patchyp-chapter-theme-active .ct-header::before,
body.patchyp-chapter-theme-active #sp-nav::before{
  content:none !important;
}

body.patchyp-chapter-theme-active .ct-header::after,
body.patchyp-chapter-theme-active #sp-nav::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    var(--chapter-line) 20%,
    var(--chapter-line) 80%,
    transparent 100%
  );
  pointer-events:none;
}


/* =========================================
   TITLE / HERO AREA
   ========================================= */

body.patchyp-intro-style-active .entry-meta,
body.patchyp-intro-style-active .ct-post-meta,
body.patchyp-intro-style-active .ct-meta,
body.patchyp-intro-style-active .ct-post-meta-wrapper{
  display:none !important;
}

body.patchyp-intro-style-active .entry-header,
body.patchyp-intro-style-active .hero-section,
body.patchyp-intro-style-active .page-header{
  margin-bottom:0 !important;
}

body.patchyp-intro-style-active .ct-page-title{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

body.patchyp-intro-style-active h1.entry-title,
body.patchyp-intro-style-active .entry-header h1,
body.patchyp-intro-style-active article header h1{
  display:block !important;
  width:100% !important;
  margin:40px 0 20px !important;
  text-align:center !important;
  font-family:"Londrina Outline", sans-serif !important;
  font-size:3.95rem !important;
  line-height:1.04 !important;
  letter-spacing:3.15px !important;
  font-weight:700 !important;
  text-transform:none !important;
  text-shadow:none !important;
  opacity:0;
  transform:translateY(-10px);
  animation:renderTitleIn .65s cubic-bezier(.22,.61,.36,1) forwards !important;
}

@keyframes renderTitleIn{
  0%{
    opacity:0;
    transform:translateY(-10px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
  }
}

body.patchyp-intro-style-active h1.entry-title,
body.patchyp-intro-style-active .entry-header h1,
body.patchyp-intro-style-active article header h1,
body.patchyp-intro-style-active.patchyp-post-title-style-black-outline h1.entry-title,
body.patchyp-intro-style-active.patchyp-post-title-style-black-outline .entry-header h1,
body.patchyp-intro-style-active.patchyp-post-title-style-black-outline article header h1{
  color:rgba(0,0,0,0.55) !important;
  -webkit-text-stroke:1.5px rgba(0,0,0,0.72) !important;
}

body.patchyp-intro-style-active.patchyp-post-title-style-white-outline h1.entry-title,
body.patchyp-intro-style-active.patchyp-post-title-style-white-outline .entry-header h1,
body.patchyp-intro-style-active.patchyp-post-title-style-white-outline article header h1{
  color:rgba(255,255,255,0.18) !important;
  -webkit-text-stroke:1.5px rgba(255,255,255,0.92) !important;
}

body.patchyp-intro-style-active.patchyp-post-title-style-none h1.entry-title,
body.patchyp-intro-style-active.patchyp-post-title-style-none .entry-header h1,
body.patchyp-intro-style-active.patchyp-post-title-style-none article header h1{
  color:inherit !important;
  -webkit-text-stroke:0 !important;
}

body.patchyp-intro-style-active h1.entry-title::after,
body.patchyp-intro-style-active .entry-header h1::after,
body.patchyp-intro-style-active article header h1::after{
  content:"";
  display:block;
  width:150px;
  height:3px;
  margin:14px auto 22px auto;
  background:#000;
  opacity:.72;
}

body.patchyp-intro-style-active.patchyp-post-title-style-white-outline h1.entry-title::after,
body.patchyp-intro-style-active.patchyp-post-title-style-white-outline .entry-header h1::after,
body.patchyp-intro-style-active.patchyp-post-title-style-white-outline article header h1::after{
  background:#fff !important;
}


/* =========================================
   CONTENT TYPOGRAPHY
   ========================================= */

body.patchyp-intro-style-active .entry-content{
  max-width:1500px !important;
  margin:0 auto !important;
  padding:0 !important;
  font-family:"Lora", serif !important;
  letter-spacing:.01em !important;
}

body.patchyp-intro-style-active .entry-content > *:first-child{
  margin-top:0 !important;
}

body.patchyp-intro-style-active .entry-content p,
body.patchyp-intro-style-active .entry-content li,
body.patchyp-intro-style-active .entry-content blockquote{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-family:"Lora", serif !important;
  font-size:1.18rem !important;
  line-height:1.6 !important;
}

body.patchyp-intro-style-active .entry-content p{
  margin-bottom:1.18em !important;
}

body.patchyp-intro-style-active .entry-content h2{
  max-width:1180px !important;
  margin:32px auto 18px auto !important;
  text-align:center !important;
  font-family:"Londrina Outline", sans-serif !important;
  font-size:2.85rem !important;
  line-height:1.32 !important;
  letter-spacing:3.7px !important;
  font-weight:400 !important;
}

body.patchyp-intro-style-active .entry-content h3{
  max-width:1180px !important;
  margin:28px auto 12px auto !important;
  font-size:1.72rem !important;
  line-height:1.42 !important;
}

body.patchyp-intro-style-active .entry-content h4{
  max-width:1180px !important;
  margin:24px auto 12px auto !important;
  font-size:1.46rem !important;
  line-height:1.4 !important;
}

body.patchyp-intro-style-active .entry-content blockquote{
  padding-left:1.05em;
  border-left:1px solid currentColor;
  opacity:.9;
}


/* =========================================
   REVEAL — STABLE
   ========================================= */

body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content .render-reveal,
body.patchyp-intro-style-active .entry-content .render-reveal{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
  transition:none !important;
  will-change:opacity, transform;
  backface-visibility:hidden;
}

html.patchyp-intro-js-on body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content .render-reveal,
html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content .render-reveal{
  opacity:0 !important;
  transform:translate3d(0,-10px,0) !important;
  visibility:hidden !important;
}

html.patchyp-intro-js-on body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content .render-reveal.is-visible,
html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content .render-reveal.is-visible{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
  visibility:visible !important;
  transition:
    opacity .5s cubic-bezier(.22,.61,.36,1),
    transform .5s cubic-bezier(.22,.61,.36,1) !important;
}

/* headings stay visible */
html.patchyp-intro-js-on body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content h2.render-reveal,
html.patchyp-intro-js-on body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content h3.render-reveal,
html.patchyp-intro-js-on body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content h4.render-reveal,
html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content h2.render-reveal,
html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content h3.render-reveal,
html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content h4.render-reveal{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}


/* =========================================
   READING PROGRESS BAR
   ========================================= */

#render-reading-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:4px;
  z-index:999999;
  background:rgba(0,0,0,.15);
}

#render-reading-progress-bar{
  width:0%;
  height:100%;
  background:#000;
  transition:width .18s cubic-bezier(.22,.61,.36,1);
}


/* =========================================
   BODY TEXT COLOR SYSTEM
   KEEP COLOR ONLY
   ========================================= */

body.patchyp-chapter-theme-active p,
body.patchyp-chapter-theme-active li,
body.patchyp-chapter-theme-active span,
body.patchyp-chapter-theme-active strong,
body.patchyp-chapter-theme-active em,
body.patchyp-chapter-theme-active blockquote,
body.patchyp-chapter-theme-active figcaption,
body.patchyp-chapter-theme-active .entry-content,
body.patchyp-chapter-theme-active .entry-content > *{
  color:var(--chapter-text) !important;
}

body.patchyp-chapter-theme-active a{
  color:var(--chapter-text) !important;
  text-decoration-color:currentColor !important;
}

body.patchyp-chapter-theme-active a:hover{
  opacity:.78 !important;
}


/* =========================================
   COLOR PALETTE
   ========================================= */

body.chapter-orange{
  --chapter-bg:#CC5500;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.16);
  --chapter-line:rgba(255,255,255,.28);
  --title-stroke:#1a1a1a;
}

body.chapter-blue{
  --chapter-bg:#00308F;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.16);
  --chapter-line:rgba(255,255,255,.28);
  --title-stroke:#ffffff;
}

body.chapter-yellow{
  --chapter-bg:#f2b949;
  --chapter-text:#111111;
  --chapter-border:rgba(0,0,0,.14);
  --chapter-line:rgba(0,0,0,.24);
  --title-stroke:#111111;
}

body.chapter-green{
  --chapter-bg:#18392B;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.14);
  --chapter-line:rgba(255,255,255,.25);
  --title-stroke:#ffffff;
}

body.chapter-red{
  --chapter-bg:#7C0A02;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.15);
  --chapter-line:rgba(255,255,255,.26);
  --title-stroke:#ffffff;
}

body.chapter-purple{
  --chapter-bg:#3C0061;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.15);
  --chapter-line:rgba(255,255,255,.26);
  --title-stroke:#ffffff;
}

body.chapter-brown{
  --chapter-bg:#3D2412;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.14);
  --chapter-line:rgba(255,255,255,.24);
  --title-stroke:#ffffff;
}

body.chapter-pink{
  --chapter-bg:#99606E;
  --chapter-text:#111111;
  --chapter-border:rgba(0,0,0,.14);
  --chapter-line:rgba(0,0,0,.24);
  --title-stroke:#111111;
}

body.chapter-black{
  --chapter-bg:#000000;
  --chapter-text:#ffffff;
  --chapter-border:rgba(255,255,255,.14);
  --chapter-line:rgba(255,255,255,.22);
  --title-stroke:#ffffff;
}


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

@media (max-width:768px){
  body.patchyp-chapter-theme-active .ct-header::after,
  body.patchyp-chapter-theme-active #sp-nav::after{
    left:16px;
    right:16px;
  }
}

@media (max-width:767px){
  body.patchyp-intro-style-active .entry-content{
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
    box-sizing:border-box !important;
  }

  body.patchyp-intro-style-active h1.entry-title,
  body.patchyp-intro-style-active .entry-header h1,
  body.patchyp-intro-style-active article header h1{
    font-size:2rem !important;
    letter-spacing:1.5px !important;
    line-height:1.04 !important;
    margin-top:20px !important;
    margin-bottom:10px !important;
  }

  body.patchyp-intro-style-active .entry-content p,
  body.patchyp-intro-style-active .entry-content li,
  body.patchyp-intro-style-active .entry-content blockquote{
    font-size:1rem !important;
    line-height:1.62 !important;
    max-width:94% !important;
  }

  html.patchyp-intro-js-on body.patchyp-chapter-theme-active.patchyp-intro-style-active .entry-content .render-reveal,
  html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content .render-reveal{
    transform:translate3d(0,-8px,0) !important;
  }

  #render-reading-progress{
    height:3px;
  }
}
/* =========================================
   FINAL LEVEL — READING FOCUS MODE
   ========================================= */

html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content p{
  opacity:.34;
  transition:
    opacity .34s ease,
    transform .34s ease;
}

html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content p.is-focus{
  opacity:1 !important;
  transform:translate3d(0,0,0);
}

/* keep visible revealed paragraphs from feeling too dim before focus lands */
html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content p.render-reveal.is-visible{
  opacity:.72;
}

html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content p.render-reveal.is-visible.is-focus{
  opacity:1 !important;
}


/* =========================================
   FINAL LEVEL — EDGE FADE GRADIENT
   ========================================= */

body.patchyp-intro-style-active .entry-content{
  position:relative;
}

body.patchyp-intro-style-active .entry-content::before,
body.patchyp-intro-style-active .entry-content::after{
  content:"";
  position:fixed;
  left:0;
  width:100%;
  pointer-events:none;
  z-index:6;
}

body.patchyp-intro-style-active .entry-content::before{
  top:0;
  height:72px;
  background:linear-gradient(
    to bottom,
    var(--chapter-bg, #ffffff) 0%,
    rgba(255,255,255,0) 100%
  );
}

body.patchyp-intro-style-active .entry-content::after{
  bottom:0;
  height:88px;
  background:linear-gradient(
    to top,
    var(--chapter-bg, #ffffff) 0%,
    rgba(255,255,255,0) 100%
  );
}


/* =========================================
   FINAL LEVEL — MICRO STAGGER POLISH
   ========================================= */

html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content .render-reveal{
  will-change:opacity, transform;
  backface-visibility:hidden;
}


/* =========================================
   FINAL LEVEL — SOFTER READING COLUMN
   ========================================= */

body.patchyp-intro-style-active .entry-content p,
body.patchyp-intro-style-active .entry-content li,
body.patchyp-intro-style-active .entry-content blockquote{
  max-width:1120px !important;
}

body.patchyp-intro-style-active .entry-content h2,
body.patchyp-intro-style-active .entry-content h3,
body.patchyp-intro-style-active .entry-content h4{
  max-width:1120px !important;
}


/* =========================================
   FINAL LEVEL — MOBILE TRIM
   ========================================= */

@media (max-width:767px){
  body.patchyp-intro-style-active .entry-content::before{
    height:54px;
  }

  body.patchyp-intro-style-active .entry-content::after{
    height:64px;
  }

  html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content p{
    opacity:.42;
  }

  html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content p.render-reveal.is-visible{
    opacity:.78;
  }
}
/* =========================================
   REDUCE GLOW / BLUR — CLEANER REVEAL
   ========================================= */

html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content .render-reveal{
  /* before visible */
  filter:blur(0.5px) !important;   /* was ~1px+ */
  opacity:0 !important;
}

html.patchyp-intro-js-on body.patchyp-intro-style-active .entry-content .render-reveal.is-visible{
  /* after reveal */
  filter:blur(0) !important;
  opacity:1 !important;
  transition:
    opacity .55s cubic-bezier(.22,.61,.36,1) !important,
    transform .55s cubic-bezier(.22,.61,.36,1) !important,
    filter .55s cubic-bezier(.22,.61,.36,1) !important;
}
/* =========================================
   MICRO POLISH — FASTER CLEANER COLLAPSE
   ========================================= */

.patchyp-intro-style-active .render-reveal{
  transition:
    opacity .35s ease,
    transform .35s ease;
}
/* =========================================
   MOBILE POLISH — READING WIDTH + SPACING
   ========================================= */

@media (max-width:767px){

  /* cleaner outer padding */
  body.patchyp-intro-style-active .entry-content{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  /* slightly larger, more comfortable reading size */
  body.patchyp-intro-style-active .entry-content p,
  body.patchyp-intro-style-active .entry-content li,
  body.patchyp-intro-style-active .entry-content blockquote{
    max-width:100% !important;
    font-size:1.08rem !important;
    line-height:1.68 !important;
    letter-spacing:.002em !important;
  }

  /* better paragraph rhythm */
  body.patchyp-intro-style-active .entry-content p{
    margin-bottom:1.22em !important;
  }

  /* headings feel less cramped */
  body.patchyp-intro-style-active .entry-content h2{
    max-width:100% !important;
    font-size:1.6rem !important;
    line-height:1.22 !important;
    letter-spacing:1.3px !important;
    margin:30px auto 16px auto !important;
  }

  body.patchyp-intro-style-active .entry-content h3{
    max-width:100% !important;
    font-size:1.28rem !important;
    line-height:1.28 !important;
    margin:24px auto 12px auto !important;
  }

  body.patchyp-intro-style-active .entry-content h4{
    max-width:100% !important;
    font-size:1.08rem !important;
    line-height:1.3 !important;
    margin:20px auto 10px auto !important;
  }

  /* blockquotes read better on narrow screens */
  body.patchyp-intro-style-active .entry-content blockquote{
    padding-left:.9em !important;
    margin-top:1.2em !important;
    margin-bottom:1.2em !important;
  }

  /* title spacing polish */
  body.patchyp-intro-style-active h1.entry-title,
  body.patchyp-intro-style-active .entry-header h1,
  body.patchyp-intro-style-active article header h1{
    font-size:2.08rem !important;
    letter-spacing:1.35px !important;
    margin-top:18px !important;
    margin-bottom:10px !important;
  }

  body.patchyp-intro-style-active h1.entry-title::after,
  body.patchyp-intro-style-active .entry-header h1::after,
  body.patchyp-intro-style-active article header h1::after{
    width:82px !important;
    height:2px !important;
    margin:12px auto 16px auto !important;
  }

  /* progress bar stays refined */
  #render-reading-progress{
    height:3px !important;
  }
}