/* Marins, Fonseca & Silva — Ghost theme */
:root{
    --mfs-bg:#DDDDCC;
    --mfs-soft:#AEB38B;
    --mfs-accent:#686D54;
    --mfs-ink:#24271f;
    --mfs-muted:#676b60;
    --mfs-paper:#f8f7f1;
    --mfs-white:#fff;
    --mfs-line:rgba(36,39,31,.14);
    --mfs-radius:28px;
    --mfs-shadow:0 22px 60px rgba(36,39,31,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--mfs-paper);
    color:var(--mfs-ink);
    font-family:Arial,"Helvetica Neue",sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.site-header{
    position:sticky;top:0;z-index:50;
    background:color-mix(in srgb,var(--mfs-bg) 92%,white);
    border-bottom:1px solid var(--mfs-line);
    backdrop-filter:blur(14px);
}
.header-inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
.brand{display:flex;align-items:center;min-width:170px}
.brand img{max-height:48px;width:auto}
.brand-name{
    max-width:250px;font-size:14px;line-height:1.15;letter-spacing:.08em;
    font-weight:700;text-transform:uppercase
}
.site-navigation{justify-self:center}
.site-navigation ul{display:flex;align-items:center;gap:26px;padding:0;margin:0;list-style:none}
.site-navigation a{font-size:13px;font-weight:600;color:#4f5349}
.site-navigation a:hover{color:var(--mfs-accent)}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}
.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--mfs-ink);margin:4px 0}
.button{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:46px;padding:0 20px;border-radius:999px;
    border:1px solid transparent;font-weight:700;font-size:14px;
    transition:.2s ease
}
.button:hover{transform:translateY(-2px)}
.button-primary,.button-whatsapp{background:var(--mfs-accent);color:#fff}
.button-primary:hover,.button-whatsapp:hover{box-shadow:0 10px 24px color-mix(in srgb,var(--mfs-accent) 35%,transparent)}
.button-secondary{border-color:rgba(36,39,31,.22);background:rgba(255,255,255,.35)}

/* Homepage */
.home-hero{background:var(--mfs-bg);padding:64px 0 72px}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    color:var(--mfs-accent);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase
}
.eyebrow:before{content:"";width:30px;height:1px;background:currentColor}
.hero-copy h1,.section-heading h2,.institutional-grid h2,.archive-header h1,.article-header h1,.page-header h1{
    font-weight:400;letter-spacing:-.045em;line-height:1.02
}
.hero-copy h1{font-size:clamp(45px,5vw,76px);margin:22px 0 22px}
.hero-copy>p{font-size:19px;max-width:650px;color:#555a4f;margin:0 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-media{min-width:0}
.video-frame,.hero-fallback{
    aspect-ratio:16/10;border-radius:34px;overflow:hidden;box-shadow:var(--mfs-shadow);background:#d5d4c9
}
.video-frame iframe{width:100%;height:100%;border:0}
.hero-fallback{position:relative}
.hero-fallback img{width:100%;height:100%;object-fit:cover}
.hero-fallback-overlay{
    position:absolute;left:22px;right:22px;bottom:22px;
    padding:20px 22px;border-radius:20px;
    background:rgba(255,255,255,.86);backdrop-filter:blur(10px)
}
.hero-fallback-overlay span{display:block;color:var(--mfs-accent);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.hero-fallback-overlay strong{display:block;font-size:23px;margin-top:4px;font-weight:500}

.topic-strip{background:#f5f4ed;padding:58px 0 64px;border-bottom:1px solid var(--mfs-line)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:38px}
.section-heading.compact{margin-bottom:24px}
.section-heading h2{font-size:clamp(32px,4vw,54px);margin:12px 0 0;max-width:750px}
.section-heading>p{max-width:470px;color:var(--mfs-muted);margin:0}
.topic-list{display:flex;flex-wrap:wrap;gap:10px}
.topic-pill{
    display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border-radius:999px;
    background:white;border:1px solid var(--mfs-line);font-size:14px
}
.topic-pill:hover{background:var(--mfs-soft)}
.topic-pill small{
    display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;
    background:var(--mfs-bg);font-size:11px
}

.content-section{padding:96px 0;background:var(--mfs-paper)}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{
    min-width:0;background:#fff;border:1px solid var(--mfs-line);border-radius:24px;overflow:hidden;
    transition:.22s ease
}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--mfs-shadow)}
.post-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--mfs-bg)}
.post-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.post-card:hover .post-card-media img{transform:scale(1.025)}
.post-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--mfs-bg),var(--mfs-soft))}
.post-card-body{padding:23px}
.post-meta{display:flex;justify-content:space-between;gap:10px;color:#777c70;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.post-meta a{color:var(--mfs-accent);font-weight:800}
.post-card-title{font-size:25px;line-height:1.12;letter-spacing:-.025em;font-weight:500;margin:18px 0 13px}
.post-card-excerpt{color:var(--mfs-muted);font-size:15px;margin:0 0 17px}
.text-link{font-size:14px;font-weight:800;color:var(--mfs-accent)}
.text-link span{display:inline-block;transition:transform .2s}
.text-link:hover span{transform:translateX(4px)}
.pagination-wrap{margin-top:44px}
.pagination{display:flex;justify-content:center;gap:18px;font-size:14px}
.pagination a{color:var(--mfs-accent);font-weight:700}

.institutional-strip{padding:78px 0;background:var(--mfs-bg)}
.institutional-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.institutional-grid h2{font-size:clamp(34px,4vw,56px);margin:14px 0 0}
.institutional-grid p{font-size:18px;color:#555a4f;margin:0}

/* Archives */
.archive-header{padding:78px 0 54px;background:var(--mfs-bg)}
.archive-header h1{font-size:clamp(44px,5vw,72px);margin:14px 0}
.archive-header p{max-width:720px;color:#555a4f;font-size:18px}
.author-head{display:flex;align-items:center;gap:24px}
.author-avatar{width:96px;height:96px;object-fit:cover;border-radius:50%}

/* Article */
.article{background:#fff}
.article-header{padding-top:80px;padding-bottom:42px;text-align:center}
.article-shell{max-width:920px}
.article-breadcrumb{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;font-size:13px;color:#777c70;margin-bottom:25px}
.article-breadcrumb a:hover{color:var(--mfs-accent)}
.article-header h1{font-size:clamp(45px,6vw,80px);margin:0 auto 22px;max-width:1000px}
.article-deck{font-size:20px;color:#5c6156;max-width:800px;margin:0 auto 20px}
.article-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;color:#767b70;font-size:13px}
.article-feature{margin-top:0;margin-bottom:54px}
.article-feature img{width:100%;max-height:680px;object-fit:cover;border-radius:28px}
.article-feature figcaption{text-align:center;color:#858a80;font-size:12px;margin-top:10px}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:70px;align-items:start}
.article-content{min-width:0}
.article-sidebar{position:sticky;top:110px}
.sidebar-contact{
    padding:26px;border-radius:24px;background:var(--mfs-bg);border:1px solid var(--mfs-line)
}
.sidebar-contact strong{display:block;font-size:22px;line-height:1.15;margin:10px 0}
.sidebar-contact p{color:#5c6156;font-size:14px}
.cta-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mfs-accent);font-weight:800}
.article-cta{
    display:flex;align-items:center;justify-content:space-between;gap:34px;
    margin:72px 0 34px;padding:34px 36px;border-radius:28px;background:var(--mfs-bg)
}
.article-cta h2{font-size:30px;line-height:1.1;font-weight:500;letter-spacing:-.03em;margin:8px 0}
.article-cta p{margin:0;color:#5b6055}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:76px}
.article-tags a{
    display:inline-flex;padding:8px 12px;background:#f4f3ed;border:1px solid var(--mfs-line);
    border-radius:999px;font-size:12px;margin-right:8px
}

/* Ghost editor content */
.gh-content{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.78;color:#292c25}
.gh-content>*{max-width:720px;margin-left:auto;margin-right:auto}
.gh-content p,.gh-content ul,.gh-content ol,.gh-content blockquote{margin-top:0;margin-bottom:1.45em}
.gh-content h2,.gh-content h3,.gh-content h4{
    font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.16;letter-spacing:-.025em;
    margin-top:1.8em;margin-bottom:.65em
}
.gh-content h2{font-size:38px}
.gh-content h3{font-size:29px}
.gh-content a{color:var(--mfs-accent);text-decoration:underline;text-underline-offset:3px}
.gh-content blockquote{border-left:4px solid var(--mfs-soft);padding-left:24px;color:#555a4f;font-style:italic}
.gh-content img{border-radius:16px}
.gh-content .kg-width-wide{max-width:980px}
.gh-content .kg-width-full{max-width:none;width:100vw;margin-left:50%;transform:translateX(-50%)}
.gh-content figure{max-width:900px}
.gh-content pre{overflow:auto;padding:20px;border-radius:14px;background:#20231d;color:#f6f6f0;font-size:14px}
.gh-content table{width:100%;border-collapse:collapse;font-family:Arial,"Helvetica Neue",sans-serif;font-size:15px}
.gh-content th,.gh-content td{padding:12px;border-bottom:1px solid var(--mfs-line);text-align:left}

/* Page */
.page{padding:80px 0}
.page-header{text-align:center;margin-bottom:42px}
.page-header h1{font-size:clamp(46px,6vw,76px);margin:0}
.page-content{margin-top:38px}

/* Footer */
.site-footer{background:#24271f;color:#fff;padding:62px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .65fr;gap:50px}
.footer-title{display:block;font-size:19px;margin-bottom:10px}
.site-footer p,.site-footer a{display:block;color:rgba(255,255,255,.72);font-size:14px;margin:7px 0}
.footer-label{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:var(--mfs-soft);font-weight:800;margin-bottom:12px}
.site-footer ul{list-style:none;margin:0;padding:0}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.52)}
.footer-bottom a{display:inline;margin:0;font-size:12px}

/* Floating WhatsApp */
.floating-whatsapp{
    position:fixed;right:22px;bottom:22px;z-index:60;
    display:inline-flex;align-items:center;gap:9px;
    padding:12px 16px;border-radius:999px;background:var(--mfs-accent);color:#fff;
    font-size:13px;font-weight:800;box-shadow:0 14px 34px rgba(0,0,0,.18)
}
.wa-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.16)}

/* Error */
.error-page{padding:120px 0;text-align:center;min-height:60vh}
.error-page h1{font-size:clamp(42px,7vw,82px);font-weight:400;letter-spacing:-.04em;margin:18px 0}
.error-page p{color:var(--mfs-muted);margin-bottom:28px}

/* Mobile */
@media(max-width:980px){
    .header-inner{grid-template-columns:1fr auto auto}
    .menu-toggle{display:block;order:2}
    .site-navigation{
        display:none;position:absolute;top:82px;left:0;right:0;background:var(--mfs-bg);
        border-bottom:1px solid var(--mfs-line);padding:18px 20px
    }
    .site-navigation.is-open{display:block}
    .site-navigation ul{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
    .header-whatsapp{order:3}
    .hero-grid,.institutional-grid{grid-template-columns:1fr}
    .posts-grid{grid-template-columns:1fr 1fr}
    .article-layout{grid-template-columns:1fr}
    .article-sidebar{position:static}
    .sidebar-contact{display:flex;align-items:center;justify-content:space-between;gap:20px}
}
@media(max-width:680px){
    .shell{width:min(100% - 28px,1180px)}
    .header-inner{min-height:70px;gap:10px}
    .brand-name{max-width:170px;font-size:11px}
    .header-whatsapp{display:none}
    .site-navigation{top:70px}
    .home-hero{padding:48px 0 54px}
    .hero-grid{gap:34px}
    .hero-copy h1{font-size:44px}
    .hero-copy>p{font-size:17px}
    .video-frame,.hero-fallback{border-radius:22px}
    .section-heading{display:block}
    .section-heading>p{margin-top:16px}
    .content-section{padding:70px 0}
    .posts-grid{grid-template-columns:1fr}
    .article-header{padding-top:52px}
    .article-header h1{font-size:43px}
    .article-feature{width:100%;margin-bottom:38px}
    .article-feature img{border-radius:18px}
    .gh-content{font-size:18px}
    .gh-content h2{font-size:30px}
    .article-cta{align-items:flex-start;flex-direction:column;padding:28px}
    .sidebar-contact{display:block}
    .footer-grid{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column}
    .floating-whatsapp span:last-child{display:none}
    .floating-whatsapp{width:54px;height:54px;padding:0;justify-content:center}
}
