/* Desktop layout (>= 1024px). Mobile stays in style.css. */

.g-wrap { max-width: 1200px; }

/* ---------- header ---------- */
.g-top .g-wrap { height: 64px; padding: 0 32px; }
.g-logo-mark { width: 32px; height: 32px; font-size: 15px; }
.g-logo-name b { font-size: 15px; }
.g-desk-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; margin-right: 18px; }
.g-desk-nav a { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--g-soft); }
.g-desk-nav a:hover { color: var(--g-sand); }
.g-desk-nav a.g-btn { color: #1A1410 !important; height: 36px; padding: 0 16px; font-size: 10.5px; box-shadow: none; }
.g-icons [data-gg-open="menu"] { display: none; }

/* ---------- hero ---------- */
.g-hero { padding: 0 32px; text-align: left; }
.g-hero .g-wrap { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 560px; }
.g-hero-text { grid-column: 1; grid-row: 1; padding: 48px 48px 48px 0; }
.g-hero-photo { grid-column: 2; grid-row: 1; margin: 0; height: 560px; align-self: stretch; }
.g-hero-photo::after { background: linear-gradient(90deg, var(--g-bg) 0%, rgba(18, 14, 11, 0) 35%, rgba(18, 14, 11, 0) 75%, var(--g-bg) 100%), linear-gradient(180deg, var(--g-bg) 0%, rgba(18, 14, 11, 0) 15%, rgba(18, 14, 11, 0) 75%, var(--g-bg) 100%); }
.g-hero .g-title { font-size: 44px; line-height: 1.15; }
.g-hero .g-sub { font-size: 16px; max-width: 500px; margin-bottom: 28px; }
.g-hero .g-row { justify-content: flex-start; gap: 28px; }
.g-hero .g-btn { height: 50px; padding: 0 28px; }

/* ---------- sections ---------- */
.g-section { padding: 64px 32px; }
.g-sec-title { font-size: 26px; margin-bottom: 18px; }
.g-art-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 24px; align-items: start; }
.g-art-grid .g-feature { margin: 0; }
.g-cover { aspect-ratio: 16 / 10; padding: 26px; }
.g-cover p { font-size: 26px; }
.g-feature .g-body { padding: 20px 24px 24px; }
.g-feature h3 { font-size: 20px; }
.g-feature .g-ex { font-size: 14.5px; }
.g-item { padding: 14px 18px; }
.g-item h4 { font-size: 14.5px; }
.g-tax-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 12px; align-items: start; }
.g-tax-col > .g-eyebrow { margin-top: 22px !important; }

/* ---------- ranking ---------- */
.g-rank { padding: 72px 32px; }
.g-rank .g-title { font-size: 30px; margin-bottom: 28px; }
.g-rank-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
.g-rank-item { grid-column: 2; }
.g-rank-item.is-first { grid-column: 1; grid-row: 1 / span 4; }
.g-rank-item.is-first a { height: 100%; margin: 0; padding: 40px; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 22px; }
.g-rank-item.is-first .g-rank-n { font-size: 140px; flex-basis: auto; }
.g-rank-item.is-first .g-rank-t { font-size: 24px; line-height: 1.25; }
.g-rank-item:nth-child(2) a { border-top: 0; }
.g-rank-t { font-size: 15.5px; }

/* ---------- CTA ---------- */
.g-cta-wrap { padding: 0 32px 64px; }
.g-rank + .g-cta-wrap { padding-top: 56px; }
.g-cta { display: grid; grid-template-columns: 1fr auto; column-gap: 48px; text-align: left; padding: 36px 44px; }
.g-cta > * { grid-column: 1; }
.g-cta .g-title { font-size: 24px; margin-bottom: 6px; }
.g-cta .g-sub { margin-bottom: 0; font-size: 14px; }
.g-cta .g-btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; width: auto; height: 52px; padding: 0 36px; }
.g-cta .g-fine { grid-column: 2; grid-row: 4; text-align: center; }

/* ---------- sobre ---------- */
.g-about-sec { padding: 8px 32px 72px; }
.g-about-card { display: grid; grid-template-columns: .9fr 1.1fr; }
.g-about-photo { height: auto; min-height: 460px; }
.g-about-photo::after { background: linear-gradient(90deg, rgba(18, 14, 11, 0) 55%, var(--g-bg) 100%); }
.g-about-body { padding: 44px 44px 40px 12px; align-self: center; }
.g-about-body .g-title { font-size: 26px; }
.g-about-body p.g-txt { font-size: 14.5px; }
.g-stats b { font-size: 20px; }
.g-stats span { font-size: 9px; }
.g-about-body .g-btn-block { width: auto; padding: 0 32px; }
.g-expertise { grid-template-columns: repeat(3, 1fr); }
.g-exp { padding: 18px 20px; border-top: 1px solid var(--g-row-line); border-right: 1px solid var(--g-row-line); }
.g-exp:nth-child(-n+3) { border-top: 0; }
.g-exp:nth-child(3n) { border-right: 0; }
.g-exp b { font-size: 14px; }
.g-exp span { font-size: 12.5px; }

/* ---------- footer ---------- */
.g-foot { padding: 64px 32px 32px; text-align: left; }
.g-foot-grid { display: grid; grid-template-columns: 1.1fr 1.2fr 1fr; gap: 56px; align-items: start; }
.g-foot-about { flex-direction: row; align-items: center; gap: 14px; }
.g-foot p.g-bio { margin: 0; max-width: 320px; }
.g-news { margin: 0; max-width: none; }
.g-fcols { margin: 0; border-top: 0; padding: 0; text-align: left; }
.g-foot-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--g-line); }
.g-fcontact { margin: 0; }
.g-social { margin: 0; }
.g-legal { border-top: 0; padding-top: 0; }

/* ---------- post ---------- */
.g-post-hero { padding: 48px 32px 56px; }
.g-post-hero .g-title { font-size: 38px; line-height: 1.2; max-width: 900px; }
.g-post-hero .g-sub { font-size: 16px; max-width: 760px; }
.g-article { display: grid; grid-template-columns: minmax(0, 1fr) 280px; column-gap: 64px; padding: 56px 32px 16px; font-size: 17px; }
.g-article > * { grid-column: 1; max-width: 720px; }
.g-article > .g-toc { grid-column: 2; grid-row: 1 / span 400; align-self: start; position: sticky; top: 88px; margin: 0; }
.g-article h2 { font-size: 22px; }
.g-article h3 { font-size: 18px; }
.g-related { padding: 0 32px 64px; }
.g-related .g-list, .g-section .g-list.g-list-2col { display: grid; grid-template-columns: 1fr 1fr; }
.g-related .g-list .g-item:nth-child(2) { border-top: 0; }
.g-related .g-list .g-item:nth-child(odd) { border-right: 1px solid var(--g-row-line); }

/* ---------- archive / 404 ---------- */
.g-archive-head { padding: 48px 32px 52px; }
.g-archive-head .g-title { font-size: 34px; }
.g-archive-head .g-search { max-width: 560px; }

/* ---------- página newsletter ---------- */
.g-nl-hero { min-height: calc(100vh - 64px); }
.g-nl-hero .g-wrap { max-width: 560px; }
.g-nl-hero .g-title { font-size: 38px; line-height: 1.18; }

/* ---------- post hero ocupando a dobra ---------- */
.g-post-hero.g-fold { min-height: calc(100vh - 64px); padding: 48px 32px 96px; }
.g-post-hero.g-fold .g-title { font-size: 46px; line-height: 1.12; }
.g-post-hero.g-fold .g-sub { font-size: 17px; }
