
:root{
  --bg:#ffffff;--text:#1a1d21;--muted:#66707a;--gold:#a88445;--line:#e2e5e8;
  --soft:#f6f7f8;--header:#050505;--headerText:#f7f7f7;--max:1180px;--read:820px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16.5px/1.68 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:#765b2d;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#3f2f17}
header{border-bottom:1px solid #222;background:var(--header);position:sticky;top:0;z-index:30}
.nav{max-width:var(--max);margin:auto;padding:16px 24px;display:flex;gap:28px;align-items:center}
.brand{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:650;color:var(--headerText);text-decoration:none;font-size:1.08rem;margin-right:auto}
.navlinks{display:flex;gap:10px;align-items:center}
.nav-item{position:relative}
.nav-item>a,.nav-item>button{display:flex;align-items:center;gap:6px;color:#eee;background:none;border:0;text-decoration:none;font:14px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;padding:11px 10px;cursor:pointer}
.nav-item>a:hover,.nav-item>button:hover{color:#d7bd8a}
.nav-item>button::after{content:"⌄";font-size:12px;color:#aaa}
.dropdown{display:none;position:absolute;top:100%;left:0;min-width:300px;max-width:390px;background:#0b0b0b;border:1px solid #2c2c2c;padding:8px;box-shadow:0 14px 32px rgba(0,0,0,.22)}
.nav-item.open .dropdown,.nav-item:focus-within .dropdown{display:block}
.dropdown a{display:block;color:#e9e9e9;text-decoration:none;padding:9px 10px;font:13.5px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;border-radius:2px}
.dropdown a:hover,.dropdown a:focus{background:#181818;color:#d9bd83}
.dropdown .hub{color:#d9bd83;border-bottom:1px solid #262626;margin-bottom:5px;padding-bottom:10px}
main{max-width:var(--read);margin:0 auto;padding:56px 24px 86px}
main.wide{max-width:var(--max)}
h1,h2,h3,h4{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.18;color:#16191c;letter-spacing:0}
h1{font-size:clamp(2rem,4vw,3rem);font-weight:600;margin:.15em 0 .6em}
h2{font-size:1.72rem;font-weight:600;margin-top:2.25em}
h3{font-size:1.2rem;font-weight:600;margin-top:1.75em;color:#272b30}
h4{font-size:1.05rem}
p{margin:.82em 0}
strong{color:#111}
hr{border:0;border-top:1px solid var(--line);margin:42px 0}
blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:2px solid var(--gold);color:#4e565d}
ul,ol{padding-left:1.35em}li{margin:.3em 0}
img{max-width:100%;height:auto}
figure{margin:36px 0}
table{width:100%;border-collapse:collapse;margin:30px 0;font-size:.92rem}
th,td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
th{background:var(--soft);color:#16191c}
.eyebrow{color:#806536;text-transform:uppercase;letter-spacing:.12em;font:700 .74rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.lede{font-size:1.18rem;color:#4c545c}
.card{border:1px solid var(--line);padding:24px;margin:28px 0;background:#fff}
footer{border-top:1px solid var(--line);color:var(--muted);background:#fafafa}
.foot{max-width:var(--max);margin:auto;padding:30px 24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.lang-note{border-left:2px solid var(--gold);padding-left:18px}

/* Homepage hero restored from the original GenerateBlocks design. */
.home-hero{min-height:720px;margin:-56px calc(50% - 50vw) 52px;background:url('/wp-content/uploads/2026/04/OLIVER-3-1-scaled.jpg') center center/cover no-repeat;position:relative;display:flex;align-items:flex-end;justify-content:flex-end;padding:48px max(28px,calc((100vw - var(--max))/2 + 24px))}
.home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.50) 100%)}
.home-hero h2{position:relative;z-index:1;max-width:620px;margin:0;color:#fff;background:rgba(20,20,20,.48);padding:8px 10px;font:400 clamp(1.65rem,3vw,2.25rem)/1.2 system-ui,-apple-system,"Segoe UI",sans-serif}

/* Interactive model */
.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
.node{border:1px solid #d8dce0;background:#fff;padding:18px;text-align:left;color:var(--text);cursor:pointer;min-height:118px}
.node:hover,.node.active{border-color:var(--gold);background:#fbfaf7}
.node small{display:block;color:var(--muted);margin-top:6px}
.detail{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.diag{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.diag label{display:block;color:var(--muted);font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.diag select{width:100%;margin-top:6px;background:#fff;color:var(--text);border:1px solid #cfd4d9;padding:10px}
.result{margin-top:16px;padding:18px;border-left:2px solid var(--gold);background:#faf9f6}

/* Migrated WordPress content + accessibility */
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:12px;z-index:100;background:#fff;color:#111;padding:10px 14px}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wp-block-separator{border:0;border-top:1px solid var(--line)}
.wp-block-image,.gb-block-image{max-width:100%}.wp-block-list{padding-left:1.4em}.has-text-align-center{text-align:center}

/* Consent */
.consent-panel{position:fixed;z-index:9999;left:1rem;right:1rem;bottom:1rem;max-width:720px;margin:auto;background:#111923;color:#fff;border:1px solid #a98b54;padding:1.1rem 1.2rem;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.28);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.consent-panel[hidden]{display:none}.consent-panel h2{color:#fff;margin:.1rem 0 .5rem;font:600 1.15rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif}.consent-panel p{margin:.35rem 0;color:#e5e7eb;font-size:.94rem}
.consent-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.consent-actions button{min-height:44px;padding:.55rem .85rem;border:1px solid #a98b54;border-radius:4px;background:#a98b54;color:#111923;font:700 14px system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer}
.consent-actions button.secondary{background:transparent;color:#fff}.consent-choice{display:flex;gap:.6rem;align-items:flex-start;margin:.7rem 0}.consent-choice input{margin-top:.25rem}
.legal-note{border-left:3px solid #a98b54;padding-left:1rem;color:#5d646a}.legal-section{margin:1.6rem 0}

@media(max-width:820px){
  .nav{align-items:flex-start;flex-wrap:wrap}.navlinks{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:2px}
  .nav-item{position:static}.dropdown{position:static;max-width:none;min-width:0;width:100%;box-shadow:none;margin-bottom:4px}
  .model-grid,.diag{grid-template-columns:1fr 1fr}.home-hero{min-height:560px;padding:28px}.home-hero h2{max-width:90%}
}
@media(max-width:520px){.model-grid,.diag{grid-template-columns:1fr}.navlinks{grid-template-columns:1fr}.home-hero{min-height:500px;background-position:46% center}.home-hero h2{font-size:1.45rem}}

/* v5 brand lockup and modern research typography */
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand img{width:38px;height:38px;object-fit:contain;border-radius:8px;display:block}
.brand-name{display:flex;flex-direction:column;gap:1px}
.brand-name strong{color:#fff;font:650 15px/1.1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em}
.brand-name small{color:#858b92;font:500 10.5px/1.15 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em}
h1{font-size:clamp(2rem,3.6vw,2.85rem);font-weight:650;letter-spacing:-.025em}
h2{font-size:1.62rem;font-weight:620;letter-spacing:-.018em}
h3{font-size:1.16rem;font-weight:620;letter-spacing:-.012em}
.lede{font-size:1.14rem;line-height:1.65}
main p,main li{max-width:76ch}
main figure,main table,main .card,main .model-grid,main .diag,main .result{max-width:none}
.home-hero h2{letter-spacing:-.025em;font-weight:450}
@media(max-width:520px){.brand-name small{display:none}.brand img{width:34px;height:34px}}

/* v6 — stronger brand header and publication hierarchy */
header{min-height:90px}
.nav{min-height:90px;padding:17px 24px;gap:34px}
.brand{gap:13px}
.brand img{width:48px;height:48px;border-radius:9px}
.brand-name strong{font-size:20px;line-height:1.08;font-weight:680}
.brand-name small{font-size:12px;line-height:1.2;margin-top:2px}
.navlinks{gap:15px}
.nav-item>a,.nav-item>button{font-size:15.5px;padding:13px 11px}

/* Top-of-page publication identity */
.publication-head{margin:0 0 42px;padding:0 0 30px;border-bottom:1px solid var(--line)}
.publication-head h1{margin:0 0 12px;font-size:clamp(2.45rem,4.2vw,3.15rem);line-height:1.08;font-weight:680;letter-spacing:-.035em}
.publication-subtitle{margin:0 0 18px!important;max-width:68ch!important;color:#4f5962;font-size:1.27rem;line-height:1.48}
.publication-meta{margin:0!important;color:#765b2d;font-size:.79rem;line-height:1.4;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.publication-head + hr{display:none}

/* Body hierarchy: section headings clearly subordinate to the page title */
main h2{font-size:1.78rem;line-height:1.2;margin-top:2.2em;margin-bottom:.72em;font-weight:650}
main h3{font-size:1.22rem;line-height:1.3;margin-top:1.8em;font-weight:630}
main h4{font-size:1.05rem}
main > h1:first-child{font-size:clamp(2.45rem,4.2vw,3.15rem)}
@media(max-width:820px){
  header,.nav{min-height:auto}
  .nav{padding:14px 20px}
  .brand img{width:43px;height:43px}
  .brand-name strong{font-size:18px}
  .navlinks{gap:3px}
}
@media(max-width:520px){
  .publication-head h1{font-size:2.15rem}
  .publication-subtitle{font-size:1.12rem}
}

/* v7 — Spanish-area discovery without implying a full translated site */
.nav-language{margin-left:12px;padding-left:18px;border-left:1px solid #343434}
.nav-language a{color:#c9b17e!important;font-weight:650;letter-spacing:.06em}
.nav-language a:hover,.nav-language a.active{color:#f0d69f!important}
@media(max-width:820px){.nav-language{margin-left:0;padding-left:0;border-left:0;border-top:1px solid #262626}}

/* v2 production — Spanish profile portrait */
.es-profile-intro{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:center;margin:26px 0 44px}
.es-profile-portrait img{display:block;width:150px;height:150px;object-fit:cover;object-position:50% 25%;border-radius:50%;border:1px solid #e0e2e4}
.es-profile-copy p:first-child{margin-top:0}
.es-profile-copy p:last-child{margin-bottom:0}
@media(max-width:620px){
  .es-profile-intro{grid-template-columns:1fr;gap:18px}
  .es-profile-portrait img{width:124px;height:124px}
}
