/* ============================================================
   Sacerdotisa Gabrielle — folha de estilos compartilhada
   ============================================================ */

:root{
  --font-sans:'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --bg-0:#050505;
  --bg-1:#0b0a09;
  --ink-0:#f6f2ea;
  --ink-1:#d8d2c8;
  --ink-2:#a8a297;
  --hair:rgba(255,255,255,0.10);
  --glass-fill:rgba(255,255,255,0.04);
  --glass-fill-strong:rgba(255,255,255,0.075);
  --accent:#c9a15f;
  --accent-dim:#8f6a3a;
  --wine:#8f6a3a;
  --wine-bright:#dcbc7e;
  --gold:#c9a15f;
  --gold-soft:rgba(182,147,92,0.35);
  --measure:720px;
  --wide:1080px;
  --base:#050505;
  --ambient:none;

  /* variante Pombagira (vinho) */
  --pg-bg:#0c0a08;
  --pg-fill:rgba(201,161,95,0.14);
  --pg-fill-strong:rgba(201,161,95,0.24);
  --pg-line:rgba(201,161,95,0.30);
  --pg-red:#8f6a3a;
  --pg-red-bright:#dcbc7e;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; color-scheme:dark; -webkit-text-size-adjust:100%; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

body{
  margin:0;
  background-color:var(--base);
  color:var(--ink-0);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  font-weight:400;
  line-height:1.7;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
}

/* camada ambiente fixa: dá ao vidro algo para "refratar" sem custo de rolagem */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:var(--ambient);
}

::selection{ background:rgba(214,178,110,0.38); color:var(--ink-0); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; }

/* ---------- Reveal on load ---------- */
.page-fade{
  opacity:0;
  animation:fade-in 0.7s ease forwards;
}
@keyframes fade-in{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  .page-fade{ opacity:1; animation:none; }
}

/* ---------- Header / navegação ---------- */

header.site-head{
  position:sticky;
  top:0;
  z-index:60;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  background:rgba(6,6,5,0.58);
  border-bottom:1px solid var(--hair);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,0.02), 0 10px 30px -12px rgba(0,0,0,0.6);
}

.head-inner{
  max-width:var(--wide);
  margin:0 auto;
  padding:16px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.avatar{
  width:46px;
  height:46px;
  border-radius:50%;
  overflow:hidden;
  flex:none;
  border:1px solid rgba(255,255,255,0.14);
  box-shadow:0 4px 18px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(255,255,255,0.03);
}
.avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(6%) contrast(1.02);
}

/* monograma G+M — acompanha o avatar no cabeçalho */
.brand-mark{
  display:flex;
  align-items:center;
  flex:none;
  width:58px;
  height:32px;
}
.brand-mark svg{ width:100%; height:100%; display:block; }
@media (max-width:460px){ .brand-mark{ width:48px; height:27px; } }
@media (max-width:360px){ .brand-mark{ display:none; } }

.identity{ display:flex; flex-direction:column; gap:1px; min-width:0; }

.identity .name{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(12.5px, 3.4vw, 14.5px);
  letter-spacing:0.005em;
  white-space:nowrap;
  color:var(--ink-0);
}

.identity .role{
  font-size:11.5px;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--accent);
}

/* nav desktop */
nav.main-nav{
  display:flex;
  align-items:center;
  gap:6px;
}

nav.main-nav a{
  position:relative;
  padding:9px 16px;
  border-radius:999px;
  font-size:13.5px;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--ink-1);
  border:1px solid transparent;
  transition:background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  white-space:nowrap;
}
nav.main-nav a:hover{
  color:var(--ink-0);
  background:var(--glass-fill);
}
nav.main-nav a[aria-current="page"]{
  color:var(--ink-0);
  background:var(--glass-fill-strong);
  border-color:var(--hair);
}

/* botão hambúrguer (mobile) */
.menu-toggle{
  display:none;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--glass-fill);
  border:1px solid var(--hair);
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:none;
}
.menu-toggle .bars{
  position:relative;
  width:17px;
  height:11px;
}
.menu-toggle .bars span{
  position:absolute;
  left:0;
  width:100%;
  height:1px;
  background:var(--ink-0);
  transition:transform 0.3s ease, opacity 0.3s ease, top 0.3s ease;
}
.menu-toggle .bars span:nth-child(1){ top:0; }
.menu-toggle .bars span:nth-child(2){ top:5px; }
.menu-toggle .bars span:nth-child(3){ top:10px; }

body.nav-open .menu-toggle .bars span:nth-child(1){ top:5px; transform:rotate(45deg); }
body.nav-open .menu-toggle .bars span:nth-child(2){ opacity:0; }
body.nav-open .menu-toggle .bars span:nth-child(3){ top:5px; transform:rotate(-45deg); }

/* menu mobile (painel deslizante) */
.mobile-nav{
  display:none;
  position:fixed;
  inset:0;
  z-index:55;
  background:rgba(6,6,5,0.74);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.35s ease;
}
body.nav-open .mobile-nav{
  opacity:1;
  pointer-events:auto;
}
.mobile-nav-panel{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:min(78vw, 320px);
  background:linear-gradient(180deg, var(--glass-fill-strong), var(--bg-1));
  border-left:1px solid var(--hair);
  padding:100px 30px 40px;
  display:flex;
  flex-direction:column;
  gap:6px;
  transform:translateX(100%);
  transition:transform 0.4s cubic-bezier(.2,.8,.25,1);
}
body.nav-open .mobile-nav-panel{ transform:translateX(0); }

.mobile-nav-panel a{
  padding:16px 6px;
  border-bottom:1px solid var(--hair);
  font-family:var(--font-sans);
  font-weight:500;
  font-size:20px;
  color:var(--ink-1);
}
.mobile-nav-panel a[aria-current="page"]{ color:var(--accent); }

@media (max-width:760px){
  nav.main-nav{ display:none; }
  .menu-toggle{ display:flex; }
  .mobile-nav{ display:block; }
}

/* ---------- Layout geral ---------- */

main{
  flex:1;
  max-width:var(--wide);
  margin:0 auto;
  padding:64px 28px 40px;
  width:100%;
}

main.narrow{ max-width:var(--measure); }

.eyebrow-free-title{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(32px, 6vw, 48px);
  line-height:1.15;
  letter-spacing:-0.01em;
  margin:0 0 8px;
  color:var(--ink-0);
}

.subtitle{
  font-size:15px;
  color:var(--ink-2);
  margin:0 0 46px;
  max-width:52ch;
}

/* ---------- Blocos de vidro (Liquid Glass) ---------- */

.glass{
  background:
    linear-gradient(155deg, rgba(255,255,255,0.085), rgba(255,255,255,0.022) 46%, rgba(201,161,95,0.11) 125%);
  border:1px solid var(--hair);
  backdrop-filter:blur(22px) saturate(165%);
  -webkit-backdrop-filter:blur(22px) saturate(165%);
  box-shadow:
    0 24px 60px rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(255,255,255,0.11),
    inset 0 -1px 0 rgba(255,255,255,0.025),
    inset 0 0 28px rgba(255,255,255,0.012);
  border-radius:20px;
  position:relative;
}

/* borda luminosa fina */
.glass::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(160deg, rgba(255,255,255,0.18), transparent 38%, rgba(214,178,110,0.20));
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

/* reflexo especular discreto */
.glass::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(120% 70% at 0% 0%, rgba(255,255,255,0.075), transparent 48%);
  pointer-events:none;
}

/* ---------- Biografia ---------- */

.bio-hero{
  margin-bottom:56px;
}

.kicker{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 14px;
}

.bio-hero h1{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(26px, 4.2vw, 36px);
  line-height:1.2;
  letter-spacing:-0.01em;
  margin:0 0 8px;
  color:var(--ink-0);
}

.bio-hero .role-line{
  font-size:14.5px;
  font-weight:500;
  letter-spacing:0.03em;
  color:var(--accent);
}

.read-time{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:16px 0 0;
  font-size:12.5px;
  letter-spacing:0.02em;
  color:var(--ink-2);
}
.read-time svg{ width:14px; height:14px; flex:none; }

@media (max-width:600px){
  .bio-hero{
    text-align:center;
  }
  .read-time{
    justify-content:center;
  }
}

article.copy p{
  margin:0 0 24px;
  font-size:16.5px;
  font-weight:400;
  color:var(--ink-1);
}
article.copy p.lede{
  font-size:18px;
  color:var(--ink-0);
}

blockquote.pull-quote{
  margin:44px 0;
  padding:26px 28px;
  border-radius:16px;
  font-family:var(--font-serif);
  font-style:italic;
  font-weight:500;
  font-size:19px;
  line-height:1.55;
  color:#efe8da;
}
blockquote.pull-quote p{ margin:0; }

blockquote.pull-quote.lede-quote{
  font-family:var(--font-sans);
  font-style:normal;
  font-weight:300;
  letter-spacing:0.01em;
}

h2.section-head{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:25px;
  color:var(--ink-0);
  margin:52px 0 20px;
  line-height:1.3;
}
article.copy > h2.section-head:first-child{ margin-top:0; }

hr.divider{
  border:none;
  height:1px;
  background:linear-gradient(90deg, var(--hair), transparent);
  margin:52px 0;
}

.signature{
  margin-top:48px;
  padding-top:24px;
  border-top:1px solid var(--hair);
  font-size:14.5px;
  font-weight:400;
  color:var(--ink-2);
  font-style:italic;
  font-family:var(--font-serif);
}

/* ---------- Consultas: seções e cards ---------- */

.service-section{
  margin-bottom:64px;
}
.service-section:last-child{ margin-bottom:0; }

.service-head{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:26px;
}

.service-head h2{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(24px, 3.4vw, 30px);
  color:var(--ink-0);
  margin:0;
}

.service-head p{
  color:var(--ink-1);
  font-size:15.5px;
  max-width:62ch;
  margin:0;
}

.oracle-feature{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:36px;
  align-items:center;
  padding:32px;
  margin-bottom:26px;
}

.oracle-feature .oracle-text p{
  font-size:15.5px;
  color:var(--ink-1);
  margin:0 0 16px;
}
.oracle-feature .oracle-text p:last-child{ margin-bottom:0; }

.oracle-photo{
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 16px 40px rgba(0,0,0,0.45);
}
.oracle-photo img{ width:100%; height:100%; object-fit:cover; }

@media (max-width:800px){
  .oracle-feature{ grid-template-columns:1fr; padding:26px; }
}

.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
  gap:16px;
}

.info-card{
  padding:24px 22px;
  transition:transform 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}
.info-card:hover, .info-card:focus-within{
  transform:translateY(-3px);
  border-color:rgba(214,178,110,0.40);
}
.info-card .icon{
  font-size:20px;
  margin-bottom:12px;
  display:inline-block;
}
.info-card h3{
  font-family:var(--font-sans);
  font-weight:500;
  font-size:16.5px;
  color:var(--ink-0);
  margin:0 0 6px;
}
.info-card p{
  font-size:13.5px;
  color:var(--ink-2);
  margin:0;
  line-height:1.55;
}

.single-card{
  padding:30px 32px;
}
.single-card p{
  font-size:15.5px;
  color:var(--ink-1);
  margin:0;
}

/* ---------- Variante Pombagira ---------- */

.pombagira-section{
  border-radius:26px;
  padding:44px 34px;
  background:
    radial-gradient(120% 100% at 100% 0%, var(--pg-fill-strong), transparent 60%),
    linear-gradient(180deg, rgba(12,10,8,0.92), rgba(8,7,6,0.96));
  border:1px solid var(--pg-line);
  box-shadow:0 30px 70px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.03);
}

.pombagira-section .service-head h2{
  color:#f2dede;
  font-size:clamp(26px, 3.6vw, 34px);
}
.pombagira-section .service-head p{
  color:#cfc8bc;
}

.pombagira-section article.copy p{
  color:#d8d2c8;
}
.pombagira-section article.copy p.lede{
  color:#f6f2ea;
}

.pombagira-section .card-grid{
  margin-top:30px;
}

.pombagira-section .info-card{
  background:linear-gradient(180deg, var(--pg-fill-strong), var(--pg-fill));
  border:1px solid var(--pg-line);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
}
.pombagira-section .info-card:hover, .pombagira-section .info-card:focus-within{
  border-color:var(--pg-red-bright);
  box-shadow:0 12px 30px rgba(150,115,60,0.3);
}
.pombagira-section .info-card h3{ color:#f2dede; }
.pombagira-section .info-card p{ color:#a8a297; }
.pombagira-section .info-card.primary{
  border-color:var(--pg-red-bright);
}
.pombagira-section .info-card.primary h3{ color:#ffdede; }

/* ---------- Contato ---------- */

.contact-card{
  padding:46px 38px;
  max-width:var(--measure);
  margin:0 auto;
}

.contact-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:30px;
}

.contact-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:17px 20px;
  border-radius:14px;
  background:rgba(255,255,255,0.02);
  border:1px solid transparent;
  transition:background 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
  min-height:44px;
}
.contact-item.is-link{ cursor:pointer; }
.contact-item.is-link:hover, .contact-item.is-link:focus-visible{
  background:rgba(255,255,255,0.05);
  border-color:var(--hair);
  transform:translateY(-1px);
}

.contact-icon{
  width:42px;
  height:42px;
  flex:none;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.045);
  border:1px solid var(--hair);
}
.contact-icon svg{ width:18px; height:18px; }

.contact-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.contact-label{
  font-size:12px;
  letter-spacing:0.02em;
  color:var(--ink-2);
}
.contact-value{
  font-size:15.5px;
  color:var(--ink-0);
  font-weight:400;
  display:flex;
  align-items:center;
  gap:6px;
  overflow-wrap:anywhere;
}
.verified{
  width:14px; height:14px;
  flex:none;
  color:var(--accent);
}

.availability-card{
  margin-top:24px;
  padding:26px 28px;
}
.availability-card h3{
  font-family:var(--font-sans);
  font-weight:500;
  font-size:17px;
  color:var(--ink-0);
  margin:0 0 6px;
}
.availability-card .availability-tag{
  display:inline-block;
  font-size:12px;
  font-weight:500;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 14px;
}
.availability-card p{
  font-size:14.5px;
  color:var(--ink-1);
  margin:0 0 4px;
}
.availability-card ul{
  margin:12px 0 0;
  padding:0 0 0 18px;
  color:var(--ink-1);
  font-size:14.5px;
}
.availability-card li{ margin-bottom:4px; }

/* ---------- Rodapé ---------- */

footer.site-foot{
  padding:30px 28px 40px;
  border-top:1px solid var(--hair);
  margin-top:auto;
}
.foot-inner{
  max-width:var(--wide);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.foot-secure{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--ink-2);
  font-size:12.5px;
}
.foot-secure svg{ width:14px; height:14px; color:var(--accent); }

/* foco visível para acessibilidade */
a:focus-visible, button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:6px;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (max-width:600px){
  .head-inner{ padding:14px 18px; }
  main{ padding:44px 18px 30px; }
  .glass{ border-radius:16px; }
  .contact-card{ padding:32px 22px; }
  .pombagira-section{ padding:32px 22px; border-radius:20px; }
}

/* ============================================================
   Identidade preto + vinho — refinamentos (v. novembro)
   ============================================================ */

/* ---------- Temas por página ---------- */

/* Home — bordô profundo, luz vinda dos cantos */
body.theme-home{
  --base:#050505;
  --ambient:
    radial-gradient(70% 46% at 8% -4%, rgba(201,161,95,0.46), transparent 62%),
    radial-gradient(60% 40% at 104% 30%, rgba(160,125,70,0.30), transparent 64%),
    radial-gradient(70% 44% at -6% 78%, rgba(140,105,55,0.30), transparent 64%),
    radial-gradient(70% 44% at 100% 104%, rgba(201,161,95,0.34), transparent 62%),
    linear-gradient(180deg, #050505 0%, #050505 55%, #050505 100%);
}

/* Consultas — vinho mais centralizado, mais escuro */
body.theme-consultas{
  --base:#050505;
  --ambient:
    radial-gradient(80% 42% at 50% -8%, rgba(201,161,95,0.40), transparent 64%),
    radial-gradient(50% 36% at 0% 55%, rgba(150,115,60,0.24), transparent 66%),
    radial-gradient(50% 36% at 100% 70%, rgba(150,115,60,0.24), transparent 66%),
    radial-gradient(80% 40% at 50% 110%, rgba(201,161,95,0.32), transparent 64%),
    linear-gradient(180deg, #050505 0%, #050505 60%, #040404 100%);
}

/* Contato — preto mais suave, grafite, vinho quase imperceptível */
body.theme-contact{
  --base:#050505;
  --ink-2:#a8a297;
  --ambient:
    radial-gradient(70% 40% at 50% -6%, rgba(255,255,255,0.045), transparent 66%),
    radial-gradient(60% 40% at 0% 100%, rgba(201,161,95,0.20), transparent 66%),
    radial-gradient(50% 34% at 100% 40%, rgba(160,125,70,0.12), transparent 68%),
    linear-gradient(180deg, #080807 0%, #050505 55%, #050505 100%);
}
body.theme-contact header.site-head{ background:rgba(8,8,7,0.6); }
body.theme-contact .glass{
  background:linear-gradient(155deg, rgba(255,255,255,0.075), rgba(255,255,255,0.02) 50%, rgba(201,161,95,0.07) 130%);
}

/* ---------- Cabeçalho: papel em tom vinho-rosé ---------- */
.identity .role{ letter-spacing:0.03em; }
nav.main-nav a[aria-current="page"]{
  background:linear-gradient(180deg, rgba(255,255,255,0.09), rgba(201,161,95,0.14));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08);
}
.mobile-nav-panel{
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(12,11,10,0.96) 40%);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
}

/* ---------- Home: ritmo de leitura ---------- */
main.narrow{ padding-bottom:88px; }

.bio-hero{ margin-bottom:64px; }

blockquote.pull-quote{
  margin:clamp(56px, 9vw, 76px) 0;
  padding:30px 30px;
  color:#efe8da;
}

article.copy p{
  line-height:1.85;
  margin:0 0 26px;
}
article.copy p:last-child{ margin-bottom:0; }
article.copy p.lede{
  font-family:var(--font-serif);
  font-weight:500;
  font-size:clamp(19px, 3.6vw, 22px);
  line-height:1.65;
  color:var(--ink-0);
}

h2.section-head{
  font-size:clamp(23px, 4.4vw, 27px);
  margin:clamp(72px, 12vw, 104px) 0 24px;
  letter-spacing:-0.005em;
}
h2.section-head::before{
  content:"";
  display:block;
  width:44px;
  height:1px;
  margin-bottom:22px;
  background:linear-gradient(90deg, var(--gold), var(--wine-bright) 55%, transparent);
}
article.copy > h2.section-head:first-child{ margin-top:0; }

hr.divider{
  margin:clamp(72px, 12vw, 104px) 0 0;
  background:linear-gradient(90deg, rgba(214,178,110,0.55), transparent 70%);
}
hr.divider + h2.section-head{ margin-top:clamp(56px, 9vw, 76px); }

/* ---------- Foto do terreiro ---------- */
figure.photo-frame{
  margin:clamp(48px, 8vw, 64px) 0 0;
  padding:0;
}
.photo-mat{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  background:#050304;
  box-shadow:0 26px 60px -18px rgba(0,0,0,0.75), 0 0 0 1px rgba(201,161,95,0.18);
}
.photo-mat img{
  display:block;
  width:100%;
  height:auto;
}
.photo-mat::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg, transparent 62%, rgba(0,0,0,0.26));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
}
figure.photo-frame figcaption{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:14px;
  font-size:12.5px;
  line-height:1.5;
  letter-spacing:0.02em;
  color:var(--ink-2);
  text-align:center;
}
figure.photo-frame figcaption svg{
  width:13px;
  height:13px;
  flex:none;
  opacity:0.8;
}
@media (min-width:900px){
  figure.photo-frame{ margin-left:-48px; margin-right:-48px; }
}

/* ---------- Revelação suave ao rolar ---------- */
.js .reveal{
  opacity:0;
  transform:translate3d(0, 18px, 0);
  transition:
    opacity 0.9s cubic-bezier(.22,.7,.2,1) var(--rd, 0s),
    transform 0.9s cubic-bezier(.22,.7,.2,1) var(--rd, 0s);
  will-change:opacity, transform;
}
.js .reveal.in{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  .js .reveal{ opacity:1; transform:none; transition:none; will-change:auto; }
}

/* ---------- Consultas ---------- */
.service-head h2{ letter-spacing:-0.005em; }
.service-section{ margin-bottom:clamp(64px, 10vw, 88px); }
.service-section:last-child{ margin-bottom:0; }
.info-card.primary{ border-color:rgba(214,178,110,0.45); }

/* ---------- Faixa de bandeiras (Brasil + Europa) ---------- */
.flag-band{
  display:inline-flex;
  align-items:center;
  gap:0;
  padding:7px 16px 7px 8px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  border:1px solid var(--hair);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08), 0 12px 28px -14px rgba(0,0,0,0.7);
  max-width:100%;
}
.flag-band .flag-plus{
  display:none; /* bandeiras juntas, formando um único conjunto */
  font-size:13px;
  line-height:1;
  color:var(--ink-2);
  flex:none;
}
.flag-stack{
  display:flex;
  align-items:center;
  padding-left:0;
  min-width:0;
}
.flag{
  display:block;
  width:26px;
  height:26px;
  flex:none;
  border-radius:50%;
  overflow:hidden;
  border:1.5px solid #120b0e;
  box-shadow:0 0 0 1px rgba(255,255,255,0.10);
}
.flag svg{ display:block; width:100%; height:100%; }
.flag-stack .flag{ margin-left:-6px; }
.flag-label{
  font-size:12px;
  letter-spacing:0.03em;
  color:var(--ink-1);
  white-space:nowrap;
}
.flag-band-wrap{ margin:0 0 26px; }
.flag-band-wrap.tight{ margin:0 0 34px; }
@media (max-width:420px){
  .flag{ width:23px; height:23px; }
  .flag-stack .flag{ margin-left:-6px; }
  .flag-band{ gap:0; padding:6px 12px 6px 6px; }
  .flag-label{ font-size:11.5px; }
}

/* ---------- Contato ---------- */
.contact-list{ gap:12px; margin-top:0; }
.contact-item{
  gap:16px;
  padding:16px 20px;
  background:rgba(255,255,255,0.025);
  border-color:rgba(255,255,255,0.04);
}
.contact-icon{
  width:44px;
  height:44px;
  color:var(--ink-0);
  background:linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);
}
.contact-icon svg{ width:20px; height:20px; display:block; }
.contact-icon svg.stroke{ fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.contact-icon svg.solid{ fill:currentColor; stroke:none; }
.contact-text{ flex:1; min-width:0; }
.contact-label{ font-size:12px; letter-spacing:0.04em; }
.contact-value{
  font-size:15.5px;
  line-height:1.35;
  letter-spacing:0;
  white-space:nowrap;
  overflow-wrap:normal;
}
/* o site é o valor mais longo: ajusta ao espaço sem quebrar nem desalinhar */
.contact-value.is-site{
  font-size:clamp(12.5px, 3.75vw, 15.5px);
}
.contact-item.is-link:hover .contact-icon,
.contact-item.is-link:focus-visible .contact-icon{
  border-color:rgba(214,178,110,0.45);
}
.availability-card{ margin-top:26px; }

@media (max-width:600px){
  .contact-card{ padding:26px 14px; }
  .contact-item{ padding:14px 12px; gap:12px; }
  .contact-icon{ width:40px; height:40px; }
  .contact-icon svg{ width:18px; height:18px; }
  .availability-card{ padding:22px 18px; }
}
@media (max-width:340px){
  .contact-value{ white-space:normal; overflow-wrap:anywhere; }
}

/* ---------- Rodapé mínimo com selo ---------- */
footer.site-foot{ border-top:1px solid rgba(255,255,255,0.07); }
  display:block;
  width:110px;
  height:auto;
  margin:0 auto 18px;
  padding-top:28px;
}
.foot-monogram svg{ width:100%; height:auto; display:block; }
@media (max-width:600px){ .foot-secure{
  gap:10px;
  font-size:12.5px;
  letter-spacing:0.04em;
  color:var(--ink-1);
}
.foot-secure .seal{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.09), rgba(182,147,92,0.10), rgba(201,161,95,0.16));
  border:1px solid var(--gold-soft);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.10);
}
.foot-secure .seal svg{ width:15px; height:15px; color:var(--accent); }

@media (max-width:600px){
  main.narrow{ padding-bottom:72px; }
  blockquote.pull-quote{ padding:24px 22px; font-size:18px; }
  article.copy p{ font-size:16.5px; }
}

.flag-caption{
  margin:12px 0 0;
  font-size:12px;
  letter-spacing:0.04em;
  color:var(--ink-2);
}

/* ---------- Fotos de atendimento (mesa de búzios, Ebó) ---------- */
/* Fotos verticais: proporção original preservada, sem corte e sem véu de cor sobre a imagem */
.photo-mat.is-original::after{ background:none; }
figure.photo-frame.photo-portrait{
  max-width:380px;
  margin:clamp(40px, 7vw, 56px) auto 0;
}
.tec-article figure.photo-frame.photo-portrait{ margin-bottom:40px; }
.buzios-gallery{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 340px));
  gap:clamp(20px, 4vw, 32px);
  justify-content:center;
  align-items:start;
}
.buzios-gallery figure.photo-frame.photo-portrait{ margin:0; max-width:none; }
@media (max-width:560px){
  .buzios-gallery{ grid-template-columns:minmax(0, 340px); }
}

/* ============================================================
   PRETO & OURO — identidade final (logotipo GM)
   ============================================================ */
:root{
  --ink-0:#f6f2ea; --ink-1:#d8d2c8; --ink-2:#a8a297;
  --gold:#c9a15f; --gold-hi:#e8cb94; --gold-lo:#8f6a3a;
  --accent:#c9a15f; --gold-soft:rgba(201,161,95,0.38);
  --hair:rgba(232,203,148,0.15);
  --ease:cubic-bezier(.22,.7,.2,1);
}
body.theme-home,body.theme-consultas,body.theme-contact,body.theme-continente,body.tec{
  --base:#050505; --ink-2:#a8a297;
  --ambient:
    radial-gradient(62% 40% at 50% -8%, rgba(201,161,95,0.14), transparent 66%),
    radial-gradient(50% 36% at 104% 40%, rgba(201,161,95,0.06), transparent 68%),
    radial-gradient(56% 38% at -4% 86%, rgba(201,161,95,0.07), transparent 66%),
    linear-gradient(180deg,#070606 0%,#050505 55%,#040404 100%);
}
html{ overscroll-behavior-y:none; }
html.lerp{ scroll-behavior:auto !important; }
::selection{ background:rgba(201,161,95,.35); color:#fff; }
body,html{ background-color:#050505; }

/* ---------- cabeçalho ---------- */
header.site-head{ background:rgba(6,6,5,.58); border-bottom:1px solid var(--hair); transition:background .4s ease, box-shadow .4s ease; padding-top:env(safe-area-inset-top,0px); }
header.site-head.is-scrolled{ background:rgba(6,6,5,.78); }
.head-inner{ padding:10px 28px; transition:padding .45s var(--ease); }
.brand{ gap:14px; }
.avatar{ width:44px; height:44px; border:1px solid rgba(232,203,148,.35); box-shadow:0 4px 18px rgba(0,0,0,.5),0 0 0 3px rgba(201,161,95,.08); }
header.site-head.is-scrolled nav.main-nav{ gap:2px; }
nav.main-nav a{ font-size:13px; padding:9px 15px; letter-spacing:.06em; color:var(--ink-1); }
nav.main-nav a:hover{ color:var(--gold-hi); background:rgba(201,161,95,.07); }
nav.main-nav a[aria-current="page"]{ color:var(--gold-hi); background:linear-gradient(180deg,rgba(232,203,148,.12),rgba(201,161,95,.05)); border-color:rgba(232,203,148,.28); box-shadow:inset 0 1px 0 rgba(255,255,255,.10); }
.menu-toggle{ border-color:rgba(232,203,148,.25); }
.menu-toggle .bars span{ background:var(--gold-hi); }
.mobile-nav-panel a{ font-family:var(--font-serif); font-size:22px; letter-spacing:.01em; }
.mobile-nav-panel a[aria-current="page"]{ color:var(--gold-hi); }
@media (max-width:940px){
  nav.main-nav{ display:none; } .menu-toggle{ display:flex; } .mobile-nav{ display:block; }
}
@media (max-width:600px){
  .head-inner{ padding:8px 16px; }
  .brand{ gap:10px; } .avatar{ width:38px; height:38px; }
  }

/* ---------- Home: logotipo em destaque ---------- */
.kicker{ color:var(--gold); letter-spacing:.24em; }

/* ---------- tipografia / detalhes em ouro ---------- */
h2.section-head::before{ background:linear-gradient(90deg,var(--gold-hi),var(--gold-lo) 60%,transparent); }
hr.divider{ background:linear-gradient(90deg,rgba(201,161,95,.6),transparent 70%); }
.tec-divider{ background:linear-gradient(90deg,var(--gold),transparent 60%); }
blockquote.pull-quote,.tec-quote{ color:#efe8da; }
.tec-kicker b,.tec-article .eyebrow{ color:var(--gold); letter-spacing:.2em; }
.info-card .icon{ filter:none; }
.info-card h3{ color:var(--ink-0); }
.foot-secure .seal svg,.tec-seal{ color:var(--gold); }

/* ---------- Liquid Glass (todas as páginas) ---------- */
.glass,.tec-glass{
  background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.02) 46%,rgba(201,161,95,.06) 125%);
  border:1px solid var(--hair);
  backdrop-filter:blur(16px) saturate(150%); -webkit-backdrop-filter:blur(16px) saturate(150%);
  box-shadow:0 22px 56px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(232,203,148,.05);
  transition:transform .5s var(--ease),border-color .4s ease,box-shadow .5s ease;
}
.glass::before,.tec-glass::before{ background:linear-gradient(160deg,rgba(255,236,190,.30),transparent 38%,rgba(201,161,95,.22)); }
@media (hover:hover){
  .glass::after,.tec-glass::after{ background:radial-gradient(360px circle at var(--mx,0px) var(--my,0px),rgba(255,236,190,.11),transparent 60%),radial-gradient(120% 70% at 0% 0%,rgba(255,255,255,.05),transparent 48%); }
  .glass:hover,.tec-glass:hover{ border-color:rgba(232,203,148,.30); box-shadow:0 26px 64px rgba(0,0,0,.6),0 0 0 1px rgba(201,161,95,.08),inset 0 1px 0 rgba(255,255,255,.14); }
}
.info-card:hover,.info-card:focus-within{ transform:translateY(-3px); border-color:rgba(232,203,148,.40); }
.info-card:active,.contact-item:active,.tec-btn:active,.btn-gold:active{ transform:scale(.985); }
.contact-item.is-link:hover .contact-icon{ border-color:rgba(232,203,148,.5); color:var(--gold-hi); }
.contact-icon{ color:var(--gold-hi); }
.verified{ color:var(--gold); }
.pombagira-section{ background:radial-gradient(120% 100% at 100% 0%,rgba(201,161,95,.10),transparent 60%),linear-gradient(180deg,rgba(14,12,9,.94),rgba(6,6,5,.97)); border:1px solid rgba(232,203,148,.22); box-shadow:0 30px 70px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04); }
.flag-band{ border-color:rgba(232,203,148,.22); }
.flag{ border-color:#0b0a09; box-shadow:0 0 0 1px rgba(232,203,148,.28); }
body.theme-contact header.site-head{ background:rgba(6,6,5,.6); }
body.theme-contact .glass{ background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.02) 50%,rgba(201,161,95,.06) 130%); }

/* ---------- rodapé com logotipo ---------- */
@media (max-width:600px){ 
/* ---------- botão ouro ---------- */
.btn-gold{ display:inline-flex; align-items:center; gap:10px; min-height:50px; padding:14px 28px; border-radius:999px; font:500 14px/1 var(--font-sans); letter-spacing:.08em; color:#1a1408;
  background:linear-gradient(180deg,#f0d9a6,#c9a15f 55%,#a67f42); border:1px solid rgba(255,236,190,.6);
  box-shadow:0 14px 34px -12px rgba(201,161,95,.55),inset 0 1px 0 rgba(255,255,255,.55); transition:transform .4s var(--ease),box-shadow .4s ease,filter .4s ease; }
.btn-gold:hover{ transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 18px 40px -12px rgba(201,161,95,.7),inset 0 1px 0 rgba(255,255,255,.6); }

/* ---------- Continente ---------- */
.flag.lg{ width:40px; height:40px; margin:0; flex:none; }
.flag-band-wrap.center{ display:flex; flex-direction:column; align-items:center; text-align:center; margin:0 0 46px; }
.flag-caption{ color:var(--gold); letter-spacing:.24em; text-transform:uppercase; font-size:11px; }
.page-title-center{ text-align:center; }
.page-title-center .subtitle{ margin-left:auto; margin-right:auto; }
.data-section{ margin:clamp(72px,11vw,104px) 0 0; }
.data-head .kicker{ margin-bottom:12px; }
.data-head h2{ font-family:var(--font-serif); font-weight:600; font-size:clamp(24px,4.4vw,30px); line-height:1.25; margin:0 0 12px; color:var(--ink-0); }
.data-head p{ margin:0; color:var(--ink-1); font-size:15.5px; max-width:60ch; }
.data-panel{ padding:30px 30px 24px; margin-top:20px; }
.data-panel h3{ font-family:var(--font-sans); font-weight:500; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin:0 0 16px; }
.metric{ display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; margin:0 0 22px; }
.metric-num{ font-family:var(--font-serif); font-weight:600; font-size:clamp(34px,7vw,46px); line-height:1; color:var(--gold-hi); }
.metric-label{ font-size:13.5px; color:var(--ink-1); }
.bar-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.bar-row{ display:flex; align-items:center; gap:14px; }
.bar-body{ flex:1; min-width:0; }
.bar-top{ display:flex; justify-content:space-between; gap:12px; font-size:14px; margin-bottom:7px; }
.bar-name{ color:var(--ink-0); } .bar-val{ color:var(--gold-hi); font-variant-numeric:tabular-nums; font-weight:500; }
.bar-track{ height:6px; border-radius:99px; background:rgba(255,255,255,.07); overflow:hidden; }
.bar-fill{ display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--gold-lo),var(--gold) 60%,var(--gold-hi)); transform-origin:0 50%; box-shadow:0 0 14px rgba(201,161,95,.4); }
.js .bar-fill{ transform:scaleX(0); transition:transform 1.5s var(--ease) .15s; }
.js .bar-fill.grow{ transform:scaleX(1); }
.year-chip{ width:40px; height:40px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:11px; letter-spacing:.04em; color:var(--gold-hi); border:1px solid rgba(232,203,148,.35); background:linear-gradient(180deg,rgba(232,203,148,.14),rgba(201,161,95,.04)); }
.chip-line{ margin:20px 0 0; padding:12px 16px; border-radius:12px; font-size:13.5px; color:var(--ink-1); background:rgba(201,161,95,.06); border:1px solid rgba(232,203,148,.14); }
.chip-line b{ color:var(--gold-hi); font-weight:500; }
.src-line{ margin:18px 0 0; font-size:12px; line-height:1.55; color:var(--ink-2); letter-spacing:.01em; }
.milestones{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; position:relative; }
.milestones::before{ content:""; position:absolute; left:8%; right:8%; top:13px; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.7; }
.milestones li{ position:relative; padding-top:34px; text-align:center; }
.milestones li::before{ content:""; position:absolute; top:7px; left:50%; width:13px; height:13px; margin-left:-6.5px; border-radius:50%; background:#0b0a09; border:1.5px solid var(--gold); box-shadow:0 0 0 4px rgba(201,161,95,.12); }
.ms-year{ display:block; font-size:11px; letter-spacing:.24em; color:var(--gold); }
.ms-num{ display:block; font-family:var(--font-serif); font-size:34px; line-height:1.15; color:var(--gold-hi); }
.ms-text{ display:block; font-size:12.5px; line-height:1.5; color:var(--ink-1); margin-top:4px; }
@media (max-width:560px){
  .milestones{ grid-template-columns:1fr; gap:22px; } .milestones::before{ left:6.5px; right:auto; top:8%; bottom:8%; width:1px; height:auto; background:linear-gradient(180deg,transparent,var(--gold),transparent); }
  .milestones li{ padding:0 0 0 34px; text-align:left; } .milestones li::before{ left:0; top:4px; margin-left:0; }
  .data-panel{ padding:24px 20px 20px; }
}
.honest{ margin-top:20px; padding:24px 28px; }
.honest p{ margin:0; font-size:14.5px; color:var(--ink-1); line-height:1.7; }
.honest strong{ color:var(--gold-hi); font-weight:500; }
.sources{ margin-top:28px; padding-top:20px; border-top:1px solid var(--hair); }
.sources h3{ font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--ink-2); font-weight:500; margin:0 0 12px; }
.sources ol{ margin:0; padding-left:20px; font-size:12px; line-height:1.6; color:var(--ink-2); }
.sources li{ margin-bottom:6px; } .sources a{ color:var(--ink-1); border-bottom:1px solid rgba(201,161,95,.4); overflow-wrap:anywhere; }
.sources a:hover{ color:var(--gold-hi); }
.join{ margin-top:clamp(72px,11vw,104px); }
.join h2{ font-family:var(--font-serif); font-weight:600; font-size:clamp(28px,5.2vw,36px); margin:0 0 16px; color:var(--ink-0); }
.join > p{ color:var(--ink-1); font-size:16.5px; line-height:1.85; margin:0 0 22px; }
.join-list{ list-style:none; margin:0 0 30px; padding:0; display:grid; gap:12px; }
.join-list li{ display:flex; gap:16px; align-items:flex-start; padding:18px 22px; font-size:15.5px; color:var(--ink-1); line-height:1.6; }
.join-list li::marker{ content:""; }
.join-list .gem{ flex:none; width:9px; height:9px; margin-top:9px; transform:rotate(45deg); background:linear-gradient(135deg,var(--gold-hi),var(--gold-lo)); box-shadow:0 0 12px rgba(201,161,95,.55); }
.join-close{ font-family:var(--font-serif); font-style:italic; font-size:clamp(18px,3.4vw,21px); line-height:1.7; color:var(--ink-0); margin:0 0 30px; }

/* ---------- revelação e movimento ---------- */
.js .reveal{ transform:translate3d(0,22px,0); transition:opacity 1s var(--ease) var(--rd,0s),transform 1s var(--ease) var(--rd,0s); }
@media (prefers-reduced-motion:reduce){ .js .bar-fill{ transform:none; transition:none; } 
.js .rv{opacity:0;transform:translate3d(0,24px,0);transition:opacity 1.1s var(--ease) var(--rd,0s),transform 1.1s var(--ease) var(--rd,0s);will-change:opacity,transform}
.js .rv.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* nome dourado no cabeçalho */
.brand{ gap:14px; }
.identity{ display:flex; flex-direction:column; gap:3px; }
.identity .name{ font-family:var(--font-serif); font-weight:600; font-size:19px; line-height:1.1; letter-spacing:.01em; color:#d9b872;
  background:linear-gradient(180deg,#f3dfb0 0%,#c9a15f 55%,#a67f42 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.identity .role{ display:block; font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-2); }
@media (max-width:600px){ .identity .name{ font-size:16.5px; } .identity .role{ font-size:9px; letter-spacing:.24em; } }
.chip-line{ display:flex; align-items:center; gap:12px; }
.chip-line .flag.lg{ width:30px; height:30px; }
.join-list{ margin-bottom:34px; }

}}}
/* ===== English edition: black + deep red, calmer reading rhythm ===== */
:root{--red:#8c1c2b;--red-hi:#b3384a}
body.theme-home,body.theme-contact{--base:#040303;
--ambient:
 radial-gradient(70% 46% at 6% -6%,rgba(150,22,38,.50),transparent 64%),
 radial-gradient(60% 42% at 106% 34%,rgba(110,14,28,.34),transparent 66%),
 radial-gradient(70% 44% at -8% 82%,rgba(120,16,30,.34),transparent 66%),
 radial-gradient(64% 40% at 102% 106%,rgba(150,22,38,.36),transparent 64%),
 linear-gradient(180deg,#050303 0%,#040303 60%,#030202 100%)}
::selection{background:rgba(179,56,74,.4)}
body.theme-home main.narrow,body.theme-contact main.narrow{--ink-1:#bdb7ae;--ink-2:#9b958b}
article.copy p{color:#b6b0a7;font-weight:300;line-height:2;margin:0 0 clamp(40px,7vw,56px);letter-spacing:.012em}
article.copy p.lede{color:#d2ccc2;line-height:1.75}
article.copy p:last-child{margin-bottom:0}
h2.section-head{color:#ebe6de;margin:clamp(96px,16vw,144px) 0 clamp(28px,5vw,40px)}
article.copy > h2.section-head:first-child{margin-top:clamp(24px,6vw,56px)}
hr.divider{margin:clamp(96px,16vw,144px) 0 0;background:linear-gradient(90deg,rgba(179,56,74,.55),transparent 70%)}
hr.divider + h2.section-head{margin-top:clamp(64px,10vw,96px)}
h2.section-head::before{background:linear-gradient(90deg,var(--red-hi),var(--red) 60%,transparent);transition:width 1.6s var(--ease) .25s}
.js h2.section-head.reveal::before{width:0}
.js h2.section-head.reveal.in::before{width:56px}
h2.section-head::before{width:56px}
main.narrow{padding-bottom:clamp(120px,18vw,180px)}
/* softer, slower reveal */
.js .reveal{transform:translate3d(0,40px,0);filter:blur(7px);transition:opacity 1.7s var(--ease) var(--rd,0s),transform 1.7s var(--ease) var(--rd,0s),filter 1.7s var(--ease) var(--rd,0s)}
.js .reveal.in{filter:blur(0)}
.eyebrow-free-title{color:#ebe6de}
.subtitle{color:#a39d93}
body.theme-contact .glass{background:linear-gradient(155deg,rgba(255,255,255,.07),rgba(255,255,255,.018) 50%,rgba(150,22,38,.12) 130%)}
.contact-value,.contact-label,.availability-card p,.availability-card li{color:#c4beb5}
.availability-card h3{color:#ebe6de}
#progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:80;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--red),var(--red-hi));pointer-events:none}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){.js .reveal{filter:none;transition:none}#progress{display:none}}

/* ===== Walnut / warm grey edition ===== */
:root{--wood:#1d1713;--bronze:#b0906b;--bronze-hi:#d2b78f;--ivory:#e7e0d4}
html,body{background-color:var(--wood)!important}
body.theme-home,body.theme-contact{--base:var(--wood);--ink-0:#f1ebe0;--ink-1:#d8d1c5;--ink-2:#b3ab9e;
--ambient:
 radial-gradient(70% 46% at 8% -6%,rgba(140,98,62,.40),transparent 64%),
 radial-gradient(60% 44% at 106% 32%,rgba(112,100,92,.30),transparent 66%),
 radial-gradient(70% 46% at -8% 80%,rgba(104,74,50,.34),transparent 66%),
 radial-gradient(64% 42% at 102% 106%,rgba(140,98,62,.30),transparent 64%),
 linear-gradient(180deg,#221b16 0%,#1d1713 55%,#19130f 100%)}
::selection{background:rgba(176,144,107,.4)}
body header.site-head,body.theme-contact header.site-head{background:rgba(29,23,19,.62)}
body header.site-head.is-scrolled{background:rgba(29,23,19,.82)}
.mobile-nav-panel{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(29,23,19,.97) 40%)}
.avatar{width:50px!important;height:50px!important}
.identity .name{font-size:clamp(17px,4.6vw,21.5px)!important;color:var(--ink-0)!important}
.identity .role{font-size:12px!important;color:var(--bronze-hi)!important}
@media(max-width:600px){.avatar{width:44px!important;height:44px!important}.identity .name{font-size:17.5px!important}.identity .role{font-size:10.5px!important}}
/* typography: European editorial serif */
article.copy p{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(20px,4.6vw,23px);line-height:1.8;letter-spacing:.005em;color:var(--ivory);margin:0 0 clamp(64px,10vw,96px);position:relative;text-wrap:pretty}
article.copy p.lede{font-size:clamp(21px,4.8vw,24px);color:#f1ebe0}
article.copy p:last-child{margin-bottom:0}
article.copy p::after{content:"";position:absolute;left:0;bottom:calc(clamp(64px,10vw,96px) / -2);width:0;height:1px;background:linear-gradient(90deg,var(--bronze),transparent);transition:width 1.8s var(--ease) .3s}
article.copy p.seen::after{width:64px}
article.copy p:last-child::after,article.copy p.lede:last-child::after{display:none}
h2.section-head{font-family:'Playfair Display',serif;color:#f4eee3;margin:clamp(110px,18vw,170px) 0 clamp(34px,6vw,52px)}
article.copy > h2.section-head:first-child{margin-top:clamp(24px,6vw,56px)}
h2.section-head::before{background:linear-gradient(90deg,var(--bronze-hi),var(--bronze) 60%,transparent)}
hr.divider{margin:clamp(110px,18vw,170px) 0 0;background:linear-gradient(90deg,rgba(176,144,107,.6),transparent 70%)}
hr.divider + h2.section-head{margin-top:clamp(70px,11vw,110px)}
/* drop cap opening each part */
h2.section-head + p::first-letter{float:left;font-family:'Playfair Display',serif;font-weight:500;font-size:4.9em;line-height:.8;padding:.07em .13em 0 0;color:var(--bronze-hi)}
#progress{background:linear-gradient(90deg,var(--bronze),var(--bronze-hi))}
.eyebrow-free-title{color:#f4eee3}
.subtitle{color:#c2baac;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,4vw,22px);font-weight:500}
body.theme-contact .glass{background:linear-gradient(155deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 50%,rgba(176,144,107,.10) 130%)}
.contact-value,.contact-label,.availability-card p,.availability-card li{color:#ddd6ca}
.availability-card h3{color:#f4eee3}

/* ===== reading rhythm: about three blank lines between paragraphs ===== */
article.copy p{font-size:clamp(18px,4.4vw,21px);line-height:1.85;color:#ddd5c8;margin-bottom:clamp(84px,22vw,112px)}
article.copy p.lede{font-size:clamp(19px,4.6vw,22px);color:#ece5d9}
article.copy p::after{bottom:calc(clamp(84px,22vw,112px) / -2)}
article.copy p:last-child{margin-bottom:0}

/* ===== darker walnut ===== */
:root{--wood:#120e0b}
html,body{background-color:#120e0b!important}
body.theme-home,body.theme-contact{--base:#120e0b;
--ambient:
 radial-gradient(70% 46% at 8% -6%,rgba(112,76,48,.32),transparent 64%),
 radial-gradient(60% 44% at 106% 32%,rgba(88,78,72,.24),transparent 66%),
 radial-gradient(70% 46% at -8% 80%,rgba(84,58,38,.28),transparent 66%),
 radial-gradient(64% 42% at 102% 106%,rgba(112,76,48,.24),transparent 64%),
 linear-gradient(180deg,#16110d 0%,#120e0b 55%,#0e0a08 100%)}
body header.site-head,body.theme-contact header.site-head{background:rgba(18,14,11,.66)}
body header.site-head.is-scrolled{background:rgba(18,14,11,.86)}
.mobile-nav-panel{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(18,14,11,.98) 40%)}

.contact-icon.has-flag{padding:0;background:none;border:0;width:44px;height:44px}
.contact-icon .flag-in{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;border:1px solid rgba(210,183,143,.45);box-shadow:0 0 0 3px rgba(176,144,107,.10),0 6px 18px rgba(0,0,0,.5)}
.contact-icon .flag-in svg{width:100%;height:100%;display:block}

.contact-icon.has-badge{position:relative;overflow:visible}
.contact-icon .badge{position:absolute;right:-6px;bottom:-6px;width:21px;height:21px;border-radius:50%;overflow:hidden;border:1.5px solid #120e0b;box-shadow:0 0 0 1px rgba(210,183,143,.45),0 4px 10px rgba(0,0,0,.5)}
.contact-icon .badge svg{width:100%;height:100%;display:block}
figure.photo-frame{margin:clamp(110px,18vw,170px) 0 0}
figure.photo-frame + h2.section-head{margin-top:clamp(110px,18vw,170px)}
.photo-mat{border-radius:18px;border:1px solid rgba(210,183,143,.22);box-shadow:0 30px 70px -22px rgba(0,0,0,.85),0 0 0 1px rgba(176,144,107,.16)}
.photo-mat::after{background:linear-gradient(180deg,transparent 60%,rgba(18,14,11,.4))}
figure.photo-frame figcaption{color:#b9b1a3;font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic}
nav.main-nav a{white-space:nowrap}
