:root{--ink:#10100f;--ink2:#191817;--ink3:#292521;--paper:#f8f3ec;--gold:#c99b69;--gold-light:#e6c49d;--sans:"Montserrat",Arial,sans-serif;--serif:"Cormorant Garamond",Georgia,serif;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-x:clip}body{background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden;margin:0;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}a:hover{color:var(--gold-light)}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}::selection{background:var(--gold);color:var(--ink)}.container-max{max-width:1390px;margin-left:auto;margin-right:auto;padding-left:clamp(22px,4vw,64px)!important;padding-right:clamp(22px,4vw,64px)!important}.section{padding:clamp(92px,10vw,148px) 0}.eyebrow{font-size:10px;letter-spacing:.26em;font-weight:700;color:var(--gold-light);line-height:1.7;margin-bottom:15px}.display-heading{font-family:var(--serif);font-size:clamp(3.35rem,5.45vw,6.4rem);line-height:.96;font-weight:500;letter-spacing:-.035em;margin:0;color:var(--paper)}.display-heading em{color:var(--gold-light);font-weight:400}.lead-copy{font-size:15px;color:rgba(248,243,236,.65);line-height:2;margin:25px 0 27px;max-width:550px}.right-description{max-width:340px;margin:0 0 5px auto;color:rgba(248,243,236,.54);font-size:14px;line-height:1.9}.primary-btn,.outline-btn,.nav-cta{border-radius:0;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:16px 24px;text-decoration:none;letter-spacing:.15em;font-size:10px;font-weight:800;line-height:1.4;text-transform:uppercase;transition:background .2s,transform .2s,border-color .2s,color .2s}.primary-btn,.nav-cta{background:var(--gold);border:1px solid var(--gold);color:#171412}.primary-btn:hover,.nav-cta:hover{background:var(--gold-light);color:#171412;transform:translateY(-2px)}.outline-btn{background:transparent;border:1px solid rgba(255,255,255,.48);color:#fff}.outline-btn:hover{border-color:var(--gold);background:rgba(201,155,105,.1);color:#fff}.text-cta{padding:0 0 9px;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--gold-light);font-size:11px;letter-spacing:.14em;font-weight:700}.text-cta:hover{color:#fff}
/* Header */
.site-header{background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.04));border-bottom:1px solid transparent;transition:background .3s,border-color .3s}.site-header.scrolled{background:rgba(13,13,12,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(201,155,105,.28);box-shadow:0 6px 25px rgba(0,0,0,.12)}.nav-inner{min-height:87px}.brand img{display:block;width:124px;height:64px;object-fit:contain}.nav-anchor{color:rgba(248,243,236,.83);font-size:10px;font-weight:700;letter-spacing:.15em;white-space:nowrap;transition:color .2s}.nav-anchor:hover{color:var(--gold-light)}.nav-cta{min-height:43px;padding:12px 19px}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:45px;height:42px;background:rgba(0,0,0,.23);border:1px solid rgba(255,255,255,.3)}.menu-toggle span{width:19px;height:2px;background:#fff}.mobile-nav{background:rgba(14,14,13,.98);border-top:1px solid rgba(255,255,255,.1)}.mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;font-size:12px;letter-spacing:.14em;color:#fff}
/* Intro */
.hero{position:relative;min-height:810px;min-height:100svh;isolation:isolate;padding:130px 0 90px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 44%;z-index:-3;animation:heroZoom 24s ease-in-out infinite alternate}@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}.hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,6,5,.98) 0%,rgba(5,6,5,.9) 27%,rgba(5,6,5,.65) 55%,rgba(5,6,5,.22) 100%),linear-gradient(0deg,rgba(7,7,7,.8),transparent 35%,rgba(0,0,0,.3))}.hero-content{padding-top:20px}.line-before{display:flex;align-items:center;gap:15px}.line-before::before{content:"";background:var(--gold);width:30px;height:1px}.hero h1{font:600 clamp(4.7rem,8.7vw,9.2rem)/.79 var(--serif);letter-spacing:-.045em;text-wrap:balance;text-shadow:0 10px 55px rgba(0,0,0,.2);margin:35px 0 28px}.hero h1 em{color:var(--gold-light);font-weight:400}.hero-lead{max-width:440px;border-left:2px solid var(--gold);padding-left:20px;color:rgba(248,243,236,.78);font-size:15px;line-height:1.95}.hero-address{display:inline-block;margin-top:31px;font-size:11px;letter-spacing:.07em;color:rgba(248,243,236,.6)}.hero-bottom-note{position:absolute;left:4vw;bottom:28px;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.5)}.hero-scroll{position:absolute;right:4vw;bottom:22px;align-items:center;gap:14px;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.63)}.hero-scroll span{border:1px solid rgba(255,255,255,.3);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:21px}.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(201,155,105,.8),transparent)}
/* Sobre */
.about{background:radial-gradient(500px 500px at 0% 20%,rgba(160,100,56,.13),transparent 75%),var(--ink2)}.about-images{height:680px;max-width:590px;padding:0 8px 30px 43px}.about-large{height:100%;width:100%;overflow:hidden;border:1px solid rgba(201,155,105,.25)}.about-large img,.about-small img{height:100%;width:100%;object-fit:cover;object-position:center 46%;transition:transform .9s}.about-large:hover img,.about-small:hover img{transform:scale(1.045)}.about-small{position:absolute;bottom:-6px;left:0;width:40%;height:43%;border:8px solid var(--ink2);box-shadow:0 20px 45px rgba(0,0,0,.5);overflow:hidden}.about-stamp{position:absolute;right:-4px;top:-20px;display:flex;align-items:center;justify-content:center;width:92px;height:92px;border:1px solid var(--gold);border-radius:50%;background:#171614;color:var(--gold-light);font-size:10px;letter-spacing:.15em;text-align:center;line-height:1.8;font-weight:700}.feature-row{display:flex;gap:21px;padding:22px 0 17px;border-top:1px solid rgba(255,255,255,.1)}.feature-icon{min-width:40px;color:var(--gold);font-size:26px;line-height:1}.feature-row h3{font-size:14px;font-weight:700;margin:1px 0 7px}.feature-row p{font-size:13px;line-height:1.8;color:rgba(248,243,236,.56);margin:0}
/* Revelação por rolagem */
/* Galeria / Bootstrap */
.space-section,.gallery-section{background:var(--ink)}#spaceCarousel{height:675px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}#spaceCarousel .carousel-inner,#spaceCarousel .carousel-item{height:100%}#spaceCarousel .carousel-item{position:relative}#spaceCarousel .carousel-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 62%);pointer-events:none}#spaceCarousel .carousel-item img{height:100%;width:100%;object-fit:cover;object-position:center 45%}#spaceCarousel .carousel-item:nth-child(2) img{object-position:center 36%}#spaceCarousel .carousel-caption-custom{position:absolute;z-index:1;left:39px;bottom:53px;right:30px}#spaceCarousel .carousel-caption-custom h3{font:500 clamp(2.5rem,4.3vw,4.1rem)/1 var(--serif);letter-spacing:-.025em;color:#fff;margin:2px 0 10px}#spaceCarousel .carousel-caption-custom>p:last-child{font-size:13px;color:rgba(255,255,255,.82)}#spaceCarousel .carousel-indicators{margin-bottom:17px}#spaceCarousel .carousel-indicators button{width:22px;height:3px;border:0;background:white;opacity:.5;margin:0 4px;transition:width .25s,opacity .25s}#spaceCarousel .carousel-indicators button.active{width:40px;background:var(--gold-light);opacity:1}#spaceCarousel .carousel-control-prev,#spaceCarousel .carousel-control-next{width:12%;opacity:1}#spaceCarousel .carousel-btn{display:grid;place-items:center;width:44px;height:44px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.4);font-size:29px;line-height:1}.space-tile{position:relative;display:block;height:325px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.space-tile img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .7s}.space-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 65%)}.space-tile:hover img{transform:scale(1.06)}.space-tile span{position:absolute;z-index:1;left:22px;right:22px;bottom:24px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.11em}
/* Imagem de fundo no scroll */
.photo-banner{position:relative;isolation:isolate;min-height:700px;padding:110px 0;overflow:hidden}.photo-banner-bg{position:absolute;inset:0;z-index:-2;background-position:center 48%;background-size:cover;background-attachment:fixed}.photo-banner-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,7,7,.88),rgba(7,7,7,.41) 48%,rgba(7,7,7,.8)),rgba(0,0,0,.13)}.photo-banner .display-heading{max-width:900px;margin:15px auto}.photo-banner p:not(.eyebrow){max-width:550px;margin:22px auto;color:rgba(248,243,236,.77);font-size:14px;line-height:1.9}
/* Equipe */
.team-section{background:var(--ink2)}.team-layout .team-group{position:relative;overflow:hidden;min-height:655px;height:100%}.team-group img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .8s}.team-group:hover img{transform:scale(1.03)}.team-group:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 45%)}.team-group figcaption{position:absolute;z-index:1;bottom:30px;left:31px;right:22px}.team-group figcaption h3{font:500 clamp(2.4rem,3.7vw,4rem)/1 var(--serif);margin:0}.person-photo{height:245px;overflow:hidden;background:var(--ink3)}.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .8s}.person:hover img{transform:scale(1.06)}.person h3{font:500 clamp(1.65rem,2.3vw,2.25rem)/1.1 var(--serif);margin:12px 0 4px}.person p{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--gold-light);margin:0}
/* Produtos e bastidores */
.gallery-grid figure{margin:0}.gallery-tile{position:relative;height:450px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:var(--ink3)}.gallery-short{height:350px}.gallery-tile img{height:100%;width:100%;object-fit:cover;object-position:center 43%;filter:saturate(.88);transition:transform .85s}.gallery-tile:hover img{transform:scale(1.06)}.gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.83),transparent 68%)}.gallery-tile figcaption{position:absolute;z-index:1;left:27px;right:18px;bottom:24px}.gallery-tile small{font-size:9px;font-weight:700;color:var(--gold-light);letter-spacing:.2em}.gallery-tile h3{font:500 clamp(1.7rem,2.7vw,2.6rem)/1.1 var(--serif);margin:7px 0 0;color:#fff}
/* Convite e contato */
.booking-section{position:relative;isolation:isolate;padding:125px 10px;background:#201712}.booking-image{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(32,23,18,.92),rgba(32,23,18,.80),rgba(32,23,18,.9));background-position:center;background-size:cover}.booking-section .display-heading{max-width:760px;margin:18px auto}.booking-section p:not(.eyebrow){max-width:560px;font-size:14px;line-height:1.9;color:rgba(255,255,255,.7);margin:20px auto}.booking-section small{display:block;color:rgba(255,255,255,.46);font-size:9px;letter-spacing:.2em;margin-top:25px}.contact-section{background:var(--ink2)}.contact-items{border-top:1px solid var(--gold)}.contact-item{display:flex;gap:22px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.11)}.contact-item>span{width:30px;flex-shrink:0;text-align:center;font-size:24px;line-height:1.1;color:var(--gold-light)}.contact-item h3{font-size:10px;letter-spacing:.19em;color:var(--gold-light);font-weight:700;margin:0 0 8px}.contact-item p,.contact-item a{font-size:14px;line-height:1.8;color:rgba(248,243,236,.74);margin:0}.contact-item a:hover{color:var(--gold-light)}
/* Rodapé e modal */
.site-footer{background:#090a09;padding:65px 0 34px}.footer-logo{width:180px;height:100px;object-fit:contain}.site-footer p:not(.eyebrow){color:rgba(248,243,236,.55);font-size:13px;line-height:1.8;margin:0}.site-footer small{font-size:11px;color:rgba(248,243,236,.42)}.social{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(201,155,105,.55);color:var(--gold-light);font-size:22px;transition:.2s}.social:hover{color:var(--ink);background:var(--gold)}.fixed-mobile-booking{position:fixed;bottom:0;left:0;right:0;z-index:1010;padding:12px 15px;background:rgba(11,11,10,.95);border-top:1px solid rgba(201,155,105,.3);backdrop-filter:blur(15px)}.booking-modal{background:#1a1917;border:1px solid rgba(201,155,105,.45);padding:18px;color:var(--paper);border-radius:0}.booking-modal .modal-title{font:500 35px/1.05 var(--serif)}.booking-modal .modal-body>p{color:rgba(248,243,236,.65);font-size:13px}.modal-choice{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid rgba(201,155,105,.45);margin-bottom:13px;color:var(--paper);transition:.2s}.modal-choice:hover{background:rgba(201,155,105,.08);border-color:var(--gold);color:var(--paper)}.modal-choice>span:first-child{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--gold);font-size:23px;color:var(--gold-light)}.modal-choice span:nth-child(2){flex:1}.modal-choice b{display:block;font-size:14px}.modal-choice small{display:block;margin-top:4px;font-size:11px;color:rgba(248,243,236,.6)}.modal-choice strong{color:var(--gold-light)}
/* Visibilidade ao rolar */
html.reveal-ready [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}html.reveal-ready [data-reveal].in-view{opacity:1;transform:translateY(0)}
@media(max-width:1199px){.nav-anchor{font-size:9px}.about-images{height:610px}.space-tile{height:325px}}
@media(max-width:991px){.hero{min-height:780px}.hero h1{font-size:clamp(4.5rem,11vw,7rem)}.about-images{height:610px;margin:auto;max-width:620px}.space-tile{height:300px}#spaceCarousel{height:565px}.team-layout .team-group{height:580px;min-height:0}.person-photo{height:260px}.gallery-tile{height:380px}.gallery-short{height:335px}.photo-banner-bg{background-attachment:scroll}}
@media(max-width:767px){.nav-inner{min-height:74px}.brand img{width:111px;height:55px}.section{padding:88px 0}.hero{min-height:765px;padding-top:118px;padding-bottom:55px}.hero-image{object-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(5,6,5,.93),rgba(5,6,5,.5)),linear-gradient(0deg,rgba(6,6,6,.84),transparent 40%,rgba(0,0,0,.35))}.hero h1{font-size:clamp(3.85rem,15vw,6.5rem);line-height:.82}.hero-lead{font-size:14px}.hero-content{padding:20px 0}.hero .primary-btn,.hero .outline-btn{font-size:9px}.display-heading{font-size:clamp(3rem,12.2vw,5.1rem)}.eyebrow{letter-spacing:.18em}.lead-copy{font-size:14px}.right-description{margin:8px 0 0}.about-images{height:550px;max-width:520px;padding-left:25px}.about-small{border-width:6px}#spaceCarousel{height:480px}#spaceCarousel .carousel-caption-custom{left:24px;right:19px;bottom:46px}.space-tile{height:240px}.space-tile span{font-size:9px;left:13px;bottom:15px;right:13px}.photo-banner{min-height:590px}.photo-banner-bg{background-attachment:scroll;background-position:55% center}.team-layout .team-group{height:580px}.person-photo{height:230px}.gallery-tile{height:370px}.gallery-short{height:270px}.gallery-tile figcaption{left:17px;bottom:17px}.gallery-tile h3{font-size:1.8rem}.booking-section{padding:105px 0}.site-footer{padding-bottom:116px}}
@media(max-width:480px){.hero h1{font-size:clamp(3.65rem,15.5vw,5rem)}.hero{min-height:740px}.hero-content .d-flex{gap:9px!important}.hero .primary-btn,.hero .outline-btn{padding:14px 13px;min-height:50px;font-size:8px;letter-spacing:.1em}.hero-address{font-size:10px}.about-images{height:440px;max-width:420px}.about-stamp{width:73px;height:73px;font-size:8px}.space-tile{height:210px}#spaceCarousel{height:450px}.team-layout .team-group{height:470px}.person-photo{height:185px}.person h3{font-size:1.6rem}.person p{font-size:9px}.gallery-short{height:245px}.gallery-short figcaption h3{font-size:1.45rem}.gallery-short figcaption small{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-image{animation:none}[data-reveal]{transform:none}}

/* =====================================================================
   ROSEND'S · ANIMAÇÕES E INTERAÇÕES  (acrescentar ao final do style.css)
   ===================================================================== */
:root{--ease-out:cubic-bezier(.22,.7,.2,1)}

/* Barra de progresso de leitura */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1035;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--gold),var(--gold-light));pointer-events:none;will-change:transform}

/* Entrada da hero */
.hero-content>*{animation:rsRise 1s var(--ease-out) backwards;animation-delay:calc(var(--i,0)*130ms + 150ms)}
.hero-content>:nth-child(1){--i:0}.hero-content>:nth-child(2){--i:1}.hero-content>:nth-child(3){--i:2}.hero-content>:nth-child(4){--i:3}.hero-content>:nth-child(5){--i:4}
.hero-bottom-note,.hero-scroll{animation:rsFade 1.2s ease 1.1s backwards}
.hero-scroll span{animation:rsNudge 2.4s ease-in-out 2s infinite}
@keyframes rsRise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes rsFade{from{opacity:0}to{opacity:1}}
@keyframes rsNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes rsCaption{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rsMenuIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes rsKen{from{transform:scale(1.07)}to{transform:scale(1)}}

/* Profundidade da imagem principal: só telas grandes com mouse */
@media(min-width:992px) and (hover:hover) and (pointer:fine){
  .hero-image{inset:-6% -2%;width:104%;height:112%;translate:var(--hx,0px) var(--hy,0px)}
}

/* Cabeçalho */
.site-header,.site-header.scrolled{background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,.04));transition:border-color .4s ease,box-shadow .4s ease}
.site-header.scrolled{-webkit-backdrop-filter:none;backdrop-filter:none}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(13,13,12,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;transition:opacity .4s ease;pointer-events:none}
.site-header.scrolled::before{opacity:1}
.nav-inner{transition:min-height .4s var(--ease-out)}
.site-header.scrolled .nav-inner{min-height:72px}
.brand img{transition:transform .4s var(--ease-out);transform-origin:left center}
.site-header.scrolled .brand img{transform:scale(.88)}
@media(max-width:767px){.site-header.scrolled .nav-inner{min-height:62px}}
@media(hover:hover){.brand:hover img{transform:scale(1.04)}.site-header.scrolled .brand:hover img{transform:scale(.92)}}

/* Links do menu (sublinhado animado + estado ativo) */
.nav-anchor{position:relative;padding:8px 0;transition:color .25s}
.nav-anchor::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.nav-anchor.active{color:var(--gold-light)}
.nav-anchor.active::after{transform:scaleX(1)}
@media(hover:hover){.nav-anchor:hover::after{transform:scaleX(1)}}
.nav-anchor:focus-visible::after{transform:scaleX(1)}

/* Menu mobile: hambúrguer vira X, itens entram em cascata */
.menu-toggle{transition:background .3s,border-color .3s}
.menu-toggle span{transition:transform .35s var(--ease-out),opacity .2s}
.menu-toggle[aria-expanded="true"]{background:rgba(201,155,105,.18);border-color:var(--gold)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.2)}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav:is(.show,.collapsing)>.container>*{animation:rsMenuIn .5s var(--ease-out) backwards;animation-delay:calc(var(--i,0)*55ms + 60ms)}
.mobile-nav a{transition:color .25s,padding-left .3s var(--ease-out)}
.mobile-nav a.active{color:var(--gold-light);padding-left:12px}

/* Botões */
.primary-btn,.nav-cta{position:relative;overflow:hidden;isolation:isolate}
.primary-btn::before,.nav-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease-out);pointer-events:none}
.primary-btn span[aria-hidden],.outline-btn span[aria-hidden],.nav-cta span[aria-hidden]{display:inline-block;transition:transform .3s var(--ease-out)}
.text-cta{transition:color .2s,transform .3s var(--ease-out)}
@media(hover:hover){
  .primary-btn:hover::before,.nav-cta:hover::before{transform:translateX(120%)}
  .primary-btn:hover span[aria-hidden],.nav-cta:hover span[aria-hidden]{transform:translate(3px,-3px)}
  .outline-btn:hover{transform:translateY(-2px)}
  .outline-btn:hover span[aria-hidden]{transform:translateY(3px)}
  .outline-btn[target]:hover span[aria-hidden]{transform:translate(3px,-3px)}
  .text-cta:hover{transform:translateX(4px)}
}
.primary-btn:focus-visible::before,.nav-cta:focus-visible::before{transform:translateX(120%)}
.primary-btn:active,.outline-btn:active,.nav-cta:active{transform:translateY(0) scale(.98)}

/* Entrada de fotos e cartões: máscara + zoom suave */
html.reveal-ready [data-reveal]{transition:opacity .65s var(--ease-out) var(--rd,0ms),transform .65s var(--ease-out) var(--rd,0ms)}
html.reveal-ready [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small){clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease-out) .1s,border-color .45s,box-shadow .5s,transform .5s var(--ease-out)}
html.reveal-ready [data-reveal].in-view :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small){clip-path:inset(-80px)}
html.reveal-ready [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small) img{scale:1.14;transition:transform .85s var(--ease-out),scale .75s var(--ease-out)}
html.reveal-ready [data-reveal].in-view :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small) img{scale:1}

/* Itens em cascata (Sobre e Contato) */
html.reveal-ready [data-reveal] :is(.feature-row,.contact-item){opacity:0;translate:0 18px;transition:opacity .65s var(--ease-out),translate .65s var(--ease-out);transition-delay:calc(var(--i,0)*120ms + 350ms)}
html.reveal-ready [data-reveal].in-view :is(.feature-row,.contact-item){opacity:1;translate:none}
.contact-item>span{transition:transform .35s var(--ease-out)}

/* Cartões: microinterações */
.gallery-tile figcaption,.team-group figcaption,.space-tile span{transition:transform .55s var(--ease-out)}
.person-photo{position:relative}
.person-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out)}
.person h3{transition:color .3s}

@media(hover:hover){
  .gallery-tile:hover,.space-tile:hover{border-color:rgba(201,155,105,.6);box-shadow:0 24px 55px rgba(0,0,0,.5);transform:translateY(-4px)}
  .gallery-tile:hover figcaption,.team-group:hover figcaption{transform:translateY(-8px)}
  .space-tile:hover span{transform:translateY(-6px)}
  .person:hover .person-photo::after{transform:scaleX(1)}
  .person:hover h3{color:var(--gold-light)}
  .person:hover 
  .contact-item:hover>span{transform:scale(1.12)}
}
a.space-tile:active{transform:scale(.985)}
.person:active .person-photo::after{transform:scaleX(1)}

/* Seção de revelação por scroll */


/* Carrossel */
#spaceCarousel .carousel-item.active img{animation:rsKen 7.5s ease-out backwards}
#spaceCarousel .carousel-item.active .carousel-caption-custom>*{animation:rsCaption .9s var(--ease-out) backwards}
#spaceCarousel .carousel-item.active .carousel-caption-custom>:nth-child(1){animation-delay:.35s}
#spaceCarousel .carousel-item.active .carousel-caption-custom>:nth-child(2){animation-delay:.5s}
#spaceCarousel .carousel-item.active .carousel-caption-custom>:nth-child(3){animation-delay:.65s}
#spaceCarousel .carousel-btn{color:#fff;transition:background .3s,border-color .3s,color .3s,transform .4s var(--ease-out)}
#spaceCarousel .carousel-indicators button{transition:width .25s,opacity .25s,background .25s}
@media(hover:hover){
  #spaceCarousel .carousel-control-prev:hover .carousel-btn,#spaceCarousel .carousel-control-next:hover .carousel-btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}
  #spaceCarousel .carousel-control-prev:hover .carousel-btn{transform:translateX(-5px)}
  #spaceCarousel .carousel-control-next:hover .carousel-btn{transform:translateX(5px)}
  #spaceCarousel .carousel-indicators button:hover{opacity:.9}
}
#spaceCarousel .carousel-control-prev:focus-visible .carousel-btn,#spaceCarousel .carousel-control-next:focus-visible .carousel-btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}
#spaceCarousel .carousel-control-prev:active .carousel-btn,#spaceCarousel .carousel-control-next:active .carousel-btn{transform:scale(.92)}

/* Modal de agendamento */
.modal.show .modal-choice{animation:rsMenuIn .55s var(--ease-out) backwards;animation-delay:calc(var(--i,0)*90ms + 180ms)}
.modal-choice{transition:background .2s,border-color .2s,transform .35s var(--ease-out)}
.modal-choice>span:first-child{transition:background .3s,color .3s}
.modal-choice>strong{display:inline-block;transition:transform .3s var(--ease-out)}
@media(hover:hover){
  .modal-choice:hover{transform:translateX(4px)}
  .modal-choice:hover>span:first-child{background:var(--gold);color:var(--ink)}
  .modal-choice:hover>strong{transform:translate(3px,-3px)}
}
.modal-choice:active{transform:scale(.985)}

/* Botão fixo mobile: aparece após sair do topo */
.fixed-mobile-booking{transform:translateY(105%);visibility:hidden;transition:transform .45s var(--ease-out),visibility 0s .45s}
.fixed-mobile-booking.is-visible{transform:none;visibility:visible;transition:transform .45s var(--ease-out),visibility 0s}

/* Rodapé */
.social{transition:color .2s,background .2s,transform .3s var(--ease-out)}
@media(hover:hover){.social:hover{transform:translateY(-3px)}}

/* Movimento reduzido */
@media(prefers-reduced-motion:reduce){
  .hero-content>*,.hero-bottom-note,.hero-scroll,.hero-scroll span,.mobile-nav>.container>*,.modal-choice,#spaceCarousel .carousel-caption-custom>*,#spaceCarousel .carousel-item img{animation:none!important}
  .hero-image{translate:none!important}
  [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small){clip-path:none!important}
  [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small) img{scale:none!important}
  html.reveal-ready [data-reveal] :is(.feature-row,.contact-item){translate:none}
  .primary-btn::before,.nav-cta::before{display:none}
  .fixed-mobile-booking{transition:none}
}

/* SEÇÃO TRABALHE CONOSCO */

.careers-section {
  position: relative;
  isolation: isolate;
  background: var(--ink);
}

.careers-section .display-heading {
  max-width: 650px;
}

.careers-note {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 35px;
  padding-top: 22px;
  border-top: 1px solid rgba(201, 155, 105, .35);
}

.careers-note span {
  font-size: 26px;
  color: #c99b69;
}

.careers-note p {
  color: #d1c4b5;
  font-size: 13px;
  line-height: 1.8;
  margin: 0;
}

.careers-form {
  padding: clamp(28px, 4vw, 50px);
  background: rgba(19, 18, 17, .96);
  border: 1px solid rgba(201, 155, 105, .35);
  box-shadow: 0 25px 65px rgba(0, 0, 0, .35);
}

.careers-form h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.3rem, 4vw, 3.4rem);
  color: #f8f3ec;
  margin-bottom: 30px;
}

.careers-form .form-label {
  font-size: 10px;
  letter-spacing: 2px;
  color: #c99b69;
  font-weight: 700;
  margin-bottom: 10px;
}

.careers-form .form-control,
.careers-form .form-select {
  background-color: #272321;
  border: 1px solid #453a32;
  border-radius: 0;
  color: #fff;
  padding: 15px;
  min-height: 52px;
  font-size: 14px;
}

.careers-form .form-control::placeholder {
  color: #8e8580;
}

.careers-form .form-select option {
  background: #272321;
  color: #fff;
}

.careers-form .form-control:focus,
.careers-form .form-select:focus {
  background-color: #272321;
  border-color: #c99b69;
  color: #fff;
  outline: none;
  box-shadow: 0 0 0 2px rgba(201, 155, 105, .14);
}

.careers-form textarea {
  resize: vertical;
}

.careers-form .primary-btn {
  margin-top: 10px;
  justify-content: center;
}

.careers-disclaimer {
  font-size: 11px;
  color: #a9a09a;
  text-align: center;
  margin: 18px 0 0;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .careers-section {
    background-position: center;
  }

  .careers-form {
    padding: 25px 20px;
  }
}


/* Entrada da Rosend's: cortina que sobe de verdade (translateY(-100%), 1,2s).
   Cada efeito fica em um elemento diferente, para um nao sobrescrever o outro:
   .start-caption-wrap = fade inicial | .start-caption-pulse = pulso | .start-caption = hover */
.start-screen{display:none}
html.js:not(.start-entered) body{overflow:hidden}
html.js .start-screen:not([hidden]){
  display:flex;position:fixed;inset:0;width:100%;height:100dvh;min-height:100svh;
  z-index:2000;align-items:center;justify-content:center;
  padding:30px;background:#0b0b0a;border:0;color:var(--paper);
  text-align:center;touch-action:manipulation;cursor:pointer;
  box-shadow:0 22px 44px rgba(0,0,0,.42);
}
html.js .start-screen.is-leaving{
  animation:start-curtain-up 1.2s cubic-bezier(.76,0,.24,1) forwards;
  pointer-events:none;
  will-change:transform;
}
.start-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;width:100%;max-width:580px}
.start-logo{display:block;width:min(70vw,380px);height:auto;object-fit:contain;animation:start-fade .8s ease both}
.start-caption-wrap{display:inline-block;animation:start-fade .8s ease .18s both}
.start-caption-pulse{display:inline-block;animation:start-cta-pulse 1.5s ease-in-out infinite;will-change:transform,opacity}
.start-caption{
  display:inline-block;padding:12px 18px;color:var(--gold-light);font-size:10px;
  letter-spacing:.31em;font-weight:700;cursor:pointer;opacity:1;
  transition:opacity .25s ease;
}
/* Pulso: scale 1 -> 1.06 e opacidade 1 -> .45, em loop de 1,5s. */
@keyframes start-cta-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.45;transform:scale(1.06)}
}
/* Hover no elemento interno: nao interfere no pulso do elemento externo. */
@media(hover:hover) and (pointer:fine){
  .start-caption:hover{opacity:.45}
}
.start-rule{display:block;width:36px;height:1px;background:var(--gold);animation:start-fade 1s ease .3s both}
@keyframes start-fade{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes start-curtain-up{
  0%{transform:translate3d(0,0,0)}
  88%{box-shadow:0 22px 44px rgba(0,0,0,.42)}
  100%{transform:translate3d(0,-100%,0);box-shadow:none}
}
/* Movimento reduzido: sem escala e sem deslizamento; pulso so de opacidade e saida em fade. */
@keyframes start-cta-pulse-soft{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes start-curtain-fade{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .start-logo,.start-caption-wrap,.start-rule{animation-name:start-fade-soft}
  @keyframes start-fade-soft{from{opacity:0}to{opacity:1}}
  .start-caption-pulse{animation-name:start-cta-pulse-soft}
  html.js .start-screen.is-leaving{animation:start-curtain-fade .5s ease forwards}
}
.start-screen:focus,.start-screen:focus-visible{outline:none}
/* Endereços são links reais, com destaque discreto no mouse e no teclado. */
.address-link{cursor:pointer;transition:color .22s ease,text-decoration-color .22s ease}
.address-link:hover,.address-link:focus-visible{color:var(--gold-light)!important;text-decoration:underline;text-decoration-color:var(--gold-light);text-underline-offset:4px}
.contact-item .address-link{display:inline-block;max-width:100%}
.site-footer .footer-address{color:inherit}
/* Rolagem natural para navegação por âncoras; o JS acrescenta o ajuste do cabeçalho. */
html{scroll-behavior:smooth;scroll-padding-top:90px}
/* Menor espaço de rolagem residual após o título "O resultado está nos detalhes". */

/* Fotografias uniformes sem distorcer os retratos. */
.person-photo img{object-position:center 30%}
/* Legenda curta integrada ao card existente. */
.products-feature img{object-position:center 42%}
.products-feature::after{background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.55) 43%,transparent 78%)}
.products-caption{color:rgba(255,255,255,.9);font-size:11px;line-height:1.55;margin:9px 0 0;max-width:360px}
/* Microinterações sem bibliotecas extras. */
.careers-form :is(.form-control,.form-select){transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
@media(hover:hover) and (pointer:fine){.person:hover .person-photo img{transform:scale(1.045)}}
@media(hover:none){.hero-image{animation:none}}
/* Em celulares, dispensar máscara de corte na revelação dos cards. */
@media(max-width:767px){
  html.reveal-ready [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small){clip-path:none;transition:border-color .25s,box-shadow .25s,transform .45s ease}
  html.reveal-ready [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small) img{scale:1;transition:transform .45s ease}
  .products-caption{font-size:10px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal{height:115vh}
  html.reveal-ready [data-reveal]{transform:none}
}

    .care-static {
      position: relative;
      isolation: isolate;
      display: flex;
      align-items: flex-end;
      min-height: 650px;
      padding: 100px 0;
      overflow: hidden;
      background: var(--ink);
    }

    .care-static-photo {
      position: absolute;
      inset: 0;
      z-index: -2;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 40%;
    }

    .care-static-shade {
      position: absolute;
      inset: 0;
      z-index: -1;
      background: linear-gradient(
        0deg,
        rgba(0, 0, 0, .85),
        rgba(0, 0, 0, .14) 65%,
        rgba(0, 0, 0, .3)
      );
    }

    .care-static .display-heading {
      max-width: 900px;
      margin-inline: auto;
    }

    @media (max-width: 767px) {
      .care-static {
        min-height: 520px;
        padding: 80px 0;
      }
    }
  
/* Refinamentos de navegação, leitura e movimento. */
.skip-link{position:fixed;top:12px;left:12px;z-index:2100;padding:14px 20px;background:var(--paper);color:var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
main:focus,section[tabindex="-1"]:focus{outline:none}
.menu-toggle,.nav-cta{min-height:44px}
.mobile-nav{max-height:calc(100dvh - 80px);overflow-y:auto}
.mobile-nav a{min-height:44px;display:flex;align-items:center}
.carousel-pause{position:absolute;right:16px;top:16px;z-index:3;min-height:44px;padding:10px 14px;border:1px solid var(--gold-light);background:#11100fe6;color:var(--paper);font-size:12px}
.carousel-pause:disabled{opacity:.85}
#spaceCarousel .carousel-indicators button{box-sizing:content-box;min-width:28px;border-top:20px solid transparent;border-bottom:20px solid transparent;background-clip:padding-box;margin-inline:4px}
#spaceCarousel .carousel-indicators{margin-bottom:0}
.form-status{color:var(--gold-light);font-size:14px;line-height:1.6}
.form-status:empty{display:none}
.careers-form input,.careers-form select,.careers-form textarea{font-size:16px}
.footer-bottom,.site-footer p,.booking-section small,.right-description{color:#bcb6ae}
.contact-item>div{min-width:0;overflow-wrap:anywhere}
.fixed-mobile-booking{padding-bottom:max(12px,env(safe-area-inset-bottom))}
.photo-banner-bg{background-attachment:scroll}
@media(max-width:1199px){.nav-inner{gap:16px}.mobile-nav a{font-size:13px}}
@media(max-width:767px){.site-footer{padding-bottom:calc(116px + env(safe-area-inset-bottom))}.hero .primary-btn,.hero .outline-btn{font-size:10px}.primary-btn,.outline-btn{max-width:100%}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html.reveal-ready [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
  .start-logo,.start-caption-wrap,.start-caption-pulse,.start-rule{opacity:1!important;transform:none!important}
}
html.js .start-screen.is-leaving{animation-duration:.65s}

.site-footer p:not(.eyebrow),.site-footer small{color:#bcb6ae}
#spaceCarousel .carousel-indicators button.active{background-clip:padding-box}
@media(prefers-reduced-motion:reduce){
  html.reveal-ready [data-reveal] :is(.gallery-tile,.space-tile,.team-group,.person-photo,.about-large,.about-small){clip-path:none!important}
  html.reveal-ready [data-reveal] :is(.feature-row,.contact-item){opacity:1!important;translate:none!important}
  html.reveal-ready [data-reveal] img{scale:1!important}
}

/* Fotografias decorativas abaixo da primeira dobra com lazy-loading nativo. */
.photo-banner-bg,.booking-photo,.careers-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:-2}
.photo-banner-bg{object-position:center 48%}
.careers-photo{object-position:center 42%}
.careers-section::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,11,10,.94),rgba(12,11,10,.78));pointer-events:none}
@media(max-width:767px){.photo-banner-bg{object-position:55% center}}
