:root{
  --linen:#FDF1E2;      /* fundo claro */
  --linen-2:#F6E8D8;    /* fundo alternado */
  --dolphin:#655A7C;    /* roxo escuro - texto forte, blocos escuros */
  --dolphin-dark:#4E4462;
  --amethyst:#AB92BF;   /* lilás - acento */
  --amethyst-soft:#C9B7D6;
  --ink:#3A3348;        /* texto corpo (roxo-acinzentado profundo) */
  --ink-soft:#6A6178;
  --line:rgba(101,90,124,0.18);
  --white:#FFFDF9;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--linen); color:var(--ink);
  font-family:'Manrope',sans-serif; -webkit-font-smoothing:antialiased;
  overflow-x:hidden; font-size:16px;
}
h1,h2,h3,h4,.display{font-family:'Fraunces',serif; font-weight:400; letter-spacing:-0.01em; margin:0; color:var(--dolphin); line-height:1.12;}
p{margin:0; line-height:1.7;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1200px; margin:0 auto; padding:0 22px;}
@media (min-width:768px){ .wrap{padding:0 40px;} }

.eyebrow{
  font-family:'Manrope',sans-serif; text-transform:uppercase; letter-spacing:0.2em;
  font-size:11px; font-weight:700; color:var(--amethyst);
}
@media (min-width:768px){ .eyebrow{font-size:12px;} }

.reveal{opacity:0; transform:translateY(20px); transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 26px; font-size:13px; font-weight:700; letter-spacing:0.04em;
  background:var(--dolphin); color:var(--white); border:1px solid var(--dolphin);
  cursor:pointer; transition:background .25s ease, transform .2s ease, color .25s ease, border-color .25s ease;
  text-transform:uppercase;
}
.btn:hover{background:var(--dolphin-dark); border-color:var(--dolphin-dark); transform:translateY(-1px);}
.btn.outline{background:transparent; color:var(--dolphin);}
.btn.outline:hover{background:var(--dolphin); color:var(--white);}
.btn.light{background:var(--white); color:var(--dolphin); border-color:var(--white);}
.btn.light:hover{background:var(--amethyst); color:var(--white); border-color:var(--amethyst);}
.btn.on-dark-outline{background:transparent; color:var(--white); border-color:rgba(253,241,226,0.55);}
.btn.on-dark-outline:hover{background:rgba(253,241,226,0.14);}

/* ---------- header ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 22px; transition:background .4s ease, padding .4s ease, box-shadow .4s ease;
}
@media (min-width:768px){ header{padding:20px 40px;} }
header.scrolled{background:rgba(253,241,226,0.94); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--line); padding:12px 22px;}
@media (min-width:768px){ header.scrolled{padding:12px 40px;} }
.logo{font-family:'Fraunces',serif; font-size:19px; font-weight:500; color:var(--white); transition:color .4s ease; letter-spacing:0.01em;}
header.scrolled .logo{color:var(--dolphin);}
.logo span{color:var(--amethyst); font-style:italic;}
nav{display:flex; align-items:center; gap:30px;}
nav a.nlink{font-size:13px; font-weight:600; color:var(--white); opacity:0.92; transition:color .4s ease, opacity .2s ease;}
header.scrolled nav a.nlink{color:var(--ink);}
nav a.nlink:hover{opacity:1; color:var(--amethyst);}
header.scrolled nav a.nlink:hover{color:var(--amethyst);}
.nav-cta{padding:12px 20px; font-size:12px;}
header .btn.on-dark-outline.nav-cta{color:var(--white);}
header.scrolled .btn.on-dark-outline.nav-cta{color:var(--dolphin); border-color:var(--dolphin);}
header.scrolled .btn.on-dark-outline.nav-cta:hover{background:var(--dolphin); color:var(--white);}
@media (max-width:860px){ nav .nlink{display:none;} }
@media (max-width:560px){ header nav .nav-cta{display:none;} }

/* ---------- hero ---------- */
.hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; background:var(--dolphin);}
.hero-img{position:absolute; inset:0; overflow:hidden;}
.hero-img img{width:100%; height:100%; object-fit:cover; object-position:60% 30%;}
.hero-img::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(58,51,72,0.30) 0%, rgba(58,51,72,0.42) 42%, rgba(58,51,72,0.72) 66%, rgba(58,51,72,0.9) 100%);
}
@media (min-width:900px){
  .hero-img::after{background:linear-gradient(90deg, rgba(58,51,72,0.72) 0%, rgba(58,51,72,0.35) 45%, rgba(58,51,72,0.05) 72%), linear-gradient(180deg, transparent 55%, rgba(58,51,72,0.55) 100%);}
  .hero-img img{object-position:70% 28%;}
}
.hero-inner{position:relative; z-index:2; width:100%; max-width:1200px; margin:0 auto; padding:0 22px 64px;}
@media (min-width:768px){ .hero-inner{padding:0 40px 96px;} }
.hero .eyebrow{color:var(--amethyst-soft);}
.hero h1{color:var(--white); font-size:clamp(34px,8vw,72px); margin:16px 0 22px; max-width:16ch; font-weight:300;}
.hero h1 em{font-style:italic; color:var(--amethyst-soft); font-weight:400;}
.hero .sub{color:rgba(253,241,226,0.9); font-size:clamp(15px,2.2vw,19px); max-width:44ch; margin-bottom:32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
@media (max-width:520px){ .hero-ctas{flex-direction:column; align-items:stretch;} .hero-ctas .btn{width:100%;} }

/* ---------- section basics ---------- */
section{padding:72px 0;}
@media (min-width:768px){ section{padding:112px 0;} }
.section-head{max-width:660px; margin-bottom:44px;}
@media (min-width:768px){ .section-head{margin-bottom:60px;} }
.section-head h2{font-size:clamp(27px,5vw,46px); margin-top:14px;}
.section-head p{margin-top:18px; font-size:clamp(15px,2vw,18px); color:var(--ink-soft);}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---------- manifesto (frase) ---------- */
.manifesto{background:var(--linen-2);}
.manifesto .wrap{max-width:900px; text-align:center;}
.manifesto p.big{
  font-family:'Fraunces',serif; font-weight:300; font-style:italic;
  font-size:clamp(22px,4vw,38px); line-height:1.4; color:var(--dolphin);
}
.manifesto p.big span{color:var(--amethyst); font-style:normal;}

/* ---------- problema (bloco escuro) ---------- */
.problema{background:var(--dolphin); color:var(--linen);}
.problema .eyebrow{color:var(--amethyst-soft);}
.problema h2{color:var(--white);}
.problema .section-head p{color:rgba(253,241,226,0.78);}
.prob-grid{display:grid; grid-template-columns:1fr; gap:1px; background:rgba(253,241,226,0.16); border:1px solid rgba(253,241,226,0.16);}
@media (min-width:820px){ .prob-grid{grid-template-columns:repeat(3,1fr);} }
.prob-card{background:var(--dolphin); padding:34px 28px;}
@media (min-width:768px){ .prob-card{padding:40px 34px;} }
.prob-card .num{font-family:'Fraunces',serif; font-style:italic; color:var(--amethyst-soft); font-size:15px; margin-bottom:16px; display:block;}
.prob-card h3{color:var(--white); font-size:20px; margin-bottom:12px; line-height:1.3;}
.prob-card p{color:rgba(253,241,226,0.75); font-size:15px;}

/* ---------- metodo ---------- */
.metodo-grid{display:grid; grid-template-columns:1fr; gap:36px; align-items:center;}
@media (min-width:900px){ .metodo-grid{grid-template-columns:0.9fr 1.1fr; gap:64px;} }
.metodo-photo{aspect-ratio:4/5; overflow:hidden; background:var(--linen-2);}
.metodo-photo img{width:100%; height:100%; object-fit:cover;}
.metodo-list{margin-top:26px;}
.metodo-item{display:flex; gap:18px; padding:24px 0; border-top:1px solid var(--line);}
.metodo-item:last-child{border-bottom:1px solid var(--line);}
.metodo-item .tagnum{font-family:'Fraunces',serif; font-style:italic; font-size:19px; color:var(--amethyst); flex:0 0 auto; width:30px;}
.metodo-item h4{font-size:18px; margin-bottom:6px; color:var(--dolphin);}
.metodo-item p{font-size:14.5px; color:var(--ink-soft);}

/* ---------- pacotes ---------- */
.pacotes{background:var(--linen-2);}
.plans-grid{display:grid; grid-template-columns:1fr; gap:18px;}
@media (min-width:620px){ .plans-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:980px){ .plans-grid{grid-template-columns:repeat(3,1fr);} }
.plan-card{
  background:var(--white); border:1px solid var(--line); padding:30px 26px;
  display:flex; flex-direction:column; position:relative;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.plan-card:hover{transform:translateY(-4px); box-shadow:0 18px 42px rgba(101,90,124,0.16); border-color:var(--amethyst);}
.plan-card.featured{border:1.5px solid var(--amethyst);}
.plan-badge{position:absolute; top:-1px; right:-1px; background:var(--amethyst); color:var(--white); font-size:10.5px; font-weight:700; letter-spacing:0.08em; padding:6px 12px; text-transform:uppercase;}
.plan-card .pname{font-family:'Fraunces',serif; font-size:22px; margin-bottom:8px; color:var(--dolphin);}
.plan-card .pdesc{font-size:14px; color:var(--ink-soft); margin-bottom:20px; min-height:38px;}
.plan-card .plist{list-style:none; padding:0; margin:0 0 26px; display:flex; flex-direction:column; gap:10px; flex:1;}
.plan-card .plist li{font-size:13.5px; padding-left:18px; position:relative; color:var(--ink-soft);}
.plan-card .plist li::before{content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border:1.4px solid var(--amethyst); border-radius:50%;}
.plan-cta{margin-top:auto; text-align:center; padding:13px; font-size:12.5px; font-weight:700; border:1px solid var(--dolphin); background:transparent; color:var(--dolphin); cursor:pointer; letter-spacing:0.04em; text-transform:uppercase; transition:all .2s ease;}
.plan-cta:hover{background:var(--dolphin); color:var(--white);}

/* ---------- galeria ---------- */
.galeria-grid{display:grid; grid-template-columns:1fr; gap:14px;}
@media (min-width:760px){ .galeria-grid{grid-template-columns:1fr 1fr; gap:18px;} }
.galeria-item{overflow:hidden; background:var(--linen-2);}
.galeria-item img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease;}
.galeria-item:hover img{transform:scale(1.04);}
.galeria-item.tall{aspect-ratio:3/4;}
@media (min-width:760px){
  .galeria-item.a{grid-row:span 2; aspect-ratio:auto;}
  .galeria-item.a img{min-height:100%;}
}

/* ---------- sobre ---------- */
.sobre-grid{display:grid; grid-template-columns:1fr; gap:32px; align-items:center;}
@media (min-width:900px){ .sobre-grid{grid-template-columns:0.9fr 1.1fr; gap:64px;} }
.sobre-photo{aspect-ratio:3/4; overflow:hidden; background:var(--linen-2);}
.sobre-photo img{width:100%; height:100%; object-fit:cover;}
.sobre blockquote{font-family:'Fraunces',serif; font-style:italic; font-size:clamp(20px,3vw,28px); line-height:1.4; color:var(--dolphin); margin:20px 0 24px; padding-left:20px; border-left:2px solid var(--amethyst);}
.creds{display:flex; flex-wrap:wrap; gap:9px; margin-top:24px;}
.cred-tag{border:1px solid var(--line); padding:8px 14px; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; color:var(--ink-soft);}

/* ---------- depoimentos ---------- */
.depo{background:var(--dolphin); color:var(--linen);}
.depo .eyebrow{color:var(--amethyst-soft);}
.depo h2{color:var(--white);}
.depo-grid{display:grid; grid-template-columns:1fr; gap:20px; margin-top:16px;}
@media (min-width:900px){ .depo-grid{grid-template-columns:repeat(3,1fr);} }
.depo-card{background:rgba(253,241,226,0.06); border:1px solid rgba(253,241,226,0.18); padding:30px 26px;}
.depo-card .stars{color:var(--amethyst-soft); font-size:14px; letter-spacing:2px; margin-bottom:14px;}
.depo-card p.quote{font-size:15px; color:rgba(253,241,226,0.9); font-style:italic; font-family:'Fraunces',serif; line-height:1.55;}
.depo-card .who{margin-top:16px; font-size:12px; letter-spacing:0.05em; color:var(--amethyst-soft); font-weight:700;}
.depo-note{margin-top:20px; font-size:12px; color:rgba(253,241,226,0.5);}

/* ---------- FAQ ---------- */
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{display:flex; align-items:center; justify-content:space-between; padding:22px 0; cursor:pointer; gap:20px;}
.faq-q h4{font-size:16.5px; font-weight:600; font-family:'Manrope'; color:var(--dolphin);}
.faq-q .plus{font-family:'Fraunces',serif; font-size:22px; color:var(--amethyst); transition:transform .3s ease; flex:0 0 auto;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.faq-a p{padding-bottom:22px; font-size:14.5px; color:var(--ink-soft); max-width:68ch;}

/* ---------- aplicação ---------- */
.aplicacao{background:var(--amethyst); color:var(--white); position:relative; overflow:hidden;}
.aplicacao .eyebrow{color:var(--white); opacity:0.85;}
.aplicacao h2{color:var(--white);}
.aplicacao .section-head p{color:rgba(255,253,249,0.9);}
.form-shell{position:relative; background:var(--white); color:var(--ink); max-width:760px; margin:0 auto; padding:28px; border:1px solid rgba(255,255,255,0.4);}
@media (min-width:640px){ .form-shell{padding:44px;} }
.service-pick{margin-bottom:20px;}
.service-pick label, .field label{display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; color:var(--ink-soft);}
.service-opts{display:flex; flex-wrap:wrap; gap:9px;}
.service-opt{border:1px solid var(--dolphin); padding:9px 15px; font-size:12.5px; font-weight:600; cursor:pointer; background:transparent; color:var(--dolphin); transition:all .18s ease;}
.service-opt.sel{background:var(--dolphin); color:var(--white);}
.form-row{display:grid; grid-template-columns:1fr; gap:18px; margin-bottom:18px;}
@media (min-width:560px){ .form-row{grid-template-columns:1fr 1fr;} }
.field input, .field select, .field textarea{width:100%; border:none; border-bottom:1.5px solid var(--dolphin); background:transparent; padding:11px 2px; font-family:'Manrope'; font-size:15px; color:var(--ink); outline:none; transition:border-color .2s ease;}
.field select{cursor:pointer; appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'><path d='M5 7l5 6 5-6' stroke='%23655A7C' stroke-width='1.5'/></svg>"); background-repeat:no-repeat; background-position:right 2px center;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--amethyst);}
.field-full{grid-column:1/-1;}
.form-submit{width:100%; margin-top:6px; padding:17px;}
.form-foot{margin-top:16px; font-size:12px; color:var(--ink-soft); text-align:center;}

/* ---------- footer ---------- */
footer{background:var(--dolphin); color:rgba(253,241,226,0.72); padding:56px 0 28px;}
.foot-grid{display:grid; grid-template-columns:1fr; gap:32px; padding-bottom:44px; border-bottom:1px solid rgba(253,241,226,0.16);}
@media (min-width:760px){ .foot-grid{grid-template-columns:1.4fr 1fr 1fr;} }
.foot-logo{font-family:'Fraunces',serif; color:var(--white); font-size:22px; margin-bottom:14px;}
.foot-logo span{color:var(--amethyst-soft); font-style:italic;}
.foot-col h5{color:var(--white); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:16px;}
.foot-col a, .foot-col p{display:block; font-size:14px; margin-bottom:10px; color:rgba(253,241,226,0.72);}
.foot-col a:hover{color:var(--amethyst-soft);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12px; color:rgba(253,241,226,0.45); flex-wrap:wrap; gap:10px;}

/* ---------- WordPress ---------- */
.admin-bar header{top:32px;}
@media (max-width:782px){ .admin-bar header{top:46px;} }
.page-content{padding:140px 0 80px;}
.page-content .wrap{max-width:820px;}
.page-content h1{font-size:clamp(30px,5vw,48px); margin-bottom:28px;}
.page-content .entry{line-height:1.7;}
.page-content .entry p{margin-bottom:1em;}
.page-content article + article{margin-top:56px; padding-top:40px; border-top:1px solid var(--line);}
.page-content h2 a:hover{color:var(--amethyst);}
