:root{color-scheme:dark;--bg:#10110e;--panel:#1a1c17;--text:#f4f1e8;--muted:#b9b7ad;--quiet:#85877d;--green:#849d63;--green-bright:#9ab77a;--orange:#d88a3e;--line:rgba(235,232,219,.13);--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--sans);background:var(--bg);color:var(--text);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}a{color:inherit}button,input,select{font:inherit}img{display:block;max-width:100%}.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.kicker{color:var(--green-bright);font-size:.68rem;font-weight:750;letter-spacing:.19em;text-transform:uppercase}.section{padding:108px 0}.section-head{max-width:640px;margin-bottom:42px}.section-head h2{margin:12px 0 14px;font:400 clamp(2.2rem,4.3vw,4rem)/1.02 var(--serif);letter-spacing:-.04em}.section-head p{max-width:540px;margin:0;color:var(--muted);line-height:1.75;font-size:.98rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:999px;color:#10130d;background:var(--green-bright);font-size:.83rem;font-weight:760;text-decoration:none;cursor:pointer;transition:transform .24s,background .24s,box-shadow .24s,border-color .24s,color .24s}.btn:hover{transform:translateY(-2px);background:#b0cb8b;box-shadow:0 10px 28px rgba(132,157,99,.23)}.btn:active{transform:translateY(0) scale(.98)}.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green-bright);outline-offset:3px}.btn-outline{color:var(--text);border-color:rgba(244,241,232,.24);background:rgba(18,19,16,.2)}.btn-outline:hover{border-color:var(--green-bright);background:rgba(132,157,99,.15);box-shadow:none}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}
.site-header{position:absolute;z-index:30;inset:0 0 auto;padding:22px 0}.nav-row{display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:var(--green-bright)}.brand-mark svg{width:23px;height:23px}.brand-name{font:600 1.55rem/1 var(--serif);letter-spacing:.035em}.brand-name small{display:block;margin-top:5px;font:650 .5rem/1 var(--sans);letter-spacing:.18em;color:rgba(245,242,232,.67);text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:clamp(18px,3.2vw,42px);margin-left:auto}.main-nav a{color:rgba(246,244,238,.83);font-size:.78rem;text-decoration:none;transition:color .2s}.main-nav a:hover{color:var(--green-bright)}.nav-tools{display:flex;gap:8px;align-items:center}.icon-tile{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(246,244,238,.14);border-radius:13px;color:rgba(246,244,238,.83);background:rgba(255,255,255,.045);backdrop-filter:blur(12px);cursor:pointer;text-decoration:none;transition:color .2s,background .2s,border-color .2s,transform .2s}.icon-tile svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.icon-tile:hover,.icon-tile.is-active{color:#11140e;background:var(--green-bright);border-color:var(--green-bright);transform:translateY(-1px)}.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;min-height:max(700px,min(850px,100svh));display:flex;align-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 74% 45%,rgba(95,75,42,.14),transparent 34%),linear-gradient(105deg,#0e100d 0%,#10110e 41%,#151710 100%)}.hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(10,11,9,.97),rgba(10,11,9,.88) 37%,rgba(10,11,9,.19) 69%,rgba(10,11,9,.36)),linear-gradient(0deg,rgba(10,11,9,.58),transparent 43%),url("./assets/piraju-botequim-chope.webp") center 40%/cover no-repeat;filter:saturate(.72);transform:scale(1.02)}.hero::after{content:"";position:absolute;z-index:-1;inset:0;opacity:.18;background:radial-gradient(circle at 58% 29%,rgba(216,138,62,.5) 0 1px,transparent 2px);background-size:58px 53px;mask-image:linear-gradient(100deg,transparent 22%,#000 80%)}.hero-layout{position:relative;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(380px,1.1fr);align-items:center;gap:36px;padding-top:92px}.hero-copy{position:relative;z-index:2;max-width:585px}.hero-label{display:inline-flex;align-items:center;gap:9px;color:#d8d4c7;font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-label::before{content:"";width:27px;height:1px;background:var(--green-bright)}.hero h1{margin:22px 0 18px;font:400 clamp(3.7rem,7.8vw,7.1rem)/.88 var(--serif);letter-spacing:-.065em}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--green-bright);font-style:italic}.hero-copy>p{max-width:440px;margin:0;color:rgba(239,237,228,.76);font-size:1rem;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-note{display:flex;align-items:center;gap:9px;margin-top:27px;color:rgba(244,241,232,.66);font-size:.76rem}.hero-note svg{width:16px;height:16px;stroke:var(--green-bright);fill:none;stroke-width:1.8}.hero-art{position:relative;min-height:485px;display:flex;align-items:center;justify-content:center}.hero-photo{position:absolute;overflow:hidden;border:1px solid rgba(255,255,255,.24);background:#26251e;box-shadow:0 28px 88px rgba(0,0,0,.5);border-radius:22px}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.83)}.hero-photo-main{width:min(63%,340px);height:420px;left:26%;top:35px;transform:rotate(3deg)}.hero-photo-top{width:155px;height:203px;left:2%;top:11%;transform:rotate(-8deg)}.hero-photo-bottom{width:176px;height:222px;right:1%;bottom:2%;transform:rotate(7deg)}.hero-seal{position:absolute;z-index:2;left:9%;bottom:9%;display:grid;place-items:center;width:100px;height:100px;border:1px solid rgba(220,220,197,.46);border-radius:50%;color:#f3edda;background:rgba(23,25,19,.56);font:italic 1.06rem var(--serif);text-align:center;transform:rotate(-11deg);backdrop-filter:blur(8px)}.hero-seal small{display:block;font:600 .48rem var(--sans);letter-spacing:.15em;text-transform:uppercase}.hero-quote{position:absolute;z-index:2;right:5%;bottom:3%;color:rgba(246,243,233,.78);font:italic 1rem var(--serif)}.hero-quote::before{content:"“";color:var(--green-bright);font-size:2.1rem;vertical-align:-.36em;padding-right:4px}
.quick-info{position:absolute;z-index:5;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.12);background:rgba(19,20,16,.78);backdrop-filter:blur(18px)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-item{display:flex;align-items:center;gap:13px;min-height:76px;padding:15px 24px;border-right:1px solid rgba(255,255,255,.1)}.quick-item:first-child{padding-left:0}.quick-item:last-child{border:0}.quick-icon{flex:0 0 auto;width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(148,177,114,.42);border-radius:12px;color:var(--green-bright)}.quick-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quick-item small{display:block;margin-bottom:4px;color:var(--quiet);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.quick-item strong{color:var(--text);font-size:.79rem;font-weight:580}
.story{background:#141611}.story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:start}.story-copy{position:sticky;top:40px}.story-copy h2{margin:12px 0 19px;font:400 clamp(2.3rem,4.3vw,4.1rem)/1.03 var(--serif);letter-spacing:-.045em}.story-copy h2 em{color:var(--green-bright)}.story-copy p{color:var(--muted);line-height:1.8}.story-date{display:inline-flex;align-items:center;gap:11px;margin-top:18px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:#dfddcf;font-size:.73rem}.story-date b{color:var(--green-bright)}.story-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.info-card{min-height:213px;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));transition:transform .28s,border-color .28s,background .28s}.info-card:hover{transform:translateY(-3px);border-color:rgba(148,177,114,.34);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.02))}.info-card:first-child{grid-column:span 2;display:grid;grid-template-columns:1fr .78fr;align-items:center;gap:20px}.info-card h3{margin:19px 0 9px;font:500 1.35rem var(--serif)}.info-card p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.7}.card-icon{width:41px;height:41px;display:grid;place-items:center;border:1px solid rgba(132,157,99,.34);border-radius:13px;color:var(--green-bright)}.card-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mini-photo{position:relative;height:160px;overflow:hidden;border-radius:15px;background:radial-gradient(ellipse at 64% 28%,rgba(214,132,61,.32),transparent 46%),linear-gradient(135deg,#34271d,#171914)}.mini-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.info-card:hover .mini-photo img{transform:scale(1.045)}.image-tag{position:absolute;left:10px;bottom:10px;padding:6px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#f6f1e8;background:rgba(15,16,13,.72);backdrop-filter:blur(8px);font-size:.57rem;letter-spacing:.04em}.mini-photo.image-unavailable{display:grid;place-items:center}.mini-photo.image-unavailable::after{content:"PETISCO · SABOR · PIRAJÚ";color:#e4c08d;font:italic 1rem var(--serif);letter-spacing:.1em}.mini-photo.image-unavailable img{display:none}
.food,.gallery-section{background:#10120e}.food-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.food-head .section-head{margin-bottom:42px}.food-head .micro-note{max-width:260px;margin:0 0 45px;color:var(--quiet);font-size:.75rem;line-height:1.65}.food-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.food-card{position:relative;min-height:266px;overflow:hidden;padding:30px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#20221b,#171914 75%)}.food-card::after{content:"";position:absolute;right:-30px;bottom:-52px;width:190px;height:190px;border:1px solid rgba(144,169,106,.16);border-radius:50%;box-shadow:0 0 0 20px rgba(144,169,106,.027),0 0 0 40px rgba(144,169,106,.02)}.food-number{color:var(--orange);font:italic 1rem var(--serif)}.food-card h3{max-width:250px;margin:50px 0 12px;font:400 1.75rem/1.12 var(--serif)}.food-card p{position:relative;z-index:1;max-width:285px;margin:0;color:var(--muted);font-size:.84rem;line-height:1.7}.food-foot{display:flex;align-items:center;gap:8px;margin-top:22px;color:#d4d2c7;font-size:.72rem}.food-foot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 10px var(--green)}
.gallery-section{padding-top:5px}.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.gallery-head h2{margin:9px 0 0;font:400 clamp(2rem,4vw,3.4rem)/1 var(--serif);letter-spacing:-.035em}.gallery-head p{max-width:340px;margin:0;color:var(--muted);font-size:.83rem;line-height:1.65}.photo-grid{display:grid;grid-template-columns:1.1fr .85fr .85fr 1fr;gap:13px}.photo-card{position:relative;height:clamp(225px,29vw,350px);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:#292a23}.photo-card:nth-child(even){transform:translateY(20px)}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.25,1),filter .4s}.photo-card:hover img{transform:scale(1.055);filter:saturate(1.08)}.photo-card figcaption{position:absolute;inset:auto 0 0;padding:38px 16px 15px;color:#fff;font:500 1rem var(--serif);background:linear-gradient(0deg,rgba(8,9,7,.78),transparent)}.gallery-note{margin-top:36px;color:var(--quiet);font-size:.68rem}
.reservation-section{padding:106px 0 112px;background:#171914}.reservation-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:start;gap:50px}.reservation-intro{position:sticky;top:36px}.reservation-intro h2{margin:14px 0 15px;font:400 clamp(2.35rem,4.5vw,4.1rem)/1 var(--serif);letter-spacing:-.05em}.reservation-intro h2 em{color:var(--green-bright)}.reservation-intro>p{color:var(--muted);line-height:1.78;font-size:.9rem}.reservation-steps{display:flex;gap:10px;margin-top:28px}.step{display:flex;align-items:center;gap:8px;color:var(--quiet);font-size:.72rem}.step-num{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:.7rem}.step.is-current,.step.is-done{color:var(--text)}.step.is-current .step-num,.step.is-done .step-num{color:#10130d;border-color:var(--green-bright);background:var(--green-bright)}.step-connector{width:24px;height:1px;margin:0 -3px;background:var(--line)}.call-card{display:flex;align-items:center;gap:12px;margin-top:36px;padding:15px;border:1px solid var(--line);border-radius:16px;color:var(--muted);font-size:.78rem;line-height:1.5}.call-card svg{flex:0 0 auto;width:21px;height:21px;stroke:var(--green-bright);fill:none;stroke-width:1.8}.call-card a{color:var(--text);text-decoration:none;font-weight:650}
.booking-panel{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,#20221c,#191b16 68%);box-shadow:0 20px 56px rgba(0,0,0,.16)}.booking-panel h3{margin:0 0 6px;font:500 1.4rem var(--serif)}.panel-sub{margin:0 0 22px;color:var(--quiet);font-size:.75rem;line-height:1.55}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 13px}.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{color:#d8d6ca;font-size:.72rem;font-weight:630}.field input,.field select{width:100%;min-height:45px;padding:0 13px;border:1px solid rgba(255,255,255,.13);border-radius:11px;color:var(--text);background:#12140f;font-size:.8rem;color-scheme:dark}.field input::placeholder{color:#77796f}.field select{cursor:pointer}.field-help{color:var(--quiet);font-size:.66rem;line-height:1.45}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px}.privacy{max-width:230px;color:var(--quiet);font-size:.66rem;line-height:1.5}.form-feedback{margin:13px 0 0;color:#ffbd83;font-size:.75rem}[hidden]{display:none!important}
.map-panel{margin-top:18px;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:23px;background:#20221c;animation:panel-in .48s ease both}@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.map-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:15px}.map-panel-head h3{margin:0 0 5px;font:500 1.35rem var(--serif)}.map-panel-head p{margin:0;color:var(--quiet);font-size:.72rem}.availability{white-space:nowrap;color:var(--green-bright);font-size:.7rem;font-weight:700}.map-legend{display:flex;flex-wrap:wrap;gap:14px;margin:11px 0 14px;color:#b8b8ae;font-size:.67rem}.map-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;display:inline-block;border-radius:3px;background:#b38b5b}.legend-dot.selected{background:var(--green-bright)}.legend-dot.busy{background:#777970}.map-disclaimer{margin:13px 0 0;color:#8f9087;font-size:.66rem;line-height:1.5}
.floor-plan{position:relative;overflow:hidden;padding:13px;border:2px solid #795939;border-radius:14px;color:#332514;background:#caa77a;box-shadow:inset 0 0 0 5px rgba(255,226,183,.28),0 12px 25px rgba(0,0,0,.22)}.facade{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:39px;margin:0 2px 12px;padding:0 12px;border:1px solid rgba(77,55,32,.5);border-radius:8px;color:#352719;background:linear-gradient(90deg,#e7ce9e,#dfc18d);font-size:.57rem;font-weight:800;letter-spacing:.12em}.facade-sign{display:flex;align-items:center;gap:6px}.facade-sign::before{content:"";width:6px;height:6px;border-radius:50%;background:#748c50}.door{position:absolute;left:50%;top:3px;transform:translateX(-50%);display:flex;gap:2px;width:39px;height:32px;padding:3px;border:1px solid #755737;border-bottom:0;border-radius:7px 7px 0 0;background:#9d7650}.door span{flex:1;border:1px solid #d7bd92;background:rgba(242,222,184,.68)}.door span:first-child{border-radius:4px 0 0 0}.door span:last-child{border-radius:0 4px 0 0}.floor-interior{position:relative;min-height:500px;padding:19px 12px;border:1px solid rgba(111,76,41,.46);border-radius:9px;background:repeating-linear-gradient(0deg,transparent 0 42px,rgba(119,75,38,.16) 42px 44px),repeating-linear-gradient(90deg,rgba(255,231,190,.16) 0 90px,rgba(116,73,39,.13) 91px 93px),linear-gradient(135deg,#d2b187,#c49b6c);box-shadow:inset 0 5px 19px rgba(78,51,29,.19)}.service-counter{display:flex;align-items:center;justify-content:space-between;width:min(260px,47%);height:33px;margin:0 auto 18px;padding:0 12px;border:1px solid #694a2b;border-radius:6px;color:#f0dbb7;background:linear-gradient(180deg,#745433,#503a26);box-shadow:0 3px 0 #37291c;font-size:.53rem;font-weight:800;letter-spacing:.12em}.service-counter span:last-child{color:#d9b36f;font-size:.46rem}.tables-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 3px;justify-items:center}.table-unit{position:relative;display:block;width:min(100%,108px);height:75px;padding:0;border:0;border-radius:10px;background:transparent;color:#33291c;cursor:pointer;transition:transform .2s,filter .2s}.table-unit:hover:not(:disabled){z-index:2;transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 5px 4px rgba(64,39,19,.24))}.table-top{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:37px;border:2px solid #795a37;border-radius:9px;background:linear-gradient(145deg,#eccb98,#c99c66);box-shadow:inset 0 2px 3px rgba(255,250,228,.45),0 3px 0 #8e6840;transition:border-color .2s,background .2s,box-shadow .2s}.table-number{color:#392b1c;font:750 .75rem var(--sans)}.chair{position:absolute;z-index:0;display:block;width:15px;height:10px;border:1px solid #6c5034;border-radius:4px;background:#8f704b;box-shadow:inset 0 1px rgba(255,235,196,.32),0 2px 1px rgba(77,49,26,.2)}.chair.north{left:calc(50% - 7.5px);top:3px}.chair.south{left:calc(50% - 7.5px);bottom:3px}.chair.west{left:calc(50% - 39px);top:calc(50% - 5px);transform:rotate(90deg)}.chair.east{right:calc(50% - 39px);top:calc(50% - 5px);transform:rotate(90deg)}.table-unit:hover:not(:disabled) .table-top{border-color:#657e48}.table-unit.is-selected .table-top{border-color:#496337;background:linear-gradient(145deg,#bad493,#7d9c5a);box-shadow:0 0 0 3px rgba(84,123,60,.24),0 0 17px rgba(85,126,60,.55)}.table-unit.is-selected .table-number{color:#172212}.table-unit.is-selected .chair{background:#729457;border-color:#50683c}.table-unit:disabled{cursor:not-allowed;opacity:.43;filter:grayscale(.68)}.map-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.map-summary p{margin:0;color:#d8d6cb;font-size:.76rem}.map-summary strong{color:var(--green-bright)}.map-summary .btn{min-height:42px}
.ticket-panel{margin-top:18px;padding:23px;border:1px solid rgba(130,169,100,.38);border-radius:22px;background:linear-gradient(145deg,rgba(74,101,55,.21),rgba(27,31,23,.94));animation:panel-in .48s ease both}.ticket-heading{display:flex;align-items:center;gap:12px;margin-bottom:17px}.ticket-check{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:#15210f;background:#9ac77c;box-shadow:0 0 20px rgba(134,193,108,.25)}.ticket-check svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.ticket-heading h3{margin:0 0 4px;font:500 1.24rem var(--serif)}.ticket-heading p{margin:0;color:#b5c6a6;font-size:.71rem;line-height:1.5}.ticket-details{display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px;border-top:1px solid rgba(255,255,255,.1)}.ticket-detail{padding:11px 10px 9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.ticket-detail:nth-child(even){padding-left:12px;border-left:1px solid rgba(255,255,255,.08)}.ticket-detail small{display:block;margin-bottom:5px;color:#8f9988;font-size:.57rem;letter-spacing:.12em;text-transform:uppercase}.ticket-detail strong{display:block;color:#f0f0e7;font-size:.77rem;font-weight:620;overflow-wrap:anywhere}.ticket-actions{display:flex;flex-wrap:wrap;gap:10px}.ticket-actions .btn{min-height:43px}.ticket-footnote{margin:14px 0 0;color:#a5aa9b;font-size:.66rem;line-height:1.55}
.location{background:#10120e}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:stretch}.location-card{display:flex;flex-direction:column;justify-content:center;padding:36px;border:1px solid var(--line);border-radius:22px;background:#1a1c17}.location-card h2{margin:12px 0 17px;font:400 clamp(2.1rem,4vw,3.3rem)/1 var(--serif);letter-spacing:-.04em}.location-card>p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.75}.contact-list{display:grid;gap:16px;margin:25px 0}.contact-row{display:flex;align-items:center;gap:12px;color:#e4e0d4;font-size:.81rem}.contact-row>span:first-child{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(132,157,99,.32);border-radius:11px;color:var(--green-bright)}.contact-row svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-row a{text-decoration:none}.contact-row a:hover{color:var(--green-bright)}.location-actions{display:flex;flex-wrap:wrap;gap:9px}.hours-box{margin-top:23px;padding:15px 16px;border-left:2px solid var(--green);border-radius:0 12px 12px 0;color:var(--muted);background:rgba(132,157,99,.075);font-size:.74rem;line-height:1.6}.hours-box strong{color:var(--text)}.map-frame{min-height:430px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#24251e}.map-frame iframe{display:block;width:100%;height:100%;min-height:430px;border:0;filter:grayscale(.8) invert(.9) contrast(.82) hue-rotate(55deg)}
.site-footer{padding:45px 0 26px;border-top:1px solid var(--line);background:#0d0f0c}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:28px}.footer-brand p{margin:10px 0 0;color:var(--quiet);font-size:.75rem}.footer-links{display:flex;flex-wrap:wrap;gap:21px;color:var(--muted);font-size:.74rem}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--green-bright)}.source-note{display:flex;justify-content:space-between;gap:22px;padding-top:18px;border-top:1px solid var(--line);color:#787b71;font-size:.64rem;line-height:1.6}.source-note a{color:#aab19d}
.toast{position:fixed;z-index:100;top:20px;right:20px;display:flex;align-items:center;gap:12px;width:min(390px,calc(100vw - 32px));padding:14px 16px;border:1px solid rgba(204,244,202,.36);border-radius:18px;color:#eef8eb;background:rgba(33,69,43,.94);box-shadow:0 18px 50px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.14);backdrop-filter:blur(20px);transform:translateY(-16px);opacity:0;pointer-events:none;transition:opacity .32s,transform .32s cubic-bezier(.2,.75,.25,1)}.toast.is-visible{transform:translateY(0);opacity:1}.toast-icon{flex:0 0 auto;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;color:#17341a;background:#a4d893}.toast-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.toast strong{display:block;margin-bottom:2px;font-size:.78rem}.toast small{display:block;color:rgba(235,248,229,.77);font-size:.68rem;line-height:1.45}
@media(max-width:940px){.wrap{width:min(100% - 42px,760px)}.main-nav{gap:18px}.nav-tools .icon-tile:nth-child(1){display:none}.hero{min-height:920px;padding-bottom:80px}.hero-layout{grid-template-columns:1fr .85fr;gap:5px;padding-top:72px}.hero-art{min-height:410px}.hero-photo-main{height:360px;width:65%}.hero-photo-top{width:130px;height:170px}.hero-photo-bottom{width:145px;height:183px}.story-grid,.reservation-grid{gap:38px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.site-header{padding:14px 0}.nav-row{gap:13px}.main-nav{display:none}.nav-tools{margin-left:auto}.nav-tools .icon-tile:nth-child(1){display:grid}.menu-toggle{display:grid}.mobile-menu{position:absolute;top:70px;left:18px;right:18px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(25,27,22,.96);box-shadow:0 15px 44px rgba(0,0,0,.4);backdrop-filter:blur(16px)}.mobile-menu.is-open{display:grid}.mobile-menu a{padding:13px;color:var(--text);font-size:.84rem;text-decoration:none;border-radius:10px}.mobile-menu a:hover{background:rgba(132,157,99,.13)}.hero{min-height:auto;padding:112px 0 0}.hero::before{background:linear-gradient(90deg,rgba(10,11,9,.94),rgba(10,11,9,.58)),linear-gradient(0deg,rgba(10,11,9,.66),transparent 54%),url("./assets/piraju-botequim-chope.webp") center 35%/cover no-repeat}.hero-layout{grid-template-columns:1fr;gap:8px;padding-top:12px;padding-bottom:190px}.hero h1{font-size:clamp(3.6rem,16vw,6.1rem)}.hero-art{min-height:280px;margin:0 -5px}.hero-photo-main{top:7px;left:28%;width:43%;height:253px}.hero-photo-top{left:13%;top:16px;width:105px;height:144px}.hero-photo-bottom{right:11%;bottom:3px;width:110px;height:145px}.hero-seal{left:15%;bottom:4%;width:75px;height:75px;font-size:.82rem}.hero-quote{right:9%;bottom:1%;font-size:.8rem}.quick-grid{grid-template-columns:1fr 1fr}.quick-item{min-height:68px;padding:10px 12px}.quick-item:first-child{padding-left:12px}.quick-item:last-child{display:none}.quick-item strong{font-size:.68rem}.section{padding:78px 0}.story-grid,.reservation-grid,.location-grid{grid-template-columns:1fr}.story-copy,.reservation-intro{position:static}.story-grid{gap:28px}.story-cards{gap:10px}.info-card{min-height:195px;padding:18px}.info-card:first-child{grid-template-columns:1fr .7fr;gap:12px}.mini-photo{height:140px}.food-head,.gallery-head{display:block}.food-head .section-head{margin-bottom:13px}.food-head .micro-note{max-width:420px;margin:0 0 28px}.food-cards{grid-template-columns:1fr}.food-card{min-height:215px;padding:24px}.food-card h3{margin-top:35px}.gallery-head p{margin-top:14px}.photo-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-card{height:240px}.photo-card:nth-child(even){transform:none}.reservation-section{padding:78px 0}.reservation-grid{gap:25px}.call-card{margin-top:20px}.map-panel{padding:15px}.floor-plan{padding:9px}.floor-interior{min-height:auto;padding:12px 7px}.tables-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px 1px}.table-unit{height:66px}.table-top{width:39px;height:30px}.chair{width:12px;height:8px}.chair.north{left:calc(50% - 6px);top:3px}.chair.south{left:calc(50% - 6px);bottom:3px}.chair.west{left:calc(50% - 32px)}.chair.east{right:calc(50% - 32px)}.map-summary{align-items:stretch;flex-direction:column}.map-summary .btn{width:100%}.ticket-actions .btn{flex:1 1 auto}.location-card{padding:26px}.map-frame,.map-frame iframe{min-height:345px}.footer-main,.source-note{align-items:flex-start;flex-direction:column}.footer-links{gap:15px}}
@media(max-width:420px){.wrap{width:calc(100% - 28px)}.brand-name{font-size:1.35rem}.brand-mark{width:34px;height:34px}.nav-tools{gap:5px}.icon-tile{width:37px;height:37px;border-radius:11px}.hero-actions{align-items:stretch;flex-direction:column;max-width:280px}.hero-actions .btn{width:100%}.hero-layout{padding-bottom:180px}.hero-art{min-height:245px}.hero-photo-main{height:223px}.hero-photo-top{width:88px;height:125px}.hero-photo-bottom{width:96px;height:128px}.story-cards{grid-template-columns:1fr}.info-card:first-child{grid-column:auto}.info-card{min-height:170px}.food-card{min-height:225px}.photo-card{height:195px}.booking-panel{padding:19px 15px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-bottom{align-items:stretch;flex-direction:column}.form-bottom .btn{width:100%}.privacy{max-width:none}.facade{font-size:.49rem}.door{width:32px}.service-counter{margin-bottom:12px}.tables-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ticket-details{grid-template-columns:1fr}.ticket-detail:nth-child(even){padding-left:0;border-left:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

:root{--paper:#f2ead9;--cream:#fbf7ed;--ink:#26342b;--green:#2e5140;--green-bright:#c86a46;--orange:#b95d3c;--text:#26342b;--muted:#5f665c;--quiet:#787366;--line:rgba(48,66,52,.17);--shadow:0 18px 48px rgba(50,38,22,.12)}
html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--paper);color:var(--ink)}.section{color:var(--ink)}.kicker{color:#9e5136;font-weight:800;letter-spacing:.17em}
.site-header{position:absolute;top:0;left:0;right:0;padding:19px 0;background:linear-gradient(180deg,rgba(24,40,31,.75),transparent);backdrop-filter:blur(8px)}.brand-mark{border-color:rgba(255,247,228,.45);color:#e8b565}.brand-name{color:#fff7e8}.brand-name small{color:rgba(255,247,228,.74)}.main-nav a{color:rgba(255,247,228,.86)}.main-nav a:hover{color:#f0bb72}.icon-tile{border-color:rgba(255,247,228,.24);color:#fff8ea;background:rgba(28,45,35,.42)}.icon-tile:hover,.icon-tile.is-active{color:#173528;background:#e0b971;border-color:#e0b971}
.hero{min-height:790px;background:linear-gradient(115deg,#172c22,#4d3324)}.hero::before{background:linear-gradient(90deg,rgba(17,35,26,.94) 0%,rgba(22,38,28,.81) 37%,rgba(25,35,25,.36) 70%,rgba(24,31,23,.2) 100%),linear-gradient(0deg,rgba(17,35,26,.56),transparent 48%),url("./assets/piraju-botequim-chope.webp") center 45%/cover no-repeat;filter:saturate(.88);transform:scale(1.015)}.hero::after{opacity:.22;background:radial-gradient(circle at 60% 31%,rgba(238,186,110,.58) 0 1px,transparent 2px);background-size:64px 61px}.hero-layout{grid-template-columns:minmax(390px,.92fr) minmax(350px,1.08fr);padding-top:100px;padding-bottom:112px}.hero-label{color:#f1d8b3;letter-spacing:.18em}.hero-label::before{background:#dbad67}.hero h1{color:#fff7e8;font-size:clamp(3.5rem,7.1vw,6.5rem);line-height:.96;letter-spacing:-.055em}.hero h1 em{color:#f0bd76}.hero-copy>p{color:rgba(255,247,232,.8)}.hero-note{color:rgba(255,247,232,.74)}.hero-note svg{stroke:#e0b971}.hero-art{min-height:420px;display:flex;align-items:center;justify-content:flex-end;padding-right:18px}.hero-float-card{position:relative;width:min(370px,100%);padding:28px 30px 25px;border:1px solid rgba(255,255,255,.7);border-radius:20px;color:#26342b;background:rgba(250,246,235,.95);box-shadow:0 32px 78px rgba(0,0,0,.28);backdrop-filter:blur(16px);transform:rotate(1.2deg);animation:float-card 7s ease-in-out infinite}.hero-float-card::before{content:"";position:absolute;top:0;left:28px;right:28px;height:4px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#bc5e3d,#e5b86e)}.float-kicker{display:block;margin:3px 0 16px;color:#a24e34;font-size:.63rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.hero-float-card h2{margin:0;font:500 clamp(1.9rem,3.5vw,2.7rem)/1.05 var(--serif);letter-spacing:-.04em}.hero-float-card h2 em{color:#a85537;font-style:italic}.float-divider{height:1px;margin:22px 0 17px;background:rgba(42,62,47,.17)}.float-hours{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;align-items:center}.float-hours span{color:#777364;font-size:.6rem;font-weight:800;letter-spacing:.13em}.float-hours strong{color:#2c4838;font-size:.85rem}.float-link{display:flex;justify-content:space-between;align-items:center;margin-top:19px;padding-top:15px;border-top:1px dashed rgba(42,62,47,.22);color:#a65337;font-size:.78rem;font-weight:750;text-decoration:none}.float-link:hover{color:#743522}.quick-info{bottom:18px;left:50%;right:auto;width:min(1160px,calc(100% - 48px));transform:translateX(-50%);overflow:hidden;border:1px solid rgba(255,247,232,.2);border-radius:18px;background:rgba(27,52,39,.78);box-shadow:0 16px 38px rgba(0,0,0,.17);backdrop-filter:blur(16px)}.quick-grid{width:100%}.quick-item{min-height:73px;border-color:rgba(255,247,232,.12)}.quick-item strong{color:#fff6e6}.quick-item small{color:#d7c8ad}.quick-icon{border-color:rgba(224,185,113,.44);color:#e0b971}
.story{background:var(--cream)}.story-copy h2,.section-head h2,.gallery-head h2,.location-card h2{color:#26342b}.story-copy h2 em,.reservation-intro h2 em{color:#b75b3b}.story-copy p{color:#62675e}.story-date{border-color:rgba(50,76,55,.2);color:#4c554a;background:#f3eddf}.story-date b{color:#a75438}.info-card{border-color:rgba(56,69,49,.13);background:#fffdf7;box-shadow:0 10px 30px rgba(63,46,24,.06);transition:transform .28s,box-shadow .28s,border-color .28s}.info-card:hover{transform:translateY(-4px);border-color:rgba(183,91,59,.28);box-shadow:0 18px 38px rgba(63,46,24,.11)}.card-icon{color:#a85438;border-color:rgba(183,91,59,.25);background:#f4e8d8}.info-card h3{color:#2a4133}.info-card p{color:#62675e}.mini-photo{background:#ded1bb;box-shadow:0 8px 22px rgba(42,38,26,.12)}.mini-photo img{object-fit:cover}.image-tag{color:#fff9ea;background:rgba(36,54,41,.83)}
.food{color:#fff4df;background:#2c4a39}.food .section-head h2,.food .section-head p{color:#fff4df}.food .section-head h2 em{color:#efbb72}.food .kicker{color:#e7b66f}.food-head .micro-note{color:rgba(255,244,223,.72)}.food-card{border-color:rgba(255,248,232,.17);background:linear-gradient(145deg,#385a45,#294434 78%);box-shadow:0 15px 35px rgba(14,30,20,.17);transition:transform .25s,border-color .25s}.food-card:hover{transform:translateY(-4px);border-color:rgba(236,188,116,.55)}.food-card::after{border-color:rgba(236,188,116,.2);box-shadow:0 0 0 20px rgba(236,188,116,.04),0 0 0 40px rgba(236,188,116,.025)}.food-number{color:#edbd77}.food-card h3{color:#fff5e1}.food-card p{color:rgba(255,245,227,.76)}.food-foot{color:#e6d6b9}.food-foot::before{background:#e2b66f;box-shadow:0 0 10px rgba(226,182,111,.58)}
.gallery-section{background:#eee3cf}.gallery-head h2{color:#29372e}.gallery-head p,.gallery-note{color:#68685d}.photo-card{border-color:rgba(57,53,38,.17);box-shadow:0 14px 32px rgba(71,48,22,.13)}.photo-card figcaption{background:linear-gradient(0deg,rgba(28,43,32,.88),transparent);color:#fff5e3}
.reservation-section{background:#e8deca}.reservation-intro h2{color:#29372e}.reservation-intro>p{color:#63685d}.reservation-steps .step{color:#726f63}.step.is-current,.step.is-done{color:#344b39}.step-num{border-color:rgba(45,73,51,.24)}.step.is-current .step-num,.step.is-done .step-num{color:#fff8ea;border-color:#b65b3a;background:#b65b3a}.step-connector{background:rgba(45,73,51,.2)}.call-card{border-color:rgba(49,70,50,.16);color:#5b6258;background:rgba(255,251,241,.7)}.call-card svg{stroke:#a65337}.call-card a{color:#a65337}.booking-panel,.map-panel,.ticket-panel{border-color:rgba(50,64,48,.14);color:#28352c;background:#fffaf0;box-shadow:var(--shadow)}.booking-panel h3,.map-panel-head h3,.ticket-heading h3{color:#26392e}.panel-sub,.map-panel-head p{color:#777366}.field label{color:#454d41}.field input,.field select{border-color:rgba(55,67,50,.2);color:#26342b;background:#fffdf8;color-scheme:light}.field input::placeholder{color:#9b9587}.field-help,.privacy{color:#777366}.form-feedback{color:#9e4028}.availability{color:#a65337}.map-legend{color:#62675d}.legend-dot{background:#9a7751}.legend-dot.selected{background:#b75b3b}.legend-dot.busy{background:#9d9a90}.map-disclaimer{color:#777366}.map-summary{border-color:rgba(50,64,48,.14)}.map-summary p{color:#455044}.map-summary strong{color:#a65337}.ticket-panel{border-color:rgba(70,116,75,.35);background:linear-gradient(145deg,#eef3df,#fffaf0)}.ticket-heading p{color:#63725c}.ticket-check{color:#173b29;background:#c4d79f}.ticket-detail{border-color:rgba(50,64,48,.13)}.ticket-detail small{color:#777366}.ticket-detail strong{color:#29372e}.ticket-footnote{color:#6e7167}.btn{color:#fff8ea;background:#b65b3a}.btn:hover{color:#fff8ea;background:#98462c;box-shadow:0 10px 26px rgba(140,69,42,.22)}.btn-outline{color:#314938;border-color:rgba(49,73,56,.25);background:rgba(255,255,255,.45)}.btn-outline:hover{color:#fff8ea;border-color:#31533f;background:#31533f}.btn:disabled{background:#b65b3a}.location{background:#f7f1e5}.location-card{border-color:rgba(55,67,50,.14);background:#fffaf0;box-shadow:var(--shadow)}.location-card>p{color:#62675d}.contact-row{color:#343f35}.contact-row>span:first-child{border-color:rgba(183,91,59,.25);color:#a65337;background:#f8ede0}.contact-row a:hover{color:#a65337}.hours-box{border-color:#b65b3a;color:#655f51;background:#f4ead8}.hours-box strong{color:#3d4d3e}.map-frame{border-color:rgba(55,67,50,.16);box-shadow:var(--shadow)}.map-frame iframe{filter:sepia(.28) saturate(.72) contrast(.94)}.site-footer{background:#203b2d}.footer-brand p,.footer-links{color:#d9d0be}.footer-links a:hover{color:#edbd77}.source-note{border-color:rgba(255,255,255,.15);color:#c0b9a8}.source-note a{color:#edc27d}.toast{border-color:rgba(205,231,182,.5);background:rgba(37,88,58,.96)}
@keyframes float-card{0%,100%{transform:translateY(0) rotate(1.2deg)}50%{transform:translateY(-9px) rotate(.2deg)}}
@media(max-width:940px){.hero-layout{grid-template-columns:1fr .9fr;gap:22px}.hero-float-card{padding:24px}.hero h1{font-size:clamp(3.25rem,7vw,5.5rem)}}
@media(max-width:720px){.site-header{padding:14px 0;background:rgba(29,53,39,.78)}.main-nav{display:none}.hero{min-height:auto;padding-top:84px}.hero::before{background:linear-gradient(90deg,rgba(17,35,26,.92),rgba(22,38,28,.58)),linear-gradient(0deg,rgba(17,35,26,.75),transparent 64%),url("./assets/piraju-botequim-chope.webp") center 42%/cover no-repeat}.hero-layout{grid-template-columns:1fr;gap:5px;padding-top:25px;padding-bottom:186px}.hero-copy{max-width:570px}.hero h1{font-size:clamp(3.2rem,14vw,5.1rem);line-height:.98}.hero-art{min-height:auto;justify-content:center;margin:20px 0 0;padding:0}.hero-float-card{width:min(390px,100%);padding:22px 23px;transform:none;animation:none}.hero-float-card h2{font-size:2rem}.float-divider{margin:15px 0 13px}.float-link{margin-top:14px;padding-top:12px}.quick-info{bottom:12px;width:calc(100% - 24px);border-radius:15px}.quick-grid{grid-template-columns:1fr 1fr}.quick-item{min-height:62px;padding:9px 10px}.quick-item:first-child{padding-left:10px}.quick-item:last-child{display:none}.quick-item strong{font-size:.65rem}.quick-item small{font-size:.52rem}.quick-icon{width:30px;height:30px;border-radius:10px}.story-grid,.reservation-grid,.location-grid{grid-template-columns:1fr}.story-copy,.reservation-intro{position:static}.reservation-intro h2{font-size:2.7rem}.reservation-intro>p{max-width:570px}.booking-panel{background:#fffaf0}.map-panel{background:#fffaf0}.ticket-panel{background:linear-gradient(145deg,#eef3df,#fffaf0)}.location-card{background:#fffaf0}.source-note{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.hero-layout{padding-bottom:178px}.hero h1{font-size:clamp(3rem,13.8vw,4rem)}.hero-copy>p{font-size:.91rem}.hero-actions{max-width:320px}.hero-actions .btn{width:100%}.hero-float-card{padding:19px}.quick-item{gap:7px}.quick-icon{display:none}.float-hours{gap:7px 12px}.floor-plan{padding:8px}.tables-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-panel{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){.hero-float-card{animation:none}}

/* Abertura com imagens reais da casa e ajustes de acabamento/responsividade */
.brand-mark{display:grid;place-items:center;overflow:hidden;width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.hero{display:block;min-height:0;padding:126px 0 16px;background:radial-gradient(ellipse at 76% 25%,rgba(211,157,94,.18),transparent 35%),linear-gradient(120deg,#1d392c 0%,#2c4936 56%,#4a3828 100%)}
.hero::before{background:linear-gradient(90deg,rgba(17,35,26,.94) 0%,rgba(22,38,28,.82) 39%,rgba(25,35,25,.53) 72%,rgba(24,31,23,.43) 100%),linear-gradient(0deg,rgba(17,35,26,.66),transparent 54%),url("./assets/piraju-hero-bg.webp") center 54%/cover no-repeat;filter:brightness(.72) saturate(.82) blur(1.1px);transform:scale(1.035)}
.hero::after{opacity:.14;background:radial-gradient(circle at 60% 31%,rgba(238,186,110,.6) 0 1px,transparent 2px);background-size:64px 61px}
.hero-layout{width:min(1200px,calc(100% - 48px));grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:center;gap:clamp(28px,5vw,66px);padding:34px 0 43px}
.hero-copy{max-width:610px}
.hero h1{font-size:clamp(2.9rem,4.7vw,4.55rem);line-height:.99;letter-spacing:-.05em}
.hero-copy>p{max-width:470px;font-size:1rem;line-height:1.75}
.hero-actions{gap:10px;margin-top:25px}
.hero-note{flex-wrap:wrap;line-height:1.55}
.hero-art{position:relative;display:flex;min-height:390px;align-items:center;justify-content:flex-end;padding:0 8px;overflow:visible}

.hero-float-card{position:relative;z-index:2;right:auto;bottom:auto;left:auto;width:min(360px,100%);margin:0;padding:25px 27px 22px;border-color:rgba(255,255,255,.75);border-radius:20px;background:rgba(251,247,237,.97);box-shadow:0 24px 58px rgba(7,17,10,.3);transform:rotate(-1deg);animation:float-card 7s ease-in-out infinite}
.hero-float-card h2{font-size:clamp(1.9rem,3vw,2.35rem)}
.quick-info{position:relative;inset:auto;width:min(1200px,calc(100% - 48px));margin:-2px auto 0;transform:none;overflow:hidden;border:1px solid rgba(255,247,232,.2);border-radius:18px;background:rgba(27,52,39,.82);box-shadow:0 16px 38px rgba(0,0,0,.17);backdrop-filter:blur(16px)}
.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.quick-item{min-width:0;min-height:76px;padding:14px 18px;border-color:rgba(255,247,232,.12)}
.quick-item:first-child{padding-left:18px}
.quick-item strong{font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
.story-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(28px,5vw,64px)}
.story-copy{top:30px}
.story-copy p{line-height:1.78}
.story-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.info-card{min-width:0;min-height:205px;padding:23px;border-radius:19px}
.info-card:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(210px,.82fr);gap:22px}
.info-card h3{margin-top:15px;line-height:1.2}
.info-card p{line-height:1.72}
.mini-photo{height:178px;border-radius:15px}
.food-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.food-card{display:flex;min-width:0;min-height:295px;flex-direction:column;padding:27px;border-radius:21px}
.food-card h3{margin:38px 0 12px;font-size:clamp(1.45rem,2vw,1.8rem)}
.food-card p{line-height:1.75}
.food-foot{margin-top:auto;padding-top:22px;line-height:1.45}
.photo-grid{gap:16px}
.photo-card{min-width:0;border-radius:18px}
.photo-card img{width:100%;height:100%;object-fit:cover}
.reservation-grid,.location-grid{gap:clamp(28px,4vw,54px)}
.booking-panel,.map-panel,.ticket-panel,.location-card{border-radius:22px}
.field input,.field select{min-height:48px}
.map-frame{min-height:440px;overflow:hidden;border-radius:22px}
.map-frame iframe{min-height:440px}
.site-footer .brand-mark{background:#fff}

@media(max-width:980px){
  .hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:26px}
  .hero h1{font-size:clamp(2.9rem,5.3vw,4.2rem)}
  .hero-art{min-height:350px}
  .hero-float-card{width:min(340px,100%);padding:22px 24px 20px}
  .story-grid{grid-template-columns:1fr;gap:30px}
  .story-copy{position:static;max-width:680px}
  .food-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .food-card:last-child{grid-column:1/-1;min-height:235px}
  .map-frame,.map-frame iframe{min-height:390px}
}
@media(max-width:720px){
  .site-header{padding:12px 0;background:rgba(29,53,39,.91)}
  .brand-mark{width:38px;height:38px;flex-basis:38px}
  .hero{padding:90px 0 18px}
  .hero-layout{width:calc(100% - 32px);grid-template-columns:1fr;gap:5px;padding:24px 0 0}
  .hero-copy{max-width:620px}
  .hero-label{font-size:.61rem;letter-spacing:.12em}
  .hero h1{margin:17px 0 14px;font-size:clamp(2.75rem,11.2vw,4rem);line-height:1.01}
  .hero-copy>p{max-width:560px;font-size:.96rem;line-height:1.68}
  .hero-actions{margin-top:21px}
  .hero-note{margin-top:18px;font-size:.72rem}
  .hero-art{display:flex;min-height:0;flex-direction:column;align-items:center;justify-content:center;margin:21px 0 0;padding:0;gap:0}
  .hero-float-card{position:relative;right:auto;bottom:auto;left:auto;align-self:center;width:min(420px,100%);margin:0;padding:20px 21px 18px;transform:none;animation:none;border-radius:18px}
  .hero-float-card h2{font-size:1.95rem}
  .float-kicker{margin-bottom:12px;font-size:.58rem}
  .float-divider{margin:14px 0 12px}
  .float-link{margin-top:13px;padding-top:11px}
  .quick-info{width:calc(100% - 32px);margin:20px auto 0;border-radius:16px}
  .quick-grid{grid-template-columns:1fr}
  .quick-item,.quick-item:first-child{min-height:58px;padding:10px 13px;border-right:0;border-bottom:1px solid rgba(255,247,232,.12)}
  .quick-item:last-child{display:flex;border-bottom:0}
  .quick-item strong{font-size:.73rem}
  .quick-item small{font-size:.55rem}
  .quick-icon{display:grid;width:32px;height:32px}
  .section{padding:68px 0}
  .story-grid{gap:26px}
  .story-copy h2{font-size:clamp(2.35rem,9vw,3.15rem)}
  .story-cards{gap:12px}
  .info-card{min-height:180px;padding:19px}
  .info-card:first-child{grid-template-columns:1fr;gap:16px}
  .mini-photo{height:auto;aspect-ratio:16 / 9}
  .food-head{display:block}
  .food-head .section-head{margin-bottom:18px}
  .food-head .micro-note{max-width:none;margin:0 0 25px}
  .food-cards{grid-template-columns:1fr;gap:13px}
  .food-card,.food-card:last-child{grid-column:auto;min-height:0;padding:23px}
  .food-card h3{margin:26px 0 10px;font-size:1.65rem}
  .food-foot{margin-top:18px;padding-top:0}
  .gallery-head{display:block;margin-bottom:22px}
  .gallery-head p{margin-top:12px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .photo-card{height:clamp(190px,55vw,260px)}
  .reservation-section{padding:68px 0}
  .reservation-grid{gap:25px}
  .reservation-intro h2{font-size:2.55rem}
  .reservation-steps{flex-wrap:wrap;gap:8px}
  .step-connector{flex:1 1 10px}
  .booking-panel,.map-panel,.ticket-panel{padding:21px 18px;border-radius:19px}
  .form-grid{grid-template-columns:1fr 1fr;gap:14px}
  .field.full{grid-column:1/-1}
  .form-bottom{align-items:stretch;flex-direction:column}
  .form-bottom .btn,.map-summary .btn{width:100%}
  .map-panel-head{align-items:flex-start;gap:10px}
  .availability{max-width:125px;text-align:right}
  .floor-plan{padding:10px}
  .floor-interior{padding:12px 7px}
  .tables-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px 2px}
  .table-unit{height:65px}
  .table-top{width:38px;height:29px}
  .chair{width:11px;height:7px}
  .map-summary{align-items:stretch;flex-direction:column}
  .ticket-details{grid-template-columns:1fr 1fr}
  .ticket-actions{flex-wrap:wrap}
  .ticket-actions .btn{flex:1 1 100%}
  .location-grid{gap:20px}
  .location-card{padding:24px 20px}
  .map-frame,.map-frame iframe{min-height:340px}
  .footer-main,.source-note{align-items:flex-start;flex-direction:column;gap:20px}
  .footer-links{flex-wrap:wrap;gap:12px 18px}
}
@media(max-width:420px){
  .hero-layout{width:calc(100% - 28px)}
  .hero h1{font-size:clamp(2.55rem,10.6vw,3.2rem)}
  .hero-actions{align-items:stretch;flex-direction:column;max-width:320px}
  .hero-actions .btn{width:100%}
  .hero-float-card{width:calc(100% - 8px);margin-left:4px;padding:18px 17px 16px}
  .float-hours{gap:7px 12px}
  .quick-info{width:calc(100% - 28px)}
  .story-cards{grid-template-columns:1fr}
  .info-card:first-child{grid-column:auto}
  .food-card,.food-card:last-child{padding:21px}
  .photo-card{height:200px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .booking-panel,.map-panel,.ticket-panel{padding:19px 14px}
  .tables-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 1px}
  .ticket-details{grid-template-columns:1fr}
  .ticket-detail:nth-child(even){padding-left:0;border-left:0}
  .map-frame,.map-frame iframe{min-height:305px}
  .footer-links{gap:10px 13px}
}
@media(prefers-reduced-motion:reduce){.hero-float-card{animation:none}}


.hero-float-card-feature{width:min(370px,100%);padding:28px 30px 25px;transform:rotate(1.2deg);animation:float-card 7s ease-in-out infinite}
@media(max-width:720px){.hero-float-card-feature{width:min(420px,100%);padding:20px 21px 18px;transform:none;animation:none}}
@media(max-width:420px){.hero-float-card-feature{width:100%;padding:18px 17px 16px}}
/* Sistema visual final: editorial, acolhedor e leve */
:root{color-scheme:light;--serif:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Avenir Next","Segoe UI",system-ui,sans-serif;--page:#f3eee2;--surface:#fbf8ef;--surface-soft:#f7f1e5;--ink:#26342b;--muted:#62675e;--quiet:#777366;--forest:#2e5140;--forest-deep:#203b2d;--terracotta:#b65b3a;--terracotta-hover:#98462c;--gold:#e0b971;--soft-line:rgba(50,76,55,.15)}
html{scroll-padding-top:92px}
body{background:var(--page);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;letter-spacing:.006em;transition:background-color .32s ease,color .32s ease}
::selection{color:#fff8ea;background:var(--terracotta)}
.wrap{width:min(1210px,calc(100% - 72px))}
.section{padding:clamp(74px,8vw,104px) 0;color:var(--ink)}
.kicker{font-size:.64rem;letter-spacing:.17em}
.section-head h2,.story-copy h2,.gallery-head h2,.reservation-intro h2,.location-card h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.section-head p,.story-copy p,.gallery-head p,.reservation-intro>p,.location-card>p{font-size:.92rem;line-height:1.78}
.site-header{padding:17px 0;background:linear-gradient(180deg,rgba(24,40,31,.66),rgba(24,40,31,.08));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.brand{gap:11px}.brand-mark{width:40px;height:40px;flex-basis:40px;overflow:hidden;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.12)}.brand-logo{width:100%;height:100%;object-fit:cover;border-radius:inherit}.brand-name{font-size:1.42rem}.main-nav{gap:clamp(16px,2.6vw,34px)}.main-nav a{position:relative;padding:7px 0;font-size:.76rem;letter-spacing:.025em}.main-nav a::after{position:absolute;right:0;bottom:1px;left:0;height:1px;background:var(--gold);content:"";transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.main-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-tools{gap:7px}.icon-tile{width:40px;height:40px;border-color:rgba(255,247,232,.2);border-radius:13px;background:rgba(255,255,255,.09);color:#fff8ea;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .22s ease,background .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease}.icon-tile:hover,.icon-tile:active,.icon-tile.is-clicking{transform:translateY(-2px);border-color:rgba(255,255,255,.35);background:var(--terracotta);color:#fff8ea;box-shadow:0 8px 18px rgba(152,70,44,.22)}.icon-tile:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.theme-toggle svg{width:18px;height:18px}.theme-sun{display:none}html[data-theme="dark"] .theme-moon{display:none}html[data-theme="dark"] .theme-sun{display:block}
.hero{min-height:0;padding:119px 0 18px;background:#1d392c}.hero::before{background:linear-gradient(90deg,rgba(19,39,29,.88) 0%,rgba(24,43,32,.7) 42%,rgba(26,39,30,.42) 74%,rgba(24,31,23,.4) 100%),linear-gradient(0deg,rgba(17,35,26,.56),transparent 58%),url("./assets/piraju-hero-bg.webp") center 54%/cover no-repeat;filter:brightness(.86) saturate(.82);transform:scale(1.02)}.hero::after{opacity:.11;background:radial-gradient(circle at 60% 31%,rgba(238,186,110,.42) 0 1px,transparent 2px);background-size:74px 69px}
.hero-layout{width:min(1210px,calc(100% - 72px));grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:clamp(34px,5vw,64px);padding:35px 0 38px}.hero-copy{max-width:610px}.hero-label{font-size:.62rem;letter-spacing:.15em;color:#f3d9b2}.hero h1{margin:21px 0 17px;font-size:clamp(3.25rem,6.1vw,5.35rem);line-height:.98;letter-spacing:-.055em}.hero h1 em{color:#e8b777}.hero-copy>p{max-width:470px;font-size:.98rem;line-height:1.75;color:rgba(255,248,234,.84)}.hero-actions{gap:10px;margin-top:25px}.hero-note{gap:9px;margin-top:20px;font-size:.73rem;color:rgba(255,248,234,.76)}.hero-note svg{stroke:#e0b971}.hero-art{min-height:376px;justify-content:flex-end;padding:0 10px 0 0}.hero-float-card-feature{width:min(370px,100%);padding:25px 27px 23px;border-color:rgba(255,255,255,.78);border-radius:22px;background:rgba(251,247,237,.97);box-shadow:0 26px 68px rgba(9,22,14,.25);transform:rotate(.5deg);animation:float-card 9s ease-in-out infinite}.hero-float-card h2{font-size:clamp(1.9rem,3.15vw,2.45rem);line-height:1.08}.float-kicker{font-size:.58rem;letter-spacing:.17em}.float-divider{margin:19px 0 15px}.float-hours{gap:8px 16px}.float-hours span{font-size:.57rem}.float-hours strong{font-size:.82rem}.float-link{margin-top:17px;padding-top:13px;font-size:.75rem}.float-link-label{display:inline-flex;align-items:center;gap:8px}.float-link-label svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick-info{position:relative;inset:auto;width:min(1210px,calc(100% - 72px));margin:0 auto 0;transform:none;border:1px solid rgba(255,247,232,.16);border-radius:18px;background:rgba(31,58,43,.78);box-shadow:0 14px 34px rgba(8,19,12,.15);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-item,.quick-item:first-child{min-width:0;min-height:72px;padding:12px 19px;border-right:1px solid rgba(255,247,232,.12)}.quick-item:last-child{border:0}.quick-icon{width:33px;height:33px;border-radius:11px;border-color:rgba(224,185,113,.37);color:#e0b971}.quick-item small{color:#ddceb4;font-size:.56rem}.quick-item strong{color:#fff8ea;font-size:.72rem;line-height:1.4;overflow-wrap:anywhere}.quick-item a{color:inherit;text-decoration:none}.quick-item a:hover{color:#f0c47d}
.story{background:var(--surface)}.story-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(34px,5vw,68px)}.story-copy{position:static}.story-copy h2{font-size:clamp(2.5rem,4.2vw,3.65rem);line-height:1.02}.story-copy h2 em,.reservation-intro h2 em{color:var(--terracotta)}.story-copy p{color:var(--muted)}.story-date{border-color:var(--soft-line);background:rgba(255,255,255,.35);color:#4c554a}.story-date b{color:var(--terracotta)}.story-cards{gap:14px}.info-card{min-width:0;min-height:190px;padding:22px;border-color:var(--soft-line);border-radius:18px;background:rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(63,46,24,.045);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease}.info-card:hover{transform:translateY(-3px);border-color:rgba(182,91,58,.26);background:#fffdf8;box-shadow:0 14px 30px rgba(63,46,24,.09)}.info-card:first-child{grid-template-columns:minmax(0,1fr) minmax(195px,.82fr);gap:20px}.info-card h3{margin:14px 0 8px;color:#2a4133;font-size:1.3rem;line-height:1.18}.info-card p{color:var(--muted);font-size:.8rem;line-height:1.68}.card-icon{width:37px;height:37px;border-radius:12px;border-color:rgba(182,91,58,.2);background:#f8efe2;color:var(--terracotta)}.mini-photo{height:164px;border-radius:14px}.image-tag{font-size:.56rem}
.food{color:#fff7e9;background:#294634}.food .kicker{color:#e6b775}.food-head{gap:34px}.food-head .section-head{margin-bottom:28px}.food-head .micro-note{max-width:280px;margin-bottom:32px;color:rgba(255,247,233,.72);font-size:.72rem;line-height:1.65}.food .section-head h2{color:#fff8eb}.food .section-head h2 em{color:#e6b775}.food-card{min-height:270px;padding:27px;border-color:rgba(255,248,232,.13);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(12,30,19,.18));box-shadow:0 12px 28px rgba(14,30,20,.12);transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease}.food-card:hover{transform:translateY(-4px);border-color:rgba(230,183,117,.36);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(12,30,19,.18));box-shadow:0 18px 34px rgba(14,30,20,.19)}.food-card::after{width:155px;height:155px;border-color:rgba(230,183,117,.13);box-shadow:0 0 0 17px rgba(230,183,117,.022),0 0 0 34px rgba(230,183,117,.018)}.food-number{color:#e6b775;font-size:.82rem}.food-card h3{margin:36px 0 11px;font-size:1.58rem;line-height:1.1}.food-card p{color:rgba(255,247,233,.76);font-size:.81rem;line-height:1.7}.food-foot{margin-top:20px;color:#e9d7b8;font-size:.68rem}
.gallery-section{padding-top:clamp(74px,8vw,104px);background:#eee5d4}.gallery-head{margin-bottom:28px}.gallery-head h2{font-size:clamp(2.35rem,4vw,3.4rem);line-height:1.04;color:#29372e}.gallery-head p{max-width:380px;color:#66685e;font-size:.86rem}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.photo-card{height:auto;aspect-ratio:.82;margin:0;min-width:0;border:1px solid rgba(57,53,38,.15);border-radius:17px;background:#d8ccb5;box-shadow:0 12px 30px rgba(71,48,22,.1);transform:none!important}.photo-card img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .65s cubic-bezier(.2,.7,.25,1),filter .4s}.photo-card:hover img{transform:scale(1.045);filter:saturate(1.04)}.photo-card figcaption{padding:44px 14px 14px;font:500 .93rem/1.35 var(--serif);background:linear-gradient(0deg,rgba(24,43,32,.82),rgba(24,43,32,.3) 54%,transparent);color:#fff8eb}
.reservation-section{padding:clamp(76px,8vw,102px) 0;background:#e8dfce}.reservation-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(30px,5vw,64px);align-items:center}.reservation-intro{position:static}.reservation-intro h2{font-size:clamp(2.55rem,4.4vw,3.85rem);line-height:1.02}.reservation-intro>p{max-width:450px;color:#62675e}.reservation-points{display:grid;gap:12px;margin-top:25px}.reservation-point{display:flex;align-items:center;gap:12px}.reservation-note-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(49,83,63,.16);border-radius:12px;background:rgba(255,255,255,.42);color:var(--forest)}.reservation-note-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.reservation-point strong,.reservation-point small{display:block}.reservation-point strong{font-size:.79rem;color:var(--ink)}.reservation-point small{font-size:.69rem;color:#777366}.booking-panel{padding:clamp(22px,3vw,32px);border:1px solid rgba(50,64,48,.12);border-radius:23px;background:rgba(255,252,244,.88);box-shadow:0 20px 54px rgba(50,38,22,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.booking-heading{margin-bottom:20px}.booking-eyebrow{color:var(--terracotta);font-size:.58rem;font-weight:800;letter-spacing:.16em}.booking-panel h3{margin:8px 0 5px;font:500 1.55rem/1.2 var(--serif);color:var(--forest-deep)}.booking-heading p{margin:0;color:#777366;font-size:.76rem;line-height:1.55}.form-grid{gap:15px 13px}.field{gap:6px}.field label{color:#454d41;font-size:.71rem;font-weight:650}.field label span{color:#898477;font-weight:450}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:10px 13px;border:1px solid rgba(55,67,50,.17);border-radius:12px;color:#26342b;background:rgba(255,255,255,.74);font-size:.78rem;color-scheme:light;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.field textarea{min-height:82px;resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(46,81,64,.52);background:#fffdf8;box-shadow:0 0 0 3px rgba(46,81,64,.08);outline:0}.field input::placeholder,.field textarea::placeholder{color:#9b9587}.form-bottom{align-items:center;margin-top:18px}.privacy{max-width:245px;margin:0;color:#777366;font-size:.64rem;line-height:1.5}.form-feedback{margin:13px 0 0;padding:10px 12px;border:1px solid rgba(46,81,64,.15);border-radius:11px;background:rgba(46,81,64,.06);color:#31533f;font-size:.72rem;line-height:1.5}.whatsapp-fallback{display:inline-flex;margin-top:8px;color:var(--terracotta);font-size:.73rem;font-weight:700;text-decoration:none}.whatsapp-fallback:hover{text-decoration:underline}
.location{background:var(--surface)}.location-grid{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(22px,4vw,52px);align-items:stretch}.location-card{padding:clamp(23px,3vw,34px);border:1px solid var(--soft-line);border-radius:22px;background:#fffaf0;box-shadow:0 16px 42px rgba(50,38,22,.07)}.location-card h2{margin:10px 0 13px;font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.04}.location-card>p{margin:0 0 19px;color:#62675d;font-size:.85rem}.contact-list{gap:12px}.contact-row{gap:11px;font-size:.77rem;line-height:1.4}.contact-row>span:first-child{width:34px;height:34px;border-radius:11px;border-color:rgba(49,83,63,.13);background:#f7f1e5;color:var(--forest)}.contact-row>span:first-child svg{width:16px;height:16px}.location-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px}.hours-box{margin-top:17px;padding:12px 14px;border:1px solid rgba(49,83,63,.1);border-left:2px solid var(--gold);border-radius:12px;background:#f6f0e3;color:#68685d;font-size:.68rem;line-height:1.6}.hours-box strong{color:var(--forest-deep)}.map-frame{position:relative;min-height:510px;overflow:hidden;border:1px solid rgba(49,83,63,.16);border-radius:22px;background:#e5e2d8;box-shadow:0 17px 42px rgba(50,38,22,.1)}.map-frame iframe{display:block;width:100%;height:100%;min-height:510px;border:0;filter:sepia(.13) saturate(.78) contrast(.97)}.map-open-link{position:absolute;z-index:2;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.24);border-radius:12px;color:#fff8ea;background:rgba(32,59,45,.9);box-shadow:0 8px 22px rgba(20,39,28,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.72rem;font-weight:700;text-decoration:none;transition:background .2s,transform .2s}.map-open-link:hover{transform:translateY(-2px);background:var(--terracotta)}.map-open-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-footer{padding:34px 0 20px;background:#203b2d}.footer-main{align-items:center;padding-bottom:25px}.footer-brand p{margin:10px 0 0;color:#d9d0be;font-size:.78rem}.footer-links{display:flex;flex-wrap:wrap;gap:10px 19px}.footer-links a{color:#e4ddcf;font-size:.71rem;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:#edbd77}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);color:#c0b9a8;font-size:.64rem;line-height:1.5}
.btn{min-height:45px;padding:0 17px;border-radius:14px;color:#fff8ea;background:var(--forest);font-size:.77rem;font-weight:680;letter-spacing:.005em;box-shadow:0 5px 15px rgba(32,59,45,.12);transition:transform .2s ease,background .25s ease,box-shadow .25s ease,color .2s ease,border-color .2s ease}.btn:hover,.btn:active,.btn.is-clicking{transform:translateY(-2px);color:#fff8ea;background:var(--terracotta);box-shadow:0 9px 21px rgba(152,70,44,.2)}.btn:active{transform:translateY(0) scale(.985);background:var(--terracotta-hover)}.btn:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.btn:disabled,.btn:disabled:hover{cursor:not-allowed;transform:none;color:#777b72;background:#d2d2c8;box-shadow:none}.btn-outline{color:var(--forest);border-color:rgba(49,83,63,.2);background:rgba(255,252,244,.38);box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-outline:hover,.btn-outline:active,.btn-outline.is-clicking{color:#fff8ea;border-color:var(--terracotta);background:var(--terracotta);box-shadow:0 8px 18px rgba(152,70,44,.17)}.hero .btn-outline{color:#fff8ea;border-color:rgba(255,248,234,.34);background:rgba(255,255,255,.11);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hero .btn-outline:hover,.hero .btn-outline:active,.hero .btn-outline.is-clicking{border-color:var(--terracotta);background:var(--terracotta)}.btn-action{gap:9px}.btn-icon{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn-arrow{font-size:.9rem;transition:transform .2s ease}.btn:hover .btn-arrow{transform:translate(2px,-1px)}.reservation-cta{min-height:48px}.form-bottom .btn{flex:0 0 auto}
.call-card{border-color:rgba(49,83,63,.14);background:rgba(255,255,255,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@keyframes soft-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .reveal:nth-child(2){transition-delay:.06s}.motion-ready .reveal:nth-child(3){transition-delay:.12s}.motion-ready .reveal:nth-child(4){transition-delay:.18s}
html[data-theme="dark"]{color-scheme:dark;--page:#141c16;--surface:#18241c;--surface-soft:#202c22;--ink:#f4efe4;--muted:#d0cabc;--quiet:#b1aa9a;--soft-line:rgba(255,248,232,.13);--forest:#93ad83;--forest-deep:#eceddf;--terracotta:#c57450;--terracotta-hover:#a95535}
html[data-theme="dark"] body{background:var(--page);color:var(--ink)}html[data-theme="dark"] .kicker{color:#e6b775}html[data-theme="dark"] .story,html[data-theme="dark"] .location{background:var(--surface)}html[data-theme="dark"] .gallery-section{background:#1d2b21}html[data-theme="dark"] .reservation-section{background:#202a20}html[data-theme="dark"] .story-copy h2,html[data-theme="dark"] .section-head h2,html[data-theme="dark"] .gallery-head h2,html[data-theme="dark"] .reservation-intro h2,html[data-theme="dark"] .location-card h2{color:#f4efe4}html[data-theme="dark"] .story-copy h2 em,html[data-theme="dark"] .reservation-intro h2 em{color:#dc956d}html[data-theme="dark"] .story-copy p,html[data-theme="dark"] .section-head p,html[data-theme="dark"] .gallery-head p,html[data-theme="dark"] .reservation-intro>p,html[data-theme="dark"] .location-card>p{color:#c9c5b8}html[data-theme="dark"] .story-date{color:#e6e0d2;background:rgba(255,255,255,.04)}html[data-theme="dark"] .info-card{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.045);box-shadow:0 9px 25px rgba(0,0,0,.13)}html[data-theme="dark"] .info-card:hover{background:rgba(255,255,255,.075)}html[data-theme="dark"] .info-card h3{color:#f4efe4}html[data-theme="dark"] .info-card p{color:#c8c4b8}html[data-theme="dark"] .card-icon{border-color:rgba(220,149,109,.26);background:rgba(220,149,109,.1);color:#e6a37b}html[data-theme="dark"] .gallery-head p{color:#ccc5b4}html[data-theme="dark"] .reservation-point strong{color:#f3eee2}html[data-theme="dark"] .reservation-point small{color:#c4bdad}html[data-theme="dark"] .reservation-note-icon{border-color:rgba(255,248,232,.15);background:rgba(255,255,255,.06);color:#e0b971}html[data-theme="dark"] .booking-panel{border-color:rgba(255,255,255,.12);background:rgba(28,42,32,.92);box-shadow:0 20px 55px rgba(0,0,0,.22)}html[data-theme="dark"] .booking-panel h3{color:#f5eee1}html[data-theme="dark"] .booking-heading p,html[data-theme="dark"] .privacy{color:#c4bdad}html[data-theme="dark"] .field label{color:#e7e1d5}html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea{border-color:rgba(255,255,255,.15);color:#f4efe4;background:rgba(12,22,15,.66);color-scheme:dark}html[data-theme="dark"] .field input::placeholder,html[data-theme="dark"] .field textarea::placeholder{color:#a29c8e}html[data-theme="dark"] .form-feedback{border-color:rgba(165,206,147,.2);background:rgba(101,146,81,.12);color:#d8e7cc}html[data-theme="dark"] .contact-row{color:#e8e2d6}html[data-theme="dark"] .contact-row>span:first-child{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:#e0b971}html[data-theme="dark"] .location-card{border-color:rgba(255,255,255,.1);background:#1e2b21;box-shadow:0 16px 42px rgba(0,0,0,.18)}html[data-theme="dark"] .hours-box{border-color:rgba(255,255,255,.1);border-left-color:#e0b971;background:rgba(255,255,255,.045);color:#c9c3b4}html[data-theme="dark"] .hours-box strong{color:#f1e9d8}html[data-theme="dark"] .map-frame{border-color:rgba(255,255,255,.13);box-shadow:0 17px 42px rgba(0,0,0,.2)}html[data-theme="dark"] .map-frame iframe{filter:brightness(.84) saturate(.68) contrast(.96)}html[data-theme="dark"] .btn{color:#203b2d;background:#e0b971;box-shadow:0 5px 15px rgba(0,0,0,.18)}html[data-theme="dark"] .btn:hover,html[data-theme="dark"] .btn:active,html[data-theme="dark"] .btn.is-clicking{color:#fff8ea;background:var(--terracotta)}html[data-theme="dark"] .btn-outline{color:#f3ead7;border-color:rgba(243,234,215,.25);background:rgba(255,255,255,.06)}html[data-theme="dark"] .hero .btn-outline{color:#fff8ea;background:rgba(255,255,255,.11)}html[data-theme="dark"] .site-footer{background:#0f1812}html[data-theme="dark"] .quick-info{border-color:rgba(255,255,255,.12);background:rgba(18,33,23,.82)}html[data-theme="dark"] .footer-bottom{border-color:rgba(255,255,255,.12);color:#c4bdad}
@media(max-width:980px){.hero{min-height:0;padding-bottom:18px}.hero h1{font-size:clamp(2.6rem,5.6vw,4.1rem)}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:26px}.hero-art{min-height:330px}.hero-float-card-feature{width:min(360px,100%);padding:23px}.quick-item,.quick-item:first-child{padding:11px 13px}.quick-item strong{font-size:.67rem}.story-grid{gap:34px}.info-card:first-child{grid-template-columns:minmax(0,1fr) minmax(170px,.82fr)}.food-cards{gap:13px}.food-card{padding:23px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.photo-card{aspect-ratio:.94}.location-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.map-frame,.map-frame iframe{min-height:460px}}
@media(max-width:720px){.wrap,.hero-layout{width:calc(100% - 36px)}.site-header{padding:12px 0;background:rgba(29,53,39,.83)}.nav-row{gap:10px}.brand-mark{width:36px;height:36px;flex-basis:36px}.brand-name{font-size:1.26rem}.brand-name small{font-size:.45rem}.main-nav{display:none}.nav-tools{margin-left:auto;gap:6px}.icon-tile{width:37px;height:37px;border-radius:12px}.hero{padding:86px 0 16px}.hero-layout{grid-template-columns:1fr;gap:0;padding:22px 0 24px}.hero-copy{max-width:620px}.hero-label{font-size:.57rem;letter-spacing:.12em}.hero h1{margin:16px 0 13px;font-size:clamp(2.75rem,10.5vw,4.1rem)}.hero-copy>p{font-size:.92rem;line-height:1.66}.hero-actions{gap:9px;margin-top:19px}.hero-actions .btn{min-height:44px}.hero-note{margin-top:15px;font-size:.68rem}.hero-art{min-height:0;justify-content:center;margin:18px 0 4px;padding:0}.hero-float-card-feature{width:min(420px,100%);padding:20px 21px 18px;transform:none;animation:none}.hero-float-card h2{font-size:1.9rem}.quick-info{width:calc(100% - 36px);margin:0 auto;border-radius:15px}.quick-grid{grid-template-columns:1fr}.quick-item:last-child{display:flex}.quick-item,.quick-item:first-child{min-height:54px;padding:9px 12px;border-right:0;border-bottom:1px solid rgba(255,247,232,.12)}.quick-item:last-child{border-bottom:0}.quick-icon{width:30px;height:30px}.quick-item strong{font-size:.7rem}.section{padding:68px 0}.story-grid,.reservation-grid,.location-grid{grid-template-columns:1fr;gap:27px}.story-copy h2,.reservation-intro h2{font-size:clamp(2.45rem,9vw,3.25rem)}.story-cards{gap:11px}.info-card{padding:18px;min-height:172px}.info-card:first-child{grid-template-columns:1fr;gap:14px}.mini-photo{height:auto;aspect-ratio:16/9}.food-head{display:block}.food-head .section-head{margin-bottom:17px}.food-head .micro-note{max-width:none;margin:0 0 22px}.food-cards{grid-template-columns:1fr;gap:11px}.food-card,.food-card:last-child{grid-column:auto;min-height:0;padding:21px}.food-card h3{margin:25px 0 9px;font-size:1.52rem}.food-foot{margin-top:17px;padding-top:0}.gallery-section{padding-top:68px}.gallery-head{display:block;margin-bottom:21px}.gallery-head p{margin-top:10px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photo-card{aspect-ratio:.82}.photo-card figcaption{padding:35px 10px 11px;font-size:.84rem}.reservation-section{padding:68px 0}.reservation-intro>p{font-size:.88rem}.reservation-points{grid-template-columns:1fr 1fr;gap:10px}.reservation-point{align-items:flex-start;gap:8px}.reservation-note-icon{width:33px;height:33px;border-radius:10px}.reservation-point strong{font-size:.7rem}.reservation-point small{font-size:.62rem;line-height:1.4}.booking-panel{padding:21px 18px;border-radius:19px}.booking-panel h3{font-size:1.42rem}.form-grid{grid-template-columns:1fr 1fr;gap:12px}.field.full{grid-column:1/-1}.form-bottom{align-items:stretch;flex-direction:column}.privacy{max-width:none}.form-bottom .btn{width:100%}.location-card{padding:23px 20px}.location-actions .btn{flex:1 1 auto}.map-frame,.map-frame iframe{min-height:350px}.map-open-link{left:11px;bottom:11px}.footer-main{align-items:flex-start;flex-direction:column;gap:17px}.footer-links{gap:10px 14px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:420px){.wrap,.hero-layout{width:calc(100% - 28px)}.nav-tools{gap:5px}.icon-tile{width:35px;height:35px}.brand{gap:8px}.brand-mark{width:33px;height:33px;flex-basis:33px}.brand-name{font-size:1.15rem}.hero h1{font-size:clamp(2.5rem,10.1vw,3.2rem)}.hero-actions{align-items:stretch;flex-direction:column;max-width:310px}.hero-actions .btn{width:100%}.hero-float-card-feature{padding:18px 17px 16px}.quick-info{width:calc(100% - 28px)}.story-cards{grid-template-columns:1fr}.info-card:first-child{grid-column:auto}.food-card,.food-card:last-child{padding:19px}.photo-grid{gap:9px}.photo-card{aspect-ratio:.7}.photo-card figcaption{font-size:.77rem}.reservation-points{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.booking-panel{padding:19px 15px}.location-actions{flex-direction:column}.location-actions .btn{width:100%}.map-frame,.map-frame iframe{min-height:320px}.footer-links{gap:9px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .reveal,.motion-ready .reveal.is-visible{opacity:1;transform:none}}

/* Legibilidade e hierarquia */
body{font-size:16px;line-height:1.65}
.kicker{font-size:.68rem;font-weight:850;color:#87442f}
html[data-theme="dark"] .kicker{color:#f0c47d}
.main-nav a{color:rgba(255,248,234,.96);font-size:.82rem;font-weight:600}
.mobile-menu a{font-size:.92rem;font-weight:620}
.hero-label{font-size:.67rem;font-weight:760;color:#fff0d2}
.hero h1,.section-head h2,.story-copy h2,.gallery-head h2,.reservation-intro h2,.location-card h2{ text-wrap:balance }
.hero-copy>p{color:rgba(255,250,239,.93)}
.hero-note{font-size:.79rem;color:rgba(255,250,239,.9)}
.float-kicker{font-size:.64rem;font-weight:850;color:#984b32}
.float-hours span{font-size:.63rem;font-weight:750;color:#5a5a4e}
.float-hours strong{font-size:.88rem;color:#263b2e}
.float-link{font-size:.81rem;font-weight:750}
.quick-item small{font-size:.62rem;font-weight:750;color:#f0dfc1}
.quick-item strong{font-size:.78rem;font-weight:720}
.info-card p{font-size:.86rem;color:#50594f;line-height:1.72}
.image-tag{font-size:.61rem;font-weight:750}
.food-head .micro-note{font-size:.78rem;color:rgba(255,247,233,.86)}
.food-card p{font-size:.87rem;color:rgba(255,247,233,.9)}
.food-number{font-size:.86rem;font-weight:700}
.food-foot{font-size:.73rem;font-weight:680;color:#f3dfbd}
.gallery-head p{font-size:.91rem;color:#555b51}
.photo-card figcaption{font-size:1rem;font-weight:600}
.reservation-point strong{font-size:.84rem;font-weight:750}
.reservation-point small{font-size:.75rem;color:#625f54}
.booking-eyebrow{font-size:.64rem;font-weight:850}
.booking-heading p{font-size:.82rem;color:#5e5b51}
.field label{font-size:.77rem;font-weight:720;color:#343e34}
.field input,.field select,.field textarea{font-size:.84rem}
.privacy{font-size:.72rem;color:#5c5a50}
.form-feedback{font-size:.78rem;font-weight:560}
.contact-row{font-size:.83rem;font-weight:560}
.contact-row a{font-weight:700;text-underline-offset:3px}
.hours-box{font-size:.73rem;color:#55574e}
.map-open-link{font-size:.8rem;font-weight:760}
.footer-brand p{font-size:.83rem;color:#eee5d5}
.footer-links a{font-size:.78rem;font-weight:640;color:#f2eadc}
.footer-bottom{font-size:.7rem;color:#dfd6c5}
.btn{min-height:48px;padding-inline:19px;font-size:.86rem;font-weight:760;letter-spacing:.012em}
.btn-icon{width:17px;height:17px}
.icon-tile{border-color:rgba(255,248,234,.34);background:rgba(255,255,255,.14)}
.icon-tile svg{width:20px;height:20px}
.field input::placeholder,.field textarea::placeholder{color:#777366}
html[data-theme="dark"] .info-card p,html[data-theme="dark"] .gallery-head p,html[data-theme="dark"] .reservation-intro>p,html[data-theme="dark"] .location-card>p{color:#ded8ca}
html[data-theme="dark"] .reservation-point small,html[data-theme="dark"] .booking-heading p,html[data-theme="dark"] .privacy{color:#d7cfbd}
html[data-theme="dark"] .field label{color:#f0eadf}
html[data-theme="dark"] .field input::placeholder,html[data-theme="dark"] .field textarea::placeholder{color:#c1b9a8}
html[data-theme="dark"] .hours-box,html[data-theme="dark"] .hours-box strong{color:#e6dece}
html[data-theme="dark"] .footer-brand p,html[data-theme="dark"] .footer-links a,html[data-theme="dark"] .footer-bottom{color:#f0e8d9}
@media(max-width:720px){
  .hero-label{font-size:.62rem}
  .hero-note{font-size:.75rem}
  .quick-item small{font-size:.61rem}
  .quick-item strong{font-size:.76rem}
  .reservation-point strong{font-size:.82rem}
  .reservation-point small{font-size:.72rem}
  .footer-links a{font-size:.76rem}
}
@media(max-width:420px){
  .btn{font-size:.84rem}
  .quick-item strong{font-size:.74rem}
  .field label{font-size:.76rem}
}
@media(hover:none){
  .btn:hover:not(:active):not(.is-clicking),.btn-outline:hover:not(:active):not(.is-clicking){transform:none;color:#fff8ea;background:var(--forest);border-color:transparent;box-shadow:0 5px 15px rgba(32,59,45,.12)}
  .btn-outline:hover:not(:active):not(.is-clicking){color:var(--forest);border-color:rgba(49,83,63,.2);background:rgba(255,252,244,.38);box-shadow:none}
  .hero .btn-outline:hover:not(:active):not(.is-clicking){color:#fff8ea;border-color:rgba(255,248,234,.34);background:rgba(255,255,255,.11)}
  html[data-theme="dark"] .btn:hover:not(:active):not(.is-clicking){color:#203b2d;background:#e0b971;box-shadow:0 5px 15px rgba(0,0,0,.18)}
  html[data-theme="dark"] .btn-outline:hover:not(:active):not(.is-clicking){color:#f3ead7;border-color:rgba(243,234,215,.25);background:rgba(255,255,255,.06);box-shadow:none}
  html[data-theme="dark"] .hero .btn-outline:hover:not(:active):not(.is-clicking){color:#fff8ea;background:rgba(255,255,255,.11)}
  .icon-tile:hover:not(:active):not(.is-clicking){transform:none;border-color:rgba(255,248,234,.34);background:rgba(255,255,255,.14);color:#fff8ea;box-shadow:none}
}
/* Composição centralizada e adaptação para telas pequenas */
.hero-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:center;gap:clamp(28px,4vw,54px)}
.hero-copy{display:flex;flex-direction:column;align-items:center;margin-inline:auto;text-align:center}
.hero-label{justify-content:center}
.hero-copy>p{margin-inline:auto}
.hero-actions{justify-content:center}
.hero-note{justify-content:center;text-align:center}
.hero-art{justify-content:center;padding:0}
.quick-item{justify-content:center;text-align:left}
.story-grid{grid-template-columns:1fr;gap:34px}
.story-copy{max-width:780px;margin-inline:auto;text-align:center}
.story-copy h2{margin-inline:auto}
.story-copy p{max-width:700px;margin-inline:auto}
.story-date{justify-content:center;margin-inline:auto}
.story-cards{width:min(100%,1020px);margin-inline:auto}
.info-card{text-align:center}
.info-card>div:first-child{display:flex;flex-direction:column;align-items:center}
.info-card:first-child{grid-template-columns:minmax(0,1fr) minmax(220px,.82fr)}
.food-head{flex-direction:column;align-items:center;text-align:center}
.food-head .section-head{margin:0 auto 18px}
.food-head .micro-note{max-width:650px;margin:0 auto 30px}
.food-cards{width:min(100%,1080px);margin-inline:auto}
.food-card{text-align:center}
.food-card h3,.food-card p{margin-inline:auto}
.gallery-head{display:block;text-align:center}
.gallery-head>div{margin-inline:auto}
.gallery-head p{margin:12px auto 0}
.photo-grid{width:min(100%,1100px);margin-inline:auto}
.reservation-intro{text-align:center}
.reservation-intro>p{margin-inline:auto}
.reservation-points{display:flex;justify-content:center;flex-wrap:wrap}
.reservation-point{justify-content:center;text-align:left}
.booking-panel{width:100%;margin-inline:auto}
.booking-heading{text-align:center}
.location-card{text-align:center}
.contact-list{width:min(100%,350px);margin-inline:auto}
.contact-row{justify-content:center;text-align:left}
.location-actions{justify-content:center}
.hours-box{text-align:center}
.map-frame{width:100%;min-width:0}
.footer-main{align-items:center;flex-direction:column;text-align:center}
.footer-links{justify-content:center}
.footer-bottom{justify-content:center;flex-wrap:wrap;text-align:center}
@media(max-width:980px){
  .wrap{width:min(100% - 48px,820px)}
  .hero{padding-top:108px}
  .hero-layout{width:min(100% - 48px,820px);grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 0 26px}
  .hero-copy{max-width:760px}
  .hero-art{min-height:0}
  .hero-float-card-feature{width:min(440px,100%)}
  .quick-info{width:min(100% - 48px,820px)}
  .story-grid{gap:28px}
  .info-card:first-child{grid-template-columns:minmax(0,1fr) minmax(210px,.82fr)}
  .food-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .food-card:last-child{grid-column:1/-1;min-height:220px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .photo-card{aspect-ratio:1.02}
  .reservation-grid{grid-template-columns:1fr;max-width:820px;margin-inline:auto;gap:28px}
  .reservation-intro{max-width:720px;margin-inline:auto}
  .booking-panel{max-width:760px}
  .map-frame,.map-frame iframe{min-height:440px}
}
@media(max-width:720px){
  .wrap,.hero-layout{width:calc(100% - 36px)}
  .site-header{padding:10px 0}
  .nav-row{justify-content:space-between;gap:8px}
  .brand{gap:8px}
  .brand-mark{width:35px;height:35px;flex-basis:35px}
  .brand-name{font-size:1.17rem}
  .brand-name small{font-size:.43rem;letter-spacing:.13em}
  .nav-tools{gap:5px}
  .icon-tile{width:35px;height:35px;border-radius:11px}
  .hero{padding:86px 0 16px}
  .hero-layout{gap:18px;padding:22px 0 20px}
  .hero h1{max-width:640px;margin:14px auto;font-size:clamp(2.55rem,9.5vw,3.8rem);line-height:1.02}
  .hero-copy>p{max-width:560px;font-size:.94rem}
  .hero-actions{width:min(100%,380px);display:grid;grid-template-columns:1fr;gap:9px;margin:18px auto 0}
  .hero-actions .btn{width:100%;min-height:48px}
  .hero-note{max-width:430px;margin:15px auto 0}
  .hero-art{margin:6px 0 0}
  .hero-float-card-feature{width:min(440px,100%);padding:20px 21px 18px;transform:none;animation:none}
  .quick-info{width:calc(100% - 36px);margin:0 auto;border-radius:15px}
  .quick-grid{grid-template-columns:1fr}
  .quick-item,.quick-item:first-child{justify-content:flex-start;min-height:58px;padding:10px 13px;border-right:0;border-bottom:1px solid rgba(255,247,232,.12);text-align:left}
  .quick-item:last-child{display:flex;border-bottom:0}
  .quick-icon{width:32px;height:32px;flex:0 0 32px}
  .section{padding:64px 0}
  .section-head{margin:0 auto 28px;text-align:center}
  .section-head h2,.story-copy h2,.gallery-head h2,.reservation-intro h2,.location-card h2{font-size:clamp(2.15rem,8vw,3rem);line-height:1.06}
  .story-grid{gap:24px}
  .story-copy p{font-size:.92rem}
  .story-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .info-card{min-height:0;padding:20px 16px}
  .info-card:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:14px}
  .info-card:first-child>div:first-child{align-items:center}
  .mini-photo{height:auto;aspect-ratio:1.15}
  .food-head .section-head{margin-bottom:14px}
  .food-head .micro-note{margin-bottom:22px}
  .food-cards{grid-template-columns:1fr;gap:12px}
  .food-card,.food-card:last-child{grid-column:auto;min-height:0;padding:22px 20px}
  .food-card h3{margin:24px auto 10px;font-size:1.45rem}
  .food-card p{max-width:500px}
  .food-foot{margin-top:14px}
  .gallery-section{padding-top:64px}
  .gallery-head{margin-bottom:22px}
  .gallery-head p{max-width:520px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .photo-card{aspect-ratio:.9}
  .photo-card figcaption{padding:42px 12px 12px;font-size:.9rem;text-align:center}
  .reservation-section{padding:64px 0}
  .reservation-grid{gap:24px}
  .reservation-intro>p{max-width:560px}
  .reservation-points{gap:14px 20px}
  .reservation-point{max-width:235px}
  .booking-panel{padding:22px 20px;border-radius:20px}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .field.full{grid-column:1/-1}
  .field input,.field select,.field textarea{min-width:0}
  .form-bottom{align-items:center;flex-direction:column;text-align:center}
  .privacy{max-width:420px}
  .form-bottom .btn{width:100%}
  .location-grid{grid-template-columns:1fr;gap:20px}
  .location-card{padding:24px 20px}
  .contact-list{gap:11px}
  .location-actions{width:min(100%,420px);margin:20px auto 0}
  .location-actions .btn{flex:1 1 160px}
  .map-frame,.map-frame iframe{min-height:360px}
  .map-open-link{left:12px;bottom:12px}
  .footer-main{gap:17px}
  .footer-links{gap:10px 16px}
  .footer-bottom{flex-direction:column;gap:5px}
}
@media(max-width:540px){
  .wrap,.hero-layout{width:calc(100% - 32px)}
  .quick-info{width:calc(100% - 32px)}
  .hero-label{max-width:100%;font-size:.59rem;letter-spacing:.1em}
  .hero h1{font-size:clamp(2.35rem,9vw,3.2rem)}
  .hero-float-card-feature{padding:18px 17px 16px}
  .hero-float-card h2{font-size:1.85rem}
  .story-cards{grid-template-columns:1fr}
  .info-card:first-child{grid-column:auto;grid-template-columns:1fr}
  .mini-photo{width:100%;aspect-ratio:16/9}
  .reservation-points{display:grid;grid-template-columns:1fr;justify-content:center;width:min(100%,320px);margin:22px auto 0;text-align:left}
  .reservation-point{max-width:none;justify-content:flex-start}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .booking-panel{padding:20px 17px}
  .location-actions{flex-direction:column}
  .location-actions .btn{width:100%}
  .map-frame,.map-frame iframe{min-height:330px}
  .photo-card{aspect-ratio:.82}
}
@media(max-width:360px){
  .wrap,.hero-layout{width:calc(100% - 28px)}
  .brand-mark{width:30px;height:30px;flex-basis:30px}
  .brand-name{font-size:1.05rem}
  .nav-tools{gap:4px}
  .icon-tile{width:30px;height:30px;border-radius:10px}
  .icon-tile svg{width:17px;height:17px}
  .hero h1{font-size:2.3rem}
  .photo-grid{grid-template-columns:1fr}
  .photo-card{aspect-ratio:1.05}
  .map-frame,.map-frame iframe{min-height:300px}
}

/* Pirajú: enquadramento da foto e Hall dos clientes */
.hero::before{
  background:linear-gradient(90deg,rgba(19,39,29,.86) 0%,rgba(24,43,32,.68) 39%,rgba(26,39,30,.34) 72%,rgba(24,31,23,.28) 100%),linear-gradient(0deg,rgba(17,35,26,.42),transparent 58%),url("./assets/piraju-drinks-hero.jpg") center 82%/cover no-repeat;
  filter:brightness(.9) saturate(.92);
  transform:scale(1.02);
}
.info-card.info-card--feature:first-child{display:grid;grid-column:1/-1;grid-template-columns:42px minmax(0,1fr) 60px;align-items:center;gap:17px;min-height:154px;padding:24px 27px}
.feature-copy h3{margin:5px 0 7px}
.feature-label{color:var(--terracotta);font-size:.56rem;font-weight:800;letter-spacing:.15em}
.feature-mark{color:rgba(183,91,59,.82);font:italic 1.85rem/1 var(--serif);text-align:center}
.feature-mark small{display:block;margin-top:5px;font:700 .44rem var(--sans);letter-spacing:.14em;text-transform:uppercase}
.gallery-section{position:relative;isolation:isolate;overflow:hidden;background-image:radial-gradient(ellipse at 50% 0%,rgba(255,252,242,.76),transparent 58%),repeating-linear-gradient(135deg,rgba(78,92,66,.025) 0 1px,transparent 1px 13px)}
.gallery-section::before{position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 8% 18%,rgba(183,91,59,.08) 0 1px,transparent 1.5px);background-size:28px 28px;content:"";opacity:.55;pointer-events:none}
.gallery-head{position:relative}
.gallery-head .kicker{letter-spacing:.17em}
.gallery-head h2{letter-spacing:-.045em}
.photo-grid{align-items:start;gap:clamp(12px,1.8vw,22px)}
.photo-card{position:relative;aspect-ratio:.79;overflow:hidden;border:1px solid rgba(74,66,47,.2);border-radius:20px;background:#c9b89c;box-shadow:0 18px 38px rgba(62,48,30,.13),inset 0 0 0 5px rgba(255,248,232,.82),inset 0 0 0 6px rgba(193,145,79,.5);transform:none!important;transition:box-shadow .45s ease,border-color .35s ease}
.photo-card:nth-child(odd){margin-top:0}
.photo-card:nth-child(even){margin-top:30px}
.photo-card img{position:relative;z-index:0;object-position:center 38%;transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .6s ease}
.photo-card:nth-child(1) img{object-position:center 45%}
.photo-card:nth-child(2) img{object-position:center 34%}
.photo-card:nth-child(3) img{object-position:center 35%}
.photo-card:nth-child(4) img{object-position:center 38%}
.photo-card::before{position:absolute;z-index:1;inset:8px;border:1px solid rgba(255,241,213,.38);border-radius:14px;background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(255,243,216,.095) 12px 13px);content:"";opacity:.72;pointer-events:none;transition:opacity .35s ease}
.photo-card::after{position:absolute;z-index:2;inset:-20% auto -20% -80%;width:42%;background:linear-gradient(105deg,transparent,rgba(255,249,232,.24),transparent);content:"";transform:skewX(-12deg);transition:inset .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.photo-index{position:absolute;z-index:4;top:20px;left:20px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,248,232,.48);border-radius:999px;color:#fff9ed;background:rgba(31,52,39,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.5rem;font-weight:750;letter-spacing:.13em;box-shadow:0 4px 15px rgba(0,0,0,.12)}
.photo-index i{color:#f1c47d;font-style:normal}
.photo-card figcaption{z-index:3;padding:66px 20px 22px;background:linear-gradient(0deg,rgba(25,45,33,.94),rgba(25,45,33,.58) 47%,transparent);color:#fff8e9;font:500 clamp(.98rem,1.25vw,1.15rem)/1.28 var(--serif);text-align:left}
.photo-card figcaption small{display:block;margin-bottom:7px;color:#f0c47d;font:750 .49rem/1.2 var(--sans);letter-spacing:.16em}
.photo-card:hover,.photo-card:focus-within{border-color:rgba(183,91,59,.54);box-shadow:0 26px 52px rgba(62,48,30,.2),inset 0 0 0 5px rgba(255,248,232,.94),inset 0 0 0 6px rgba(193,145,79,.74)}
.photo-card:hover img{transform:scale(1.07);filter:saturate(1.1) contrast(1.02)}
.photo-card:hover::before{opacity:1}
.photo-card:hover::after{inset:-20% -80% -20% auto}
.motion-ready .photo-card.reveal{transform:translateY(18px) scale(.985)!important;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,border-color .35s ease}
.motion-ready .photo-card.reveal.is-visible{transform:translateY(0) scale(1)!important}
.motion-ready .photo-card.reveal.is-visible:hover{transform:translateY(-7px) scale(1.012)!important}
.gallery-invite{display:flex;align-items:center;gap:14px;width:min(100%,650px);margin:48px auto 0;padding:16px 19px;border:1px solid rgba(69,82,61,.14);border-radius:17px;color:#354637;background:rgba(255,251,239,.68);box-shadow:0 9px 25px rgba(65,52,30,.06);text-decoration:none;transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease}
.gallery-invite:hover{transform:translateY(-3px);border-color:rgba(183,91,59,.3);background:#fffaf0;box-shadow:0 14px 30px rgba(65,52,30,.1)}
.gallery-invite-mark{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid rgba(183,91,59,.24);border-radius:12px;color:var(--terracotta);background:#f8eee1;font-size:1.1rem}
.gallery-invite>span:nth-child(2){flex:1;font-size:.78rem;font-weight:600;line-height:1.5}
.gallery-invite small{display:block;margin-bottom:3px;color:var(--terracotta);font-size:.49rem;font-weight:800;letter-spacing:.15em}
.gallery-invite-arrow{color:var(--terracotta);font-size:1rem;transition:transform .25s ease}
.gallery-invite:hover .gallery-invite-arrow{transform:translate(2px,-2px)}
html[data-theme="dark"] .gallery-section{background-color:#1d2b21;background-image:radial-gradient(ellipse at 50% 0%,rgba(85,111,81,.18),transparent 58%),repeating-linear-gradient(135deg,rgba(235,225,199,.025) 0 1px,transparent 1px 13px)}
html[data-theme="dark"] .photo-card{border-color:rgba(245,231,205,.2);box-shadow:0 18px 38px rgba(0,0,0,.2),inset 0 0 0 5px rgba(24,41,30,.72),inset 0 0 0 6px rgba(193,145,79,.48)}
html[data-theme="dark"] .gallery-invite{border-color:rgba(255,248,232,.12);color:#f1eadb;background:rgba(255,255,255,.045)}
html[data-theme="dark"] .gallery-invite:hover{background:rgba(255,255,255,.08)}
@media(max-width:980px){.photo-card:nth-child(even){margin-top:20px}}
@media(max-width:720px){
  .hero::before{background-position:center 78%;filter:brightness(.88) saturate(.94)}
  .info-card.info-card--feature:first-child{grid-template-columns:38px minmax(0,1fr) 48px;gap:13px;padding:20px 18px}
  .photo-grid{gap:13px}
  .photo-card{aspect-ratio:.83;border-radius:17px}
  .photo-card:nth-child(even){margin-top:20px}
  .photo-card figcaption{padding:58px 15px 17px;font-size:.97rem}
  .photo-index{top:17px;left:16px;font-size:.46rem}
  .gallery-invite{margin-top:36px;padding:14px;gap:11px}
}
@media(max-width:540px){
  .hero::before{background-position:center 76%;background-size:cover;background-repeat:no-repeat;background-image:linear-gradient(180deg,rgba(19,39,29,.46),rgba(24,43,32,.58) 42%,rgba(17,35,26,.69)),url("./assets/piraju-drinks-hero.jpg")}
  .info-card.info-card--feature:first-child{grid-template-columns:36px minmax(0,1fr) 40px;gap:11px;padding:19px 16px}
  .feature-mark{font-size:1.45rem}
  .photo-grid{gap:11px}
  .photo-card{aspect-ratio:.78;border-radius:15px}
  .photo-card:nth-child(even){margin-top:14px}
  .photo-card::before{inset:6px;border-radius:11px}
  .photo-card figcaption{padding:52px 12px 14px;font-size:.87rem}
  .photo-card figcaption small{font-size:.43rem}
  .photo-index{top:13px;left:12px;gap:5px;padding:6px 8px;font-size:.4rem}
  .gallery-invite{margin-top:30px;border-radius:14px}
  .gallery-invite>span:nth-child(2){font-size:.7rem}
}
@media(max-width:360px){
  .hero::before{background-position:center 73%}
  .photo-grid{grid-template-columns:1fr}
  .photo-card,.photo-card:nth-child(even){aspect-ratio:1.05;margin-top:0}
  .photo-card figcaption{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.photo-card,.photo-card img,.photo-card::after,.gallery-invite,.gallery-invite-arrow{transition:none!important}.photo-card:hover img{transform:none}}

/* Ajustes finais do cartão principal e da leitura do Hall */
.hero-float-card-feature{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(255,252,244,.98),rgba(246,239,222,.96));box-shadow:0 24px 58px rgba(9,22,14,.22),inset 0 1px 0 rgba(255,255,255,.92)}
.hero-float-card-feature::before{z-index:0}
.hero-float-card-feature::after{position:absolute;z-index:0;top:49px;right:-39px;width:145px;height:145px;border:1px solid rgba(183,91,59,.13);border-radius:50%;box-shadow:0 0 0 12px rgba(183,91,59,.035),0 0 0 25px rgba(183,91,59,.025);content:"";pointer-events:none}
.hero-float-card-feature>*{position:relative;z-index:1}
.photo-card figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.photo-card figcaption small{width:100%;margin:0;line-height:1.35}
.gallery-head h2{max-width:720px;margin-inline:auto;text-wrap:balance}
.gallery-head p{max-width:530px;text-wrap:balance}
@media(max-width:720px){.hero-float-card-feature{width:min(400px,100%);padding:22px 21px 19px}.hero-float-card-feature::after{top:36px;right:-48px;width:130px;height:130px}.photo-card figcaption{gap:6px}}
@media(max-width:540px){.hero-float-card-feature{width:min(390px,100%);padding:20px 18px 18px}.hero-float-card-feature::after{top:33px;right:-55px;width:120px;height:120px}.photo-card figcaption{gap:5px}}

/* Regras de reserva: informação editorial, com leitura confortável no celular */
.reservation-section{position:relative;isolation:isolate;overflow:hidden;padding:clamp(70px,8vw,104px) 0;background:radial-gradient(ellipse at 10% 0%,rgba(224,185,113,.18),transparent 34%),linear-gradient(145deg,#f5eddd,#e9dfcc)}
.reservation-section::before{position:absolute;z-index:-1;right:-135px;bottom:-210px;width:390px;height:390px;border:1px solid rgba(46,81,64,.1);border-radius:50%;box-shadow:0 0 0 18px rgba(46,81,64,.025),0 0 0 38px rgba(46,81,64,.02);content:"";pointer-events:none}
.reservation-layout{width:min(1120px,calc(100% - 72px));margin-inline:auto}
.reservation-heading{max-width:760px;margin:0 auto clamp(30px,4vw,48px);text-align:center}
.reservation-heading h2{margin:12px 0 15px;color:#263a2d;font:400 clamp(2.5rem,5.1vw,4.25rem)/1.02 var(--serif);letter-spacing:-.045em;text-wrap:balance}
.reservation-heading h2 em{color:var(--terracotta)}
.reservation-heading>p{max-width:620px;margin:0 auto;color:#62675e;font-size:.94rem;line-height:1.75}
.reservation-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:clamp(38px,5vw,58px)}
.reservation-highlight{display:flex;align-items:flex-start;gap:14px;min-width:0;padding:21px 19px;border:1px solid rgba(49,73,56,.12);border-radius:18px;background:rgba(255,252,244,.82);box-shadow:0 12px 30px rgba(50,38,22,.055)}
.reservation-highlight-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(182,91,58,.17);border-radius:13px;color:#a65337;background:#f7e9d7}
.reservation-highlight-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.reservation-highlight-label{display:block;margin:1px 0 7px;color:#9e5136;font-size:.58rem;font-weight:850;letter-spacing:.15em}
.reservation-highlight h3{margin:0 0 6px;color:#2b4133;font:500 1.14rem/1.2 var(--serif)}
.reservation-highlight p{margin:0;color:#65675e;font-size:.75rem;line-height:1.6}
.reservation-schedule-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:17px}
.reservation-schedule-heading h3{margin:7px 0 0;color:#263a2d;font:500 clamp(1.7rem,3vw,2.35rem)/1.1 var(--serif);letter-spacing:-.025em}
.reservation-schedule-heading>p{max-width:370px;margin:0;color:#68685e;font-size:.76rem;line-height:1.6}
.reservation-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reservation-day-card{min-width:0;overflow:hidden;border:1px solid rgba(35,61,45,.14);border-radius:19px;background:#fffaf0;box-shadow:0 12px 30px rgba(50,38,22,.07)}
.reservation-day-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 19px;color:#fff7e8;background:linear-gradient(110deg,#203d2e,#31533f)}
.reservation-day-name{display:flex;align-items:center;gap:12px;min-width:0}
.reservation-day-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border:1px solid rgba(255,248,232,.2);border-radius:12px;color:#efc579;background:rgba(255,255,255,.08)}
.reservation-day-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reservation-day-name small,.reservation-arrival small{display:block;color:#e5d6b9;font-size:.56rem;font-weight:800;letter-spacing:.14em}
.reservation-day-name strong{display:block;margin-top:3px;color:#fff8e9;font:500 1.12rem/1.1 var(--serif)}
.reservation-arrival{text-align:right}
.reservation-arrival strong{display:block;margin-top:3px;color:#f0c678;font-size:1.05rem;line-height:1.1;white-space:nowrap}
.reservation-rules-list{display:grid;gap:10px;margin:0;padding:18px 21px 19px;list-style:none}
.reservation-rules-list li{position:relative;padding-left:18px;color:#595f55;font-size:.76rem;line-height:1.6}
.reservation-rules-list li::before{position:absolute;top:.58em;left:0;width:7px;height:7px;border-radius:50%;background:#bb6946;content:""}
.reservation-rules-list strong{color:#344536;font-weight:760}
.reservation-saturday-note{display:flex;align-items:center;gap:14px;margin-top:14px;padding:17px 20px;border:1px solid rgba(182,91,58,.18);border-radius:16px;color:#4d554a;background:#f8efdf}
.reservation-alert-icon{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:12px;color:#fff8ea;background:#ad583a}
.reservation-alert-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reservation-saturday-note p{margin:0;font-size:.78rem;line-height:1.6}
.reservation-saturday-note strong{color:#913f29}
.reservation-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:23px 26px;border:1px solid rgba(255,248,232,.12);border-radius:20px;color:#fff8e9;background:linear-gradient(115deg,#203b2d,#31533f);box-shadow:0 15px 38px rgba(32,59,45,.15)}
.reservation-contact-label{color:#edbd77;font-size:.59rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.reservation-contact h3{margin:5px 0 4px;color:#fff8e9;font:500 1.45rem/1.2 var(--serif)}
.reservation-contact p{margin:0;color:rgba(255,248,233,.75);font-size:.76rem;line-height:1.5}
.reservation-contact p a{color:#f0c678;font-weight:750;text-decoration:none;text-underline-offset:3px}
.reservation-contact p a:hover{text-decoration:underline}
.reservation-contact .btn{flex:0 0 auto;border:1px solid rgba(255,255,255,.13);color:#273b2c;background:#edbd77;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.reservation-contact .btn:hover{color:#fff8ea;background:var(--terracotta)}
html[data-theme="dark"] .reservation-section{background:radial-gradient(ellipse at 10% 0%,rgba(224,185,113,.1),transparent 34%),linear-gradient(145deg,#1b281e,#202a20)}
html[data-theme="dark"] .reservation-heading h2,html[data-theme="dark"] .reservation-schedule-heading h3{color:#f4efe4}
html[data-theme="dark"] .reservation-heading h2 em{color:#dc956d}
html[data-theme="dark"] .reservation-heading>p,html[data-theme="dark"] .reservation-schedule-heading>p{color:#d0cabc}
html[data-theme="dark"] .reservation-highlight{border-color:rgba(255,248,232,.12);background:#223126;box-shadow:0 12px 30px rgba(0,0,0,.13)}
html[data-theme="dark"] .reservation-highlight h3,html[data-theme="dark"] .reservation-rules-list strong{color:#f2ecde}
html[data-theme="dark"] .reservation-highlight p,html[data-theme="dark"] .reservation-rules-list li{color:#d0cabc}
html[data-theme="dark"] .reservation-day-card{border-color:rgba(255,248,232,.12);background:#f7f1e5}
html[data-theme="dark"] .reservation-saturday-note{border-color:rgba(220,149,109,.2);color:#e1d9c9;background:#273329}
html[data-theme="dark"] .reservation-saturday-note strong{color:#efb290}
@media(max-width:900px){.reservation-layout{width:min(100% - 48px,820px)}.reservation-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-highlight:last-child{grid-column:1/-1}}
@media(max-width:680px){.reservation-layout{width:calc(100% - 36px)}.reservation-heading{margin-bottom:28px}.reservation-heading h2{font-size:clamp(2.3rem,10vw,3.3rem)}.reservation-heading>p{font-size:.86rem}.reservation-highlights{grid-template-columns:1fr;gap:10px;margin-bottom:36px}.reservation-highlight,.reservation-highlight:last-child{grid-column:auto;padding:17px}.reservation-schedule-heading{display:block;margin-bottom:14px}.reservation-schedule-heading>p{margin-top:8px}.reservation-schedule{grid-template-columns:1fr;gap:11px}.reservation-day-header{padding:15px 16px}.reservation-rules-list{gap:9px;padding:16px}.reservation-rules-list li{font-size:.74rem}.reservation-saturday-note{align-items:flex-start;padding:15px}.reservation-contact{align-items:stretch;flex-direction:column;gap:17px;margin-top:22px;padding:20px}.reservation-contact .btn{width:100%}}
@media(max-width:380px){.reservation-day-name{gap:9px}.reservation-day-icon{width:35px;height:35px;flex-basis:35px}.reservation-day-name strong{font-size:1rem}.reservation-arrival small{font-size:.5rem}.reservation-arrival strong{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){.reservation-highlight,.reservation-day-card,.reservation-contact{transition:none!important}}
.reservation-menu-card{display:flex;align-items:center;gap:17px;margin-top:12px;padding:19px 22px;border:1px solid rgba(49,73,56,.14);border-radius:19px;color:#2b4133;background:rgba(255,252,244,.9);box-shadow:0 12px 30px rgba(50,38,22,.06);text-decoration:none;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease}
.reservation-menu-card:hover{transform:translateY(-2px);border-color:rgba(182,91,58,.3);background:#fffdf8;box-shadow:0 17px 38px rgba(50,38,22,.1)}
.reservation-menu-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid rgba(49,83,63,.14);border-radius:14px;color:var(--forest);background:#edf0e6}
.reservation-menu-icon svg,.reservation-menu-arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reservation-menu-copy{display:grid;gap:3px;min-width:0}
.reservation-menu-copy small{color:#9e5136;font-size:.57rem;font-weight:850;letter-spacing:.15em}
.reservation-menu-copy strong{color:#2b4133;font:500 1.2rem/1.2 var(--serif)}
.reservation-menu-copy>span{color:#65675e;font-size:.74rem;line-height:1.5}
.reservation-menu-arrow{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;margin-left:auto;border:1px solid rgba(49,83,63,.16);border-radius:50%;color:#fff8ea;background:var(--forest);transition:transform .24s ease,background .24s ease}
.reservation-menu-card:hover .reservation-menu-arrow{transform:translateX(3px);background:var(--terracotta)}
html[data-theme="dark"] .reservation-menu-card{border-color:rgba(255,248,232,.12);color:#f2ecde;background:#26362a;box-shadow:0 12px 30px rgba(0,0,0,.14)}
html[data-theme="dark"] .reservation-menu-card:hover{border-color:rgba(220,149,109,.32);background:#2b3c2f}
html[data-theme="dark"] .reservation-menu-icon{border-color:rgba(255,248,232,.12);color:#f0c678;background:rgba(255,255,255,.06)}
html[data-theme="dark"] .reservation-menu-copy strong{color:#f4efe4}
html[data-theme="dark"] .reservation-menu-copy>span{color:#d0cabc}
@media(max-width:680px){.reservation-menu-card{gap:12px;padding:16px}.reservation-menu-icon{flex-basis:41px;width:41px;height:41px}.reservation-menu-copy strong{font-size:1.08rem}.reservation-menu-copy>span{font-size:.69rem}.reservation-menu-arrow{flex-basis:34px;width:34px;height:34px}}

/* Ajustes de estabilidade visual: ícones, navegação e início sem sobreposição */
svg{display:block;width:1.2em;height:1.2em;max-width:100%;fill:none;stroke:currentColor;stroke-width:1.8}
.brand-mark{overflow:hidden}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
html,body{max-width:100%;overflow-x:clip}
img,iframe{max-width:100%}
.story-grid,.story-cards,.food-cards,.photo-grid,.reservation-layout,.reservation-schedule,.location-grid{min-width:0}

@media(max-width:900px){
  .site-header{padding:14px 0}
  .nav-row{gap:12px}
  .main-nav{display:none}
  .nav-tools{margin-left:auto}
  .menu-toggle{display:grid}
  .mobile-menu{position:absolute;z-index:31;top:calc(100% + 8px);left:50%;right:auto;width:min(820px,calc(100vw - 48px));padding:12px;border:1px solid rgba(255,247,228,.2);border-radius:16px;background:rgba(25,40,31,.97);box-shadow:0 15px 44px rgba(0,0,0,.35);backdrop-filter:blur(16px);transform:translateX(-50%)}
  .mobile-menu.is-open{display:grid}
  .mobile-menu a{display:block;padding:13px;color:#fff7e8;font-size:.88rem;font-weight:620;text-decoration:none;border-radius:10px}
  .mobile-menu a:hover,.mobile-menu a:focus-visible{background:rgba(224,185,113,.13)}
  .hero{display:block;min-height:0;padding-top:108px;padding-bottom:0}
  .hero-layout{width:min(100% - 48px,820px);padding:28px 0 30px}
  .quick-info{position:relative;inset:auto;width:min(100% - 48px,820px);margin:0 auto 18px;transform:none}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick-item,.quick-item:first-child{min-width:0;padding:12px 13px}
  .quick-item strong{display:block;overflow-wrap:anywhere;line-height:1.4}
}

@media(max-width:720px){
  .site-header{padding:10px 0}
  .nav-row{gap:8px}
  .brand{min-width:0;gap:8px}
  .brand-name{font-size:1.17rem}
  .nav-tools{gap:5px}
  .hero{padding:86px 0 12px}
  .hero-layout{width:calc(100% - 36px);padding:22px 0 24px;gap:18px}
  .hero-art{min-width:0;margin:6px 0 0}
  .hero-float-card-feature{width:min(440px,100%);transform:none;animation:none}
  .quick-info{width:calc(100% - 36px);margin:0 auto 16px;border-radius:15px}
  .quick-grid{grid-template-columns:1fr}
  .quick-item,.quick-item:first-child{min-height:56px;padding:10px 13px;border-right:0;border-bottom:1px solid rgba(255,247,232,.12)}
  .quick-item:last-child{border-bottom:0}
  .quick-icon{display:grid;flex:0 0 32px;width:32px;height:32px}
  .quick-item span:last-child{min-width:0;flex:1}
  .quick-item strong{font-size:.7rem}
  .mobile-menu{width:calc(100vw - 36px)}
}

@media(max-width:420px){
  .wrap,.hero-layout{width:calc(100% - 28px)}
  .quick-info{width:calc(100% - 28px)}
  .hero h1{font-size:clamp(2.3rem,10vw,3rem);line-height:1.02}
  .hero-label{font-size:.56rem;letter-spacing:.09em}
  .reservation-menu-card{align-items:flex-start}
  .reservation-menu-arrow{margin-top:3px}
}

/* Vídeo da fachada como fundo do início, controlado pela rolagem */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-top:100px;background:#17271e url("./assets/piraju-hero-bg.webp") center 42%/cover no-repeat}
.hero-background-video{position:absolute;z-index:0;inset:-2% 0 0;display:block;width:100%;height:104%;object-fit:cover;object-position:center 40%;background:transparent;opacity:0;transform:scale(1.035) translateY(-1.5%);transform-origin:center center;transition:opacity .24s ease-out}
.hero-background-video.is-frame-ready{opacity:1}
.hero::before{z-index:1;background:linear-gradient(90deg,rgba(15,31,22,.72) 0%,rgba(20,38,28,.55) 39%,rgba(23,37,28,.32) 72%,rgba(19,30,23,.24) 100%),linear-gradient(0deg,rgba(13,29,20,.5),transparent 62%);filter:none;transform:none}
.hero::after{z-index:1;pointer-events:none}
.hero-layout,.hero>.quick-info{position:relative;z-index:2}
.hero-layout{padding-top:22px}

/* Bebida em destaque junto ao contato e à reserva no WhatsApp */
.reservation-contact{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr) auto;align-items:center;gap:clamp(17px,2.5vw,30px);overflow:hidden;padding:18px;border:1px solid rgba(255,248,232,.13);border-radius:22px;background:linear-gradient(112deg,#20392a,#2d4734 60%,#3b4430);box-shadow:0 20px 50px rgba(19,32,23,.16)}
.reservation-contact-media{position:relative;isolation:isolate;min-width:0;height:132px;overflow:hidden;border:1px solid rgba(255,248,232,.18);border-radius:15px;background:#000}
.reservation-drink-video{position:absolute;z-index:-1;inset:6%;width:88%;height:88%;object-fit:contain;object-position:center;background:#000}
.reservation-contact-media::after{position:absolute;z-index:0;inset:0;background:linear-gradient(0deg,rgba(13,23,17,.68),transparent 70%);content:""}
.reservation-contact-media>span{position:absolute;z-index:1;bottom:12px;left:13px;color:#fff5df;font-size:.55rem;font-weight:850;letter-spacing:.15em}
.reservation-contact>div:nth-child(2){min-width:0}
.reservation-contact .reservation-contact-label{display:block}
.reservation-contact .reservation-cta{justify-content:center;max-width:250px;white-space:normal;text-align:center}
.reservation-contact .reservation-cta .btn-icon{flex:0 0 21px}

/* Acabamento responsivo para tablet e celular */
@media(max-width:900px){
  .reservation-contact{grid-template-columns:140px minmax(0,1fr);gap:16px}
  .reservation-contact-media{grid-row:span 2;height:140px}
  .reservation-contact .reservation-cta{grid-column:2;max-width:none;justify-self:start}
}
@media(max-width:680px){
  .hero{padding-top:80px}
  .hero-layout{padding-top:18px}
  .hero-background-video{inset:-2% 0 0;height:104%;object-position:center 45%;transform:scale(1.07) translateY(-1.5%)}
  .hero::before{background:linear-gradient(90deg,rgba(15,31,22,.72),rgba(20,38,28,.42)),linear-gradient(0deg,rgba(13,29,20,.64),transparent 68%)}
  .reservation-contact{grid-template-columns:minmax(0,1fr);gap:15px;padding:14px;border-radius:18px}
  .reservation-contact-media{grid-row:auto;width:100%;height:clamp(165px,48vw,230px)}
  .reservation-contact>div:nth-child(2){grid-row:auto}
  .reservation-contact .reservation-cta{grid-column:auto;width:100%;max-width:none;justify-self:stretch}
}
@media(max-width:380px){
  .hero-background-video{object-position:center 45%;transform:scale(1.1) translateY(-1.5%)}
  .hero::before{background:linear-gradient(90deg,rgba(15,31,22,.78),rgba(20,38,28,.48)),linear-gradient(0deg,rgba(13,29,20,.7),transparent 72%)}
}

/* Neutraliza a película verde que cobria o vídeo do hero e as superfícies do topo. */
.hero{background-color:#171512}
.hero::before{background-image:linear-gradient(90deg,rgba(18,16,14,.67) 0%,rgba(20,18,15,.46) 42%,rgba(22,19,16,.28) 76%,rgba(19,17,15,.24) 100%),linear-gradient(0deg,rgba(16,14,12,.48),transparent 66%);filter:none;transform:none}
.site-header{background:linear-gradient(180deg,rgba(25,22,19,.76),rgba(25,22,19,.12));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.quick-info{background:rgba(28,25,21,.82);border-color:rgba(255,247,232,.18)}

/* O vídeo da fachada inicia sem reaproveitar o antigo pôster/fundo de bebidas. */
.hero{background-color:#171512;background-image:none}



/* No celular, use a área inteira do hero e mostre o primeiro frame assim que decodificar. */
@media(max-width:680px){
  .hero{background-image:none}
  .hero-background-video{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.025);opacity:1;}
  .hero-background-video.is-frame-ready{opacity:1}
  .hero::before{background-image:linear-gradient(90deg,rgba(18,16,14,.48),rgba(20,18,15,.3)),linear-gradient(0deg,rgba(16,14,12,.36),transparent 68%)}
}


/* Cartão hero transparente: mantém apenas o texto e os horários. */
.hero-float-card-feature{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;animation:none}
.hero-float-card-feature::before,.hero-float-card-feature::after{display:none}
.hero-float-card-feature .float-kicker{color:#e0b971}
.hero-float-card-feature h2{color:#fff7e8}
.hero-float-card-feature h2 em{color:#f0bd76}
.hero-float-card-feature .float-divider{display:none}
.hero-float-card-feature .float-hours span{color:rgba(255,247,232,.72)}
.hero-float-card-feature .float-hours strong{color:#fff7e8}
.hero-float-card-feature .float-link{border-top:0;color:#f0bd76}
.hero-float-card-feature .float-link:hover{color:#fff7e8}


/* Explicit mobile override for the transparent hero information card. */
@media(max-width:720px){
  .hero .hero-art .hero-float-card-feature{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .hero .hero-art .hero-float-card-feature::before,
  .hero .hero-art .hero-float-card-feature::after{
    display:none!important;
    content:none!important;
  }
}
