@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--bg:#101010;--panel:#191918;--cream:#eee9df;--muted:#aaa79f;--gold:#b89b65;--line:#34332f;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:14px;line-height:1.8}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;width:100%;object-fit:cover}::selection{background:var(--gold);color:var(--bg)}:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.04;letter-spacing:-1.5px}h2{font-size:clamp(43px,4.7vw,67px)}em{font-weight:400;color:var(--gold)}.wrap{width:min(1180px,calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;color:var(--gold);margin-bottom:26px}.header{position:fixed;inset:0 0 auto;z-index:20;height:100px;padding:0 4.7%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff20;transition:background .3s,height .3s}.header.scrolled{height:80px;background:#101010f5;box-shadow:0 5px 25px #0002}.logo{font-family:Georgia,serif;white-space:nowrap;font-size:25px;font-weight:bold;letter-spacing:1px;line-height:1.2}.logo>span{color:var(--gold);font-style:italic}.logo small{display:block;font-family:var(--sans);font-size:7px;letter-spacing:3.6px;font-weight:400;margin-top:8px}.header nav{display:flex;align-items:center;gap:33px}.header nav>a:not(.button){font-size:11px;color:#d2cec6;position:relative}.header nav>a:not(.button):after{content:'';position:absolute;bottom:-9px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.header nav>a.active:after,.header nav>a:hover:after{width:100%}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 26px;background:var(--gold);color:#101010;font-size:11px;font-weight:700;letter-spacing:.3px;min-height:50px;transition:background .25s,transform .25s}.button:hover{background:#d0b582;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.button.compact{padding:12px 20px;min-height:43px;font-size:10px;gap:25px}.menu-toggle{display:none}.hero{position:relative;min-height:780px;height: min(900px,100svh);isolation:isolate;display:flex;align-items:center;padding:140px 8% 125px}.hero-image{position:absolute;inset:0;height:100%;z-index:-3;object-position:center 52%;filter:saturate(.55)}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#080909e8 0%,#0809099c 45%,#08090915 100%),linear-gradient(0deg,#101010c9,transparent 35%)}.hero-content{animation:hero-enter 1s ease both}.hero .eyebrow{display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:2px}.hero .eyebrow>span{width:25px;height:1px;background:var(--gold)}h1{font-size:clamp(58px,6.8vw,98px);line-height:1.04;letter-spacing:-2.6px}.hero-content>p:not(.eyebrow){margin-top:26px;color:#c5c1b9;font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.text-link{display:inline-flex;align-items:center;gap:23px;font-size:11px;padding-block:9px;border-bottom:1px solid #72654e;transition:color .2s}.text-link:hover{color:var(--gold)}.text-link span{font-size:19px}.hero-bottom{position:absolute;bottom:37px;left:8%;right:5%;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:2px;color:#c4bfb6}.scroll-link{display:flex;align-items:center;gap:17px;min-height:44px}.scroll-link>span{display:grid;place-items:center;border:1px solid #ffffff4d;width:28px;height:42px;border-radius:20px;font-size:16px}.hero-note{color:#d0c9bb}.hero-index{position:absolute;right:3%;top:49%;writing-mode:vertical-rl;font-size:9px;letter-spacing:4px;color:#d3cabc}.signature-strip{display:flex;justify-content:center;align-items:center;gap:54px;border-bottom:1px solid var(--line);padding:23px 24px;font-size:9px;letter-spacing:2px;color:#b4ada1}.signature-strip>span:nth-child(even){color:var(--gold);font-size:17px}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-photo{position:relative;padding-right:30px}.about-photo>img{height:510px;filter:saturate(.4);object-position:45% center}.photo-label{position:absolute;bottom:0;left:0;right:30px;padding:20px 25px;font-size:8px;letter-spacing:2px;background:#101010ad}.seal{position:absolute;right:-15px;bottom:50px;background:var(--gold);color:#191713;border:7px double #443b2c;border-radius:50%;width:110px;height:110px;display:flex;justify-content:center;align-items:center;gap:3px;font:27px Georgia,serif;transform:rotate(-12deg)}.seal span{font-style:italic;font-size:22px}.about-copy h2{margin-bottom:30px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:12px;margin-bottom:18px}.about-details{display:flex;flex-wrap:wrap;gap:15px;margin:27px 0;font-size:9px}.about-details>span:before{content:'✦';color:var(--gold);padding-right:8px}.demo-note{font-size:10px;color:var(--muted);line-height:1.8}.about-copy>.demo-note{display:block;margin-top:24px}.services{background:var(--panel);border-block:1px solid #272622}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:54px}.section-heading>p{font-size:12px;color:var(--muted);padding-bottom:8px}.section-heading small{display:block;font-size:9px;margin-top:12px;color:#b9aa90}.service{display:grid;grid-template-columns:40px 1fr auto 48px;gap:25px;align-items:center;padding:29px 15px;border-top:1px solid #3b3933;transition:background .25s}.service:last-child{border-bottom:1px solid #3b3933}.service:hover{background:#ffffff03}.service-number{align-self:start;padding-top:7px;font-size:9px;color:var(--gold)}.service h3{font-family:var(--serif);font-size:30px;line-height:1.3}.service p{font-size:11px;color:var(--muted);margin-top:5px}.price{font-size:12px;white-space:nowrap;color:#b8b1a4}.price strong{font-family:var(--serif);font-size:33px;font-weight:400;color:var(--cream)}.round-link{width:43px;height:43px;border-radius:50%;border:1px solid #65583f;background:transparent;font-size:22px;transition:background .25s,color .25s}.round-link:hover,.featured .round-link{background:var(--gold);color:#101010}.tag{display:inline-block;vertical-align:middle;margin-left:12px;font-family:var(--sans);font-size:7px;letter-spacing:1.3px;color:var(--gold);border:1px solid #65583f;padding:6px 8px}.gallery-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:240px 240px;gap:18px}.gallery-item{padding:0;position:relative;overflow:hidden;background:var(--panel);text-align:left}.gallery-item img{height:100%;filter:saturate(.3);transition:transform .6s,filter .6s}.gallery-item:hover img{transform:scale(1.045);filter:saturate(.7)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item>span{position:absolute;inset:auto 0 0;padding:30px 20px 18px;background:linear-gradient(transparent,#000a);font-size:8px;letter-spacing:2px;display:flex;justify-content:space-between;align-items:center}.gallery-item b{font-size:20px;font-weight:400}.experience{background:#e9e4da;color:#24231f;text-align:center}.experience .eyebrow{color:#78613b}.experience em{color:#8a6e3e}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px;margin-top:65px}.experience-grid svg{width:42px;height:42px;fill:none;stroke:#876f45;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px}.experience-grid h3{font-family:var(--serif);font-size:27px;margin-bottom:12px}.experience-grid p{font-size:11px;color:#666158;line-height:1.9}.testimonials{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px}.testimonial-intro .demo-note{max-width:280px;margin-top:25px}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:40px}.quote-mark{color:var(--gold);font-family:Georgia,serif;font-size:65px;line-height:1}.quotes blockquote{margin:0 0 25px;font-family:var(--serif);font-size:26px;line-height:1.4}.quotes figcaption{font-size:8px;letter-spacing:1.5px}.quotes figcaption span{display:block;font-size:7px;color:var(--muted);margin-top:6px}.contact{background:#1b1a17;border-block:1px solid #38342b}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact h2{font-size:clamp(52px,5.6vw,78px);margin-bottom:35px}.contact .demo-note{margin-top:15px}.contact-info{padding:15px 0 0 55px;border-left:1px solid #403b30;display:grid;gap:30px}.contact-info h3{color:var(--gold);font-size:10px;letter-spacing:1px;margin-bottom:12px}.contact-info p,.contact-info address{font-size:12px;font-style:normal;line-height:2}.contact-info p span{display:inline-block;float:right;margin-left:25px}.contact-info small{font-size:9px;color:var(--muted)}.social-links{display:flex;gap:25px}.social-links button{padding:8px 0;background:none;border-bottom:1px solid #6c6049;font-size:11px}.social-links button:hover{color:var(--gold)}.footer{padding-top:60px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:50px}.footer-top nav{display:flex;gap:26px;font-size:10px;color:var(--muted)}.back-top{font-size:9px;color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;font-size:8px;color:var(--muted)}.footer-bottom>span{letter-spacing:1.5px}.skip{position:fixed;top:-100px;left:15px;padding:10px 20px;background:var(--cream);color:#101010;z-index:100}.skip:focus{top:15px}dialog{color:var(--cream);border:1px solid var(--line);padding:0}dialog::backdrop{background:#000e;backdrop-filter:blur(5px)}.lightbox{width:min(1100px,95vw);max-width:95vw;background:#101010}.lightbox[open]{display:grid;grid-template-columns:55px 1fr 55px;align-items:center;padding:65px 15px 20px}.lightbox figure{min-width:0}.lightbox img{height:70svh;object-fit:contain}.lightbox figcaption{text-align:center;padding:15px 0;font-size:12px}.dialog-close{position:absolute;right:16px;top:12px;width:44px;height:44px;background:transparent;font-size:20px}.gallery-prev,.gallery-next{min-height:48px;background:transparent;font-size:28px}.booking-dialog{padding:55px;max-width:min(540px,calc(100vw - 30px));background:#1b1a17}.booking-dialog h2{font-size:52px;margin-bottom:25px}.booking-dialog>p:not(.eyebrow){font-size:12px;margin-bottom:20px;color:var(--muted)}#booking-service{color:var(--gold)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 32px);width:max-content;background:var(--cream);color:#101010;padding:16px 25px;z-index:50;font-size:12px;opacity:0;visibility:hidden;transition:.25s}.toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:translateY(0)}@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero{padding-left:max(8%,calc((100vw - 1180px)/2))}.hero-bottom{left:max(8%,calc((100vw - 1180px)/2))}}
@media(max-width:1050px){.header nav{gap:20px}.wrap{width:calc(100% - 70px)}.about{gap:55px}.about-photo>img{height:480px}.hero{min-height:700px}.signature-strip{gap:25px;font-size:8px}.testimonials{gap:45px}.quotes{gap:25px}.contact-grid{gap:55px}.contact-info{padding-left:35px}.experience-grid{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:75px}.wrap{width:calc(100% - 40px)}.section{padding-block:72px}.header,.header.scrolled{height:76px;padding-inline:20px}.logo{font-size:22px}.logo small{font-size:6px;letter-spacing:3px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;z-index:22}.menu-toggle span{display:block;width:24px;height:1px;background:var(--cream);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#101010;max-height:calc(100svh - 76px);overflow:auto;flex-direction:column;align-items:stretch;padding:20px 30px 30px;gap:0;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav>a:not(.button){font-size:15px;padding:13px 0}.header nav>a:not(.button):after{bottom:5px}.header nav>.button{margin-top:20px}.hero{height:calc(100svh - 10px);min-height:690px;max-height:900px;padding:140px 25px 140px}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#080909db,#08090955),linear-gradient(0deg,#101010a6,transparent 70%)}h1{font-size:clamp(52px,10vw,75px);letter-spacing:-1.7px}.hero .eyebrow{font-size:7px;letter-spacing:1.4px;gap:8px}.hero .eyebrow>span{width:16px}.hero-content>p:not(.eyebrow){font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:27px}.hero-bottom{left:25px;right:25px;bottom:28px}.hero-note,.hero-index{display:none}.signature-strip{padding:19px 15px;gap:17px;justify-content:space-around;font-size:7px;letter-spacing:1px}.signature-strip>span:nth-last-child(-n+2){display:none}.about{grid-template-columns:1fr;gap:48px}.about-photo{max-width:490px;padding-right:18px}.about-photo>img{height:420px}.photo-label{right:18px}.seal{right:0;width:90px;height:90px;font-size:23px;bottom:40px}.about-copy{max-width:530px}.about-copy h2{font-size:48px}.section-heading{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:36px}.service{grid-template-columns:22px 1fr auto 38px;gap:12px;padding:25px 0}.service h3{font-size:26px}.service p{font-size:10px;max-width:300px}.service-number{font-size:8px}.price strong{font-size:28px}.price{font-size:10px}.round-link{width:36px;height:36px;font-size:20px}.tag{margin:7px 0 0;font-size:6px;display:table}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:270px 200px 220px;gap:12px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item>span{font-size:7px;letter-spacing:1px;padding:30px 12px 12px}.experience-grid{grid-template-columns:1fr 1fr;gap:40px 25px;margin-top:45px}.experience-grid h3{font-size:25px}.experience-grid p{font-size:11px}.testimonials{grid-template-columns:1fr;gap:40px}.testimonial-intro .demo-note{max-width:390px}.quotes{gap:30px}.quotes blockquote{font-size:24px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-info{padding:35px 0 0;border-left:0;border-top:1px solid #403b30}.contact-info p{max-width:370px}.footer-top{flex-wrap:wrap;gap:30px;padding-bottom:35px}.footer-top nav{order:3;flex-basis:100%;justify-content:space-between}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:8px 20px}.footer-bottom>span{display:none}.booking-dialog{padding:50px 25px 30px}.lightbox[open]{grid-template-columns:35px 1fr 35px;padding-inline:5px}.lightbox img{height:60svh}}
@media(max-width:370px){.hero{padding-inline:20px}.hero .eyebrow{font-size:6px}h1{font-size:49px}.service{gap:8px;grid-template-columns:18px 1fr auto 32px}.service h3{font-size:23px}.service p{font-size:9px}.round-link{width:32px;height:32px}.experience-grid{gap:35px 18px}.experience-grid h3{font-size:22px}.quotes{grid-template-columns:1fr}.about-copy h2{font-size:43px}.signature-strip{font-size:6px;gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Área mínima de toque, inclusive nos controles compactos dos serviços. */
@media(max-width:760px){.service{grid-template-columns:22px 1fr auto 44px}.round-link{width:44px;height:44px}.footer-top nav a{display:flex;align-items:center;min-height:44px}.back-top{display:flex;align-items:center;min-height:44px}}
@media(max-width:370px){.service{grid-template-columns:16px 1fr auto 44px;gap:7px}.service h3{font-size:22px}.price strong{font-size:25px}}
