:root {
  --ink:#171512; --red:#d42a24; --red-dark:#b81e19; --paper:#fff4e1;
  --muted:#655e53; --line:#d9cbb6; --white:#fffaf1;
  --display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --sans:'DM Sans',Arial,sans-serif; --gutter:clamp(20px,5.6vw,88px);
  --ease:cubic-bezier(.16,1,.3,1);
  font-family:var(--sans); color:var(--ink); background:var(--paper);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
body { margin:0; overflow-x:clip; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { cursor:pointer; }
img { display:block; max-width:100%; }
svg { width:24px; height:24px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
p { line-height:1.6; }
h1,h2,h3,p { margin-top:0; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid #f29b45; outline-offset:5px; }
button:active,.button:active { transform:translateY(1px); }
[hidden] { display:none!important; }
.container { width:100%; padding-inline:var(--gutter); }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:100; padding:14px 20px; background:var(--paper);color:var(--ink); }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:30; height:104px; padding:10px var(--gutter); display:flex; align-items:center; gap:30px; background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff24;transition:box-shadow .25s,background .25s; }
.site-header.is-scrolled { box-shadow:0 5px 28px #0003; }
.brand { display:inline-flex;align-items:center;gap:14px;flex-shrink:0; }
.brand-logo { width:80px;height:80px;object-fit:contain; }
.brand-name { font:800 23px/.95 var(--display);letter-spacing:.4px; }
.brand-name small { display:block;font:600 13px/1.3 var(--display);letter-spacing:3px;margin-top:6px; }
.main-nav { display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px;font-weight:600; }
.main-nav a { min-height:44px;display:flex;align-items:center;position:relative; }
.main-nav a:after { content:'';position:absolute;bottom:4px;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease); }
.main-nav a:hover:after { transform:scaleX(1); }
.header-cta { display:flex;align-items:center;justify-content:center;gap:22px;border:1px solid #f7dec180;padding:13px 19px;font-size:14px;font-weight:700;transition:background .2s,border-color .2s; }
.header-cta:hover { background:var(--red);border-color:var(--red); }
.nav-toggle { display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;height:44px;border:1px solid #ffffff45;background:none;color:inherit;padding:10px;flex-shrink:0; }
.nav-toggle span { display:block;width:22px;height:2px;background:currentColor;transition:transform .25s; }
.nav-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
.nav-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
.button { display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:15px 24px;border:1px solid transparent;font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.5px;transition:background .2s,color .2s,border-color .2s; }
.button svg,.text-link svg { transition:transform .25s var(--ease); }
.button:hover svg,.text-link:hover svg { transform:translateX(4px); }
.button-red { background:var(--red);color:var(--white); }
.button-red:hover { background:var(--red-dark); }
.button-dark { background:var(--ink);color:var(--paper); }
.button-dark:hover { background:var(--red-dark); }
.button-cream { background:var(--paper);color:var(--ink); }
.button-cream:hover { background:var(--white); }
.button-outline { border-color:currentColor; }
.text-link { display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:15px;font-weight:700;border-bottom:1px solid currentColor; }
.eyebrow { font-size:12px;font-weight:700;letter-spacing:1.6px;line-height:1.4;margin-bottom:25px; }
.red-text { color:var(--red); }
/* A full-width stage for the brand and the food. */
.hero { min-height:calc(100svh - 104px);max-height:1000px;position:relative;overflow:hidden;background:#16100a;color:var(--paper);isolation:isolate; }
.hero-photo { position:absolute;inset:0 0 0 29%;z-index:-3;mask-image:linear-gradient(90deg,transparent,#000 22%); }
.hero-photo img { width:100%;height:100%;object-fit:cover;object-position:50% 48%;animation:hero-photo-in 1.8s var(--ease) both; }
.hero-shade { position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#171512 0%,#171512ed 20%,#1715129c 43%,#17151214 72%),linear-gradient(0deg,#171512b0 0%,transparent 40%); }
.hero-content { padding-top:clamp(55px,7vw,110px);padding-bottom:110px;position:relative;z-index:2; }
.hero .eyebrow { display:flex;align-items:center;gap:10px;color:#f3e3ca; }
.live-dot { width:7px;height:7px;background:var(--red);border-radius:50%; }
.hero h1 { font:800 clamp(98px,11.8vw,180px)/.79 var(--display);letter-spacing:-.02em;margin:37px 0 30px; }
.hero h1>span { display:block;width:fit-content; }
.hero h1 .hero-subtitle { font-size:.75em;line-height:1;margin-top:8px;color:var(--paper);-webkit-text-stroke:1px var(--paper);text-shadow:0 4px 40px #0003; }
.hero-intro { font-size:17px;line-height:1.65;margin-bottom:27px;color:#eee1ce;max-width:360px; }
.hero-actions { display:flex;align-items:center;gap:30px; }
.hero-location { display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px;font-weight:600; }
.hero-location svg { width:20px; }
.hero-bottom { position:absolute;bottom:25px;left:0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:1.7px;font-weight:600;color:#eadac2; }
.hero-bottom a { min-height:44px;display:flex;align-items:center;gap:16px; }
.hero-bottom svg { width:17px; }
.hero-side-note { position:absolute;right:22px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px; }
.hero-enter { animation:hero-enter .8s var(--ease) both;animation-delay:var(--enter,0ms); }
@keyframes hero-enter { from { opacity:0;transform:translateY(28px); } to { opacity:1;transform:translateY(0); } }
@keyframes hero-photo-in { from { transform:scale(1.09); } to { transform:scale(1); } }
/* The repeated copies are decorative; a labeled control pauses the movement. */
.ticker { display:flex;background:var(--red);color:var(--paper);height:76px;position:relative;overflow:hidden; }
.ticker-window { flex:1;min-width:0;overflow:hidden;display:flex;align-items:center; }
.ticker-track { display:flex;width:max-content;animation:marquee 30s linear infinite; }
.ticker-unit { display:flex;align-items:center;gap:35px;padding-right:35px;flex-shrink:0;white-space:nowrap;font:700 30px var(--display);letter-spacing:.5px; }
.ticker-unit b { font-size:29px;font-weight:400; }
.ticker-toggle { align-self:center;display:grid;place-items:center;width:44px;height:44px;background:var(--red);color:var(--paper);border:1px solid #ffffff80;margin:0 20px;flex-shrink:0; }
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track,.ticker.is-paused .ticker-track { animation-play-state:paused; }
@keyframes marquee { to { transform:translateX(-50%); } }
/* Public product selection deliberately omits prices. */
.section-pad { padding:100px var(--gutter); }
.section-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px; }
.section-heading h2,.house h2,.visit h2 { font:800 clamp(68px,7.8vw,120px)/.86 var(--display);letter-spacing:-.015em;margin:0; }
.section-heading-side { padding-bottom:3px;max-width:300px; }
.section-heading-side p { font-size:17px;color:var(--muted);margin-bottom:22px; }
.featured-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px; }
.featured-card { min-width:0; }
.featured-image { height:clamp(280px,30vw,440px);position:relative;overflow:hidden;background:#e1c5a2; }
.featured-image:after { content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0005,transparent 40%);pointer-events:none; }
.featured-image img { width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }
.featured-card a:hover img { transform:scale(1.055); }
.featured-number { position:absolute;top:16px;left:17px;color:white;z-index:1;font:600 18px var(--display);background:#171512b3;padding:4px 8px; }
.featured-card-arrow { position:absolute;right:14px;bottom:14px;z-index:1;background:var(--paper);color:var(--ink);width:44px;height:44px;display:grid;place-items:center;transition:background .2s,color .2s; }
.featured-card a:hover .featured-card-arrow { background:var(--red);color:white; }
.featured-info { padding-top:20px;border-bottom:1px solid var(--line);padding-bottom:15px; }
.featured-info h3 { font:700 clamp(28px,3vw,42px)/1 var(--display);margin:0 0 9px;text-transform:uppercase; }
.featured-info>span { font-size:11px;font-weight:700;letter-spacing:1px;color:#594f43; }
.featured-desc { font-size:15px;color:#5b5247;line-height:1.6;margin:14px 0 0; }
.image-placeholder { display:grid;place-content:center;height:100%;text-align:center;font:800 38px/.9 var(--display);color:#61472b; }
.demo-notice { color:#574127;background:#eddec3;padding:12px 16px;border-left:3px solid #a77834;font-size:13px;line-height:1.5;margin-bottom:25px; }
.inline-status { grid-column:1/-1;padding:40px 0;font-size:16px; }
/* Real preparation imagery replaces the repeated product-only section. */
.house { display:grid;grid-template-columns:1.05fr .95fr;min-height:680px;background:var(--red);color:var(--paper);overflow:hidden; }
.house-image { min-height:610px;position:relative;overflow:hidden; }
.house-image:after { content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17151288,transparent 35%); }
.house-image img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover; }
.image-caption { position:absolute;bottom:25px;left:30px;z-index:1;font-size:11px;letter-spacing:1.3px; }
.house-copy { padding:85px clamp(30px,5vw,85px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center; }
.house .eyebrow { margin-bottom:30px; }
.house h2 { font-size:clamp(66px,7.5vw,110px); }
.house h2 span { color:var(--paper); }
.house-copy>p:not(.eyebrow) { font-size:17px;line-height:1.7;margin:28px 0 30px; }
.house .button { font-size:12px;gap:18px; }
.visit { display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start; }
.visit h2 { font-size:clamp(70px,8vw,120px); }
.visit-info { padding-top:43px; }
.info-label { display:block;font-size:11px;font-weight:700;letter-spacing:1.7px;margin-bottom:16px;color:#6a5140; }
.visit-place { font:700 42px/1.05 var(--display);margin-bottom:18px; }
.visit-info-block { border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px; }
.visit-info-block p:not(.visit-place) { font-size:16px;white-space:pre-line;line-height:1.7;margin-bottom:5px; }
.visit-actions { display:flex;align-items:center;gap:20px;flex-wrap:wrap; }
.site-footer { background:var(--ink);color:var(--paper);overflow:hidden; }
.footer-top { display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:35px;padding-bottom:35px; }
.footer-links { display:flex;align-items:center;gap:25px;flex-wrap:wrap; }
.footer-links a { display:inline-flex;align-items:center;min-height:44px;font-size:14px; }
.footer-links a:hover { text-decoration:underline;text-underline-offset:5px; }
.copyright { font-size:11px;letter-spacing:.7px;color:#d9c8ae; }
.footer-wordmark { text-align:center;font:900 clamp(90px,20vw,360px)/.76 var(--display);letter-spacing:-.02em;color:var(--red);padding:30px 0 0;white-space:nowrap; }
.reveal-pending { opacity:0; }
.noscript-note { padding:25px;text-align:center; }
@media(min-width:1800px) { .hero-content { padding-top:95px; } .hero { min-height:800px; } }
@media(max-width:1050px) { .site-header { gap:20px; }.brand-name{font-size:20px}.main-nav{gap:20px;font-size:13px}.header-cta{gap:12px;padding:12px 15px}.house-copy{padding:55px 30px}.house h2{font-size:75px}.house{min-height:590px}.house-image{min-height:590px}.footer-top{flex-wrap:wrap}.copyright{width:100%}.hero h1{font-size:clamp(96px,12.5vw,150px)} }
@media(max-width:800px) {
  html { scroll-padding-top:95px; }
  .site-header { height:82px;padding-block:7px;gap:12px; }
  .brand { gap:8px; }.brand-logo{width:64px;height:64px}.brand-name{font-size:20px}.brand-name small{font-size:11px;letter-spacing:2px;margin-top:4px}
  .header-cta { margin-left:auto;font-size:12px;min-height:44px; }.header-cta svg{width:18px}
  .nav-toggle { display:flex; }
  .main-nav { display:none;position:absolute;top:82px;left:0;right:0;background:var(--ink);padding:16px var(--gutter) 25px;flex-direction:column;align-items:stretch;gap:3px;border-bottom:1px solid #ffffff40;margin:0; }
  .main-nav.is-open { display:flex;animation:nav-in .25s var(--ease); }.main-nav a{font-size:18px;min-height:48px}.main-nav a:after{display:none}
  .hero { min-height:780px;max-height:none; }.hero-content{padding-top:65px;padding-bottom:140px}.hero-photo{inset:0 0 0 10%}.hero-shade{background:linear-gradient(90deg,#171512f5,#17151296 65%,#17151244),linear-gradient(0deg,#171512bb,transparent 45%)}.hero h1{font-size:clamp(100px,17vw,150px)}.hero-side-note{display:none}
  .section-pad{padding-block:75px}.section-heading h2,.visit h2{font-size:80px}.featured-grid{gap:18px}.featured-info h3{font-size:29px}.featured-image{height:310px}.featured-desc{font-size:14px}
  .house{grid-template-columns:1fr 1fr}.house-image{min-height:550px}.house h2{font-size:64px}.house-copy{padding:45px 25px}.house-copy>p:not(.eyebrow){font-size:16px}.house .button{font-size:11px;padding:14px;gap:10px}
  .visit{gap:35px}.visit-info{padding-top:38px}.visit-actions{gap:18px}.visit-place{font-size:36px}
}
@keyframes nav-in { from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)} }
@media(max-width:600px) {
  .site-header{height:78px;gap:9px}.brand-logo{width:58px;height:58px}.brand-name{font-size:17px}.brand-name small{font-size:10px;letter-spacing:1.8px}.header-cta{padding:10px 12px;gap:10px;font-size:12px}.header-cta svg{display:none}.main-nav{top:78px}.nav-toggle{width:44px;height:44px}
  .hero{min-height:730px;min-height:calc(100svh - 78px);max-height:950px}.hero-photo{inset:0 0 0 -45%;mask-image:none;}.hero-photo img{object-position:59% 55%;}.hero-shade{background:linear-gradient(0deg,#171512d9 0%,#1715129e 45%,#171512aa 100%),linear-gradient(90deg,#171512a3,transparent)}
  .hero-content{padding-top:56px;padding-bottom:110px}.hero .eyebrow{font-size:10px;letter-spacing:1.25px;margin-bottom:30px}.hero h1{font-size:clamp(83px,22vw,132px);line-height:.85;margin:25px 0 25px;letter-spacing:-.015em}.hero h1 .hero-subtitle{font-size:.85em;margin-top:4px}.hero-intro{font-size:16px;margin-bottom:26px}.hero-actions{gap:18px;align-items:flex-start;flex-direction:column}.hero .button{min-height:52px;padding-inline:23px}.hero-location{font-size:14px;min-height:44px}.hero-bottom{bottom:14px;font-size:9px;letter-spacing:1.15px}.hero-bottom>span{display:none}.hero-bottom a{gap:14px}.hero-bottom svg{width:16px}
  .ticker{height:62px}.ticker-unit{font-size:24px;gap:24px;padding-right:24px}.ticker-toggle{width:44px;height:44px;margin:0 12px}.ticker-toggle svg{width:20px}
  .section-pad{padding-block:60px}.section-heading{align-items:start;gap:25px;flex-direction:column;margin-bottom:30px}.section-heading h2,.visit h2{font-size:80px}.eyebrow{font-size:11px;letter-spacing:1.2px;margin-bottom:22px}.section-heading-side{display:flex;align-items:center;gap:20px;width:100%;max-width:none;justify-content:space-between}.section-heading-side p{font-size:14px;margin:0;line-height:1.5}.section-heading-side .text-link{font-size:13px;gap:8px}.text-link svg{width:19px}
  .featured-grid{grid-template-columns:1fr;gap:35px}.featured-image{height:auto;aspect-ratio:1.03}.featured-info{padding-top:18px;padding-bottom:13px;display:flex;justify-content:space-between;align-items:baseline;gap:15px}.featured-info h3{font-size:32px;margin:0}.featured-info>span{font-size:9px;flex-shrink:0;letter-spacing:.5px}.featured-desc{font-size:15px;margin-top:12px}.demo-notice{font-size:13px;padding:10px 12px}
  .house{grid-template-columns:1fr}.house-image{min-height:370px;aspect-ratio:1.1}.house-copy{padding:50px var(--gutter) 60px}.house h2{font-size:90px}.house-copy>p:not(.eyebrow){font-size:16px;margin:25px 0}.house .button{padding:15px 20px;font-size:12px;gap:20px}.image-caption{left:20px;bottom:20px;font-size:10px}
  .visit{grid-template-columns:1fr;gap:0}.visit-info{padding-top:35px}.visit-place{font-size:36px}.visit-info-block{margin-bottom:22px;padding-bottom:22px}.visit .button{font-size:13px}
  .footer-top{padding-block:25px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-links{display:grid;gap:2px;justify-content:end}.footer-links a{font-size:13px;min-height:44px}.copyright{grid-column:1/-1;font-size:10px;padding-top:10px;border-top:1px solid #ffffff26}.footer-wordmark{font-size:22vw;padding-top:5px}
}
@media(max-width:370px) { .brand-name{font-size:15px}.brand-name small{font-size:9px}.brand{gap:4px}.site-header{gap:7px}.header-cta{font-size:11px;padding:9px}.hero h1{font-size:22vw}.hero-content{padding-top:43px}.featured-info{display:block}.featured-info h3{margin-bottom:8px}.house h2{font-size:76px}.visit h2{font-size:72px}.hero{min-height:660px} }
@media(prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1}.ticker-track{transform:none}.ticker-toggle{display:none}
}
.house-image img.house-detail { width:42%;height:37%;top:auto;left:auto;bottom:65px;right:25px;border:7px solid var(--paper);z-index:1;box-shadow:0 12px 35px #0004; }
@media(max-width:600px){.house-image img.house-detail{width:40%;height:42%;right:20px;bottom:55px;border-width:5px}}
.house-copy,.house-image,.visit-heading,.visit-info{min-width:0}.house-copy .button{max-width:100%}
@media(max-width:800px) and (min-width:601px){.visit h2{font-size:clamp(60px,9vw,80px)}}
@media(max-width:600px){.house{grid-template-columns:minmax(0,1fr)}.house-image{width:100%;aspect-ratio:auto;min-height:360px}.visit{grid-template-columns:minmax(0,1fr)}.visit h2{font-size:clamp(60px,20vw,80px)}}
/* Location and footer share a quieter, compact ending. */
.home-page .visit { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);align-items:center;padding-block:72px; }
.home-page .visit h2 { font-size:clamp(42px,4.6vw,68px);line-height:1;letter-spacing:0; }
.home-page .visit-info { padding-top:28px; }
.home-page .visit-place { font:600 23px/1.5 var(--sans);max-width:380px;margin-bottom:0; }
.home-page .visit-info-block { padding-bottom:22px;margin-bottom:22px; }
.visit-map { min-width:0;overflow:hidden;border:1px solid var(--line);background:#eadfcd; }
.visit-map iframe { display:block;width:100%;height:360px;border:0; }
.map-caption { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;background:var(--white);border-top:1px solid var(--line); }
.map-caption>span { font-size:10px;font-weight:700;letter-spacing:1px; }
.map-caption a { display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px; }
.compact-footer { border-top:1px solid #ffffff25; }
.compact-footer .footer-inner { display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:48px;padding-block:32px; }
.compact-footer .brand { gap:10px; }
.compact-footer .brand-logo { width:68px;height:68px; }
.compact-footer .brand-name { font-size:22px; }
.compact-footer .brand-name small { font-size:11px;letter-spacing:2px; }
.compact-footer .footer-address { font-style:normal;font-size:14px;line-height:1.7;color:#d8cdbd;max-width:260px; }
.compact-footer .footer-links { display:flex;align-items:center;gap:28px; }
.compact-footer .footer-links a { font-size:14px;min-height:44px; }
.compact-footer .footer-bottom { display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:13px;padding-bottom:13px;border-top:1px solid #ffffff22;color:#c8bdad;font-size:11px;letter-spacing:.2px; }
.compact-footer .footer-bottom a { display:flex;align-items:center;gap:12px;min-height:44px;font-size:12px; }
.compact-footer .footer-bottom a:hover { color:var(--paper); }
@media(max-width:900px) {
 .compact-footer .footer-inner { gap:24px;grid-template-columns:1fr 1fr; }
 .compact-footer .footer-address { grid-column:1;grid-row:2;max-width:none; }
 .compact-footer .footer-links { grid-column:2;grid-row:1/3;justify-content:flex-end;align-items:flex-end;flex-direction:column;gap:4px; }
}
@media(max-width:700px) {
 .home-page .visit { grid-template-columns:minmax(0,1fr);gap:28px;padding-block:45px; }
 .home-page .visit h2 { font-size:52px; }
 .home-page .visit-info { padding-top:20px; }
 .home-page .visit-place { font-size:20px;max-width:330px; }
 .visit-map iframe { height:290px; }
 .map-caption { padding:8px 12px;gap:8px; }
 .map-caption>span { font-size:9px;letter-spacing:.5px; }
 .map-caption a { font-size:11px;gap:6px; }
 .compact-footer .footer-inner { gap:14px 20px;padding-block:25px; }
 .compact-footer .brand-logo { width:58px;height:58px; }
 .compact-footer .brand-name { font-size:20px; }
 .compact-footer .footer-address { font-size:13px; }
 .compact-footer .footer-links { gap:3px; }
 .compact-footer .footer-links a { font-size:13px; }
 .compact-footer .footer-bottom { flex-wrap:wrap;gap:0 15px;padding-block:10px; }
 .compact-footer .footer-bottom>span { font-size:10px; }
}
@media(max-width:370px){.home-page .visit h2{font-size:44px}.compact-footer .brand-name{font-size:18px}.compact-footer .footer-inner{gap:12px}.map-caption{align-items:flex-start;flex-direction:column;gap:2px}.map-caption>span{padding-top:7px}}

.reviews { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,90px);background:#f0e3cc;border-bottom:1px solid var(--line); }
.reviews h2 { font:800 clamp(42px,5vw,74px)/.98 var(--display);letter-spacing:-.01em;margin:0; }
.reviews h2 span { color:var(--red); }
.reviews-content>p { font-size:17px;max-width:390px;margin-bottom:23px;color:#4e463b; }
.reviews-content .button { gap:20px;font-size:13px; }
.reviews-content .reviews-invitation { font-size:14px;line-height:1.6;margin:18px 0 0; }
@media(max-width:700px){.reviews{grid-template-columns:minmax(0,1fr);gap:25px;padding-block:48px}.reviews h2{font-size:clamp(42px,11vw,62px)}.reviews .eyebrow{margin-bottom:16px}.reviews-content>p{font-size:16px}.reviews-content .button{font-size:12px;padding-inline:18px;gap:18px;max-width:100%}}

.featured-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.floating-whatsapp{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 22px;border-radius:999px;background:#128c4a;color:#fff;box-shadow:0 6px 24px #0003;font:700 15px/1.2 var(--sans);text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.floating-whatsapp:hover{background:#0d733d;transform:translateY(-2px);box-shadow:0 8px 28px #0004}
.floating-whatsapp svg{display:block;width:28px;height:28px;fill:currentColor;stroke:none;flex-shrink:0}
.floating-whatsapp:focus-visible{outline:3px solid var(--paper);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)}
body:has(.floating-whatsapp:not([hidden])) .compact-footer .footer-bottom{padding-bottom:90px}
@media(max-width:600px){.floating-whatsapp{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:58px;height:58px;padding:0}.floating-whatsapp svg{width:30px;height:30px}.floating-whatsapp>span{display:none}}
@media(prefers-reduced-motion:reduce){.floating-whatsapp{transition:none}.floating-whatsapp:hover{transform:none}}

.reviews{grid-template-columns:minmax(0,1fr);gap:32px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.review-card{display:flex;flex-direction:column;padding:28px;background:var(--paper);border:1px solid #d8c9b1;min-width:0}
.review-stars{color:#a64214;font-size:22px;letter-spacing:3px;margin-bottom:18px}
.review-card blockquote{margin:0 0 24px;flex:1}
.review-card blockquote p{font-size:16px;line-height:1.7;margin:0}
.review-author{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.review-source{font-size:12px;color:#635849}
@media(max-width:800px){.review-grid{grid-template-columns:minmax(0,1fr)}.review-card{padding:24px}}
