/* The Beauty T-53 — versão 3 (clara). Tokens em ../design-system.md */
:root{
  --cream:#F7F1EC; --blush:#EFE3DB; --blush-2:#E6D5CA;
  --plum:#5E4A44; --plum-2:#4D3C37;
  --bronze:#7A5C48; --gold:#C9A88E;
  --ink:#1E1A19; --muted:rgba(30,26,25,.66); --muted-l:rgba(247,241,236,.74);
  --line:rgba(30,26,25,.14); --line-l:rgba(247,241,236,.22);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:20px; --sec:88px;
}
@media (min-width:900px){:root{--gut:40px; --sec:136px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0;letter-spacing:-.005em}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--bronze)}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--gut)}

.eyebrow{font:600 11px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);margin:0 0 20px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor;flex:none}
.eyebrow--light{color:var(--gold)}
.lead{font-size:17px;color:var(--muted);max-width:40ch}
.sub{color:var(--muted);max-width:48ch;margin:20px 0 0}

/* Botões: retangulares, caixa-alta espaçada */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 28px;border:1px solid transparent;border-radius:0;font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.btn--solid{background:var(--plum);color:var(--cream)}
.btn--solid:hover{background:var(--ink)}
.btn--ghost{border-color:var(--plum);color:var(--plum)}
.btn--ghost:hover{background:var(--plum);color:var(--cream)}
.btn--light{background:var(--cream);color:var(--plum)}
.btn--light:hover{background:#fff}
.btn--sm{min-height:42px;padding:12px 18px;font-size:11px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.ctas .btn{flex:1 1 220px}
@media (min-width:600px){.ctas .btn{flex:0 0 auto}}

/* Nav */
.nav{position:fixed;inset:0 0 auto;z-index:20;transition:background .35s,box-shadow .35s}
.nav.is-solid{background:rgba(247,241,236,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px}
.nav__logo img{height:40px;width:auto;filter:invert(1) brightness(1.1) contrast(1.3);mix-blend-mode:multiply}
.nav__links{display:none;gap:28px;font:500 13px/1 var(--sans);letter-spacing:.04em}
.nav__links a{text-decoration:none;color:var(--muted);transition:color .2s}
.nav__links a:hover{color:var(--ink)}
@media (min-width:1000px){.nav__links{display:flex}.nav__in{height:84px}.nav__logo img{height:48px}}

/* Hero */
.hero{padding:104px 0 64px}
.hero__in{display:grid;gap:44px;align-items:center}
.hero h1{font-size:clamp(42px,10vw,84px);max-width:13ch;margin-bottom:24px}
.hero__copy{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero__portrait{position:relative;margin:0 calc(var(--gut) * -1)}
.hero__portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.hero__portrait figcaption{position:absolute;left:var(--gut);bottom:20px;background:var(--cream);padding:14px 18px;display:flex;flex-direction:column;gap:2px}
.hero__portrait strong{font:500 22px/1.1 var(--serif)}
.hero__portrait span{font-size:12px;color:var(--muted);letter-spacing:.04em}
@media (min-width:900px){
  .hero{padding:148px 0 96px}
  .hero__in{grid-template-columns:7fr 5fr;gap:72px}
  .hero__portrait{margin:0}
  .hero__portrait img{aspect-ratio:3/4}
  .hero__portrait::before{content:"";position:absolute;inset:28px -28px -28px 28px;background:var(--blush);z-index:-1}
  .hero__portrait figcaption{left:-36px;bottom:40px}
}

/* 26 anos */
.years{background:var(--plum);color:var(--cream)}
.years__in{display:grid;gap:8px;padding-top:56px;padding-bottom:56px;align-items:center}
.years__num{font:400 clamp(96px,22vw,180px)/.8 var(--serif);margin:0;color:var(--gold)}
.years__num span{font-size:.5em;vertical-align:top;margin-left:4px}
.years h2{font-size:clamp(26px,5vw,38px);max-width:22ch;margin-bottom:14px}
.years p{color:var(--muted-l);max-width:52ch;margin:0}
@media (min-width:900px){.years__in{grid-template-columns:auto 1fr;gap:64px;padding-top:72px;padding-bottom:72px}}

/* Seções */
.sec{padding:var(--sec) 0}
.sec--blush{background:var(--blush)}
.sec--plum{background:var(--plum-2);color:var(--cream)}
.head{margin-bottom:40px}
.head h2,.founder h2,.special h2,.place h2,.visit h2{font-size:clamp(36px,7.4vw,60px);max-width:17ch}
.sec--plum h2 em{color:var(--gold)}

/* O Carlos */
.founder{display:grid;gap:40px;align-items:center}
.founder__img{max-width:400px}
.founder__img img{width:100%;aspect-ratio:2/3;object-fit:cover}
.founder__img figcaption,.team figcaption{font:600 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.founder__copy h2{margin-bottom:28px}
.founder__copy p{color:var(--muted);max-width:54ch}
.pull{font:italic 400 clamp(22px,3.4vw,28px)/1.35 var(--serif);color:var(--ink)!important;border-left:1px solid var(--bronze);padding-left:20px;margin-top:28px}
@media (min-width:900px){.founder{grid-template-columns:5fr 7fr;gap:96px}}
.team{display:grid;gap:24px;margin-top:80px;align-items:end}
.team img{width:100%}
.team p{color:var(--muted);max-width:44ch;margin:0}
@media (min-width:900px){.team{grid-template-columns:7fr 5fr;gap:64px;margin-top:120px}}

/* Abas */
.tabs{display:flex;gap:4px 28px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:0 calc(var(--gut) * -1) 40px;padding:0 var(--gut)}
.tabs::-webkit-scrollbar{display:none}
.tabs button{appearance:none;border:0;background:none;padding:14px 0;min-height:48px;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--bronze)}
@media (min-width:900px){.tabs{margin-left:0;margin-right:0;padding:0;gap:44px}}

/* Serviços */
.svc{display:grid;gap:32px;align-items:start}
.svc[hidden]{display:none}
.svc__img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.svc__list{list-style:none;margin:0;padding:0}
.svc__list li{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.svc__list li:first-child{padding-top:0}
.svc__list h3{font-size:28px;margin-bottom:6px}
.svc__list p{margin:0;font-size:15px;color:var(--muted);max-width:46ch}
.svc__list a{flex:none;font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--plum);padding:12px 0 12px 12px;transition:color .2s}
.svc__list a:hover{color:var(--ink)}
@media (min-width:900px){.svc{grid-template-columns:4fr 7fr;gap:80px}}
.works{margin-top:88px}
.works__row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.works img{width:100%;aspect-ratio:3/4;object-fit:cover}
@media (min-width:900px){.works{margin-top:120px}.works__row{gap:20px}}

/* Momentos especiais */
.special{display:grid;gap:44px;align-items:center}
.special__copy p{color:var(--muted-l);max-width:50ch;margin-top:24px}
.special__list{list-style:none;margin:28px 0 36px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.special__list li{font:400 22px/1.2 var(--serif);padding:14px 0;border-top:1px solid var(--line-l)}
.special__img{max-width:360px;justify-self:center}
.special__img img{width:100%;aspect-ratio:9/16;object-fit:cover;outline:1px solid var(--line-l);outline-offset:14px}
@media (min-width:900px){.special{grid-template-columns:7fr 5fr;gap:96px}}

/* O espaço */
.place{display:grid;gap:44px;align-items:center}
.place__copy p{color:var(--muted);max-width:46ch;margin-top:24px}
.collage{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:64px;gap:10px}
.collage figure{overflow:hidden}
.collage img{width:100%;height:100%;object-fit:cover}
.c1{grid-column:1/5;grid-row:1/5}
.c2{grid-column:5/7;grid-row:1/4}
.c3{grid-column:5/7;grid-row:4/7}
.c4{grid-column:1/3;grid-row:5/8}
.c5{grid-column:3/5;grid-row:5/8}
@media (min-width:900px){.place{grid-template-columns:4fr 7fr;gap:80px}.collage{grid-auto-rows:72px;gap:14px}}
.quote{margin-top:96px;text-align:center}
.quote p{font:italic 400 clamp(26px,4.6vw,40px)/1.3 var(--serif);max-width:28ch;margin:0 auto 18px}
.quote footer{font-size:13px;color:var(--muted)}
.quote a{color:var(--plum)}

/* Visite */
.visit__in{display:grid;gap:48px;align-items:center}
.info{margin:32px 0 0}
.info div{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.info dt{font:600 11px/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.info dd{margin:0}
.info a{text-decoration:none;border-bottom:1px solid var(--line)}
.map{position:relative;aspect-ratio:4/3;background:var(--blush-2);overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:sepia(.25) saturate(.8)}
.map__btn{position:absolute;inset:0;margin:auto;width:max-content;height:max-content;appearance:none;border:1px solid var(--plum);background:transparent;color:var(--plum);font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 20px;cursor:pointer}
@media (min-width:900px){.visit__in{grid-template-columns:6fr 6fr;gap:80px}}

/* Rodapé */
.foot{background:var(--ink);color:var(--cream);padding:64px 0 112px;text-align:center}
.foot img{height:56px;width:auto;margin:0 auto 20px;mix-blend-mode:screen}
.foot p{color:var(--muted-l);margin:0 0 8px}
.foot__small{font-size:13px}
@media (min-width:900px){.foot{padding-bottom:64px}}

/* CTA fixo no celular */
.sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:flex;align-items:center;justify-content:center;min-height:54px;background:var(--plum);color:var(--cream);font:600 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.sticky.is-on{transform:none}
@media (min-width:900px){.sticky{display:none}}

/* Reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.hero__copy{opacity:1;transform:none;transition:none;animation:none}
}
