/* Homepage: one catalog and one request section, with the existing brand. */
html{scroll-behavior:smooth;scroll-padding-top:118px}
#servicos,#agendar,#localizacao{scroll-margin-top:0}
.home-catalog{background:linear-gradient(155deg,#18191e,#101115 70%)}
.home-catalog .section-heading>p{max-width:440px}
.home-catalog h2,.home-booking h2{font-size:clamp(46px,4.8vw,70px);line-height:1.02}
.home-catalog .catalog-controls{max-width:none;grid-template-columns:1.6fr 1fr;gap:18px;margin:30px 0 22px}
.search-field{position:relative;display:block}
.search-field svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);stroke:#d9d5d3;stroke-width:1.7;fill:none;pointer-events:none}
.search-field input{padding-left:50px;height:56px}
.catalog-controls select{height:56px}
.home-catalog .filters{gap:8px;margin-bottom:18px}
.home-catalog .filters button{border-radius:30px;padding:10px 17px;min-height:44px;background:#ffffff05}
.home-catalog .filters button.active{background:#cf2432;border-color:#cf2432}
.home-catalog .service-grid{gap:16px;align-items:start}
.home-catalog .catalog-card{padding:25px;min-height:367px;box-shadow:none;background:linear-gradient(145deg,#232329,#18191e)}
.catalog-card:hover{transform:none}
.catalog-card .card-top{font-size:11px;gap:14px}
.catalog-card h3{margin:20px 0 12px;font-size:23px;line-height:1.2;min-height:55px;font-weight:600}
.catalog-card>p{margin-bottom:16px;font-size:14px;min-height:66px;flex:none}
.catalog-card .card-price{margin:10px 0 18px;gap:3px}
.catalog-card .card-price strong{font-size:29px;font-weight:600;color:#f8f6f4}
.service-details{border-top:1px solid #ffffff22;border-bottom:1px solid #ffffff22}
.service-details summary{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;line-height:1.4;padding:15px 0;cursor:pointer;list-style:none;font-weight:600}
.service-details summary::-webkit-details-marker{display:none}
.service-details summary::after{content:'+';font-size:22px;color:#ed6570;font-weight:400;flex-shrink:0}
.service-details[open] summary::after{content:'−'}
.service-details-content{padding:0 0 17px}
.service-details-content ul{list-style:none;padding:0;margin:0 0 15px}
.service-details-content li{font-size:13px;padding:5px 0 5px 18px;line-height:1.55;position:relative;color:#d9d4d2}
.service-details-content li::before{content:'✓';color:#ed6570;position:absolute;left:0}
.service-details-content th,.service-details-content td{font-size:12px;padding:10px 0;white-space:normal;line-height:1.6}
.service-details-content th{width:62%;padding-right:12px}
.service-details-content td{font-weight:600;font-variant-numeric:tabular-nums}
.service-permalink{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#d5cecb}
.select-service{display:flex;align-items:center;justify-content:center;padding:12px 15px;border-radius:6px;min-height:44px;background:#ffffff0a;border:1px solid #ffffff29;font-weight:600;font-size:13px;margin-top:18px;transition:background .2s,border-color .2s}
.select-service:hover{background:#cf2432;border-color:#cf2432}
.catalog-more{text-align:center;margin-top:26px}
.catalog-more:has(button[hidden]){display:none}
.catalog-note{max-width:1000px;margin:24px 0 0}
.empty .text-link{display:inline-block;margin:18px}
.home-booking{background:radial-gradient(ellipse at 90% 10%,#63182433,transparent 55%),#111216}
.booking-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center;margin-bottom:30px}
.booking-intro p:not(.eyebrow){max-width:580px;font-size:16px;color:#d0cac8;line-height:1.7;margin:20px 0 0}
.booking-intro .booking-hours{font-size:13px;color:#efb2b7}
.booking-photo{position:relative;overflow:hidden;margin:0;max-height:280px;border-radius:10px;border:1px solid #ffffff29;background:#17181c}
.booking-photo img{display:block;width:100%;height:280px;object-fit:cover;object-position:70% center}
.booking-photo figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#08090de8);padding:45px 20px 18px;font:600 24px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}
.booking-photo figcaption span{display:block;font:400 11px 'DM Sans',sans-serif;color:#d0cac8;text-transform:none;margin-top:4px}
.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:21px 0;margin:0 0 28px;border-block:1px solid #ffffff20}
.booking-steps span{font-size:13px;display:flex;align-items:center;gap:10px}
.booking-steps b{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d4404d80;border-radius:50%;color:#f3b4b9;font-size:12px;flex-shrink:0}
.home-booking .request-grid{grid-template-columns:1.15fr .85fr;gap:25px}
.home-booking .request-grid form{padding:27px;min-width:0}
.home-booking .request-summary{padding:27px;min-width:0;top:115px}
.home-booking .request-summary h2{font-size:36px;line-height:1.1;overflow-wrap:anywhere}
.home-booking .request-summary .eyebrow{font-size:11px}
.home-booking .request-summary .summary-price{font-size:28px}
.home-booking form .button{width:100%;justify-content:center;gap:12px}
.request-form-whatsapp{width:22px;height:22px;flex-shrink:0;filter:brightness(0) invert(1)}
.message-toggle{border-top:1px solid #ffffff22;margin:22px 0 18px}
.message-toggle summary{padding:17px 0;cursor:pointer;font-size:14px;font-weight:600}
.message-toggle .message-preview{margin-top:0}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ef7d86;outline-offset:4px}
.home-booking input,.home-booking select,.home-booking textarea{font-family:inherit}
@media(max-width:950px){.home-catalog .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-booking .request-grid{grid-template-columns:1fr}.home-booking .request-summary{position:static}.booking-intro{gap:25px}.booking-steps{gap:10px}}
@media(max-width:600px){html{scroll-padding-top:100px}#servicos,#agendar,#localizacao{scroll-margin-top:0}.home-catalog,.home-booking{padding-top:46px;padding-bottom:46px}.home-catalog .catalog-controls{grid-template-columns:1fr;gap:18px}.home-catalog .service-grid{grid-template-columns:1fr}.home-catalog .catalog-card{padding:23px;min-height:0}.catalog-card h3{min-height:0;font-size:24px}.catalog-card>p{min-height:0}.home-catalog .filters button{font-size:12px;padding:10px 14px}.booking-intro{grid-template-columns:1fr;gap:24px}.booking-photo{max-height:200px}.booking-photo img{height:200px}.booking-steps{grid-template-columns:1fr;gap:14px;padding:20px 0}.home-booking .request-grid form,.home-booking .request-summary{padding:22px}.home-booking .form-row{grid-template-columns:1fr}.home-booking .request-summary h2{font-size:34px}.empty .text-link{margin:18px 0 0}.home-catalog .section-heading{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
