:root{
    --ink:#1c1a17;
    --ink-soft:#332e28;
    --ivory:#f6f1e7;
    --ivory-dim:#ede4d3;
    --gold:#a6864c;
    --gold-soft:#cdb480;
    --brick:#8a463d;
    --line: rgba(28,26,23,0.14);
    box-sizing:border-box;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){ --line: rgba(246,241,231,0.16); }
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; scroll-padding-top: env(safe-area-inset-top,0px);}
  body{
    background:var(--ivory);
    color:var(--ink);
    font-family:'Jost', sans-serif;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    line-height:1.08;
    letter-spacing:0.01em;
  }
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 22px;} }

  /* NAV */
  .utilitybar{
    background:var(--ink); color:rgba(246,241,231,0.75); font-size:0.76rem; letter-spacing:0.06em;
    padding-top: env(safe-area-inset-top, 0px);
  }
  .utilitybar .wrap{display:flex; justify-content:space-between; align-items:center; height:52px;}
  .utilitybar .ub-years{color:var(--gold-soft);}
  .utilitybar .ub-social{display:flex; gap:12px;}
  .utilitybar .ub-social a{
    text-decoration:none; color:rgba(246,241,231,0.9); font-size:0.86rem;
    padding:9px 20px; border:1px solid rgba(246,241,231,0.35); border-radius:3px;
    letter-spacing:0.06em; transition: all .2s ease;
  }
  .utilitybar .ub-social a:hover{background:var(--gold-soft); border-color:var(--gold-soft); color:var(--ink);}
  @media (max-width:640px){ .utilitybar .ub-social{display:none;} }

  header{
    position:sticky; top:0; z-index:50;
    background:rgba(246,241,231,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  nav.wrap{display:flex; align-items:center; justify-content:space-between; height:78px;}
  .brand{font-family:'Cormorant Garamond',serif; font-size:1.5rem; letter-spacing:0.04em;}
  .brand em{font-style:italic; color:var(--gold);}
  .navlinks{display:flex; gap:24px; font-size:0.88rem;}
  .navlinks a{text-decoration:none; color:var(--ink-soft); position:relative; padding-bottom:4px;}
  .navlinks a:hover{color:var(--ink);}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .25s;}
  .navlinks a:hover::after{width:100%;}
  .navcta{
    border:1px solid var(--ink); padding:10px 22px; font-size:0.85rem;
    text-decoration:none; white-space:nowrap;
  }
  .navcta:hover{background:var(--ink); color:var(--ivory);}
  .navtoggle{
  display:none;
  background:none;
  border:0;
  font-size:1.8rem;
  cursor:pointer;
  color:var(--ink);
  transition:color .2s ease;
}
  .navtoggle:active{color:var(--gold);}
  .mobilemenu{display:none;}
  @media (max-width:860px){
    .navlinks, .navcta{display:none;}
    .navtoggle{display:block;}
    .mobilemenu{
      display:flex; flex-direction:column; gap:0;
      max-height:0; opacity:0; overflow:hidden;
      transition: max-height .38s ease, opacity .28s ease;
    }
    .mobilemenu.open{
      max-height:640px; opacity:1; border-top:1px solid var(--line);
    }
    .mobilemenu a{
      padding:16px 22px; text-decoration:none; color:var(--ink-soft); border-bottom:1px solid var(--line); font-size:0.98rem;
      transition: background .2s ease, color .2s ease;
    }
    .mobilemenu a:active{background:var(--gold-soft); color:var(--ink);}
    .mobilemenu .mm-address{
      padding:16px 22px; border-bottom:1px solid var(--line);
      font-size:0.85rem; color:var(--ink-soft); background:var(--ivory-dim);
      display:flex; align-items:flex-start; gap:8px; line-height:1.4;
    }
    .mobilemenu .mm-address strong{color:var(--ink); font-weight:500; display:block; margin-bottom:2px;}
  }

  /* HERO */
  .hero{position:relative; overflow:hidden; min-height:520px;}
.hero img{width:100%; height:auto; display:block;}
  .hero::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(28,26,23,0.15) 0%, rgba(28,26,23,0.05) 40%, rgba(28,26,23,0.6) 100%);
  }
  .hero-overlay{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
    text-align:center; color:var(--ivory); padding-bottom:30px; z-index:2;
  }
  .hero-overlay .hero-eyebrow{font-size:0.82rem; letter-spacing:0.18em; color:var(--gold-soft); margin-bottom:16px;}
  .hero-overlay h1{font-size:clamp(2.4rem,6vw,4.6rem); max-width:18ch;}
  .hero-overlay h1 i{font-style:italic; color:var(--gold-soft);}
  .hero-overlay p.lede{
  margin-top:18px;
  max-width:52ch;
  color:#a6864c;
  font-size:1.07rem;
  font-weight:500;
}
  .hero-actions{display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; justify-content:center;}
  .btn-solid{
    background:var(--ivory); color:var(--ink); padding:15px 30px; text-decoration:none;
    font-size:0.92rem; letter-spacing:0.02em;
  }
  .btn-solid:hover{background:var(--gold-soft);}
  .btn-ghost{
    border:1px solid rgba(246,241,231,0.6); color:var(--ivory); padding:14px 28px; text-decoration:none; font-size:0.92rem;
  }
  .btn-ghost:hover{border-color:var(--gold-soft); color:var(--gold-soft);}
  .hero-stats{
    position:relative; z-index:3; background:var(--ink); color:var(--ivory);
    display:flex; justify-content:center; gap:60px; padding:26px 32px; flex-wrap:wrap;
  }
  .hero-stats div{text-align:center;}
  .hero-stats div span{display:block; font-family:'Cormorant Garamond',serif; font-size:1.9rem; color:var(--gold-soft);}
  .hero-stats div small{font-size:0.76rem; color:rgba(246,241,231,0.65); letter-spacing:0.03em;}
  @media (max-width:640px){
    .hero{height:78svh;}
    .hero-stats{gap:28px; padding:20px 22px;}
  }

  section{padding:110px 0;}
  @media (max-width:640px){ section{padding:72px 0;} }
  .section-head{max-width:640px; margin-bottom:64px;}
  .eyebrow{font-size:0.82rem; letter-spacing:0.14em; color:var(--gold);}
  .section-head h2{font-size:clamp(2rem,3.6vw,2.9rem); margin-top:14px;}
  .section-head p{margin-top:16px; color:var(--ink-soft); max-width:58ch;}

  /* SOBRE */
  .sobre{background:var(--ink); color:var(--ivory);}
  .sobre .eyebrow{color:var(--gold-soft);}
  .sobre .section-head p{color:rgba(246,241,231,0.72);}
  .sobre-grid{display:grid; grid-template-columns: 0.85fr 1.15fr; gap:64px; align-items:center;}
  .sobre-media{position:relative;}
  .sobre-media img{width:100%; height:520px; object-fit:cover;}
  .sobre-media::after{
    content:""; position:absolute; inset:18px -18px -18px 18px; border:1px solid var(--gold-soft); z-index:-1;
  }
  .sobre-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:60px;}
  .sobre-strip img{width:100%; height:150px; object-fit:cover; filter:grayscale(15%);}
  @media (max-width:640px){ .sobre-strip{grid-template-columns:repeat(2,1fr);} }
  .sobre-text p{color:rgba(246,241,231,0.78); margin-bottom:20px; max-width:52ch;}
  .sobre-text p:first-of-type{font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-style:italic; color:var(--ivory); line-height:1.4;}
  .creds{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px;}
  .creds span{
    border:1px solid rgba(246,241,231,0.28); padding:9px 16px; font-size:0.82rem; color:var(--gold-soft);
  }
  @media (max-width:860px){
    .sobre-grid{grid-template-columns:1fr; gap:40px;}
    .sobre-media img{height:380px;}
  }

  /* HISTÓRIA */
  .historia{background:var(--ivory-dim);}
  .historia .wrap{max-width:900px;}
  .historia-text p{color:var(--ink-soft); margin-bottom:20px; font-size:1.02rem; max-width:70ch;}
  .historia-quote{
    font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.35rem; color:var(--ink);
    margin-top:28px; padding-top:28px; border-top:1px solid var(--line); max-width:70ch;
  }

  /* ESPECIALIDADES */
  .especialidades-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .esp-card{background:var(--ivory); padding:44px 36px;}
  .esp-num{font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--gold); margin-bottom:22px;}
  .esp-card h3{font-size:1.7rem; margin-bottom:14px;}
  .esp-card p{color:var(--ink-soft); font-size:0.95rem; max-width:34ch;}
  @media (max-width:860px){ .especialidades-grid{grid-template-columns:1fr;} }

  /* SERVIÇOS */
  .servicos{background:var(--ivory-dim);}
  .servicos-list{display:flex; flex-wrap:wrap; gap:14px; justify-content:center;}
  .servicos-list span{
    border:1px solid var(--line); background:var(--ivory); padding:16px 28px;
    font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:var(--ink);
  }
  .servicos-list span:hover{border-color:var(--gold);}

  /* ESPAÇO */
  .espaco{background:var(--ivory);}
  .espaco-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  .espaco-grid figure{margin:0; overflow:hidden;}
  .espaco-grid img{width:100%; height:340px; object-fit:cover; transition:transform .6s ease;}
  .espaco-grid figure:hover img{transform:scale(1.05);}
  .espaco-grid figcaption{margin-top:12px; font-size:0.85rem; color:var(--ink-soft);}
  @media (max-width:860px){
    .espaco-grid{grid-template-columns:1fr; }
    .espaco-grid img{height:260px;}
  }

  /* GALERIA */
  .galeria{background:var(--ivory-dim);}
  .gal-grid{
    display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:120px; gap:10px;
  }
  .gal-grid a{grid-column:span 2; grid-row:span 3; overflow:hidden; position:relative; display:block;}
  .gal-grid a.tall{grid-row:span 4;}
  .gal-grid img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .gal-grid a:hover img{transform:scale(1.05);}
  @media (max-width:860px){
    .gal-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px;}
    .gal-grid a{grid-column:span 1; grid-row:span 2;}
    .gal-grid a.tall{grid-row:span 2;}
  }

  /* CREDENCIAIS */
  .credenciais .wrap{display:grid; grid-template-columns:1fr; gap:0;}
  .cred-row{
    display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:center;
    padding:34px 0; border-top:1px solid var(--line);
  }
  .cred-row:last-child{border-bottom:1px solid var(--line);}
  .cred-row img{width:100%; height:150px; object-fit:cover;}
  .cred-row h3{font-size:1.5rem; margin-bottom:8px;}
  .cred-row p{color:var(--ink-soft); font-size:0.95rem; max-width:56ch;}
  .cred-row .yr{font-size:0.78rem; letter-spacing:0.1em; color:var(--gold); margin-bottom:8px; display:block;}
  @media (max-width:640px){
    .cred-row{grid-template-columns:1fr; gap:18px;}
    .cred-row img{height:200px;}
  }

  /* CURSOS (lista dentro de Credenciais) */
  .cursos-block{padding-top:52px;}
  .cursos-block h3{font-size:1.4rem; margin-bottom:8px;}
  .cursos-block > p{color:var(--ink-soft); font-size:0.92rem; margin-bottom:26px; max-width:56ch;}
  .cursos-list{display:flex; flex-wrap:wrap; gap:12px;}
  .cursos-list span{
    border:1px solid var(--line); padding:11px 20px; font-size:0.85rem; color:var(--ink-soft);
  }
  .cursos-list span b{color:var(--ink); font-weight:500;}
  .cursos-list span:hover{border-color:var(--gold); color:var(--ink);}

  /* CONTATO */
  .contato{background:var(--ink); color:var(--ivory); text-align:center;}
  .contato .eyebrow{color:var(--gold-soft);}
  .contato h2{font-size:clamp(2.1rem,4.4vw,3.4rem); margin:16px auto 22px; max-width:16ch;}
  .contato p{color:rgba(246,241,231,0.72); max-width:52ch; margin:0 auto 40px;}
  .contato-actions{display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin-bottom:56px;}
  .contato-actions .btn-solid{background:var(--gold); color:var(--ink);}
  .contato-actions .btn-solid:hover{background:var(--gold-soft);}
  .contato-actions .btn-ghost{border-color:rgba(246,241,231,0.4); color:var(--ivory);}
  .contato-actions .btn-ghost:hover{border-color:var(--gold-soft); color:var(--gold-soft);}
  .contato-info{
    display:flex; justify-content:center; gap:52px; flex-wrap:wrap; font-size:0.9rem;
    padding-top:36px; border-top:1px solid rgba(246,241,231,0.18);
    color:rgba(246,241,231,0.65);
  }
  .contato-info strong{display:block; font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:var(--ivory); font-weight:500; margin-bottom:4px;}

  footer{background:var(--ink); color:rgba(246,241,231,0.6); padding-top:64px;}
  .footer-grid{
    display:grid; grid-template-columns:1.3fr repeat(3, 1fr); gap:40px; padding-bottom:40px;
    border-bottom:1px solid rgba(246,241,231,0.14);
  }
  .footer-grid .fbrand{font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--ivory); margin-bottom:14px;}
  .footer-grid p{font-size:0.86rem; max-width:32ch;}
  .footer-col h4{
    font-size:0.76rem; letter-spacing:0.1em; color:var(--gold-soft); margin-bottom:16px; font-weight:500;
  }
  .footer-col a{display:block; text-decoration:none; color:rgba(246,241,231,0.6); font-size:0.86rem; margin-bottom:10px;}
  .footer-col a:hover{color:var(--gold-soft);}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; padding:24px 0; font-size:0.78rem;
    letter-spacing:0.02em; flex-wrap:wrap; gap:12px;
  }
  @media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:32px;} }
  @media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }