/* Insights + Hablemos. Scoped to the editorial surfaces; portfolio is untouched. */
.editorial-hero { padding:150px 0 76px; position:relative; background:radial-gradient(ellipse at 95% 15%,var(--ambient-warm),transparent 55%); border-bottom:1px solid var(--line); }
.editorial-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; margin:0 0 42px; color:var(--muted); font:500 11px/1.5 Inter,Arial,sans-serif; }
.editorial-breadcrumb a:hover { color:var(--orange); }
.editorial-hero h1 { margin:0; color:var(--text); font:600 clamp(46px,6.3vw,86px)/1.05 Raleway,Arial,sans-serif; letter-spacing:-.055em; text-transform:none; overflow-wrap:normal; }
.editorial-hero h1 em { font-style:normal; color:var(--orange); }
.editorial-lead { max-width:570px; margin:26px 0 30px; color:var(--muted); font:400 17px/1.8 Inter,Arial,sans-serif; }
.insights-hero-grid,.contact-hero-grid { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:64px; }
.editorial-cover,.contact-connect-card { border:1px solid var(--glass-border); border-radius:22px; background:var(--glass); box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.15); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.hero-notebook { padding:30px; transform:rotate(3deg); position:relative; background-image:linear-gradient(var(--ambient-grid) 1px,transparent 1px); background-size:100% 34px; }
.cover-label { display:block; font:600 9px/1.5 Inter,Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); }
.notebook-line { margin:42px 0 38px; font:500 clamp(35px,4.2vw,58px)/1.08 Raleway,Arial,sans-serif; letter-spacing:-.055em; color:var(--text); }
.notebook-line em { font-style:normal; color:var(--orange); }
.notebook-footer { border-top:1px solid var(--line); padding-top:20px; display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:11px; line-height:1.6; }
.notebook-footer > span:last-child { font-size:36px; color:var(--orange); }
.editorial-section { padding:76px 0; }
.editorial-section-head { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:60px; margin-bottom:36px; }
.editorial-section h2,.editorial-cta h2,.contact-aside h2 { font:500 clamp(30px,3.8vw,49px)/1.13 Raleway,Arial,sans-serif; letter-spacing:-.045em; text-transform:none; margin:0; color:var(--text); }
.editorial-section-head > p,.editorial-cta p:not(.eyebrow),.contact-aside > p:not(.eyebrow) { color:var(--muted); font-size:15px; line-height:1.8; margin:0; }
.insights-controls { display:flex; justify-content:space-between; align-items:end; gap:24px; border-bottom:1px solid var(--line); padding-bottom:24px; }
.insights-filters { display:flex; gap:8px; flex-wrap:wrap; }
.insights-filters button,.article-tools button,.brief-copy,.brief-back,.review-heading button { cursor:pointer; font:500 12px/1.4 Inter,Arial,sans-serif; color:var(--text); }
.insights-filters button { padding:12px 17px; min-height:44px; border-radius:24px; background:var(--glass); border:1px solid var(--line); transition:background .2s,color .2s,border-color .2s; }
.insights-filters button[aria-pressed="true"] { background:var(--text); color:var(--paper); border-color:var(--text); }
.insights-search { width:260px; max-width:100%; }
.insights-search label { display:block; color:var(--muted); font-size:11px; margin-bottom:8px; }
.insights-search input { width:100%; min-height:44px; padding:12px 15px; background:var(--glass); color:var(--text); border:1px solid var(--line); border-radius:12px; font:400 14px/1.4 Inter,Arial,sans-serif; }
.insights-result { margin:18px 0 24px; color:var(--muted); font-size:11px; }
.insights-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.insight-card { min-width:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--glass); transition:border-color .3s,box-shadow .3s; }
.insight-card:hover { border-color:var(--orange); box-shadow:var(--shadow); }
.insight-cover { display:flex; flex-direction:column; justify-content:space-between; min-height:285px; padding:26px; background:radial-gradient(ellipse at 100% 100%,var(--ambient-warm),transparent 75%),var(--panel); }
.insight-cover strong { display:block; margin:20px 0; color:var(--text); font:500 clamp(32px,3.4vw,44px)/1.05 Raleway,Arial,sans-serif; letter-spacing:-.045em; transition:transform .35s; }
.insight-cover:hover strong { transform:translateX(5px); }
.insight-cover em { font-style:normal; color:var(--orange); }
.cover-branding { background:radial-gradient(ellipse at 100% 100%,var(--ambient-cool),transparent 75%),var(--panel); }
.cover-contenido { background:linear-gradient(145deg,var(--panel),var(--glass)); }
.cover-foot { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; border-top:1px solid var(--line); padding-top:13px; }
.cover-foot span { color:var(--orange); font-size:24px; }
.insight-card-body { padding:26px; }
.insight-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:10px; color:var(--muted); margin-bottom:18px; }
.insight-meta span:first-child { color:var(--orange); }
.insight-card h3,.editorial-mini-card h3 { font:600 22px/1.3 Raleway,Arial,sans-serif; letter-spacing:-.025em; margin:0 0 16px; color:var(--text); text-transform:none; }
.insight-card-body > p,.editorial-mini-card p { color:var(--muted); font:400 14px/1.85 Inter,Arial,sans-serif; margin:0 0 22px; }
.editorial-text-link,.editorial-mini-card > a { display:inline-flex; align-items:center; gap:12px; color:var(--text); font:600 12px/1.5 Inter,Arial,sans-serif; text-decoration:underline; text-underline-offset:5px; }
.editorial-text-link:hover,.editorial-mini-card a:hover { color:var(--orange); }
.insights-empty { padding:32px; border:1px dashed var(--line); border-radius:16px; color:var(--muted); }
.insights-empty strong { color:var(--text); }.insights-empty p { margin:14px 0 24px; }
.editorial-route { border-top:1px solid var(--line); background:var(--glass); }
.editorial-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:36px; }
.editorial-mini-card { padding:26px; border:1px solid var(--line); border-radius:16px; background:var(--glass); min-width:0; }
.editorial-mini-card > span { display:block; color:var(--orange); font:600 10px/1.5 Inter,Arial,sans-serif; margin-bottom:26px; }
.editorial-cta { margin:12px 32px; border:1px solid var(--glass-border); border-radius:22px; background:linear-gradient(120deg,var(--glass),var(--ambient-warm)); padding:48px 0; }
.editorial-cta > .container { display:flex; align-items:center; justify-content:space-between; gap:36px; width:calc(100% - 64px); }
.editorial-cta p:not(.eyebrow) { max-width:560px; margin:20px 0 0; }
.editorial-cta .btn { flex-shrink:0; }
.insights-page > .editorial-cta { margin-bottom:40px; }
/* Comfortable measure and a useful, sticky table of contents. */
.article-hero { padding-bottom:52px; }
.article-hero h1 { max-width:990px; font-size:clamp(38px,5.1vw,67px); line-height:1.11; }
.article-hero .editorial-lead { max-width:730px; }
.article-byline { display:flex; flex-wrap:wrap; gap:12px 24px; font:400 11px/1.7 Inter,Arial,sans-serif; color:var(--muted); }
.article-byline a { color:var(--text); text-decoration:underline; text-underline-offset:4px; }
.article-layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:64px; padding-top:58px; padding-bottom:64px; align-items:start; }
.article-sidebar { position:sticky; top:132px; }
.article-sidebar .article-index { display:grid; gap:0; padding:0; margin:0; background:none; border:0; max-height:calc(100svh - 240px); overflow:auto; }
.article-index strong { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--text); padding-bottom:14px; }
.article-sidebar .article-index a { display:block; padding:10px 0; border-top:1px solid var(--line); font:400 12px/1.55 Inter,Arial,sans-serif; color:var(--muted); }
.article-index a:hover,.article-index a:focus-visible { color:var(--orange); }
.article-body { width:100%; max-width:720px; margin:0; min-width:0; }
.editorial-article .article-body h2 { font:600 clamp(25px,2.6vw,33px)/1.25 Raleway,Arial,sans-serif; letter-spacing:-.025em; margin:52px 0 20px; text-transform:none; scroll-margin-top:132px; color:var(--text); }
.editorial-article .article-body h3 { font:600 21px/1.4 Raleway,Arial,sans-serif; margin:30px 0 15px; letter-spacing:-.02em; color:var(--text); }
.editorial-article .article-body p,.editorial-article .article-body li { color:var(--muted); font:400 16px/1.95 Inter,Arial,sans-serif; }
.article-body p { margin:0 0 20px; }
.article-body strong { color:var(--text); font-weight:600; }
.article-body ul,.article-body ol { padding-left:23px; margin:20px 0; }
.article-body li + li { margin-top:10px; }
.article-body a { color:var(--text); text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--orange); overflow-wrap:anywhere; }
.article-body a:hover { color:var(--orange); }
.article-summary { padding:28px; margin:28px 0; border:1px solid var(--line); border-left:3px solid var(--orange); border-radius:0 16px 16px 0; background:var(--glass); }
.article-summary p:last-child,.article-source-note p:last-child { margin-bottom:0; }
.editorial-article .article-summary .eyebrow { color:var(--orange); font-size:10px; line-height:1.4; margin-bottom:15px; }
.article-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:26px 0; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.article-flow span { padding:20px 12px; font:500 11px/1.6 Inter,Arial,sans-serif; color:var(--text); background:var(--glass); }
.article-flow span+span { border-left:1px solid var(--line); }.article-flow span+span::before { content:'→ '; color:var(--orange); }
.article-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:14px; margin:28px 0; }
.article-table-wrap table { width:100%; min-width:460px; border-collapse:collapse; text-align:left; font:400 13px/1.8 Inter,Arial,sans-serif; color:var(--muted); }
.article-table-wrap caption { text-align:left; padding:16px; font-weight:600; color:var(--text); background:var(--glass); }
.article-table-wrap th,.article-table-wrap td { padding:16px; vertical-align:top; border-top:1px solid var(--line); }
.article-table-wrap th { color:var(--text); font-weight:600; }.article-table-wrap tbody th { width:24%; }
.article-checklist { background:var(--glass); border:1px solid var(--line); border-radius:16px; padding:6px 26px 16px; margin:26px 0; }
.article-source-note { border-top:1px solid var(--line); margin-top:44px; padding-top:24px; }
.editorial-article .article-source-note p { font-size:12px; line-height:1.8; margin-top:10px; }
.article-tools { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.article-tools button { border:1px solid var(--line); border-radius:9px; background:var(--glass); padding:12px 10px; min-height:44px; font-size:10px; }
.article-tools > span { flex-basis:100%; color:var(--muted); font-size:11px; }
.article-copy-fallback { display:grid; gap:6px; font-size:11px; width:100%; }
.article-copy-fallback input { width:100%; min-width:0; background:var(--panel); color:var(--text); padding:10px; border:1px solid var(--line); border-radius:8px; }
.article-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0; }
.editorial-faq { border-bottom:1px solid var(--line); padding:20px 0; }
.editorial-faq summary { cursor:pointer; color:var(--text); font:600 15px/1.6 Inter,Arial,sans-serif; padding-right:16px; }
.editorial-faq p { color:var(--muted); font-size:14px; line-height:1.9; margin:16px 0 0; }
/* Contact workspace: no visual decoration in place of actual functionality. */
.contact-hero-grid { grid-template-columns:1.4fr 1fr; gap:48px; }
.contact-hero h1 { font-size:clamp(42px,5.8vw,78px); }
.contact-hero .hero-actions { align-items:center; gap:20px; flex-wrap:wrap; }
.contact-connect-card { padding:30px; background:radial-gradient(ellipse at 0 100%,var(--ambient-cool),transparent 70%),var(--glass); }
.contact-status { display:flex; gap:8px; align-items:center; color:var(--muted); font-size:10px; }
.contact-status i { width:6px; height:6px; background:var(--orange); border-radius:50%; }
.connect-statement { font:500 clamp(24px,3.1vw,38px)/1.22 Raleway,Arial,sans-serif; letter-spacing:-.035em; margin:36px 0; }
.connect-statement em { color:var(--orange); font-style:normal; }
.contact-chips { display:flex; flex-wrap:wrap; gap:8px; }
.contact-chips span { padding:8px 11px; border:1px solid var(--line); border-radius:20px; font-size:10px; color:var(--muted); }
.contact-connect-card > p:last-child { font-size:11px; line-height:1.7; color:var(--muted); border-top:1px solid var(--line); padding-top:18px; margin:24px 0 0; }
.contact-workspace-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:48px; align-items:start; }
.contact-aside { position:sticky; top:132px; }
.contact-aside > p:not(.eyebrow) { margin-top:24px; }
.contact-direct { margin:32px 0; }
.contact-direct-link { display:grid; grid-template-columns:1fr 20px; gap:8px; padding:20px 0; border-top:1px solid var(--line); }
.contact-direct-link > span:first-child { font-size:10px; color:var(--muted); }.contact-direct-link strong { grid-column:1; font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.contact-direct-link > span:last-child { grid-column:2; grid-row:1/3; align-self:center; color:var(--orange); font-size:24px; }
.contact-direct-link:hover strong { color:var(--orange); }
.contact-expectation { padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--glass); }
.contact-expectation ol { padding-left:18px; margin:16px 0; }.contact-expectation li { font-size:12px; line-height:1.8; color:var(--muted); margin-bottom:12px; }
.contact-expectation strong { color:var(--text); font-weight:600; }.contact-expectation > p { font-size:11px; color:var(--muted); line-height:1.8; margin:0; }
.brief-shell { border-radius:24px; border:1px solid var(--glass-border); background:var(--glass-strong); box-shadow:var(--shadow); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); padding:32px; min-width:0; }
.contact-page .brief-form { display:block; padding:0; border:0; border-radius:0; background:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.brief-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; list-style:none; padding:0; margin:0 0 32px; }
.brief-steps li { border-top:2px solid var(--line); padding-top:12px; font:400 10px/1.5 Inter,Arial,sans-serif; color:var(--muted); }
.brief-steps li.is-reached { border-color:var(--orange); color:var(--text); }.brief-steps li > span { display:block; font:500 12px/1.5 Inter,Arial,sans-serif; margin-bottom:6px; }
.brief-heading { outline:none; }.brief-heading h2 { font-size:clamp(26px,3vw,36px); }.brief-heading .eyebrow { margin-bottom:12px; }
.brief-heading > p:last-child { color:var(--muted); font-size:13px; line-height:1.8; margin:16px 0 28px; }
.brief-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; padding:0; border:0; margin:0; min-width:0; }
.contact-page .field { min-width:0; }
.contact-page .field label { text-transform:none; letter-spacing:0; color:var(--text); font:500 12px/1.6 Inter,Arial,sans-serif; }
.contact-page .field input,.contact-page .field textarea,.contact-page .field select { min-height:48px; padding:13px; border:1px solid var(--line); border-radius:11px; background:var(--paper); color:var(--text); font:400 14px/1.6 Inter,Arial,sans-serif; }
.contact-page .field input::placeholder,.contact-page .field textarea::placeholder { color:var(--muted); opacity:.85; }
.contact-page .field textarea { min-height:164px; }
.contact-page .field select { appearance:auto; }
.contact-page .field input[aria-invalid="true"],.contact-page .field textarea[aria-invalid="true"] { border-color:var(--orange); box-shadow:0 0 0 1px var(--orange); }
.contact-page .field small { color:var(--muted); font-size:10px; line-height:1.75; }
.field-error { color:var(--orange); font-size:11px; line-height:1.6; }
.brief-errors { padding:16px; border:1px solid var(--orange); border-radius:12px; background:var(--ambient-warm); margin-bottom:24px; font-size:12px; line-height:1.8; }
.brief-errors ul { margin:8px 0 0; padding-left:18px; }.brief-errors button { color:var(--text); background:none; border:0; text-align:left; text-decoration:underline; font:inherit; cursor:pointer; }
.brief-count { display:block; text-align:right; }
.brief-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:28px; }
.brief-back { margin-right:auto; border:0; background:none; min-height:44px; }.brief-actions .btn { white-space:normal; min-height:48px; }
.brief-privacy { font-size:10px; line-height:1.8; color:var(--muted); margin:22px 0 0; }
.review-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; font-size:12px; }.review-heading button { border:0; background:none; color:var(--orange); text-decoration:underline; min-height:44px; }
.brief-preview { display:block; width:100%; padding:18px; border-radius:12px; border:1px solid var(--line); background:var(--paper); color:var(--text); font:400 12px/1.8 Inter,Arial,sans-serif; resize:vertical; min-height:290px; }
.brief-copy { display:block; padding:12px 0; border:0; background:none; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
.brief-channels { border:0; padding:0; margin:20px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.brief-channels legend { font-size:12px; color:var(--text); margin-bottom:12px; }
.brief-channels label { padding:15px 12px; border:1px solid var(--line); border-radius:12px; font-size:13px; cursor:pointer; background:var(--glass); }
.brief-channels label.selected { border-color:var(--orange); }.brief-channels input { accent-color:var(--orange); margin-right:8px; }
.brief-channels span { display:block; font-size:10px; color:var(--muted); margin:8px 0 0; }
.contact-page .form-feedback { padding:18px; border:1px solid var(--line); border-radius:12px; margin-top:20px; color:var(--text); font-size:12px; line-height:1.8; }.form-feedback p { margin:0 0 12px; }.form-feedback a { text-decoration:underline; text-underline-offset:4px; }
.contact-faq { border-top:1px solid var(--line); background:var(--glass); }
.contact-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; align-items:start; }
.insights-page [hidden],.editorial-article [hidden],.contact-page [hidden] { display:none!important; }
.insights-page :focus-visible,.editorial-article :focus-visible,.contact-page :focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
@media (max-width:1000px) {
  .insights-hero-grid,.contact-hero-grid { gap:28px; }.hero-notebook,.contact-connect-card { padding:24px; }
  .contact-workspace-grid { grid-template-columns:.7fr 1.3fr; gap:28px; }.brief-shell { padding:24px; }
  .article-layout { grid-template-columns:190px minmax(0,1fr); gap:34px; }
  .insight-card-body,.insight-cover { padding:22px; }.insight-card h3 { font-size:20px; }
}
@media (max-width:800px) {
  .editorial-hero { padding:140px 0 52px; }.insights-hero-grid,.contact-hero-grid { grid-template-columns:1fr; gap:36px; }.editorial-hero h1 { font-size:clamp(40px,8vw,64px); }
  .hero-notebook { transform:none; }.notebook-line { margin:26px 0; font-size:40px; }
  .editorial-section { padding:52px 0; }.editorial-section-head { grid-template-columns:1fr; gap:20px; }
  .insights-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.editorial-route-grid { grid-template-columns:1fr; }
  .insights-controls { align-items:start; flex-direction:column; }.insights-search { width:100%; }
  .article-layout { grid-template-columns:1fr; gap:32px; }.article-sidebar,.contact-aside { position:static; }.article-sidebar .article-index { max-height:none; }
  .article-sidebar .article-index { padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--glass); }
  .article-body { max-width:none; }.article-hero h1 { font-size:clamp(34px,6.8vw,54px); }
  .contact-workspace-grid { grid-template-columns:1fr; gap:36px; }.contact-direct { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .editorial-cta > .container { flex-direction:column; align-items:start; }.editorial-cta { margin-inline:20px; }
}
@media (max-width:520px) {
  .editorial-hero { padding-top:125px; }.editorial-breadcrumb { margin-bottom:28px; }
  .editorial-hero h1 { font-size:clamp(35px,9.5vw,43px); }.article-hero h1 { font-size:clamp(28px,8.5vw,34px); line-height:1.16; }
  .editorial-lead { font-size:15px; margin:22px 0; }.insights-card-grid,.article-related-grid,.contact-faq-grid,.contact-direct { grid-template-columns:1fr; }
  .insight-cover { min-height:250px; }.insight-cover strong { font-size:40px; }
  .editorial-cta { margin:8px 12px 28px; padding:30px 0; }.editorial-cta > .container { width:calc(100% - 36px); }.editorial-cta .btn { max-width:100%; }
  .article-layout { padding-top:32px; gap:24px; }.editorial-article .article-body p,.editorial-article .article-body li { font-size:15px; line-height:1.9; }
  .article-summary { padding:20px; }.article-flow { grid-template-columns:1fr; }.article-flow span+span { border-left:0; border-top:1px solid var(--line); }.article-flow span { padding:14px; }
  .article-checklist { padding-inline:20px; }.brief-shell { padding:20px 16px; border-radius:18px; }
  .brief-fields { grid-template-columns:1fr; }.brief-steps { gap:8px; }.brief-steps li { font-size:9px; }
  .brief-channels { gap:8px; }.brief-actions { gap:10px; }.brief-actions .btn { font-size:11px; padding:14px; }
}
@media (prefers-reduced-motion:reduce) { .insight-cover strong { transition:none; transform:none!important; } }
@media print {
  html,body { background:#fff!important; color:#000!important; }
  .site-header,.site-footer,.global-signal,.whatsapp-float,.scroll-progress,.article-sidebar,.editorial-cta,.article-related { display:none!important; }
  body > main { width:100%; margin:0; border:0; box-shadow:none; border-radius:0; background:#fff!important; }
  .article-hero { padding:0 0 24px; background:none; }.editorial-breadcrumb { display:none; }
  .article-layout { display:block; padding:24px 0; }.container { width:100%; }.article-body { max-width:none; }
  .editorial-article h1,.editorial-article h2,.editorial-article h3,.editorial-article p,.editorial-article li,.editorial-article strong { color:#000!important; }
  .motion-pending,.motion-word { opacity:1!important; transform:none!important; filter:none!important; }
  .article-table-wrap { overflow:visible; }.article-table-wrap table { min-width:0; }
  .editorial-faq > :not(summary) { display:block!important; }.article-body h2 { break-after:avoid; }.article-checklist { break-inside:avoid; }
}
