:root { --ink:#172235; --muted:#627086; --brand:#2169e8; --brand-dark:#174da9; --bg:#f6f8fc; --card:#fff; --line:#dce3ee; --good:#07865a; --bad:#c33c4c; --radius:18px; }
* { box-sizing:border-box; } body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); line-height:1.5; }
a { color:inherit; } .skip-link { position:absolute; left:-999px; } .skip-link:focus { left:1rem; top:1rem; z-index:10; padding:.65rem; background:#fff; }
.site-header { background:#fff; border-bottom:1px solid var(--line); } .header-inner { max-width:1160px; margin:auto; padding:1rem; display:flex; gap:1rem; align-items:center; justify-content:space-between; } .brand { text-decoration:none; font-weight:800; letter-spacing:-.03em; color:var(--brand); } nav ul { padding:0; margin:0; display:flex; gap:.8rem; list-style:none; font-size:.9rem; } nav a { text-decoration:none; color:var(--muted); } nav a[aria-current="page"] { color:var(--ink); font-weight:700; }
main { max-width:1160px; margin:auto; padding:2rem 1rem 4rem; } .hero { padding:2.7rem 0 2rem; max-width:720px; } h1 { font-size:clamp(2rem,8vw,4rem); line-height:1.04; letter-spacing:-.055em; margin:0 0 1rem; } h2 { letter-spacing:-.03em; } .lead { font-size:1.1rem; color:var(--muted); max-width:62ch; }.button { display:inline-block; padding:.8rem 1rem; border-radius:10px; background:var(--brand); color:#fff; text-decoration:none; font-weight:700; border:0; cursor:pointer; }.button:hover,.button:focus { background:var(--brand-dark); }
.feature-grid,.result-grid { display:grid; gap:1rem; grid-template-columns:1fr; } .card,.result-card,.form-card,details { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.15rem; box-shadow:0 8px 28px rgba(25,44,76,.04); } .card h2,.card h3 { margin-top:0; }.muted { color:var(--muted); }.roadmap { list-style:none; padding:0; margin:0; }.roadmap li { display:flex; justify-content:space-between; padding:.65rem 0; border-bottom:1px solid var(--line); }.roadmap small { color:var(--muted); }
.calculator-layout { display:grid; grid-template-columns:1fr; gap:1rem; }.form-card h2,.results h2 { margin-top:0; }.fields { display:grid; gap:.85rem; }.field { display:grid; gap:.3rem; }.field label { font-size:.9rem; font-weight:650; }.field input,.field select { width:100%; border:1px solid #bbc7d7; border-radius:9px; padding:.7rem; font:inherit; color:var(--ink); background:#fff; }.field input:focus,.field select:focus { outline:3px solid #b8d1ff; border-color:var(--brand); }.field small { color:var(--muted); } fieldset { border:0; padding:0; margin:1.25rem 0 0; } legend { font-weight:800; margin-bottom:.8rem; }.result-card strong { display:block; font-size:1.5rem; letter-spacing:-.04em; }.result-card p { margin:.25rem 0 0; color:var(--muted); font-size:.87rem; }.result-card.primary { background:#ecf5ff; border-color:#bad5ff; }.result-card.primary strong { color:var(--good); font-size:2rem; }.result-card.primary.negative { background:#fff0f1; border-color:#ffc6cc; }.result-card.primary.negative strong { color:var(--bad); }.info-table { width:100%; border-collapse:collapse; font-size:.93rem; }.info-table th,.info-table td { padding:.75rem 0; border-bottom:1px solid var(--line); text-align:left; }.info-table td { text-align:right; font-weight:700; }
.prose { max-width:760px; }.prose p,.prose li { color:#38465a; }.prose li { margin:.5rem 0; } details { margin:.8rem 0; } summary { cursor:pointer; font-weight:700; } details p { color:var(--muted); }.site-footer { padding:2rem 1rem; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }.footer-inner { max-width:1160px; margin:auto; display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; }
@media (min-width:700px) { .feature-grid { grid-template-columns:repeat(3,1fr); }.result-grid { grid-template-columns:repeat(2,1fr); }.fields { grid-template-columns:repeat(2,1fr); }.wide { grid-column:span 2; } nav ul { gap:1.25rem; } }
@media (min-width:980px) { .calculator-layout { grid-template-columns:minmax(400px,.85fr) minmax(420px,1.15fr); align-items:start; }.result-grid { grid-template-columns:repeat(3,1fr); }.results { position:sticky; top:1rem; } }
@media (max-width:699px) { .header-inner { align-items:flex-start; flex-wrap:wrap; }.header-inner nav { width:100%; }.header-inner nav ul { flex-wrap:wrap; gap:.35rem 1rem; }.hero { padding-top:1.5rem; }.roadmap li { gap:.75rem; } }
.form-note { margin:0; font-size:.9rem; }
.form-error { color:#a32737; font-weight:650; margin:.5rem 0 0; }
.form-error:empty { display:none; }
.field [aria-invalid="true"] { border-color:#a32737; background:#fff8f8; }
.result-card { min-width:0; overflow-wrap:anywhere; }
.hourly-results { grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr)); }
.hourly-results .result-card strong { white-space:nowrap; overflow-wrap:normal; word-break:normal; font-size:clamp(1.05rem,5vw,1.5rem); font-variant-numeric:tabular-nums; }
.hourly-results .result-card.primary strong { font-size:clamp(1.3rem,6vw,2rem); }
.choice-group { display:flex; flex-wrap:wrap; gap:.65rem 1rem; padding:.85rem 0; margin:.5rem 0; }
.choice-group legend { width:100%; margin-bottom:.15rem; font-size:.9rem; }
.choice-group label { display:flex; align-items:center; gap:.4rem; font-size:.9rem; font-weight:650; }
.inline-help { margin-top:.85rem; padding:.85rem; box-shadow:none; }
.inline-help .form-note { display:block; margin-top:.7rem; color:var(--muted); }
.info-table th,.info-table td { overflow-wrap:anywhere; }
:focus-visible { outline:3px solid #174da9; outline-offset:3px; }
.etsy-hero { max-width:850px; }
.form-details { margin-top:1.25rem; }
.form-details summary { margin:-.1rem 0; }
.form-details[open] summary { margin-bottom:1rem; }
.details-fields { margin-top:.5rem; }
.checkbox-field { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:.65rem; }
.checkbox-field input { width:1.15rem; height:1.15rem; margin:0; }
.breakdown-card { margin-top:1rem; }
.info-table caption { text-align:left; font-weight:800; color:var(--ink); padding-bottom:.5rem; }
.results-note { font-size:.86rem; }
.content-section { margin-top:3.5rem; }
.sources { margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--line); }
.calculation-notice { margin-top:1rem; padding:1rem; border:1px solid #e5c66d; border-radius:12px; color:#5f4710; background:#fff8dc; font-size:.9rem; }
.calculation-notice strong { display:block; margin-bottom:.25rem; }
.consent-open { overflow:hidden; }
.consent-layer { position:fixed; inset:0; z-index:1000; display:grid; place-items:end center; padding:1rem; background:rgba(23,34,53,.56); }
.consent-layer[hidden] { display:none; }
.consent-dialog { width:min(680px,100%); max-height:calc(100vh - 2rem); overflow:auto; padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); box-shadow:0 20px 70px rgba(10,24,48,.28); }
.consent-dialog h2 { margin:.1rem 0 .6rem; }
.consent-dialog p { color:#38465a; }
.consent-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.button-secondary { color:var(--ink); background:#fff; border:1px solid #9ba9bc; }
.button-secondary:hover,.button-secondary:focus { color:#fff; }
.button-link { color:var(--brand-dark); background:transparent; }
.button-link:hover,.button-link:focus { color:#fff; }
.consent-option { display:grid; grid-template-columns:auto 1fr; gap:.75rem; align-items:start; padding:1rem; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.consent-option input { width:1.2rem; height:1.2rem; margin:.2rem 0 0; }
.consent-option small { display:block; margin-top:.25rem; color:var(--muted); font-weight:400; }
.consent-ads,.consent-more { font-size:.9rem; }
.consent-more { margin:.85rem 0 0; }
.consent-reopen { position:fixed; right:1rem; bottom:1rem; z-index:900; padding:.55rem .75rem; border:1px solid #9ba9bc; border-radius:999px; color:var(--ink); background:#fff; box-shadow:0 5px 20px rgba(25,44,76,.16); font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }
@media (min-width:700px) { .consent-layer { place-items:center; }.consent-dialog { padding:1.5rem; } }
@media (max-width:389px) { .consent-actions { display:grid; }.consent-actions .button { width:100%; }.consent-reopen { right:.5rem; bottom:.5rem; } }
.image-tool-hero { max-width:850px; }
.image-tool-card { max-width:850px; padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); box-shadow:0 8px 28px rgba(25,44,76,.04); }
.upload-zone { border:2px dashed #9fb3d0; border-radius:14px; background:#f8fbff; }
.upload-label { display:grid; gap:.3rem; padding:2rem 1.25rem; text-align:center; cursor:pointer; }
.upload-label strong { font-size:1.05rem; color:var(--brand-dark); }
.upload-label span { color:var(--muted); font-size:.9rem; }
.upload-zone input[type="file"] { width:100%; padding:0 1.25rem 1.25rem; }
.image-tool-options { max-width:360px; margin-top:1rem; }
[data-pdf-tool] .image-tool-options { max-width:none; }
.pdf-file-list { display:grid; gap:.5rem; margin:1rem 0; }
.pdf-file-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; gap:.45rem; align-items:center; padding:.65rem; border:1px solid var(--line); border-radius:10px; }
.pdf-file-row span { min-width:0; overflow-wrap:anywhere; }
.pdf-file-row button { min-width:2.4rem; padding:.45rem .6rem; border:1px solid #9ba9bc; border-radius:8px; color:var(--ink); background:#fff; font:inherit; cursor:pointer; }
.pdf-file-row button:disabled { cursor:not-allowed; opacity:.5; }
@media (max-width:560px) { .pdf-file-row { grid-template-columns:1fr repeat(3,auto); }.pdf-file-row span { grid-column:1/-1; } }
.image-tool-status { margin-top:1rem; padding:.9rem 1rem; border-radius:12px; background:#ecf5ff; color:var(--brand-dark); font-weight:650; }
.image-result { display:grid; gap:1rem; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.image-result h2 { margin:0; }
.image-result p { margin:.25rem 0 0; }
.image-result img { display:block; width:auto; max-width:100%; max-height:480px; margin:auto; border-radius:12px; border:1px solid var(--line); background:#eef2f7; }
.image-result-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
@media (max-width:499px) { .image-result-actions { display:grid; }.image-result-actions .button { width:100%; text-align:center; } }

/* Contador de palabras: lectura inmediata, sin decoración innecesaria. */
.word-counter-page main { max-width:1120px; }
.word-counter-hero { max-width:800px; padding-bottom:2.4rem; }
.word-counter-eyebrow { margin:0 0 .65rem; color:var(--brand); font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.word-counter-tool { display:grid; gap:1rem; }
.word-counter-editor,.word-counter-limit { padding:clamp(1rem,3vw,1.5rem); border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 10px 32px rgba(25,44,76,.05); }
.word-counter-editor > label { display:block; margin-bottom:.65rem; font-weight:800; }
.word-counter-editor textarea { display:block; width:100%; min-height:260px; resize:vertical; padding:1.1rem 1.2rem; border:1px solid #bbc7d7; border-radius:13px; outline:0; color:var(--ink); background:#fbfcff; font:500 1.03rem/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.word-counter-editor textarea::placeholder { color:#8795a8; }
.word-counter-editor textarea:focus { border-color:var(--brand); background:#fff; box-shadow:0 0 0 4px rgba(33,105,232,.11); }
.word-counter-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem; padding-top:.85rem; color:var(--muted); font-size:.8rem; }
.word-counter-actions > div { display:flex; gap:.55rem; }
.word-counter-button { padding:.62rem .85rem; border:1px solid var(--brand); border-radius:9px; color:#fff; background:var(--brand); font:inherit; font-weight:750; cursor:pointer; }
.word-counter-button.secondary { color:#29486e; border-color:#c5d1e1; background:#fff; }
.word-counter-button:hover,.word-counter-button:focus-visible { background:var(--brand-dark); color:#fff; }
.word-counter-button:disabled { cursor:default; opacity:.45; }
.word-counter-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.word-stat { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:14px; background:#fff; }
.word-stat span { display:block; color:var(--muted); font-size:.78rem; font-weight:700; }
.word-stat strong { display:block; margin-top:.22rem; color:#26364e; font-size:1.35rem; letter-spacing:-.035em; overflow-wrap:anywhere; }
.word-stat.primary { border-color:#cbdcf5; background:#f5f9ff; }
.word-stat.primary strong { color:#164f9e; font-size:clamp(1.65rem,4vw,2.1rem); }
.word-counter-limit { display:grid; gap:1rem; }
.word-counter-limit h2 { margin:0; font-size:1.2rem; }
.word-counter-limit p { margin:.2rem 0 0; color:var(--muted); font-size:.88rem; }
.word-limit-controls { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.word-limit-controls label { color:#40516a; font-size:.8rem; font-weight:700; }
.word-limit-controls select,.word-limit-controls input { display:block; width:100%; margin-top:.3rem; padding:.65rem .7rem; border:1px solid #bbc7d7; border-radius:9px; color:var(--ink); background:#fff; font:inherit; }
.word-limit-status > div:first-child { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.55rem; font-size:.84rem; }
.word-limit-status span { color:var(--muted); }
.word-limit-status span.is-exceeded { color:var(--bad); font-weight:750; }
.word-limit-track { height:.6rem; overflow:hidden; border-radius:999px; background:#e8edf5; }
.word-limit-track > span { display:block; width:0; height:100%; border-radius:inherit; background:var(--brand); transition:width .16s ease; }
.word-limit-track.is-exceeded > span { background:var(--bad); }
.word-counter-copy { margin-top:2.5rem; }
@media (min-width:700px) { .word-counter-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }.word-stat.secondary { grid-column:span 1; }.word-counter-limit { grid-template-columns:minmax(190px,.75fr) minmax(240px,.8fr) minmax(300px,1.4fr); align-items:end; } }
@media (max-width:499px) { .word-counter-actions,.word-counter-actions > div { align-items:stretch; }.word-counter-actions > div { width:100%; }.word-counter-button { flex:1; }.word-limit-controls { grid-template-columns:1fr; }.word-limit-status > div:first-child { display:grid; gap:.15rem; } }

/* Conversor texto/códigos: dos paneles conectados, como un traductor local. */
.code-converter-page main { max-width:1180px; }
.code-converter-hero { max-width:850px; padding-bottom:2.4rem; }
.code-converter-eyebrow { margin:0 0 .65rem; color:var(--brand); font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.code-converter { padding:clamp(1rem,2vw,1.4rem); border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 14px 42px rgba(25,44,76,.07); }
.code-converter-grid { display:grid; gap:.8rem; align-items:center; }
.code-panel { display:grid; min-width:0; gap:.45rem; }
.code-panel label { font-size:.8rem; font-weight:800; color:#40516a; }
.code-panel select { width:100%; padding:.72rem .8rem; border:1px solid #b9c6d7; border-radius:10px; color:var(--ink); background:#fff; font:inherit; font-weight:700; }
.code-panel small { min-height:2.3em; color:var(--muted); font-size:.75rem; }
.code-panel textarea { display:block; width:100%; min-height:285px; resize:vertical; padding:1rem 1.1rem; border:1px solid #c4cfde; border-radius:13px; outline:0; color:var(--ink); background:#fbfcff; font:500 .95rem/1.6 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; overflow-wrap:anywhere; }
.code-panel textarea:focus { border-color:var(--brand); background:#fff; box-shadow:0 0 0 4px rgba(33,105,232,.11); }
.code-panel textarea[readonly] { background:#f5f8fc; }
.code-swap { justify-self:center; width:2.8rem; height:2.8rem; border:1px solid #bfd0e5; border-radius:50%; color:var(--brand); background:#f4f8ff; font:inherit; font-size:1.3rem; font-weight:800; line-height:1; cursor:pointer; }
.code-swap:hover,.code-swap:focus-visible { color:#fff; background:var(--brand); }
.code-error { min-height:1.4em; margin:.75rem .2rem .1rem; color:var(--bad); font-size:.84rem; font-weight:700; }
.code-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem; padding:.8rem .2rem 0; border-top:1px solid #e4e9f1; color:var(--muted); font-size:.78rem; }
.code-actions > div { display:flex; gap:.55rem; }
.code-action { padding:.65rem .85rem; border:1px solid var(--brand); border-radius:9px; color:#fff; background:var(--brand); font:inherit; font-weight:750; cursor:pointer; }
.code-action.secondary { border-color:#c5d1e1; color:#29486e; background:#fff; }
.code-action:hover,.code-action:focus-visible { color:#fff; background:var(--brand-dark); }
.code-action:disabled { cursor:default; opacity:.42; }
.code-converter-copy { margin-top:2.6rem; }
@media (min-width:820px) { .code-converter-grid { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }.code-swap { transform:rotate(0deg); } }
@media (max-width:819px) { .code-swap { transform:rotate(90deg); }.code-panel textarea { min-height:220px; } }
@media (max-width:499px) { .code-actions,.code-actions > div { align-items:stretch; }.code-actions > div { width:100%; }.code-action { flex:1; } }

/* Estudio Unicode: una interfaz editorial, amplia y centrada en la tipografía. */
.unicode-page { background:radial-gradient(circle at 88% 13%,rgba(94,126,174,.1),transparent 24rem),linear-gradient(180deg,#fbfcff 0,#f5f7fb 32rem,var(--bg) 100%); }
.unicode-page main { max-width:1240px; }
.unicode-hero { display:grid; max-width:none; gap:2.5rem; align-items:end; padding:4.5rem 0 3.25rem; }
.unicode-eyebrow { display:flex; align-items:center; gap:.55rem; margin:0 0 1.1rem; color:#53647b; font-size:.78rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.unicode-eyebrow span { color:var(--brand); font-size:1.15rem; }
.unicode-hero h1 { max-width:800px; font-size:clamp(2.75rem,7vw,5.8rem); line-height:.92; letter-spacing:-.065em; }
.unicode-hero h1 span { color:#53647b; font-weight:530; }
.unicode-hero .lead { max-width:650px; margin-bottom:0; font-size:clamp(1.05rem,2vw,1.25rem); }
.unicode-hero-signature { display:none; justify-self:end; min-width:260px; padding:1.4rem 1.5rem; border:1px solid rgba(130,148,174,.3); border-radius:22px; background:rgba(255,255,255,.68); box-shadow:0 18px 60px rgba(32,52,84,.06); }
.unicode-hero-signature > span { display:inline-block; margin-right:.65rem; color:#263a57; font-size:2.25rem; }
.unicode-hero-signature > span:nth-child(2) { color:var(--brand); }
.unicode-hero-signature small { display:block; margin-top:.75rem; color:var(--muted); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.unicode-studio { display:grid; gap:1.35rem; }
.unicode-editor-panel { padding:clamp(1.1rem,3vw,2rem); border:1px solid #d8e0eb; border-radius:24px; background:#fff; box-shadow:0 18px 55px rgba(31,50,82,.07); }
.unicode-editor-heading,.unicode-editor-heading > div,.unicode-editor-meta,.unicode-results-head,.unicode-results-head > div,.unicode-style-head,.unicode-style-actions { display:flex; align-items:center; }
.unicode-editor-heading { justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.unicode-editor-heading > div,.unicode-results-head > div { gap:.7rem; }
.unicode-editor-heading label,.unicode-results-head h2 { font-size:1rem; font-weight:800; letter-spacing:-.02em; }
.unicode-step { display:inline-grid; place-items:center; width:2rem; height:2rem; border:1px solid #cbd7e7; border-radius:50%; color:#52657e; font-size:.7rem; font-weight:800; letter-spacing:.04em; }
.unicode-local-note { display:flex; align-items:center; gap:.35rem; color:#718098; font-size:.76rem; }
.unicode-local-note span { color:var(--good); }
.unicode-editor-panel textarea { display:block; width:100%; min-height:190px; resize:vertical; padding:1.35rem 1.45rem; border:1px solid #c7d2e1; border-radius:17px; outline:0; color:#19263a; background:#fbfcff; font:500 1.08rem/1.7 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; caret-color:var(--brand); transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.unicode-editor-panel textarea::placeholder { color:#8795aa; }
.unicode-editor-panel textarea:focus { border-color:#6e9be8; background:#fff; box-shadow:0 0 0 4px rgba(33,105,232,.11),0 12px 30px rgba(33,105,232,.06); }
.unicode-editor-meta { justify-content:space-between; gap:1rem; padding:.75rem .2rem 0; color:#7b889b; font-size:.78rem; }
.unicode-clear { padding:.35rem .65rem; border:0; border-radius:8px; color:#52647d; background:transparent; font:inherit; font-weight:750; cursor:pointer; }
.unicode-clear:hover,.unicode-clear:focus-visible { color:var(--brand-dark); background:#eef4ff; }
.unicode-clear:disabled { cursor:default; opacity:.4; }
.unicode-toolbar { display:grid; gap:1rem; align-items:end; padding:1rem; border:1px solid #dde4ee; border-radius:18px; background:rgba(255,255,255,.78); }
.unicode-toolbar .field label { color:#3c4c62; font-size:.76rem; letter-spacing:.02em; }
.unicode-search label span { color:var(--brand); font-size:1rem; }
.unicode-toolbar .field input[type="search"] { min-height:46px; padding:.75rem .9rem; border-color:#cbd5e3; border-radius:11px; background:#fff; }
.unicode-size { min-width:190px; }
.unicode-size label { display:flex; justify-content:space-between; gap:1rem; }
.unicode-size output { color:var(--brand-dark); font-weight:800; }
.unicode-size input[type="range"] { height:1.2rem; padding:0; accent-color:var(--brand); cursor:pointer; }
.unicode-results-head { justify-content:space-between; gap:1rem; margin-top:.5rem; padding:.2rem .1rem; }
.unicode-results-head h2 { margin:0; font-size:1.25rem; }
.unicode-results-head > span { color:#718096; font-size:.8rem; font-weight:700; }
.unicode-results { display:grid; gap:.85rem; }
.unicode-style-card { min-width:0; padding:1.15rem; border:1px solid #dce3ed; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(32,50,80,.035); transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.unicode-style-card:hover { border-color:#bac8da; box-shadow:0 13px 36px rgba(32,50,80,.07); transform:translateY(-1px); }
.unicode-style-head { justify-content:space-between; gap:1rem; }
.unicode-style-title { display:grid; min-width:0; gap:.22rem; }
.unicode-style-title strong { display:flex; align-items:center; gap:.48rem; color:#1f2d42; font-size:.95rem; letter-spacing:-.01em; }
.unicode-style-title > span { color:#939dad; font-size:.67rem; letter-spacing:.025em; }
.unicode-style-number { color:#6e7f96; font:800 .74rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.05em; }
.unicode-style-arrow { color:#9aaac0; font-size:.72rem; }
.unicode-favorite { display:grid; flex:0 0 auto; place-items:center; width:2.45rem; height:2.45rem; border:1px solid #d4deea; border-radius:50%; color:#718198; background:#fff; font:inherit; font-size:1.15rem; cursor:pointer; }
.unicode-favorite:hover,.unicode-favorite:focus-visible { border-color:#91a6c3; color:#304968; background:#f7f9fc; }
.unicode-favorite.is-favorite { border-color:#d8b86b; color:#9a6d00; background:#fff9e8; }
.unicode-preview { max-height:10.5rem; overflow:auto; margin:1rem 0; padding:1.2rem 1.25rem; border:1px solid #e5eaf1; border-radius:13px; color:#111d2e; background:#fafbfe; line-height:1.68; white-space:pre-wrap; overflow-wrap:anywhere; scrollbar-width:thin; }
.unicode-preview[data-preview-family="script"],.unicode-preview[data-preview-family="fraktur"] { font-family:"Cambria Math","Segoe UI Symbol",serif; line-height:1.74; }
.unicode-preview[data-preview-family="sans"] { font-family:"Segoe UI Symbol","Cambria Math","Segoe UI",sans-serif; }
.unicode-preview[data-preview-family="monospace"] { font-family:"Segoe UI Symbol","Cambria Math",ui-monospace,Consolas,monospace; }
.unicode-preview[data-preview-family="small-caps"] { letter-spacing:.012em; }
.unicode-preview[data-preview-family="fullwidth"] { letter-spacing:.016em; }
.unicode-preview[data-preview-family="vertical"] { line-height:1.78; }
.unicode-preview[data-preview-family="enclosed"] { letter-spacing:.012em; line-height:1.72; }
.unicode-preview[data-preview-family="decorative"] { line-height:1.74; }
.unicode-style-actions { justify-content:flex-end; }
.unicode-copy { padding:.6rem .85rem; border:1px solid #c8d4e4; border-radius:9px; color:#29486e; background:#fff; font-size:.78rem; box-shadow:none; }
.unicode-copy:hover,.unicode-copy:focus { border-color:#688bbd; color:#fff; background:#294f82; }
.unicode-empty { display:grid; place-items:center; min-height:180px; padding:2rem; border:1px dashed #cdd8e6; border-radius:18px; color:#718096; text-align:center; background:rgba(255,255,255,.55); }
.unicode-empty span { color:#8197b5; font-size:2rem; }
.unicode-empty p { margin:.4rem 0 0; }
.unicode-compatibility { display:flex; gap:.75rem; align-items:flex-start; margin-top:.8rem; padding:1rem 1.1rem; border-top:1px solid #dbe3ed; color:#7b8799; font-size:.76rem; }
.unicode-compatibility > span { color:#7189ad; font-size:.95rem; }
.unicode-compatibility strong { color:#5e6c81; font-size:.76rem; }
.unicode-compatibility p { max-width:85ch; margin:.18rem 0 0; }
@media (min-width:780px) {
  .unicode-toolbar { grid-template-columns:minmax(0,1fr) minmax(190px,240px); padding:1.15rem 1.25rem; }
  .unicode-style-card { display:grid; grid-template-columns:minmax(180px,.34fr) minmax(0,1fr) auto; gap:1.3rem; align-items:center; padding:1.15rem 1.3rem; }
  .unicode-style-head { align-self:stretch; }
  .unicode-style-title { align-content:center; }
  .unicode-style-head .unicode-favorite { position:absolute; }
  .unicode-style-head { position:relative; padding-right:2.9rem; }
  .unicode-style-head .unicode-favorite { top:50%; right:0; transform:translateY(-50%); }
  .unicode-preview { margin:0; }
}
@media (min-width:980px) { .unicode-hero { grid-template-columns:minmax(0,1fr) auto; }.unicode-hero-signature { display:block; } }
@media (max-width:599px) {
  .unicode-page main { padding-top:1rem; }
  .unicode-hero { padding:2.4rem 0 2rem; }
  .unicode-hero h1 { font-size:clamp(2.55rem,14vw,4rem); }
  .unicode-editor-panel { border-radius:19px; }
  .unicode-editor-heading { align-items:flex-start; }
  .unicode-local-note { max-width:110px; text-align:right; }
  .unicode-editor-panel textarea { min-height:175px; padding:1rem; font-size:1rem; }
  .unicode-toolbar { padding:.85rem; }
  .unicode-style-card { border-radius:15px; }
  .unicode-preview { max-height:9rem; padding:1rem; }
  .unicode-copy { width:100%; text-align:center; }
}

/* Redimensionador: panel comprensible desde el primer vistazo */
.resize-control-panel{display:grid;gap:1.1rem}
.resize-upload-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.resize-upload-header h2{margin:0 0 .2rem}
.resize-upload-header p,.resize-file-name{margin:0}
.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.resize-options-visible{display:grid;gap:1rem}
.resize-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.resize-lock{display:flex;align-items:center;gap:.5rem;font-weight:600}
.resize-main-button{justify-self:start}
.resize-tool-card button:disabled,.resize-tool-card input:disabled,.resize-tool-card select:disabled{opacity:.55;cursor:not-allowed}
.audio-tool-card { max-width:900px; }
.audio-tool-status { min-height:3rem; }
.audio-analysis-heading { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.audio-analysis-heading h2,.audio-analysis-heading p { margin:.15rem 0; }
.audio-metadata { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.75rem; margin:0; }
.audio-metadata div { min-width:0; padding:.9rem 1rem; border:1px solid var(--line); border-radius:12px; background:#f8fafc; }
.audio-metadata dt { margin-bottom:.3rem; color:var(--muted); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.audio-metadata dd { margin:0; overflow-wrap:anywhere; color:var(--ink); font-weight:700; }
.audio-intents { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.audio-intents h2,.audio-intents > p { margin:.2rem 0 .8rem; }
.audio-intent-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.audio-intent-button { padding:.85rem 1rem; border:1px solid #c5d1e1; border-radius:10px; color:var(--ink); background:#fff; font:inherit; font-weight:700; text-align:left; cursor:pointer; }
.audio-intent-button:hover,.audio-intent-button:focus-visible,.audio-intent-button[aria-pressed="true"] { color:#fff; border-color:var(--brand); background:var(--brand); }
.audio-decision { margin-top:1rem; padding:1rem 1.1rem; border:1px solid #b9d3c2; border-radius:12px; background:#f2faf4; }
.audio-decision h3,.audio-decision p { margin:.3rem 0; }
.audio-decision-action { color:var(--brand-dark); font-size:.82rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.audio-decision ul { margin:.75rem 0 0; padding-left:1.25rem; color:var(--muted); }
.audio-execution-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; }
.audio-operation-progress { display:block; width:min(100%,28rem); height:.7rem; margin-top:1rem; accent-color:var(--brand); }
.audio-operation-status { min-height:1.4em; margin-top:.65rem!important; }
@media (max-width:560px) { .audio-analysis-heading .button { width:100%; }.audio-metadata,.audio-intent-list { grid-template-columns:1fr; } }
@media(max-width:640px){.resize-dimensions{grid-template-columns:1fr}.resize-file-button,.resize-main-button{width:100%}}

/* Vídeo: estructura inicial de estados */
.video-tool-card{max-width:900px}
.video-state-stack{margin-top:1rem}
.video-state-stack h2{margin:.2rem 0 .45rem}
.video-target-list{display:flex;flex-wrap:wrap;gap:.55rem}
.video-analysis-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.video-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.65rem;margin:1rem 0}
.video-metadata>div{min-width:0;padding:.7rem;border:1px solid var(--line);border-radius:9px;background:#f8fafc}
.video-metadata dt{font-size:.85rem;color:var(--muted)}
.video-metadata dd{margin:.2rem 0 0;overflow-wrap:anywhere;font-weight:650}
.video-target-button{padding:.65rem .8rem;border:1px solid var(--line);border-radius:9px;background:#f8fafc;color:var(--text);font:inherit;cursor:pointer}
.video-target-button[aria-pressed="true"]{border-color:var(--accent);background:#e8f4f4}
.video-target-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.video-decision{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:9px}
.video-decision h3{margin-top:0}
.video-options{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:9px;background:#f8fafc}
.video-options label{display:block;margin:.45rem 0 .25rem;font-weight:650}
.video-options input,.video-options select{max-width:100%;padding:.5rem;border:1px solid var(--line);border-radius:6px;font:inherit}
.video-size-fields{display:flex;gap:.5rem;flex-wrap:wrap}
.video-size-fields input{width:10rem}
.video-download-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}

/* Estado HTML oculto: debe prevalecer sobre layouts de componentes. */
[hidden]{display:none!important}

/* Editor PDF estructural: controles accesibles y tarjetas adaptables. */
.pdf-editor { max-width:1100px; display:grid; gap:1rem; }
.pdf-editor-files,.pdf-editor-toolbar,.pdf-editor-options { display:flex; flex-wrap:wrap; align-items:end; gap:.65rem; }
.pdf-editor-files .field { flex:1 1 230px; }
.pdf-editor-toolbar .button,.pdf-editor-options .button { padding:.62rem .82rem; }
.pdf-editor-options .field { flex:1 1 180px; }
.pdf-editor-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(155px * var(--pdf-preview-zoom,1))),1fr)); gap:.8rem; padding:1rem; min-height:150px; border:2px dashed #b9c9de; border-radius:14px; }
.pdf-editor-grid.is-dragover { border-color:var(--brand); background:#edf5ff; }
.pdf-page-card { min-width:0; padding:.65rem; border:1px solid #ccd7e5; border-radius:11px; background:white; }
.pdf-page-card.is-selected { border:2px solid var(--brand); background:#edf5ff; }
.pdf-page-card canvas { display:block; max-width:100%; max-height:190px; margin:auto; object-fit:contain; }
.pdf-page-preview canvas { width:calc(100% * var(--pdf-preview-zoom,1)); height:auto; }
.pdf-page-preview { display:grid; place-items:center; min-height:120px; cursor:pointer; }
.pdf-page-card button { min-height:36px; }
.pdf-page-actions { display:flex; justify-content:space-between; gap:.25rem; margin-top:.5rem; }
.pdf-page-actions button { padding:.35rem .45rem; }
.pdf-page-card label { display:flex; align-items:center; gap:.35rem; margin-top:.4rem; font-weight:650; }
.pdf-editor-extra { padding:1rem; border:1px solid #d5dfeb; border-radius:12px; background:#fbfcff; }
.pdf-editor-extra h2 { margin:0 0 .65rem; font-size:1.08rem; }
.pdf-editor-extra summary { cursor:pointer; font-weight:750; }
.pdf-editor-extra[open] summary { margin-bottom:.8rem; }
.pdf-image-item { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; padding:.5rem 0; border-bottom:1px solid #e2e8f0; }
.pdf-image-item span { flex:1 1 160px; overflow-wrap:anywhere; }
.pdf-image-item button { padding:.35rem .5rem; }
.pdf-metadata-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.pdf-metadata-grid .field label:has(input[type=checkbox]) { display:flex; align-items:center; gap:.4rem; }
.pdf-metadata-grid input[type=checkbox] { width:auto; }
@media(max-width:600px){.pdf-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:.55rem}.pdf-editor-toolbar .button{flex:1 1 42%}.pdf-editor-options .button{flex:1 1 42%}}
@media(max-width:600px){.pdf-metadata-grid{grid-template-columns:1fr}}

/* Calculadora de paro 2026 */
.unemployment-hero{max-width:820px}
.unemployment-partial-note{margin-top:1.2rem;padding:.85rem;border-left:3px solid #e5c66d;background:#fffaf0;color:#5f4710}
.unemployment-partial-note strong{display:block;margin-bottom:.2rem}
.unemployment-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.unemployment-results .result-card strong{white-space:nowrap;overflow-wrap:normal;font-size:clamp(1.15rem,4vw,1.5rem);font-variant-numeric:tabular-nums}
.unemployment-results .result-card.primary strong{font-size:clamp(1.4rem,5vw,2rem)}
.unemployment-detail,.unemployment-limit{margin:1rem 0 0;padding:.85rem 1rem;border-radius:12px;background:#fff;color:#38465a;border:1px solid var(--line);font-size:.9rem}
.unemployment-limit{background:#f5f9ff;border-color:#cbdcf5}
.unemployment-timeline{display:flex;overflow:hidden;margin-top:1rem;border-radius:10px;color:#fff;background:#dce3ee;font-size:.78rem;font-weight:750;text-align:center}
.unemployment-timeline[hidden]{display:none!important}
.unemployment-timeline div{min-width:0;padding:.65rem .35rem;background:var(--brand)}
.unemployment-timeline div+div{background:#5e789e}
@media(max-width:499px){.unemployment-timeline{display:grid}.unemployment-timeline div{padding:.55rem}}

/* Calculadora de finiquito e indemnización 2026 */
.severance-hero{max-width:850px}
.severance-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.severance-results .result-card strong{white-space:nowrap;overflow-wrap:normal;font-size:clamp(1.05rem,4vw,1.5rem);font-variant-numeric:tabular-nums}
.severance-results .result-card.primary strong{font-size:clamp(1.25rem,5vw,2rem)}
.severance-detail{margin:1rem 0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:#f5f9ff;color:#38465a;font-size:.9rem}
.severance-page .info-table{margin-top:1rem}
.severance-page .info-table th{font-weight:500;color:var(--muted)}
.severance-page .info-table caption{padding-top:.5rem}
@media(max-width:420px){.severance-results .result-card strong{white-space:normal;overflow-wrap:anywhere}}

/* VendeCifra V1: identidad compartida y portada. Las herramientas mantienen sus layouts funcionales. */
:root{--ink:#173039;--muted:#587078;--brand:#087d7e;--brand-dark:#065d61;--bg:#f5faf9;--card:#fff;--line:#d6e5e5;--good:#087651;--radius:18px}
body{background:var(--bg)}
.site-header{position:relative;z-index:50;background:#092e32;border-bottom:1px solid rgba(153,236,225,.18);color:#f4ffff}
.header-inner{max-width:1240px;min-height:78px;padding:.85rem clamp(1rem,3vw,2rem);gap:clamp(.8rem,2.5vw,2rem)}
.brand{flex:none;color:#f7ffff;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:820;letter-spacing:-.055em;white-space:nowrap}
.brand span{color:#70e0d2}
.site-nav{display:flex;align-items:center;gap:clamp(.3rem,1.35vw,1.2rem);min-width:0}
.site-nav>a,.site-nav summary{display:inline-flex;align-items:center;min-height:44px;padding:.4rem .65rem;color:#e1f3f1;text-decoration:none;font-size:.91rem;font-weight:650;white-space:nowrap;border-radius:10px}
.site-nav>a:hover,.site-nav>a:focus-visible,.site-nav summary:hover,.site-nav summary:focus-visible,.site-nav a[aria-current="page"]{color:#fff;background:rgba(116,230,219,.15)}
.site-nav details{position:relative;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.site-nav summary{cursor:pointer;list-style:none}
.site-nav summary::-webkit-details-marker{display:none}
.site-nav summary::after{content:"⌄";margin-left:.45rem;color:#83ded3;font-size:1rem}
.site-nav details[open] summary{color:#fff;background:rgba(116,230,219,.15)}
.site-nav .nav-panel{position:absolute;top:calc(100% + .6rem);left:0;z-index:60;width:min(720px,calc(100vw - 2rem));max-height:min(70vh,570px);overflow:auto;padding:1.15rem;border:1px solid #c9e4e1;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 24px 56px rgba(3,37,41,.25)}
.site-nav .nav-tool-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.25rem}
.nav-group{display:grid;align-content:start;gap:.2rem}
.site-nav .nav-group a,.site-nav .nav-category-panel a{display:block;padding:.36rem .5rem;border-radius:7px;color:#294b51;text-decoration:none;font-size:.84rem;line-height:1.35}
.site-nav .nav-group a:hover,.site-nav .nav-category-panel a:hover,.site-nav .nav-group a:focus-visible,.site-nav .nav-category-panel a:focus-visible{background:#e7f7f5;color:#054f53}
.site-nav .nav-group .nav-group-title{color:#075e61;font-weight:800}
.site-nav .nav-category-panel{display:grid;gap:.1rem;width:250px;list-style:none;margin:0}
.header-explore{flex:none;padding:.7rem 1rem;border:1px solid rgba(117,226,213,.55);border-radius:999px;color:#e9ffff;text-decoration:none;font-size:.86rem;font-weight:700}
.header-explore:hover,.header-explore:focus-visible{background:#0b696a}
main{max-width:1240px}
.card,.result-card,.form-card{box-shadow:0 12px 30px rgba(13,69,70,.055)}
.button{border-radius:12px;background:linear-gradient(135deg,#0b8d8d,#056268)}
.button:hover,.button:focus-visible{background:#06565c}
.field input:focus,.field select:focus{outline-color:#9be4d9}
:focus-visible{outline:3px solid #32b9ab;outline-offset:3px}
.site-footer{background:#fff;border-top:1px solid var(--line);color:#4c6770}
.footer-inner{max-width:1240px;align-items:start;gap:1.25rem 2rem;padding:.2rem clamp(0px,1vw,1rem)}
.footer-brand .brand{color:#11393d}.footer-brand .brand span{color:#078785}
.footer-brand p{margin:.25rem 0 0;font-size:.86rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-self:center}
.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline;color:var(--brand-dark)}
.footer-signoff{flex-basis:100%;margin:.4rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem}

.home-page main{max-width:none;padding:0;overflow:clip}
.home-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 72% 36%,#0c6969 0,#0a4144 34%,#082b32 75%)}
.home-hero::before,.home-hero::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(114,227,216,.14);border-radius:50%;transform:rotate(-20deg)}
.home-hero::before{width:80vw;height:26vw;left:-22vw;bottom:-17vw}.home-hero::after{width:72vw;height:18vw;right:-20vw;top:-10vw}
.home-hero-inner{position:relative;z-index:1;max-width:1240px;margin:auto;padding:clamp(3.5rem,7vw,7rem) clamp(1.1rem,4vw,2rem) clamp(5rem,8vw,8rem);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.hero-kicker,.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.hero-kicker{color:#9eede6}
.home-hero h1{max-width:780px;margin:1.2rem 0;font-size:clamp(2.8rem,5.4vw,5.25rem);line-height:1.04;letter-spacing:-.065em}
.home-hero h1 span,.home-categories h2 em,.home-cta h2 span{color:#7ce6d8;font-style:normal}
.hero-intro{max-width:53ch;margin:0 0 1.65rem;color:#d1e7e6;font-size:clamp(1rem,1.5vw,1.2rem)}
.tool-search{max-width:610px}.tool-search label{display:block;margin-bottom:.55rem;font-weight:750;font-size:.88rem}
.search-control{display:flex;align-items:center;gap:.7rem;padding:.4rem .4rem .4rem 1.05rem;border:1px solid #b7e8e3;border-radius:999px;background:#fff;color:#0d4a50;box-shadow:0 16px 36px rgba(0,22,27,.2)}
.search-control>span{font-size:1.65rem;line-height:1}.search-control input{min-width:0;flex:1;padding:.65rem .2rem;border:0;outline:0;color:var(--ink);font:inherit}
.search-control:focus-within{outline:3px solid #7fe4d9;outline-offset:3px}.search-control button{min-height:42px;padding:.6rem 1.25rem;border:0;border-radius:999px;background:var(--brand);color:#fff;font:inherit;font-weight:750;cursor:pointer}.search-control button:hover{background:var(--brand-dark)}
.hero-search-help{color:#c4e2df;font-size:.84rem}.hero-search-help a{color:#9ff0e6;text-underline-offset:3px}
.hero-brand-art{position:relative;display:grid;place-items:center;min-width:0}.hero-brand-art img{display:block;width:min(100%,500px);height:auto;mix-blend-mode:lighten;border-radius:20px;box-shadow:0 0 90px rgba(2,38,40,.2)}.hero-brand-art p{margin:-.9rem 0 0;color:#a5eee4;font-size:.92rem;font-weight:700;letter-spacing:.08em;text-align:center}
.hero-wave{position:absolute;right:-5%;bottom:-6vw;left:-5%;height:8vw;min-height:75px;background:var(--bg);border-radius:50% 50% 0 0/85% 85% 0 0}
.home-intro-bar{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1180px;margin:-2.3rem auto 0;padding:1.35rem 1.8rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 15px 40px rgba(3,51,56,.08)}
.home-intro-bar div{display:grid;gap:.13rem;padding-left:1rem;border-left:3px solid #74d6ca}.home-intro-bar strong{font-size:.92rem}.home-intro-bar span{color:var(--muted);font-size:.83rem}
.home-section{max-width:1240px;margin:auto;padding:clamp(3.5rem,6vw,5rem) clamp(1.1rem,4vw,2rem) 0;scroll-margin-top:1rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.section-heading .eyebrow{margin:0 0 .45rem;color:#0b7e80}.section-heading h2{margin:0;font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.1;letter-spacing:-.055em}.section-heading h3{margin:0;font-size:clamp(1.4rem,2vw,1.9rem);letter-spacing:-.04em}.section-heading p:not(.eyebrow){margin:.55rem 0 0;color:var(--muted)}.section-heading>a{flex:none;color:#075e62;font-size:.87rem;font-weight:750;text-decoration:none}.section-heading>a:hover{text-decoration:underline}
.home-categories h2 em{color:#087c7c}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.category-card{display:grid;align-content:start;gap:.35rem;min-width:0;min-height:190px;padding:1.3rem;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 10px 25px rgba(14,74,77,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.category-card:hover,.category-card:focus-visible,.home-tool-card:hover,.home-tool-card:focus-visible{transform:translateY(-3px);border-color:#88cec8;box-shadow:0 18px 34px rgba(8,80,84,.1)}
.category-icon,.tool-card-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:12px;color:#fff;background:linear-gradient(140deg,#099990,#084d56);font-size:1.35rem;font-weight:800}.category-card strong{margin-top:.45rem;font-size:1.06rem}.category-card>span:not(.category-icon){color:var(--muted);font-size:.85rem}.category-card small{margin-top:auto;padding-top:.5rem;color:#0b7474;font-weight:750}
.home-tool-directory{padding-bottom:4.5rem}.search-status{min-height:1.5em;color:#076c6d;font-weight:700}.tool-directory{display:grid;gap:3rem}.tool-category{scroll-margin-top:1.5rem}.tool-category[hidden],.home-tool-card[hidden],.search-empty[hidden]{display:none!important}.tool-category .section-heading{margin-bottom:1rem}.tool-category .eyebrow{letter-spacing:.14em}
.home-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.home-tool-card{position:relative;display:grid;align-content:start;gap:.4rem;min-height:206px;min-width:0;padding:1.1rem 1.15rem;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 7px 22px rgba(13,75,79,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tool-card-icon{width:2.4rem;height:2.4rem;font-size:1.15rem}.tool-card-category{margin-top:.3rem;color:#187d7e;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.home-tool-card strong{font-size:1rem;line-height:1.25}.tool-card-description{padding-right:.8rem;color:var(--muted);font-size:.82rem;line-height:1.4}.tool-card-arrow{position:absolute;right:1rem;bottom:1rem;color:#087c7c;font-size:1.2rem;font-weight:800}.search-empty{padding:1.2rem;border:1px dashed #9bcac7;border-radius:12px;background:#fff}.search-empty button{padding:0;border:0;background:transparent;color:var(--brand-dark);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.home-cta{position:relative;display:flex;align-items:center;max-width:1176px;min-height:320px;margin:0 auto 4.5rem;padding:clamp(2rem,5vw,4rem);overflow:hidden;border-radius:24px;background:radial-gradient(circle at 70% 40%,#0c6464,#082e34 65%);color:#fff}.home-cta>div{position:relative;z-index:2;max-width:570px}.home-cta .eyebrow{color:#9eeade}.home-cta h2{margin:.5rem 0 1rem;font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.12;letter-spacing:-.05em}.home-cta p:not(.eyebrow){max-width:48ch;color:#d1e5e3}.home-cta .button{margin-top:.6rem;background:#79e6d8;color:#08383d}.home-cta .button:hover{background:#adf2e9}.home-cta img{position:absolute;right:-4%;width:48%;height:115%;object-fit:cover;opacity:.36;mix-blend-mode:screen}
@media(max-width:1100px){.header-explore,.nav-support{display:none!important}.site-nav .nav-panel{position:fixed;top:4.8rem;left:1rem;right:1rem;width:auto;max-height:calc(100vh - 5.8rem)}.home-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.header-inner{align-items:center;flex-wrap:wrap}.site-nav{order:3;width:100%;justify-content:space-between}.site-nav .nav-panel{position:fixed;top:7.8rem;left:1rem;right:1rem;width:auto;max-height:calc(100vh - 8.8rem)}.site-nav .nav-tool-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero-inner{grid-template-columns:1fr;padding-top:3.6rem;gap:1rem}.home-hero h1{max-width:650px}.hero-brand-art{display:none}.home-intro-bar{margin:-1rem 1rem 0}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-cta{margin:0 1rem 3rem}.home-cta img{right:-15%;width:65%}}
@media(max-width:580px){.header-inner{gap:.4rem;padding:.65rem 1rem}.brand{font-size:1.45rem}.site-nav{gap:.1rem}.site-nav>a,.site-nav summary{padding:.35rem .55rem;font-size:.83rem}.site-nav .nav-panel{top:6.4rem}.site-nav .nav-tool-panel{grid-template-columns:1fr 1fr;max-height:calc(100vh - 7.4rem);padding:.75rem}.home-hero-inner{padding:3rem 1.1rem 5rem}.home-hero h1{font-size:clamp(2.65rem,11vw,4rem)}.search-control{gap:.3rem;padding-left:.7rem}.search-control button{padding:.55rem .8rem}.home-intro-bar{grid-template-columns:1fr;padding:1rem 1.2rem}.home-section{padding:3.25rem 1rem 0}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:.8rem}.category-grid,.home-tool-grid{grid-template-columns:1fr 1fr;gap:.65rem}.category-card{min-height:175px;padding:1rem}.home-tool-card{min-height:210px;padding:.9rem}.home-cta{min-height:340px;padding:2rem}.home-cta img{width:100%;right:-45%;opacity:.18}.footer-inner{display:grid}}
@media(max-width:390px){.site-nav .nav-tool-panel{grid-template-columns:1fr}.category-grid,.home-tool-grid{grid-template-columns:1fr}.category-card,.home-tool-card{min-height:auto}.home-tool-card{padding-bottom:2.5rem}.home-hero h1{font-size:2.5rem}.search-control>span{display:none}}
