:root{--cream:#f1e9df;--cream-soft:#f7f1e9;--brown:#6c433a;--brown-deep:#472c27;--brown-soft:#8d6157;--brown-pale:#c6a39a;--ink:#181310;--white:#fbf7f1;--line:rgba(108,67,58,.26);--dark-line:rgba(221,188,150,.30);--serif:"Montserrat",Arial,sans-serif;--sans:"Montserrat",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.header{position:fixed;z-index:100;top:0;left:0;right:0;height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(241,233,223,.96),rgba(241,233,223,0))}.logo{width:110px;height:72px;display:flex;align-items:center}.brand-mark{width:94px;height:80px;object-fit:contain;object-position:center;mix-blend-mode:multiply}.header nav{display:flex;gap:34px;align-items:center}.header nav a,.header-button{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.header-button{border:1px solid var(--brown-soft);padding:14px 22px;min-width:175px;text-align:center}.header-button span{margin-left:25px}
.side-index{position:fixed;z-index:90;right:3.8vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:16px;font-size:11px;color:#9b8e82}.side-index .current{color:var(--brown);font-weight:600}.side-index i{width:28px;height:1px;background:var(--brown);margin-top:-8px}
.hero{height:590px;min-height:590px;display:grid;grid-template-columns:43% 57%;position:relative;overflow:hidden;background:var(--cream)}.hero-photo{height:100%;position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,233,223,0) 65%,var(--cream) 100%)}.hero-content{position:relative;z-index:2;align-self:center;padding:70px 8vw 30px 5vw}.hero-tagline{margin:0 0 20px;color:var(--brown);font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500}.hero-tagline span{margin:0 10px}.hero-wordmark{width:min(520px,88%);height:auto;object-fit:contain;object-position:center;mix-blend-mode:multiply;margin:0 0 42px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;padding:15px 19px;border:1px solid transparent;transition:.2s ease}.btn span{font-size:14px}.primary{background:var(--brown);color:var(--white)}.primary:hover{background:var(--brown-deep);transform:translateY(-1px)}.outline{border-color:var(--brown-soft);color:var(--brown-deep);background:transparent}.outline:hover{background:var(--brown);color:var(--white)}.hero-monogram{position:absolute;right:7%;top:42%;width:230px;height:230px;object-fit:contain;opacity:.055;mix-blend-mode:multiply;pointer-events:none}
.section{display:flex;position:relative;overflow:hidden}.services{min-height:220px;padding:28px 7vw 28px 11vw;background:radial-gradient(circle at 12% 28%,rgba(255,235,207,.055) 0 1px,transparent 1.5px),radial-gradient(circle at 71% 68%,rgba(20,10,4,.055) 0 1px,transparent 1.6px),linear-gradient(90deg,#472c27 0%,#5a3932 42%,#6c433a 72%,#805b51 100%);color:var(--white)}.section-intro{width:310px;flex:0 0 310px;position:relative;padding-right:26px}.section-intro h2{font:500 30px/1 var(--serif);text-transform:uppercase;margin:0;white-space:nowrap}.section-intro h2 span{display:inline-block;width:42px;height:1px;background:var(--brown-soft);vertical-align:middle;margin-left:10px}.section-intro p{font-size:10px;line-height:1.55;margin:11px 0 12px}.small-link{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--brown-pale)}.small-link b{margin-left:16px;font-weight:400}.services .section-intro p{color:#ddd0c4}.service-list{flex:1;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));grid-template-rows:repeat(2,1fr)}.service-list article{border-left:1px solid var(--dark-line);border-top:1px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.service-icon{height:42px;font:32px/1 var(--serif);color:#b58f84}.service-list h3{margin:5px 0 7px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#d1ada4}.service-list p{font-size:9px;line-height:1.45;color:#c8b5af;margin:0}
.booking{min-height:145px;align-items:center;padding:0 7vw 0 11vw;background:var(--cream-soft);color:var(--ink)}.booking .section-intro{display:flex;align-items:center}.booking .section-intro{width:300px;flex-basis:300px}.booking-actions{display:flex;gap:20px;position:relative;z-index:3}.booking-art{position:absolute;right:0;top:0;bottom:0;width:23%;background:linear-gradient(90deg,rgba(247,241,233,.98),rgba(247,241,233,.35)),url("assets/agendamento.jpg") center 35%/cover no-repeat}.booking-card{position:absolute;right:13%;top:50%;transform:translateY(-50%);font:24px/1.1 var(--serif);color:var(--brown-soft);text-align:center;border:1px solid rgba(108,67,58,.18);padding:18px 26px;background:rgba(247,241,233,.42);backdrop-filter:blur(3px)}.booking-card em{font-style:italic}.booking-card small{display:block;margin-top:7px;font-size:11px;letter-spacing:.2em}
.story{min-height:255px;padding-left:11vw;color:var(--white);background:radial-gradient(circle at 12% 28%,rgba(255,235,207,.055) 0 1px,transparent 1.5px),radial-gradient(circle at 71% 68%,rgba(20,10,4,.055) 0 1px,transparent 1.6px),linear-gradient(90deg,#472c27 0%,#5a3932 42%,#6c433a 72%,#805b51 100%)}.story .section-intro{padding:30px 25px 25px 0;width:30%;flex-basis:30%}.story .section-intro p{color:#ddd0c4}.story-photo{width:38%;overflow:hidden}.story-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.82}.timeline{flex:1;padding:25px 7vw 25px 30px;display:flex;flex-direction:column;justify-content:center;gap:9px}.timeline div{display:grid;grid-template-columns:48px 1fr;gap:13px}.timeline b{font:500 12px var(--serif);color:#d0aaa1}.timeline p{font-size:9px;line-height:1.35;color:#ddd0c4;margin:0}
.instagram{min-height:190px;padding:0 5vw 0 11vw;background:var(--cream-soft);align-items:center}.instagram .section-intro{width:300px;flex-basis:300px;padding-top:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.instagram .section-intro strong{font-weight:500;color:var(--brown)}.instagram .btn{padding:10px 13px;min-width:140px}.instagram-grid{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:7px 0}.ig{position:relative;min-width:0;min-height:176px;overflow:hidden;display:block;background:#e8ded3}.ig img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease,filter .35s ease}.ig:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(35,23,16,.42));opacity:.45;transition:opacity .35s ease;pointer-events:none}.ig:before{content:"↗";position:absolute;right:10px;bottom:8px;z-index:2;color:#fff;font-size:13px;opacity:0;transform:translateY(4px);transition:.25s ease}.ig:hover img{transform:scale(1.045);filter:saturate(1.03)}.ig:hover:after{opacity:.8}.ig:hover:before{opacity:1;transform:translateY(0)}
.location{min-height:160px;padding:0 5vw 0 11vw;align-items:center;color:var(--white);background:radial-gradient(circle at 12% 28%,rgba(255,235,207,.055) 0 1px,transparent 1.5px),radial-gradient(circle at 71% 68%,rgba(20,10,4,.055) 0 1px,transparent 1.6px),linear-gradient(90deg,#472c27 0%,#5a3932 42%,#6c433a 72%,#805b51 100%)}.location .section-intro{width:280px;flex-basis:280px}.location .section-intro p{color:#ddd0c4}.location-info{flex:1;display:grid;grid-template-columns:repeat(4,1fr)}.location-info>div{min-height:100px;border-left:1px solid var(--dark-line);padding:12px 20px}.location-info small{font-size:7px;letter-spacing:.14em;color:#d0aaa1}.location-info p{font-size:9px;line-height:1.45;color:#ddd0c4;margin:8px 0 0}.map{display:block;text-decoration:none;color:inherit;cursor:pointer;width:20%;min-width:190px;min-height:160px;background:linear-gradient(18deg,transparent 48%,rgba(195,164,135,.22) 49%,transparent 50%),linear-gradient(111deg,transparent 47%,rgba(195,164,135,.16) 48%,transparent 49%),#2c211b;position:relative}.map span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:30px;color:#d1af8a}
.footer{min-height:76px;background:var(--cream-soft);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;color:var(--brown);font-size:9px;letter-spacing:.22em;text-align:center}.footer-brand{display:grid;grid-template-columns:38px auto;column-gap:8px;align-items:center;font:500 13px var(--serif);letter-spacing:.06em}.footer-brand img{width:34px;height:34px;object-fit:contain;grid-row:1/3;mix-blend-mode:multiply}.footer-brand small{grid-column:2;font:7px var(--sans);letter-spacing:.3em;margin-top:3px}
@media (max-width:1250px){.header nav{gap:20px}.header-button{min-width:145px}.hero{grid-template-columns:45% 55%;height:560px;min-height:560px}.hero-content{padding-left:3.8vw}.services,.booking,.location{padding-left:9vw}.story{padding-left:9vw}.instagram{padding-left:9vw}.section-intro{width:280px;flex-basis:280px}.instagram-grid{grid-template-columns:repeat(5,minmax(95px,1fr))}}

/* V8.1 — tagline perfeitamente centrada em relação ao wordmark */
.hero-tagline {
  width: min(520px, 88%);
  margin-left: 0;
  margin-right: 0;
  text-align: center;
}

/* V8.2 — botão de agendamento alinhado ao centro do wordmark */
.hero-content .primary {
  width: min(520px, 88%);
  margin-left: 0;
  margin-right: 0;
}

/* V8.3 — botão mantém o tamanho original e fica centralizado com o wordmark */
.hero-content { text-align: center; }
.hero-content .primary {
  width: auto;
  display: inline-flex;
  margin-left: 0;
  margin-right: 0;
}
.hero-wordmark { margin-left: auto; margin-right: auto; }
.hero-tagline { margin-left: auto; margin-right: auto; }

/* V8.4 — nova foto oficial do banner, posicionada mais abaixo sem alterar a altura do hero */
.hero-photo img {
  height: 100%;
  max-width: none;
  width: 100%;
  object-fit: cover;
  object-position: center top;
  transform: translateY(100px);
}
.story-photo img {
  height: 100%;
  max-width: 100%;
  transform: none;
}



/* Service icons — matched to each service name; layout unchanged */
.service-icon {
  display:flex;
  align-items:center;
  justify-content:center;
}
.service-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* Ajuste solicitado — seção Serviços */
.services .section-intro {
  text-align: center;
}
.services .section-intro h2,
.services .section-intro p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.services .section-intro p {
  max-width: none;
}

/* Ajuste final: Serviços sem subtítulo, título centrado verticalmente */
.services .section-intro { align-self: stretch; justify-content: center; }
.services .section-intro h2 { margin: 0; }

/* SERVIÇOS — versão final: título centrado e Cursos em coluna própria */
.services .section-intro {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.services .section-intro h2 {
  margin: 0;
  text-align: center;
}
.service-list {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  grid-template-rows: repeat(2, 1fr);
}
.service-list .service-featured {
  grid-row: 1 / 3;
  grid-column: 1;
}


/* Banner final — texto em duas linhas, sem sobrepor o monograma DF */
.hero-content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 11vw 0 5vw;
  text-align: center;
}
.hero-tagline {
  font-size: 13px;
  margin: 0 0 14px;
  line-height: 1.35;
}
.hero-wordmark {
  margin: 0 auto 24px;
}
.hero-specialist {
  width: min(520px, 88%);
  margin: 0 auto;
  color: var(--brown);
  font-size: 13px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.55;
  text-align: center;
}
.eyebrow-design {
  width: 72px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.eyebrow-design img {
  width: 68px;
  height: auto;
  display: block;
  mix-blend-mode: multiply;
}

/* Quem somos — texto atualizado e timeline baseada na história real */
.story {
  min-height: 520px;
}
.story .section-intro {
  padding-top: 38px;
  padding-bottom: 38px;
}
.story .story-text p {
  font-size: 9px;
  line-height: 1.55;
  color: #ddd0c4;
  margin: 10px 0 0;
}
.story .story-text strong {
  color: #f0dfd3;
  font-weight: 600;
}
.story .timeline {
  padding-top: 38px;
  padding-bottom: 38px;
  gap: 14px;
}
.story .timeline div {
  grid-template-columns: 72px 1fr;
  gap: 13px;
}
.story .timeline b {
  font-size: 11px;
}
.story .timeline p {
  font-size: 9px;
  line-height: 1.4;
}

/* Ajuste exclusivamente estético da secção Quem Somos */
.story {
  min-height: 450px;
}
.story .section-intro {
  width: 30%;
  flex-basis: 30%;
  padding: 48px 34px 48px 0;
  justify-content: flex-start;
}
.story .story-text {
  margin-top: 8px;
}
.story .story-text p {
  font-size: 10px;
  line-height: 1.62;
  margin: 13px 0 0;
  max-width: 470px;
}
.story-photo {
  width: 38%;
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}
.story-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  opacity: .88;
}
.story .timeline {
  padding: 48px 6vw 48px 38px;
  gap: 20px;
  justify-content: center;
}
.story .timeline div {
  grid-template-columns: 92px 1fr;
  gap: 18px;
  align-items: start;
}
.story .timeline b {
  font-size: 12px;
  line-height: 1.25;
  padding-top: 1px;
}
.story .timeline p {
  font-size: 10px;
  line-height: 1.5;
  margin: 0;
}

/* Ajuste exclusivamente visual da imagem da secção Quem Somos */
.story-photo {
  width: 38%;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}
.story-photo img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  opacity: .9;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
}


/* Ajustes finais solicitados - Serviços alinhado e Quem Somos mais compacto */
.services {
  padding-left: 7vw;
  padding-right: 7vw;
}

.story {
  min-height: 420px;
}

.story .section-intro,
.story .timeline {
  padding-top: 32px;
  padding-bottom: 32px;
}

/* Correção final: alinhamento Serviços + leitura Quem Somos */
.services {
  padding-left: 11vw;
}

.story .story-text p {
  font-size: 13px;
  line-height: 1.65;
  font-weight: 400;
  color: #ddd0c4;
}

.story .story-text strong {
  font-weight: 400;
}

.story .section-intro p {
  font-size: 13px;
  line-height: 1.65;
}

/* FINAL CORREÇÕES DE ALINHAMENTO */
/* Todos os títulos das secções no mesmo eixo e sem linhas decorativas */
.section-intro h2 span,
.section-intro h2::after,
.section-title::after,
.section-title::before {
  display:none !important;
}

.services,
.booking,
.story,
.instagram,
.location {
  padding-left:11vw;
}

/* Serviços alinhado exatamente com Agendamento */
.services .section-intro {
  text-align:left;
  align-items:flex-start;
  justify-content:center;
  padding-right:26px;
}

.services .section-intro h2 {
  text-align:left;
}

/* Quem somos: texto maior, uniforme e sem destaques em negrito */
.story .story-text p,
.story .section-intro p,
.story .timeline p {
  font-size:14px;
  line-height:1.65;
  font-weight:400;
}

.story .story-text strong,
.story strong {
  font-weight:400;
}

/* Qogee typography update */
:root{
  --qogee:"Qogee",Arial,sans-serif;
}
.section-intro h2,
.hero-wordmark,
.booking-card,
.service-icon,
.footer-brand,
.timeline b {
  font-family: var(--qogee);
}


/* Débora Fernandes Academy — destaque de cursos */
.academy{
  min-height:230px;
  padding:34px 7vw 34px 11vw;
  align-items:center;
  gap:42px;
  background:var(--cream-soft);
  color:var(--ink);
  isolation:isolate;
}
.academy-watermark{
  position:absolute;
  right:5vw;
  top:50%;
  transform:translateY(-52%);
  z-index:-1;
  font-size:112px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:500;
  color:rgba(108,67,58,.045);
  pointer-events:none;
  white-space:nowrap;
}
.academy-label{
  width:210px;
  flex:0 0 210px;
  font-size:14px;
  line-height:1.4;
  letter-spacing:.14em;
  font-weight:600;
  color:var(--brown);
}
.academy-label::before{
  content:"";
  display:block;
  width:34px;
  height:1px;
  margin-bottom:14px;
  background:var(--brown-soft);
}
.academy-copy{max-width:510px}
.academy-copy h2{
  margin:0 0 14px;
  font-size:34px;
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.academy-copy p{
  max-width:470px;
  margin:0;
  font-size:11px;
  line-height:1.7;
  color:#66564f;
}
.academy-action{
  margin-left:auto;
  width:300px;
  flex:0 0 300px;
  position:relative;
  z-index:2;
}
.academy-action p{
  margin:0 0 15px;
  font-size:12px;
  line-height:1.55;
  color:var(--brown-deep);
}
.academy-btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  min-width:220px;
  padding:14px 17px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:9px;
}
.academy-btn span{margin-left:28px}
.academy-action small{
  display:block;
  margin-top:9px;
  font-size:8px;
  letter-spacing:.08em;
  color:#8d756b;
}
@media (max-width:1250px){
  .academy{padding-left:9vw;gap:28px}
  .academy-label{width:170px;flex-basis:170px}
  .academy-action{width:260px;flex-basis:260px}
  .academy-copy h2{font-size:30px}
}

/* ===== Premium motion layer ===== */
html{scroll-behavior:smooth}
.js-motion .motion-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .78s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform;
}
.js-motion .motion-reveal.motion-left{transform:translateX(-28px)}
.js-motion .motion-reveal.motion-right{transform:translateX(28px)}
.js-motion .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}

/* Hero: refined first impression */
.js-motion .hero .hero-photo{opacity:0;transform:scale(1.025);animation:heroPhotoIn 1.15s .08s cubic-bezier(.22,1,.36,1) forwards}
.js-motion .hero .hero-content>*{opacity:0;transform:translateY(18px);animation:heroCopyIn .82s cubic-bezier(.22,1,.36,1) forwards}
.js-motion .hero .hero-content>*:nth-child(1){animation-delay:.20s}
.js-motion .hero .hero-content>*:nth-child(2){animation-delay:.32s}
.js-motion .hero .hero-content>*:nth-child(3){animation-delay:.44s}
.js-motion .hero .hero-content>*:nth-child(4){animation-delay:.56s}
@keyframes heroPhotoIn{to{opacity:1;transform:scale(1)}}
@keyframes heroCopyIn{to{opacity:1;transform:translateY(0)}}

/* Premium micro-interactions without changing layout */
.btn,.academy-btn,.header .cta{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease}
.btn:hover,.academy-btn:hover,.header .cta:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(71,44,39,.14)}
.service-item,.service-card,.ig{transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s ease,opacity .42s ease}
.service-item:hover,.service-card:hover{transform:translateY(-5px)}
.instagram-grid .ig{overflow:hidden}
.instagram-grid .ig img{transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s ease}
.instagram-grid .ig:hover img{transform:scale(1.035)}
.academy-btn span,.btn span{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.academy-btn:hover span,.btn:hover span{transform:translateX(4px)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js-motion .motion-reveal,.js-motion .hero .hero-photo,.js-motion .hero .hero-content>*{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .btn,.academy-btn,.header .cta,.service-item,.service-card,.ig,.instagram-grid .ig img{transition:none!important}
}


/* Quem Somos — história oficial atualizada em 15/09/2026 */
.story { min-height: 650px; }
.story .section-intro, .story .timeline { padding-top: 38px; padding-bottom: 38px; }
.story .story-text p { margin: 9px 0 0; font-size: 13px; line-height: 1.55; font-weight: 400; }
.story .timeline { gap: 16px; }
.story .timeline p { font-size: 12px; line-height: 1.5; font-weight: 400; }


/* Montserrat — geometric, rounded/expansive typography option */
.section-intro h2,.section-title,.hero-specialist,.academy h2,.courses h2,.header nav a,.header-button,.btn{letter-spacing:.045em;}


/* =========================================================
   RESPONSIVE — Tablet + Mobile
   Desktop (>1024px) remains unchanged.
   ========================================================= */
.menu-toggle{display:none}

@media (max-width:1024px){
  .header{height:76px;padding:0 5vw;background:rgba(241,233,223,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .logo{width:88px;height:68px;position:relative;z-index:103}
  .brand-mark{width:78px;height:68px}
  .header-button{display:none}
  .menu-toggle{display:flex;position:relative;z-index:103;width:44px;height:44px;padding:11px;border:1px solid rgba(108,67,58,.25);background:rgba(247,241,233,.72);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
  .menu-toggle span{display:block;width:20px;height:1px;background:var(--brown);transition:transform .3s ease,opacity .3s ease}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .header nav{position:fixed;z-index:102;inset:0;background:rgba(241,233,223,.985);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease,visibility .3s ease}
  .menu-open .header nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .header nav a{font-size:14px;letter-spacing:.12em;color:var(--brown-deep)}
  body.menu-open{overflow:hidden}

  .hero{height:auto;min-height:620px;grid-template-columns:46% 54%;padding-top:76px}
  .hero-photo img{transform:translateY(48px);object-position:48% top}
  .hero-content{padding:55px 5vw 35px 4vw}
  .hero-tagline{font-size:9px;letter-spacing:.19em;line-height:1.7}
  .hero-tagline span{margin:0 5px}
  .hero-wordmark{width:94%;margin-bottom:30px}
  .hero-specialist{font-size:12px;line-height:1.6}
  .hero-monogram{width:180px;height:180px;right:3%}

  .academy{min-height:0;padding:46px 7vw;display:grid;grid-template-columns:160px 1fr;gap:28px 36px}
  .academy-label{width:auto;flex:none}
  .academy-copy{max-width:none}
  .academy-copy h2{font-size:30px}
  .academy-action{grid-column:2;width:auto;max-width:360px;margin:0;flex:none}
  .academy-watermark{font-size:82px}

  .services,.booking,.story,.instagram,.location{padding-left:7vw;padding-right:7vw}
  .services{display:block;padding-top:42px;padding-bottom:42px}
  .services .section-intro{width:auto;display:block;padding:0 0 26px}
  .service-list{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}
  .service-list .service-featured{grid-row:auto;grid-column:auto}
  .service-list article{min-height:120px;border-top:1px solid var(--dark-line)}

  .booking{min-height:0;display:block;padding-top:40px;padding-bottom:42px}
  .booking .section-intro{width:auto;display:block;padding:0 0 24px}
  .booking-actions{width:70%;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .booking-actions .btn{justify-content:space-between}
  .booking-actions .btn:first-child{grid-column:1/-1}
  .booking-art{width:30%}

  .story{display:grid;grid-template-columns:1.1fr .9fr;padding-top:46px;padding-bottom:46px}
  .story .section-intro{width:auto;flex:none;padding:0 34px 0 0}
  .story-photo{width:auto;min-height:520px}
  .story-photo img{object-fit:cover}
  .timeline{grid-column:1/-1;padding:38px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 34px}
  .timeline div{grid-template-columns:85px 1fr}

  .instagram{display:block;padding-top:40px;padding-bottom:40px}
  .instagram .section-intro{width:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 0 24px}
  .instagram-grid{grid-template-columns:repeat(3,1fr)}
  .ig{min-height:220px}
  .instagram-grid .i4,.instagram-grid .i5{min-height:180px}

  .location{display:grid;grid-template-columns:1fr 1.8fr;padding-top:42px;padding-bottom:42px;gap:30px}
  .location .section-intro{width:auto;flex:none}
  .location-info{grid-template-columns:repeat(2,1fr)}
  .location-info>div{border-top:1px solid var(--dark-line)}
  .map{grid-column:1/-1;width:100%;min-width:0;min-height:190px}

  .footer{padding:22px 7vw;gap:25px}
}

@media (max-width:640px){
  .header{height:68px;padding:0 20px}
  .logo{width:76px;height:62px}
  .brand-mark{width:70px;height:62px}
  .menu-toggle{width:42px;height:42px}

  .hero{display:flex;flex-direction:column;min-height:0;padding-top:68px}
  .hero-photo{height:390px;width:100%;order:1}
  .hero-photo img{transform:none;object-position:center 18%}
  .hero-photo:after{background:linear-gradient(180deg,rgba(241,233,223,0) 62%,var(--cream) 100%)}
  .hero-content{order:2;padding:24px 22px 48px;text-align:center}
  .hero-tagline{width:100%;font-size:8px;letter-spacing:.13em;margin-bottom:14px;white-space:nowrap}
  .hero-tagline span{margin:0 3px}
  .hero-wordmark{width:min(390px,94%);margin-bottom:25px}
  .hero-specialist{font-size:11px;line-height:1.55;letter-spacing:.06em}
  .hero-monogram{width:145px;height:145px;right:-18px;top:auto;bottom:18px}

  .academy{display:block;padding:42px 22px}
  .academy-label{margin-bottom:25px;font-size:11px}
  .academy-copy h2{font-size:28px;line-height:1.08}
  .academy-copy p{font-size:11px}
  .academy-action{margin-top:27px;max-width:none}
  .academy-btn{width:100%;min-width:0}
  .academy-watermark{font-size:54px;right:-8%;top:24%;white-space:nowrap}

  .services,.booking,.story,.instagram,.location{padding-left:22px;padding-right:22px}
  .section-intro h2{font-size:26px;white-space:normal}
  .services{padding-top:40px;padding-bottom:40px}
  .service-list{grid-template-columns:repeat(2,1fr)}
  .service-list article{min-height:112px;border-left:1px solid var(--dark-line);padding:12px 8px}
  .service-list article:nth-child(odd){border-left:0}
  .service-list h3{font-size:8px;line-height:1.35}

  .booking{padding-top:38px;padding-bottom:38px}
  .booking-actions{width:100%;display:flex;flex-direction:column;gap:10px}
  .booking-actions .btn{width:100%;min-height:48px}
  .booking-art{display:none}

  .story{display:flex;flex-direction:column;padding-top:42px;padding-bottom:42px}
  .story .section-intro{width:100%;padding:0}
  .story .story-text p{font-size:13px;line-height:1.65;margin-top:12px}
  .story-photo{width:calc(100% + 44px);height:390px;min-height:0;margin:32px -22px 0;order:2}
  .story-photo img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}
  .timeline{order:3;width:100%;display:flex;padding:30px 0 0;gap:20px}
  .timeline div{display:block;border-top:1px solid var(--dark-line);padding-top:15px}
  .timeline b{display:block;margin-bottom:6px;font-size:13px}
  .timeline p{font-size:12px;line-height:1.5}
  .timeline br{display:none}

  .instagram{padding-top:38px;padding-bottom:38px}
  .instagram .section-intro{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:22px}
  .instagram-grid{grid-template-columns:repeat(2,1fr);gap:5px}
  .ig,.instagram-grid .i4,.instagram-grid .i5{min-height:190px}
  .instagram-grid .i5{grid-column:1/-1;min-height:240px}

  .location{display:block;padding-top:40px;padding-bottom:0}
  .location .section-intro{padding-bottom:25px}
  .location-info{display:grid;grid-template-columns:1fr 1fr}
  .location-info>div{min-height:115px;padding:14px 10px;border-left:0;border-top:1px solid var(--dark-line)}
  .location-info p{font-size:10px}
  .map{width:calc(100% + 44px);margin:28px -22px 0;min-height:180px}

  .footer{min-height:0;display:flex;flex-direction:column;padding:26px 22px;gap:18px;font-size:7px;line-height:1.8;letter-spacing:.14em}
  .footer-brand{font-size:12px}
}

@media (max-width:380px){
  .hero-photo{height:340px}
  .hero-tagline{font-size:7px;letter-spacing:.09em}
  .academy-copy h2{font-size:25px}
  .service-list{grid-template-columns:1fr}
  .service-list article,.service-list article:nth-child(odd){border-left:0}
  .instagram-grid{grid-template-columns:1fr}
  .instagram-grid .i5{grid-column:auto}
  .location-info{grid-template-columns:1fr}
}

/* =========================================================
   RESPONSIVE POLISH v2 — clearer mobile menu + clean services
   ========================================================= */
@media (max-width:1024px){
  .menu-open .header{background:var(--cream);}
  .header nav{
    inset:76px 18px 18px;
    min-height:calc(100dvh - 94px);
    padding:34px 24px;
    border:1px solid rgba(198,163,154,.34);
    background:linear-gradient(145deg,rgba(71,44,39,.985),rgba(108,67,58,.985));
    box-shadow:0 24px 70px rgba(35,20,16,.28);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    gap:10px;
  }
  .header nav a{
    width:min(420px,88%);
    padding:15px 10px;
    border-bottom:1px solid rgba(247,241,233,.15);
    color:var(--cream-soft);
    font-size:15px;
    line-height:1.2;
    letter-spacing:.13em;
    text-align:center;
  }
  .header nav a:last-child{border-bottom:0}
  .menu-open .menu-toggle{background:var(--cream-soft);border-color:rgba(108,67,58,.35)}

  /* Tablet service grid: remove inherited divider fragments */
  .service-list article,
  .service-list .service-featured{
    border:0!important;
    box-shadow:inset 0 0 0 1px rgba(209,173,164,.16);
    margin:4px;
  }
}

@media (max-width:640px){
  .header nav{
    inset:68px 12px 12px;
    min-height:calc(100dvh - 80px);
    justify-content:center;
    padding:24px 18px;
    gap:5px;
  }
  .header nav a{
    width:92%;
    padding:14px 8px;
    font-size:14px;
  }

  /* Mobile services: clean 2-column cards, no stray cross/grid lines */
  .service-list{gap:8px;}
  .service-list article,
  .service-list article:nth-child(odd),
  .service-list .service-featured{
    min-height:124px;
    margin:0;
    padding:16px 8px;
    border:0!important;
    box-shadow:inset 0 0 0 1px rgba(209,173,164,.16);
    border-radius:2px;
  }
  .service-icon{height:44px;display:flex;align-items:center;justify-content:center}
}

@media (max-width:380px){
  .service-list{gap:7px}
  .service-list article,
  .service-list article:nth-child(odd),
  .service-list .service-featured{border:0!important;}
}

/* =========================================================
   RESPONSIVE FINAL POLISH v3 — compact mobile hero
   Wordmark above tagline; restrained motion retained.
   Desktop remains untouched.
   ========================================================= */
@media (max-width:640px){
  .hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:12px 22px 30px;
  }
  .hero-wordmark{
    order:1;
    width:min(365px,90%);
    margin:0 auto 8px;
  }
  .hero-tagline{
    order:2;
    margin:0 auto 20px;
  }
  .hero-specialist{
    order:3;
  }
  .hero-photo{height:365px}
  .hero-monogram{bottom:6px}
}
@media (max-width:380px){
  .hero-photo{height:320px}
  .hero-content{padding-top:10px;padding-bottom:26px}
  .hero-wordmark{width:92%;margin-bottom:6px}
  .hero-tagline{margin-bottom:17px}
}

/* =========================================================
   RESPONSIVE FINAL v4 — hero content integrated into photo
   Mobile only: moves wordmark/tagline/specialist into the
   faded lower area of the portrait, shortening the hero.
   ========================================================= */
@media (max-width:640px){
  .hero{
    position:relative;
    display:block;
    min-height:0;
    padding-top:68px;
    overflow:hidden;
  }
  .hero-photo{
    position:relative;
    width:100%;
    height:555px;
    z-index:1;
  }
  .hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 16%;
    transform:none;
  }
  .hero-photo:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,
      rgba(241,233,223,0) 34%,
      rgba(241,233,223,.20) 48%,
      rgba(241,233,223,.88) 64%,
      var(--cream) 76%,
      var(--cream) 100%);
    pointer-events:none;
  }
  .hero-content{
    position:absolute;
    z-index:3;
    left:0;
    right:0;
    bottom:20px;
    width:100%;
    padding:0 22px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    background:transparent;
  }
  .hero-wordmark{
    order:1;
    width:min(390px,92%);
    margin:0 auto 13px;
  }
  .hero-tagline{
    order:2;
    width:100%;
    margin:0 auto 20px;
    font-size:8px;
    letter-spacing:.13em;
    white-space:nowrap;
  }
  .hero-specialist{
    order:3;
    margin:0;
    font-size:11px;
    line-height:1.55;
    letter-spacing:.06em;
  }
  .hero-monogram{
    z-index:2;
    width:132px;
    height:132px;
    right:-16px;
    bottom:0;
    opacity:.08;
  }
}
@media (max-width:380px){
  .hero-photo{height:515px}
  .hero-content{bottom:17px;padding:0 16px}
  .hero-wordmark{width:94%;margin-bottom:10px}
  .hero-tagline{font-size:7px;letter-spacing:.09em;margin-bottom:16px}
  .hero-specialist{font-size:10px}
}
