/*
Theme Name: Karina Bustos
Theme URI: https://www.karinabustos.com
Author: AlunCo
Description: Tema editorial para Karina Bustos, consultora, psicóloga e investigadora.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: karina-bustos
*/

:root { --ink:#142a24; --deep:#0d241d; --paper:#f3efe7; --ivory:#fbf8f2; --sage:#b6c5b6; --coral:#d96c50; --line:rgba(20,42,36,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
main { overflow:hidden; }
.site-header { height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; border-bottom:1px solid var(--line); position:relative; z-index:20; }
.brand { display:inline-flex; align-items:center; gap:14px; }
.brand-mark { width:42px; height:42px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font:600 12px Georgia,serif; letter-spacing:.12em; }
.brand-name { font:500 20px Georgia,'Times New Roman',serif; letter-spacing:.02em; }
nav { display:flex; align-items:center; gap:34px; font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
nav a { padding:10px 0; }
.nav-cta { border-bottom:1px solid var(--ink); }
.hero { min-height:calc(100vh - 92px); padding:4.2vw 4.5vw 3.5vw; display:grid; grid-template-columns:1.1fr .9fr; gap:7vw; align-items:center; background:radial-gradient(circle at 73% 35%,rgba(182,197,182,.42),transparent 30%),var(--paper); }
.eyebrow,.section-index { font-size:11px; letter-spacing:.19em; text-transform:uppercase; font-weight:700; }
.eyebrow { margin:0 0 34px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:800px; margin-bottom:30px; font:400 clamp(54px,6.6vw,106px)/.91 Georgia,'Times New Roman',serif; letter-spacing:-.055em; }
h1 em { color:var(--coral); font-weight:400; }
.hero-lead { max-width:620px; margin-bottom:34px; font:400 clamp(17px,1.45vw,23px)/1.5 Georgia,serif; }
.hero-actions { display:flex; align-items:center; gap:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 25px; border-radius:100px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--ink); color:var(--ivory); }
.text-link { padding-bottom:5px; border-bottom:1px solid currentColor; font:600 12px/1.4 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.text-link span { margin-left:6px; }
.hero-facts { display:grid; grid-template-columns:repeat(3,1fr); max-width:600px; margin-top:68px; padding-top:22px; border-top:1px solid var(--line); }
.hero-facts div { display:flex; flex-direction:column; gap:5px; }
.hero-facts strong { font:400 27px Georgia,serif; }
.hero-facts span { font-size:10px; letter-spacing:.08em; text-transform:uppercase; opacity:.7; }
.hero-visual { position:relative; align-self:stretch; min-height:620px; display:flex; align-items:center; justify-content:center; }
.portrait-frame { position:relative; z-index:2; width:min(34vw,525px); aspect-ratio:3/4; overflow:hidden; border-radius:48% 48% 4px 4px; box-shadow:0 30px 80px rgba(20,42,36,.18); }
.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:69% center; transform:scale(1.14); }
.image-caption { position:absolute; z-index:4; bottom:4%; right:1%; padding:11px 14px; background:var(--ivory); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.orbit { position:absolute; border:1px solid rgba(20,42,36,.23); border-radius:50%; }
.orbit-one { width:120%; aspect-ratio:1; }
.orbit-two { width:92%; aspect-ratio:1; border-color:rgba(217,108,80,.5); }
.manifesto { padding:120px 7vw; background:var(--ivory); }
.section-index { margin-bottom:54px; color:var(--coral); }
.manifesto-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; }
.manifesto h2,.section-heading h2,.about h2,.contact h2 { font:400 clamp(42px,5vw,76px)/1.03 Georgia,serif; letter-spacing:-.04em; }
.manifesto p { font:400 18px/1.65 Georgia,serif; }
blockquote { margin:42px 0 0; padding:22px 0 0; border-top:1px solid var(--line); font:italic 28px/1.35 Georgia,serif; color:var(--coral); }
.services { padding:120px 4.5vw; }
.section-heading { display:grid; grid-template-columns:.55fr 1.45fr; gap:6vw; align-items:start; margin-bottom:74px; }
.section-heading h2 { margin-bottom:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.service-grid article { min-height:420px; padding:30px 34px; border-right:1px solid var(--line); display:flex; flex-direction:column; transition:background .25s,color .25s; }
.service-grid article:last-child { border-right:0; }
.service-grid article:hover { background:var(--ink); color:var(--ivory); }
.service-grid h3 { margin:auto 0 22px; padding-top:52px; font:400 36px/1.04 Georgia,serif; }
.service-grid p { min-height:98px; font:400 16px/1.55 Georgia,serif; }
.service-grid a { margin-top:25px; padding-top:18px; border-top:1px solid currentColor; font-size:11px; letter-spacing:.08em; text-transform:uppercase; display:flex; justify-content:space-between; }
.method { padding:120px 7vw; background:var(--deep); color:var(--ivory); display:grid; grid-template-columns:1fr 1fr; gap:11vw; }
.section-index.light { color:var(--sage); }
.method-kicker { margin-bottom:14px; font:italic 19px Georgia,serif; color:var(--sage); }
.vetas-logo { position:relative; width:min(100%,470px); height:170px; margin:24px 0 34px; overflow:hidden; background:#fff; border-radius:3px; }
.vetas-logo img { position:absolute; top:calc(50% + 27px); left:0; width:100%; max-width:none; height:auto; transform:translateY(-50%); }
.method-lead { max-width:520px; font:400 19px/1.55 Georgia,serif; opacity:.85; }
.method-list>div { display:block; padding:26px 0; border-top:1px solid rgba(251,248,242,.25); }
.method-list>div:last-child { border-bottom:1px solid rgba(251,248,242,.25); }
.method-list h3 { margin-bottom:8px; font:400 30px Georgia,serif; }
.method-list p { margin-bottom:0; font:400 14px/1.5 Georgia,serif; opacity:.68; }
.trajectory { padding:120px 4.5vw 90px; background:var(--ivory); }
.section-heading.compact { grid-template-columns:.4fr 1.6fr; }
.timeline { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:35px; padding-top:54px; }
.timeline-line { position:absolute; top:10px; left:0; right:0; height:1px; background:var(--line); }
.timeline article { position:relative; }
.timeline article::before { content:''; position:absolute; top:-49px; left:0; width:10px; height:10px; border-radius:50%; background:var(--coral); border:6px solid var(--ivory); box-shadow:0 0 0 1px var(--coral); }
.timeline time { display:block; margin-bottom:28px; font:400 44px Georgia,serif; color:var(--coral); }
.timeline h3 { font:400 22px Georgia,serif; }
.timeline p { font:400 14px/1.65 Georgia,serif; opacity:.78; }
.countries { margin-top:76px; padding-top:25px; border-top:1px solid var(--line); display:flex; justify-content:space-between; text-transform:uppercase; font-size:10px; letter-spacing:.14em; }
.research { padding:120px 7vw; background:var(--deep); color:var(--ivory); display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; }
.research-intro h2 { margin-bottom:30px; font:400 clamp(42px,4.7vw,72px)/1.03 Georgia,serif; letter-spacing:-.04em; }
.research-intro>p:not(.section-index) { max-width:590px; font:400 17px/1.65 Georgia,serif; opacity:.8; }
.credential-list { margin:42px 0 34px; border-top:1px solid rgba(251,248,242,.22); }
.credential-list p { margin:0; padding:19px 0; border-bottom:1px solid rgba(251,248,242,.22); font:400 14px/1.55 Georgia,serif; }
.credential-list span { display:block; margin-bottom:6px; color:var(--sage); font:700 9px Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.research-orcid span { margin-left:10px; }
.publication-list { align-self:end; }
.publication-list article { display:grid; grid-template-columns:92px 1fr; gap:28px; padding:25px 0; border-top:1px solid rgba(251,248,242,.25); }
.publication-list article:last-child { border-bottom:1px solid rgba(251,248,242,.25); }
.publication-list time { font:400 28px Georgia,serif; color:var(--coral); }
.publication-list h3 { margin-bottom:7px; font:400 25px/1.15 Georgia,serif; }
.publication-list p { margin:0; font:400 14px/1.55 Georgia,serif; opacity:.65; }
.recognition { padding:110px 7vw; background:var(--sage); }
.recognition-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:9vw; align-items:end; }
.recognition h2 { margin:0; font:400 clamp(40px,4.8vw,72px)/1.04 Georgia,serif; letter-spacing:-.04em; }
.recognition-grid div { border-top:1px solid var(--ink); }
.recognition-grid p { margin:0; padding:22px 0; border-bottom:1px solid var(--line); font:400 17px/1.55 Georgia,serif; }
.about { padding:120px 7vw; display:grid; grid-template-columns:.55fr 1.45fr; gap:8vw; }
.about-label { font:italic 20px Georgia,serif; color:var(--coral); }
.about-copy { max-width:850px; }
.about-copy h2 { margin-bottom:34px; font-size:clamp(40px,4vw,62px); }
.about-question { padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font:italic 27px/1.35 Georgia,serif; color:var(--coral); }
.about-copy>p:last-of-type { max-width:650px; margin:32px 0; font:400 17px/1.65 Georgia,serif; }
.text-link.dark { color:var(--ink); }
.contact { padding:110px 7vw; background:var(--coral); color:#fff8ef; }
.contact .section-index { color:var(--deep); }
.contact-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:8vw; align-items:end; }
.contact h2 { margin-bottom:0; font-size:clamp(48px,6vw,88px); }
.contact-actions { padding-bottom:10px; }
.button-light { background:#fff8ef; color:var(--deep); }
.contact-actions p { margin:28px 0 0; font:400 14px/1.7 Georgia,serif; }
footer { padding:35px 4.5vw; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; background:var(--deep); color:var(--ivory); }
.footer-brand .brand-mark { border-color:var(--ivory); }
footer p { margin:0; font-size:10px; letter-spacing:.11em; text-transform:uppercase; text-align:center; opacity:.7; }
footer p:last-child { text-align:right; }
.blog-page { background:var(--ivory); }
.blog-header { background:var(--ivory); }
.blog-hero { padding:100px 7vw 80px; display:grid; grid-template-columns:1.2fr .8fr; gap:9vw; align-items:end; }
.blog-hero h1 { margin-bottom:0; max-width:900px; }
.blog-intro { max-width:550px; margin-bottom:8px; font:400 20px/1.6 Georgia,serif; }
.featured-post { margin:0 4.5vw; min-height:620px; display:grid; grid-template-columns:1fr 1fr; background:var(--sage); }
.featured-image { overflow:hidden; }
.featured-image img { width:100%; height:100%; object-fit:cover; object-position:68% center; }
.featured-copy { padding:7vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.post-meta { color:var(--coral); font:700 10px/1.4 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.featured-copy h2 { font:400 clamp(40px,4.5vw,68px)/1.02 Georgia,serif; letter-spacing:-.04em; }
.featured-copy>p:not(.post-meta) { margin:0 0 32px; font:400 17px/1.6 Georgia,serif; }
.featured-copy .button span { margin-left:10px; }
.blog-library { padding:120px 4.5vw; }
.blog-library-head { display:flex; justify-content:space-between; align-items:start; margin-bottom:52px; }
.topic-list { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.topic-list span { padding:10px 15px; border:1px solid var(--line); border-radius:100px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.post-card { min-height:610px; display:flex; flex-direction:column; border:1px solid var(--line); }
.post-card-art { min-height:245px; display:grid; place-items:center; overflow:hidden; position:relative; }
.post-card-art::before,.post-card-art::after { content:''; position:absolute; width:230px; height:230px; border:1px solid currentColor; border-radius:50%; opacity:.45; }
.post-card-art::after { width:150px; height:150px; }
.post-card-art span { position:relative; z-index:2; font:italic 44px Georgia,serif; }
.post-card.sage .post-card-art { background:var(--sage); }
.post-card.coral .post-card-art { background:var(--coral); color:#fff8ef; }
.post-card.ink .post-card-art { background:var(--deep); color:var(--ivory); }
.post-card-copy { flex:1; padding:30px; display:flex; flex-direction:column; }
.post-card-copy h2 { font:400 30px/1.08 Georgia,serif; letter-spacing:-.025em; }
.post-card-copy>p:not(.post-meta) { font:400 15px/1.55 Georgia,serif; opacity:.78; }
.post-card-copy a { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:10px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.blog-note { padding:110px 14vw; background:var(--deep); color:var(--ivory); text-align:center; }
.blog-note blockquote { max-width:1000px; margin:0 auto 34px; padding:0; border:0; font-size:clamp(38px,5vw,70px); letter-spacing:-.035em; }
.blog-note>p:last-child { max-width:640px; margin:0 auto; font:400 16px/1.7 Georgia,serif; opacity:.72; }
.blog-contact { background:var(--paper); color:var(--ink); }
.blog-contact .section-index { color:var(--coral); }
.blog-contact .button-light { background:var(--coral); color:#fff8ef; }
.wp-post-image { width:100%; height:100%; object-fit:cover; }
.post-card-art.has-image::before,.post-card-art.has-image::after { display:none; }
.article-page { background:var(--ivory); }
.article-shell { max-width:920px; margin:0 auto; padding:100px 24px 120px; }
.article-shell .post-meta { margin-bottom:25px; }
.article-shell h1 { max-width:none; font-size:clamp(48px,6vw,82px); }
.article-lead { font:400 21px/1.6 Georgia,serif; color:var(--coral); }
.article-content { margin-top:55px; font:400 18px/1.75 Georgia,serif; }
.article-content h2,.article-content h3 { margin-top:48px; font-family:Georgia,serif; font-weight:400; }
.article-content a { text-decoration:underline; text-decoration-color:var(--coral); text-underline-offset:3px; }
.article-content img { margin:42px auto; }
.pagination { display:flex; justify-content:center; gap:12px; margin-top:55px; }
.pagination .page-numbers { padding:10px 14px; border:1px solid var(--line); border-radius:100px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:900px) {
  .site-header { height:76px; } .brand-name { font-size:17px; } nav a:not(.nav-cta) { display:none; }
  .hero { grid-template-columns:1fr; padding-top:70px; } .hero-visual { min-height:560px; order:-1; } .portrait-frame { width:min(76vw,470px); } .hero-facts { margin-top:50px; }
  .manifesto-grid,.method,.research,.recognition-grid,.contact-grid { grid-template-columns:1fr; } .service-grid { grid-template-columns:1fr; }
  .service-grid article { min-height:310px; border-right:0; border-bottom:1px solid var(--line); }
  .timeline { grid-template-columns:1fr 1fr; row-gap:65px; } .timeline-line,.timeline article::before { display:none; }
  .section-heading,.section-heading.compact,.about { grid-template-columns:1fr; } .section-index { margin-bottom:26px; }
  .blog-hero,.featured-post { grid-template-columns:1fr; } .featured-image { min-height:520px; } .post-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .site-header { padding:0 20px; } .hero { padding:36px 20px 60px; } .hero-visual { min-height:420px; } h1 { font-size:52px; }
  .hero-actions { align-items:flex-start; flex-direction:column; } .hero-facts { gap:12px; } .hero-facts strong { font-size:22px; } .hero-facts span { font-size:8px; }
  .manifesto,.services,.method,.trajectory,.research,.recognition,.about,.contact { padding:80px 20px; }
  .manifesto h2,.section-heading h2,.about h2,.contact h2 { font-size:42px; } .service-grid article { padding:28px 0; }
  .timeline { grid-template-columns:1fr; } .countries { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  footer { grid-template-columns:1fr; gap:26px; text-align:center; } footer p,footer p:last-child { text-align:center; }
  .blog-hero { padding:70px 20px 55px; } .featured-post { margin:0; } .featured-image { min-height:430px; } .featured-copy { padding:55px 25px; }
  .blog-library { padding:80px 20px; } .blog-library-head { display:block; } .topic-list { justify-content:flex-start; margin-bottom:40px; } .post-grid { grid-template-columns:1fr; }
  .blog-note { padding:80px 20px; }
  .vetas-logo { width:100%; height:128px; }
  .vetas-logo img { top:calc(50% + 20px); }
  .publication-list article { grid-template-columns:66px 1fr; gap:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
