:root { --ink:#151311; --paper:#f1e4d4; --sand:#d9b48b; --gold:#c89c6b; --muted:#796f65; --line:rgba(21,19,17,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.container { width:min(1160px, calc(100% - 48px)); margin-inline:auto; }
.hero { min-height:760px; position:relative; overflow:hidden; color:var(--paper); background:radial-gradient(circle at 72% 52%, #514132 0%, #28221e 26%, #171513 58%); }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,11,10,.92) 0%,rgba(12,11,10,.73) 42%,rgba(12,11,10,.18) 100%); z-index:0; }
.hero__grain { position:absolute; inset:0; opacity:.15; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); mix-blend-mode:screen; pointer-events:none; }
.nav { height:104px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:3; }
.brand { display:flex; align-items:center; gap:9px; color:var(--paper); line-height:.8; }
.brand__monogram { font-family:"Great Vibes", cursive; color:var(--gold); font-size:3.1rem; transform:translateY(-2px); }
.brand__name { font-family:"Cormorant Garamond", serif; letter-spacing:.08em; font-size:1.42rem; text-transform:uppercase; }
.brand__name small { display:block; text-align:center; margin-top:5px; font-family:"DM Sans",sans-serif; font-size:.43rem; letter-spacing:.37em; }
.nav__links { display:flex; align-items:center; gap:31px; text-transform:uppercase; font-size:.66rem; letter-spacing:.11em; }
.nav__links > a:not(.button) { opacity:.84; transition:opacity .18s ease; }.nav__links > a:not(.button):hover { opacity:1; }
.nav__toggle { display:none; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid var(--sand); padding:0 19px; color:#211b16; background:var(--sand); font-size:.69rem; font-weight:700; letter-spacing:.035em; text-transform:uppercase; box-shadow:0 8px 18px rgba(0,0,0,.15); transition-property:transform, background-color, color, box-shadow; transition-duration:.18s; transition-timing-function:ease; }
.button:hover { background:#edc89c; box-shadow:0 10px 24px rgba(0,0,0,.22); transform:translateY(-2px); }.button:active{transform:scale(.96)} .button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.button--small { min-height:39px; padding-inline:14px; font-size:.59rem; }.button--small svg { width:14px; height:14px; }
.hero__content { position:relative; z-index:1; min-height:570px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; }
.hero__copy { padding-block:62px 100px; animation:lift-in .7s both ease-out; }.eyebrow { margin:0 0 17px; display:flex; align-items:center; gap:10px; color:var(--sand); font-size:.64rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.eyebrow span { width:29px; height:1px; background:currentColor; }
h1,h2 { margin:0; font-family:"Cormorant Garamond",serif; font-weight:600; letter-spacing:-.035em; text-wrap:balance; } h1 { max-width:690px; font-size:clamp(3.6rem,6vw,6rem); line-height:.82; } h1 em,h2 em { font-family:"Great Vibes",cursive; color:var(--gold); font-weight:400; letter-spacing:0; white-space:nowrap; }
.hero__lead { max-width:390px; margin:28px 0; color:rgba(241,228,212,.73); font-size:.94rem; line-height:1.7; text-wrap:pretty; }
.hero__actions { display:flex; align-items:center; gap:25px; }.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--paper); font-size:.72rem; font-weight:600; letter-spacing:.03em; }.text-link span { color:var(--gold); font-size:1.05rem; transition:transform .18s ease; }.text-link:hover span { transform:translateY(3px); }
.hero__visual { height:560px; position:relative; align-self:end; animation:fade-in .9s .15s both ease-out; }.hero__visual img { position:absolute; right:-10px; bottom:-25px; height:590px; max-width:105%; object-fit:contain; object-position:center bottom; filter:invert(1) brightness(.9) contrast(1.1); mix-blend-mode:screen; z-index:2; transform:rotate(-1deg); }.hero__halo { position:absolute; right:4%; bottom:12%; width:390px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(213,172,126,.36),rgba(213,172,126,.02) 64%,transparent 70%); }.hero__frame { position:absolute; right:4%; bottom:0; width:70%; height:81%; border:1px solid rgba(217,180,139,.3); z-index:0; }.hero__stamp { position:absolute; right:0; bottom:48px; z-index:3; margin:0; padding-left:17px; border-left:1px solid var(--gold); color:var(--paper); font-family:"Cormorant Garamond",serif; font-size:1.2rem; line-height:1; }.hero__stamp i { color:var(--gold); font-family:"Great Vibes",cursive; font-size:1.8rem; font-style:normal; }
.hero__scroll { position:absolute; z-index:2; left:calc((100% - min(1160px, calc(100% - 48px)))/2); bottom:29px; display:flex; align-items:center; gap:10px; color:rgba(241,228,212,.55); font-size:.56rem; letter-spacing:.13em; text-transform:uppercase; }.hero__scroll span { width:25px; height:37px; border:1px solid rgba(241,228,212,.45); border-radius:20px; position:relative; }.hero__scroll span::after { content:""; position:absolute; top:7px; left:10px; width:3px; height:7px; border-radius:5px; background:var(--sand); animation:scroll 1.6s infinite; }
.services { padding:91px 0 97px; background:var(--paper); }.section-heading--center { text-align:center; }.section-heading--center .eyebrow { justify-content:center; }.eyebrow--dark { color:#90714e; }.section-heading h2,.about h2,.cta h2 { font-size:clamp(2.55rem,4vw,4.2rem); line-height:.9; }.section-heading h2 { color:#27211c; }.service-grid { display:grid; grid-template-columns:repeat(6,1fr); margin-top:54px; border-top:1px solid var(--line); }.service-card { min-height:196px; position:relative; padding:31px 14px 17px; text-align:center; border-right:1px solid var(--line); }.service-card:first-child { border-left:1px solid var(--line); }.service-card__number { position:absolute; top:12px; left:13px; color:#ad947b; font-size:.54rem; }.service-card svg { width:45px; height:45px; margin-bottom:12px; fill:none; stroke:#826744; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }.service-card h3 { margin:0 0 7px; font-family:"Cormorant Garamond",serif; font-size:1.3rem; font-weight:700; }.service-card p { margin:0; color:var(--muted); font-size:.63rem; line-height:1.35; }
.about { padding:104px 0; background:#d7b691; }.about__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,10vw,135px); align-items:center; }.about__photo { height:420px; position:relative; background:#29221d; overflow:hidden; }.about__photo-inner { height:100%; background:linear-gradient(125deg,transparent 20%,rgba(0,0,0,.52)), url('https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?auto=format&fit=crop&w=1050&q=80') center/cover; filter:saturate(.55); transition:transform .6s ease; }.about__photo:hover .about__photo-inner { transform:scale(1.035); }.about__photo::after { content:""; position:absolute; inset:12px; border:1px solid rgba(241,228,212,.53); pointer-events:none; }.about__photo p { position:absolute; bottom:28px; left:30px; z-index:1; margin:0; color:var(--paper); font-family:"Cormorant Garamond",serif; font-size:1.42rem; line-height:.9; }.about__photo em { color:#e6c092; font-family:"Great Vibes",cursive; font-size:2rem; }.about__copy > p:not(.eyebrow) { max-width:420px; color:#44352a; font-size:.93rem; line-height:1.72; text-wrap:pretty; }.about__copy .text-link { margin-top:16px; }.text-link--dark { color:#34281e; }.text-link--dark:hover span { transform:translateX(4px); }
.cta { color:var(--paper); padding:80px 0; background:#171412; }.cta__content { display:flex; align-items:center; justify-content:space-between; gap:40px; }.cta h2 { font-size:clamp(2.5rem,4.3vw,4.25rem); }.cta__right { text-align:center; }.button--light { min-width:230px; border-color:var(--paper); background:var(--paper); }.cta__right p { margin:14px 0 0; color:rgba(241,228,212,.6); font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; }
.footer { padding:28px 0; color:rgba(241,228,212,.66); background:#0f0e0d; }.footer .container { display:flex; align-items:center; justify-content:space-between; gap:20px; }.footer .brand { transform:scale(.76); transform-origin:left center; }.footer p,.footer a:not(.brand) { margin:0; font-size:.62rem; letter-spacing:.08em; }.footer a:not(.brand) { color:var(--sand); }
@keyframes lift-in { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } } @keyframes fade-in { from { opacity:0; } to { opacity:1; } } @keyframes scroll { 0%,100% { transform:translateY(0); opacity:1; } 70% { transform:translateY(13px); opacity:0; } }
@media (max-width:760px) { .container { width:min(100% - 34px, 560px); }.hero { min-height:780px; }.nav { height:83px; }.nav__toggle { display:grid; place-content:center; gap:5px; width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; }.nav__toggle span { display:block; width:23px; height:1px; background:var(--paper); }.nav__links { display:none; position:absolute; top:70px; right:0; width:min(290px,100vw - 34px); padding:22px; align-items:flex-start; flex-direction:column; background:#211d1a; box-shadow:0 18px 40px rgba(0,0,0,.28); }.nav__links.is-open { display:flex; }.nav__links .button { width:100%; }.hero__content { min-height:620px; display:block; }.hero__copy { position:relative; z-index:2; padding-top:61px; }.hero__copy h1 { font-size:clamp(3.3rem,14vw,4.5rem); }.hero__lead { max-width:310px; margin-block:22px; font-size:.84rem; }.hero__actions { align-items:flex-start; flex-direction:column; gap:19px; }.hero__visual { position:absolute; right:-67px; bottom:26px; width:79%; height:375px; z-index:1; opacity:.72; pointer-events:none; }.hero__visual img { height:405px; right:-6px; bottom:-12px; }.hero__frame { height:73%; width:76%; }.hero__stamp { display:none; }.hero__scroll { left:17px; bottom:15px; }.services { padding:67px 0; }.service-grid { grid-template-columns:repeat(2,1fr); margin-top:40px; }.service-card { min-height:176px; }.service-card:nth-child(odd) { border-left:1px solid var(--line); }.service-card:first-child { border-left:1px solid var(--line); }.service-card:nth-child(n+3) { border-top:1px solid var(--line); }.about { padding:65px 0; }.about__grid { grid-template-columns:1fr; gap:44px; }.about__photo { height:350px; }.about__copy { padding-inline:5px; }.cta { padding:60px 0; }.cta__content { align-items:flex-start; flex-direction:column; gap:33px; }.cta__right { width:100%; text-align:left; }.cta__right .button { width:100%; }.footer .container { align-items:flex-start; flex-direction:column; gap:14px; }.footer .brand { transform:none; }.footer p { order:3; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Fundo sólido definido a partir da cor de referência enviada. */
.hero { background:#171412; }
.hero::before { display:none; }
.hero__grain { display:none; }
.hero__visual img { filter:none; mix-blend-mode:normal; }
.hero__frame { display:none; }
.hero__halo { display:none; }
.hero__stamp { display:none; }
.nav__checkbox { display:none; }

.local-seo { padding:74px 0; background:#ead6bf; }
.local-seo__content { max-width:760px; text-align:center; }
.local-seo__content .eyebrow { justify-content:center; }
.local-seo__content h2 { font-size:clamp(2.4rem,4vw,4rem); line-height:.94; }
.local-seo__content > p:not(.eyebrow) { max-width:590px; margin:23px auto 21px; color:#44352a; font-size:.95rem; line-height:1.7; text-wrap:pretty; }

@media (max-width:760px) {
  .nav__checkbox { position:absolute; width:1px; height:1px; opacity:0; }
  .nav__toggle { border:0; background:transparent; }
  .nav__toggle span { transition:transform .18s ease; }
  .nav__checkbox:checked + .nav__toggle span:first-child { transform:translateY(3px) rotate(45deg); }
  .nav__checkbox:checked + .nav__toggle span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .nav__checkbox:checked + .nav__toggle + .nav__links { display:flex; }
}
