*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --gold: #c9a875;
  --gold-light: #d4b896;
  --gold-dark: #a88860;
  --brown: #7a5e3b;
  --brown-dark: #5a4a35;
  --green: #2d5a3d;
  --cream-bg: #f5e6d3;
  --cream-pale: #ede8df;
  --cream-soft: #f9f4ed;
  --beige: #e8ddd0;
  --beige-warm: #ddd2c4;
  --sand: #c9b8a8;
  --text-dark: #3d3125;
  --text-mid: #5a4f47;
  --text-soft: #8b7f77;
  --white: #ffffff;
  --ff-serif: 'Cormorant Garamond', Georgia, serif;
  --ff-sans: 'Inter', system-ui, sans-serif;
}

body{font-family:var(--ff-sans);background:var(--cream-bg);color:var(--text-dark);overflow-x:hidden}

/* NAV */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(245,230,211,0.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gold-light);
  padding:0 2.5rem;
  display:flex;align-items:center;justify-content:space-between;height:58px;
}
.nav-logo{
  font-family:var(--ff-serif);font-size:23px;font-weight:500;
  color:var(--green);letter-spacing:0.03em;
}
.nav-logo em{font-style:italic;color:var(--gold-dark);}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{
  font-size:12px;font-weight:500;color:var(--text-mid);
  text-decoration:none;letter-spacing:0.1em;text-transform:uppercase;
  transition:color 0.2s;
}
.nav-links a:hover{color:var(--gold-dark)}

/* HERO */
.hero{
  min-height:92vh;
  background:var(--cream-bg);
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,0.85fr);
  align-items:center;padding:3rem 2.4rem;gap:clamp(0.8rem,1.6vw,1.2rem);
  position:relative;overflow:hidden;
}
.hero-bg-circle{
  position:absolute;right:-120px;top:-120px;
  width:600px;height:600px;border-radius:50%;
  background:var(--cream-pale);opacity:0.6;z-index:0;
}
.hero-bg-circle2{
  position:absolute;left:-80px;bottom:-100px;
  width:400px;height:400px;border-radius:50%;
  background:var(--gold-light);opacity:0.15;z-index:0;
}
.hero-text{position:relative;z-index:1;max-width:760px}
.hero-eyebrow{
  font-size:11px;font-weight:500;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--gold-dark);margin-bottom:1rem;
}
.hero-name{
  font-family:var(--ff-serif);
  font-size:clamp(52px,6.5vw,88px);
  font-weight:300;line-height:1.0;
  color:var(--green);margin-bottom:0.3rem;
}
.hero-name em{font-style:italic;color:var(--gold-dark);}
.hero-phrase{
  font-family:var(--ff-serif);
  font-size:clamp(18px,2.2vw,26px);
  font-weight:300;font-style:italic;
  color:var(--brown);margin-bottom:1.6rem;line-height:1.4;
}
.hero-desc{
  font-size:15px;font-weight:300;color:var(--text-soft);
  line-height:1.85;max-width:100%;margin-bottom:2rem;
}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;
}
.btn-primary{
  background:var(--green);color:white;border:none;
  padding:13px 28px;border-radius:50px;
  font-family:var(--ff-sans);font-size:13.5px;font-weight:500;
  cursor:pointer;letter-spacing:0.03em;transition:all 0.22s;
}
.btn-primary:hover{background:var(--brown-dark);transform:translateY(-2px)}
.btn-ghost{
  background:transparent;color:var(--green);
  border:1px solid var(--gold);
  padding:13px 28px;border-radius:50px;
  font-family:var(--ff-sans);font-size:13.5px;font-weight:400;
  cursor:pointer;transition:all 0.22s;
}
.btn-ghost:hover{border-color:var(--gold-dark);color:var(--green)}

/* HERO VISUAL */
.hero-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start}
.portrait-wrap{position:relative;width:min(340px,36vw);max-width:340px;height:auto;aspect-ratio:340/440}
.portrait-frame{
  width:100%;height:100%;
  background:linear-gradient(145deg,var(--cream-pale),var(--beige-warm));
  border-radius:170px 170px 130px 130px;
  border:3px solid var(--gold);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  overflow:hidden;
}
.portrait-frame img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.portrait-initial{
  width:90px;height:90px;border-radius:50%;
  background:var(--green);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-serif);font-size:36px;font-weight:300;color:white;
}
.portrait-hint{font-size:12px;color:var(--gold-dark);font-weight:400;letter-spacing:0.08em;text-transform:uppercase}
.float-card{
  position:absolute;background:white;
  border-radius:14px;padding:10px 16px;
  border:1px solid var(--gold-light);
  font-size:12.5px;font-weight:400;color:var(--text-dark);
  display:flex;align-items:center;gap:9px;
  box-shadow:0 4px 20px rgba(112,94,69,0.1);
}
.float-card .pill{
  width:9px;height:9px;border-radius:50%;flex-shrink:0;
}
.f1{top:1.8rem;right:-1.5rem}
.f2{bottom:2.5rem;left:-2rem}
.f3{top:50%;right:-2.2rem;transform:translateY(-50%)}

/* QUOTE STRIPE */
.quote-stripe{
  background:var(--green);
  padding:3.5rem 3.5rem;
  text-align:center;
}
.quote-big{
  font-family:var(--ff-serif);
  font-size:clamp(28px,4vw,52px);
  font-weight:300;font-style:italic;
  color:white;line-height:1.2;max-width:800px;margin:0 auto 1rem;
}
.quote-big strong{font-style:normal;font-weight:600;color:var(--gold-light)}
.quote-sub{font-size:13px;color:var(--gold-light);letter-spacing:0.15em;text-transform:uppercase;font-weight:400}

/* SECTION BASE */
section{padding:5rem 3.5rem}
.s-label{
  font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold-dark);font-weight:500;margin-bottom:0.5rem;
}
.s-title{
  font-family:var(--ff-serif);
  font-size:clamp(30px,3.5vw,50px);
  font-weight:300;color:var(--green);
  line-height:1.1;margin-bottom:0.8rem;
}
.s-title em{font-style:italic;color:var(--gold-dark)}
.s-sub{font-size:14.5px;font-weight:300;color:var(--text-soft);line-height:1.85;max-width:520px}

/* SOBRE */
.sobre{background:var(--cream-soft);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.bio-text{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.9;margin-top:1.5rem}
.bio-text p{margin-bottom:1rem}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.8rem}
.tag{
  border:1px solid var(--gold);border-radius:50px;
  padding:6px 14px;font-size:12px;color:var(--brown);font-weight:400;
}
.tag.filled{background:var(--green);color:white;border-color:var(--green)}
.tag.soft{background:var(--cream-pale);border-color:var(--gold-light);color:var(--green)}

.about-right{}
.credential-list{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}
.cred-item{
  border-left:3px solid var(--gold);
  padding:0.8rem 1.2rem;
  background:white;border-radius:0 12px 12px 0;
}
.cred-title{font-size:14px;font-weight:500;color:var(--green);margin-bottom:3px}
.cred-sub{font-size:12.5px;color:var(--text-soft);font-weight:300}

.about-numbers{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;
}
.num-card{
  background:white;border-radius:14px;
  padding:1.1rem 1rem;border:1px solid var(--gold-light);
}
.num-big{
  font-family:var(--ff-serif);font-size:38px;font-weight:300;
  color:var(--gold-dark);line-height:1;margin-bottom:4px;
}
.num-desc{font-size:11.5px;color:var(--text-mid);font-weight:400;line-height:1.4}

/* FILOSOFIA */
.filosofia{background:var(--cream-bg)}
.filo-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.5rem;margin-top:3rem;
}
.filo-card{
  background:white;border-radius:20px;
  padding:2rem 1.6rem;border:1px solid var(--gold-light);
  transition:all 0.25s;cursor:default;
}
.filo-card:hover{transform:translateY(-4px);border-color:var(--gold-dark);box-shadow:0 8px 30px rgba(112,94,69,0.12)}
.filo-glyph{
  font-family:var(--ff-serif);font-size:44px;font-weight:300;
  font-style:italic;color:var(--gold);line-height:1;margin-bottom:1rem;
}
.filo-title{font-size:15.5px;font-weight:500;color:var(--green);margin-bottom:0.5rem}
.filo-body{font-size:13.5px;color:var(--text-soft);line-height:1.75;font-weight:300}

/* SERVIÇOS */
.servicos{background:var(--cream-soft)}
.serv-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.2rem;margin-top:3rem;
}
.serv-card{
  border:1px solid var(--gold-light);border-radius:18px;
  padding:1.6rem 1.5rem;transition:all 0.22s;
  display:flex;gap:1.2rem;align-items:flex-start;
  background:white;
}
.serv-card:hover{border-color:var(--gold-dark);background:var(--cream-pale)}
.serv-n{
  font-family:var(--ff-serif);font-size:28px;font-weight:300;
  color:var(--gold);min-width:36px;line-height:1;padding-top:2px;
}
.serv-name{font-size:15px;font-weight:500;color:var(--green);margin-bottom:5px}
.serv-desc{font-size:13px;color:var(--text-soft);line-height:1.7;font-weight:300}

/* GASTRONOMIA */
.gastro{background:var(--green)}
.gastro .s-label{color:var(--gold-light)}
.gastro .s-title{color:var(--white);text-shadow:0 2px 4px rgba(0,0,0,0.2);font-weight:400}
.gastro .s-sub{color:rgba(245,230,211,0.85)}
.gastro-cards{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.5rem;margin-top:3rem;
}
.gastro-card{
  background:rgba(255,255,255,0.1);
  border:2px solid rgba(201,168,117,0.6);
  border-radius:16px;padding:1.8rem 1.5rem;
  transition:all 0.3s;cursor:pointer;
}
.gastro-card:hover{background:rgba(255,255,255,0.18);border-color:var(--gold-light);transform:translateY(-3px)}
.gastro-emoji{font-size:32px;margin-bottom:1rem}
.gastro-t{font-size:15px;font-weight:600;color:var(--gold-light);margin-bottom:0.8rem}
.gastro-d{font-size:13px;color:rgba(245,230,211,0.85);line-height:1.7;font-weight:300}

/* POSTS */
.posts{background:var(--cream-pale)}
.posts-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.5rem;margin-top:2.5rem;
}
.post-card{
  background:white;border-radius:16px;
  border:1px solid var(--gold-light);padding:2rem 1.8rem;
  cursor:pointer;transition:all 0.22s;
}
.post-card:hover{border-color:var(--gold-dark);transform:translateY(-3px);box-shadow:0 6px 24px rgba(112,94,69,0.12)}
.post-tag{
  display:inline-block;
  background:var(--cream-pale);border-radius:50px;
  padding:4px 12px;font-size:11px;font-weight:500;
  color:var(--gold-dark);letter-spacing:0.06em;text-transform:uppercase;
  margin-bottom:0.8rem;
}
.post-phrase{
  font-family:var(--ff-serif);font-size:18px;font-weight:400;
  color:var(--green);line-height:1.35;font-style:italic;
  margin-bottom:0.6rem;
}
.post-preview{font-size:12.5px;color:var(--text-soft);line-height:1.65;font-weight:300}

/* DEPOIMENTOS */
.depoimentos{background:white}
.dep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}
.dep-card{
  border:1px solid var(--gold-light);border-radius:18px;
  padding:1.6rem;
}
.dep-quote{
  font-family:var(--ff-serif);font-size:16px;font-weight:400;
  font-style:italic;color:var(--green);line-height:1.65;margin-bottom:1rem;
}
.dep-name{font-size:12px;font-weight:500;color:var(--gold-dark);text-transform:uppercase;letter-spacing:0.1em}
.dep-ctx{font-size:11.5px;color:var(--text-soft);margin-top:2px}

/* CTA */
.cta-sec{
  background:var(--cream-pale);
  padding:5rem 3.5rem;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:1.5rem;
}
.cta-sec .s-title{color:var(--green)}
.cta-sec p{font-size:15px;font-weight:300;color:var(--text-mid);max-width:460px;line-height:1.8}

/* FOOTER */
footer{
  background:var(--green);
  padding:2rem 3.5rem;
  display:flex;align-items:center;justify-content:space-between;
  color:rgba(245,230,211,0.6);font-size:12px;
}
.f-logo{font-family:var(--ff-serif);font-size:19px;font-weight:300;color:rgba(245,230,211,0.9)}
.f-logo em{font-style:italic;color:var(--gold)}
footer a{color:rgba(245,230,211,0.65);text-decoration:none;transition:color 0.2s}
footer a:hover{color:var(--gold-light)}

@media (max-width: 900px){
  nav{height:auto;padding:0.9rem 1.2rem;flex-direction:column;gap:0.7rem}
  .nav-links{flex-wrap:wrap;justify-content:center;gap:0.7rem 1rem}

  .hero{grid-template-columns:1fr;min-height:auto;padding:2.2rem 1.2rem 2.8rem;align-items:start}
  .hero-text{max-width:none;width:100%}
  .hero-desc{max-width:none;font-size:14px}
  .hero-actions{justify-content:flex-start}
  .hero-visual{justify-content:center;padding-top:1rem}
  .portrait-wrap{width:min(280px,78vw);max-width:280px}

  .quote-stripe{padding:2.6rem 1.2rem}
  section{padding:3.6rem 1.2rem}
  .sobre{grid-template-columns:1fr;gap:2.2rem}
  .about-numbers,.filo-grid,.serv-grid{grid-template-columns:1fr 1fr}
  .gastro-cards,.posts-grid,.dep-grid{grid-template-columns:1fr 1fr}
  .s-sub,.cta-sec p{max-width:none}
}

@media (max-width: 640px){
  body{background:var(--cream-bg)}
  nav{align-items:flex-start}
  .nav-links{justify-content:flex-start;width:100%}

  .hero{padding:1.6rem 1rem 2.2rem}
  .hero-name{font-size:clamp(2.2rem,11vw,3rem)}
  .hero-phrase{font-size:clamp(1rem,5vw,1.35rem)}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn-primary,.btn-ghost{width:100%}
  .portrait-wrap{width:min(240px,84vw);max-width:240px}
  .float-card{display:none}

  .quote-stripe{padding:2rem 1rem}
  section{padding:3rem 1rem}
  .s-title{font-size:clamp(1.7rem,8vw,2.3rem)}
  .bio-text,.hero-desc,.s-sub,.serv-desc,.filo-body,.post-preview,.dep-quote,.cta-sec p{font-size:14px;max-width:none}
  .about-numbers,.filo-grid,.serv-grid,.gastro-cards,.posts-grid,.dep-grid{grid-template-columns:1fr}

  footer{flex-direction:column;align-items:flex-start;gap:0.8rem;padding:1.5rem 1rem}
}
