/* Luwy art direction — editorial typography, restrained colour, responsive rhythm.
   Accent colours are reserved for actions, feedback, earned progress and one standout per view. */

:root {
  --lwy-font-ui: "Rethink Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lwy-font-display: "Archivo", "Rethink Sans", system-ui, sans-serif;
  --lwy-font-editorial: "Playfair Display", Georgia, serif;
  --lwy-paper: #F7F3EA;
  --lwy-paper-deep: #ECE5D7;
  --lwy-ink: #2F2219;
  --lwy-cocoa: #604531;
  --lwy-seafoam: #D7DEEB;
  --lwy-snow: #D7DEEB;
  --lwy-butter: #FBE39D;
  --lwy-apricot: #F2B38F;
  --lwy-rust: #A9442D;
  --lwy-line: color-mix(in srgb, var(--lwy-ink) 14%, transparent);
  --lwy-measure: 64ch;
  --lwy-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Shared type system */
body.lwy-art-directed,
.lwy-art-directed {
  font-family: var(--lwy-font-ui);
  font-feature-settings: "kern", "liga", "calt";
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.lwy-art-directed :is(p, li, dd, dt, .lead, .small, .plan-for, .price-note) {
  text-wrap: pretty;
  overflow-wrap: break-word;
}
.lwy-art-directed :is(h1, h2, h3, h4, .plan h2, .home-hello h1) {
  font-family: var(--lwy-font-display);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.04;
  text-wrap: balance;
  font-optical-sizing: auto;
}
.lwy-art-directed :is(p, li, .lead) { line-height: 1.65; }
.lwy-art-directed .lead {
  max-width: var(--lwy-measure);
  font-size: clamp(1rem, .94rem + .3vw, 1.16rem);
  line-height: 1.68;
}
.lwy-art-directed .eyebrow {
  color: var(--lwy-cocoa);
  font-family: var(--lwy-font-ui);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.45;
  text-transform: uppercase;
}
.lwy-art-directed :is(h1 em, h2 em, h3 em, .art-editorial) {
  font-family: var(--lwy-font-editorial);
  font-weight: 500;
  font-style: italic;
  letter-spacing: -.055em;
}
.lwy-art-directed :is(h1 em, h2 em, h3 em) {
  color: var(--lwy-cocoa);
  background: none !important;
  text-decoration: none;
}
.lwy-art-directed :is(mark, .text-highlight, .highlight, .highlighted) {
  color: inherit;
  background: linear-gradient(transparent 68%, var(--lwy-butter) 68%) !important;
  border-radius: 0;
  padding: 0 .04em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.lwy-art-directed :is(.btn, button, input, textarea, select) { font-family: var(--lwy-font-ui); }

/* Colour discipline: neutral surfaces by default. No rainbow rotation across sibling cards. */
.lwy-art-directed .proof { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.lwy-art-directed .proof span,
.lwy-art-directed .proof span:nth-child(n) {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: color-mix(in srgb, var(--lwy-ink) 76%, var(--lwy-paper)) !important;
  font-size: .87rem;
  font-weight: 500;
  box-shadow: none !important;
}
.lwy-art-directed .proof span + span::before {
  content: "·";
  margin-right: 18px;
  color: var(--lwy-cocoa);
  font-weight: 800;
}
.lwy-art-directed .plan,
.lwy-art-directed .plan.featured,
.lwy-art-directed .plan:nth-child(3n+1),
.lwy-art-directed .plan:nth-child(3n+2),
.lwy-art-directed .plan:nth-child(3n+3),
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item,.quote-row):nth-child(n) {
  background: var(--card, #FBF8F2) !important;
  color: var(--ink, var(--lwy-ink));
  box-shadow: none;
}
.lwy-art-directed .plan,
.lwy-art-directed .plan.featured {
  border: 1px solid var(--lwy-line);
  border-radius: 18px;
  border-top: 1px solid var(--lwy-line);
  padding: clamp(22px, 2.4vw, 32px);
  transition: border-color .22s ease, transform .28s var(--lwy-ease), box-shadow .28s var(--lwy-ease);
}
.lwy-art-directed .plan.featured {
  border-top: 3px solid var(--lwy-cocoa);
  padding-top: calc(clamp(22px, 2.4vw, 32px) - 2px);
}
.lwy-art-directed .plan .pill,
.lwy-art-directed .plan .pill.dot {
  background: #EFE6D5 !important;
  color: var(--lwy-ink) !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 700;
  letter-spacing: .035em;
}
.lwy-art-directed .plan .pill.dot::before {
  background: var(--lwy-butter);
  box-shadow: none;
}
.lwy-art-directed .plan .price,
.lwy-art-directed .plan:nth-child(n) .price { color: var(--lwy-ink) !important; }
.lwy-art-directed .plan .price > span,
.lwy-art-directed .plan .price { font-family: var(--lwy-font-display); letter-spacing: -.035em; }
.lwy-art-directed :is(.col-item,.quote-row) {
  border: 0;
  border-top: 1px solid var(--lwy-line);
  border-radius: 0;
  padding: 22px 0;
}
.lwy-art-directed :is(.col-item,.quote-row):nth-child(n) :is(h2,h3,b,strong,q) {
  color: var(--ink, var(--lwy-ink)) !important;
}
.lwy-art-directed .quote-row q {
  font-family: var(--lwy-font-editorial);
  font-size: clamp(1.25rem, 1rem + .7vw, 1.7rem);
  font-weight: 500;
  line-height: 1.25;
}
.lwy-art-directed .btn.primary,
.lwy-art-directed .btn-primary,
.lwy-art-directed button.primary,
.lwy-art-directed [type=submit] {
  background: var(--lwy-cocoa);
  color: var(--lwy-paper);
  border-color: transparent;
  box-shadow: none;
  transition: transform .22s var(--lwy-ease), background-color .2s ease, box-shadow .25s ease;
}
.lwy-art-directed :is(.btn.primary,.btn-primary,button.primary,[type=submit]):hover {
  background: #4F3827;
  box-shadow: 0 8px 20px rgba(47,34,25,.12);
  transform: translateY(-2px);
}
.lwy-art-directed :is(.btn.primary,.btn-primary,button.primary,[type=submit]):active { transform: translateY(0) scale(.985); }
.lwy-art-directed .link-arrow { color: var(--lwy-cocoa); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.lwy-art-directed .link-arrow::after { display: inline-block; transition: transform .24s var(--lwy-ease); }
.lwy-art-directed .link-arrow:hover::after { transform: translateX(4px); }
.lwy-art-directed :is(.plan,.col-item,.quote-row,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card):hover {
  box-shadow: none;
}
@media (hover:hover) and (pointer:fine) {
  .lwy-art-directed .plan:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--lwy-cocoa) 42%, var(--lwy-line)); }
}

/* Marketing homepage — strong type and a single clear visual story. */
.lwy-art-directed .site-nav {
  background: color-mix(in srgb, var(--lwy-paper) 94%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--lwy-ink) 8%, transparent);
  backdrop-filter: blur(14px);
}
.lwy-art-directed .site-nav .brand,
.lwy-art-directed .site-footer .brand {
  color: var(--lwy-ink);
  font-family: var(--lwy-font-display);
  font-weight: 900;
  letter-spacing: -.07em;
}
.lwy-art-directed .site-nav .brand span,
.lwy-art-directed .site-footer .brand span { color: inherit; }
.lwy-art-directed .site-nav nav a { transition: color .18s ease; }
.lwy-art-directed .site-nav nav a:hover { color: var(--lwy-cocoa); }
.lwy-art-directed .hero { padding: clamp(48px, 7.5vw, 104px) 0 clamp(52px, 7vw, 92px); }
.lwy-art-directed .hero .wrap { max-width: 1240px; }
.lwy-art-directed .hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .85fr);
  align-items: center;
  gap: clamp(34px, 6vw, 88px);
}
.lwy-art-directed .hero .eyebrow { max-width: 42ch; margin-bottom: 20px; }
.lwy-art-directed .hero h1 {
  max-width: 11ch;
  font-size: clamp(3.25rem, 6.7vw, 6.8rem);
  line-height: .94;
  letter-spacing: -.065em;
  margin: 0 0 24px;
}
.lwy-art-directed .hero h1 em { color: var(--lwy-cocoa); }
.lwy-art-directed .hero .lead { max-width: 57ch; color: color-mix(in srgb, var(--lwy-ink) 78%, var(--lwy-paper)); }
.lwy-art-directed .hero .cta-row { margin-top: 30px; gap: 14px 22px; align-items: center; }
.lwy-art-directed .hero .cta-row .btn.primary.lg { min-height: 54px; padding-inline: 24px; border-radius: 8px; font-size: .96rem; }
.lwy-art-directed .hero .small { max-width: 58ch; line-height: 1.55; }
.lwy-art-directed .hero .preview {
  background: var(--card, #FBF8F2) !important;
  border: 1px solid var(--lwy-line);
  border-radius: 20px;
  box-shadow: 0 20px 55px -42px rgba(47,34,25,.35);
  padding: clamp(20px, 2.4vw, 30px);
  transform: rotate(.5deg);
  transition: transform .5s var(--lwy-ease), box-shadow .35s ease;
}
.lwy-art-directed .hero .preview:hover { transform: rotate(0) translateY(-3px); box-shadow: 0 26px 60px -42px rgba(47,34,25,.4); }
.lwy-art-directed .preview .preview-head {
  background: transparent;
  border-bottom: 1px solid var(--lwy-line);
  padding: 0 0 14px;
  margin-bottom: 18px;
}
.lwy-art-directed .preview .preview-head span:last-child {
  color: color-mix(in srgb, var(--lwy-ink) 62%, var(--lwy-paper));
  background: transparent;
}
.lwy-art-directed .preview .who { color: color-mix(in srgb, var(--lwy-ink) 65%, var(--lwy-paper)); font-weight: 600; }
.lwy-art-directed .preview .bubble.ai {
  background: #EEE8DE !important;
  color: var(--lwy-ink) !important;
  border: 0;
  border-radius: 14px 14px 14px 4px;
}
.lwy-art-directed .preview .bubble.me {
  background: var(--lwy-ink) !important;
  color: var(--lwy-paper) !important;
  border-radius: 14px 14px 4px 14px;
}
.lwy-art-directed .preview .meters { margin-top: 22px; }
.lwy-art-directed .preview .meter .bar { background: #E9E2D7; }
.lwy-art-directed .preview .meter .bar i { background: var(--lwy-cocoa) !important; }
.lwy-art-directed .preview .meter.neg .bar i { background: var(--lwy-rust) !important; }
.lwy-art-directed .preview .turn-flag {
  margin-top: 18px;
  padding: 13px 15px;
  background: #F1E8D6 !important;
  color: var(--lwy-ink) !important;
  border-left: 3px solid var(--lwy-butter);
  border-radius: 0 8px 8px 0;
  line-height: 1.5;
}
.lwy-art-directed .band { padding: clamp(58px, 7.8vw, 104px) 0; background: transparent; }
.lwy-art-directed .band + .band { border-top: 1px solid color-mix(in srgb, var(--lwy-ink) 8%, transparent); }
.lwy-art-directed .band .wrap { max-width: 1120px; }
.lwy-art-directed .band h2 {
  max-width: 18ch;
  font-size: clamp(2.1rem, 4vw, 4rem);
  line-height: 1.02;
  margin: 10px 0 22px;
  letter-spacing: -.055em;
}
.lwy-art-directed .band .lead { max-width: 62ch; }
.lwy-art-directed .quote-list { gap: 0; }
.lwy-art-directed .quote-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.lwy-art-directed .quote-row p { max-width: 62ch; }
.lwy-art-directed .sim-demo { align-items: stretch; gap: 18px; }
.lwy-art-directed .sim-demo > .preview { flex: 1 1 0; min-width: 0; }
.lwy-art-directed .sim-step {
  align-self: center;
  max-width: 130px;
  color: var(--lwy-cocoa);
  font: 700 .75rem/1.45 var(--lwy-font-ui);
  text-align: center;
  letter-spacing: .04em;
}
.lwy-art-directed .band.dark {
  background: var(--lwy-ink);
  color: var(--lwy-paper);
  border-top: 0;
}
.lwy-art-directed .band.dark :is(h2,h3,.eyebrow) { color: var(--lwy-paper); }
.lwy-art-directed .band.dark .eyebrow { color: var(--lwy-seafoam); }
.lwy-art-directed .band.dark p { color: color-mix(in srgb, var(--lwy-paper) 82%, transparent); }
.lwy-art-directed .band.dark .flow > div { border-top: 1px solid rgba(247,243,234,.22); padding-top: 18px; }
.lwy-art-directed .band.dark .flow b { font-family: var(--lwy-font-display); font-size: 1.16rem; letter-spacing: -.025em; }
.lwy-art-directed .band.dark .link-arrow { color: var(--lwy-butter); }
.lwy-art-directed .cta-band {
  background: var(--lwy-paper);
  color: var(--lwy-ink);
  padding: clamp(56px, 7vw, 92px) 0;
  border-top: 1px solid var(--lwy-line);
}
.lwy-art-directed .cta-band h2 { max-width: 14ch; margin-inline: auto; }
.lwy-art-directed .site-footer { background: var(--lwy-ink); color: #F7F3EA; }
.lwy-art-directed .site-footer a { color: #F7F3EA; opacity: .82; }
.lwy-art-directed .site-footer a:hover { opacity: 1; }

/* Auth/signup: give the form a deliberate editorial hierarchy, not a floating generic card. */
.lwy-art-directed .auth-solo .auth-main { padding-top: clamp(18px, 5vh, 52px); }
.lwy-art-directed .auth-solo .auth-card {
  max-width: 480px;
  gap: 22px;
  border-radius: 18px;
  border: 1px solid var(--lwy-line);
  background: var(--card, #FBF8F2);
  box-shadow: 0 22px 70px -56px rgba(47,34,25,.34);
}
.lwy-art-directed .auth-card h1 {
  font-size: clamp(2rem, 5vw, 2.7rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.lwy-art-directed .auth-head .lead { max-width: 47ch; font-size: 1rem; line-height: 1.65; }
.lwy-art-directed .su-progress { color: color-mix(in srgb, var(--lwy-ink) 65%, var(--lwy-paper)); }
.lwy-art-directed .su-bar { background: #E8E0D4; }
.lwy-art-directed .su-bar i { background: var(--lwy-cocoa); }
.lwy-art-directed .next-steps li.now::before { background: var(--lwy-cocoa); border-color: var(--lwy-cocoa); }
.lwy-art-directed .pcard,
.lwy-art-directed .state-card,
.lwy-art-directed .notice.good {
  background: var(--card, #FBF8F2) !important;
  border: 1px solid var(--lwy-line);
  box-shadow: none;
}
.lwy-art-directed .auth-card .btn.primary { border-radius: 8px; min-height: 52px; }

/* App workspace: quiet canvas, readable measure, with colour only for state and action. */
body.lwy-art-directed .page-home .home-hello h1,
body.lwy-art-directed .page-home h1.home-hello {
  font-family: var(--lwy-font-display);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1.02;
  font-size: clamp(2rem, 3.6vw, 3rem);
}
body.lwy-art-directed .page-home .home-next {
  background: var(--card) !important;
  color: var(--ink);
  border: 1px solid var(--lwy-line);
  border-top: 3px solid var(--lwy-cocoa);
  border-radius: 18px;
  padding: clamp(22px, 3vw, 32px);
}
body.lwy-art-directed .page-home .home-next :is(.nx-k,.nx-b,.nx-s) { color: var(--ink); opacity: 1; }
body.lwy-art-directed .page-home .home-next .nx-ico {
  background: transparent;
  color: var(--lwy-cocoa);
  border: 1px solid var(--lwy-line);
}
body.lwy-art-directed .page-home .home-next .nx-go {
  background: var(--lwy-cocoa);
  color: var(--lwy-paper);
  border-radius: 8px;
  min-height: 48px;
}
body.lwy-art-directed .page-home .home-grid .tile,
body.lwy-art-directed .page-home .home-grid .tile[data-k="simulate"],
body.lwy-art-directed .page-home .home-weekwrap,
body.lwy-art-directed .page-home .hh-main,
body.lwy-art-directed .page-home .home-plan {
  background: var(--card) !important;
  color: var(--ink);
  border: 1px solid var(--lwy-line);
  border-radius: 16px;
  box-shadow: none !important;
}
body.lwy-art-directed .page-home .home-grid .tile[data-k="simulate"] {
  min-height: 108px;
  border-left: 3px solid var(--lwy-cocoa);
}
body.lwy-art-directed .page-home .home-grid .tile[data-k="simulate"] :is(b,small,.ti-ico),
body.lwy-art-directed .page-home .home-grid .tile[data-k="simulate"]::after { color: var(--ink); }
body.lwy-art-directed .page-home .home-grid .tile .ti-ico {
  background: transparent;
  color: var(--lwy-cocoa);
  border: 1px solid var(--lwy-line);
}
body.lwy-art-directed .page-home .home-grid .tile .ti-chip,
body.lwy-art-directed .page-home .home-grid .tile .ti-chip.hot {
  background: #EFE6D5;
  color: var(--lwy-ink);
}
body.lwy-art-directed .page-home .home-grid .tile:hover,
body.lwy-art-directed .page-home .home-next:hover,
body.lwy-art-directed .page-home .hh-main:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--lwy-cocoa) 40%, var(--lwy-line));
}
body.lwy-art-directed :is(.topbar,.side,.tabbar) { font-family: var(--lwy-font-ui); }
body.lwy-art-directed :is(.topbar h1,.topbar h2,.side h1,.side h2,.page h1,.page h2,.page h3) {
  font-family: var(--lwy-font-display);
  letter-spacing: -.035em;
}
body.lwy-art-directed :is(.page p,.page li,.page .muted,.page .small) { max-width: 68ch; line-height: 1.62; text-wrap: pretty; }
body.lwy-art-directed :is(.section,.card,.item,.tile,.practice-card,.scene-card,.sc-card,.pr-card) {
  transition: border-color .22s ease, background-color .22s ease, transform .28s var(--lwy-ease), box-shadow .28s var(--lwy-ease);
}

/* Responsive rhythm: keep reading measure and hierarchy intentional on every viewport. */
@media (max-width: 1000px) {
  .lwy-art-directed .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .lwy-art-directed .hero h1 { max-width: 12ch; font-size: clamp(3.15rem, 8.4vw, 5.5rem); }
  .lwy-art-directed .hero .preview { max-width: 640px; transform: none; }
  .lwy-art-directed .band .wrap { width: min(100% - 40px, 760px); }
  .lwy-art-directed .sim-demo { flex-wrap: wrap; }
  .lwy-art-directed .sim-step { max-width: none; flex-basis: 100%; }
}
@media (max-width: 700px) {
  .lwy-art-directed .hero { padding: 44px 0 54px; }
  .lwy-art-directed .hero .wrap { width: min(100% - 36px, 600px); }
  .lwy-art-directed .hero h1 { font-size: clamp(2.8rem, 12vw, 4.25rem); max-width: 11ch; line-height: .96; }
  .lwy-art-directed .hero .eyebrow { font-size: .7rem; margin-bottom: 16px; }
  .lwy-art-directed .hero .lead { font-size: 1rem; line-height: 1.65; }
  .lwy-art-directed .hero .cta-row { align-items: stretch; flex-direction: column; }
  .lwy-art-directed .hero .cta-row .btn.primary.lg { width: 100%; }
  .lwy-art-directed .hero .cta-row .link-arrow { align-self: flex-start; }
  .lwy-art-directed .proof { gap: 8px 12px; }
  .lwy-art-directed .proof span { font-size: .8rem; }
  .lwy-art-directed .proof span + span::before { margin-right: 12px; }
  .lwy-art-directed .band { padding: 56px 0; }
  .lwy-art-directed .band .wrap { width: min(100% - 36px, 600px); }
  .lwy-art-directed .band h2 { font-size: clamp(2rem, 8.5vw, 3rem); max-width: 16ch; }
  .lwy-art-directed .quote-row { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .lwy-art-directed .sim-demo > .preview { flex-basis: 100%; }
  .lwy-art-directed .auth-solo .auth-main { padding: 18px 18px 56px; }
  .lwy-art-directed .auth-solo .auth-card { padding: 24px 22px; }
  .lwy-art-directed .plan { padding: 22px; }
  .lwy-art-directed .plan.featured { padding-top: 20px; }
}
@media (max-width: 420px) {
  .lwy-art-directed .hero h1 { font-size: clamp(2.55rem, 11.8vw, 3.25rem); }
  .lwy-art-directed .preview { padding: 18px; }
  .lwy-art-directed .proof { display: grid; gap: 7px; }
  .lwy-art-directed .proof span + span::before { content: none; }
  .lwy-art-directed .auth-solo .auth-card { border-radius: 14px; }
}

/* Small, purposeful motion: entrance, feedback and transitions — never perpetual decoration. */
@keyframes lwy-art-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.lwy-art-directed .hero-grid > div:first-child { animation: lwy-art-enter .58s var(--lwy-ease) both; }
.lwy-art-directed .hero-grid > .preview,
.lwy-art-directed .hero-grid > div:nth-child(2) { animation: lwy-art-enter .68s var(--lwy-ease) .08s both; }
.lwy-art-directed .preview .bubble.ai { animation: lwy-art-enter .42s var(--lwy-ease) .18s both; }
.lwy-art-directed .preview .bubble.me { animation: lwy-art-enter .42s var(--lwy-ease) .28s both; }
.lwy-art-directed .preview .turn-flag { animation: lwy-art-enter .46s var(--lwy-ease) .38s both; }
.lwy-art-directed .reveal { transition: opacity .48s var(--lwy-ease), transform .48s var(--lwy-ease); }
.lwy-art-directed .reveal:not(.in) { opacity: 0; transform: translateY(10px); }
.lwy-art-directed .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .lwy-art-directed *,
  .lwy-art-directed *::before,
  .lwy-art-directed *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
html[data-theme="dark"] .lwy-art-directed :is(h1 em,h2 em,h3 em) { color: var(--gold, #FBE39D); }
html[data-theme="dark"] .lwy-art-directed .proof span { color: var(--ink) !important; }
html[data-theme="dark"] .lwy-art-directed .plan .pill { background: #4A4036 !important; color: #F7F3EA !important; }
html[data-theme="dark"] body.lwy-art-directed .page-home .home-next,
html[data-theme="dark"] body.lwy-art-directed .page-home .home-grid .tile,
html[data-theme="dark"] body.lwy-art-directed .page-home .home-grid .tile[data-k="simulate"],
html[data-theme="dark"] body.lwy-art-directed .page-home .home-weekwrap,
html[data-theme="dark"] body.lwy-art-directed .page-home .hh-main,
html[data-theme="dark"] body.lwy-art-directed .page-home .home-plan {
  background: var(--card) !important;
  color: var(--ink);
  border-color: var(--hairline);
}
html[data-theme="dark"] body.lwy-art-directed .page-home .home-grid .tile[data-k="simulate"] { border-left: 3px solid var(--gold, #FBE39D); }
html[data-theme="dark"] body.lwy-art-directed .page-home .home-grid .tile .ti-ico { color: var(--gold, #FBE39D); }
html[data-theme="dark"] body.lwy-art-directed .page-home .home-grid .tile .ti-chip,
html[data-theme="dark"] body.lwy-art-directed .page-home .home-grid .tile .ti-chip.hot { background: #4A4036; color: #F7F3EA; }


/* Next.js root route uses the same system without depending on the legacy static homepage. */
.root-home { min-height: 100vh; background: var(--lwy-paper); color: var(--lwy-ink); }
.root-home .site-nav { position: sticky; top: 0; z-index: 20; }
.root-home .site-nav .wrap {
  width: min(100% - 48px, 1240px); min-height: 76px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.root-home .site-nav .brand { font-size: 28px; line-height: 1; text-decoration: none; }
.root-home .site-nav nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); }
.root-home .site-nav nav a { color: var(--lwy-ink); text-decoration: none; font-size: .9rem; font-weight: 600; }
.root-home .site-nav .actions { display: flex; align-items: center; gap: 10px; }
.root-home .site-nav .btn { min-height: 42px; padding: 0 16px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: .9rem; font-weight: 700; }
.root-home .site-nav .btn.ghost { color: var(--lwy-ink); border: 1px solid var(--lwy-line); background: transparent; }
.root-home .site-nav .btn.primary { color: var(--lwy-paper); background: var(--lwy-cocoa); }
.root-home .hero-grid { width: min(100% - 48px, 1240px); margin: 0 auto; display: grid; }
.root-home .hero h1 { max-width: 10.5ch; }
.root-home .hero .lead { max-width: 54ch; }
.root-home .root-proof { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: .85rem; color: color-mix(in srgb, var(--lwy-ink) 72%, var(--lwy-paper)); }
.root-home .root-proof span + span::before { content: "·"; margin-right: 16px; color: var(--lwy-cocoa); }
.root-home .root-next { padding: 56px 24px 72px; border-top: 1px solid var(--lwy-line); }
.root-home .root-next .wrap { width: min(100%, 960px); margin: 0 auto; }
.root-home .root-next h2 { max-width: 16ch; font-size: clamp(2.2rem, 4.4vw, 4rem); margin: 10px 0 28px; }
.root-home .root-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.root-home .root-steps article { padding-top: 16px; border-top: 1px solid var(--lwy-line); }
.root-home .root-steps .step-n { color: var(--lwy-cocoa); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.root-home .root-steps h3 { font-size: 1.25rem; margin: 10px 0; }
.root-home .root-steps p { font-size: .94rem; color: color-mix(in srgb, var(--lwy-ink) 74%, var(--lwy-paper)); }
.root-home .root-footer { padding: 26px 24px; border-top: 1px solid var(--lwy-line); font-size: .85rem; }
.root-home .root-footer .wrap { width: min(100%, 1240px); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.root-home .root-footer a { color: var(--lwy-cocoa); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .root-home .site-nav nav { display: none; }
  .root-home .hero-grid { width: min(100% - 40px, 700px); }
  .root-home .hero-grid { grid-template-columns: minmax(0,1fr); }
  .root-home .hero h1 { max-width: 11ch; }
  .root-home .root-steps { gap: 16px; }
}
@media (max-width: 600px) {
  .root-home .site-nav .wrap { width: min(100% - 32px, 560px); min-height: 66px; gap: 12px; }
  .root-home .site-nav .brand { font-size: 25px; }
  .root-home .site-nav .actions { gap: 6px; }
  .root-home .site-nav .btn { min-height: 40px; padding: 0 12px; font-size: .82rem; }
  .root-home .hero-grid { width: min(100% - 36px, 560px); }
  .root-home .root-steps { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .root-home .root-next { padding: 48px 18px 56px; }
  .root-home .root-footer .wrap { display: grid; }
}

.root-home .hero .cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 30px; }
.root-home .hero .cta-row .btn.primary.lg {
  display: inline-flex; align-items: center; justify-content: center; min-height: 54px;
  padding: 0 24px; border-radius: 8px; color: var(--lwy-paper); background: var(--lwy-cocoa);
  text-decoration: none; font-size: .96rem; font-weight: 700;
}
.root-home .hero .cta-row .link-arrow { display: inline-flex; align-items: center; gap: 8px; font-size: .92rem; font-weight: 700; text-decoration: none; }
.root-home .preview { min-width: 0; }
.root-home .preview .preview-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: .72rem; font-weight: 700; letter-spacing: .07em; }
.root-home .preview .who { margin-bottom: 10px; font-size: .85rem; }
.root-home .preview .bubble { max-width: 88%; padding: 14px 16px; margin: 0 0 10px; font-size: .95rem; line-height: 1.5; }
.root-home .preview .bubble.me { margin-left: auto; }
.root-home .preview .meters { display: grid; gap: 12px; margin-top: 22px; }
.root-home .preview .meter { display: grid; grid-template-columns: 90px minmax(0,1fr) 28px; align-items: center; gap: 10px; font-size: .82rem; }
.root-home .preview .bar { height: 6px; border-radius: 999px; overflow: hidden; background: #E9E2D7; }
.root-home .preview .bar i { display: block; height: 100%; border-radius: inherit; background: var(--lwy-cocoa); }
.root-home .preview .meter.neg .bar i { background: var(--lwy-rust); }
.root-home .preview .val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 800; }
@media (max-width: 600px) {
  .root-home .hero .cta-row { flex-direction: column; align-items: stretch; }
  .root-home .hero .cta-row .btn.primary.lg { width: 100%; }
  .root-home .hero .cta-row .link-arrow { align-self: flex-start; }
}



/* Brand correction pass — light/dark-safe palette, inset rhythm, responsive balance. */
html:not([data-theme="dark"]) .lwy-art-directed,
html:not([data-theme="dark"]) body.lwy-art-directed,
html:not([data-theme="dark"]) .root-home.lwy-art-directed {
  --lwy-paper:#F7F3EA; --lwy-paper-deep:#F7F3EA; --lwy-ink:#2F2219;
  --lwy-cocoa:#604531; --lwy-butter:#FBE39D; --lwy-snow:#D7DEEB;
  --lwy-seafoam:#D7DEEB; --lwy-line:rgba(47,34,25,.14);
  background-color:#F7F3EA!important; color:#2F2219;
}
html[data-theme="dark"] .lwy-art-directed,
html[data-theme="dark"] body.lwy-art-directed,
html[data-theme="dark"] .root-home.lwy-art-directed {
  --lwy-paper:#2F2219; --lwy-paper-deep:#3B2C21; --lwy-ink:#F7F3EA;
  --lwy-cocoa:#FBE39D; --lwy-butter:#FBE39D; --lwy-snow:#D7DEEB;
  --lwy-seafoam:#D7DEEB; --lwy-line:rgba(247,243,234,.16);
  background-color:#2F2219!important; color:#F7F3EA;
}
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) {
  background:#2F2219!important; color:#F7F3EA!important;
  border-bottom:1px solid rgba(247,243,234,.16)!important; backdrop-filter:none;
}
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) :is(a,button,.brand,.nav-toggle) { color:#F7F3EA; }
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .brand {
  display:inline-flex; align-items:baseline; color:#F7F3EA!important;
  font-family:var(--lwy-font-display); font-size:clamp(1.55rem,2vw,1.9rem);
  font-weight:900; letter-spacing:-.075em; line-height:1; text-transform:lowercase; white-space:nowrap;
}
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .brand span { color:#F7F3EA!important; }
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .brand::after {
  content:"."; color:#FBE39D; display:inline-block; margin-left:.015em; text-shadow:0 1px 0 rgba(0,0,0,.16);
}
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) nav a,
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .btn.ghost { color:rgba(247,243,234,.88)!important; }
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) nav a:hover,
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .btn.ghost:hover { color:#FBE39D!important; }
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .btn.primary {
  background:#FBE39D!important; color:#2F2219!important; border-color:transparent!important; box-shadow:none!important;
}
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .btn.primary:hover { background:#F7F3EA!important; color:#2F2219!important; }
.lwy-art-directed .wrap,.lwy-art-directed .hero-grid>* { min-width:0; }
.lwy-art-directed .quote-list { display:grid; gap:clamp(10px,1.2vw,14px); }
.lwy-art-directed .quote-row {
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1fr); gap:clamp(22px,4vw,56px);
  min-width:0; padding:clamp(22px,3vw,34px) clamp(22px,3.2vw,40px)!important;
  border:1px solid var(--lwy-line)!important; border-radius:22px!important; background:#FFFFFF!important;
}
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) {
  min-width:0; padding:clamp(22px,3vw,34px)!important; border:1px solid var(--lwy-line)!important;
  border-radius:20px!important; background:#FFFFFF!important; overflow-wrap:anywhere;
}
.lwy-art-directed :is(.quote-row,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(h2,h3,h4,p,li) { min-width:0; overflow-wrap:anywhere; }
.lwy-art-directed :is(.quote-row,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(p,li) { max-width:64ch; line-height:1.65; }
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card):hover {
  transform:translateY(-2px); border-color:rgba(96,69,49,.32)!important; box-shadow:0 10px 28px rgba(47,34,25,.06);
}
.lwy-art-directed .quote-row:hover { border-color:rgba(96,69,49,.28)!important; }
.lwy-art-directed :is(h1,h2,h3,h4) { text-wrap:balance; }
.lwy-art-directed :is(p,li,.lead) { text-wrap:pretty; }
.lwy-art-directed .hero h1 { max-width:12ch; }
.lwy-art-directed :is(.site-nav,.auth-bar,.topbar) .wrap { padding-inline:clamp(20px,4vw,48px); }
html[data-theme="dark"] .lwy-art-directed :is(.quote-row,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) {
  background:#3B2C21!important; color:#F7F3EA!important; border-color:rgba(247,243,234,.14)!important;
}
html[data-theme="dark"] .lwy-art-directed :is(.quote-row,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(h2,h3,h4,p,li,b,strong) { color:#F7F3EA!important; }
@media(max-width:900px) {
  .lwy-art-directed .quote-row { grid-template-columns:minmax(0,1fr); gap:12px; }
  .lwy-art-directed .hero-grid { grid-template-columns:minmax(0,1fr); }
  .lwy-art-directed .hero .preview { transform:none; }
}
@media(max-width:700px) {
  .lwy-art-directed .quote-row { padding:22px!important; border-radius:18px!important; }
  .lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) { padding:22px!important; }
  .lwy-art-directed .hero { padding-block:44px 56px; }
  .lwy-art-directed .hero h1 { font-size:clamp(2.65rem,10vw,4.4rem); line-height:.98; }
}
@media(max-width:420px) {
  .lwy-art-directed .quote-row { padding:18px!important; }
  .lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) { padding:18px!important; }
  .lwy-art-directed .hero .cta-row { align-items:stretch; }
  .lwy-art-directed .hero .cta-row .btn { width:100%; justify-content:center; }
}



/* Screenshot-driven regression fixes — 13 Oct 2026 */
/* 1) Dark sections may contain white cards. Their text must follow the card,
   not inherit the dark section's cream foreground. */
.lwy-art-directed .band.dark :is(.col-item,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card) {
  background:#FBF8F2!important;
  color:#2F2219!important;
  border-color:rgba(47,34,25,.16)!important;
}
.lwy-art-directed .band.dark :is(.col-item,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card)
  :is(h1,h2,h3,h4,p,li,small,strong,b,a) {
  color:#2F2219!important;
  opacity:1!important;
}
.lwy-art-directed .band.dark :is(.col-item,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card) a {
  text-decoration-color:rgba(47,34,25,.45);
  text-underline-offset:3px;
}
.lwy-art-directed .band.dark :is(.col-item,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card) a:hover {
  color:#604531!important;
}
html[data-theme="dark"] .lwy-art-directed .band.dark :is(.col-item,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card) {
  background:#F7F3EA!important;
  color:#2F2219!important;
}
html[data-theme="dark"] .lwy-art-directed .band.dark :is(.col-item,.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card)
  :is(h1,h2,h3,h4,p,li,small,strong,b,a) { color:#2F2219!important; }

/* 2) Grid children and conversation previews must shrink to the real viewport.
   Never let a chat bubble or a fixed meter column widen the page. */
.lwy-art-directed .hero-grid,
.lwy-art-directed .hero-grid > *,
.lwy-art-directed.root-home .hero-grid,
.lwy-art-directed.root-home .hero-grid > *,
.lwy-art-directed .hero .preview,
.lwy-art-directed.root-home .preview {
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.lwy-art-directed .hero .preview,
.lwy-art-directed.root-home .preview {
  width:100%!important;
  overflow:hidden;
  transform:none;
}
.lwy-art-directed .preview .preview-head {
  min-width:0;
  flex-wrap:wrap;
  overflow-wrap:anywhere;
}
.lwy-art-directed .preview .bubble {
  box-sizing:border-box;
  max-width:100%!important;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.lwy-art-directed.root-home .preview .meter {
  grid-template-columns:minmax(70px,90px) minmax(0,1fr) 28px;
}
.lwy-art-directed.root-home .preview .bar { min-width:0; }
.lwy-art-directed.root-home .preview .turn-flag {
  max-width:100%;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
@media(max-width:900px) {
  .lwy-art-directed .hero-grid,
  .lwy-art-directed.root-home .hero-grid {
    grid-template-columns:minmax(0,1fr)!important;
    width:min(100% - 36px,640px)!important;
    margin-inline:auto!important;
  }
  .lwy-art-directed .hero-grid > *,
  .lwy-art-directed.root-home .hero-grid > * { width:100%; }
  .lwy-art-directed .hero .preview,
  .lwy-art-directed.root-home .preview {
    justify-self:stretch;
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    padding:clamp(16px,4vw,24px)!important;
  }
  .lwy-art-directed.root-home .preview .meter {
    grid-template-columns:minmax(68px,82px) minmax(0,1fr) 24px;
    gap:8px;
  }
}

/* 3) Header contents must fit the viewport rather than forcing horizontal scroll. */
.lwy-art-directed .site-nav,
.lwy-art-directed .site-nav .wrap,
.lwy-art-directed .site-nav .wrap > * {
  min-width:0;
  box-sizing:border-box;
}
.lwy-art-directed .site-nav .wrap {
  width:min(100% - 36px,1240px);
  max-width:100%;
}
.lwy-art-directed .site-nav .brand {
  flex:0 0 auto;
  white-space:nowrap;
}
.lwy-art-directed .site-nav nav { min-width:0; }
@media(max-width:900px) {
  .lwy-art-directed .site-nav .wrap {
    width:100%;
    padding-inline:16px;
    gap:10px;
  }
  .lwy-art-directed .site-nav nav,
  .lwy-art-directed .site-nav .actions { display:none!important; }
  .lwy-art-directed .site-nav .nav-toggle {
    display:inline-grid!important;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    min-width:42px;
    height:42px;
    margin-left:auto;
    color:#F7F3EA!important;
    background:#604531!important;
    border:1px solid rgba(247,243,234,.3)!important;
    border-radius:999px!important;
  }
  .lwy-art-directed .site-nav .nav-toggle svg { width:20px; height:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .lwy-art-directed .preview,
  .lwy-art-directed .site-nav * { transition:none!important; transform:none!important; }
}


/* All marketing pages share the same accessible mobile navigation. */
@media(max-width:900px) {
  .lwy-art-directed .site-nav .nav-toggle {
    display:inline-grid!important;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    min-width:42px;
    height:42px;
    margin-left:auto;
    padding:0;
    color:#F7F3EA!important;
    background:#604531!important;
    border:1px solid rgba(247,243,234,.25)!important;
    border-radius:999px!important;
  }
  .lwy-art-directed .site-nav .nav-toggle svg { width:20px; height:20px; }
  .lwy-art-directed .site-nav.open .wrap {
    flex-wrap:wrap;
    padding-block:10px 14px;
    background:#2F2219;
  }
  .lwy-art-directed .site-nav.open .wrap nav,
  .lwy-art-directed .site-nav.open .wrap .actions {
    display:flex!important;
    flex:1 0 100%;
    width:100%;
  }
  .lwy-art-directed .site-nav.open .wrap nav {
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding-top:8px;
  }
  .lwy-art-directed .site-nav.open .wrap nav a {
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 12px;
    border-radius:10px;
    color:#F7F3EA!important;
  }
  .lwy-art-directed .site-nav.open .wrap nav a:hover,
  .lwy-art-directed .site-nav.open .wrap nav a:focus-visible {
    background:#FBE39D!important;
    color:#2F2219!important;
  }
  .lwy-art-directed .site-nav.open .wrap .actions {
    gap:8px;
    padding-top:6px;
  }
}


/* Desktop first-fold correction — compact headline and recover the primary CTA. */
/* The desktop hero must communicate the promise and expose its next action
   without making the visitor scroll just to discover the CTA. */
@media(min-width:901px) {
  .lwy-art-directed .hero {
    padding-top:clamp(38px,4.2vw,64px)!important;
    padding-bottom:clamp(36px,3.8vw,56px)!important;
  }
  .lwy-art-directed .hero-grid {
    gap:clamp(30px,4vw,60px)!important;
  }
  .lwy-art-directed .hero h1 {
    max-width:13ch!important;
    font-size:clamp(3.25rem,5.25vw,5.5rem)!important;
    line-height:.98!important;
    margin-bottom:20px!important;
  }
  .lwy-art-directed .hero .eyebrow { margin-bottom:16px!important; }
  .lwy-art-directed .hero .lead { max-width:52ch!important; }
  .lwy-art-directed .hero .cta-row { margin-top:22px!important; }
}
@media(min-width:901px) and (max-height:820px) {
  .lwy-art-directed .hero {
    padding-top:30px!important;
    padding-bottom:32px!important;
  }
  .lwy-art-directed .hero h1 {
    font-size:clamp(3rem,4.8vw,5rem)!important;
  }
  .lwy-art-directed .hero .cta-row { margin-top:18px!important; }
  .lwy-art-directed .root-proof { margin-top:14px!important; }
}



/* Homepage polish requested on 13 Oct 2026 — explicit type, line breaks and score semantics. */
:root {
  --lwy-cocoa-roast:#604531;
  --lwy-snow-blue:#D7DEEB;
  --lwy-seafoam:#D7DEEB;
  --lwy-butter-yellow:#FBE39D;
  --lwy-warm-cream:#F7F3EA;
  --lwy-espresso:#2F2219;
}
.lwy-art-directed.root-home {
  font-family:"Rethink Sans",sans-serif;
  background:var(--lwy-warm-cream);
}
.lwy-art-directed.root-home :is(button,.btn,nav,a,small,.preview,.root-proof) {
  font-family:"Rethink Sans",sans-serif;
}
.lwy-art-directed.root-home .hero {
  min-height:calc(100svh - 74px);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  padding-block:clamp(32px,4vh,56px)!important;
  background:var(--lwy-warm-cream);
}
.lwy-art-directed.root-home .hero > .wrap {
  width:min(100% - 80px,1560px);
  max-width:1560px;
  margin-inline:auto;
}
.lwy-art-directed.root-home .hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;
  gap:clamp(28px,4vw,64px)!important;
}
.lwy-art-directed.root-home .hero-grid > * { min-width:0; }
.lwy-art-directed.root-home .hero h1 {
  max-width:none!important;
  font-family:"Archivo",sans-serif!important;
  font-size:clamp(2.6rem,4.6vw,5.35rem)!important;
  font-weight:800!important;
  line-height:.99!important;
  letter-spacing:-.055em!important;
  margin:0 0 24px!important;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:initial;
}
.lwy-art-directed.root-home .hero h1 .hero-title-line,
.lwy-art-directed.root-home .hero h1 .hero-title-emphasis {
  display:block;
  max-width:100%;
}
.lwy-art-directed.root-home .hero h1 .hero-title-line {
  white-space:nowrap;
  color:var(--lwy-espresso);
  font-family:"Archivo",sans-serif!important;
  font-weight:800!important;
  font-style:normal!important;
}
.lwy-art-directed.root-home .hero h1 .hero-title-emphasis {
  color:var(--lwy-cocoa-roast)!important;
  font-family:"Playfair Display",serif!important;
  font-style:italic!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
  white-space:nowrap;
}
.lwy-art-directed.root-home .hero h1 .hero-title-emphasis strong {
  font-family:"Playfair Display",serif!important;
  font-style:italic!important;
  font-weight:700!important;
  color:var(--lwy-cocoa-roast)!important;
}
.lwy-art-directed.root-home .hero .lead {
  max-width:58ch!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-size:clamp(1rem,1.25vw,1.25rem)!important;
  line-height:1.6!important;
  color:#665B52!important;
}
.lwy-art-directed.root-home .hero .cta-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 22px!important;
  margin-top:24px!important;
}
.lwy-art-directed.root-home .hero .cta-row .btn.primary.lg {
  min-height:54px;
  padding:15px 26px!important;
  border-radius:999px!important;
  background:var(--lwy-cocoa-roast)!important;
  border:2px solid var(--lwy-cocoa-roast)!important;
  color:var(--lwy-warm-cream)!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:800!important;
  line-height:1.25;
  text-align:center;
  white-space:normal;
}
.lwy-art-directed.root-home .hero .cta-row .btn.primary.lg:is(:hover,:focus-visible,:active) {
  background:var(--lwy-espresso)!important;
  border-color:var(--lwy-espresso)!important;
  color:var(--lwy-warm-cream)!important;
}
.lwy-art-directed.root-home .hero .cta-row .link-arrow {
  color:var(--lwy-cocoa-roast)!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:700;
}
.lwy-art-directed.root-home .root-proof {
  display:flex;
  flex-wrap:wrap;
  gap:8px!important;
  margin-top:24px!important;
  color:var(--lwy-cocoa-roast)!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-size:clamp(.78rem,.9vw,.9rem)!important;
}
.lwy-art-directed.root-home .root-proof span,
.lwy-art-directed.root-home .root-proof span + span {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 12px;
  border:2px solid var(--lwy-cocoa-roast)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--lwy-cocoa-roast)!important;
  line-height:1.3;
}
.lwy-art-directed.root-home .root-proof span + span::before { content:none!important; }
.lwy-art-directed.root-home .preview {
  width:100%;
  min-width:0;
  box-sizing:border-box;
  background:#FFFFFF!important;
  border:1px solid rgba(47,34,25,.13)!important;
  border-radius:24px!important;
  padding:clamp(22px,2.2vw,38px)!important;
  transform:none!important;
  box-shadow:0 18px 50px rgba(47,34,25,.055)!important;
}
.lwy-art-directed.root-home .preview .preview-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  color:var(--lwy-cocoa-roast)!important;
  border-bottom:1px solid #E4DED5!important;
  padding-bottom:16px!important;
}
.lwy-art-directed.root-home .preview .preview-head span:first-child {
  color:var(--lwy-cocoa-roast)!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:800;
}
.lwy-art-directed.root-home .preview .who {
  color:var(--lwy-cocoa-roast)!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:700!important;
  font-size:1.25rem!important;
  margin-bottom:12px!important;
}
.lwy-art-directed.root-home .preview .who strong { color:var(--lwy-cocoa-roast)!important; font-weight:800!important; }
.lwy-art-directed.root-home .preview .bubble { max-width:100%!important; width:fit-content; box-sizing:border-box; overflow-wrap:break-word; }
.lwy-art-directed.root-home .preview .bubble.ai {
  background:#EEE8DE!important;
  color:var(--lwy-espresso)!important;
  border-radius:16px 16px 16px 4px!important;
}
.lwy-art-directed.root-home .preview .bubble.me {
  background:var(--lwy-cocoa-roast)!important;
  color:#FFFFFF!important;
  border-radius:16px 16px 4px 16px!important;
}
.lwy-art-directed.root-home .preview .meters { gap:12px!important; margin-top:24px!important; }
.lwy-art-directed.root-home .preview .meter {
  grid-template-columns:minmax(82px,118px) minmax(0,1fr) 30px!important;
  gap:12px!important;
  color:var(--lwy-cocoa-roast)!important;
  font-family:"Rethink Sans",sans-serif!important;
}
.lwy-art-directed.root-home .preview .meter > span:first-child { color:var(--lwy-cocoa-roast)!important; font-weight:600; }
.lwy-art-directed.root-home .preview .meter .bar { min-width:0; height:10px!important; background:#E5DED4!important; }
.lwy-art-directed.root-home .preview .meter.clarity .bar i { background:var(--lwy-butter-yellow)!important; }
.lwy-art-directed.root-home .preview .meter.credibility .bar i { background:var(--lwy-snow-blue)!important; }
.lwy-art-directed.root-home .preview .meter.persuasion .bar i { background:var(--lwy-cocoa-roast)!important; }
.lwy-art-directed.root-home .preview .meter .val { color:var(--lwy-cocoa-roast)!important; font-weight:700; }
.lwy-art-directed.root-home .preview .turn-flag {
  margin-top:22px!important;
  background:#F1E8D6!important;
  border:0!important;
  border-left:0!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  color:#403329!important;
  font-family:"Rethink Sans",sans-serif!important;
  line-height:1.5;
}
@media(max-width:1100px) {
  .lwy-art-directed.root-home .hero > .wrap { width:min(100% - 48px,900px); }
  .lwy-art-directed.root-home .hero { min-height:calc(100svh - 74px); }
  .lwy-art-directed.root-home .hero-grid { grid-template-columns:minmax(0,1fr)!important; gap:30px!important; }
  .lwy-art-directed.root-home .hero h1 { font-size:clamp(2.7rem,6.5vw,4.8rem)!important; }
  .lwy-art-directed.root-home .hero h1 .hero-title-line,
  .lwy-art-directed.root-home .hero h1 .hero-title-emphasis { white-space:normal; }
  .lwy-art-directed.root-home .preview { max-width:760px; }
}
@media(max-width:600px) {
  .lwy-art-directed.root-home .hero { min-height:calc(100svh - 64px); padding-block:28px 36px!important; }
  .lwy-art-directed.root-home .hero > .wrap { width:calc(100% - 36px); }
  .lwy-art-directed.root-home .hero h1 { font-size:clamp(2.35rem,10vw,3.5rem)!important; margin-bottom:18px!important; }
  .lwy-art-directed.root-home .hero .lead { font-size:1rem!important; }
  .lwy-art-directed.root-home .hero .cta-row { align-items:stretch; }
  .lwy-art-directed.root-home .hero .cta-row .btn.primary.lg { width:100%; }
  .lwy-art-directed.root-home .root-proof { gap:7px!important; }
  .lwy-art-directed.root-home .root-proof span { max-width:100%; }
  .lwy-art-directed.root-home .preview { padding:18px!important; border-radius:18px!important; }
  .lwy-art-directed.root-home .preview .meter { grid-template-columns:minmax(76px,88px) minmax(0,1fr) 24px!important; gap:7px!important; font-size:.75rem!important; }
}


/* Actual served homepage bindings: root-home is set on public/home.html. */
/* Ensure the requested homepage design rules apply to the actual deployed HTML. */
.lwy-art-directed.root-home .preview-head {
  color:#604531!important;
}
.lwy-art-directed.root-home .preview-head span:first-child {
  color:#604531!important;
  font-weight:800!important;
}
.lwy-art-directed.root-home .preview .who,
.lwy-art-directed.root-home .preview .who strong {
  color:#604531!important;
  font-weight:800!important;
}
.lwy-art-directed.root-home .preview .meter.clarity .bar i { background:#FBE39D!important; }
.lwy-art-directed.root-home .preview .meter.credibility .bar i { background:#D7DEEB!important; }
.lwy-art-directed.root-home .preview .meter.persuasion .bar i { background:#604531!important; }
.lwy-art-directed.root-home .preview .meter.persuasion > span:first-child { color:#604531!important; }
.lwy-art-directed.root-home .preview .turn-flag {
  border:0!important;
  border-left:0!important;
}
.lwy-art-directed.root-home .hero .cta-row .btn.primary.lg {
  background:#604531!important;
  border-color:#604531!important;
  color:#F7F3EA!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:800!important;
}
.lwy-art-directed.root-home .root-proof span {
  border:2px solid #604531!important;
  color:#604531!important;
  background:transparent!important;
}


/* Homepage refinements: eyebrow wrap, butter CTA, and quiet proof chips. */
.lwy-art-directed.root-home .hero .eyebrow {
  font-family:"Rethink Sans",sans-serif!important;
  max-width:42ch;
}
.lwy-art-directed.root-home .hero .cta-row .btn.primary.lg {
  background:#FBE39D!important;
  border:1px solid #FBE39D!important;
  color:#604531!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:800!important;
}
.lwy-art-directed.root-home .hero .cta-row .btn.primary.lg:is(:hover,:focus-visible,:active) {
  background:#F3D47D!important;
  border-color:#F3D47D!important;
  color:#604531!important;
}
.lwy-art-directed.root-home .root-proof span,
.lwy-art-directed.root-home .root-proof span + span {
  border:0.8px solid #D6C8B7!important;
  background:#EEE8DE!important;
  color:#604531!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-weight:500!important;
}


/* Seafoam emphasis: darkened for readable contrast on warm cream. */
.lwy-art-directed.root-home .hero h1 .hero-title-emphasis strong {
  color:#47766F!important;
}


/* Responsive paragraph rhythm: readable line lengths on desktop, tablet and mobile. */
.lwy-art-directed.root-home .hero .lead {
  width:100%!important;
  max-width:50ch!important;
  margin-inline:0!important;
  font-size:clamp(1rem,1.2vw,1.2rem)!important;
  line-height:1.65!important;
  text-wrap:pretty;
  overflow-wrap:normal;
  word-break:normal;
}
.lwy-art-directed.root-home .band .wrap > p:not(.small),
.lwy-art-directed.root-home .quote-row p,
.lwy-art-directed.root-home .col-item p,
.lwy-art-directed.root-home .flow p {
  max-width:64ch;
  line-height:1.68;
  text-wrap:pretty;
  overflow-wrap:break-word;
}
@media (min-width:1101px) {
  .lwy-art-directed.root-home .hero .lead { max-width:49ch!important; }
}
@media (min-width:601px) and (max-width:1100px) {
  .lwy-art-directed.root-home .hero .lead {
    max-width:60ch!important;
    font-size:clamp(1.05rem,1.7vw,1.15rem)!important;
    line-height:1.65!important;
  }
  .lwy-art-directed.root-home .band .wrap > p:not(.small),
  .lwy-art-directed.root-home .quote-row p,
  .lwy-art-directed.root-home .col-item p,
  .lwy-art-directed.root-home .flow p { max-width:62ch; }
}
@media (max-width:600px) {
  .lwy-art-directed.root-home .hero .lead {
    max-width:100%!important;
    font-size:1rem!important;
    line-height:1.65!important;
    text-wrap:pretty;
  }
  .lwy-art-directed.root-home .band .wrap > p:not(.small),
  .lwy-art-directed.root-home .quote-row p,
  .lwy-art-directed.root-home .col-item p,
  .lwy-art-directed.root-home .flow p {
    max-width:100%;
    line-height:1.65;
  }
}


/* Keep the closing hero sentence intact; avoid a one-word orphan like "Out". */
.lwy-art-directed.root-home .hero .lead {
  max-width:58ch!important;
  text-wrap:pretty;
}
.lwy-art-directed.root-home .hero .hero-lead-close {
  margin-top:8px!important;
  max-width:58ch!important;
}
@media (min-width:1101px) {
  .lwy-art-directed.root-home .hero .lead,
  .lwy-art-directed.root-home .hero .hero-lead-close {
    max-width:58ch!important;
  }
}
@media (min-width:601px) and (max-width:1100px) {
  .lwy-art-directed.root-home .hero .lead,
  .lwy-art-directed.root-home .hero .hero-lead-close {
    max-width:62ch!important;
  }
}
@media (max-width:600px) {
  .lwy-art-directed.root-home .hero .lead,
  .lwy-art-directed.root-home .hero .hero-lead-close {
    max-width:100%!important;
  }
}


/* Final hero-copy rhythm: keep "says no" together, use the available column,
   and keep the closing sentence visually attached to the paragraph above. */
.lwy-art-directed.root-home .hero .lead {
  width:100%!important;
  max-width:100%!important;
  text-wrap:pretty;
}
.lwy-art-directed.root-home .hero .lead .keep-together {
  white-space:nowrap;
}
.lwy-art-directed.root-home .hero .hero-lead-close {
  margin-top:.25em!important;
  margin-bottom:0!important;
  max-width:100%!important;
  line-height:1.65!important;
}
@media (min-width:1101px) {
  .lwy-art-directed.root-home .hero .lead,
  .lwy-art-directed.root-home .hero .hero-lead-close {
    max-width:100%!important;
  }
}
@media (min-width:601px) and (max-width:1100px) {
  .lwy-art-directed.root-home .hero .lead,
  .lwy-art-directed.root-home .hero .hero-lead-close {
    max-width:100%!important;
  }
}


/* Hero copy final pass: one paragraph, consistent line spacing, no broken words. */
.lwy-art-directed.root-home .hero .lead {
  max-width:100%!important;
  line-height:1.65!important;
  text-wrap:pretty;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.lwy-art-directed.root-home .hero .lead .keep-together {
  white-space:nowrap!important;
  hyphens:none!important;
}
.lwy-art-directed.root-home .hero .lead br {
  display:block;
  content:"";
  margin:0!important;
}
.lwy-art-directed.root-home .hero .hero-lead-close { display:none!important; }


/* =========================================================
   Luwy spacing system — semantic proximity, not uniform gaps.
   Tight within a thought; generous between distinct sections.
   ========================================================= */
:root {
  --lwy-space-1:4px; --lwy-space-2:8px; --lwy-space-3:12px;
  --lwy-space-4:16px; --lwy-space-5:24px; --lwy-space-6:32px;
  --lwy-space-7:48px; --lwy-space-8:64px; --lwy-space-9:80px;
}

/* Distinct sections breathe; headings stay close to their descriptions. */
.lwy-art-directed .band { padding-block:clamp(48px,6vw,80px)!important; }
.lwy-art-directed .band + .band { border-top:1px solid color-mix(in srgb,var(--lwy-ink) 9%,transparent); }
.lwy-art-directed .band .wrap > .eyebrow { display:block; margin:0 0 8px!important; }
.lwy-art-directed .band .wrap > h2 { margin:0 0 16px!important; }
.lwy-art-directed .band .wrap > h2 + :is(p,.lead) { margin-top:0!important; }
.lwy-art-directed .band .wrap > :is(.grid,.flow,.quote-list,.sim-demo,.plan-grid,.feature-grid,.cols,.cards) {
  margin-top:clamp(22px,2.8vw,30px); gap:clamp(14px,2vw,22px);
}
.lwy-art-directed .band .wrap > .cta-row,
.lwy-art-directed .band .wrap > :is(p,.lead) + .cta-row { margin-top:24px!important; gap:12px 16px; }
.lwy-art-directed .band .wrap > p + p { margin-top:.72em; }

/* Long-form pages: clear reading groups and predictable section starts. */
.lwy-art-directed .page { padding-top:clamp(28px,4vw,48px); }
.lwy-art-directed .page .section { margin-top:clamp(32px,4vw,48px)!important; }
.lwy-art-directed .page :is(h2,h3) { margin-bottom:12px; }
.lwy-art-directed .page :is(h2,h3) + :is(p,.lead,ul,ol) { margin-top:0!important; }
.lwy-art-directed .page p + p { margin-top:.75em; }
.lwy-art-directed .page :is(ul,ol) { display:grid; gap:8px; }
.lwy-art-directed .page :is(.eyebrow,.kicker) { display:block; margin-bottom:8px; }

/* Card internals: compact title-to-copy spacing, clear separation between cards. */
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) {
  padding:clamp(20px,2.2vw,28px)!important;
}
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(h2,h3,h4) {
  margin:0 0 6px!important;
}
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(p,ul,ol) { margin-top:0; }
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(p:last-child,ul:last-child,ol:last-child) { margin-bottom:0; }
.lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) :is(ul,ol) { padding-left:1.2em; gap:8px; }
.lwy-art-directed .quote-row { padding:clamp(20px,2.5vw,30px)!important; gap:clamp(16px,3vw,36px)!important; }

/* Action groups and forms: related controls stay grouped. */
.lwy-art-directed .hero .cta-row,
.lwy-art-directed .cta-band .cta-row { gap:12px 16px; }
.lwy-art-directed :is(.auth-card,.auth-solo .auth-card) { gap:18px; }
.lwy-art-directed :is(.auth-card,.auth-solo .auth-card) :is(label,.field-label) { margin-bottom:6px; }
.lwy-art-directed :is(.auth-card,.auth-solo .auth-card) :is(input,textarea,select) { margin-top:0; }
.lwy-art-directed :is(.auth-card,.auth-solo .auth-card) :is(.field,.form-group,.input-group) + :is(.field,.form-group,.input-group) { margin-top:14px; }

/* Responsive: preserve hierarchy while reducing wasted space on small screens. */
@media (min-width:601px) and (max-width:1000px) {
  .lwy-art-directed .band { padding-block:56px!important; }
  .lwy-art-directed .band .wrap > :is(.grid,.flow,.quote-list,.sim-demo,.plan-grid,.feature-grid,.cols,.cards) { margin-top:22px; gap:16px; }
  .lwy-art-directed .page .section { margin-top:34px!important; }
  .lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) { padding:22px!important; }
}
@media (max-width:600px) {
  .lwy-art-directed .band { padding-block:44px!important; }
  .lwy-art-directed .band .wrap > .eyebrow { margin-bottom:7px!important; }
  .lwy-art-directed .band .wrap > h2 { margin-bottom:12px!important; }
  .lwy-art-directed .band .wrap > :is(.grid,.flow,.quote-list,.sim-demo,.plan-grid,.feature-grid,.cols,.cards) { margin-top:18px; gap:12px; }
  .lwy-art-directed .band .wrap > .cta-row,
  .lwy-art-directed .band .wrap > :is(p,.lead) + .cta-row { margin-top:20px!important; }
  .lwy-art-directed .page { padding-top:24px; }
  .lwy-art-directed .page .section { margin-top:28px!important; }
  .lwy-art-directed .page :is(h2,h3) { margin-bottom:10px; }
  .lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item) { padding:18px!important; }
  .lwy-art-directed .quote-row { padding:18px!important; gap:12px!important; }
}
@media (max-width:380px) {
  .lwy-art-directed .band { padding-block:40px!important; }
  .lwy-art-directed .page .section { margin-top:24px!important; }
  .lwy-art-directed :is(.feature-card,.evidence-card,.ev-card,.evc,.research-card,.proof-card,.col-item,.quote-row) { border-radius:16px!important; }
}


/* App and dashboard rhythm: align section labels, card copy and next actions. */
.lwy-art-directed .section-head {
  margin-top:28px!important;
  margin-bottom:12px;
}
.lwy-art-directed .section-head + :is(.grid,.home-grid,.flow,.cards,.list) { margin-top:0!important; }
.lwy-art-directed .home-grid { margin-top:24px; }
.lwy-art-directed .home-grid::before { margin-bottom:8px; }
.lwy-art-directed .home-grid .tile { gap:12px; }
.lwy-art-directed .practice-card { gap:12px!important; }
.lwy-art-directed .practice-card small { margin-top:3px!important; line-height:1.45; }
.lwy-art-directed .home-next { gap:12px; }
.lwy-art-directed .home-next .nx-t { gap:8px!important; }
.lwy-art-directed .home-next .nx-b { margin:0!important; }
.lwy-art-directed .home-next .nx-s { margin-top:0!important; line-height:1.5!important; }
.lwy-art-directed .home-next .nx-go { margin-top:16px!important; }
.lwy-art-directed .habit-card { gap:10px!important; }
.lwy-art-directed .pg-plans { gap:14px!important; }
.lwy-art-directed .pg-plan { gap:10px!important; padding:20px!important; }
.lwy-art-directed :is(.card,.panel,.scene-card,.goal-card,.faq-panel,.score-card,.result-card,.weak-card,.weak-spot,.weakspot-card,.mi-doc,.ob-how) :is(h2,h3,h4) {
  margin-bottom:8px;
}
.lwy-art-directed :is(.card,.panel,.scene-card,.goal-card,.faq-panel,.score-card,.result-card,.weak-card,.weak-spot,.weakspot-card,.mi-doc,.ob-how) :is(h2,h3,h4) + p {
  margin-top:0!important;
}
.lwy-art-directed :is(.card,.panel,.scene-card,.goal-card,.faq-panel,.score-card,.result-card,.weak-card,.weak-spot,.weakspot-card,.mi-doc,.ob-how) p + p {
  margin-top:.65em;
}
@media (max-width:700px) {
  .lwy-art-directed .section-head { margin-top:24px!important; margin-bottom:10px; }
  .lwy-art-directed .home-grid { margin-top:20px; }
  .lwy-art-directed .pg-plans { gap:12px!important; }
  .lwy-art-directed .pg-plan { padding:16px!important; }
}


/* Sound-familiar section: stronger question hierarchy, purposeful emphasis, no stray divider. */
.lwy-art-directed.root-home #problems .problem-title {
  max-width:none!important; width:100%;
  margin-bottom:clamp(24px,3vw,36px)!important;
  font-size:clamp(2.5rem,4.25vw,4.25rem)!important;
  line-height:1.04!important; letter-spacing:-.045em; text-wrap:balance;
}
.lwy-art-directed.root-home #problems .problem-title > span { display:block; }
.lwy-art-directed.root-home #problems .quote-list { border-top:0!important; }
.lwy-art-directed.root-home #problems .quote-row q {
  color:#604531!important; text-decoration:none!important;
  text-decoration-color:transparent!important; background-image:none!important; box-shadow:none!important;
}
.lwy-art-directed.root-home #problems .quote-row q strong { color:#604531!important; font-weight:800!important; }
.lwy-art-directed.root-home #problems .quote-row p strong { color:#47766F!important; font-weight:800!important; }
.lwy-art-directed.root-home #problems .quote-row .copy-break { display:block; }
@media(max-width:900px) {
  .lwy-art-directed.root-home #problems .problem-title { font-size:clamp(2.3rem,6vw,3.7rem)!important; }
}
@media(max-width:600px) {
  .lwy-art-directed.root-home #problems .problem-title { font-size:clamp(2rem,8vw,3rem)!important; line-height:1.08!important; }
  .lwy-art-directed.root-home #problems .problem-title > span { display:block; }
  .lwy-art-directed.root-home #problems .quote-row .quote-question-break { display:none; }
}


/* Keep emphasis selective: one strategic phrase per supporting paragraph. */
.lwy-art-directed.root-home #problems .quote-row p strong {
  color:#47766F!important;
  font-weight:800!important;
}
.lwy-art-directed.root-home #problems .quote-row p {
  line-height:1.65;
}
.lwy-art-directed.root-home #problems .quote-row p br {
  display:block;
  margin:0;
}


/* 2026-10-13 polish: clear line hierarchy, human copy, consistent buttons, no automatic word hyphenation. */
.lwy-art-directed :is(p,li,.lead,.small,.col-item,.flow,.quote-row,.preview,.bubble),
.lwy-art-directed :is(h1,h2,h3,h4) {
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
}
.lwy-art-directed.root-home #simulate .retry-title {
  max-width:none!important; width:100%;
  font-size:clamp(2.5rem,4.15vw,4.25rem)!important;
  line-height:1.04!important; letter-spacing:-.045em; text-wrap:balance;
  margin-bottom:16px!important;
}
.lwy-art-directed.root-home #simulate .retry-title span { display:block; }
.lwy-art-directed.root-home #simulate .lead { max-width:76ch; }
.lwy-art-directed.root-home #simulate .sim-demo { margin-top:28px; }
.lwy-art-directed.root-home #simulate .col-item p br { display:block; content:""; margin-top:4px; }
.lwy-art-directed.root-home #how .steps-title {
  max-width:none!important;
  font-size:clamp(2.5rem,4.15vw,4.25rem)!important;
  line-height:1.04!important; letter-spacing:-.045em; text-wrap:balance;
}
.lwy-art-directed.root-home #how .steps-title span { display:block; }
.lwy-art-directed.root-home #how .flow p,
.lwy-art-directed.root-home #how .flow b,
.lwy-art-directed.root-home #how .how-start { color:#F7F3EA!important; }
.lwy-art-directed.root-home #how .flow p { line-height:1.55; }
.lwy-art-directed.root-home #how .how-start { margin-top:24px!important; opacity:1!important; }
.lwy-art-directed :is(.btn,.btn-primary,button,[type=button],[type=submit]) { border-radius:999px!important; }
.lwy-art-directed.root-home #simulate .cta-row .btn {
  min-height:54px!important; padding:14px 24px!important; border-radius:999px!important;
}
@media(max-width:900px) {
  .lwy-art-directed.root-home #simulate .retry-title,
  .lwy-art-directed.root-home #how .steps-title { font-size:clamp(2.3rem,6vw,3.7rem)!important; }
}
@media(max-width:600px) {
  .lwy-art-directed.root-home #simulate .retry-title,
  .lwy-art-directed.root-home #how .steps-title { font-size:clamp(2rem,8vw,3rem)!important; line-height:1.08!important; }
  .lwy-art-directed.root-home #simulate .retry-title span,
  .lwy-art-directed.root-home #how .steps-title span { display:block; }
  .lwy-art-directed.root-home #simulate .sim-demo { margin-top:20px; }
}


/* Editorial hierarchy for comparison, honest scoring, and research transparency. */
.lwy-art-directed.root-home #compare .pushback-title {
  max-width:none!important;
  font-size:clamp(2.35rem,4.05vw,4.1rem)!important;
  line-height:1.06!important;
  letter-spacing:-.045em;
  text-wrap:balance;
  margin-bottom:28px!important;
}
.lwy-art-directed.root-home #compare .pushback-title span { display:block; }
.lwy-art-directed.root-home #compare .pushback-title em {
  color:#604531!important;
  font-family:"Playfair Display",Georgia,serif!important;
  font-style:italic!important;
  font-weight:600!important;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.lwy-art-directed.root-home #compare .vs th.us,
.lwy-art-directed.root-home #compare .vs td.us {
  background:#FBE39D!important;
  color:#402B1F!important;
  font-weight:700!important;
  border-color:#E5C96E!important;
}
.lwy-art-directed.root-home #compare .vs thead th.us { color:#402B1F!important; }
.lwy-art-directed.root-home .scoring-title {
  max-width:none!important;
  font-size:clamp(2.35rem,4.05vw,4.1rem)!important;
  line-height:1.06!important;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.lwy-art-directed.root-home .scoring-title span { display:block; }
.lwy-art-directed.root-home .scoring-title strong {
  color:#47766F!important;
  font-weight:inherit!important;
}
.lwy-art-directed.root-home #proof > .wrap > .lead br { display:block; }
@media(max-width:900px) {
  .lwy-art-directed.root-home #compare .pushback-title,
  .lwy-art-directed.root-home .scoring-title { font-size:clamp(2.2rem,5.8vw,3.6rem)!important; }
}
@media(max-width:600px) {
  .lwy-art-directed.root-home #compare .pushback-title,
  .lwy-art-directed.root-home .scoring-title {
    font-size:clamp(1.9rem,7.8vw,2.8rem)!important;
    line-height:1.1!important;
  }
  .lwy-art-directed.root-home #compare .pushback-title span,
  .lwy-art-directed.root-home .scoring-title span { display:block; }
  .lwy-art-directed.root-home #compare .pushback-title em { white-space:normal; }
}


/* 2026-10-13 homepage pass: seafoam comparison, calmer FAQ grid, centered CTA, mobile footer. */
.lwy-art-directed.root-home #compare .vs th.us,
.lwy-art-directed.root-home #compare .vs td.us {
  background:#D7DEEB!important;
  color:#302219!important;
  border-color:#A5C8C3!important;
}
.lwy-art-directed.root-home #compare .vs th.us { font-weight:800!important; }
.lwy-art-directed.root-home .scoring-title strong {
  color:#604531!important;
}
.lwy-art-directed.root-home .faq-home .faq-home-head {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  column-gap:20px;
  row-gap:4px;
  margin-bottom:24px;
}
.lwy-art-directed.root-home .faq-home .faq-home-head .eyebrow { margin:0; }
.lwy-art-directed.root-home .faq-home .faq-home-head h2 {
  margin:0!important;
  max-width:none!important;
  font-size:clamp(1.65rem,2.5vw,2.5rem)!important;
  line-height:1.12!important;
  color:#302219!important;
}
.lwy-art-directed.root-home .faq-home .faq-home-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(28px,5vw,72px);
  row-gap:26px;
}
.lwy-art-directed.root-home .faq-home .faq-home-item {
  min-width:0;
  padding:0 0 22px;
  border-bottom:1px solid #D9CFC2;
}
.lwy-art-directed.root-home .faq-home .faq-home-item h3 {
  margin:0 0 7px!important;
  font-family:"Archivo","Rethink Sans",sans-serif!important;
  font-size:1.15rem!important;
  line-height:1.25!important;
  color:#302219!important;
}
.lwy-art-directed.root-home .faq-home .faq-home-item p {
  margin:0!important;
  color:#604531!important;
  line-height:1.62!important;
  max-width:60ch;
}
.lwy-art-directed.root-home .faq-home .faq-home-item p a {
  color:#604531!important;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.lwy-art-directed.root-home .faq-home .faq-home-links {
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin-top:24px;
}
.lwy-art-directed.root-home .cta-band .wrap {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.lwy-art-directed.root-home .cta-band .final-cta-title {
  width:100%;
  max-width:100%!important;
  text-align:center!important;
  margin:0 auto 18px!important;
  font-family:"Archivo","Rethink Sans",sans-serif!important;
  font-size:clamp(2.5rem,5vw,4.5rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.lwy-art-directed.root-home .cta-band .final-cta-title span { display:block; }
.lwy-art-directed.root-home .cta-band .lead {
  color:#604531!important;
  max-width:72ch;
  margin:0 auto 8px!important;
}
.lwy-art-directed.root-home .cta-band .cta-row { justify-content:center; }
.lwy-art-directed.root-home .cta-band .cta-row .btn {
  min-height:54px!important;
  padding:14px 24px!important;
  border-radius:999px!important;
}
.lwy-art-directed.root-home .site-footer {
  background:#302219!important;
  color:#F7F3EA!important;
  border-top:0!important;
  padding:32px 0 max(32px,env(safe-area-inset-bottom))!important;
}
.lwy-art-directed.root-home .site-footer .wrap {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 22px;
}
.lwy-art-directed.root-home .site-footer .footer-brand {
  color:#F7F3EA!important;
  font-size:26px!important;
  font-family:"Archivo","Rethink Sans",sans-serif!important;
  font-weight:800!important;
  margin-right:12px;
}
.lwy-art-directed.root-home .site-footer .footer-brand span { color:#F7F3EA!important; }
.lwy-art-directed.root-home .site-footer .footer-links {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:1 1 620px;
  flex-wrap:wrap;
  gap:10px 20px;
}
.lwy-art-directed.root-home .site-footer a,
.lwy-art-directed.root-home .site-footer .footer-copy {
  color:#F7F3EA!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-size:14px;
  line-height:1.45;
}
.lwy-art-directed.root-home .site-footer a:hover { color:#FBE39D!important; }
.lwy-art-directed.root-home .site-footer .footer-support { white-space:nowrap; }
@media(max-width:760px) {
  .lwy-art-directed.root-home .faq-home .faq-home-head {
    display:block;
    margin-bottom:22px;
  }
  .lwy-art-directed.root-home .faq-home .faq-home-head .eyebrow { margin-bottom:6px; }
  .lwy-art-directed.root-home .faq-home .faq-home-head h2 { font-size:clamp(1.8rem,6vw,2.4rem)!important; }
  .lwy-art-directed.root-home .faq-home .faq-home-grid {
    grid-template-columns:minmax(0,1fr);
    row-gap:20px;
  }
  .lwy-art-directed.root-home .faq-home .faq-home-item { padding-bottom:18px; }
  .lwy-art-directed.root-home .cta-band .final-cta-title { font-size:clamp(2rem,8vw,3rem)!important; line-height:1.08!important; }
  .lwy-art-directed.root-home .cta-band .final-cta-title span { display:block; }
  .lwy-art-directed.root-home .site-footer { padding:28px 0 max(28px,env(safe-area-inset-bottom))!important; }
  .lwy-art-directed.root-home .site-footer .wrap {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:start;
    gap:18px 16px;
  }
  .lwy-art-directed.root-home .site-footer .footer-brand {
    grid-column:1/-1;
    margin:0;
    justify-self:start;
  }
  .lwy-art-directed.root-home .site-footer .footer-links {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 16px;
    justify-content:stretch;
  }
  .lwy-art-directed.root-home .site-footer .footer-links a { overflow-wrap:anywhere; }
  .lwy-art-directed.root-home .site-footer .footer-support {
    grid-column:1/-1;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .lwy-art-directed.root-home .site-footer .footer-copy { grid-column:1/-1; }
}

/* Follow-up homepage refinements: snow-blue Luwy column, stacked section heading, high-value FAQs. */
.lwy-art-directed.root-home #compare .vs th.us,
.lwy-art-directed.root-home #compare .vs td.us { background:#D7DEEB!important; color:#302219!important; border-color:#B8C5D8!important; }
.lwy-art-directed.root-home #compare .vs th.us { font-weight:800!important; }
.lwy-art-directed.root-home #compare .vs th[scope="row"] { vertical-align:top; }
.lwy-art-directed.root-home .faq-home .faq-home-head { display:block!important; margin-bottom:26px!important; }
.lwy-art-directed.root-home .faq-home .faq-home-head .eyebrow { display:block; margin:0 0 8px!important; }
.lwy-art-directed.root-home .faq-home .faq-home-head h2 { display:block; margin:0!important; max-width:18ch!important; font-size:clamp(2rem,3.4vw,3.25rem)!important; line-height:1.08!important; }
.lwy-art-directed.root-home .faq-home .keep-together { white-space:nowrap; }
.lwy-art-directed.root-home .cta-band .final-cta-title strong { font-weight:900!important; }
@media(max-width:760px) { .lwy-art-directed.root-home .faq-home .faq-home-head h2 { max-width:20ch!important; font-size:clamp(1.9rem,7vw,2.6rem)!important; } }

/* Keep complete pricing labels together; let ordinary FAQ sentences wrap naturally. */
.lwy-art-directed.root-home .faq-home .keep-together { white-space:nowrap; }


/* Enforce the cream wordmark in the cocoa footer, including the pseudo-element dot. */
html body.lwy-art-directed.root-home footer.site-footer .wrap > a.brand.footer-brand,
html body.lwy-art-directed.root-home footer.site-footer .wrap > a.brand.footer-brand span {
  color:#F7F3EA!important;
  -webkit-text-fill-color:#F7F3EA!important;
  opacity:1!important;
}
html body.lwy-art-directed.root-home footer.site-footer .wrap > a.brand.footer-brand::after {
  color:#FBE39D!important;
  -webkit-text-fill-color:#FBE39D!important;
}


/* Site-wide footer brand lockup: cream lettering, butter-yellow dot, cocoa background. */
html body footer.site-footer {
  background:#302219!important;
  color:#F7F3EA!important;
  border-top:0!important;
}
html body footer.site-footer a.brand,
html body footer.site-footer a.brand span {
  color:#F7F3EA!important;
  -webkit-text-fill-color:#F7F3EA!important;
  opacity:1!important;
  text-decoration:none!important;
}
html body footer.site-footer a.brand::after {
  color:#FBE39D!important;
  -webkit-text-fill-color:#FBE39D!important;
}
html body footer.site-footer a:not(.brand),
html body footer.site-footer span:not(.brand span) {
  color:#F7F3EA!important;
}
html body footer.site-footer a:not(.brand):hover {
  color:#FBE39D!important;
}

/* Homepage hero: restore the generous reference gutter and natural copy wrapping. */
@media (min-width:641px) {
  .lwy-art-directed.root-home .hero-grid { width:min(calc(100% - 92px),1240px)!important; }
}
.lwy-art-directed.root-home .hero .lead .keep-together { white-space:normal!important; }
.lwy-art-directed.root-home .site-nav .actions .btn { border-radius:16px!important; padding:12px 22px!important; }


/* Footer: retain the approved cocoa header colour and real cream wordmark. */
body.lwy-art-directed footer.site-footer {
 background:#2F2219!important; color:#F7F3EA!important; border-top:1px solid rgba(247,243,234,.16)!important;
}
body.lwy-art-directed footer.site-footer a,
body.lwy-art-directed footer.site-footer span { color:#F7F3EA!important; }
body.lwy-art-directed footer.site-footer a:hover { color:#FBE39D!important; }
body.lwy-art-directed footer.site-footer .footer-brand {
 display:inline-flex!important; align-items:center!important; flex:0 0 78px!important; width:78px!important; min-width:78px!important; height:32px!important; padding:0!important; overflow:hidden!important; background:none!important; color:transparent!important; font-size:0!important; line-height:0!important;
}
body.lwy-art-directed footer.site-footer .footer-brand img {
 display:block!important; width:78px!important; height:32px!important; object-fit:contain!important; object-position:left center!important;
}


/* Final targeted polish requested 13 Oct 2026: hero hierarchy, natural copy,
   honest scoring language, shorter navigation controls and image-only footer logo. */
@media (min-width:1101px) {
  .lwy-art-directed.root-home .hero h1 {
    font-size:clamp(2.6rem,4vw,4.25rem)!important;
    line-height:1.02!important;
    margin-bottom:20px!important;
  }
  .lwy-art-directed.root-home .hero h1 .hero-title-line,
  .lwy-art-directed.root-home .hero h1 .hero-title-line strong {
    font-weight:750!important;
    font-variation-settings:"wdth" 110,"wght" 750!important;
    letter-spacing:-.055em!important;
  }
}
.lwy-art-directed.root-home .hero .lead > span {
  display:inline!important;
  margin:0!important;
}
.lwy-art-directed.root-home .hero .lead .response-line {
  display:block!important;
  margin-top:2px!important;
}
.lwy-art-directed.root-home .hero .lead {
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:pretty!important;
}
.lwy-art-directed.root-home .site-nav .actions .btn,
.lwy-art-directed.pain-points-page .site-nav .actions .btn,
.lwy-art-directed.root-home .site-nav .wrap > .lwy-back,
.lwy-art-directed.pain-points-page .site-nav .wrap > .lwy-back {
  height:44px!important;
  min-height:44px!important;
  padding:0 19px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.lwy-art-directed.root-home footer.site-footer .footer-brand::before,
.lwy-art-directed.root-home footer.site-footer .footer-brand::after,
.lwy-art-directed.pain-points-page footer.site-footer .footer-brand::before,
.lwy-art-directed.pain-points-page footer.site-footer .footer-brand::after {
  content:none!important;
  display:none!important;
}
.lwy-art-directed.root-home footer.site-footer .footer-brand,
.lwy-art-directed.pain-points-page footer.site-footer .footer-brand {
  background:none!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
}
.lwy-art-directed.root-home footer.site-footer .footer-brand img,
.lwy-art-directed.pain-points-page footer.site-footer .footer-brand img {
  display:block!important;
  width:78px!important;
  height:32px!important;
  object-fit:contain!important;
}
@media(max-width:640px) {
  .lwy-art-directed.root-home .site-nav .actions .btn,
  .lwy-art-directed.pain-points-page .site-nav .actions .btn,
  .lwy-art-directed.root-home .site-nav .wrap > .lwy-back,
  .lwy-art-directed.pain-points-page .site-nav .wrap > .lwy-back {
    height:42px!important;
    min-height:42px!important;
    padding:0 15px!important;
  }
}


/* Responsive repair: preserve requested copy groups, show both practice attempts,
   and make the comparison usable without horizontal scrolling on tablets/phones. */
.lwy-art-directed.root-home #problems .problem-title .problem-arrives { white-space:normal; }
.lwy-art-directed.root-home #problems .quote-row q,
.lwy-art-directed.pain-points-page .quote-row q,
.lwy-art-directed.pain-points-page .quote-row q * { color:#604531!important; }
.lwy-art-directed.pain-points-page h1 .pain-wrong {
  color:#604531!important; font-family:"Playfair Display",Georgia,serif!important;
  font-style:italic!important; font-weight:600!important; letter-spacing:-.045em!important;
}
.lwy-art-directed.root-home #simulate .lead .response-line {
  display:inline!important; white-space:nowrap!important; margin:0!important;
}
.lwy-art-directed.root-home #simulate .lead .response-line::before { content:" "; }
@media(max-width:900px) {
  .lwy-art-directed.root-home #simulate .sim-demo {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important; align-items:stretch!important;
  }
  .lwy-art-directed.root-home #simulate .sim-demo > .preview,
  .lwy-art-directed.root-home #simulate .sim-demo > .preview:first-child,
  .lwy-art-directed.root-home #simulate .sim-demo > .preview:last-child {
    display:block!important; visibility:visible!important; opacity:1!important;
    width:100%!important; min-width:0!important; max-width:none!important;
    position:relative!important; order:initial!important; transform:none!important;
  }
  .lwy-art-directed.root-home #simulate .sim-demo > .preview:first-child { order:1!important; }
  .lwy-art-directed.root-home #simulate .sim-demo > .sim-step { order:2!important; max-width:none!important; }
  .lwy-art-directed.root-home #simulate .sim-demo > .preview:last-child { order:3!important; }
  .lwy-art-directed.root-home .hero .lead .keep-together,
  .lwy-art-directed.root-home .hero-trial-copy .keep-together { white-space:nowrap!important; }
  .lwy-art-directed.root-home #problems .problem-title .problem-arrives {
    white-space:nowrap!important; font-size:clamp(1.5rem,6.2vw,2.15rem)!important;
    letter-spacing:-.055em!important;
  }
  .lwy-art-directed.root-home #compare .vs-wrap {
    overflow:visible!important; border:0!important; background:transparent!important;
  }
  .lwy-art-directed.root-home #compare .vs,
  .lwy-art-directed.root-home #compare .vs tbody {
    display:block!important; width:100%!important; min-width:0!important; border:0!important;
  }
  .lwy-art-directed.root-home #compare .vs thead { display:none!important; }
  .lwy-art-directed.root-home #compare .vs tr {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:0!important;
    margin:0 0 14px!important; overflow:hidden!important; border:1px solid #D9D2C8!important;
    border-radius:16px!important; background:#FBF8F2!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > th[scope="row"] {
    display:block!important; width:auto!important; padding:15px 16px!important; border:0!important;
    border-bottom:1px solid #D9D2C8!important; background:#F1E8DB!important;
    color:#302219!important; text-align:left!important; font-size:15px!important; line-height:1.35!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > td {
    display:flex!important; align-items:baseline!important; justify-content:space-between!important;
    gap:14px!important; width:auto!important; min-width:0!important; padding:11px 16px!important;
    border:0!important; border-bottom:1px solid #E7E1D8!important; background:transparent!important;
    color:#5F5147!important; text-align:right!important; overflow-wrap:anywhere!important;
    font-size:14px!important; line-height:1.4!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > td::before {
    content:attr(data-l); flex:0 1 48%!important; min-width:0!important;
    color:#6E6258!important; font-weight:600!important; text-align:left!important; overflow-wrap:anywhere!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > td.us {
    background:#D7DEEB!important; color:#302219!important; border:0!important;
    border-top:1px solid #B8D1CB!important; font-weight:800!important; text-align:right!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > td.us::before { color:#604531!important; font-weight:800!important; }
  .lwy-art-directed.root-home #compare .vs tr > td:last-child { border-bottom:0!important; }
}
@media(max-width:600px) {
  .lwy-art-directed.root-home #problems .problem-title .problem-arrives {
    font-size:clamp(1.45rem,6.1vw,1.8rem)!important; letter-spacing:-.06em!important;
  }
}
/* App Settings: keep rendered settings visible on mobile/tablet layouts. */
@media(max-width:860px) {
  html.lwy-is-app #content { display:block!important; visibility:visible!important; opacity:1!important; min-height:40vh; }
  html.lwy-is-app #content > .page { display:block!important; visibility:visible!important; opacity:1!important; }
  html.lwy-is-app #content .st-group { visibility:visible; }
  html.lwy-is-app #content .st-group[hidden] { display:none!important; }
}


/* CTA and comparison finishing details requested from the mobile reference. */
@media(max-width:860px) {
  .lwy-art-directed.root-home .hero .cta-row .btn.primary.lg {
    border-radius:26px!important;
  }
  .lwy-art-directed.root-home #compare .vs th.us,
  .lwy-art-directed.root-home #compare .vs td.us {
    background:#D7DEEB!important;
    color:#302219!important;
    border-color:#B8C5D8!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > td.us {
    border-top:1px solid #B8C5D8!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > th[scope="row"] {
    border-radius:12px 12px 0 0!important;
  }
  .lwy-art-directed.root-home #compare .vs tr > td.us::before {
    color:#302219!important;
    background:#D7DEEB!important;
  }
}
@media(min-width:861px) {
  .lwy-art-directed.root-home #compare .vs th.us,
  .lwy-art-directed.root-home #compare .vs td.us {
    background:#D7DEEB!important;
    color:#302219!important;
    border-color:#B8C5D8!important;
  }
  .lwy-art-directed.root-home #compare .vs th.us { border-radius:12px 12px 0 0!important; }
  .lwy-art-directed.root-home #compare .vs td.us { border-radius:0!important; }
}


/* One consistent blue fill for the complete Luwy comparison column. */
.lwy-art-directed.root-home #compare .vs th.us,
.lwy-art-directed.root-home #compare .vs td.us,
.lwy-art-directed.root-home #compare .vs td.us::before {
  background:#D7DEEB!important;
  color:#302219!important;
}
@media(max-width:900px) {
  .lwy-art-directed.root-home #compare .vs tr > td.us::before { background:transparent!important; }
}


/* Mobile nav: body carries both art-direction and page classes, so scope them
   on the same element. The open class is applied to #siteNav by site.js. */
@media(max-width:900px) {
  body.lwy-art-directed .site-nav.open .wrap nav,
  body.lwy-art-directed .site-nav.open .wrap .actions {
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body.lwy-art-directed .site-nav.open .wrap nav {
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
  }
  body.lwy-art-directed .site-nav.open .wrap nav a {
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:46px!important;
    align-items:center!important;
    color:#F7F3EA!important;
  }
  body.lwy-art-directed.root-home .site-nav.open .wrap .actions a {
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* Mobile comparison: each question heading is a complete rounded card,
   and the Luwy result stays readable on one line where space allows. */
@media(max-width:900px) {
  body.lwy-art-directed.root-home #compare .vs tr > th[scope="row"] {
    border:1px solid #D9D2C8!important;
    border-radius:14px!important;
    margin:0 0 8px!important;
    background:#F1E8DB!important;
  }
  body.lwy-art-directed.root-home #compare .vs tr > td.us {
    white-space:nowrap!important;
    font-size:clamp(11px,3.1vw,14px)!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  body.lwy-art-directed.root-home #compare .vs tr > td.us::before {
    background:transparent!important;
    flex:0 0 auto!important;
  }
}


/* App settings on phone and tablet: the app body does not use an html.lwy-is-app
   class. Target the actual app markup so Settings/Me cannot inherit a hidden state. */
@media(max-width:1024px) {
  body.lwy-art-directed #content,
  body.lwy-art-directed #content > .page {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:40vh!important;
  }
  body.lwy-art-directed #content > .page .page-head,
  body.lwy-art-directed #content > .page .st-group,
  body.lwy-art-directed #content > .page .st-group > *,
  body.lwy-art-directed #content > .page .st-card,
  body.lwy-art-directed #content > .page .st-row {
    visibility:visible!important;
    opacity:1!important;
  }
  body.lwy-art-directed #content > .page .st-group[hidden] {
    display:none!important;
  }
  body.lwy-art-directed #content > .page .st-group:not([hidden]) {
    display:block!important;
  }
}


/* Mobile comparison: keep each label/value on one line and round the entire Luwy row. */
@media(max-width:640px){
  body.lwy-art-directed.root-home #compare .vs tr > td{
    gap:8px!important;
    padding:11px 12px!important;
    font-size:12.5px!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.lwy-art-directed.root-home #compare .vs tr > td::before{
    flex:0 0 44%!important;
    max-width:44%!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    font-size:12px!important;
  }
  body.lwy-art-directed.root-home #compare .vs tr > td.us{
    border-radius:12px!important;
    margin:0 0 2px!important;
  }
  body.lwy-art-directed.root-home #compare .vs tr > th[scope="row"]{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    padding:13px 12px!important;
    font-size:14px!important;
  }
}


/* Mobile headline consistency: both lines must use the exact same type size and tracking. */
@media (max-width: 600px) {
  .lwy-art-directed.root-home #problems .problem-title > span,
  .lwy-art-directed.root-home #problems .problem-title > span.problem-arrives {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    font-weight: inherit !important;
  }
}


/* Hard moments page: align hero copy to the same safe content gutter as the rest of the page. */
.lwy-art-directed.pain-points-page .hero > .wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding-inline: clamp(24px, 5vw, 72px) !important;
}
.lwy-art-directed.pain-points-page .hero h1,
.lwy-art-directed.pain-points-page .hero .lead {
  max-width: 22ch;
}
@media (max-width: 600px) {
  .lwy-art-directed.pain-points-page .hero > .wrap {
    padding-inline: 24px !important;
  }
  .lwy-art-directed.pain-points-page .hero h1,
  .lwy-art-directed.pain-points-page .hero .lead {
    max-width: 100%;
  }
}


/* Shared marketing typography: let page titles use the available content width without touching viewport edges. */
body.lwy-art-directed:not(.onboarding-page) .hero h1,
body.lwy-art-directed:not(.onboarding-page) .hero h2,
body.lwy-art-directed:not(.onboarding-page) main > section h1,
body.lwy-art-directed:not(.onboarding-page) main > section h2 {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box;
}
body.lwy-art-directed:not(.onboarding-page) .hero > .wrap,
body.lwy-art-directed:not(.onboarding-page) main > section > .wrap {
  box-sizing: border-box;
  padding-inline: clamp(24px, 5vw, 72px);
}
@media (max-width: 600px) {
  body.lwy-art-directed:not(.onboarding-page) .hero > .wrap,
  body.lwy-art-directed:not(.onboarding-page) main > section > .wrap {
    padding-inline: 24px !important;
  }
  body.lwy-art-directed:not(.onboarding-page) .hero h1,
  body.lwy-art-directed:not(.onboarding-page) main > section h1 {
    overflow-wrap: normal;
    text-wrap: balance;
  }
}

/* Centre each page's closing headline consistently on desktop and mobile; use Archivo display typography. */
body.lwy-art-directed .final-cta-title,
body.lwy-art-directed .cta-band h2,
body.lwy-art-directed .closing-cta h1,
body.lwy-art-directed .closing-cta h2,
body.lwy-art-directed .end-cta h1,
body.lwy-art-directed .end-cta h2,
body.lwy-art-directed .last-cta h1,
body.lwy-art-directed .last-cta h2,
body.lwy-art-directed .still-deciding h1,
body.lwy-art-directed .still-deciding h2 {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  text-align: center !important;
  font-family: "Archivo", var(--lwy-font-display), system-ui, sans-serif !important;
}
body.lwy-art-directed .final-cta-title > span {
  display: block;
  text-align: center !important;
}


/* Fallback for page-specific closing sections that use different component names. */
body.lwy-art-directed main > section:last-of-type :is(h1, h2),
body.lwy-art-directed main > div > section:last-of-type :is(h1, h2),
body.lwy-art-directed main section:last-of-type :is(.section-title, .section-heading, .final-title) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  text-align: center !important;
  font-family: "Archivo", var(--lwy-font-display), system-ui, sans-serif !important;
}
