/* Design system: Dra. Jessyca Pachi — tokens em DESIGN_SYSTEM.md */

:root{
  --color-cream:#E7D4BB;
  --color-white:#FFFFFF;
  --color-sandlewood:#857861;
  --color-sandlewood-light:#A99D89;
  --color-sandlewood-dark:#5D5444;
  --color-wine:#48252F;
  --color-wine-light:#6E4048;
  --color-wine-dark:#2A141A;
  --color-ink:#29281E;
  --color-carbon:#101211;

  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-label:'Space Mono', 'Courier New', monospace;
  --font-body:'Jost', 'Helvetica Neue', Arial, sans-serif;

  --radius:3px;
  --shadow-soft: 0 12px 30px -12px rgba(16,18,17,.32);
  --container: 1200px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--color-cream);
  color:var(--color-ink);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
::selection{background:var(--color-wine); color:var(--color-cream);}

.wrap{max-width:var(--container); margin:0 auto; padding:0 24px;}

h1,h2,h3{font-family:var(--font-display); font-weight:600; margin:0; color:var(--color-sandlewood-dark);}
p{margin:0 0 16px; max-width:680px;}
p:last-child{margin-bottom:0;}

.eyebrow{
  font-family:var(--font-label);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--color-wine);
  display:flex; align-items:center; gap:12px;
  margin:0 0 18px;
}
.eyebrow::before{content:''; width:28px; height:1px; background:var(--color-wine); display:inline-block; flex-shrink:0;}
.eyebrow.on-wine{color:var(--color-cream); opacity:.9;}
.eyebrow.on-wine::before{background:var(--color-cream);}

/* Símbolo: cruz de fôlego */
.mark{stroke-linecap:round; stroke-linejoin:round; fill:none;}
.logo{display:inline-flex; align-items:center; gap:12px; text-decoration:none;}
.logo .name-block{display:flex; flex-direction:column; line-height:1.2;}
.logo .dra{font-family:var(--font-label); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--color-sandlewood);}
.logo .name{font-family:var(--font-display); font-weight:600; font-size:19px; color:var(--color-sandlewood-dark);}
.logo.negative .dra{color:rgba(231,212,187,.75);}
.logo.negative .name{color:var(--color-cream);}

/* Botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-body); font-weight:500; font-size:15px; letter-spacing:.05em; text-transform:uppercase;
  padding:16px 32px; border-radius:var(--radius); border:1px solid transparent; cursor:pointer;
  text-decoration:none; transition:background .15s ease;
}
.btn-primary{background:var(--color-wine); color:var(--color-cream);}
.btn-primary:hover{background:var(--color-wine-light);}
.btn-on-wine{background:var(--color-cream); color:var(--color-wine-dark);}
.btn-on-wine:hover{background:var(--color-white);}
.btn-block{width:100%;}

/* Formulário */
.field{margin-bottom:16px; text-align:left;}
.field label{
  display:block; font-family:var(--font-label); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--color-wine-dark); margin-bottom:8px;
}
.field.on-wine label{color:rgba(231,212,187,.85);}
.field input{
  width:100%; padding:14px 16px; border-radius:var(--radius); border:1px solid rgba(107,128,104,.4);
  background:var(--color-white); font-family:var(--font-body); font-size:16px; color:var(--color-ink);
}
.field input:focus{outline:none; border-color:var(--color-wine);}
.field.on-wine input{border-color:rgba(231,212,187,.35);}
.hp{position:absolute; left:-9999px; opacity:0; height:0; width:0; overflow:hidden;}

/* Erro de formulário */
.form-error{
  background:var(--color-white); border:1px solid var(--color-wine); border-radius:var(--radius);
  padding:14px 18px; margin-bottom:20px; font-size:14px; color:var(--color-wine-dark);
}

/* Cartão genérico */
.card{background:var(--color-white); border:1px solid rgba(72,37,47,.16); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow-soft);}

/* Seções */
section{padding:64px 0;}
.section-cream{background:var(--color-cream);}
.section-white{background:var(--color-white);}
.section-wine{background:var(--color-wine); color:var(--color-cream);}
.section-wine h2, .section-wine h3{color:var(--color-cream);}
.section-wine p{color:rgba(231,212,187,.88);}

/* Header */
.site-header{padding:28px 0;}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between;}

/* Rodapé de prova */
.prova{padding:40px 0; border-top:1px solid rgba(72,37,47,.14);}
.prova p{font-size:13.5px; opacity:.75; max-width:620px;}

/* Padrão decorativo de fundo (cruz de fôlego repetida, baixa opacidade) */
.pattern-bg{position:relative; overflow:hidden;}
.pattern-bg .pattern-layer{
  position:absolute; inset:0; opacity:.06; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 80 80'%3E%3Cpath d='M40 10 C 25 22, 25 38, 40 40 C 25 42, 25 58, 40 70' fill='none' stroke='%23E7D4BB' stroke-width='2'/%3E%3Cpath d='M40 10 C 55 22, 55 38, 40 40 C 55 42, 55 58, 40 70' fill='none' stroke='%23E7D4BB' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:repeat;
}
.pattern-bg > .wrap{position:relative; z-index:1;}

/* Hero em duas colunas: texto + painel visual (símbolo no lugar de foto) */
.hero-split{display:grid; grid-template-columns:1.05fr .95fr; min-height:calc(100vh - 84px);}
.hero-split .col-text{
  background:var(--color-cream); display:flex; flex-direction:column; justify-content:center;
  padding:48px clamp(24px, 6vw, 88px);
}
.hero-split .col-text > *{max-width:520px;}
.hero-split .col-visual{
  background:var(--color-wine); position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; min-height:360px;
}
.hero-split .col-visual .big-mark{position:relative; z-index:1;}
.chip{
  position:absolute; z-index:2; background:var(--color-cream); color:var(--color-wine-dark);
  font-family:var(--font-label); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  padding:10px 16px; border-radius:var(--radius); box-shadow:var(--shadow-soft);
}
.chip-1{top:14%; left:8%;}
.chip-2{bottom:16%; right:9%;}

@media (max-width:900px){
  .hero-split{grid-template-columns:1fr; min-height:auto;}
  .hero-split .col-text{order:1; padding:40px 24px 36px;}
  .hero-split .col-text > *{max-width:none;}
  .hero-split .col-visual{order:2; min-height:260px;}
  .chip{font-size:10px; padding:8px 12px;}
}

@media (max-width:720px){
  section{padding:48px 0;}
  .site-header{padding:20px 0;}
}
