/* ====== Fernanda Bigolin — estilos do site ====== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@400;500&display=swap');

:root{
  --navy:#16223f; --navy2:#1f2f52; --char:#1a1a1d;
  --gold:#c4a572; --gold-soft:#d8c29a; --cream:#f4efe6; --ink:#11192e;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Montserrat',sans-serif; font-size:16px; line-height:1.7;
}
img{max-width:100%; display:block;}
a{color:inherit;}

h1,h2,h3{font-family:'Cormorant Garamond',serif; font-weight:600; letter-spacing:.2px; margin:0;}
h1{font-size:40px; line-height:1.12;}
h2{font-size:27px; line-height:1.2;}
h3{font-size:19px;}
p{margin:0;}

.container{max-width:1040px; margin:0 auto; padding:0 24px;}
.section{padding:60px 0;}
header.section{padding:0;}
.bg-navy{background:var(--navy); color:var(--cream);}
.bg-navy2{background:var(--navy2); color:var(--cream);}
.bg-cream{background:var(--cream); color:var(--ink);}
.bg-ink{background:var(--ink); color:var(--cream);}
.center{text-align:center;}

.eyebrow{color:var(--gold); font-size:11.5px; letter-spacing:3px; margin:0 0 14px; font-weight:500;}
.lead{font-size:15px; line-height:1.7;}
.muted{color:#b9c2d8;}
.muted2{color:#8b97b3;}

/* ---- nav ---- */
.topnav{background:var(--navy); position:sticky; top:0; z-index:20;}
.topnav .container{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:14px; padding-bottom:14px;}
.brand{color:var(--cream); font-size:16px; font-weight:500; letter-spacing:2px; text-decoration:none;}
.navlinks{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.navlinks a{color:#aeb8d0; font-size:13px; text-decoration:none;}
.navlinks a:hover{color:var(--cream);}
.navlinks a.active{color:var(--gold); border-bottom:1px solid var(--gold); padding-bottom:2px;}
.langwrap{display:flex; gap:5px; margin-left:4px;}
.langbtn{background:transparent; border:1px solid rgba(196,165,114,.5); color:#aeb8d0; font-size:11px; padding:3px 8px; border-radius:5px; cursor:pointer; font-family:inherit;}
.langbtn.active{background:var(--gold); color:var(--ink); border-color:var(--gold);}

/* ---- buttons ---- */
.btn{display:inline-block; font-size:13.5px; font-weight:500; padding:13px 26px; border-radius:7px; text-decoration:none; cursor:pointer;}
.btn--gold{background:var(--gold); color:var(--ink);}
.btn--outline{background:transparent; color:var(--cream); border:1px solid var(--gold);}
.btn--navy{background:var(--navy); color:var(--cream);}
.btns{display:flex; gap:10px; flex-wrap:wrap;}

/* ---- hero ---- */
.hero{display:grid; grid-template-columns:60% 40%; gap:0; align-items:stretch; min-height:450px;}
.hero h1{color:var(--cream); margin:0 0 16px;}
.hero .gold{color:var(--gold-soft);}
.hero > div:first-child{padding:50px 0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start;}
.photo-frame{background:var(--char); border:1px solid rgba(196,165,114,.45); border-radius:14px; padding:9px; width:max-content; margin:0 auto;}
.photo-frame img{border-radius:9px; width:230px; height:300px; object-fit:cover; object-position:center 20%;}

/* hero photo — sem frame */
.photo-hero{position:relative; overflow:hidden; border-radius:0 12px 12px 0; align-self:stretch; margin-left:auto;}
.photo-hero img{width:100%; height:100%; object-fit:cover; object-position:right 20%; display:block;}
.photo-hero::before{content:''; position:absolute; top:0; left:0; width:55%; height:100%; background:linear-gradient(to right,var(--navy) 0%,transparent 100%); z-index:1; pointer-events:none;}
.photo-hero::after{content:''; position:absolute; top:0; right:0; width:30%; height:100%; background:linear-gradient(to left,var(--navy) 0%,transparent 100%); z-index:1; pointer-events:none;}
.photo-hero .fade-top{position:absolute; top:0; left:0; width:100%; height:35%; background:linear-gradient(to bottom,var(--navy) 0%,transparent 100%); z-index:2; pointer-events:none;}

/* ---- grids & cards ---- */
.grid{display:grid; gap:14px;}
.g2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.g3{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.g5{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.card{background:#fff; border:.5px solid rgba(0,0,0,.1); border-radius:10px; padding:16px;}
.card i{color:var(--gold); font-size:22px;}
.card .t{color:var(--ink); font-size:14px; font-weight:500; margin:8px 0 4px;}
.card .d{color:#5f5e5a; font-size:12.5px; line-height:1.6;}
.pillar{background:var(--navy2); border-radius:10px; padding:18px;}
.pillar .n{color:var(--gold); font-size:11px; letter-spacing:1px; margin:0 0 6px;}
.pillar .t{color:var(--cream); font-size:15px; font-weight:500; margin:0 0 4px;}
.pillar .d{color:#aeb8d0; font-size:12.5px; line-height:1.6;}
.stat{text-align:center; background:rgba(196,165,114,.1); border-radius:10px; padding:14px 6px;}
.stat .v{color:var(--gold-soft); font-size:25px; font-weight:500;}
.stat .l{color:#aeb8d0; font-size:11px; line-height:1.4; margin-top:6px;}

/* ---- path cards (home) ---- */
.pathcard{background:#fff; border:.5px solid rgba(0,0,0,.12); border-radius:12px; padding:24px; text-align:center;}
.pathcard i{color:var(--gold); font-size:30px;}
.pathcard h3{color:var(--ink); margin:10px 0 8px;}
.pathcard p{color:#5f5e5a; font-size:13px; line-height:1.6; margin:0 0 16px;}

/* ---- steps ---- */
.step{background:#fff; border:.5px solid rgba(0,0,0,.1); border-radius:10px; padding:20px; text-align:center;}
.step .num{width:34px; height:34px; border-radius:50%; background:var(--navy); color:var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 12px; font-weight:500;}
.step h3{color:var(--ink); margin:0 0 4px;}
.step p{color:#5f5e5a; font-size:12.5px; line-height:1.6;}

/* ---- for who ---- */
.forwho{border-radius:12px; padding:22px;}
.forwho.yes{background:rgba(196,165,114,.1); border:1px solid rgba(196,165,114,.3);}
.forwho.no{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12);}
.forwho .h{font-size:13px; font-weight:500; margin:0 0 14px;}
.forwho.yes .h{color:var(--gold-soft);}
.forwho.no .h{color:#9aa6c4;}
.forwho .list{font-size:13px; line-height:1.9; margin:0;}
.forwho.yes .list{color:#c3cce0;}
.forwho.no .list{color:#8b97b3;}

/* ---- media / video ---- */
.vidcard{background:var(--navy2); border:1px solid rgba(196,165,114,.4); border-radius:12px; min-height:160px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-decoration:none;}
.vidcard .play{width:54px; height:54px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center;}
.vidcard .play i{color:var(--ink); font-size:26px;}
.media-photo{border-radius:10px; height:160px; width:100%; object-fit:cover; border:1px solid rgba(196,165,114,.3);}

/* ---- socials ---- */
.socials{display:flex; gap:10px; flex-wrap:wrap;}
.socials a{display:flex; align-items:center; gap:6px; color:var(--cream); background:rgba(196,165,114,.12); border:1px solid rgba(196,165,114,.3); padding:8px 13px; border-radius:7px; text-decoration:none; font-size:12.5px;}
.socials a i{font-size:16px; color:var(--gold-soft);}

/* ---- book ---- */
.bookimg{width:170px; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.25); margin:0 auto;}

/* ---- about ---- */
.about{display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; align-items:center;}
.about .photo-frame img{width:185px; height:225px;}
.about .role{color:var(--gold-soft); font-size:13px; margin:6px 0 12px;}

/* ---- footer ---- */
.footer{text-align:center;}
.footer .fbrand{color:var(--cream); font-size:19px; letter-spacing:2px; margin:0 0 6px; font-family:'Cormorant Garamond',serif; font-weight:600;}
.footer .tag{color:var(--gold); font-size:11.5px; letter-spacing:2px; margin:0 0 18px;}
.footer .ficons{display:flex; gap:18px; justify-content:center; margin-bottom:20px;}
.footer .ficons a{color:var(--gold-soft);}
.footer .ficons a i{font-size:20px;}
.footer .copy{color:#5f6a86; font-size:11px; margin:0; border-top:1px solid rgba(255,255,255,.08); padding-top:16px;}

/* ---- responsive ---- */
@media (max-width:760px){
  h1{font-size:32px;}
  h2{font-size:23px;}
  .hero{grid-template-columns:1fr; gap:26px;}
  .about{grid-template-columns:1fr; gap:24px;}
  .section{padding:44px 0;}
}
