:root { --ink:#0b3026; --green:#00c853; --paper:#f8f2ea; --line:rgba(11,48,38,.18); --light:#f8f4ee; --serif:"Playfair Display",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); } button,a { font:inherit; } button { cursor:pointer; } .shell { width:min(1180px,calc(100% - 68px)); margin:auto; }
.wordmark { display:flex; align-items:center; color:var(--green); font-size:25px; font-style:italic; font-weight:500; letter-spacing:-.09em; line-height:1; text-decoration:none; }.wordmark strong { font-weight:700; }.wordmark i { display:grid; width:19px; height:21px; margin-left:6px; place-items:center; border-radius:8px 8px 10px 10px; background:var(--green); color:var(--paper); font:700 13px/1 Arial; transform:rotate(8deg); }
.profile-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:91px; }.profile-header .back,.profile-header>button { border:0; background:transparent; color:var(--ink); font-size:10px; font-weight:700; text-decoration:none; }.profile-header>button { justify-self:end; }
.kicker { display:flex; align-items:center; gap:9px; margin:0 0 15px; color:#0b8f43; font:500 9px/1.3 var(--mono); letter-spacing:.1em; }.kicker i { width:22px; height:1px; background:currentColor; }.profile-title { display:flex; align-items:end; justify-content:space-between; padding:32px 0 28px; border-top:1px solid var(--line); }.profile-title h1 { margin:0; font-family:var(--serif); font-size:clamp(50px,6vw,83px); font-weight:600; letter-spacing:-.075em; line-height:.85; }.profile-title>p:last-child { margin:0 0 7px; color:#567468; font-size:13px; }
.profile-gallery { display:grid; width:100%; min-width:0; grid-template-columns:minmax(0,4fr) 84px; gap:10px; max-width:760px; }.main-image { position:relative; min-width:0; min-height:0; overflow:hidden; aspect-ratio:4 / 5; border-radius:7px; background-position:center; background-size:cover; }.photo-cora { background-image:url('https://images.unsplash.com/photo-1527030280862-64139fba04ca?auto=format&fit=crop&w=1400&q=85'); }.photo-vale { background-image:url('https://images.unsplash.com/photo-1520984032042-162d526883e0?auto=format&fit=crop&w=900&q=85'); }.photo-aguas { background-image:url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=900&q=85'); }.photo-cerrado { background-image:url('https://images.unsplash.com/photo-1510798831971-661eb04b3739?auto=format&fit=crop&w=1100&q=85'); }.verified-lockup,.counter { position:absolute; bottom:17px; color:var(--light); font-size:10px; font-weight:700; }.verified-lockup { left:17px; display:flex; align-items:center; gap:7px; }.verified-lockup b { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; color:var(--ink); background:var(--green); font-size:13px; }.counter { right:17px; font-family:var(--mono); }.gallery-thumbs { display:grid; grid-auto-rows:1fr; gap:8px; }.gallery-thumbs button { aspect-ratio:4 / 5; border:2px solid transparent; border-radius:5px; background-position:center; background-size:cover; opacity:.65; }.gallery-thumbs button.active { border-color:var(--green); opacity:1; }
.profile-body { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:83px; padding:69px 0 110px; }.truth-note { display:flex; gap:14px; align-items:center; padding:17px; border-radius:7px; background:#def5e5; }.truth-note>span { display:grid; width:33px; height:33px; flex:none; place-items:center; border-radius:50%; color:var(--ink); background:var(--green); font-weight:900; }.truth-note b { font-size:12px; }.truth-note p { margin:3px 0 0; color:#45675b; font-size:10px; line-height:1.45; }.intro { padding:50px 0 42px; border-bottom:1px solid var(--line); }.intro h2 { max-width:670px; margin:0 0 18px; font-family:var(--serif); font-size:38px; font-weight:600; letter-spacing:-.06em; line-height:1; }.intro>p:last-child { max-width:670px; margin:0; color:#4c6d61; font-size:14px; line-height:1.75; }
.facts,.amenities { padding:37px 0; border-bottom:1px solid var(--line); }.facts h3,.amenities h3 { margin:0 0 17px; font-size:16px; letter-spacing:-.03em; }.facts>div { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.facts span { display:grid; gap:5px; padding:14px 10px; border:1px solid var(--line); border-radius:6px; }.facts b { font-size:11px; }.facts small { color:#627d72; font-size:9px; }.amenities p { display:flex; flex-wrap:wrap; gap:7px; margin:0; }.amenities span { padding:9px 10px; border-radius:999px; background:#e6ede8; font-size:10px; }.host-note { margin-top:37px; padding:26px 0; border-top:3px solid var(--green); border-bottom:1px solid var(--line); }.host-note p { max-width:510px; margin:0; color:#143c30; font-family:var(--serif); font-size:24px; font-weight:600; letter-spacing:-.055em; line-height:1.1; }.host-note span { display:block; margin-top:12px; color:#657f74; font-size:10px; }
.contact-card { position:sticky; top:18px; align-self:start; padding:24px 20px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 16px 35px rgba(11,48,38,.08); }.contact-card>p:first-child { margin:0; color:#5f7c70; font-size:10px; }.contact-card>strong { display:block; margin:4px 0 13px; color:#f35b30; font-size:31px; letter-spacing:-.06em; }.contact-card small { display:block; color:#6c8379; font-size:10px; line-height:1.45; }.contact-card hr { margin:19px 0; border:0; border-top:1px solid var(--line); }.contact-card .contact-label { margin:0 0 10px; color:var(--ink); font-size:11px; font-weight:700; }.contact-card form { display:grid; gap:10px; }.contact-card label { display:grid; gap:5px; color:#45675b; font-size:9px; font-weight:700; }.contact-card input[type="text"],.contact-card input[type="tel"] { width:100%; border:1px solid var(--line); border-radius:6px; padding:11px; color:var(--ink); background:#fff; font:500 11px var(--sans); outline:none; }.contact-card input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(0,200,83,.12); }.contact-card .consent { display:grid; grid-template-columns:16px 1fr; align-items:start; gap:7px; font-weight:500; line-height:1.4; }.contact-card .consent input { width:15px; height:15px; margin:0; accent-color:var(--green); }.contact-card button { display:flex; width:100%; align-items:center; justify-content:space-between; border:0; border-radius:6px; padding:13px; color:var(--ink); background:var(--green); font-size:10px; font-weight:700; text-align:left; }.contact-card button:disabled { cursor:wait; opacity:.65; }.contact-card button b { font-size:15px; }.contact-card em { display:block; margin-top:14px; color:#71877d; font-size:9px; font-style:normal; line-height:1.45; text-align:center; }.lead-status { min-height:14px; margin:0; font-size:9px; line-height:1.4; }.lead-status:empty { display:none; }.lead-status[data-state="error"] { color:#a33b22; }.lead-status[data-state="success"] { color:#087b39; }
.next-place { display:flex; align-items:end; justify-content:space-between; padding:40px 0 52px; border-top:1px solid var(--line); }.next-place .kicker { margin:0; }.next-place a { border-bottom:1px solid currentColor; padding-bottom:4px; font-size:11px; font-weight:700; text-decoration:none; }.next-place b { margin-left:8px; color:#078d3e; font-size:17px; }.mobile-contact { display:none; }
@media(max-width:760px) { body { padding-bottom:76px; }.shell { width:calc(100% - 36px); }.profile-header { height:70px; grid-template-columns:1fr auto; }.profile-header .wordmark { display:none; }.profile-header>button { font-size:0; }.profile-header>button::after { content:'↗'; font-size:18px; }.profile-title { display:block; padding:24px 0; }.profile-title h1 { font-size:55px; }.profile-title>p:last-child { margin-top:10px; }.profile-gallery { grid-template-columns:1fr; max-width:none; }.gallery-thumbs { display:flex; overflow:auto; }.gallery-thumbs button { width:58px; height:47px; flex:none; aspect-ratio:auto; }.profile-body { grid-template-columns:1fr; gap:36px; padding:37px 0 70px; }.truth-note { align-items:start; }.intro { padding:35px 0; }.intro h2 { font-size:31px; }.facts { padding:29px 0; }.facts>div { grid-template-columns:1fr 1fr; }.amenities { padding:29px 0; }.host-note p { font-size:21px; }.contact-card { position:static; scroll-margin-top:20px; }.mobile-contact { position:fixed; z-index:5; right:0; bottom:0; left:0; display:flex; align-items:center; justify-content:space-between; gap:13px; padding:11px 18px; background:#fff; box-shadow:0 -8px 24px rgba(11,48,38,.12); }.mobile-contact span { color:#5c786d; font-size:9px; }.mobile-contact span b { display:block; color:var(--ink); font-size:14px; }.mobile-contact button { flex:none; border:0; border-radius:5px; padding:12px; color:var(--ink); background:var(--green); font-size:10px; font-weight:700; }.next-place { display:block; }.next-place a { display:inline-block; margin-top:16px; } }

.main-image>video { position:absolute; inset:0; width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.main-image .verified-lockup,.main-image .counter { z-index:2; }
@media(max-width:760px) { .gallery-thumbs button { width:58px; height:auto; aspect-ratio:4 / 5; } }

.media-track,.media-viewer-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.media-track::-webkit-scrollbar,.media-viewer-track::-webkit-scrollbar { display:none; }
.media-track { width:100%; height:100%; border-radius:inherit; }
.media-slide { position:relative; min-width:100%; aspect-ratio:4 / 5; border:0; padding:0; scroll-snap-align:start; background-color:#dce7e1; background-position:center; background-size:cover; }
.media-slide:focus-visible { outline:3px solid var(--green); outline-offset:-3px; }
.media-slide img,.media-slide video { display:block; width:100%; height:100%; object-fit:cover; }
.media-slide.media-error::after { content:'mídia indisponível'; display:grid; position:absolute; inset:0; place-items:center; color:#5f786f; background:#dce7e1; font:500 10px var(--mono); }
.media-viewer[hidden] { display:none; }
.media-viewer { position:fixed; z-index:30; inset:0; display:grid; place-items:center; overflow:hidden; background:rgba(2,16,12,.96); }
.media-viewer-track { width:100%; height:100%; align-items:center; touch-action:pan-x; }
.media-viewer .media-slide { display:grid; width:min(100vw,720px); height:min(100dvh,900px); min-width:100%; place-items:center; aspect-ratio:auto; background:transparent; }
.media-viewer .media-slide img,.media-viewer .media-slide video { max-width:100%; max-height:100%; object-fit:contain; }
.media-viewer-close { position:absolute; z-index:3; top:max(16px,env(safe-area-inset-top)); right:16px; display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; color:#fff; background:rgba(0,0,0,.35); font-size:26px; }
.media-viewer:not(.is-dragging) { transition:transform .22s ease,background-color .22s ease; }
.video-thumb::after { content:'▶'; display:grid; width:22px; height:22px; margin:auto; place-items:center; border-radius:50%; color:#fff; background:rgba(0,0,0,.6); font-size:8px; }
body.viewer-open { overflow:hidden; }

@media (prefers-reduced-motion: reduce) {
  .media-track,.media-viewer-track { scroll-behavior:auto; }
}
