:root {
  --lfl-ink: #173c35;
  --lfl-paper: #fffdf7;
  --lfl-cream: #fff6dc;
  --lfl-yellow: #ffcf3f;
  --lfl-orange: #ff6b46;
  --lfl-purple: #6f4bd8;
  --lfl-line: #d8e1da;
  --lfl-shadow: 0 20px 50px rgba(29, 67, 58, 0.12);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
}
.wp-site-blocks {
  min-height: 100vh;
}
.wp-site-blocks > header.wp-block-template-part { margin-block-end:0 !important; }
.wp-site-blocks > header.wp-block-template-part + * { margin-block-start:0 !important; }
.lfl-announcement {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0.55rem 1rem !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.03em;
}
.lfl-header {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center !important;
  position: sticky;
  top: 0;
  z-index: 30;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.7rem max(1.25rem, calc((100% - 76rem) / 2)) !important;
  gap: clamp(1rem, 3vw, 2.5rem) !important;
  background: rgba(255, 253, 247, 0.96);
  border-bottom: 1px solid rgba(23, 60, 53, 0.1);
  backdrop-filter: blur(14px);
}
.lfl-header.alignwide,
.lfl-header.alignfull { width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
.lfl-header > * { min-width:0; }
.lfl-header > *,
.lfl-header .wp-block-group,
.lfl-header .wp-block-buttons,
.lfl-header .wp-block-navigation { margin-top:0 !important; margin-bottom:0 !important; }
.lfl-header > .wp-block-navigation,
.lfl-nav-actions { flex: 1; }
.lfl-nav-actions { display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:center !important; justify-content:stretch !important; width:auto !important; max-width:none !important; margin:0 !important; }
.lfl-header > *,.lfl-nav-actions > * { align-self:center !important; }
.lfl-nav-actions .wp-block-navigation { justify-self:center; margin-left:auto; margin-right:auto; }
.lfl-header-cta { justify-self:end; }
.lfl-header .wp-block-navigation__container { justify-content:center; column-gap:clamp(.85rem,2vw,1.5rem) !important; row-gap:.35rem !important; }
.lfl-header .wp-block-navigation-item { margin:0 !important; padding:0 !important; }
.lfl-wordmark {
  display: inline-flex; align-items: center; gap: .65rem; flex: 0 0 auto;
  color: var(--lfl-ink); text-decoration: none; line-height: .86;
}
.lfl-wordmark__mark { width: 2.65rem; height: 2.65rem; display: grid; place-items: center; position: relative; border-radius: 48% 52% 46% 54%; background: var(--lfl-yellow); transform: rotate(-5deg); }
.lfl-wordmark__mark:before { content: "L"; font: 900 1.55rem/1 Arial,sans-serif; }
.lfl-wordmark__mark i { position:absolute; width:.45rem; height:.45rem; border-radius:50%; background:var(--lfl-purple); }
.lfl-wordmark__mark i:nth-child(1){left:-.15rem;top:.55rem}.lfl-wordmark__mark i:nth-child(2){right:-.15rem;bottom:.5rem;background:var(--lfl-orange)}.lfl-wordmark__mark i:nth-child(3){right:.2rem;top:-.2rem;background:var(--lfl-green,#65b95d)}
.lfl-wordmark > span:last-child { display:flex; flex-direction:column; font-family:Arial,sans-serif; }
.lfl-wordmark b { font-size:1.15rem; letter-spacing:-.055em; }
.lfl-wordmark em { color:var(--lfl-orange); font-size:.76rem; font-style:normal; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.lfl-header .wp-block-site-title {
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: -0.07em;
}
.lfl-brand {
  gap: 0.65rem;
  flex-shrink: 0;
}
.lfl-brand .wp-block-site-title a {
  text-decoration: none;
}
.lfl-nav-actions {
  gap: 1.35rem;
}
.lfl-header-cta .wp-block-button__link {
  padding: 0.62rem 0.95rem;
  box-shadow: none;
}
.lfl-header .wp-block-navigation-item__content {
  font-weight: 700;
}
.lfl-hero {
  min-height: 38rem;
  background: linear-gradient(110deg, #fff8dd 0 58%, #f2ecff 58%);
  overflow: hidden;
}
.lfl-hero h1 {
  font-size: clamp(3.4rem, 7vw, 6.6rem);
  line-height: 0.92;
}
.lfl-hero-books { position:relative; min-height:34rem; max-width:38rem; margin:auto; }
.lfl-hero-book { position:absolute; display:block; width:min(46%, 16rem); text-decoration:none; transition:transform .28s ease; }
.lfl-hero-book img { width:100%; height:auto; display:block; border-radius:.6rem; box-shadow:0 24px 55px rgba(23,60,53,.25); }
.lfl-hero-book span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.lfl-hero-book--1 { left:27%; top:5%; z-index:3; transform:rotate(-1deg); }
.lfl-hero-book--2 { left:2%; top:19%; z-index:2; transform:rotate(-10deg); }
.lfl-hero-book--3 { right:1%; top:20%; z-index:1; transform:rotate(9deg); }
.lfl-hero-book--1:hover { transform:translateY(-10px) rotate(1deg); }.lfl-hero-book--2:hover { transform:translate(-7px,-8px) rotate(-12deg); }.lfl-hero-book--3:hover { transform:translate(7px,-8px) rotate(11deg); }
.lfl-hero-doodle { position:absolute; z-index:5; display:grid; place-items:center; width:4.5rem; height:4.5rem; border:2px solid currentColor; border-radius:48% 52% 45% 55%; background:rgba(255,253,247,.88); font:900 .72rem/1 Arial,sans-serif; letter-spacing:.12em; transform:rotate(-8deg); box-shadow:3px 4px 0 rgba(23,60,53,.1); }
.lfl-hero-doodle--look { left:-1%; top:4%; color:var(--lfl-purple); }
.lfl-hero-doodle--draw { right:-2%; bottom:9%; color:var(--lfl-orange); transform:rotate(8deg); }
.lfl-hero-flower { position:absolute; z-index:5; right:4%; top:3%; width:3.7rem; height:3.7rem; animation:lfl-float 5s ease-in-out infinite; background:radial-gradient(circle at 50% 50%,var(--lfl-yellow) 0 .48rem,transparent .51rem),radial-gradient(ellipse at 50% 19%,var(--lfl-pink,#f58bb0) 0 .7rem,transparent .73rem),radial-gradient(ellipse at 81% 50%,var(--lfl-pink,#f58bb0) 0 .7rem,transparent .73rem),radial-gradient(ellipse at 50% 81%,var(--lfl-pink,#f58bb0) 0 .7rem,transparent .73rem),radial-gradient(ellipse at 19% 50%,var(--lfl-pink,#f58bb0) 0 .7rem,transparent .73rem); background-repeat:no-repeat; transform-origin:center; }
.lfl-hero-flower:before,.lfl-hero-flower:after,.lfl-hero-flower i,.lfl-hero-flower i:before,.lfl-hero-flower i:after { content:none; display:none; }
.lfl-hero-spark { position:absolute; z-index:5; color:var(--lfl-yellow); font-size:2rem; line-height:1; text-shadow:1px 2px 0 rgba(23,60,53,.12); animation:lfl-twinkle 3.5s ease-in-out infinite; }
.lfl-hero-spark--one { left:4%; bottom:10%; }.lfl-hero-spark--two { right:8%; top:31%; color:var(--lfl-green,#65b95d); animation-delay:-1.7s; }
.lfl-hero-trail { position:absolute; left:8%; bottom:1%; width:33%; height:16%; border-bottom:3px dotted rgba(111,75,216,.52); border-radius:50%; transform:rotate(8deg); }
@keyframes lfl-float { 0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-7px) rotate(6deg)} }
@keyframes lfl-twinkle { 0%,100%{transform:scale(.85) rotate(-8deg);opacity:.7} 50%{transform:scale(1.15) rotate(8deg);opacity:1} }
.lfl-kicker {
  color: var(--lfl-orange);
  font-size: 0.76rem !important;
  font-weight: 900;
  letter-spacing: 0.14em;
}
.lfl-card {
  border: 1px solid rgba(23, 60, 53, 0.1);
  border-radius: 1.1rem;
  box-shadow: 0 10px 30px rgba(29, 67, 58, 0.08);
  overflow: hidden;
}
.lfl-card .wp-block-post-featured-image img {
  aspect-ratio: 0.73;
  object-fit: cover;
}
.lfl-discover h2,
.lfl-home-books h2,
.lfl-promise h2,
.lfl-journal-home h2,
.lfl-about-strip h2 {
  font-size: clamp(2.3rem, 4.5vw, 4rem);
  margin-top: 0;
}
.lfl-category-grid {
  gap: 1rem;
}
.lfl-category-card {
  min-height: 12rem;
  padding: 1.25rem;
  border-radius: 1.25rem;
  box-shadow: 0 7px 0 rgba(23, 60, 53, 0.1);
}
.lfl-category-card { position:relative; overflow:hidden; transition:transform .22s ease,box-shadow .22s ease; }
.lfl-category-card:after { content:"✦"; position:absolute; right:1rem; top:.8rem; color:rgba(255,255,255,.62); font-size:1.25rem; transform:rotate(10deg); }
.lfl-category-card:hover { transform:translateY(-4px) rotate(-.35deg); box-shadow:0 11px 0 rgba(23,60,53,.1); }
.lfl-home-books,.lfl-journal-home { position:relative; overflow:hidden; }
.lfl-home-books:before,.lfl-journal-home:before { content:""; position:absolute; width:7rem; height:7rem; border:2px dashed rgba(255,107,70,.24); border-radius:50%; pointer-events:none; }
.lfl-home-books:before { right:-3rem; top:2rem; }.lfl-journal-home:before { left:-3.5rem; bottom:3rem; border-color:rgba(111,75,216,.22); }
.lfl-category-card h3 {
  margin: 0.4rem 0;
}
.lfl-category-card p {
  margin: 0.25rem 0;
}
.lfl-category-icon {
  font: 900 2.4rem/1 Arial, sans-serif;
}
.lfl-home-books .wp-block-post-template {
  grid-template-columns: repeat(auto-fit, minmax(220px, 280px));
  justify-content: center;
}
.lfl-home-book-grid,.lfl-books-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; max-width:1216px; margin:2.5rem auto 0; }
.lfl-book-card { min-width:0; }
.lfl-book-card > a { height:100%; display:flex; flex-direction:column; color:var(--lfl-ink); text-decoration:none; }
.lfl-book-card__cover { aspect-ratio:4/5; display:grid; place-items:center; padding:1.25rem; border:1px solid rgba(23,60,53,.1); border-radius:1.25rem; background:#fff; box-shadow:0 14px 35px rgba(29,67,58,.1); overflow:hidden; }
.lfl-book-card__cover img { max-width:100%; width:auto; height:100%; object-fit:contain; border-radius:.35rem; box-shadow:0 12px 22px rgba(23,60,53,.18); transition:transform .25s ease; }
.lfl-book-card:hover .lfl-book-card__cover img { transform:translateX(7px) rotate(1.5deg); }
.lfl-book-card__body { display:flex; flex-direction:column; gap:.45rem; padding:1rem .35rem; }
.lfl-book-card__body small,.lfl-journal-card small { color:var(--lfl-orange); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.lfl-book-card__body strong { font-size:1.15rem; line-height:1.2; }
.lfl-book-card__body > span { font-size:.78rem; font-weight:900; }
.lfl-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem; max-width:1216px; margin:2.5rem auto 0; }
.lfl-journal-card { overflow:hidden; border:1px solid rgba(23,60,53,.1); border-radius:1.15rem; background:#fff; box-shadow:0 12px 32px rgba(29,67,58,.08); }
.lfl-journal-card__image { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--lfl-cream); }
.lfl-journal-card__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .3s ease; }
.lfl-journal-card:hover .lfl-journal-card__image img { transform:scale(1.035); }
.lfl-journal-card__placeholder { display:grid; place-items:center; width:100%; height:100%; color:var(--lfl-purple); font-size:3rem; }
.lfl-journal-card > div { padding:1.25rem; }
.lfl-journal-card h3 { font-size:1.35rem; margin:.45rem 0; }
.lfl-journal-card h3 a,.lfl-card-link { color:var(--lfl-ink); text-decoration:none; }
.lfl-journal-card p { color:#536d66; font-family:Georgia,serif; font-size:.96rem; }
.lfl-card-link { font-size:.78rem; font-weight:900; }
.lfl-archive > h1 { max-width:900px; margin-left:auto; margin-right:auto; }
.lfl-archive-layout { display:grid; grid-template-columns:14rem minmax(0,1fr); gap:2.25rem; align-items:start; max-width:1216px; margin:3rem auto 0; }
.lfl-archive-layout .lfl-journal-grid,.lfl-archive-layout .lfl-books-grid { margin-top:0; }
.lfl-archive-nav { position:sticky; top:8rem; display:flex; flex-direction:column; padding:1.25rem; border-radius:1.1rem; background:#fff; border:1px solid var(--lfl-line); }
.lfl-archive-nav h2 { font-size:1.2rem; margin:0 0 .75rem; }
.lfl-archive-nav a { display:flex; justify-content:space-between; gap:.5rem; padding:.7rem 0; border-top:1px solid var(--lfl-line); font-weight:700; text-decoration:none; }
.lfl-archive-nav a span { color:#71817c; }
.lfl-pagination { margin-top:2.5rem; }
.lfl-pagination ul { display:flex; justify-content:center; flex-wrap:wrap; gap:.45rem; list-style:none; padding:0; }
.lfl-pagination a,.lfl-pagination .current { display:grid; place-items:center; min-width:2.6rem; height:2.6rem; padding:0 .7rem; border:1px solid var(--lfl-line); border-radius:999px; background:#fff; text-decoration:none; }
.lfl-pagination .current { background:var(--lfl-ink); color:#fff; }
.lfl-promise-list {
  list-style: none;
  padding: 0;
}
.lfl-promise-list li {
  padding: 0.9rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 1.1rem;
  font-weight: 700;
}
.lfl-sidebar-stack {
  display: grid;
  gap: 1.25rem;
}
.lfl-sidebar-box {
  border-radius: 1.1rem;
  overflow: hidden;
}
.lfl-sidebar-box .wp-block-post-featured-image img {
  border-radius: 0.75rem;
}
.lfl-sidebar-box .wp-block-latest-posts {
  padding-left: 0;
}
.lfl-sidebar-box .wp-block-latest-posts li {
  border-top: 1px solid var(--lfl-line);
  padding: 0.8rem 0;
}
.lfl-ad-slot {
  position: relative;
  overflow: hidden;
}
.lfl-ad-slot:after {
  content: "✦";
  position: absolute;
  right: 1.5rem;
  top: 2rem;
  color: var(--lfl-yellow);
  font-size: 2rem;
}
.lfl-reading {
  font-family: Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.8;
}
.lfl-post-heading {
  max-width: 780px;
  margin-left: 7%;
  margin-right: auto;
}
.lfl-post-heading .lfl-share {
  justify-content: flex-start;
}
.lfl-article-column {
  min-width: 0;
}
.lfl-article-column .lfl-reading {
  margin: 0;
  max-width: none;
}
.lfl-reading h2,
.lfl-reading h3 {
  font-family: Arial, Helvetica, sans-serif;
}
.lfl-journal-layout {
  align-items: start;
}
.lfl-sidebar {
  position: sticky;
  top: 8rem;
}
.lfl-sidebar > * {
  border-radius: 1rem;
}
.lfl-footer {
  margin-top: 0 !important;
}
.lfl-share {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 1.5rem 0;
}
.lfl-share > span {
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lfl-share a {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--lfl-line);
  border-radius: 50%;
  background: #fff;
  font-weight: 900;
  text-decoration: none;
  transition: 0.2s;
}
.lfl-social-icon { width:1.2rem; height:1.2rem; fill:currentColor; }
.lfl-share a:hover {
  transform: translateY(-2px);
  background: var(--lfl-yellow);
}
.lfl-share a b {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.lfl-share-rail {
  position: sticky;
  top: 8rem;
  align-self: flex-start;
}
.lfl-share--vertical {
  flex-direction: column;
  margin: 0;
}
.lfl-share--vertical > span {
  writing-mode: vertical-rl;
  margin-bottom: 0.4rem;
}
.wp-block-button__link {
  box-shadow: 0 6px 0 rgba(12, 42, 36, 0.8);
}
:focus-visible {
  outline: 3px solid var(--lfl-orange);
  outline-offset: 3px;
}
@media (max-width: 900px) {
  .lfl-header { padding:.7rem 1rem !important; gap:.75rem !important; }
  .lfl-nav-actions { gap:.75rem !important; }
  .lfl-header-cta .wp-block-button__link { padding:.58rem .82rem; font-size:.88rem; white-space:nowrap; }
  .lfl-hero {
    background: linear-gradient(#fff8dd 0 55%, #f2ecff 55%);
  }
  .lfl-sidebar {
    position: static;
  }
  .lfl-journal-layout {
    flex-direction: column !important;
  }
  .lfl-journal-layout > .wp-block-column {
    flex-basis: 100% !important;
  }
  .lfl-share-rail {
    display: none;
  }
  .lfl-post-heading {
    margin-left: 0;
  }
  .lfl-header { flex-wrap:nowrap !important; }
  .lfl-nav-actions { flex:0 1 auto; }
  .lfl-home-book-grid,.lfl-books-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lfl-archive-layout { grid-template-columns:1fr; }
  .lfl-archive-nav { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 .8rem; }
  .lfl-archive-nav h2 { grid-column:1/-1; }
}
@media (max-width: 600px) {
  .lfl-announcement {
    font-size: 0.72rem !important;
  }
  .lfl-hero {
    min-height: auto;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .lfl-hero h1 {
    font-size: 3.45rem;
  }
  .lfl-header { padding:.58rem .8rem !important; gap:.5rem !important; }
  .lfl-wordmark { gap:.48rem; }
  .lfl-wordmark b { font-size:.92rem; }.lfl-wordmark__mark{width:2.3rem;height:2.3rem}.lfl-wordmark__mark:before{font-size:1.3rem}.lfl-wordmark em{font-size:.58rem}
  .lfl-header-cta .wp-block-button__link { padding:.52rem .7rem; font-size:.78rem; }
  .lfl-nav-actions { gap:.48rem !important; }
  .lfl-hero-books { min-height:23rem; margin-top:1rem; }
  .lfl-hero-book { width:min(44%,10.5rem); }
  .lfl-hero-doodle { width:3.45rem; height:3.45rem; font-size:.58rem; }
  .lfl-hero-doodle--look{left:0;top:2%}.lfl-hero-doodle--draw{right:0;bottom:7%}.lfl-hero-flower{right:2%;top:4%;width:3rem;height:3rem}.lfl-hero-spark--one{left:3%;bottom:14%}.lfl-hero-spark--two{right:6%;top:31%}
  .lfl-journal-grid { grid-template-columns:1fr; }
  .wp-block-navigation__responsive-container-open {
    display: flex;
  }
  .lfl-mobile-stack {
    flex-direction: column !important;
  }
  .lfl-category-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .lfl-category-card {
    min-height: 10rem;
  }
  .lfl-about-strip .wp-block-buttons {
    justify-content: flex-start;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lfl-hero-flower,.lfl-hero-spark { animation:none; }
  .lfl-hero-book,.lfl-book-card__cover img,.lfl-category-card { transition:none; }
}
@media (max-width: 420px) {
  .lfl-category-grid {
    grid-template-columns: 1fr;
  }
  .lfl-home-book-grid,.lfl-books-grid { grid-template-columns:1fr; }
}
