/* Letras Bonitas — editorial page chrome. Serif display, hairlines, generous whitespace. */
:root{
	--page-bg:#FFFFFF; --page-surface:#FFFFFF; --page-ink:#1A1A1E; --page-muted:#6B6B73; --page-line:#E5E5E9; --page-accent:#A62D52; --hero-bg:#F5F5F7;
	--serif:ui-serif,Georgia,"Times New Roman",serif;
	--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
	:root{ --page-bg:#15120F; --page-surface:#1F1A16; --page-ink:#F1ECE6; --page-muted:#B0A79E; --page-line:#3A332D; --page-accent:#E8859C; --hero-bg:#0F0C0A; }
}
:root[data-theme="light"]{ --page-bg:#FFFFFF; --page-surface:#FFFFFF; --page-ink:#1A1A1E; --page-muted:#6B6B73; --page-line:#E5E5E9; --page-accent:#A62D52; --hero-bg:#F5F5F7; }
:root[data-theme="dark"]{ --page-bg:#15120F; --page-surface:#1F1A16; --page-ink:#F1ECE6; --page-muted:#B0A79E; --page-line:#3A332D; --page-accent:#E8859C; --hero-bg:#0F0C0A; }

body{ background:var(--page-bg); color:var(--page-ink); margin:0; font-family:var(--sans); }
h1,h2,h3{ font-family:var(--serif); font-weight:600; }

.lb-header{ position:sticky; top:0; z-index:50; padding:18px max(24px,calc((100% - 1200px) / 2)); border-bottom:1px solid var(--page-line); background:color-mix(in srgb,var(--page-bg) 90%,transparent); backdrop-filter:blur(9px); }
.lb-brand{ text-decoration:none; font-family:var(--serif); font-size:22px; font-weight:600; letter-spacing:-.01em; display:inline-flex; align-items:baseline; gap:2px; color:var(--page-ink); }
.lb-brand .acc{ color:var(--page-accent); font-style:italic; }
.lb-brand span{ font-family:var(--sans); color:var(--page-muted); font-size:12px; font-weight:500; letter-spacing:.02em; }

.lb-hero{ padding:56px 24px 48px; background:var(--hero-bg); border-bottom:1px solid var(--page-line); }
.lb-hero-grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.25fr .75fr; gap:46px; align-items:center; }
.lb-hero-text{ text-align:left; }
.lb-eyebrow{ font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--page-muted); margin:0 0 16px; }
.lb-h1{ font-family:var(--serif); font-size:clamp(30px,4vw,44px); font-weight:600; line-height:1.08; letter-spacing:-.02em; margin:0 0 18px; color:var(--page-ink); text-wrap:pretty; }
.lb-h1 .g{ color:var(--page-accent); font-style:italic; }
.lb-tag{ font-family:var(--serif); font-style:italic; color:var(--page-muted); max-width:42ch; margin:0; font-size:16.5px; line-height:1.55; }
.lb-tag .demo{ font-style:normal; color:var(--page-accent); font-weight:600; }
.lb-hero-demo{ display:flex; justify-content:center; }
.lb-demo-panel{ width:100%; border:1px solid var(--page-line); border-radius:18px; background:var(--page-surface); padding:40px 24px 24px; text-align:center; overflow:hidden; }
.lb-demo{ display:flex; justify-content:center; align-items:center; min-height:1.3em; }
.lb-demo-word{ font-size:clamp(34px,4.2vw,52px); line-height:1.15; color:var(--page-accent); white-space:nowrap; transition:opacity .34s ease,transform .34s ease,filter .34s ease; will-change:opacity,transform,filter; }
.lb-demo-word.out{ opacity:0; transform:translateY(12px) scale(.97); filter:blur(5px); }
.lb-demo-name{ margin-top:18px; font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--page-muted); min-height:1.2em; }
@media (max-width:860px){
	.lb-hero{ padding:44px 20px 28px; }
	.lb-hero-grid{ grid-template-columns:1fr; gap:26px; max-width:520px; }
	.lb-hero-text{ text-align:center; }
	.lb-tag{ margin:0 auto; }
	.lb-demo-word{ font-size:clamp(36px,9vw,54px); }
}

/* Interior pages: the generator (alignfull) breaks out of the 880px content
   column and spans the full viewport, exactly like the homepage. overflow-x:clip
   removes the scrollbar-induced overflow without breaking the sticky header. */
body{ overflow-x:clip; }
.wp-block-post-content.is-layout-constrained > .alignfull{
	width:100vw; max-width:100vw;
	margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
/* the generator's inner shell keeps the same max width as on the homepage */
.wp-block-post-content .lbg{ margin-inline:auto; }

/* Matte-black footer — sharp contrast against the white pages. Always dark. */
.lb-footer{ margin-top:76px; background:#141417; border-top:3px solid var(--page-accent); color:#9A9AA2; padding:56px clamp(20px,5vw,64px) 0; font-size:13.5px; line-height:1.55; }
.lb-footer-inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.15fr 2.35fr; gap:44px 56px; padding-bottom:44px; }
.lb-footer-logo{ font-family:var(--serif); font-size:24px; font-weight:600; letter-spacing:-.01em; color:#fff; text-decoration:none; display:inline-flex; align-items:baseline; gap:2px; }
.lb-footer-logo i{ color:#EC8BA6; font-style:italic; }
.lb-footer-logo span{ font-family:var(--sans); font-size:12px; font-weight:500; color:#72727B; }
.lb-footer-desc{ margin:16px 0 0; font-family:var(--serif); font-style:italic; font-size:14.5px; line-height:1.65; color:#8B8B94; max-width:34ch; }
.lb-footer-desc b{ color:#EAEAEE; font-weight:600; font-style:normal; }
.lb-footer-cols{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px 24px; }
.lb-fcol h3{ font-family:var(--sans); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; color:#fff; margin:0 0 15px; }
.lb-fcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.lb-fcol a{ text-decoration:none; color:#9A9AA2; font-size:13.5px; line-height:1.35; transition:color .16s; }
.lb-fcol a:hover{ color:#fff; }
.lb-footer-bar{ max-width:1200px; margin:0 auto; border-top:1px solid rgba(255,255,255,.09); padding:20px 0 28px; display:flex; justify-content:space-between; align-items:center; gap:10px 20px; flex-wrap:wrap; font-size:12.5px; color:#72727B; }
.lb-footer-bar a{ color:#72727B; text-decoration:none; }
.lb-footer-bar a:hover{ color:#fff; }
@media (max-width:820px){ .lb-footer-inner{ grid-template-columns:1fr; gap:34px; padding-bottom:38px; } }
@media (max-width:560px){ .lb-footer-cols{ grid-template-columns:repeat(2,1fr); gap:26px 18px; } .lb-footer-bar{ justify-content:center; text-align:center; } }

/* primary nav */
.lb-nav{ display:flex; gap:22px; overflow-x:auto; scrollbar-width:none; align-items:center; }
.lb-nav::-webkit-scrollbar{ display:none; }
.lb-nav a{ white-space:nowrap; text-decoration:none; color:var(--page-muted); font-size:14px; font-weight:600; transition:color .2s; }
.lb-nav a:hover{ color:var(--page-accent); }
@media (max-width:760px){ .lb-header{ flex-wrap:wrap; gap:10px } .lb-nav{ width:100%; gap:18px } }

/* content-page components (lede / native FAQ Details blocks / related links) */
.lb-lede{ font-family:var(--serif); font-size:19px; line-height:1.5; color:var(--page-ink); }
.wp-block-details{ border-bottom:1px solid var(--page-line); }
.wp-block-details summary{ cursor:pointer; font-weight:600; font-size:16px; padding:15px 30px 15px 0; list-style:none; color:var(--page-ink); position:relative; }
.wp-block-details summary::-webkit-details-marker{ display:none; }
.wp-block-details summary::after{ content:"+"; position:absolute; right:2px; top:13px; color:var(--page-accent); font-size:22px; font-weight:400; line-height:1; }
.wp-block-details[open] summary::after{ content:"\2013"; }
.wp-block-details > :not(summary){ color:var(--page-muted); line-height:1.65; padding-bottom:14px; }
.wp-block-details strong{ color:var(--page-ink); }
.lb-related-links{ line-height:2; }
.lb-related-links a{ color:var(--page-accent); text-decoration:none; font-weight:600; }
.lb-related-links a:hover{ text-decoration:underline; }

.theme-toggle{ position:fixed; top:15px; right:18px; z-index:60; width:38px; height:38px; border-radius:8px; border:1px solid var(--page-line); background:var(--page-bg); color:var(--page-ink); font-size:16px; line-height:1; cursor:pointer; display:grid; place-items:center; transition:border-color .2s; }
.theme-toggle:hover{ border-color:var(--page-accent); }
.theme-toggle:active{ transform:scale(.93); }

@media (prefers-reduced-motion:reduce){ *{ transition:none !important } }

/* ==================================================================== *
 *  Homepage sections + blog (cards, single, archive) + related cards
 * ==================================================================== */

/* --- section rhythm --- */
.lb-band-alt{ background:var(--hero-bg); }
.lb-band + .lb-band .lb-sec, .lb-band-alt + .lb-band .lb-sec{ }
.lb-sec{ max-width:1200px; margin:0 auto; padding:clamp(52px,7vw,84px) clamp(18px,4vw,50px); }
.lb-sec-head{ max-width:680px; margin:0 auto clamp(30px,4vw,46px); text-align:center; }
.lb-sec-eyebrow{ font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--page-accent); margin:0 0 14px; }
.lb-sec-title{ font-family:var(--serif); font-size:clamp(25px,3.3vw,36px); font-weight:600; line-height:1.14; letter-spacing:-.02em; margin:0 0 12px; color:var(--page-ink); text-wrap:balance; }
.lb-sec-sub{ font-family:var(--serif); font-style:italic; font-size:16.5px; line-height:1.55; color:var(--page-muted); margin:0; }
.lb-left{ text-align:left; }
.lb-sec-foot{ text-align:center; margin:34px 0 0; }
.lb-sec-foot a{ color:var(--page-accent); font-weight:600; text-decoration:none; }
.lb-sec-foot a:hover{ text-decoration:underline; }

/* --- how it works --- */
.lb-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lb-step{ padding:30px 26px; border:1px solid var(--page-line); border-radius:16px; background:var(--page-surface); }
.lb-step-n{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--page-accent); color:#fff; font-family:var(--serif); font-weight:700; font-size:16px; margin-bottom:18px; }
.lb-step h3{ font-family:var(--serif); font-size:19px; margin:0 0 8px; color:var(--page-ink); }
.lb-step p{ margin:0; color:var(--page-muted); font-size:14.5px; line-height:1.6; }

/* --- popular styles --- */
.lb-styles{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.lb-style{ display:flex; flex-direction:column; gap:10px; padding:26px 22px; border:1px solid var(--page-line); border-radius:16px; background:var(--page-surface); text-decoration:none; transition:border-color .16s, transform .16s, box-shadow .16s; }
.lb-style:hover{ border-color:var(--page-accent); transform:translateY(-3px); box-shadow:0 20px 42px -30px rgba(0,0,0,.4); }
.lb-style-spec{ font-size:27px; line-height:1.25; color:var(--page-ink); min-height:1.3em; overflow:hidden; white-space:nowrap; }
.lb-style-name{ font-family:var(--sans); font-size:13px; font-weight:600; color:var(--page-ink); }
.lb-style-go{ font-family:var(--sans); font-size:12.5px; font-weight:600; color:var(--page-accent); margin-top:2px; }
.lb-style-cta{ background:var(--page-ink); border-color:var(--page-ink); }
.lb-style-cta .lb-style-spec{ color:#fff; font-family:var(--serif); font-weight:700; }
.lb-style-cta .lb-style-name{ color:#fff; }
.lb-style-cta .lb-style-go{ color:#fff; opacity:.85; }
:root[data-theme="dark"] .lb-style-cta, .lb-style-cta{ }

/* --- use case (image + platforms) --- */
.lb-usecase{ display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(28px,4vw,52px); align-items:center; }
.lb-usecase-media{ border-radius:20px; overflow:hidden; border:1px solid var(--page-line); aspect-ratio:1/1; }
.lb-usecase-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.lb-usecase-body .lb-sec-eyebrow{ margin-top:0; }
.lb-usecase-body .lb-sec-title{ margin-bottom:10px; }
.lb-usecase-body .lb-sec-sub{ margin-bottom:24px; }
.lb-platforms{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.lb-plat{ display:flex; align-items:center; gap:13px; padding:15px 16px; border:1px solid var(--page-line); border-radius:13px; background:var(--page-surface); text-decoration:none; transition:border-color .16s, transform .16s; }
.lb-plat:hover{ border-color:var(--page-accent); transform:translateY(-2px); }
.lb-plat-ic{ flex:0 0 auto; width:38px; height:38px; border-radius:10px; display:grid; place-items:center; color:#fff; font-family:var(--sans); font-weight:700; font-size:14px; }
.lb-plat-t{ display:block; font-family:var(--sans); font-weight:600; font-size:14.5px; color:var(--page-ink); }
.lb-plat-s{ display:block; font-size:12px; color:var(--page-muted); margin-top:1px; }
.lb-plat-ig{ background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF); }
.lb-plat-tt{ background:#111; }
.lb-plat-wa{ background:#25D366; }
.lb-plat-ff{ background:#F26B1D; }
.lb-plat-dc{ background:#5865F2; }
.lb-plat-rb{ background:#D9231C; }

/* --- why us --- */
.lb-why{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,54px); align-items:center; }
.lb-why-body .lb-sec-title{ margin-bottom:24px; }
.lb-feats{ display:flex; flex-direction:column; gap:20px; }
.lb-feat{ display:flex; gap:14px; align-items:flex-start; }
.lb-feat-ic{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--page-accent); color:#fff; display:grid; place-items:center; font-size:14px; font-weight:700; margin-top:2px; }
.lb-feat h3{ font-family:var(--sans); font-size:16px; font-weight:650; margin:0 0 4px; color:var(--page-ink); }
.lb-feat p{ margin:0; color:var(--page-muted); font-size:14px; line-height:1.55; }
.lb-why-visual{ }
.lb-compare{ border:1px solid var(--page-line); border-radius:18px; overflow:hidden; background:var(--page-surface); box-shadow:0 24px 54px -36px rgba(0,0,0,.4); }
.lb-compare-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; }
.lb-compare-bad{ border-bottom:1px solid var(--page-line); background:color-mix(in srgb, var(--page-accent) 5%, transparent); }
.lb-compare-label{ font-family:var(--sans); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--page-muted); }
.lb-compare-ex{ font-size:23px; }
.lb-compare-bad .lb-compare-ex{ color:#B4443E; text-decoration:line-through; text-decoration-thickness:1.5px; }
.lb-compare-good .lb-compare-ex{ color:var(--page-ink); }
.lb-compare-note{ margin:16px 4px 0; font-size:13px; line-height:1.5; color:var(--page-muted); text-align:center; }

/* --- CTA band with image --- */
.lb-cta{ position:relative; isolation:isolate; text-align:center; padding:clamp(64px,9vw,104px) clamp(18px,4vw,50px); overflow:hidden; }
.lb-cta::before{ content:""; position:absolute; inset:0; z-index:-2; background:url('img/cta-bg.jpg') center/cover no-repeat; }
.lb-cta::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(120deg, rgba(20,20,23,.90), rgba(120,26,55,.78)); }
.lb-cta-inner{ max-width:640px; margin:0 auto; }
.lb-cta h2{ font-family:var(--serif); font-size:clamp(28px,4.4vw,44px); font-weight:600; line-height:1.1; letter-spacing:-.02em; color:#fff; margin:0 0 14px; text-wrap:balance; }
.lb-cta p{ font-family:var(--serif); font-style:italic; font-size:17px; line-height:1.6; color:rgba(255,255,255,.85); margin:0; }
.lb-cta-btn{ display:inline-block; margin-top:26px; background:#fff; color:#141417; font-family:var(--sans); font-weight:650; font-size:15px; padding:14px 30px; border-radius:999px; text-decoration:none; transition:transform .16s, box-shadow .16s; box-shadow:0 12px 30px -12px rgba(0,0,0,.5); }
.lb-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 18px 40px -14px rgba(0,0,0,.55); }

/* --- homepage FAQ --- */
.lb-faq-wrap{ max-width:800px; margin:0 auto; padding:0 clamp(18px,4vw,50px) clamp(40px,6vw,72px); }

/* --- blog: cards grid (archive / index / homepage preview) --- */
.wp-block-query.alignwide, .wp-block-query.alignfull{ margin-top:0; }
.lb-cardgrid{ list-style:none; margin:0 auto; padding:0; max-width:1200px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.lb-cardgrid > li{ margin:0; display:flex; }
.lb-card{ display:flex; flex-direction:column; width:100%; border:1px solid var(--page-line); border-radius:16px; padding:26px 24px; background:var(--page-surface); transition:border-color .16s, transform .16s, box-shadow .16s; }
.lb-card:hover{ border-color:var(--page-accent); transform:translateY(-3px); box-shadow:0 22px 46px -30px rgba(0,0,0,.4); }
.lb-card-cat{ font-family:var(--sans); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.lb-card-cat a{ color:var(--page-accent); text-decoration:none; }
.lb-card-title{ font-family:var(--serif); font-size:20px; line-height:1.25; margin:11px 0 0; }
.lb-card-title a{ color:var(--page-ink); text-decoration:none; }
.lb-card-title a:hover{ color:var(--page-accent); }
.lb-card-ex{ color:var(--page-muted); font-size:14px; line-height:1.55; margin:10px 0 0; flex:1 1 auto; }
.lb-card-more{ font-family:var(--sans); font-size:13.5px; font-weight:600; color:var(--page-accent); margin:18px 0 0; }

/* --- blog: archive header + pagination --- */
.lb-archive-head{ text-align:center; padding:clamp(36px,5vw,56px) clamp(18px,4vw,50px) clamp(20px,3vw,30px); }
.lb-archive-title{ font-family:var(--serif); font-size:clamp(30px,4.4vw,44px); font-weight:600; letter-spacing:-.02em; line-height:1.1; margin:12px 0 0; color:var(--page-ink); }
.lb-archive-desc{ font-family:var(--serif); font-style:italic; font-size:17px; line-height:1.55; color:var(--page-muted); max-width:600px; margin:14px auto 0; }
.lb-pagination{ max-width:1200px; margin:44px auto 0; gap:8px; font-family:var(--sans); font-weight:600; }
.lb-pagination .wp-block-query-pagination-numbers .page-numbers{ padding:8px 13px; border:1px solid var(--page-line); border-radius:9px; text-decoration:none; color:var(--page-ink); }
.lb-pagination .page-numbers.current{ background:var(--page-accent); color:#fff; border-color:var(--page-accent); }
.lb-pagination a:hover{ border-color:var(--page-accent); color:var(--page-accent); }

/* --- blog: single post --- */
.lb-post-head{ text-align:center; max-width:760px; margin:0 auto; padding:clamp(30px,4vw,48px) 0 clamp(14px,2vw,22px); }
.lb-post-eyebrow{ font-family:var(--sans); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
.lb-post-eyebrow a{ color:var(--page-accent); text-decoration:none; }
.lb-post-title{ font-family:var(--serif); font-size:clamp(28px,4.2vw,44px); font-weight:600; line-height:1.12; letter-spacing:-.02em; margin:14px 0 12px; color:var(--page-ink); text-wrap:balance; }
.lb-post-date{ font-family:var(--sans); font-size:13.5px; color:var(--page-muted); }
.lb-single .wp-block-post-content{ font-size:17px; line-height:1.72; color:var(--page-ink); }
.lb-single .wp-block-post-content > p:first-child{ font-family:var(--serif); font-size:19.5px; line-height:1.5; color:var(--page-ink); }
.lb-single .wp-block-post-content h2{ font-family:var(--serif); font-size:clamp(22px,2.6vw,28px); margin:1.7em 0 .5em; }
.lb-single .wp-block-post-content ul{ padding-left:1.2em; }
.lb-single .wp-block-post-content li{ margin:.35em 0; }

/* --- related cards ("también visitan" / "también leen") --- */
.lb-related, .lb-relwrap{ background:var(--hero-bg); border-top:1px solid var(--page-line); margin-top:clamp(48px,6vw,68px); }
.lb-related-inner{ max-width:1200px; margin:0 auto; padding:clamp(40px,5vw,58px) clamp(18px,4vw,50px); }
.lb-related-h{ font-family:var(--serif); font-size:clamp(21px,2.6vw,27px); font-weight:600; text-align:center; margin:0 0 clamp(22px,3vw,30px); color:var(--page-ink); }
.lb-relgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:13px; }
.lb-relcard{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border:1px solid var(--page-line); border-radius:12px; background:var(--page-surface); text-decoration:none; transition:border-color .16s, transform .16s; }
.lb-relcard:hover{ border-color:var(--page-accent); transform:translateY(-2px); }
.lb-relcard-t{ font-family:var(--sans); font-weight:600; font-size:14.5px; color:var(--page-ink); }
.lb-relcard-go{ color:var(--page-accent); font-weight:700; flex:0 0 auto; }
.lb-relgrid-posts{ grid-template-columns:repeat(3,1fr); }
.lb-relcard-post{ flex-direction:column; align-items:flex-start; gap:9px; padding:22px 22px; }
.lb-relcard-cat{ font-family:var(--sans); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--page-accent); }
.lb-relcard-post .lb-relcard-t{ font-family:var(--serif); font-size:17.5px; line-height:1.3; }
.lb-relcard-ex{ font-size:13px; color:var(--page-muted); line-height:1.5; }
.lb-relcard-post .lb-relcard-go{ font-family:var(--sans); font-size:13px; font-weight:600; }

/* --- responsive --- */
@media (max-width:900px){
	.lb-steps{ grid-template-columns:1fr; }
	.lb-styles{ grid-template-columns:repeat(2,1fr); }
	.lb-usecase{ grid-template-columns:1fr; }
	.lb-usecase-media{ max-width:420px; margin:0 auto; }
	.lb-why{ grid-template-columns:1fr; }
	.lb-cardgrid, .lb-relgrid-posts{ grid-template-columns:1fr; }
}
@media (min-width:601px) and (max-width:900px){
	.lb-cardgrid, .lb-relgrid-posts{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
	.lb-styles{ grid-template-columns:repeat(2,1fr); }
	.lb-platforms{ grid-template-columns:1fr; }
}

/* --- blog featured images --- */
.lb-card{ overflow:hidden; }
.wp-block-post-featured-image.lb-card-img{ margin:-26px -24px 20px; }
.lb-card-img img{ width:100%; display:block; }
.lb-post-img{ margin:10px auto 30px; }
.lb-post-img img{ width:100%; border-radius:18px; display:block; }
.lb-relcard-post.has-img{ overflow:hidden; padding-top:0; }
.lb-relcard-img{ width:calc(100% + 44px); max-width:none; margin:0 -22px 15px; aspect-ratio:16/9; object-fit:cover; display:block; }

/* --- contact form --- */
.lb-cf{ display:flex; flex-direction:column; gap:16px; max-width:600px; }
.lb-cf-field{ display:flex; flex-direction:column; gap:7px; font-family:var(--sans); font-size:13px; font-weight:700; letter-spacing:.01em; color:var(--page-ink); }
.lb-cf-field input, .lb-cf-field textarea{ font-family:var(--sans); font-size:15.5px; font-weight:400; color:var(--page-ink); background:var(--page-surface); border:1px solid var(--page-line); border-radius:12px; padding:12px 14px; width:100%; box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.lb-cf-field textarea{ resize:vertical; min-height:120px; line-height:1.55; }
.lb-cf-field input:focus, .lb-cf-field textarea:focus{ outline:none; border-color:var(--page-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--page-accent) 15%, transparent); }
.lb-cf-btn{ align-self:flex-start; appearance:none; border:0; background:var(--page-accent); color:#fff; font-family:var(--sans); font-weight:650; font-size:15px; padding:13px 30px; border-radius:999px; cursor:pointer; transition:transform .15s, filter .15s; }
.lb-cf-btn:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.lb-cf-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.lb-cf-alt{ margin:18px 0 0; font-size:14.5px; color:var(--page-muted); }
.lb-cf-alt a{ color:var(--page-accent); font-weight:600; text-decoration:none; }
.lb-cf-alt a:hover{ text-decoration:underline; }
.lb-cf-ok{ background:color-mix(in srgb,#2E7D57 12%, var(--page-surface)); border:1px solid color-mix(in srgb,#2E7D57 42%, var(--page-line)); border-radius:14px; padding:18px 20px; font-size:15.5px; color:var(--page-ink); }
.lb-cf-err{ background:color-mix(in srgb,var(--page-accent) 8%, var(--page-surface)); border:1px solid color-mix(in srgb,var(--page-accent) 42%, var(--page-line)); border-radius:12px; padding:14px 16px; font-size:14.5px; color:var(--page-ink); margin-bottom:18px; }

/* --- homepage trust strip --- */
.lb-trust{ border-bottom:1px solid var(--page-line); background:var(--page-bg); }
.lb-trust-inner{ max-width:1000px; margin:0 auto; padding:16px clamp(18px,4vw,50px); display:flex; flex-wrap:wrap; gap:8px 18px; align-items:baseline; justify-content:center; font-family:var(--sans); font-size:13.5px; color:var(--page-muted); }
.lb-trust-lead{ font-family:var(--serif); font-style:italic; }
.lb-trust-inner a{ color:var(--page-ink); text-decoration:none; font-weight:600; }
.lb-trust-inner a:hover{ color:var(--page-accent); }

/* --- footer email --- */
.lb-footer-mail{ display:inline-block; margin-top:14px; font-family:var(--sans); font-size:13.5px; font-weight:600; color:#EAEAEE; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); padding-bottom:1px; }
.lb-footer-mail:hover{ color:#fff; border-color:#fff; }
