@font-face{font-family:'Jost';font-style:normal;font-weight:200 500;font-display:swap;src:url(/assets/fonts/jost-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:200 500;font-display:swap;src:url(/assets/fonts/jost-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  :root{
    --sage-900:#243127;
    --sage-700:#41564A;
    --sage-600:#56695C;
    --sage-500:#7A9283;
    --sage-200:#C9D5CC;
    --sage-100:#E3EAE5;
    --sand-500:#C2AE8C;
    --sand-300:#D8CAAE;
    --sand-100:#EDE5D4;
    --gold:#C2AE8C;
    --bg:#F8F7F3;
    --ink:#222B25;
    --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
    --gutter:clamp(20px,5vw,72px);
    --header-h:84px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  [id]{scroll-margin-top:calc(var(--header-h) + 8px)}
  :focus-visible{outline:2px solid var(--sage-700);outline-offset:3px}
  .wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
  h1,h2,h3{font-weight:300;letter-spacing:-.005em;line-height:1.15;color:var(--sage-900)}
  h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
  .label{font-size:.72rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-600);margin-bottom:18px;display:block}

  /* wordmark */
  .wordmark{display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--sage-900)}
  .wordmark .name{font-weight:300;font-size:1rem;letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:baseline;gap:1.1em}
  .wordmark .name b{font-weight:300;font-size:1.55em;letter-spacing:.12em;line-height:.8}
  .wordmark .name span{display:inline-flex;align-items:baseline}
  .wordmark small{font-size:.58rem;font-weight:400;letter-spacing:.7em;text-indent:.7em;text-transform:uppercase;color:var(--sage-700);margin-top:12px;padding-top:10px;position:relative}
  .wordmark small::before{content:"";position:absolute;top:0;left:50%;width:26px;height:1px;margin-left:-13px;background:var(--gold)}

  /* header */
  header{position:sticky;top:0;z-index:20;background:rgba(248,247,243,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--sage-100)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
  nav ul{display:flex;gap:36px;list-style:none;align-items:center}
  nav a{font-size:.74rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-700);transition:color .2s}
  nav a:hover{color:var(--sage-900)}
  nav a.cta{border:1px solid var(--sage-700);padding:12px 24px}
  nav a.cta:hover{background:var(--sage-700);color:#fff}
  .menu-btn{display:none;background:none;border:1px solid var(--sage-700);width:46px;height:46px;cursor:pointer;color:var(--sage-700);align-items:center;justify-content:center}
  .menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:1px;background:currentColor;position:relative;transition:transform .25s,background .25s}
  .menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
  .menu-btn span::before{top:-6px}
  .menu-btn span::after{top:6px}
  .menu-btn[aria-expanded="true"] span{background:transparent}
  .menu-btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

  .btn{display:inline-block;padding:17px 34px;font-size:.74rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--sage-700);color:var(--sage-700);transition:all .2s}
  .btn:hover{background:var(--sage-700);color:#fff}
  .btn.solid{background:var(--sage-700);color:#fff}
  .btn.solid:hover{background:var(--sage-900);border-color:var(--sage-900)}

  /* ===== abertura ===== */
  .hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(40px,6vw,84px) 0 clamp(64px,8vw,110px);min-height:min(calc(100vh - var(--header-h)),820px);display:flex;align-items:center}
  .scene{position:absolute;inset:0;z-index:-2;background:#2F4A3A;overflow:hidden}
  .layer{position:absolute;inset:-3%;will-change:transform}
  .layer img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block;filter:saturate(.88);animation:zoom 50s ease-in-out infinite alternate}
  @keyframes zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
  .hero.paused .layer img{animation-play-state:paused}
  .veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,247,243,.97) 0%,rgba(248,247,243,.9) 34%,rgba(248,247,243,.4) 56%,rgba(248,247,243,0) 76%)}
  .hero-grid{position:relative;width:100%;display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"a portrait" "c portrait";grid-template-rows:auto auto;align-content:center;column-gap:clamp(36px,6vw,90px)}
  .intro-a{grid-area:a;align-self:end}
  .intro-c{grid-area:c;align-self:start}
  .portrait{grid-area:portrait;position:relative;justify-self:end;align-self:center;width:100%;max-width:430px;margin:0}
  .hero h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:200;margin-bottom:26px;max-width:12ch}
  .hero h1 span{color:var(--sage-600)}
  .lead{font-size:1.12rem;max-width:470px;color:var(--sage-700)}
  .lead::before{content:"";display:block;width:40px;height:1px;background:var(--gold);margin-bottom:22px}
  .actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
  .hero-info{margin-top:48px;display:flex;gap:40px;flex-wrap:wrap;font-size:.86rem;color:var(--sage-700)}
  .hero-info b{display:block;color:var(--sage-900);font-weight:400;font-size:.95rem;letter-spacing:.06em}

  .portrait::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--gold);border-radius:50%}
  .portrait .frame{position:relative;border-radius:50%;overflow:hidden;background:#CFCBC4;box-shadow:0 30px 60px -30px rgba(36,49,39,.45)}
  .portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 22%}
  .portrait .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(226,233,222,0) 70%,rgba(65,86,74,.18) 100%)}
  .plate{position:absolute;left:-22px;bottom:34px;background:var(--bg);padding:14px 22px;border-left:2px solid var(--gold);box-shadow:0 14px 30px -18px rgba(36,49,39,.5)}
  .plate b{display:block;font-weight:400;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-900)}
  .plate span{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-700)}

  section{padding:clamp(64px,8vw,110px) 0}
  .hero{padding-top:clamp(40px,6vw,84px)}


  /* faixa de fotografias */
  .gallery{padding:clamp(40px,5vw,72px) 0;background:var(--bg)}
  .gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}
  .gallery figure{position:relative;margin:0;overflow:hidden;aspect-ratio:4/5;background:var(--sage-100)}
  .gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9);transition:transform 1.2s ease}
  .gallery figure:hover img{transform:scale(1.04)}
  .gallery figcaption{position:absolute;left:0;bottom:0;background:var(--bg);padding:12px 22px 12px 18px;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-900);border-top:1px solid var(--gold)}
  .credits{font-size:.78rem;color:var(--sage-200);flex-basis:100%;border-top:1px solid rgba(255,255,255,.14);padding-top:16px}

  /* atuação */
  .areas{background:#fff}
  .areas .intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
  .areas .intro p{color:var(--sage-700);max-width:440px;justify-self:end}
  .row{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:30px 0;border-top:1px solid var(--sage-200);transition:padding-left .25s}
  .row:last-child{border-bottom:1px solid var(--sage-200)}
  .row:hover{padding-left:14px}
  .row h3{font-size:1.45rem;font-weight:300}
  .row p{color:var(--sage-700);font-size:1rem}

  /* quem sou eu */
  .about{background:var(--sage-700);color:#fff}
  .about .cols{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:start}
  .about h2{color:#fff;margin-bottom:6px}
  .about .label{color:var(--sand-300)}
  .about p{color:var(--sage-100);font-size:1.04rem;margin-bottom:20px}
  .about p:last-child{margin-bottom:0}
  .cred{margin-top:38px}
  .cred div{padding:16px 0;border-top:1px solid rgba(255,255,255,.22)}
  .cred div:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
  .cred small{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sand-300);font-weight:400;margin-bottom:3px}
  .cred span{font-weight:300;font-size:1.05rem}


  [hidden]{display:none!important}
  /* conteúdo jurídico */
  .content{background:var(--sand-100)}
  .content .head{margin-bottom:44px}
  .post{display:grid;grid-template-columns:150px 1fr auto;gap:30px;align-items:center;padding:32px 0;border-top:1px solid rgba(36,49,39,.22);transition:padding-left .25s}
  .post:last-child{border-bottom:1px solid rgba(36,49,39,.22)}
  .post:hover{padding-left:14px}
  .post .tag{font-size:.68rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--sage-700);border-bottom:1px solid var(--gold);padding:0 0 5px;justify-self:start}
  .post h3{font-size:1.45rem;margin-bottom:6px}
  .post p{color:var(--sage-700);font-size:1rem;max-width:62ch}
  .post .arrow{font-size:1.5rem;color:var(--sage-700)}

  /* artigo */
  .article-view{background:var(--bg);padding:clamp(40px,6vw,80px) 0 clamp(64px,8vw,110px)}
  .article{max-width:720px;margin:0 auto}
  .back{display:inline-block;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-700);margin-bottom:44px;border-bottom:1px solid var(--gold);padding-bottom:5px}
  .back:hover{color:var(--sage-900)}
  .article h1{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:300;margin-bottom:26px}
  .byline{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-700);padding-bottom:30px;margin-bottom:34px;border-bottom:1px solid var(--sage-200)}
  .article p{font-size:1.14rem;line-height:1.85;color:var(--ink);margin-bottom:1.5em}
  .article p.lead-p{font-size:1.28rem;color:var(--sage-700)}
  .article-cta{margin-top:56px;padding-top:34px;border-top:1px solid var(--gold);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
  .article-cta p{margin:0;font-size:1.25rem;font-weight:300;color:var(--sage-900);max-width:26ch;line-height:1.35}

  /* contato */
  .contact{background:var(--sand-300)}
  .contact .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,100px);align-items:center}
  .contact h2{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:200;margin-bottom:22px}
  .contact p{color:var(--sage-700);max-width:440px;margin-bottom:34px}
  .channels div{padding:20px 0;border-top:1px solid rgba(36,49,39,.25)}
  .channels div:last-child{border-bottom:1px solid rgba(36,49,39,.25)}
  .channels small{display:block;font-size:.68rem;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-700);margin-bottom:4px}
  .channels span{font-size:1.2rem;font-weight:300;color:var(--sage-900);word-break:break-word}
  .channels a{border-bottom:1px solid transparent;transition:border-color .2s}
  .channels a:hover{border-bottom-color:var(--sage-900)}

  footer{background:var(--sage-900);color:var(--sage-200);padding:40px 0;font-size:.85rem}
  footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  footer .wordmark{color:#fff}
  footer .wordmark small{color:var(--sage-200)}

  @media(max-width:860px){
    :root{--header-h:76px}
    .menu-btn{display:flex;margin-left:auto}
    nav ul{display:none;position:absolute;left:0;right:0;top:var(--header-h);flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--sage-200);padding:8px var(--gutter) 20px}
    nav ul.open{display:flex}
    nav ul li a{display:block;padding:16px 0;border-bottom:1px solid var(--sage-100)}
    nav ul li:last-child a{margin-top:16px;text-align:center;border:1px solid var(--sage-700)}
    .nav{position:relative}
    .wordmark .name{font-size:.88rem}

    .hero{min-height:0;padding-top:34px;display:block}
    .veil{background:linear-gradient(180deg,rgba(248,247,243,.97) 0%,rgba(248,247,243,.9) 50%,rgba(248,247,243,.6) 100%)}
    .hero-grid{grid-template-columns:1fr;grid-template-areas:"a" "portrait" "c";row-gap:0}
    .intro-a{align-self:auto}
    .hero h1{max-width:none;font-size:clamp(2.2rem,9vw,3rem);margin-bottom:28px}
    .portrait{justify-self:center;max-width:340px;margin:0 0 56px 14px}
    .portrait::before{inset:-12px 12px 12px -12px}
    .plate{left:-12px;bottom:26px;padding:11px 16px}
    .plate b{font-size:.82rem}
    .actions .btn{flex:1 1 100%;text-align:center}
    .hero-info{margin-top:36px;gap:24px}

    .gallery .grid{grid-template-columns:1fr}
    .gallery figure{aspect-ratio:16/10}
    .post{grid-template-columns:1fr;gap:12px}
    .post .arrow{display:none}
    .areas .intro,.about .cols,.contact .cols,.row{grid-template-columns:1fr;gap:20px}
    .areas .intro p{justify-self:start}
  }
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .layer img{animation:none}
    .layer{transform:none!important}
  }

  /* classes que substituem estilos inline (exigência da política de segurança) */
  .label.on-sand{color:var(--sage-700)}
  .pos-pivo{object-position:55% 50%}
  .pos-colheitadeira{object-position:48% 50%}
  .pos-usina{object-position:52% 50%}
  .credits a,.foot-link{text-decoration:underline;text-underline-offset:3px}
  .foot-link:hover,.credits a:hover{color:#fff}
  .page-simple{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,110px)}
  .page-simple .article h2{font-size:1.5rem;margin:2em 0 .6em}
  .page-simple .article ul{margin:0 0 1.5em 1.2em;line-height:1.8;font-size:1.14rem}
  .page-simple .article li{margin-bottom:.4em}
  .page-simple .article a:not(.btn):not(.back){text-decoration:underline;text-underline-offset:3px}
