:root{--ink:#252222;--paper:#f7f5f1;--muted:#666060;--dark:#141313;--green:#241213;--gold:#e52b35;--line:#ded7d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e52b35;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;position:relative}h1,h2,h3,p{margin:0}h1,h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500;line-height:1.65}h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:.07em}h3{font-weight:500;font-size:1.15rem}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:var(--paper);position:relative;z-index:20;gap:24px}.brand{display:flex;gap:14px;align-items:center;white-space:nowrap}.brand strong{font:500 1.45rem 'Yu Mincho',serif;letter-spacing:.15em}.brand small{display:block;font-size:10px;letter-spacing:.2em;line-height:1.5}.brand-mark{font-size:36px;color:var(--gold);letter-spacing:-11px;width:40px;transform:rotate(-5deg)}header nav{display:flex;gap:30px;font-size:14px}.header-link{font-size:14px;border-bottom:1px solid #73776c;padding:7px 0}.header-link span{color:var(--gold);padding-left:18px}.nav-toggle{display:none}.hero{position:relative;min-height:690px;height:calc(100svh - 96px);max-height:900px;background:var(--dark);color:var(--paper);display:flex;align-items:center}.hero-img,.hero-shade{position:absolute;inset:0}.hero-img{object-position:65% 55%}.hero-shade{background:linear-gradient(90deg,rgba(14,10,10,.89),rgba(14,10,10,.64) 34%,rgba(14,10,10,.04) 75%),linear-gradient(0deg,rgba(14,10,10,.5),transparent 25%)}.hero-copy{position:relative;width:100%;padding:65px 8% 95px}.eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.19em;color:#b81927;margin-bottom:24px}.hero .eyebrow{color:var(--gold);letter-spacing:.26em;margin-bottom:30px}h1{font-size:clamp(2.4rem,4vw,4.1rem);letter-spacing:.09em;line-height:1.65}.hero-copy>p[data-introduction]{max-width:420px;font-size:15px;line-height:2.2;margin:26px 0 32px;color:#e4e6dd}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{min-height:56px;padding:14px 25px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px;letter-spacing:.05em;border:1px solid transparent}.gold{background:var(--gold);color:#ffffff}.gold:disabled{opacity:1;background:#912f38;color:#ffffff;cursor:not-allowed}.outline{border-color:#b8bbb2;color:#fff;background:#171c1940}.outline:hover{background:#ffffff18}.hero-note{font-size:12px!important;margin-top:15px!important;color:#d6d6ce}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:#d5d6cc}.intro-band{padding:27px 8%;display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);font-family:'Yu Mincho',serif}.intro-band>a{font:11px Arial;letter-spacing:.15em;display:flex;align-items:center;gap:30px}.section{padding:100px 8%;scroll-margin-top:20px}.section-heading{margin-bottom:46px}.section-heading .muted{margin-top:20px;font-size:14px;color:var(--muted)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.story-grid figure{height:530px}.story-grid figcaption{position:absolute;bottom:16px;left:20px;color:white;font-size:12px;text-shadow:0 1px 5px black}#stories article{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}#stories article:first-child{padding-top:0}.story-number{color:#b81927;font:18px Georgia;padding-top:6px}#stories h3{margin-bottom:12px}#stories p{color:var(--muted);font-size:15px;line-height:2}.fine{font-size:12px;color:var(--muted);line-height:1.8;margin-top:20px}.menu{background:#eeebe7}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:35px}.heading-row>p{font-size:14px;color:var(--muted);max-width:290px}.menu-notice{display:flex;gap:22px;align-items:center;font-size:13px;padding:14px 0;border-top:1px solid #d1c9c6;border-bottom:1px solid #d1c9c6;margin-bottom:35px;white-space:nowrap}.menu-notice span{color:var(--muted);font-size:12px;white-space:normal}.menu-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:6%}.menu-photo{min-height:650px}.menu-photo img{position:absolute}.menu-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#170d0de6)}.menu-photo figcaption{position:absolute;bottom:35px;left:30px;right:20px;color:white;z-index:1}.menu-photo figcaption span{display:block;font:12px Arial;letter-spacing:.17em;color:var(--gold)}.menu-photo figcaption strong{display:block;font:500 1.5rem/1.8 'Yu Mincho',serif;margin:10px 0}.menu-photo figcaption small{font-size:12px}#menu-items article{position:relative;padding:18px 0;border-bottom:1px solid #d1c9c6}#menu-items article:first-child{padding-top:0}.category{font-size:11px;color:#a7222d}#menu-items h3{font-size:17px;line-height:1.7;margin:4px 0}#menu-items p{font-size:13px;color:var(--muted)}.price{text-align:right;font-size:14px;margin-top:8px}.gallery .section-heading>p:last-child{color:var(--muted);margin-top:20px;font-size:14px}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:25px}.gallery-grid img{height:360px}.gallery-grid figcaption{padding-top:18px;font-size:15px;display:flex;flex-direction:column;gap:6px}.gallery-grid small{font-size:12px;color:var(--muted)}.faq{padding-top:65px;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:6%}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:24px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:#c71f2e;font-size:18px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 30px 25px 0;color:var(--muted);font-size:14px}.access{background:#eeebe7}.access-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:12%}.access-brand{border-left:2px solid #cf1729;padding:15px 0 15px 30px}.access-brand>p:first-child{font:12px Arial;letter-spacing:.18em;color:#756161}.access-brand h3{font:2.2rem/2 'Yu Mincho',serif;margin:10px 0}.access-brand span{font-size:14px}dl{margin:0;display:grid;grid-template-columns:100px 1fr;gap:0;font-size:14px}dt,dd{border-bottom:1px solid #d1c9c6;padding:14px 0}dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.text-link{display:inline-block;border-bottom:1px solid;margin-top:22px}.reservation{padding:90px 8%;text-align:center;background:var(--green);color:var(--paper)}.reservation .eyebrow{color:var(--gold)}.reservation h2{font-size:clamp(1.8rem,3vw,2.8rem)}.reservation>p:not(.eyebrow){font-size:14px;margin:25px 0}.reservation .fine{font-size:12px!important;color:#d5c4c4}.reservation .button{min-width:290px}footer{padding:38px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--dark);color:var(--paper)}footer>p,footer>a:last-child{font-size:12px;color:#c0c5bb}.mobile-booking{display:none}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;color:black;padding:10px}.skip:focus{top:10px}#mobile-nav[hidden]{display:none}@media(min-width:801px){#mobile-nav{display:none}}@media(max-width:1100px){header nav{gap:17px}.header-link{display:none}.section{padding:75px 6%}.story-grid{gap:6%}.hero-copy{padding-left:6%}.gallery-grid img{height:300px}.menu-layout{gap:5%}}@media(max-width:800px){header{height:78px;padding:0 6%}header nav{display:none}.brand strong{font-size:1.2rem}.nav-toggle{display:block;background:transparent;color:var(--paper);border:1px solid #796367;width:44px;height:44px;font-size:24px;line-height:1}.hero{min-height:650px;height:calc(90svh - 78px);max-height:850px}.hero-img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#160d0da8,#160d0d15),linear-gradient(0deg,#160d0ded 0%,#160d0d77 50%,transparent 100%)}.hero-copy{padding:165px 7% 70px;align-self:end}h1{font-size:clamp(1.8rem,6.5vw,3rem);letter-spacing:.04em}.hero .eyebrow{font-size:10px;margin-bottom:18px}.hero-copy>p[data-introduction]{font-size:14px;line-height:2;margin:22px 0}.hero-actions{gap:10px}.hero-actions .button{padding:13px 17px;font-size:12px;min-height:50px}.hero-note{font-size:11px!important}.hero-bottom{font-size:9px;bottom:18px;left:7%;right:7%}.intro-band{padding:22px 7%;font-size:13px}.intro-band>a{font-size:9px;gap:10px;white-space:nowrap}.section{padding:64px 7%}.section-heading{margin-bottom:32px}.eyebrow{font-size:10px;margin-bottom:18px}h2{font-size:1.8rem}.story-grid{grid-template-columns:1fr;gap:28px}.story-grid figure{height:360px}#stories article{padding:23px 0}#stories h3{font-size:17px}.heading-row{display:block}.heading-row>p{margin-top:18px}.menu-notice{align-items:start;gap:12px}.menu-layout{grid-template-columns:1fr;gap:32px}.menu-photo{min-height:360px}.menu-photo img{object-position:center 58%}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-grid img{height:300px}.faq{display:block}.faq summary{font-size:14px}.access-grid{grid-template-columns:1fr;gap:26px}.access-brand{padding:0 0 0 22px}dl{font-size:13px;grid-template-columns:85px 1fr}.reservation{padding:65px 7%}.reservation>p:not(.eyebrow){font-size:12px}.reservation .button{min-width:260px}footer{padding:30px 7% 110px;flex-wrap:wrap}footer .brand{width:100%}.mobile-booking{display:block;position:fixed;z-index:40;bottom:0;left:0;right:0;padding:10px 6% calc(10px + env(safe-area-inset-bottom));background:#171313f5;border-top:1px solid #654346}.mobile-booking .booking,.mobile-booking .button{width:100%}.mobile-booking .button{min-height:48px}.fine{font-size:12px}#mobile-nav{position:absolute;z-index:30;top:78px;left:0;right:0;background:var(--dark);color:var(--paper);padding:12px 7% 24px;box-shadow:0 20px 20px #0003}#mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid #453536}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Readable body copy and balanced Japanese headings. */
#stories p,#menu-items p,.faq details p{font-size:16px}
@media(max-width:800px){h2{font-size:1.5rem;letter-spacing:.04em}.reservation h2{font-size:1.6rem}.hero-copy>p[data-introduction]{font-size:16px}.hero-actions .button{font-size:14px;padding:12px 14px}.gallery-grid figcaption{font-size:16px}}


/* Brazil Grill — supplied original logo, red and black identity. */
.brand-logo{width:82px;height:72px;object-fit:contain;background:#fff;flex-shrink:0;border-radius:2px;padding:3px}
header{border-bottom:2px solid #c31829}.brand strong{letter-spacing:.05em;font-family:'Yu Gothic',Meiryo,sans-serif;font-weight:700;font-size:1.25rem}.brand small{margin-top:5px}
.hero .eyebrow,.reservation .eyebrow{color:#ff9299}.gold:not(:disabled):hover{background:#bc1725}.gold:disabled{border-color:#b45059}.reservation{background:linear-gradient(115deg,#171313,#351316);border-top:3px solid #bd1728}.access-brand{border-left-color:#c31829}.menu-photo figcaption span{color:#ff9299}footer .brand-logo{width:115px;height:102px}.hero-actions .outline{background:#17131366}
@media(max-width:800px){.brand-logo{width:64px;height:57px}.brand{gap:10px}.brand strong{font-size:1.05rem}.brand small{font-size:9px}.nav-toggle{flex-shrink:0}footer .brand-logo{width:100px;height:89px}}

#access-info dd{white-space:pre-line}.fine a{text-decoration:underline;text-underline-offset:3px}
