@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--orange:#f39200;--orange-deep:#d97d00;--rust:#d97d00;--sage:#171717;--cream:#f3eee5;--black:#0b0b0b;--coal:#171717;--paper:#f7f4ee;--white:#fff;--line:#dcd5c8;--muted:#726d64;--ink:#171511}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}.top{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,96px);background:#090909f2;position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid #ffffff1a}.brand img{width:92px;height:58px;object-fit:contain}.top nav{display:flex;align-items:center;gap:34px}.top nav a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.top .nav-cta{border:1px solid var(--orange);padding:12px 18px;color:var(--orange)}.hero{min-height:790px;position:relative;display:flex;align-items:center;padding:140px clamp(24px,8vw,130px) 100px;background:url('/assets/cws/salao-ouro.png') center/cover no-repeat;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505f5 0%,#050505d6 43%,#05050548 75%,#05050530),linear-gradient(0deg,#0707079c,transparent 50%)}.hero-content{position:relative;max-width:780px}.eyebrow,.form-kicker{letter-spacing:.24em;font-size:10px;font-weight:600;color:var(--orange);text-transform:uppercase}h1,h2,h3{font-family:'Italiana',serif;font-weight:400;line-height:1.02;margin:14px 0}h1{font-size:clamp(56px,7.2vw,105px)}h1 em{font-style:normal;color:var(--orange)}h2{font-size:clamp(42px,5.2vw,72px)}h3{font-size:34px}.lead{max-width:610px;color:#dfddd8;font-size:17px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;background:var(--orange);color:#090909;text-decoration:none;padding:16px 24px;margin-top:20px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:11px;transition:.25s}.button:hover{background:#ffab28;transform:translateY(-2px)}.button:disabled{opacity:.5}.hero-note{position:absolute;right:7vw;bottom:55px;display:flex;flex-direction:column;border-left:1px solid var(--orange);padding-left:18px;color:#ddd;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.hero-note b{color:#fff;margin-top:5px}.section{padding:120px clamp(24px,7vw,110px)}.story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#fff}.story-image{position:relative}.story-image img{width:100%;min-height:440px;object-fit:cover}.story-image span{position:absolute;right:-22px;bottom:28px;background:var(--black);color:#fff;padding:17px 22px;font:20px 'Italiana'}.story-copy{max-width:600px}.story-copy p:not(.eyebrow){color:var(--muted);line-height:1.9}.signature{margin-top:34px;color:#8c867b;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.signature i{display:block;width:70px;height:2px;background:var(--orange);margin-bottom:18px}.environments-section{background:var(--paper)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.section-title>p{max-width:350px;color:var(--muted);line-height:1.7}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.env-card{background:#fff;border:0;position:relative;overflow:hidden}.env-card img{width:100%;height:340px;object-fit:cover;transition:.5s}.env-card:hover img{transform:scale(1.03)}.env-card>div{padding:26px 28px 30px;border:1px solid var(--line);border-top:0}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top h3{font-size:31px}.card-top span,.tags span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.env-card p{color:var(--muted);min-height:42px;line-height:1.6}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{background:#f3eee5;padding:6px 9px}.env-card button{border:0;background:none;color:var(--orange-deep);font-weight:600;padding:20px 0 0;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.skeleton{height:470px;background:linear-gradient(90deg,#e9e4da 25%,#f7f4ee 50%,#e9e4da 75%);background-size:200%;animation:load 1.2s infinite}.hospitality{display:grid;grid-template-columns:1.2fr .8fr;background:var(--black);color:#fff}.hospitality img{width:100%;height:500px;object-fit:cover}.hospitality>div{padding:70px;display:flex;flex-direction:column;justify-content:center}.hospitality p{color:#aaa;line-height:1.7}.hospitality a{color:var(--orange);text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.14em;margin-top:20px}.reservation-section{background:var(--coal);color:#fff;padding:120px clamp(24px,8vw,130px);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.reservation-copy>img{width:145px;max-height:90px;object-fit:contain;margin-bottom:38px}.reservation-copy p,.reservation-copy li{color:#aaa;line-height:1.8}.reservation-copy ul{padding-left:20px}.booking-card{background:#fff;color:var(--ink);padding:44px;box-shadow:0 30px 90px #0008}.steps{display:flex;align-items:center;margin-bottom:32px}.steps span{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:11px}.steps span.active{background:var(--orange);border-color:var(--orange);color:#111}.steps i{height:1px;flex:1;background:var(--line)}label{display:block;font-size:12px;font-weight:600;margin:18px 0;text-transform:uppercase;letter-spacing:.05em}input,select,textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:14px;margin-top:8px;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}input:focus,select:focus,textarea:focus{outline:2px solid #f392003d;border-color:var(--orange)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px}.slots button{border:1px solid var(--line);background:#fff;padding:11px 4px}.slots button small{display:block;font-size:9px;color:#777}.slots button.selected{border-color:var(--orange);background:#fff3df}.slots button:disabled{opacity:.4;cursor:not-allowed}.actions{display:flex;justify-content:space-between;align-items:end}.ghost{border:0;background:transparent;color:var(--muted);padding:15px}.check{display:flex;gap:10px;font-weight:400;text-transform:none;letter-spacing:0}.check input{width:auto;margin:2px 0}.review{background:#f5f0e8;padding:20px}.review dl{display:grid;grid-template-columns:1fr 2fr;margin:0}.review dt,.review dd{padding:9px;margin:0;border-bottom:1px solid var(--line)}.review dt{color:var(--muted)}.error{color:#a32920}.muted{color:var(--muted);font-size:13px}.success-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#111;font-size:30px}.code{display:block;font-size:22px;letter-spacing:.1em;background:#f5f0e8;padding:16px;margin:24px 0}.phone-field{display:grid;grid-template-columns:120px 1fr;gap:8px}.phone-field select,.phone-field input{margin-top:8px}.phone-help{display:block;color:var(--muted);font-weight:400;margin-top:6px;text-transform:none;letter-spacing:0}footer{padding:50px clamp(24px,7vw,110px);display:flex;align-items:center;justify-content:space-between;background:#080808;color:#aaa;font-size:12px;border-top:1px solid #ffffff18}footer .brand img{width:100px}footer div{display:flex;flex-direction:column;gap:5px;text-align:center}footer b{color:#ddd}footer>a:last-child{color:var(--orange);text-decoration:none;text-transform:uppercase;letter-spacing:.12em}@keyframes load{to{background-position:-200%}}
@media(max-width:900px){.top nav a:not(.nav-cta){display:none}.hero{min-height:680px}.story,.reservation-section{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.hospitality{grid-template-columns:1fr}.hospitality img{height:360px}.section-title{display:block}.story-image span{right:10px}.reservation-copy>img{display:none}}
@media(max-width:560px){.top{height:72px;padding:0 18px}.brand img{width:74px}.top .nav-cta{padding:10px 12px}.hero{min-height:650px;padding:125px 20px 80px;background-position:60% center}.hero-shade{background:#050505c9}.hero-note{display:none}.section,.reservation-section{padding:78px 20px}.story-image img{min-height:280px}.env-card img{height:240px}.hospitality img{height:280px}.hospitality>div{padding:55px 24px}.booking-card{padding:30px 20px}.grid2{grid-template-columns:1fr}.slots{grid-template-columns:repeat(3,1fr)}footer{align-items:flex-start;gap:25px;flex-direction:column}footer div{text-align:left}h1{font-size:52px}}
.booking-sequence>label{position:relative;padding-left:38px}.sequence-number{position:absolute;left:0;top:-4px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#171717;color:#fff;font-size:11px}.slots{display:block}.slot-period{margin:12px 0 20px}.slot-period>strong{display:block;font:20px 'Italiana',serif;text-transform:none;letter-spacing:0;margin-bottom:9px}.slot-period>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:190px;overflow:auto;padding-right:4px}.booking-environments{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.booking-environment{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:#fff;padding:8px;color:var(--ink)}.booking-environment img{width:82px;height:62px;object-fit:cover}.booking-environment span{display:flex;flex-direction:column;gap:5px}.booking-environment small{color:var(--muted)}.booking-environment.available:hover,.booking-environment.selected{border-color:var(--orange);background:#fff5e5}.booking-environment.unavailable{opacity:.35;filter:grayscale(1);cursor:not-allowed}@media(max-width:800px){.slot-period>div{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-environments{grid-template-columns:1fr}}@media(max-width:560px){.booking-sequence>label{padding-left:32px}.slot-period>div{grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px}.booking-environment{grid-template-columns:70px 1fr}.booking-environment img{width:70px;height:58px}}
.hero{min-height:850px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,560px);gap:clamp(36px,6vw,96px);padding:120px clamp(24px,6vw,96px) 54px}.hero-content{max-width:720px}.hero .hero-reservation{position:relative;display:block;background:transparent;padding:0;color:var(--ink)}.hero .booking-card{padding:34px 38px;max-height:730px;overflow:auto}.hero .booking-card h3{font-size:30px}.hero .booking-card label{margin:13px 0}.hero .booking-card .button{margin-top:12px}.hero .hero-note{display:none}.slot-select{margin-top:9px;min-height:48px;background:#fff}
@media(max-width:1050px){.hero{grid-template-columns:minmax(0,.85fr) minmax(400px,1.15fr);gap:32px;padding-inline:32px}.hero h1{font-size:clamp(48px,6vw,70px)}}
@media(max-width:900px){.hero{min-height:auto;grid-template-columns:1fr;padding-top:110px}.hero-content{max-width:620px}.hero .booking-card{max-height:none}}
@media(max-width:560px){.hero{min-height:auto;padding:96px 16px 28px;background-position:60% center;gap:22px}.hero-shade{background:#050505d9}.hero-content h1{font-size:40px}.hero-content .lead,.hero-content>.button{display:none}.hero .hero-reservation{padding:0}.hero .booking-card{padding:26px 18px}.slots{grid-template-columns:1fr}}
