/* Jessica's Life — visual system */
:root {
  --jl-cream: #f7efe8;
  --jl-cream-2: #fbf7f3;
  --jl-terracotta: #c67e6a;
  --jl-terracotta-dark: #a85f50;
  --jl-ink: #1f1d1d;
  --jl-muted: #756b67;
  --jl-line: #e8d8ce;
  --jl-white: #fffdfb;
  --jl-serif: "Cormorant Garamond", Georgia, serif;
  --jl-sans: "Montserrat", Arial, sans-serif;
  --jl-radius: 4px;
  --jl-shadow: 0 12px 35px rgba(83, 54, 45, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--jl-cream-2);
  color: var(--jl-ink);
  font-family: var(--jl-sans);
  font-size: 15px;
  line-height: 1.7;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.jl-container { width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.jl-header { background: rgba(247,239,232,.96); position: relative; z-index: 20; }
.jl-header-top {
  min-height: 150px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
}
.jl-socials { display: flex; gap: 13px; align-items: center; }
.jl-social {
  width: 28px; height: 28px; display: grid; place-items: center;
  color: var(--jl-terracotta); border: 1px solid transparent;
  font-size: 12px; font-weight: 700;
}
.jl-social:hover { border-color: var(--jl-line); border-radius: 50%; }
.jl-header-brand { justify-self: center; text-align: center; }
.jl-brand { display: inline-flex; flex-direction: column; align-items: center; }
.jl-wordmark { font-family: var(--jl-serif); font-size: clamp(44px, 5vw, 68px); line-height: .8; letter-spacing: -2px; white-space: nowrap; }
.jl-wordmark em { color: var(--jl-terracotta); font-style: normal; }
.jl-lotus { width: 70px; height: 45px; display: block; margin-bottom: 2px; }
.jl-lotus svg { width: 100%; height: 100%; fill: none; stroke: var(--jl-terracotta); stroke-width: 2; }
.jl-lotus .jl-spark { stroke-width: 1.4; }
.jl-tagline { color: var(--jl-terracotta); font-size: 10px; letter-spacing: 4px; margin-top: 12px; }
.jl-tagline b { font-weight: 500; padding: 0 6px; }
.jl-search { justify-self: end; width: min(220px, 100%); }
.jl-search-form { display: flex; align-items: center; border-bottom: 1px solid var(--jl-line); }
.jl-search-form input { width: 100%; border: 0; background: transparent; outline: 0; padding: 9px 3px; font-size: 12px; color: var(--jl-ink); }
.jl-search-form button { border: 0; background: transparent; color: var(--jl-terracotta); font-size: 23px; cursor: pointer; }
.jl-nav-wrap { border-top: 1px solid var(--jl-line); border-bottom: 1px solid var(--jl-line); }
.jl-nav-inner { min-height: 56px; display: flex; align-items: center; justify-content: center; }
.jl-primary-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 38px; }
.jl-primary-nav a { display: block; padding: 18px 0 15px; font-size: 12px; font-weight: 600; letter-spacing: .35px; text-transform: uppercase; position: relative; }
.jl-primary-nav a:hover,
.jl-primary-nav .current-menu-item > a { color: var(--jl-terracotta-dark); }
.jl-primary-nav .current-menu-item > a:after { content:""; position:absolute; left:0; right:0; bottom:8px; height:1px; background:var(--jl-terracotta); }
.jl-menu-toggle { display: none; }

.jl-hero { background: var(--jl-cream); }
.jl-hero-grid { min-height: 470px; display: grid; grid-template-columns: 38% 62%; }
.jl-hero-copy { padding: 65px 55px 60px 0; display: flex; flex-direction: column; justify-content: center; }
.jl-ornament { color: var(--jl-terracotta); font-size: 28px; margin-bottom: 8px; }
.jl-hero h1, .jl-page-header h1, .jl-archive-header h1, .jl-single-header h1 {
  font-family: var(--jl-serif); font-weight: 600; line-height: .95; letter-spacing: -.7px;
}
.jl-hero h1 { font-size: clamp(50px, 5vw, 72px); margin: 0 0 22px; }
.jl-hero p { max-width: 510px; color: #3f3937; margin: 0 0 28px; }
.jl-button {
  display: inline-flex; width: fit-content; align-items: center; justify-content: center;
  padding: 13px 24px; border-radius: 2px; background: var(--jl-terracotta);
  color: #fff; text-transform: uppercase; letter-spacing: .7px; font-size: 11px; font-weight: 700;
  transition: transform .2s ease, background .2s ease;
}
.jl-button:hover { background: var(--jl-terracotta-dark); transform: translateY(-1px); color: #fff; }
.jl-button-outline { background: transparent; border: 1px solid var(--jl-terracotta); color: var(--jl-terracotta-dark); }
.jl-button-light { background: #f9e9df; color: var(--jl-terracotta-dark); }
.jl-hero-image { min-height: 470px; overflow: hidden; }
.jl-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.jl-hero-placeholder { height: 100%; min-height: 470px; display:grid; place-items:center; align-content:center; background: linear-gradient(135deg,#ead7ca,#f7eee8); color: var(--jl-terracotta-dark); text-align:center; font-family:var(--jl-serif); font-size:35px; }
.jl-hero-placeholder small { display:block; font: 11px var(--jl-sans); letter-spacing:1px; text-transform:uppercase; margin-top:12px; }

.jl-section { padding: 68px 0; }
.jl-section-heading { text-align: center; margin-bottom: 38px; }
.jl-section-heading h2 { display: inline-block; margin: 0 13px; font: 600 40px/1 var(--jl-serif); }
.jl-section-heading p { margin: 10px 0 0; color: var(--jl-muted); font-size: 12px; }
.jl-sparkle { color: var(--jl-terracotta); }
.jl-category-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.jl-category-card {
  background: #fffaf6; border: 1px solid var(--jl-line); padding: 25px 16px; text-align:center;
  min-height: 190px; display:flex; flex-direction:column; justify-content:center;
  transition: transform .2s ease, box-shadow .2s ease;
}
.jl-category-card:hover { transform: translateY(-4px); box-shadow: var(--jl-shadow); }
.jl-category-icon { font-size: 28px; margin-bottom: 8px; }
.jl-category-card h3 { font: 600 25px/1 var(--jl-serif); margin: 0 0 8px; }
.jl-category-card p { font-size: 10px; color: var(--jl-muted); line-height: 1.5; margin:0; }

.jl-latest { border-top: 1px solid var(--jl-line); }
.jl-heading-left { text-align: left; }
.jl-heading-left h2 { margin-left: 0; }
.jl-editorial-grid { display: grid; grid-template-columns: 1.35fr .85fr; gap: 35px; }
.jl-featured-card, .jl-post-card { background: var(--jl-white); border: 1px solid var(--jl-line); }
.jl-card-image { display:block; overflow:hidden; background:#eee1d8; }
.jl-card-image img { width:100%; aspect-ratio: 16/9; object-fit:cover; transition: transform .4s ease; }
.jl-featured-card:hover img, .jl-post-card:hover img { transform:scale(1.025); }
.jl-card-body { padding: 24px 26px 28px; }
.jl-card-meta, .jl-single-kicker, .jl-kicker {
  color: var(--jl-terracotta-dark); font-size: 10px; font-weight:700; text-transform:uppercase; letter-spacing:1px;
}
.jl-card-meta { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.jl-card-meta a { color:inherit; }
.jl-account-badge { border:1px solid #e0b6a9; padding:3px 7px; border-radius:20px; font-size:8px; letter-spacing:.5px; }
.jl-card-body h3 { font: 600 33px/1.05 var(--jl-serif); margin: 12px 0 10px; }
.jl-card-body p { color:var(--jl-muted); margin:0 0 18px; }
.jl-text-link { color:var(--jl-terracotta-dark); font-size:11px; text-transform:uppercase; letter-spacing:.7px; font-weight:700; }
.jl-small-card { display:grid; grid-template-columns: 115px 1fr; gap:16px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--jl-line); }
.jl-small-image { display:block; overflow:hidden; background:#eee1d8; }
.jl-small-image img { width:115px; height:95px; object-fit:cover; }
.jl-small-card h3 { font: 600 22px/1.05 var(--jl-serif); margin:5px 0 6px; }
.jl-small-card time { font-size:9px; color:var(--jl-muted); text-transform:uppercase; letter-spacing:.7px; }

.jl-about-strip { background:#f3e5dc; padding:65px 0; border-top:1px solid var(--jl-line); border-bottom:1px solid var(--jl-line); }
.jl-about-strip-inner { display:grid; grid-template-columns:220px 1fr; gap:50px; align-items:center; max-width:850px; }
.jl-about-portrait { width:220px; height:260px; background:#e5cabc; overflow:hidden; }
.jl-portrait-placeholder { height:100%; display:grid; place-items:center; color:var(--jl-terracotta-dark); font: 28px var(--jl-serif); }
.jl-about-strip h2 { font: 600 50px/1 var(--jl-serif); margin:8px 0 14px; }
.jl-about-strip p { max-width:650px; color:#5e5551; }

.jl-main { padding: 70px 0 100px; }
.jl-content-wrap { max-width: 900px; }
.jl-single { background:#fffdfb; }
.jl-single-header { text-align:center; padding: 25px 20px 35px; }
.jl-single-header h1 { font-size: clamp(50px,6vw,78px); margin:16px 0; }
.jl-single-kicker { display:flex; justify-content:center; align-items:center; gap:8px; flex-wrap:wrap; }
.jl-single-date { color:var(--jl-muted); font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.jl-single-image img { width:100%; max-height:650px; object-fit:cover; }
.jl-single-body { padding: 45px clamp(20px,7vw,90px); font-size:17px; }
.jl-single-body > * { max-width: 760px; margin-left:auto; margin-right:auto; }
.jl-single-body h2, .jl-single-body h3 { font-family:var(--jl-serif); line-height:1.05; }
.jl-single-body h2 { font-size:42px; margin-top:45px; }
.jl-single-body h3 { font-size:32px; margin-top:35px; }
.jl-single-body a { color:var(--jl-terracotta-dark); text-decoration:underline; text-underline-offset:3px; }
.jl-single-footer { padding:25px clamp(20px,7vw,90px) 45px; border-top:1px solid var(--jl-line); }
.jl-tags { font-size:11px; color:var(--jl-terracotta-dark); }
.jl-share-note { margin-top:25px; padding:18px; background:var(--jl-cream); color:var(--jl-muted); font-size:13px; text-align:center; }

.jl-archive { max-width: 1100px; }
.jl-archive-header { text-align:center; margin-bottom:45px; }
.jl-archive-header h1 { font-size:65px; margin:8px 0 15px; }
.jl-archive-description { max-width:650px; margin:auto; color:var(--jl-muted); }
.jl-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.jl-post-card h2 { font:600 30px/1.05 var(--jl-serif); margin:12px 0 10px; }
.jl-post-card p { color:var(--jl-muted); }
.jl-pagination { margin-top:50px; }
.jl-pagination .nav-links { display:flex; justify-content:center; gap:8px; }
.jl-pagination a, .jl-pagination span { border:1px solid var(--jl-line); padding:8px 12px; font-size:11px; }
.jl-pagination .current { background:var(--jl-terracotta); color:white; }

.jl-page-header { text-align:center; margin-bottom:35px; }
.jl-page-header h1 { font-size:65px; margin:0; }
.jl-footer { background:var(--jl-terracotta); color:#fff9f4; padding:55px 0 0; }
.jl-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:35px; position:relative; }
.jl-footer-wordmark { font: 500 45px/1 var(--jl-serif); }
.jl-footer-wordmark em { color:#f9dfd2; font-style:normal; }
.jl-footer p { color:#f9e7de; font-size:12px; }
.jl-footer h3 { font:600 23px/1 var(--jl-serif); margin:0 0 15px; }
.jl-footer ul { list-style:none; padding:0; margin:0; }
.jl-footer li { margin:6px 0; font-size:11px; }
.jl-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.jl-footer-socials { display:flex; flex-wrap:wrap; gap:10px; font-size:10px; text-transform:uppercase; letter-spacing:.5px; }
.jl-footer-contact p { max-width:300px; }
.jl-footer-lotus { position:absolute; right:10px; bottom:30px; width:115px; opacity:.7; }
.jl-footer-lotus svg { fill:none; stroke:#f9dfd2; stroke-width:1.6; }
.jl-footer-bottom { margin-top:40px; padding:16px; border-top:1px solid rgba(255,255,255,.2); text-align:center; font-size:10px; color:#f7dfd5; }

.jl-image-placeholder { aspect-ratio:16/9; display:grid; place-items:center; background:linear-gradient(135deg,#eee0d6,#f8efe9); color:var(--jl-terracotta-dark); font:28px var(--jl-serif); }
.jl-404 { text-align:center; padding:110px 0; }
.jl-404 h1 { font:600 65px/1 var(--jl-serif); }



/* SEO breadcrumb: visible, compact and consistent with the editorial style. */
.jl-breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin: 0 auto 22px;
  max-width: 1180px;
  padding: 0 4px;
  font-family: var(--jl-sans, 'Montserrat', sans-serif);
  font-size: 11px;
  letter-spacing: .05em;
  color: var(--jl-muted);
}
.jl-breadcrumbs a { color: inherit; text-decoration:none; }
.jl-breadcrumbs a:hover { text-decoration:underline; }
.jl-breadcrumb-separator { opacity:.55; font-size:14px; }
.jl-breadcrumb-current { color: var(--jl-ink, #171513); font-weight:600; }
.jl-rm-breadcrumb-wrap, .jl-story-breadcrumb-wrap { padding-top: 18px; }
.jl-rm-breadcrumb-wrap .jl-breadcrumbs, .jl-story-breadcrumb-wrap .jl-breadcrumbs { margin-bottom: 8px; }
@media (max-width: 950px) {
  .jl-header-top { grid-template-columns: 1fr auto; }
  .jl-search { grid-column: 1 / -1; grid-row: 2; justify-self: center; width:280px; margin-bottom:18px; }
  .jl-socials { align-self:start; }
  .jl-header-brand { justify-self:end; }
  .jl-nav-inner { justify-content:flex-end; min-height:48px; }
  .jl-menu-toggle { display:block; border:0; background:transparent; color:var(--jl-terracotta-dark); text-transform:uppercase; letter-spacing:1px; font-size:11px; font-weight:700; cursor:pointer; padding:10px; }
  .jl-primary-nav { display:none; width:100%; }
  .jl-primary-nav.is-open { display:block; }
  .jl-primary-nav ul { flex-direction:column; gap:0; }
  .jl-primary-nav a { padding:12px; text-align:center; border-top:1px solid var(--jl-line); }
  .jl-hero-grid { grid-template-columns:1fr; }
  .jl-hero-copy { padding:55px 30px; }
  .jl-hero-image { min-height:380px; }
  .jl-category-grid { grid-template-columns:repeat(3,1fr); }
  .jl-editorial-grid { grid-template-columns:1fr; }
  .jl-post-grid { grid-template-columns:repeat(2,1fr); }
  .jl-footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 650px) {
  .jl-container { width:min(100% - 30px, 1180px); }
  .jl-header-top { min-height:125px; }
  .jl-wordmark { font-size:45px; }
  .jl-lotus { width:55px; height:34px; }
  .jl-tagline { font-size:7px; letter-spacing:2.5px; }
  .jl-socials { gap:3px; }
  .jl-search { width:220px; }
  .jl-category-grid { grid-template-columns:1fr 1fr; }
  .jl-category-card { min-height:160px; }
  .jl-category-card h3 { font-size:23px; }
  .jl-small-card { grid-template-columns:90px 1fr; }
  .jl-small-image img { width:90px; height:80px; }
  .jl-post-grid { grid-template-columns:1fr; }
  .jl-about-strip-inner { grid-template-columns:1fr; text-align:center; }
  .jl-about-portrait { margin:auto; }
  .jl-about-strip h2 { font-size:45px; }
  .jl-footer-grid { grid-template-columns:1fr; }
  .jl-footer-lotus { position:static; margin:25px auto 0; }
  .jl-footer-bottom { margin-top:30px; }
  .jl-single-header h1 { font-size:52px; }
}

/* === Jessica's Life — V1.1 fidelity to approved mockup === */
.jl-hero { border-bottom: 1px solid var(--jl-line); }
.jl-hero-grid { min-height: 380px; grid-template-columns: 42% 58%; }
.jl-hero-copy { padding: 42px 48px 42px 18px; }
.jl-hero-lotus { color: var(--jl-terracotta); font-size: 36px; line-height: 1; margin-bottom: 10px; transform: rotate(180deg); }
.jl-hero h1 { font-size: clamp(48px, 4.6vw, 66px); margin-bottom: 20px; }
.jl-hero p { font-size: 13px; line-height: 1.8; margin-bottom: 24px; }
.jl-button { border-radius: 4px; padding: 12px 22px; }
.jl-hero-image, .jl-hero-placeholder { min-height: 380px; }

.jl-univers { padding: 25px 0 38px; }
.jl-univers .jl-section-heading { margin-bottom: 24px; }
.jl-heading-line { display:flex; justify-content:center; align-items:center; gap:14px; }
.jl-heading-line span { color:var(--jl-terracotta); font-size:20px; }
.jl-section-heading h2 { font-size:34px; }
.jl-univers .jl-section-heading p { margin-top:5px; font-size:11px; }
.jl-category-grid { grid-template-columns:repeat(5, 1fr); gap:18px; }
.jl-category-card { padding:0 0 17px; min-height:0; overflow:hidden; border-radius:12px; background:#fffaf7; border:1px solid #ead7cd; box-shadow:none; display:block; }
.jl-category-card:hover { transform:translateY(-3px); box-shadow:0 10px 25px rgba(83,54,45,.08); }
.jl-category-photo { height:155px; position:relative; overflow:visible; background:#eadbd2; }
.jl-category-photo img, .jl-category-photo-placeholder { width:100%; height:100%; object-fit:cover; display:block; }
.jl-category-photo-placeholder { background:linear-gradient(135deg,#e8d8ce,#f5e9e1); }
.jl-category-icon { position:absolute; width:50px; height:50px; left:50%; bottom:-25px; transform:translateX(-50%); display:grid; place-items:center; border-radius:50%; background:#fffaf7; border:1px solid #e7c5b8; color:var(--jl-terracotta); font-size:22px; z-index:2; }
.jl-category-content { padding:35px 13px 0; text-align:center; }
.jl-category-card h3 { font-family:var(--jl-sans); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin:0 0 8px; }
.jl-category-card p { font-size:10px; line-height:1.55; color:#665b57; min-height:48px; margin:0; }
.jl-explore { display:inline-block; margin-top:8px; color:var(--jl-terracotta-dark); text-transform:uppercase; font-size:10px; letter-spacing:.8px; font-weight:600; }
.jl-explore b { font-size:15px; margin-left:4px; }

.jl-home-editorial { padding:25px 0 38px; }
.jl-home-columns { display:grid; grid-template-columns:1.18fr 1fr .9fr; gap:26px; align-items:start; }
.jl-section-label { font-family:var(--jl-serif); font-size:19px; font-weight:600; margin:0 0 13px; letter-spacing:.1px; }
.jl-section-label span { color:var(--jl-terracotta); font-family:var(--jl-sans); font-size:14px; margin-right:7px; }
.jl-featured-card { border-radius:10px; overflow:hidden; }
.jl-featured-card .jl-card-image img { aspect-ratio:1.55/1; }
.jl-featured-card .jl-card-body { padding:14px 16px 18px; }
.jl-featured-card .jl-card-meta { font-size:8px; }
.jl-featured-card .jl-card-body time { display:block; color:#8a7b75; font-size:8px; margin-top:6px; text-transform:uppercase; }
.jl-featured-card .jl-card-body h3 { font-size:27px; margin:7px 0; }
.jl-featured-card .jl-card-body p { font-size:11px; line-height:1.5; margin-bottom:12px; }
.jl-outline-link { display:inline-block; border:1px solid #d9a999; color:var(--jl-terracotta-dark); padding:7px 13px; font-size:9px; text-transform:uppercase; letter-spacing:.7px; font-weight:600; border-radius:2px; }
.jl-outline-link:hover { background:#f8e8df; }
.jl-latest-item { display:grid; grid-template-columns:90px 1fr; gap:12px; padding:0 0 12px; margin:0 0 12px; border-bottom:1px solid var(--jl-line); }
.jl-latest-thumb { display:block; width:90px; height:75px; overflow:hidden; border-radius:5px; background:#eee1d8; }
.jl-latest-thumb img { width:100%; height:100%; object-fit:cover; }
.jl-latest-cat { color:var(--jl-terracotta-dark); font-size:8px; text-transform:uppercase; letter-spacing:.7px; font-weight:600; }
.jl-latest-item h3 { font:600 15px/1.12 var(--jl-serif); margin:3px 0 4px; }
.jl-latest-item time { font-size:8px; color:#8a7b75; text-transform:uppercase; }
.jl-all-articles { display:block; text-align:right; color:var(--jl-terracotta-dark); font-size:9px; text-transform:uppercase; letter-spacing:.7px; font-weight:600; margin-top:4px; }
.jl-all-articles b { font-size:14px; }
.jl-favorite-card { border:1px solid #ead7cd; border-radius:10px; overflow:hidden; background:#fffaf7; }
.jl-favorite-image { height:155px; background:#eadbd2; }
.jl-favorite-placeholder { height:100%; display:grid; place-items:center; color:var(--jl-terracotta-dark); font:24px var(--jl-serif); background:linear-gradient(135deg,#eee0d7,#f7eee8); }
.jl-favorite-content { text-align:center; padding:10px 14px 16px; }
.jl-favorite-content h3 { font:600 19px/1.15 var(--jl-serif); margin:5px 0 10px; }
.jl-mini-newsletter { margin-top:12px; padding:14px; border:1px solid #ead7cd; border-radius:10px; text-align:center; background:#fffaf7; }
.jl-mini-newsletter strong { font-size:9px; letter-spacing:1px; }
.jl-mini-newsletter p { color:#6f625d; font-size:9px; line-height:1.5; margin:7px 0 10px; }
.jl-newsletter-mini-form { display:flex; gap:5px; }
.jl-newsletter-mini-form input { min-width:0; width:100%; border:1px solid #e6d4ca; background:#fff; padding:8px; font-size:8px; }
.jl-newsletter-mini-form button { border:0; background:var(--jl-terracotta); color:#fff; padding:0 9px; text-transform:uppercase; font-size:8px; font-weight:600; }

.jl-newsletter-strip { margin:0 0 0; padding:16px 0; }
.jl-newsletter-inner { border:1px solid #ead7cd; border-radius:10px; padding:15px 22px; display:grid; grid-template-columns:70px 1fr 1.2fr 80px; gap:18px; align-items:center; background:#fffaf7; }
.jl-newsletter-icon { width:54px; height:54px; border:1px solid #e6bdae; border-radius:50%; display:grid; place-items:center; color:var(--jl-terracotta); font-size:23px; }
.jl-newsletter-copy h2 { font:600 25px/1 var(--jl-serif); margin:0 0 4px; }
.jl-newsletter-copy p { margin:0; color:#665b57; font-size:9px; line-height:1.5; }
.jl-newsletter-form { display:grid; grid-template-columns:1fr auto; gap:7px; }
.jl-newsletter-form input { border:1px solid #e6d4ca; background:#fff; padding:10px; font-size:9px; }
.jl-newsletter-form button { border:0; background:var(--jl-terracotta); color:#fff; padding:0 17px; text-transform:uppercase; font-size:9px; font-weight:600; }
.jl-newsletter-form small { grid-column:1/-1; color:#8b7a73; font-size:7px; }
.jl-newsletter-deco { color:var(--jl-terracotta); font-size:42px; text-align:center; transform:rotate(-25deg); }

.jl-footer { padding-top:38px; }
.jl-footer-grid { grid-template-columns:1.4fr 1fr 1fr 1.25fr; gap:28px; }

@media (max-width:950px) {
  .jl-category-grid { grid-template-columns:repeat(3,1fr); }
  .jl-home-columns { grid-template-columns:1fr 1fr; }
  .jl-home-feature { grid-column:1/-1; }
  .jl-newsletter-inner { grid-template-columns:55px 1fr; }
  .jl-newsletter-form { grid-column:1/-1; }
  .jl-newsletter-deco { display:none; }
}
@media (max-width:650px) {
  .jl-category-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .jl-category-photo { height:125px; }
  .jl-category-card p { min-height:58px; }
  .jl-home-columns { grid-template-columns:1fr; }
  .jl-home-feature { grid-column:auto; }
  .jl-newsletter-inner { grid-template-columns:52px 1fr; padding:13px; }
  .jl-newsletter-copy h2 { font-size:22px; }
}


/* === Jessica's Life 1.2 — final visual refinements === */
.jl-category-card { border-radius: 18px; }
.jl-category-icon { border-radius: 50%; box-shadow: 0 5px 15px rgba(83,54,45,.07); }
.jl-category-icon svg { width: 24px; height: 24px; }
.jl-home-columns { gap: 28px; }
.jl-univers-strip { padding: 18px 0 55px; }
.jl-univers-strip-inner { position:relative; min-height:155px; border:1px solid #ead7cd; border-radius:18px; background:#f4e6dd; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.jl-univers-strip-copy { max-width:690px; text-align:center; padding:25px 60px; position:relative; z-index:2; }
.jl-univers-strip-copy h2 { font:600 35px/1 var(--jl-serif); margin:4px 0 7px; }
.jl-univers-strip-copy p { margin:0 auto 14px; max-width:560px; color:#665b57; font-size:11px; }
.jl-plant { position:absolute; color:var(--jl-terracotta); opacity:.72; font-family:Georgia,serif; font-size:72px; line-height:1; pointer-events:none; }
.jl-plant-left { left:20px; bottom:-13px; transform:rotate(-28deg); }
.jl-plant-right { right:20px; top:-10px; transform:rotate(150deg); }
.jl-footer { position:relative; overflow:hidden; }
.jl-footer:before { content:'❧'; position:absolute; left:22px; top:12px; color:var(--jl-terracotta); opacity:.35; font:60px Georgia,serif; transform:rotate(-25deg); }
.jl-footer:after { content:'❧'; position:absolute; right:22px; bottom:42px; color:var(--jl-terracotta); opacity:.35; font:60px Georgia,serif; transform:rotate(155deg); }

/* Hub / Linktree-style page */
.jl-hub-intro { position:relative; background:var(--jl-cream); border-bottom:1px solid var(--jl-line); text-align:center; overflow:hidden; padding:58px 0 55px; }
.jl-hub-container { position:relative; z-index:2; }
.jl-hub-lotus { color:var(--jl-terracotta); font-size:24px; margin-bottom:6px; }
.jl-hub-intro h1 { font:600 clamp(45px,5vw,68px)/.95 var(--jl-serif); margin:0 0 12px; }
.jl-hub-intro p { max-width:650px; margin:0 auto; color:#665b57; font-size:12px; }
.jl-hub-section { padding:55px 0 45px; }
.jl-hub-title { display:flex; justify-content:center; align-items:center; gap:13px; margin-bottom:25px; }
.jl-hub-title span { color:var(--jl-terracotta); font-size:16px; }
.jl-hub-title h2 { margin:0; font:600 34px/1 var(--jl-serif); }
.jl-account-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.jl-account-card { position:relative; text-align:center; background:#fffaf7; border:1px solid #ead7cd; border-radius:18px; padding:25px 18px 20px; transition:transform .2s ease,box-shadow .2s ease; }
.jl-account-card:hover { transform:translateY(-3px); box-shadow:var(--jl-shadow); }
.jl-account-mark { width:55px; height:55px; margin:0 auto 10px; border:1px solid #e7c5b8; border-radius:50%; display:grid; place-items:center; color:var(--jl-terracotta); background:#fffdfb; font:600 25px var(--jl-serif); }
.jl-account-card h3 { font:600 24px/1 var(--jl-serif); margin:0 0 6px; }
.jl-account-card p { min-height:37px; margin:0 auto 13px; color:#756b67; font-size:10px; line-height:1.5; }
.jl-account-links { display:flex; justify-content:center; gap:7px; }
.jl-account-links a { display:inline-flex; align-items:center; gap:5px; padding:6px 9px; border:1px solid #e1c0b4; border-radius:20px; color:var(--jl-terracotta-dark); font-size:8px; text-transform:uppercase; letter-spacing:.6px; font-weight:600; }
.jl-account-links a:hover { background:#f7e9e2; }
.jl-account-links svg { width:14px; height:14px; }
.jl-hub-platforms { padding:45px 0 70px; background:#f4e6dd; border-top:1px solid var(--jl-line); }
.jl-hub-platform-intro { text-align:center; color:#665b57; font-size:11px; margin:-10px 0 22px; }
.jl-platform-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:850px; margin:auto; }
.jl-platform-card { background:#fffaf7; border:1px solid #ead7cd; border-radius:16px; padding:20px; display:grid; grid-template-columns:44px 1fr; column-gap:12px; align-items:center; }
.jl-platform-card:hover { transform:translateY(-2px); box-shadow:var(--jl-shadow); }
.jl-platform-card svg, .jl-platform-icon { grid-row:1/3; width:35px; height:35px; display:grid; place-items:center; color:var(--jl-terracotta); font-size:25px; }
.jl-platform-card strong { font:600 23px/1 var(--jl-serif); }
.jl-platform-card small { color:#756b67; font-size:9px; text-transform:uppercase; letter-spacing:.7px; }

/* Replace generic header letter icons with delicate line icons. */
.jl-social { font-family:Georgia,serif; font-size:0; }
.jl-social:before { display:block; font-size:15px; color:var(--jl-terracotta); }
.jl-social.jl-instagram:before { content:'◎'; }
.jl-social.jl-tiktok:before { content:'♪'; }
.jl-social.jl-youtube:before { content:'▷'; }
.jl-social.jl-pinterest:before { content:'P'; font-family:var(--jl-serif); font-weight:600; }
.jl-social.jl-mail:before { content:'✉'; font-size:13px; }

@media (max-width:950px) {
  .jl-account-grid { grid-template-columns:repeat(2,1fr); }
  .jl-platform-grid { grid-template-columns:1fr; max-width:520px; }
}
@media (max-width:650px) {
  .jl-account-grid { grid-template-columns:1fr; }
  .jl-univers-strip-inner { margin:0; }
  .jl-univers-strip-copy { padding:30px 35px; }
  .jl-plant { font-size:55px; }
  .jl-hub-intro { padding:45px 0; }
  .jl-hub-intro h1 { font-size:46px; }
}

/* === Jessica's Life 1.3 — signature visual layer === */
:root{
  --jl-radius:18px;
  --jl-terracotta-soft:#ead0c4;
  --jl-terracotta-pale:#f2e1d9;
}
.jl-header-top{grid-template-columns:1fr auto 1fr; min-height:138px; position:relative;}
.jl-socials{justify-self:start; margin-left:8px;}
.jl-mini-univers{display:flex; gap:7px; align-items:center; flex-wrap:nowrap;}
.jl-mini-univers{position:absolute; left:0; top:20px;}
.jl-mini-universe{width:28px;height:28px;border:1px solid var(--jl-terracotta-soft);border-radius:50%;display:grid;place-items:center;background:rgba(255,253,251,.75);color:var(--jl-terracotta);transition:.2s ease;overflow:hidden;}
.jl-mini-universe img{width:100%;height:100%;object-fit:contain;padding:4px;}
.jl-mini-universe span{font-family:var(--jl-serif);font-size:13px;font-weight:600;}
.jl-mini-universe:hover{transform:translateY(-2px);background:#fff;box-shadow:0 5px 15px rgba(83,54,45,.08);}
.jl-social{width:30px;height:30px;border:0!important;display:grid;place-items:center;color:var(--jl-terracotta);}
.jl-social svg{width:18px;height:18px;display:block;}
.jl-social:hover{transform:translateY(-1px);background:var(--jl-terracotta-pale);border-radius:50%;}
.jl-brand{position:relative;}
.jl-brand:after{content:'✦';position:absolute;right:-28px;top:7px;color:var(--jl-terracotta);font-size:11px;opacity:.65;}
.jl-hero{position:relative;overflow:hidden;}
.jl-hero:before,.jl-hero:after{content:'';position:absolute;z-index:0;pointer-events:none;width:170px;height:230px;opacity:.22;background-repeat:no-repeat;background-size:contain;}
.jl-hero:before{left:-32px;bottom:-52px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 230'%3E%3Cg fill='none' stroke='%23c67e6a' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M20 225C45 160 80 105 145 28'/%3E%3Cpath d='M43 176c-21-2-30-12-34-27 18-2 30 7 34 27z'/%3E%3Cpath d='M65 139c-19-4-28-14-30-28 17-1 27 8 30 28z'/%3E%3Cpath d='M88 107c-15-5-23-15-23-27 15 0 24 9 23 27z'/%3E%3Cpath d='M113 76c-12-5-18-13-17-24 13 1 19 9 17 24z'/%3E%3C/g%3E%3C/svg%3E");}
.jl-hero:after{right:-42px;top:-75px;transform:scaleX(-1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 230'%3E%3Cg fill='none' stroke='%23c67e6a' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M20 225C45 160 80 105 145 28'/%3E%3Cpath d='M43 176c-21-2-30-12-34-27 18-2 30 7 34 27z'/%3E%3Cpath d='M65 139c-19-4-28-14-30-28 17-1 27 8 30 28z'/%3E%3Cpath d='M88 107c-15-5-23-15-23-27 15 0 24 9 23 27z'/%3E%3Cpath d='M113 76c-12-5-18-13-17-24 13 1 19 9 17 24z'/%3E%3C/g%3E%3C/svg%3E");}
.jl-hero-grid,.jl-section>.jl-container{position:relative;z-index:1;}
.jl-hero-lotus{width:72px;height:52px;margin-bottom:13px;position:relative;color:var(--jl-terracotta);}
.jl-hero-lotus:before,.jl-hero-lotus:after{content:'';position:absolute;border:1px solid currentColor;border-bottom:0;border-radius:60% 60% 0 0;width:24px;height:30px;bottom:5px;}
.jl-hero-lotus:before{left:18px;transform:rotate(-25deg);}
.jl-hero-lotus:after{left:32px;transform:rotate(25deg);}
.jl-botanical-spark{position:absolute;left:29px;top:0;font-size:13px;}
.jl-category-card{border-radius:18px;position:relative;background:#fffdfb;border:1px solid var(--jl-line);}
.jl-category-photo{height:165px;border-radius:18px 18px 0 0;overflow:visible;}
.jl-category-photo img,.jl-category-photo-placeholder{border-radius:18px 18px 0 0;}
.jl-category-icon{width:54px;height:54px;bottom:-27px;border:1px solid var(--jl-terracotta-soft);box-shadow:0 6px 18px rgba(83,54,45,.08);}
.jl-category-icon svg{width:27px;height:27px;}
.jl-category-content{padding:39px 15px 19px;}
.jl-category-card h3{font-family:var(--jl-serif);font-size:24px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--jl-ink);}
.jl-category-card p{font-size:10.5px;min-height:52px;}
.jl-explore{display:inline-flex;gap:8px;margin-top:11px;color:var(--jl-terracotta-dark);font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;}
.jl-explore b{font-size:15px;line-height:10px;}
.jl-section-label span{font-size:12px;}
.jl-univers-strip-inner{background:var(--jl-cream);border:0;border-radius:0;min-height:205px;}
.jl-univers-strip{padding:12px 0 68px;position:relative;overflow:hidden;}
.jl-univers-strip:before{content:'✦';position:absolute;left:31%;top:30px;color:var(--jl-terracotta);opacity:.35;font-size:13px;}
.jl-univers-strip:after{content:'✦';position:absolute;right:32%;bottom:38px;color:var(--jl-terracotta);opacity:.35;font-size:11px;}
.jl-plant{font-size:0;width:150px;height:170px;opacity:.72;}
.jl-plant:before{content:'';display:block;width:100%;height:100%;background-repeat:no-repeat;background-size:contain;background-position:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 170'%3E%3Cg fill='none' stroke='%23c67e6a' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M22 168C43 121 77 74 128 18'/%3E%3Cpath d='M45 124c-20-2-28-12-30-25 17-1 27 7 30 25z'/%3E%3Cpath d='M69 91c-17-3-24-12-25-23 15 0 23 7 25 23z'/%3E%3Cpath d='M94 61c-14-4-20-12-19-22 13 1 20 8 19 22z'/%3E%3C/g%3E%3C/svg%3E");}
.jl-plant-right:before{transform:scaleX(-1);}
.jl-footer:before,.jl-footer:after{content:'';width:150px;height:150px;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Cg fill='none' stroke='%23f9dfd2' stroke-width='1.2' opacity='.5'%3E%3Cpath d='M20 145C45 100 70 66 130 20'/%3E%3Cpath d='M45 111c-18-2-26-11-29-23 16 0 26 8 29 23z'/%3E%3Cpath d='M69 78c-15-3-22-10-22-21 13 1 21 8 22 21z'/%3E%3Cpath d='M95 50c-12-3-18-10-17-19 11 1 17 7 17 19z'/%3E%3C/g%3E%3C/svg%3E");font-size:0;position:absolute;opacity:.6;}
.jl-footer:before{left:12px;top:10px;transform:scaleX(-1);}
.jl-footer:after{right:12px;bottom:20px;}
.jl-hub-intro{position:relative;overflow:hidden;background:var(--jl-cream);padding:70px 0;}
.jl-hub-intro .jl-plant{top:12px;bottom:auto;}
.jl-hub-title h2{font-family:var(--jl-serif);font-size:38px;}
.jl-account-card{border-radius:18px!important;background:#fffdfb!important;border:1px solid var(--jl-line)!important;box-shadow:none!important;transition:.2s ease;}
.jl-account-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(83,54,45,.08)!important;}
.jl-account-mark{border:1px solid var(--jl-terracotta-soft)!important;background:var(--jl-cream)!important;color:var(--jl-terracotta)!important;font-family:var(--jl-serif)!important;}
.jl-account-links a,.jl-platform-card{border-color:var(--jl-line)!important;background:#fff!important;}
.jl-platform-icon{color:var(--jl-terracotta)!important;}
@media(max-width:950px){.jl-mini-univers{position:static;grid-column:1;grid-row:1;}.jl-socials{grid-column:1;grid-row:2;margin-top:-10px}.jl-header-brand{grid-column:2;grid-row:1/3;}.jl-search{grid-column:1/-1;grid-row:3!important;}}
@media(max-width:650px){.jl-mini-univers{gap:4px}.jl-mini-universe{width:24px;height:24px}.jl-socials{gap:2px}.jl-social{width:26px;height:26px}.jl-social svg{width:16px;height:16px}.jl-header-top{min-height:145px}.jl-category-grid{grid-template-columns:1fr 1fr}.jl-plant{width:100px;height:120px}.jl-hero:before,.jl-hero:after{opacity:.13;width:110px;height:160px}}


/* === V3 graphic assets: supplied Jessica's Life artwork === */
:root{
  --jl-cream:#f7efe8;
  --jl-cream-2:#fcf8f4;
  --jl-terracotta:#c67e6a;
  --jl-terracotta-dark:#a85f50;
  --jl-ink:#1d1a1a;
  --jl-line:#ead9d0;
  --jl-radius:12px;
}

/* Header: real supplied social marks */
.jl-header-top{
  min-height:150px;
  grid-template-columns:1fr auto 1fr;
}
.jl-header-socials{
  display:flex;
  align-items:center;
  gap:12px;
  justify-self:start;
}
.jl-social{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  color:var(--jl-terracotta);
  transition:transform .18s ease, opacity .18s ease;
}
.jl-social:hover{transform:translateY(-2px);opacity:.75;}
.jl-social-icon-image{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
}
.jl-email-icon{
  font-family:Arial,sans-serif;
  font-size:18px;
  line-height:1;
  color:var(--jl-terracotta);
}
.jl-image-brand{
  display:block;
  width:min(390px,42vw);
}
.jl-image-brand img{
  width:100%;
  height:auto;
  display:block;
}
.jl-header-brand .jl-brand{display:none;}

/* Hero ornaments */
.jl-hero{position:relative;overflow:hidden;}
.jl-hero-botanical{
  position:absolute;
  z-index:1;
  pointer-events:none;
  opacity:.9;
}
.jl-hero-botanical img{display:block;max-height:180px;width:auto;}
.jl-hero-botanical-left{left:30%;bottom:8px;transform:rotate(-7deg);opacity:.28;}
.jl-hero-botanical-right{right:2%;bottom:-15px;transform:rotate(9deg);opacity:.32;}
.jl-hero-grid{position:relative;z-index:2;}
.jl-hero-lotus-image{
  width:42px;
  height:42px;
  border:0;
  position:relative;
  margin-bottom:10px;
  color:var(--jl-terracotta);
}
.jl-hero-lotus-image:before{
  content:"";
  position:absolute;
  inset:3px;
  border:1.5px solid currentColor;
  border-radius:55% 45% 55% 45%;
  transform:rotate(45deg);
  opacity:.8;
}
.jl-hero-lotus-image span{
  position:absolute;
  top:-7px;
  left:14px;
  font-size:14px;
}
.jl-hero-empty{
  width:100%;
  height:100%;
  min-height:380px;
  background:linear-gradient(120deg,#f4e7df,#ead9cf);
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.jl-hero-empty img{
  position:absolute;
  right:4%;
  bottom:-20px;
  height:70%;
  width:auto;
  opacity:.35;
}
.jl-hero-empty span{
  position:relative;
  z-index:1;
  font:500 28px var(--jl-serif);
  color:#b57a6b;
  opacity:.6;
}

/* Five universe cards: real artwork */
.jl-category-grid{gap:18px;}
.jl-category-card{
  border-radius:14px;
  overflow:hidden;
  background:#fffaf7;
  border:1px solid #e8d5cb;
}
.jl-category-photo{height:158px;}
.jl-category-icon{
  width:64px;
  height:64px;
  bottom:-31px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.jl-category-icon img{
  width:64px;
  height:64px;
  display:block;
  object-fit:contain;
}
.jl-category-content{padding:40px 14px 18px;}
.jl-category-card h3{
  font-family:var(--jl-sans);
  font-size:12px;
  letter-spacing:.7px;
}
.jl-category-card p{min-height:50px;}

/* Decorative plants around the cross-page strip */
.jl-univers-strip{
  position:relative;
  overflow:hidden;
  background:#f5e7de;
  border-top:1px solid var(--jl-line);
  border-bottom:1px solid var(--jl-line);
  min-height:190px;
}
.jl-univers-strip-inner{
  min-height:190px;
  position:relative;
  z-index:2;
}
.jl-strip-plant{
  position:absolute;
  z-index:1;
  pointer-events:none;
  opacity:.58;
}
.jl-strip-plant-left{left:0;bottom:-55px;height:210px;width:auto;}
.jl-strip-plant-right{right:0;top:-70px;height:220px;width:auto;transform:rotate(180deg);}
.jl-strip-icon{color:var(--jl-terracotta);font-size:20px;}
.jl-univers-strip-copy{position:relative;z-index:3;}

/* Footer social artwork */
.jl-footer-socials{align-items:center;gap:12px;}
.jl-footer-social{
  width:30px;height:30px;display:grid;place-items:center;
}
.jl-footer-social .jl-social-icon-image{
  width:25px;height:25px;
}
.jl-footer-logo-image{width:210px;height:auto;display:block;margin-bottom:12px;}
.jl-footer-plant{
  position:absolute;
  right:-10px;
  bottom:-45px;
  width:145px;
  height:auto;
  opacity:.32;
  transform:rotate(180deg);
}

/* Hub / Linktree */
.jl-hub-intro{position:relative;overflow:hidden;background:var(--jl-cream);padding:75px 0 65px;text-align:center;}
.jl-hub-container{position:relative;z-index:2;}
.jl-hub-intro h1,.jl-hub-title h2{font-family:var(--jl-serif);font-weight:600;}
.jl-hub-intro h1{font-size:58px;line-height:1;margin:8px 0 14px;}
.jl-hub-intro p{max-width:680px;margin:auto;color:var(--jl-muted);}
.jl-hub-lotus{color:var(--jl-terracotta);font-size:22px;}
.jl-hub-plant{position:absolute;z-index:1;opacity:.35;pointer-events:none;}
.jl-hub-plant-left{left:3%;bottom:-50px;height:210px;width:auto;}
.jl-hub-plant-right{right:3%;top:-35px;height:200px;width:auto;transform:rotate(180deg);}
.jl-hub-section,.jl-hub-platforms{padding:60px 0;}
.jl-hub-title{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:28px;}
.jl-hub-title span{color:var(--jl-terracotta);}
.jl-hub-title h2{font-size:40px;margin:0;}
.jl-account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.jl-account-card{
  background:#fffaf7;
  border:1px solid #e8d5cb;
  border-radius:14px;
  padding:28px 20px 22px;
  text-align:center;
}
.jl-account-mark{
  width:54px;height:54px;margin:0 auto 12px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid #e0b8aa;color:var(--jl-terracotta);
  font-size:16px;
}
.jl-account-card h3{font:600 25px/1.05 var(--jl-serif);margin:0 0 8px;}
.jl-account-card p{font-size:11px;color:var(--jl-muted);min-height:38px;margin:0 0 16px;}
.jl-account-links{display:flex;justify-content:center;gap:10px;}
.jl-account-links a{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border:1px solid #e0b8aa;border-radius:20px;
  color:var(--jl-terracotta-dark);font-size:9px;text-transform:uppercase;letter-spacing:.5px;
}
.jl-account-links img{width:19px;height:19px;object-fit:contain;}
.jl-hub-platforms{background:#f5e7de;border-top:1px solid var(--jl-line);}
.jl-hub-platform-intro{text-align:center;color:var(--jl-muted);font-size:12px;margin:-10px auto 25px;}
.jl-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:850px;margin:auto;}
.jl-platform-card{
  background:#fffaf7;border:1px solid #e8d5cb;border-radius:14px;
  min-height:150px;padding:25px;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;
}
.jl-platform-card img{width:42px;height:42px;object-fit:contain;}
.jl-platform-logo{
  width:42px;height:42px;border-radius:50%;border:1px solid #e0b8aa;
  display:grid;place-items:center;color:var(--jl-terracotta);
}
.jl-platform-card strong{font:600 24px/1 var(--jl-serif);}
.jl-platform-card small{font-size:10px;color:var(--jl-muted);}

.jl-empty-editorial,.jl-empty-note{
  background:#fffaf7;border:1px dashed #e0c9bd;padding:25px;color:var(--jl-muted);font-size:12px;
}

@media (max-width:950px){
  .jl-header-socials{gap:7px;}
  .jl-image-brand{width:min(330px,42vw);}
  .jl-account-grid{grid-template-columns:repeat(2,1fr);}
  .jl-platform-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:650px){
  .jl-header-top{grid-template-columns:1fr;justify-items:center;gap:12px;padding:18px 0;}
  .jl-header-socials{order:2;justify-self:center;}
  .jl-header-brand{order:1;}
  .jl-search{order:3;grid-column:auto;justify-self:center;margin:0;width:240px;}
  .jl-image-brand{width:300px;max-width:82vw;}
  .jl-hero-botanical{display:none;}
  .jl-account-grid,.jl-platform-grid{grid-template-columns:1fr;}
  .jl-hub-intro h1{font-size:46px;}
  .jl-strip-plant{opacity:.2;}
}


/* ===== V1.5 — final graphical cleanup ===== */
/* The supplied Jessica's Life artwork is the source of truth. Do not draw replacement glyphs. */
.jl-social:before,
.jl-social.jl-instagram:before,
.jl-social.jl-tiktok:before,
.jl-social.jl-youtube:before,
.jl-social.jl-pinterest:before,
.jl-social.jl-mail:before { content:none !important; display:none !important; }
.jl-social-icon-image { width:22px !important; height:22px !important; object-fit:contain; }

/* Remove the old text/symbol ornaments. */
.jl-brand:after,
.jl-hero:before,
.jl-hero:after,
.jl-footer:before,
.jl-footer:after,
.jl-univers-strip:before,
.jl-univers-strip:after { content:none !important; background-image:none !important; }
.jl-hero-lotus-image { width:64px !important; height:64px !important; margin:0 0 12px !important; display:flex; align-items:center; justify-content:center; }
.jl-hero-lotus-image img { width:56px !important; height:56px !important; object-fit:contain; }
.jl-strip-icon { width:34px; height:34px; display:grid; place-items:center; }
.jl-strip-icon img { width:30px; height:30px; object-fit:contain; opacity:.8; }
.jl-category-icon { padding:0 !important; overflow:hidden; }
.jl-category-icon img { width:100% !important; height:100% !important; padding:0 !important; object-fit:contain; }

/* Real botanical artwork only. */
.jl-hero-botanical { z-index:1; }
.jl-hero-botanical-left img, .jl-hero-botanical-right img { max-height:170px; }
.jl-strip-plant { opacity:.72; }
.jl-footer-plant { opacity:.32; }

/* Use the actual supplied wordmark by default. */
.jl-image-brand { width:min(390px,42vw); display:block; }
.jl-image-brand img { width:100%; height:auto; display:block; }

/* Softer, more faithful cards. */
.jl-category-card { border-radius:14px; overflow:visible; padding:0 0 20px; min-height:0; }
.jl-category-photo { border-radius:14px 14px 0 0; overflow:visible; position:relative; }
.jl-category-content { padding:34px 16px 4px; }
.jl-category-card h3 { font-family:var(--jl-serif); font-size:22px; margin-bottom:9px; }
.jl-category-card p { font-size:10px; }

/* Header social icons: no decorative circles, just the artwork. */
.jl-header-socials .jl-social:hover { background:transparent !important; border:0 !important; }

/* Remove placeholder copy from the public-facing hero. */
.jl-hero-empty { background:var(--jl-cream); }
.jl-hero-empty span { font-family:var(--jl-serif); color:var(--jl-muted); }


/* === Jessica's Life 1.6.0 — assets graphiques officiels === */
.jl-header-top { min-height: 138px; }
.jl-header-socials { display:flex; align-items:center; gap:12px; justify-self:start; }
.jl-social { width:auto; height:auto; padding:0; border:0 !important; border-radius:0 !important; display:flex; align-items:center; justify-content:center; }
.jl-social:hover { background:none; transform:translateY(-1px); }
.jl-social:before { content:none !important; display:none !important; }
.jl-social-icon-image { width:22px; height:22px; object-fit:contain; display:block; }
.jl-header-brand { width:min(390px,100%); }
.jl-image-brand { display:block; width:100%; }
.jl-image-brand img { width:100%; max-width:370px; height:auto; margin:0 auto; object-fit:contain; }

/* vrai logo à la place de l'ancien logo texte */
.jl-brand:after { content:none !important; }

/* Hero : pas de symboles CSS, uniquement les éléments graphiques fournis */
.jl-hero:before, .jl-hero:after { content:none !important; background-image:none !important; display:none !important; }
.jl-hero-lotus-image { width:60px !important; height:60px !important; margin:0 0 14px !important; display:flex !important; align-items:center; justify-content:flex-start; position:relative; }
.jl-hero-lotus-image:before, .jl-hero-lotus-image:after, .jl-hero-lotus-image span { display:none !important; content:none !important; }
.jl-hero-lotus-image img { width:52px !important; height:52px !important; object-fit:contain; }
.jl-hero-empty { background:var(--jl-cream) !important; min-height:380px; position:relative; }
.jl-hero-empty img { position:absolute; right:5%; bottom:-20px; width:170px; max-height:260px; object-fit:contain; opacity:.78; }
.jl-hero-empty span { display:none !important; }
.jl-hero-botanical { display:none !important; }

/* 5 cartes : les vrais médaillons graphiques */
.jl-category-icon { width:64px; height:64px; bottom:-32px; background:transparent; border:0; box-shadow:none; overflow:visible; }
.jl-category-icon img { width:64px; height:64px; object-fit:contain; }
.jl-category-content { padding-top:43px; }
.jl-category-card { border-radius:16px; background:#fffaf7; }
.jl-heading-line { gap:10px; }
.jl-heading-line img { width:28px; height:28px; object-fit:contain; opacity:.85; }

/* branches officielles */
.jl-univers, .jl-home-editorial, .jl-univers-strip { position:relative; }
.jl-univers:before { content:""; position:absolute; left:0; bottom:-25px; width:125px; height:180px; background:url('../images/plant-left.png') left bottom/contain no-repeat; opacity:.34; pointer-events:none; }
.jl-home-editorial:after { content:""; position:absolute; right:0; top:10px; width:125px; height:180px; background:url('../images/plant-right.png') right top/contain no-repeat; opacity:.20; pointer-events:none; }
.jl-univers-strip:before, .jl-univers-strip:after { content:none !important; }
.jl-strip-plant { opacity:.32 !important; }

/* aucun ancien motif texte */
.jl-footer:before, .jl-footer:after { content:none !important; background-image:none !important; display:none !important; }
.jl-footer .jl-footer-plant { opacity:.55; }

/* hub */
.jl-hub-lotus img, .jl-hub-title img { width:28px; height:28px; object-fit:contain; }
.jl-hub-title span { display:none; }
.jl-account-mark { background:transparent; border:0; box-shadow:none; }
.jl-account-mark img { width:42px; height:42px; object-fit:contain; }
.jl-platform-logo img { width:42px; height:42px; object-fit:contain; margin:0 auto; }

@media(max-width:650px){
 .jl-header-top { min-height:120px; grid-template-columns:auto 1fr; gap:12px; }
 .jl-header-socials { gap:8px; }
 .jl-social-icon-image { width:18px; height:18px; }
 .jl-header-brand { grid-column:2; justify-self:end; }
 .jl-image-brand img { max-width:250px; }
 .jl-search { grid-column:1/-1; grid-row:2; width:100%; justify-self:stretch; }
 .jl-heading-line img { width:22px; height:22px; }
 .jl-univers:before,.jl-home-editorial:after { display:none; }
}
/* V1.7 — photos from the validated mockup are defaults; no decorative drawings in photo slots */
.jl-hero-image img{width:100%;height:100%;object-fit:cover;display:block;}
.jl-card-fallback-image{width:100%;height:100%;object-fit:cover;display:block;}
.jl-favorite-image img{width:100%;height:100%;object-fit:cover;display:block;}
.jl-hero:before,.jl-hero:after{display:none!important;}
.jl-hero-lotus-image:before{display:none!important;}
.jl-category-photo-placeholder,.jl-image-placeholder,.jl-favorite-placeholder{background:var(--jl-cream-2)!important;color:transparent!important;}

/* V1.8 — no decorative drawings in editorial photo slots */
.jl-card-image-placeholder,
.jl-photo-placeholder,
.jl-category-photo-placeholder{background:#f8f0ea;min-height:100%;width:100%;}
.jl-card-image-placeholder{aspect-ratio:16/9;}
.jl-photo-placeholder{min-height:104px;}
.jl-category-photo-placeholder{aspect-ratio:4/3;}
.jl-image-brand img{display:block;width:auto;max-width:100%;height:auto;max-height:116px;object-fit:contain;}
.jl-footer-logo-image{height:auto;object-fit:contain;}


/* ===== Retrouvez-moi ===== */
.jl-retrouvez{background:var(--jl-cream);color:var(--jl-ink)}
.jl-rm-hero{position:relative;overflow:hidden;text-align:center;padding:72px 0 62px;background:var(--jl-cream);border-bottom:1px solid var(--jl-line)}
.jl-rm-hero .jl-container{position:relative;z-index:2}
.jl-rm-lotus{width:46px;height:auto;margin:0 auto 12px;object-fit:contain}
.jl-rm-hero h1{font:600 clamp(48px,6vw,72px)/.98 var(--jl-serif);margin:0 0 14px}
.jl-rm-hero p{max-width:650px;margin:0 auto;color:var(--jl-muted);font-size:14px}
.jl-rm-plant{position:absolute;z-index:1;pointer-events:none;opacity:.72}
.jl-rm-plant-left{left:2%;bottom:-32px;width:180px;height:auto}
.jl-rm-plant-right{right:2%;top:-35px;width:170px;height:auto;transform:rotate(180deg)}
.jl-rm-accounts{padding:62px 0 70px}
.jl-rm-heading{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;margin-bottom:34px}
.jl-rm-heading>img{width:30px;height:30px;object-fit:contain}
.jl-rm-heading h2{font:600 38px/1 var(--jl-serif);margin:0 0 8px}
.jl-rm-heading p{margin:0;color:var(--jl-muted);font-size:12px}
.jl-rm-account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.jl-rm-account-card{position:relative;background:#fffaf7;border:1px solid var(--jl-line);border-radius:18px;padding:28px 24px 22px;text-align:center;transition:.2s ease;box-shadow:0 8px 24px rgba(112,74,59,.04)}
.jl-rm-account-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(112,74,59,.09)}
.jl-rm-account-photo{width:112px;height:112px;border-radius:50%;margin:0 auto 16px;border:1px solid var(--jl-line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 6px 18px rgba(112,74,59,.06)}
.jl-rm-account-photo img{width:100%;height:100%;object-fit:cover;display:block}
.jl-rm-card-mark{display:block;width:24px;height:24px;border:1px solid var(--jl-terracotta);border-radius:50%;margin:0 auto}
.jl-rm-account-card h3{font:600 22px/1.1 var(--jl-serif);margin:0 0 8px}
.jl-rm-account-card p{min-height:32px;margin:0 0 18px;color:var(--jl-muted);font-size:11px}
.jl-rm-links{display:flex;justify-content:center;gap:10px}
.jl-rm-links a{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--jl-line);border-radius:999px;background:#fff;color:var(--jl-ink);font-size:10px;font-weight:600;text-decoration:none}
.jl-rm-links a:hover{border-color:var(--jl-terracotta);color:var(--jl-terracotta)}
.jl-rm-social-icon{width:19px!important;height:19px!important;object-fit:contain!important;display:block}
.jl-rm-other{padding:62px 0 78px;background:#f5e7de;border-top:1px solid var(--jl-line)}
.jl-rm-other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:960px;margin:0 auto}
.jl-rm-other-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;padding:28px 22px;background:#fffaf7;border:1px solid var(--jl-line);border-radius:18px;text-align:center;text-decoration:none;color:var(--jl-ink);transition:.2s ease}
.jl-rm-other-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(112,74,59,.09)}
.jl-rm-other-card>img{width:46px;height:46px;object-fit:contain;margin-bottom:12px}
.jl-rm-other-card.jl-rm-blog-card>img{width:150px;height:58px;object-fit:contain;margin-bottom:8px}
.jl-rm-other-card strong{font:600 25px/1 var(--jl-serif);margin-bottom:7px}
.jl-rm-other-card span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--jl-muted)}
.jl-rm-other-card b{margin-top:16px;color:var(--jl-terracotta);font-size:10px;letter-spacing:.6px}
@media(max-width:900px){.jl-rm-account-grid,.jl-rm-other-grid{grid-template-columns:repeat(2,1fr)}.jl-rm-heading{gap:10px}.jl-rm-plant{opacity:.35}}
@media(max-width:600px){.jl-rm-hero{padding:52px 0}.jl-rm-hero h1{font-size:46px}.jl-rm-account-grid,.jl-rm-other-grid{grid-template-columns:1fr}.jl-rm-account-card{padding:24px 18px}.jl-rm-heading h2{font-size:31px}.jl-rm-heading>img{width:24px;height:24px}.jl-rm-plant{display:none}}

/* V1.11 — no generated portrait in the hero; use a clean photo slot until Jessica adds her own image */
.jl-hero-photo-placeholder{width:100%;height:100%;min-height:380px;background:var(--jl-cream-2);border-left:1px solid var(--jl-line);}
.jl-footer-logo-image{width:210px;height:auto;display:block;object-fit:contain;}
@media(max-width:800px){.jl-hero-photo-placeholder{min-height:300px;border-left:0;border-top:1px solid var(--jl-line);}}

/* ===== Jessica's Life 1.15 — véritable mise en page mobile =====
   La version mobile est pensée comme une composition verticale,
   et ne réduit pas simplement la grille desktop. */
@media (max-width: 650px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .jl-container { width:calc(100% - 28px); max-width:none; margin-left:auto; margin-right:auto; }

  /* Header mobile */
  .jl-header { overflow:hidden; }
  .jl-header-top {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:0 !important;
    padding:14px 0 10px !important;
    gap:10px !important;
  }
  .jl-header-brand { order:1 !important; width:100%; display:flex; justify-content:center; }
  .jl-image-brand { width:min(285px,82vw) !important; max-width:82vw !important; }
  .jl-image-brand img { width:100% !important; max-width:none !important; max-height:none !important; }
  .jl-header-socials { order:2 !important; justify-self:center !important; margin:0 !important; gap:8px !important; }
  .jl-social { width:24px !important; height:24px !important; }
  .jl-social-icon-image { width:18px !important; height:18px !important; }
  .jl-search { order:3 !important; width:100% !important; max-width:250px; margin:0 !important; }
  .jl-nav-wrap { position:relative; }
  .jl-nav-inner { min-height:46px !important; justify-content:flex-end !important; }
  .jl-menu-toggle { display:block !important; width:auto; margin-left:auto; }
  .jl-primary-nav { display:none; }
  .jl-primary-nav.is-open { display:block !important; }
  .jl-primary-nav ul { display:flex !important; flex-direction:column !important; width:100%; }
  .jl-primary-nav a { display:block; padding:13px 10px !important; text-align:center; }

  /* Hero : texte puis photo, chacun sur toute la largeur */
  .jl-hero-grid {
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    grid-template-columns:none !important;
  }
  .jl-hero-copy {
    width:100% !important;
    box-sizing:border-box;
    padding:42px 26px 34px !important;
    text-align:left;
  }
  .jl-hero-lotus-image { margin-bottom:10px !important; }
  .jl-hero-lotus-image img { width:52px !important; height:52px !important; object-fit:contain; }
  .jl-hero h1 {
    font-size:clamp(42px,13vw,56px) !important;
    line-height:.98 !important;
    max-width:100% !important;
    margin-bottom:20px !important;
  }
  .jl-hero p { font-size:14px !important; line-height:1.75 !important; max-width:330px; margin-bottom:22px !important; }
  .jl-hero .jl-button { display:inline-block; }
  .jl-hero-image {
    width:100% !important;
    min-height:300px !important;
    height:300px !important;
    border:0 !important;
    border-top:1px solid var(--jl-line) !important;
  }
  .jl-hero-image img { width:100%; height:100%; object-fit:cover; display:block; }
  .jl-hero-photo-placeholder { width:100% !important; min-height:300px !important; height:300px !important; border:0 !important; }

  /* Les 5 univers : une carte par ligne */
  .jl-univers { padding:34px 0 34px !important; }
  .jl-section-heading { margin-bottom:20px !important; }
  .jl-heading-line { gap:9px !important; }
  .jl-heading-line img { width:24px !important; height:24px !important; }
  .jl-section-heading h2 { font-size:32px !important; }
  .jl-section-heading p { font-size:11px !important; line-height:1.6; }
  .jl-category-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .jl-category-card {
    display:block !important;
    min-height:0 !important;
    width:100% !important;
    overflow:hidden !important;
  }
  .jl-category-photo {
    width:100% !important;
    height:190px !important;
    aspect-ratio:16/9;
  }
  .jl-category-photo img { width:100%; height:100%; object-fit:cover; display:block; }
  .jl-category-content { padding:18px 18px 20px !important; }
  .jl-category-card h3 { font-size:24px !important; margin-bottom:7px !important; }
  .jl-category-card p { min-height:0 !important; font-size:12px !important; line-height:1.55 !important; }
  .jl-category-icon { width:48px !important; height:48px !important; right:16px !important; bottom:-24px !important; }

  /* Editorial : une colonne */
  .jl-home-editorial { padding-top:26px !important; }
  .jl-home-columns {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .jl-home-feature, .jl-home-latest, .jl-home-side { grid-column:auto !important; width:100% !important; }
  .jl-featured-card, .jl-favorite-card { width:100%; }
  .jl-card-image { height:auto; }
  .jl-card-image img { width:100%; height:auto; max-height:none; object-fit:cover; }
  .jl-card-body { padding:18px !important; }
  .jl-card-body h3 { font-size:27px !important; line-height:1.08 !important; }
  .jl-latest-item { grid-template-columns:88px 1fr !important; gap:12px !important; }
  .jl-latest-thumb, .jl-latest-thumb img { width:88px !important; height:78px !important; object-fit:cover; }
  .jl-latest-item h3 { font-size:14px !important; line-height:1.25 !important; }
  .jl-favorite-image { min-height:210px !important; height:210px !important; }

  /* Bloc Retrouvez-moi aussi : compact et lisible */
  .jl-univers-strip { padding:26px 0 40px !important; }
  .jl-univers-strip-inner { min-height:0 !important; margin:0 !important; border-radius:16px !important; }
  .jl-univers-strip-copy { padding:30px 20px !important; }
  .jl-univers-strip-copy h2 { font-size:30px !important; }
  .jl-univers-strip-copy p { font-size:11px !important; line-height:1.6 !important; }
  .jl-strip-icon { display:none !important; }
  .jl-strip-plant { width:90px !important; height:auto !important; opacity:.16 !important; }

  /* Footer : blocs empilés, jamais écrasés */
  .jl-footer { padding-top:38px !important; }
  .jl-footer-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
    text-align:left !important;
  }
  .jl-footer-brand, .jl-footer-contact { width:100%; }
  .jl-footer-logo-image { width:190px !important; max-width:80vw; }
  .jl-footer-grid h3 { margin-bottom:10px !important; }
  .jl-footer-grid ul { margin:0 !important; padding:0 !important; }
  .jl-footer-plant { position:absolute !important; right:-20px !important; bottom:10px !important; width:100px !important; opacity:.18 !important; }
  .jl-footer-bottom { text-align:center !important; font-size:9px !important; line-height:1.5 !important; padding:14px 15px !important; }

  /* Page Retrouvez-moi */
  .jl-rm-account-grid, .jl-rm-other-grid { grid-template-columns:1fr !important; }
  .jl-rm-account-card { padding:24px 18px !important; }
}


/* ===== Final article structure / engagement ===== */
.jl-engagement{border-top:1px solid var(--jl-line);border-bottom:1px solid var(--jl-line);padding:22px clamp(20px,7vw,90px);background:var(--jl-cream-2)}
.jl-engagement-inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.jl-like-button,.jl-share-toggle{border:1px solid var(--jl-line);background:#fffdfb;color:var(--jl-terracotta-dark);padding:11px 16px;border-radius:2px;cursor:pointer;font-size:12px;font-weight:600}
.jl-like-button:hover,.jl-share-toggle:hover,.jl-like-button.is-liked{background:#f3e0d7}
.jl-heart{font-size:20px;vertical-align:-2px}
.jl-like-count{margin-left:6px;font-size:11px}
.jl-share-wrap{position:relative}
.jl-share-buttons{position:absolute;z-index:5;right:0;top:calc(100% + 8px);display:flex;flex-wrap:wrap;gap:7px;width:260px;padding:12px;background:#fffdfb;border:1px solid var(--jl-line);box-shadow:var(--jl-shadow)}
.jl-share-buttons[hidden]{display:none}
.jl-share-buttons a,.jl-share-buttons button{border:1px solid var(--jl-line);background:#fff;padding:8px 10px;color:var(--jl-ink);font-size:10px;cursor:pointer}
.jl-share-buttons a:hover,.jl-share-buttons button:hover{color:var(--jl-terracotta-dark);border-color:#d5aa9d}
.jl-comments{padding:42px clamp(20px,7vw,90px);border-top:1px solid var(--jl-line)}
.jl-comments-heading{text-align:center;margin-bottom:25px}
.jl-comments-heading h2{font:600 38px/1 var(--jl-serif);margin:8px 0}
.jl-comments .comment-form-comment textarea,.jl-comments input[type="text"],.jl-comments input[type="email"],.jl-comments input[type="url"]{width:100%;border:1px solid var(--jl-line);background:#fff;padding:11px}
.jl-comments .comment-form-comment label{display:block;font-size:11px;margin-bottom:6px}
.jl-comments .comment-form-author,.jl-comments .comment-form-email,.jl-comments .comment-form-url{margin-bottom:12px}
.jl-comments input[type="submit"]{border:0;background:var(--jl-terracotta);color:#fff;padding:12px 18px;text-transform:uppercase;font-size:10px;font-weight:700;cursor:pointer}
.jl-related{padding:42px clamp(20px,7vw,90px);border-top:1px solid var(--jl-line)}
.jl-related .jl-section-heading{margin-bottom:25px}
.jl-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.jl-related-card{background:#fff;border:1px solid var(--jl-line)}
.jl-related-card .jl-card-body{padding:18px}
.jl-related-card h3{font:600 25px/1.05 var(--jl-serif);margin:9px 0}
.jl-related-card .jl-card-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
.jl-instagram-feed{padding:42px clamp(20px,7vw,90px);border-top:1px solid var(--jl-line);background:var(--jl-cream)}
.jl-instagram-feed h2{font:600 34px/1.05 var(--jl-serif);margin:8px 0 22px}
.jl-instagram-feed-content{width:100%;overflow:hidden}
.jl-instagram-feed-content img{max-width:100%;height:auto}
.jl-favorite-image img{width:100%;height:100%;object-fit:cover}
.jl-favorite-likes{font-size:11px;color:var(--jl-terracotta-dark);margin-bottom:13px}
.jl-story-page{background:var(--jl-cream-2)}
.jl-story-hero{padding:75px 0 65px;background:var(--jl-cream);text-align:center;border-bottom:1px solid var(--jl-line)}
.jl-story-ornament{font-size:30px;color:var(--jl-terracotta);margin-bottom:12px}
.jl-story-hero h1{font:600 clamp(52px,7vw,82px)/.95 var(--jl-serif);margin:12px 0}
.jl-story-hero p{max-width:650px;margin:0 auto;color:var(--jl-muted)}
.jl-story-flourish{color:var(--jl-terracotta);font-size:18px;letter-spacing:8px;margin-top:20px}
.jl-story-content{padding:65px 0 100px}
.jl-season{margin-bottom:65px}
.jl-season header{text-align:center;margin-bottom:25px}
.jl-season h2{font:600 46px/1 var(--jl-serif);margin:8px 0}
.jl-season header p{color:var(--jl-muted)}
.jl-chapter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.jl-chapter-card{display:grid;grid-template-columns:55px 1fr 25px;align-items:center;gap:12px;padding:14px 16px;background:#fffdfb;border:1px solid var(--jl-line);transition:transform .2s,box-shadow .2s}
.jl-chapter-card:hover{transform:translateY(-2px);box-shadow:var(--jl-shadow)}
.jl-chapter-number{font:600 24px/1 var(--jl-serif);color:var(--jl-terracotta)}
.jl-chapter-title{font-size:12px;line-height:1.35}
.jl-chapter-arrow{color:var(--jl-terracotta);font-size:16px}
.jl-season-two{padding-top:55px;border-top:1px solid var(--jl-line)}
.jl-season-empty{text-align:center;padding:25px;border:1px dashed var(--jl-line);color:var(--jl-muted);font:22px var(--jl-serif);background:#fffaf6}
.jl-admin-social-choice{display:block;margin:6px 0;font-size:12px}

@media (max-width: 820px){
 .jl-related-grid{grid-template-columns:1fr}
 .jl-chapter-grid{grid-template-columns:1fr}
 .jl-engagement-inner{justify-content:flex-start}
 .jl-share-buttons{left:0;right:auto}
}

/* 1.17.4 — Story seasons as compact expandable accordions */
.jl-season-accordion{background:#fffdfb;border:1px solid var(--jl-line);box-shadow:0 6px 24px rgba(54,42,34,.04)}
.jl-season-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px}
.jl-season-accordion summary::-webkit-details-marker{display:none}
.jl-season-summary-copy{display:flex;flex-direction:column;gap:5px}
.jl-season-summary-copy .jl-kicker{margin:0}
.jl-season-summary-copy strong{font:600 38px/1 var(--jl-serif);color:var(--jl-ink)}
.jl-season-summary-copy>span:last-child{color:var(--jl-muted);font-size:13px}
.jl-season-toggle{font:28px/1 var(--jl-serif);color:var(--jl-terracotta);transition:transform .2s ease}
.jl-season-accordion[open] .jl-season-toggle{transform:rotate(45deg)}
.jl-season-panel{padding:0 28px 28px}
.jl-season-panel .jl-chapter-grid{padding-top:2px}
.jl-season-two{padding-top:0;border-top:0}

/* 1.17.4 — Real WordPress submenu: hidden until the parent is hovered/focused */
.jl-primary-nav>ul>li{position:relative}
.jl-primary-nav ul ul{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:none;flex-direction:column;min-width:260px;gap:0;padding:8px 0;margin:0;background:var(--jl-cream);border:1px solid var(--jl-line);box-shadow:var(--jl-shadow);z-index:50}
.jl-primary-nav ul ul li{width:100%}
.jl-primary-nav ul ul a{padding:12px 18px;text-align:left;white-space:nowrap}
.jl-primary-nav li:hover>ul,.jl-primary-nav li:focus-within>ul{display:flex}
@media(max-width:900px){
 .jl-season-accordion summary{padding:20px}
 .jl-season-summary-copy strong{font-size:32px}
 .jl-season-panel{padding:0 20px 20px}
 .jl-primary-nav ul ul{position:static;transform:none;min-width:0;box-shadow:none;border:0;background:transparent;padding:0;display:none}
 .jl-primary-nav li:hover>ul,.jl-primary-nav li:focus-within>ul{display:flex}
 .jl-primary-nav ul ul a{padding:10px 20px;font-size:11px}
}

/* 1.17.6 — chapter navigation for La Lignée des Brumes */
.jl-story-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:42px 0 18px;padding-top:28px;border-top:1px solid var(--jl-line)}
.jl-story-post-nav a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#fffdfb;border:1px solid var(--jl-line);text-decoration:none;color:var(--jl-ink);transition:.2s ease}
.jl-story-post-nav a:hover{border-color:var(--jl-terracotta);transform:translateY(-2px);box-shadow:var(--jl-shadow)}
.jl-story-post-nav span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--jl-terracotta-dark);font-weight:600}
.jl-story-post-nav strong{font:600 23px/1.05 var(--jl-serif)}
.jl-story-post-next{text-align:right}
@media(max-width:600px){.jl-story-post-nav{grid-template-columns:1fr}.jl-story-post-next{text-align:left}}

/* 1.17.9 — Contact page */
.jl-contact-page{padding-bottom:90px}
.jl-contact-card{max-width:980px;margin:0 auto}
.jl-contact-card .jl-page-header{text-align:center;padding-bottom:35px}
.jl-contact-card .jl-page-header .jl-kicker{margin-bottom:10px}
.jl-contact-intro{max-width:720px;margin:0 auto 38px;text-align:center;font-size:18px;line-height:1.75;color:var(--jl-muted)}
.jl-contact-form-wrap{padding:34px clamp(22px,5vw,55px);background:#fffdfb;border:1px solid var(--jl-line);box-shadow:var(--jl-shadow)}
.jl-contact-form-wrap h2{font:600 38px/1.05 var(--jl-serif);margin:0 0 26px}
.jl-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.jl-contact-form p{margin:0 0 18px}
.jl-contact-form label{display:block;margin-bottom:7px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--jl-ink)}
.jl-contact-form input,.jl-contact-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid var(--jl-line);background:#fff;padding:13px 14px;font:inherit;color:var(--jl-ink);outline:none;transition:border-color .2s,box-shadow .2s}
.jl-contact-form input:focus,.jl-contact-form textarea:focus{border-color:var(--jl-terracotta);box-shadow:0 0 0 3px rgba(181,104,77,.09)}
.jl-contact-form textarea{resize:vertical;min-height:150px}
.jl-contact-submit{border:0;background:var(--jl-terracotta);color:#fff;padding:14px 22px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}
.jl-contact-submit:hover{transform:translateY(-1px);background:var(--jl-terracotta-dark)}
.jl-contact-notice{margin:0 auto 25px;padding:15px 18px;border:1px solid var(--jl-line);font-size:14px;line-height:1.55}
.jl-contact-success{background:#f4f0e9}
.jl-contact-error{background:#fbefeb}
.jl-contact-professional{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding:28px 32px;background:var(--jl-cream-2);border:1px solid var(--jl-line)}
.jl-contact-professional .jl-kicker{margin:0 0 7px}
.jl-contact-professional h2{font:600 30px/1.05 var(--jl-serif);margin:0 0 10px}
.jl-contact-professional p:last-child{max-width:650px;margin:0;color:var(--jl-muted);line-height:1.6}
.jl-contact-professional-button{flex:0 0 auto;display:inline-flex;padding:13px 18px;background:var(--jl-ink);color:#fff;text-decoration:none;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
@media(max-width:700px){.jl-contact-fields{grid-template-columns:1fr}.jl-contact-professional{flex-direction:column;align-items:flex-start}.jl-contact-professional-button{width:100%;justify-content:center;box-sizing:border-box}}
/* Ascension des Ombres 2026 — automatic calendar */
.jl-ascension-page{background:#120d13;color:#f7eee8;margin:0;padding:0;overflow:hidden}
.jl-ascension-page .jl-ascension-hero{position:relative;min-height:560px;display:grid;place-items:center;text-align:center;background:#120d13 var(--jl-ascension-image) center/cover no-repeat;isolation:isolate}
.jl-ascension-page .jl-ascension-hero:not([style*="--jl-ascension-image"]){background:radial-gradient(circle at 50% 25%,#49333f 0,#241821 36%,#120d13 72%)}
.jl-ascension-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,7,11,.34),rgba(10,7,11,.68) 65%,#120d13 100%);z-index:-1}
.jl-ascension-hero-inner{position:relative;padding:90px 20px 110px;max-width:1100px}
.jl-ascension-moon{width:92px;height:92px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;color:#f4e6d9;background:rgba(247,238,232,.08);border:1px solid rgba(247,238,232,.28);box-shadow:0 0 60px rgba(235,196,151,.12);font:400 66px/1 Georgia,serif}
.jl-ascension-kicker{font-size:11px;letter-spacing:4px;font-weight:700;color:#d99662;text-transform:uppercase}
.jl-ascension-hero h1{margin:16px 0 12px;font:600 clamp(55px,8vw,105px)/.88 var(--jl-serif);letter-spacing:-2px;color:#f8eee5;text-shadow:0 5px 35px rgba(0,0,0,.45)}
.jl-ascension-hero p{margin:0 auto;color:#eadbd0;font-size:16px;max-width:650px}
.jl-ascension-flourish{margin-top:24px;color:#d99662;letter-spacing:9px;font-size:17px}
.jl-ascension-content{background:#120d13;padding:0 0 105px}.jl-ascension-inner{max-width:1120px}.jl-ascension-editorial{color:#f4e9e2}
.jl-ascension-editorial> *{max-width:1080px;margin-left:auto;margin-right:auto}
.jl-ascension-editorial p,.jl-ascension-editorial h2,.jl-ascension-editorial h3,.jl-ascension-editorial h4{color:inherit}
.jl-ascension-editorial h2{font:600 clamp(34px,4vw,52px)/1 var(--jl-serif);text-align:center;margin:55px auto 28px;color:#f8eee5}
.jl-ascension-editorial h3{font:600 30px/1.05 var(--jl-serif);color:#f8eee5}.jl-ascension-editorial a{color:#e2a16c}
.jl-ascension-editorial .jl-calendar-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 auto 14px!important;max-width:1080px}
.jl-ascension-editorial .jl-calendar-row>.wp-block-column{width:auto!important;min-width:0!important;margin:0!important;display:block!important}
.jl-ascension-editorial .jl-calendar-card{height:100%;min-height:160px;box-sizing:border-box;background:linear-gradient(145deg,#261922,#181118);border:1px solid #654452;border-radius:6px;padding:18px 12px;box-shadow:0 14px 35px rgba(0,0,0,.22);text-align:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center}
.jl-ascension-editorial .jl-calendar-card .wp-block-heading{margin:0 auto 7px!important;color:#f4e4d6;font:600 29px/1 var(--jl-serif)}
.jl-ascension-editorial .jl-calendar-lock{font-size:17px;margin:0 0 5px!important}.jl-ascension-editorial .jl-calendar-teaser{font-size:11px;line-height:1.4;color:#cdbdb5;margin:0!important}
.jl-ascension-editorial .jl-calendar-content{font-size:12px;line-height:1.45;color:#eadbd0;width:100%}.jl-ascension-editorial .jl-calendar-content[hidden]{display:none}
.jl-ascension-editorial .jl-calendar-open{margin-top:10px!important}.jl-ascension-editorial .jl-calendar-card.is-locked{opacity:.78}.jl-ascension-editorial .jl-calendar-card.is-open{border-color:#d99662;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.jl-ascension-editorial .jl-calendar-card.is-open:hover{transform:translateY(-4px)}.jl-ascension-editorial .jl-calendar-card.is-open .jl-calendar-lock,.jl-ascension-editorial .jl-calendar-card.is-open .jl-calendar-teaser{display:none}
.jl-ascension-editorial .jl-ascension-discovery-section{max-width:1080px!important;margin:70px auto 0!important}.jl-ascension-editorial .jl-discovery-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 28px!important}.jl-ascension-editorial .jl-discovery-row>.wp-block-column{width:auto!important;min-width:0!important;margin:0!important;display:block!important}.jl-ascension-editorial .jl-discovery-card{height:100%;min-height:110px;box-sizing:border-box;background:#1b1319;border:1px solid #654452;border-radius:6px;padding:18px;display:flex;flex-direction:column;justify-content:center}
.jl-ascension-editorial .jl-ascension-discovery-section>h3{margin:38px 0 10px!important;font-size:25px}.jl-ascension-editorial .jl-discovery-card p{margin:0 0 8px!important;font-size:13px}.jl-ascension-editorial .jl-discovery-card p:last-child{margin-bottom:0!important}.jl-ascension-editorial .jl-discovery-card a{text-decoration:none}
.jl-ascension-editorial .wp-block-button__link{background:#c67e6a;color:#fff!important;border-radius:3px;text-decoration:none;padding:12px 20px;font-size:11px;letter-spacing:.8px;text-transform:uppercase;font-weight:700}.jl-ascension-editorial .wp-block-button__link:hover{background:#a85f50}
@media(max-width:782px){.jl-ascension-page .jl-ascension-hero{min-height:480px}.jl-ascension-hero-inner{padding:70px 18px 90px}.jl-ascension-hero h1{font-size:clamp(48px,13vw,72px)}.jl-ascension-editorial .jl-calendar-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jl-ascension-editorial .jl-discovery-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:520px){.jl-ascension-editorial .jl-calendar-row,.jl-ascension-editorial .jl-discovery-row{grid-template-columns:1fr}.jl-ascension-page .jl-ascension-hero{min-height:420px}.jl-ascension-moon{width:72px;height:72px;font-size:52px}.jl-ascension-kicker{font-size:9px;letter-spacing:2.5px}}
