/*
Theme Name: lucentwave
Theme URI: https://example.invalid/lucentwave
Author: lucentwave
Description: A calm editorial block theme for hosting and SEO decisions.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: lucentwave
*/

:root { --lw-ink:#14252b; --lw-muted:#52646a; --lw-teal:#087f73; --lw-pale:#e6f3ef; --lw-paper:#f7f8f5; --lw-line:#dce4df; --lw-card:#fff; --lw-radius:12px; --lw-shadow:0 10px 30px rgba(20,37,43,.06); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--lw-paper); color:var(--lw-ink); }
a { color:var(--lw-teal); text-underline-offset:.15em; }
a:hover { color:#055e56; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid #f3b738; outline-offset:3px; }
.screen-reader-text:focus { clip:auto; height:auto; width:auto; margin:0; padding:12px 16px; background:#fff; color:var(--lw-ink); z-index:100000; left:12px; top:12px; }
.lw-header { border-bottom:1px solid var(--lw-line); background:rgba(247,248,245,.96); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.lw-header__inner, .lw-footer__inner { max-width:1200px; margin:auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.lw-brand { display:inline-flex; align-items:center; gap:10px; font-size:1.3rem; font-weight:750; letter-spacing:-.04em; color:var(--lw-ink); text-decoration:none; white-space:nowrap; }
.lw-brand__mark { display:inline-block; width:26px; height:12px; border-top:3px solid var(--lw-teal); border-radius:50%; transform:skewX(-28deg); position:relative; }
.lw-brand__mark:after { content:""; position:absolute; inset:4px -2px auto 2px; border-top:3px solid var(--lw-teal); border-radius:50%; }
.lw-primary-nav .wp-block-navigation__container { gap:24px; }
.lw-primary-nav .wp-block-navigation-item__content { color:var(--lw-ink); font-size:.95rem; text-decoration:none; }
.lw-primary-nav .wp-block-navigation-item__content:hover { color:var(--lw-teal); }
.lw-header__search { color:var(--lw-ink); text-decoration:none; font-size:.94rem; }
.lw-main { overflow:hidden; }
.lw-prose { max-width:720px; margin:0 auto; padding:56px 24px 72px; }
.lw-page-header { max-width:900px; margin:0 auto; padding:64px 24px 16px; }
.lw-page-header .wp-block-post-title { font-size:clamp(2.25rem,5vw,3.75rem); letter-spacing:-.055em; line-height:1.03; }
.lw-home { max-width:1200px; margin:auto; padding:0 24px 72px; }
.lw-hero { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:72px; padding:88px 0 72px; border-bottom:1px solid var(--lw-line); }
.lw-eyebrow { color:var(--lw-teal); font-size:.75rem; font-weight:750; letter-spacing:.12em; margin-bottom:20px; }
.lw-hero h1 { max-width:760px; font-size:clamp(2.45rem,5.2vw,4.2rem); letter-spacing:-.065em; line-height:.98; margin:0 0 24px; }
.lw-hero p { color:var(--lw-muted); font-size:1.16rem; line-height:1.65; max-width:630px; }
.lw-hero-art { align-self:stretch; min-height:250px; position:relative; border:1px solid var(--lw-line); border-radius:var(--lw-radius); background:linear-gradient(135deg,#fff 0%,#eff7f4 100%); overflow:hidden; }
.lw-hero-art:before, .lw-hero-art:after { content:""; position:absolute; border:2px solid var(--lw-teal); border-radius:50%; opacity:.8; }
.lw-hero-art:before { width:255px; height:116px; right:-60px; top:58px; transform:rotate(-26deg); }
.lw-hero-art:after { width:185px; height:80px; right:28px; top:94px; transform:rotate(-26deg); }
.lw-hero-art span { position:absolute; left:30px; bottom:28px; max-width:180px; color:var(--lw-ink); font-weight:650; line-height:1.2; }
.lw-button, .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; border-radius:999px!important; padding:13px 20px!important; font-size:.95rem!important; font-weight:700!important; background:var(--lw-teal)!important; color:#fff!important; text-decoration:none!important; border:1px solid var(--lw-teal)!important; }
.lw-button--quiet, .is-style-outline .wp-block-button__link { background:transparent!important; color:var(--lw-ink)!important; border-color:var(--lw-line)!important; }
.lw-button:hover { background:#05685f!important; }
.lw-section { padding:72px 0 0; }
.lw-section__heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:28px; }
.lw-section__heading h2 { font-size:clamp(1.7rem,3vw,2.4rem); letter-spacing:-.045em; margin:0; }
.lw-section__heading p { color:var(--lw-muted); margin:0; max-width:500px; }
.lw-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.lw-card { border:1px solid var(--lw-line); border-radius:var(--lw-radius); padding:28px; background:var(--lw-card); box-shadow:var(--lw-shadow); }
.lw-card h3 { margin:0 0 10px; font-size:1.35rem; letter-spacing:-.03em; }
.lw-card p { color:var(--lw-muted); line-height:1.6; }
.lw-card a { font-weight:700; text-decoration:none; }
.lw-shortlist { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.lw-shortlist__item { padding:20px; border-top:2px solid var(--lw-teal); background:#fff; }
.lw-shortlist__item strong { display:block; margin-bottom:8px; }
.lw-shortlist__item span { color:var(--lw-muted); font-size:.94rem; }
.lw-feature { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:44px; border-radius:var(--lw-radius); background:var(--lw-pale); }
.lw-feature h2 { font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.045em; margin:0 0 16px; }
.lw-feature p { color:var(--lw-muted); line-height:1.65; }
.lw-feature__note { background:#fff; border-radius:10px; padding:24px; border:1px solid rgba(8,127,115,.18); }
.lw-feature__note strong { display:block; margin-bottom:8px; }
.lw-guides { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.lw-guide-link { padding:20px; background:#fff; border:1px solid var(--lw-line); border-radius:var(--lw-radius); text-decoration:none; color:var(--lw-ink); }
.lw-guide-link span { display:block; color:var(--lw-muted); font-size:.8rem; margin-bottom:8px; }
.lw-guide-link strong { display:block; line-height:1.3; }
.lw-editorial { display:grid; grid-template-columns:.75fr 1.25fr; gap:48px; padding:56px 0 12px; }
.lw-editorial h2 { font-size:clamp(1.9rem,3.3vw,3rem); letter-spacing:-.05em; }
.lw-editorial p { color:var(--lw-muted); line-height:1.7; max-width:630px; }
.lw-disclosure { border-left:3px solid var(--lw-teal); background:var(--lw-pale); padding:16px 18px; margin:28px 0; color:var(--lw-ink); font-size:.94rem; }
.lw-evidence { display:inline-flex; align-items:center; gap:8px; background:var(--lw-pale); color:#075e56; border-radius:999px; padding:6px 10px; font-size:.75rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.lw-review-meta { display:flex; flex-wrap:wrap; gap:12px 20px; color:var(--lw-muted); font-size:.92rem; }
.lw-facts, .lw-table-wrap { overflow-x:auto; border:1px solid var(--lw-line); border-radius:var(--lw-radius); background:#fff; }
.lw-facts table, .lw-table-wrap table { width:100%; border-collapse:collapse; min-width:580px; }
.lw-facts th, .lw-facts td, .lw-table-wrap th, .lw-table-wrap td { padding:14px 16px; border-bottom:1px solid var(--lw-line); text-align:left; vertical-align:top; }
.lw-facts th, .lw-table-wrap th { background:#f7faf8; font-size:.85rem; }
.lw-contents { border:1px solid var(--lw-line); border-radius:var(--lw-radius); padding:18px 22px; margin:24px 0; }
.lw-contents summary { cursor:pointer; font-weight:700; }
.lw-contents ul { margin-bottom:0; }
.lw-fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.lw-fit { border-radius:var(--lw-radius); padding:20px; background:#fff; border:1px solid var(--lw-line); }
.lw-fit--yes { border-top:3px solid var(--lw-teal); }
.lw-fit--no { border-top:3px solid #87959a; }
.lw-tools { max-width:900px; margin:0 auto; padding:56px 24px 72px; }
.lw-tool { background:#fff; border:1px solid var(--lw-line); border-radius:var(--lw-radius); padding:clamp(20px,4vw,40px); box-shadow:var(--lw-shadow); }
.lw-tool h2 { margin-top:0; letter-spacing:-.04em; }
.lw-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lw-field { display:grid; gap:7px; color:var(--lw-ink); font-size:.9rem; font-weight:650; }
.lw-field input, .lw-field select { width:100%; padding:11px 12px; color:var(--lw-ink); border:1px solid #b8c6c0; border-radius:7px; background:#fff; font:inherit; }
.lw-field__hint { font-size:.78rem; color:var(--lw-muted); font-weight:400; }
.lw-errors { color:#9e2020; font-size:.9rem; margin:12px 0; }
.lw-results { border-top:1px solid var(--lw-line); margin-top:28px; padding-top:24px; }
.lw-total { font-size:2.25rem; font-weight:750; letter-spacing:-.05em; margin:8px 0; }
.lw-result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.lw-result-grid div { padding:14px; background:var(--lw-pale); border-radius:8px; }
.lw-result-grid span { display:block; color:var(--lw-muted); font-size:.8rem; }
.lw-finder-results { display:grid; gap:12px; margin-top:24px; }
.lw-match { padding:18px; border:1px solid var(--lw-line); border-radius:8px; }
.lw-match h3 { margin:0 0 6px; }
.lw-match p { color:var(--lw-muted); margin:6px 0; }
.lw-empty { padding:24px; border:1px dashed #a9b7b1; color:var(--lw-muted); }
.lw-search-form { display:flex; gap:12px; margin:24px 0; }
.lw-search-form input { flex:1; padding:12px; border:1px solid var(--lw-line); border-radius:8px; font:inherit; }
.lw-pagination { display:flex; gap:8px; margin-top:28px; }
.lw-pagination a, .lw-pagination span { padding:8px 11px; border:1px solid var(--lw-line); border-radius:6px; text-decoration:none; }
.lw-footer { margin-top:72px; border-top:1px solid var(--lw-line); background:#fff; }
.lw-footer__inner { align-items:flex-start; padding-top:40px; padding-bottom:32px; }
.lw-footer__links { display:grid; grid-template-columns:repeat(3,minmax(110px,1fr)); gap:20px; }
.lw-footer__links a { color:var(--lw-muted); font-size:.9rem; text-decoration:none; }
.lw-footer__links strong { display:block; margin-bottom:9px; font-size:.9rem; }
.lw-footer__legal { max-width:1200px; margin:auto; padding:16px 24px 24px; border-top:1px solid var(--lw-line); color:var(--lw-muted); font-size:.8rem; }
.lw-footer__legal a { color:inherit; }
@media (max-width: 782px) { .lw-header__inner { padding:13px 18px; } .lw-primary-nav { display:none; } .lw-header__search { margin-left:auto; } .lw-home { padding:0 18px 48px; } .lw-hero { grid-template-columns:1fr; gap:28px; padding:56px 0 48px; } .lw-hero-art { min-height:175px; } .lw-card-grid, .lw-feature, .lw-editorial { grid-template-columns:1fr; } .lw-shortlist, .lw-guides { grid-template-columns:1fr; } .lw-section { padding-top:48px; } .lw-section__heading { display:block; } .lw-section__heading p { margin-top:10px; } .lw-feature { padding:24px; gap:20px; } .lw-form-grid, .lw-fit-grid, .lw-result-grid { grid-template-columns:1fr; } .lw-search-form { flex-direction:column; } .lw-footer__inner { display:block; } .lw-footer__links { margin-top:28px; grid-template-columns:repeat(2,1fr); } }
@media print { .lw-header, .lw-footer, .lw-tool__actions, .wp-block-button { display:none!important; } body { background:#fff; } .lw-tool { box-shadow:none; border:0; padding:0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
