:root{
  --cream:#f4ead7;
  --paper:#ead8b8;
  --ink:#17231f;
  --green:#17382f;
  --green2:#23483c;
  --red:#7e231f;
  --red2:#9a3328;
  --gold:#d6a44e;
  --warm:#bd7447;
  --shadow:rgba(30,20,12,.26);
  --border:rgba(25,34,29,.23);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
.grain{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.site-header{position:fixed;top:18px;left:0;right:0;z-index:60;padding:0 4vw;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}
.minimal-header .floating-logo,.minimal-header .header-actions{pointer-events:auto}
.floating-logo{display:block;width:110px;filter:drop-shadow(0 14px 20px rgba(38,20,12,.16))}
.floating-logo img{width:100%;height:auto;display:block}
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.header-pill,.lang-btn{min-height:46px;padding:0 18px;border:1px solid rgba(23,35,31,.7);display:inline-flex;align-items:center;justify-content:center;font:800 10px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;background:rgba(248,241,228,.9);backdrop-filter:blur(6px);box-shadow:0 10px 24px rgba(50,30,14,.08);cursor:pointer}
.pill-red{background:var(--red);border-color:var(--red);color:#fff}
.pill-outline:hover,.lang-btn:hover{background:var(--ink);color:var(--cream)}
.pill-red:hover{background:var(--green);border-color:var(--green)}
.lang-btn{color:var(--ink)}.lang-btn span{color:var(--red);margin:0 4px}
.sj-hero{min-height:100vh;padding:138px 4vw 72px;position:relative;background:linear-gradient(180deg,#f6efdf 0%,#efe2c9 100%);display:flex;align-items:center}
.sj-hero-frame{position:absolute;inset:16px;border:1px solid rgba(126,35,31,.28);pointer-events:none}
.sj-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(320px,.95fr);gap:42px;align-items:center;width:100%}
.sj-copy{max-width:760px}
.sj-kicker{font:800 11px/1.3 Arial,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--green);margin:0 0 18px}
.sj-title{margin:0;font-size:clamp(96px,13vw,208px);line-height:.82;letter-spacing:-.07em;color:var(--red);text-transform:uppercase;text-shadow:4px 4px 0 rgba(239,226,201,.9),6px 6px 0 rgba(23,35,31,.16)}
.sj-title span{display:block}
.sj-tagline{margin:14px 0 16px;font:italic 700 clamp(34px,4vw,58px)/.95 Georgia,serif;color:var(--green)}
.sj-sub{max-width:660px;font-size:20px;line-height:1.5}
.sj-food-line{margin:26px 0 32px;padding-block:18px;border-block:1px solid rgba(23,35,31,.22);font:900 16px/1 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
.sj-cta{display:flex;gap:12px;flex-wrap:wrap}
.sj-illustration{display:flex;justify-content:center}
.sj-print-panel{position:relative;width:min(520px,100%);aspect-ratio:10/11;background:rgba(252,247,238,.72);border:1px solid rgba(23,35,31,.26);box-shadow:18px 18px 0 rgba(126,35,31,.08);padding:28px 28px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sj-print-panel:before{content:"";position:absolute;inset:14px;border:1px solid rgba(23,56,47,.16)}
.sj-star{position:absolute;top:30px;font-size:40px;color:var(--gold);line-height:1}
.sj-heritage{width:100%;height:auto;display:block;margin-top:26px}
.sj-heritage .heritage-ink{stroke:var(--green);fill:none}
.sj-panel-caption{margin:12px 0 8px;font:900 28px/1 Georgia,serif;letter-spacing:.07em;color:var(--red);text-align:center}
.sj-panel-sub{margin:0;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--green);text-align:center}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.editorial-hero{min-height:100vh;padding:140px 4vw 70px;background:linear-gradient(180deg,#f6efe2 0%,#ecdfc7 100%);display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr);gap:42px;align-items:start}
.hero-paper-grain{position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.55),transparent 25%),radial-gradient(circle at 90% 10%,rgba(214,164,78,.12),transparent 22%),linear-gradient(180deg,transparent,rgba(126,35,31,.03));pointer-events:none}
.hero-copy{position:relative;z-index:2;padding-top:36px;max-width:780px}
.eyebrow,.section-tag{font:800 10px/1.4 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase}
.eyebrow{color:var(--red);margin-bottom:18px}
.hero h1{font-size:clamp(58px,9vw,136px);line-height:.88;letter-spacing:-.055em;margin:0 0 24px}
.hero h1 span{display:block;color:#132b27}
.hero h1 em{display:block;font-weight:400;color:var(--red);font-style:italic}
.hero-sub{max-width:720px;font-size:clamp(18px,2.1vw,24px);line-height:1.45;margin:0;color:#192723}
.hero-art{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-self:end}
.logo-card{grid-column:1;grid-row:1;align-self:start;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.18));border:1px solid rgba(23,35,31,.2);padding:24px 18px;box-shadow:18px 20px 0 rgba(215,197,166,.65),0 18px 40px rgba(44,25,14,.12)}
.logo-card img{display:block;width:100%;height:auto}
.heritage-panel{grid-column:2;grid-row:1 / span 2;align-self:start;background:rgba(248,241,228,.82);border:1px solid rgba(23,35,31,.18);padding:28px 26px 210px;min-height:100%;position:relative;box-shadow:0 18px 36px rgba(44,25,14,.08)}
.panel-kicker{font:800 10px/1.3 Arial,sans-serif;letter-spacing:.23em;color:var(--red);text-transform:uppercase;margin:0 0 14px}
.heritage-panel h2{font-size:clamp(34px,4vw,60px);line-height:.92;letter-spacing:-.04em;margin:0 0 14px;max-width:340px}
.heritage-panel p{margin:0;line-height:1.6;font-size:15px;max-width:340px}
.heritage-illustration{position:absolute;left:0;right:0;bottom:0;height:190px;overflow:hidden;border-top:1px solid rgba(23,35,31,.12);background:linear-gradient(180deg,rgba(248,241,228,.2),rgba(234,216,184,.8))}
.mountains{position:absolute;left:0;right:0;bottom:44px;height:76px;background:linear-gradient(transparent 48%,rgba(23,56,47,.08) 48%),linear-gradient(160deg,transparent 0 32%,#4d5a56 32.5% 34%,transparent 34.5%),linear-gradient(150deg,transparent 0 47%,#596661 47.5% 49%,transparent 49.5%),linear-gradient(168deg,transparent 0 63%,#5f6a66 63.5% 65%,transparent 65.5%);opacity:.92}
.agave{position:absolute;left:34px;bottom:16px;width:120px;height:118px}
.agave:before,.agave:after,.agave i{content:"";position:absolute;left:50%;bottom:0;width:8px;height:100px;border-radius:50px;background:var(--green);transform-origin:bottom center}
.agave:before{transform:translateX(-50%) rotate(-52deg)}
.agave:after{transform:translateX(-50%) rotate(52deg)}
.agave{--dummy:0}
.agave:after{}
.agave i:nth-child(1){transform:translateX(-50%) rotate(-25deg);height:110px}
.agave i:nth-child(2){transform:translateX(-50%) rotate(0);height:118px}
.agave i:nth-child(3){transform:translateX(-50%) rotate(25deg);height:110px}
.church-silhouette{position:absolute;right:24px;bottom:16px;width:130px;height:150px;background:linear-gradient(var(--green),var(--green));clip-path:polygon(52% 0,57% 6%,57% 18%,64% 18%,64% 82%,100% 82%,100% 100%,0 100%,0 82%,36% 82%,36% 32%,44% 32%,44% 18%,49% 18%,49% 6%);opacity:.9}
.church-silhouette:before{content:"";position:absolute;right:0;bottom:0;width:55px;height:65px;background:var(--green);clip-path:polygon(50% 0,100% 40%,100% 100%,0 100%,0 40%)}
.hero-cta{grid-column:1;grid-row:2;display:flex;gap:12px;flex-wrap:wrap;align-self:end;margin-top:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;border:1px solid;font:800 10px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:.25s;background:rgba(255,255,255,.35)}
.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover{background:var(--green);border-color:var(--green);transform:translateY(-2px)}
.btn-ghost{border-color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.hero-note{position:absolute;font-style:italic;color:var(--red);font-size:34px;line-height:1.05;pointer-events:none}
.note-left{left:-18px;bottom:14px;transform:rotate(-7deg);font-size:28px}
.note-right{right:14px;top:-16px;transform:rotate(7deg);font-size:22px;color:var(--green);text-align:right}
.marquee{overflow:hidden;background:var(--red);color:#f7e6c9;border-block:1px solid var(--ink);height:50px;display:flex;align-items:center}.marquee-track{display:flex;gap:28px;align-items:center;width:max-content;animation:marquee 24s linear infinite;font:900 13px Arial,sans-serif;letter-spacing:.18em}.marquee-track b{color:var(--gold)}
.section-pad{padding:100px 6vw}.story{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;align-items:center;background:#f5ead6}.story-copy h2,.section-heading h2,.reviews-intro h2{font-size:clamp(42px,5vw,78px);line-height:.92;letter-spacing:-.045em;margin:15px 0 26px}.story-copy>p:not(.section-tag){font-size:17px;line-height:1.7;max-width:600px}.section-tag{color:var(--red)}.story-stamp{display:inline-block;margin-top:34px;border:2px solid var(--red);color:var(--red);padding:12px 18px;text-align:center;font:900 18px/1 Arial,sans-serif;letter-spacing:.08em;transform:rotate(-3deg)}.story-stamp small{font-size:7px;letter-spacing:.25em}.story-art{height:540px;position:relative}.poster{position:absolute;box-shadow:0 18px 34px var(--shadow);border:1px solid rgba(0,0,0,.2)}.poster-one{left:0;top:20px;width:55%;height:76%;background:var(--red);color:#f8e4bd;padding:40px 32px;transform:rotate(-4deg)}.poster-kicker{font:800 8px Arial,sans-serif;letter-spacing:.25em}.poster-one strong{display:block;margin-top:55px;font:900 clamp(35px,4.5vw,66px)/.88 Georgia,serif}.poster-star{font-size:52px;margin-top:30px;color:var(--gold)}.poster-two{right:2%;top:76px;width:49%;height:66%;background:var(--green);color:var(--cream);transform:rotate(5deg);padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.arch-art{width:70%;height:46%;border:6px double var(--paper);border-radius:80px 80px 0 0;position:relative;overflow:hidden;background:linear-gradient(#dfb45f,#9b502b)}.arch-art:before{content:"";position:absolute;left:20%;right:20%;bottom:0;height:70%;background:#23382e;clip-path:polygon(50% 0,100% 100%,0 100%)}.arch-art span{position:absolute;bottom:8%;width:12%;height:50%;background:#d4bd77;clip-path:polygon(50% 0,100% 100%,0 100%)}.arch-art span:nth-child(1){left:9%}.arch-art span:nth-child(2){right:10%}.arch-art span:nth-child(3){left:44%;height:34%}.poster-two p{font:900 28px/1 Georgia,serif;letter-spacing:.04em;text-align:center;margin:22px 0 0}.poster-note{position:absolute;right:9%;bottom:2%;width:46%;background:#eadab9;padding:18px 20px;border:1px solid var(--ink);font:italic 15px/1.4 Georgia,serif;transform:rotate(-2deg);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.menu-section{background:#e4d1ae;border-block:1px solid var(--border)}.section-heading{max-width:760px;margin-bottom:50px}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.menu-card{background:#f4e7cf;border:1px solid var(--ink);min-height:430px;transition:.25s;box-shadow:6px 6px 0 rgba(23,56,47,.18)}.menu-card:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:11px 13px 0 rgba(23,56,47,.22)}.food-illustration{height:245px;background:#d2ae78;position:relative;overflow:hidden;border-bottom:1px solid var(--ink)}.menu-card-copy{padding:22px}.menu-card-copy>span{font:800 8px Arial,sans-serif;letter-spacing:.2em;color:var(--red)}.menu-card h3{font-size:36px;margin:5px 0 9px}.menu-card p{font-size:14px;line-height:1.5;margin:0}.menu-note{text-align:center;margin:36px auto 0;max-width:700px;font-size:12px;font-style:italic;opacity:.7}.taco-shell{position:absolute;width:130px;height:85px;border-radius:100px 100px 20px 20px;background:#d99f38;border:5px solid #a3661f;bottom:42px}.taco-shell:after{content:"";position:absolute;left:16px;right:16px;top:25px;height:20px;border-radius:20px;background:repeating-linear-gradient(90deg,#3d6e38 0 12px,#b33a25 12px 19px,#eee0a4 19px 27px)}.shell-1{left:32px;transform:rotate(-8deg)}.shell-2{right:24px;bottom:30px;transform:rotate(11deg)}.lime-wedge{position:absolute;right:18%;top:28px;width:55px;height:55px;background:#78933c;border:4px solid #566c2d;border-radius:50% 0 50% 50%;transform:rotate(30deg)}.torta-art{background:#c68d5d}.bread{position:absolute;left:14%;right:14%;height:62px;background:#d79a53;border:4px solid #9a6238}.bread.top{top:54px;border-radius:80% 80% 30% 30%;box-shadow:inset 0 8px #efbd7c}.bread.bottom{top:145px;border-radius:25% 25% 70% 70%}.filling{position:absolute;left:17%;right:17%;top:112px;height:42px;background:repeating-linear-gradient(180deg,#47793d 0 8px,#bd402d 8px 17px,#f0d26e 17px 27px,#6e3926 27px 42px);border-radius:20px}.burrito-art{background:#b98761}.burrito-body{position:absolute;width:70%;height:115px;left:15%;top:52px;border-radius:55px 25px 25px 55px;background:#dfc896;transform:rotate(-9deg);border:4px solid #a88858;box-shadow:inset -30px 0 0 rgba(255,255,255,.15)}.foil{position:absolute;left:16%;bottom:28px;width:36%;height:92px;background:repeating-linear-gradient(130deg,#e0e0dc 0 9px,#bebebb 10px 17px);transform:rotate(-9deg);clip-path:polygon(0 0,100% 8%,93% 100%,8% 92%)}.quesadilla-art{background:#bd7c48}.quesa{position:absolute;width:58%;height:72px;background:#dba14e;border:4px solid #966324;clip-path:polygon(0 0,100% 14%,78% 100%,10% 88%)}.q1{left:12%;top:70px;transform:rotate(6deg)}.q2{right:6%;top:118px;transform:rotate(-13deg)}.cheese-pull{position:absolute;width:9px;height:100px;background:#f2dc8a;left:60%;top:105px;transform:rotate(20deg);border-radius:8px}
.specials{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--green);color:#f7e7c9;border-bottom:1px solid #0d211c}.specials-copy{padding:105px 7vw}.section-tag.light{color:var(--gold)}.specials h2{font-size:clamp(50px,6vw,88px);line-height:.88;letter-spacing:-.045em;margin:16px 0 28px}.specials p:not(.section-tag){font-size:17px;line-height:1.65;max-width:580px}.special-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.special-pills span{border:1px solid #f4dcae;padding:10px 14px;font:800 9px Arial,sans-serif;letter-spacing:.14em}.bowl-art{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 60% 46%,rgba(233,171,79,.16),transparent 38%),linear-gradient(135deg,#1e4036,#102820);overflow:hidden}.bowl-rim{width:min(420px,70%);aspect-ratio:1.55;background:#9c3a2a;border-radius:50%;border:15px solid #cb6b46;position:relative;z-index:3;transform:rotate(2deg);box-shadow:0 30px 30px rgba(0,0,0,.28)}.broth{position:absolute;inset:12px;background:radial-gradient(circle at 40% 30%,#d97438 0 5%,transparent 6%),radial-gradient(circle at 65% 55%,#4f762f 0 4%,transparent 5%),radial-gradient(circle at 25% 68%,#e6b150 0 3%,transparent 4%),#873824;border-radius:50%;overflow:hidden}.broth i{position:absolute;width:42px;height:18px;background:#c2673d;border-radius:50%;transform:rotate(20deg)}.broth i:nth-child(1){left:20%;top:28%}.broth i:nth-child(2){left:53%;top:18%}.broth i:nth-child(3){left:72%;top:61%}.broth i:nth-child(4){left:34%;top:66%}.broth i:nth-child(5){left:60%;top:46%}.bowl-base{position:absolute;width:50%;height:32%;background:#6f2c24;border-radius:0 0 50% 50%;top:51%;z-index:2}.table-shadow{position:absolute;width:72%;height:10%;border-radius:50%;background:rgba(0,0,0,.34);bottom:18%;filter:blur(14px)}.steam-line{position:absolute;width:30px;height:180px;border-left:5px solid rgba(247,232,197,.42);border-radius:50%;top:9%;z-index:4;animation:steam 4s ease-in-out infinite}.st-a{left:42%}.st-b{left:52%;animation-delay:-1.2s}.st-c{left:61%;animation-delay:-2.2s}
.reviews{background:#f3e7d0}.reviews-intro{max-width:850px;margin-bottom:45px}.review-disclaimer{font-size:11px;opacity:.63;font-style:italic}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{margin:0;padding:34px;background:#ead5ae;border:1px solid var(--ink);min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.review-card:nth-child(2){transform:translateY(18px);background:#e3c896}.stars{color:#a73a27;letter-spacing:.14em}.review-card p{font:italic 22px/1.3 Georgia,serif}.review-card cite{font:800 8px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.visit{display:grid;grid-template-columns:1fr 1.25fr;background:var(--red);color:#f3e4c8;min-height:520px}.visit-copy{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.visit h2{font-size:clamp(46px,6vw,90px);line-height:.9;margin:14px 0 26px;max-width:580px}.visit address{font-style:normal;font-size:18px;line-height:1.5;margin-bottom:30px}.btn-cream{border-color:#f2e1be;color:var(--green);background:#f2e1be}.btn-cream:hover{transform:translateY(-2px);background:#fff3db}.map-art{position:relative;background:#d8b775;overflow:hidden;display:flex;align-items:center;justify-content:center}.map-art svg{width:100%;height:100%}.road{stroke:#b3854d;stroke-width:22;fill:none}.artery{stroke:#8e5f35;stroke-width:28;fill:none}.blocks rect{fill:#e4cd9e;stroke:#9a7247;stroke-width:2}.pin path{fill:var(--red)}.pin circle{fill:#f3e5c6}.map-label{position:absolute;right:8%;bottom:10%;background:var(--cream);color:var(--ink);border:1px solid var(--ink);padding:12px 15px;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.1em;transform:rotate(2deg);box-shadow:6px 6px 0 var(--green)}
.footer{min-height:170px;background:#102720;color:#f2dfbc;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:30px 6vw;border-top:9px solid #d2a158}.footer-brand{display:flex;flex-direction:column}.footer-brand span{font:800 8px Arial,sans-serif;letter-spacing:.22em}.footer-brand strong{font-size:26px;color:#e2bb73}.footer p{font-size:12px}.footer>a{justify-self:end;font:800 9px Arial,sans-serif;letter-spacing:.14em}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@keyframes steam{0%{transform:translateY(20px) translateX(0) scaleX(.7);opacity:0}30%{opacity:.65}60%{transform:translateY(-20px) translateX(10px) scaleX(1.2);opacity:.45}100%{transform:translateY(-65px) translateX(-5px) scaleX(.8);opacity:0}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes bob{50%{transform:translateY(8px)}}
@media(max-width:1050px){.site-header{top:14px;padding:0 22px}.floating-logo{width:94px}.editorial-hero{grid-template-columns:1fr;padding:130px 22px 58px}.hero-copy{padding-top:10px}.hero-art{grid-template-columns:1fr 1fr}.logo-card{max-width:440px}.heritage-panel{padding-bottom:190px}.story{grid-template-columns:1fr}.story-art{max-width:800px;width:100%;margin:auto}.menu-grid{grid-template-columns:1fr 1fr}.specials{grid-template-columns:1fr}.bowl-art{min-height:540px}.review-grid{grid-template-columns:1fr}.review-card:nth-child(2){transform:none}.visit{grid-template-columns:1fr}.map-art{min-height:430px}.footer{grid-template-columns:1fr;gap:16px;text-align:center}.footer-brand{align-items:center}.footer>a{justify-self:center}}
@media(max-width:680px){.site-header{top:10px;padding:0 12px;align-items:flex-start;gap:10px}.floating-logo{width:76px}.header-actions{gap:6px;justify-content:flex-end}.header-pill,.lang-btn{min-height:40px;padding:0 12px;font-size:8px;letter-spacing:.12em}.editorial-hero{min-height:auto;padding:112px 18px 42px;gap:26px}.hero h1{font-size:clamp(52px,14vw,78px)}.hero-sub{font-size:15px;max-width:95%}.hero-art{grid-template-columns:1fr;gap:14px}.logo-card{grid-column:1;grid-row:1;max-width:none;padding:18px 14px}.heritage-panel{grid-column:1;grid-row:2;padding:22px 18px 170px}.heritage-panel h2{font-size:40px}.heritage-panel p{font-size:14px}.hero-cta{grid-column:1;grid-row:3;gap:8px}.btn{min-height:46px;padding:0 16px;font-size:8px}.hero-note{display:none}.section-pad{padding:72px 20px}.story-art{height:420px}.poster-one{width:62%;height:72%;padding:26px 20px}.poster-one strong{margin-top:42px;font-size:35px}.poster-two{width:52%;height:61%;right:0;padding:16px}.poster-two p{font-size:20px}.poster-note{width:55%;font-size:11px;right:2%}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:390px}.food-illustration{height:220px}.specials-copy{padding:72px 20px}.specials h2{font-size:54px}.bowl-art{min-height:420px}.reviews-intro h2{font-size:46px}.visit-copy{padding:72px 20px}.map-art{min-height:340px}.footer{padding:34px 20px}.marquee{height:44px}.marquee-track{font-size:10px}}
@media(max-width:1050px){.sj-hero{padding:128px 22px 56px}.sj-hero-grid{grid-template-columns:1fr;gap:26px}.sj-copy{max-width:none}.sj-title{font-size:clamp(88px,18vw,170px)}.sj-sub{max-width:760px}.sj-print-panel{max-width:540px;margin:0 auto}}
@media(max-width:680px){.sj-hero{padding:112px 18px 42px}.sj-hero-frame{inset:10px}.sj-title{font-size:clamp(72px,22vw,122px);line-height:.84}.sj-tagline{font-size:40px;margin-top:10px}.sj-sub{font-size:16px;max-width:96%}.sj-food-line{font-size:10px;letter-spacing:.18em;padding-block:14px;margin:20px 0 24px}.sj-cta{gap:8px}.sj-print-panel{padding:20px 18px 24px;box-shadow:10px 10px 0 rgba(126,35,31,.08)}.sj-panel-caption{font-size:24px}.sj-panel-sub{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* --- San Julian Plaza Hero Refresh --- */
.plaza-header{justify-content:flex-end}
.plaza-header .header-spacer{flex:1}
.plaza-header .floating-logo{display:none}
.plaza-header .header-actions,.plaza-header .header-pill,.plaza-header .lang-btn{pointer-events:auto}

.sj-plaza-hero{position:relative;min-height:100vh;padding:112px 3vw 60px;background:linear-gradient(180deg,#f7f0e2 0%,#f2e7d2 100%);border-bottom:1px solid rgba(116,82,33,.22);display:flex;align-items:center;overflow:hidden}
.sj-plaza-frame{position:absolute;inset:10px;border:1px solid rgba(166,121,52,.2);pointer-events:none}
.sj-plaza-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,.78fr) minmax(240px,1fr);gap:18px;align-items:end;width:100%}
.plaza-arch{width:100%;height:auto;align-self:end}
.plaza-lines{stroke:#bb8731;stroke-width:10;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.96}
.plaza-center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:28px;position:relative}
.plaza-kicker{margin:0 0 14px;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--red)}
.plaza-logo{width:min(280px,60vw);height:auto;display:block;margin:0 auto 22px;filter:drop-shadow(0 14px 16px rgba(54,26,14,.12))}
.plaza-title{margin:0;font-size:clamp(58px,7vw,112px);line-height:.88;letter-spacing:-.055em;color:var(--red);text-transform:uppercase}
.plaza-subtitle{margin:14px 0 8px;font:900 14px/1 Arial,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--green)}
.plaza-location{margin:0;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#9c7636}
.story-note-card{border:1px solid rgba(23,35,31,.15);background:#f8efdf;padding:32px;max-width:520px;box-shadow:12px 12px 0 rgba(126,35,31,.06)}
.story-note-kicker{margin:0 0 14px;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--red)}
.story-note-text{margin:0;font-size:16px;line-height:1.7}

@media(max-width:1100px){
  .sj-plaza-inner{grid-template-columns:1fr;gap:8px;align-items:center}
  .plaza-center{order:1;padding-bottom:8px}
  .plaza-left{order:2;max-width:760px;margin:0 auto}
  .plaza-right{order:3;max-width:760px;margin:0 auto}
}
@media(max-width:680px){
  .plaza-header{padding:0 12px}
  .sj-plaza-hero{padding:104px 16px 38px}
  .sj-plaza-frame{inset:8px}
  .sj-plaza-inner{gap:0}
  .plaza-logo{width:min(220px,56vw);margin-bottom:16px}
  .plaza-title{font-size:clamp(44px,12vw,72px)}
  .plaza-subtitle{font-size:10px;letter-spacing:.24em}
  .plaza-location{font-size:9px;letter-spacing:.16em}
  .plaza-lines{stroke-width:8}
  .story-note-card{padding:24px;box-shadow:8px 8px 0 rgba(126,35,31,.06)}
}

/* simplify current placeholder artwork so the new identity direction is easier to judge */
.food-illustration{display:none!important}
.menu-card{min-height:auto!important;padding:28px 26px 30px!important}
.specials{grid-template-columns:1fr!important}
.bowl-art{display:none!important}

/* --- V6: real San Julian art assets --- */
.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}
.sj-scene-hero{position:relative;min-height:100vh;padding:100px 3vw 26px;background:linear-gradient(180deg,#f8f0df 0%,#f2e5cb 100%);overflow:hidden;border-bottom:1px solid rgba(126,35,31,.16);display:flex;align-items:flex-end;justify-content:center}
.scene-frame{position:absolute;inset:10px;border:1px solid rgba(175,126,52,.18);pointer-events:none;z-index:1}
.scene-asset{position:absolute;display:block;pointer-events:none;user-select:none;z-index:2;filter:drop-shadow(0 14px 15px rgba(88,56,17,.05))}
.scene-templo{left:-5.8vw;bottom:-2.8vh;width:min(58vw,950px)}
.scene-portal{right:-7.5vw;bottom:-4.8vh;width:min(63vw,1020px)}
.scene-mariachi{right:17.7vw;bottom:8.2vh;width:min(11.5vw,175px);z-index:4;filter:drop-shadow(0 9px 9px rgba(88,56,17,.08))}
.scene-center{position:relative;z-index:5;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(37vw,620px);margin:0 auto 13vh;padding:10px 18px}
.scene-kicker{margin:0 0 10px;font:800 9px/1.4 Arial,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--red)}
.scene-logo{width:min(330px,24vw);height:auto;display:block;margin:0 auto 13px;filter:drop-shadow(0 16px 19px rgba(72,41,12,.10))}
.scene-tagline{margin:0;font:900 15px/1 Arial,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--green)}
.scene-place{margin:11px 0 0;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:#a7772d}

.heritage-story{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:5vw;align-items:center;background:#f4e7cf;overflow:hidden}
.heritage-copy{max-width:590px}
.heritage-copy h2{font-size:clamp(46px,5.4vw,86px);line-height:.92;letter-spacing:-.045em;margin:14px 0 24px}
.heritage-copy>p:not(.section-tag){font-size:17px;line-height:1.72;max-width:560px}
.heritage-stamp{display:inline-block;margin-top:30px;border:2px solid var(--red);color:var(--red);padding:12px 18px;text-align:center;font:900 17px/1 Arial,sans-serif;letter-spacing:.09em;transform:rotate(-2deg)}
.heritage-stamp small{font-size:7px;letter-spacing:.24em}
.heritage-house-wrap{position:relative;min-height:460px;display:flex;align-items:flex-end;justify-content:flex-end}
.heritage-house{width:min(830px,108%);height:auto;display:block;margin-right:-10%;margin-bottom:-5%;filter:drop-shadow(0 14px 16px rgba(92,59,18,.05))}

@media(max-width:1180px){
  .scene-templo{left:-11vw;width:min(67vw,900px)}
  .scene-portal{right:-14vw;width:min(72vw,980px)}
  .scene-mariachi{right:13vw;width:min(13vw,155px)}
  .scene-center{width:min(42vw,540px);margin-bottom:16vh}
  .scene-logo{width:min(285px,27vw)}
}

@media(max-width:900px){
  .sj-scene-hero{min-height:900px;padding:104px 18px 20px;align-items:flex-start}
  .scene-center{width:100%;max-width:500px;margin:36px auto 0}
  .scene-logo{width:min(270px,54vw)}
  .scene-templo{left:-22vw;bottom:0;width:77vw}
  .scene-portal{right:-25vw;bottom:-1vh;width:84vw}
  .scene-mariachi{right:16vw;bottom:11vh;width:15vw}
  .heritage-story{grid-template-columns:1fr;padding-bottom:0}
  .heritage-copy{max-width:700px}
  .heritage-house-wrap{min-height:380px;margin-top:10px}
  .heritage-house{width:min(860px,110%);margin-right:-10%;margin-bottom:-3%}
}

@media(max-width:680px){
  .plaza-header .header-actions{gap:5px}
  .sj-scene-hero{min-height:760px;padding:96px 12px 16px}
  .scene-frame{inset:7px}
  .scene-center{margin-top:30px;padding:0 10px}
  .scene-kicker{font-size:7px;letter-spacing:.26em}
  .scene-logo{width:min(225px,58vw);margin-bottom:10px}
  .scene-tagline{font-size:10px;letter-spacing:.25em}
  .scene-place{font-size:7px;letter-spacing:.19em}
  .scene-templo{left:-35vw;bottom:-1vh;width:98vw}
  .scene-portal{right:-38vw;bottom:-1vh;width:105vw}
  .scene-mariachi{right:13vw;bottom:9vh;width:19vw}
  .heritage-story{padding:70px 18px 0}
  .heritage-copy h2{font-size:48px}
  .heritage-copy>p:not(.section-tag){font-size:15px}
  .heritage-house-wrap{min-height:300px}
  .heritage-house{width:125%;max-width:none;margin-right:-23%;margin-bottom:-5%}
}

/* =========================================================
   V7 RESPONSIVE PASS — mobile + tablet
   Keep desktop art direction; rebuild layout below 1024px.
   ========================================================= */

/* Tablet */
@media (max-width: 1024px) {
  .site-header.plaza-header {
    top: 14px;
    left: 14px;
    right: 14px;
    padding: 0;
  }
  .plaza-header .header-actions {
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 8px;
  }
  .plaza-header .header-pill,
  .plaza-header .lang-btn {
    min-height: 42px;
    padding: 0 14px;
    font-size: 9px;
    letter-spacing: .12em;
    white-space: nowrap;
  }

  .sj-scene-hero {
    min-height: 760px;
    padding: 0;
    align-items: initial;
    justify-content: initial;
  }
  .scene-frame { inset: 9px; }
  .scene-center {
    position: absolute;
    top: 92px;
    left: 50%;
    transform: translateX(-50%);
    width: min(68vw, 500px);
    margin: 0;
    padding: 0 16px;
    z-index: 7;
  }
  .scene-kicker { font-size: 8px; letter-spacing: .28em; }
  .scene-logo { width: min(270px, 38vw); margin-bottom: 10px; }
  .scene-tagline { font-size: 12px; letter-spacing: .28em; }
  .scene-place { font-size: 8px; letter-spacing: .21em; }

  .scene-templo {
    left: -4vw;
    bottom: -4px;
    width: 48vw;
    max-width: none;
  }
  .scene-portal {
    right: -8vw;
    bottom: -5px;
    width: 62vw;
    max-width: none;
  }
  .scene-mariachi {
    right: 18vw;
    bottom: 70px;
    width: 9.5vw;
    min-width: 66px;
    max-width: 92px;
  }

  .heritage-story {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 84px 6vw 0;
  }
  .heritage-copy { max-width: 760px; }
  .heritage-copy h2 { font-size: clamp(48px, 7vw, 72px); }
  .heritage-house-wrap {
    min-height: 390px;
    width: 100%;
    overflow: hidden;
    justify-content: flex-end;
  }
  .heritage-house {
    width: min(900px, 108%);
    max-width: none;
    margin-right: -8%;
    margin-bottom: -3%;
  }

  .menu-section .section-heading { max-width: 720px; }
  .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-card { min-width: 0; }

  .specials { grid-template-columns: 1fr !important; }
  .specials-copy { padding: 84px 7vw; }

  .review-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .review-card:nth-child(2) { transform: none; }
  .review-card:last-child { grid-column: 1 / -1; }

  .visit { grid-template-columns: 1fr; }
  .map-art { min-height: 360px; }
}

/* Mobile */
@media (max-width: 680px) {
  body { width: 100%; overflow-x: hidden; }

  .site-header.plaza-header {
    top: 8px;
    left: 8px;
    right: 8px;
    padding: 0;
  }
  .plaza-header .header-actions {
    width: 100%;
    gap: 5px;
    justify-content: flex-end;
  }
  .plaza-header .header-pill,
  .plaza-header .lang-btn {
    min-height: 36px;
    padding: 0 9px;
    font-size: 7.5px;
    letter-spacing: .09em;
    box-shadow: 0 6px 16px rgba(50,30,14,.06);
    backdrop-filter: blur(8px);
  }

  .sj-scene-hero {
    min-height: 660px;
    height: 660px;
    padding: 0;
    display: block;
    overflow: hidden;
  }
  .scene-frame { inset: 6px; }
  .scene-center {
    position: absolute;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    width: 86vw;
    max-width: 340px;
    margin: 0;
    padding: 0 10px;
    z-index: 7;
  }
  .scene-kicker {
    margin-bottom: 8px;
    font-size: 6.5px;
    letter-spacing: .22em;
  }
  .scene-logo {
    width: min(196px, 52vw);
    margin: 0 auto 8px;
  }
  .scene-tagline {
    font-size: 9px;
    letter-spacing: .21em;
  }
  .scene-place {
    margin-top: 7px;
    font-size: 6.5px;
    letter-spacing: .15em;
  }

  /* On phones the architecture becomes a deliberate lower-stage composition,
     rather than oversized desktop art pushed off-screen. */
  .scene-templo {
    left: -22px;
    bottom: 0;
    width: 61vw;
    max-width: none;
    z-index: 2;
  }
  .scene-portal {
    right: -46px;
    bottom: 0;
    width: 80vw;
    max-width: none;
    z-index: 3;
  }
  .scene-mariachi {
    right: 63px;
    bottom: 78px;
    width: 15vw;
    min-width: 52px;
    max-width: 66px;
    z-index: 5;
  }

  .marquee { height: 40px; }
  .marquee-track { gap: 20px; font-size: 9px; letter-spacing: .13em; }

  .section-pad { padding: 66px 18px; }
  .heritage-story {
    padding: 66px 18px 0;
    gap: 24px;
  }
  .heritage-copy h2 {
    font-size: clamp(42px, 13vw, 58px);
    margin-bottom: 20px;
  }
  .heritage-copy > p:not(.section-tag) {
    font-size: 15px;
    line-height: 1.65;
  }
  .heritage-stamp { margin-top: 24px; }
  .heritage-house-wrap {
    min-height: 260px;
    margin-top: 0;
    overflow: hidden;
  }
  .heritage-house {
    width: 122%;
    max-width: none;
    margin-right: -25%;
    margin-bottom: -4%;
  }

  .section-heading h2,
  .reviews-intro h2 { font-size: clamp(40px, 12vw, 54px); }

  .menu-grid { grid-template-columns: 1fr; gap: 12px; }
  .menu-card { padding: 22px 20px 24px !important; }
  .menu-card h3 { font-size: 32px; }
  .menu-note { margin-top: 26px; padding: 0 6px; }

  .specials-copy { padding: 66px 18px; }
  .specials h2 { font-size: clamp(44px, 13vw, 58px); }
  .specials p:not(.section-tag) { font-size: 15px; }

  .review-grid { grid-template-columns: 1fr; gap: 12px; }
  .review-card:last-child { grid-column: auto; }
  .review-card { min-height: 190px; padding: 26px 22px; }
  .review-card p { font-size: 19px; }

  .visit-copy { padding: 66px 18px; }
  .visit h2 { font-size: clamp(42px, 12vw, 58px); }
  .map-art { min-height: 280px; }
  .map-label { right: 14px; bottom: 14px; font-size: 8px; }

  .footer { padding: 32px 18px; }
}

/* Small phones */
@media (max-width: 430px) {
  .sj-scene-hero { min-height: 620px; height: 620px; }
  .scene-center { top: 68px; }
  .scene-logo { width: min(182px, 50vw); }
  .scene-templo { left: -24px; width: 63vw; }
  .scene-portal { right: -52px; width: 83vw; }
  .scene-mariachi { right: 54px; bottom: 72px; width: 15.5vw; min-width: 48px; }
}


/* --- V8 hero integration: single combined panorama + button fix --- */
.sj-scene-hero{align-items:center;justify-content:center;padding:96px 3vw 28px;min-height:100vh}
.scene-panorama{position:relative;z-index:2;display:block;width:min(96vw,1580px);height:auto;max-width:100%;margin:0 auto;filter:drop-shadow(0 16px 18px rgba(88,56,17,.04))}
.scene-center{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);z-index:5;width:min(34vw,560px);margin:0;padding:6px 16px 0}
.scene-logo{width:min(330px,24vw);margin:0 auto 12px}
.scene-tagline{margin:0}
.scene-place{margin-top:10px}

@media(max-width:1180px){
  .sj-scene-hero{padding:92px 18px 24px}
  .scene-panorama{width:min(98vw,1380px)}
  .scene-center{width:min(44vw,510px);top:51%}
  .scene-logo{width:min(290px,30vw)}
}

@media(max-width:1024px){
  .sj-scene-hero{min-height:720px;padding:92px 16px 18px;align-items:center;justify-content:center}
  .scene-frame{inset:9px}
  .scene-panorama{width:min(98vw,1200px)}
  .scene-center{top:49%;width:min(56vw,460px);padding:0 12px}
  .scene-logo{width:min(250px,34vw)}
  .scene-kicker{font-size:8px;letter-spacing:.26em}
  .scene-tagline{font-size:12px;letter-spacing:.24em}
  .scene-place{font-size:8px;letter-spacing:.2em}
}

@media(max-width:680px){
  .sj-scene-hero{min-height:540px;padding:86px 10px 14px}
  .scene-frame{inset:6px}
  .scene-panorama{width:100%;max-width:none}
  .scene-center{top:47%;width:min(76vw,330px);padding:0 6px}
  .scene-logo{width:min(180px,44vw);margin-bottom:8px}
  .scene-kicker{font-size:6px;letter-spacing:.2em;margin-bottom:8px}
  .scene-tagline{font-size:9px;letter-spacing:.17em}
  .scene-place{font-size:6px;letter-spacing:.14em;margin-top:7px}
}


/* --- V9 mobile hero spacing refinement --- */
@media (max-width: 1024px) {
  .sj-scene-hero {
    min-height: 680px;
    padding: 84px 12px 12px;
  }
  .scene-panorama {
    width: 112%;
    max-width: none;
    margin-left: -6%;
    margin-right: -6%;
  }
  .scene-center {
    top: 47.5%;
    width: min(54vw, 430px);
  }
}

@media (max-width: 680px) {
  .sj-scene-hero {
    min-height: 500px;
    padding: 78px 8px 8px;
  }
  .scene-panorama {
    width: 138%;
    max-width: none;
    margin-left: -19%;
    margin-right: -19%;
  }
  .scene-center {
    top: 44.5%;
    width: min(68vw, 290px);
    padding: 0 4px;
  }
  .scene-logo {
    width: min(156px, 40vw);
    margin-bottom: 6px;
  }
  .scene-kicker {
    font-size: 5px;
    letter-spacing: .18em;
    margin-bottom: 6px;
  }
  .scene-tagline {
    font-size: 8px;
    letter-spacing: .15em;
  }
  .scene-place {
    font-size: 5px;
    letter-spacing: .12em;
    margin-top: 6px;
  }
}

@media (max-width: 430px) {
  .sj-scene-hero {
    min-height: 460px;
    height: auto;
    padding: 74px 6px 6px;
  }
  .scene-frame { inset: 5px; }
  .scene-panorama {
    width: 154%;
    margin-left: -27%;
    margin-right: -27%;
  }
  .scene-center {
    top: 43%;
    width: 72vw;
  }
  .scene-logo {
    width: min(144px, 39vw);
  }
}


/* --- V10: make San Julian hero behave like La Cubanita hero --- */
.sj-scene-hero{
  position:relative !important;
  min-height:calc(100svh - 86px) !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  overflow:hidden !important;
  background:#f4ead5 !important;
  border-bottom:1px solid rgba(126,35,31,.16);
}
.sj-scene-hero .hero-paper-grain{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.12;
  pointer-events:none;
}
.scene-frame{display:none !important}
.scene-panorama{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center bottom !important;
  z-index:1 !important;
  filter:none !important;
}
.scene-center{
  position:absolute !important;
  left:50% !important;
  top:56% !important;
  transform:translate(-50%,-50%) !important;
  z-index:4 !important;
  width:min(32vw,500px) !important;
  margin:0 !important;
  padding:0 16px !important;
  text-align:center;
}
.scene-kicker{
  margin:0 0 14px !important;
  color:#8e241d !important;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
}
.scene-logo{
  width:min(280px,20vw) !important;
  margin:0 auto 18px !important;
  filter:drop-shadow(0 10px 16px rgba(43,29,11,.16));
}
.scene-tagline{margin:0 !important;font-size:18px !important;letter-spacing:.34em !important}
.scene-place{margin-top:10px !important;font-size:11px !important;letter-spacing:.24em !important;color:#9c7636 !important}

@media (max-width: 1280px){
  .sj-scene-hero{min-height:760px !important}
  .scene-center{width:min(38vw,480px) !important;top:55.5% !important}
  .scene-logo{width:min(250px,24vw) !important}
}

@media (max-width: 1024px){
  .sj-scene-hero{min-height:680px !important}
  .scene-panorama{object-position:52% bottom !important}
  .scene-center{width:min(52vw,420px) !important;top:55% !important;padding:0 10px !important}
  .scene-logo{width:min(220px,28vw) !important;margin-bottom:14px !important}
  .scene-tagline{font-size:15px !important;letter-spacing:.28em !important}
  .scene-place{font-size:10px !important;letter-spacing:.2em !important}
}

@media (max-width: 680px){
  .sj-scene-hero{min-height:560px !important}
  .scene-panorama{
    object-position:52% bottom !important;
    transform:scale(1.18) !important;
    transform-origin:center bottom !important;
  }
  .scene-center{
    width:min(72vw,310px) !important;
    top:55% !important;
    padding:0 6px !important;
  }
  .scene-logo{width:min(170px,40vw) !important;margin-bottom:10px !important}
  .scene-kicker{font-size:6px !important;letter-spacing:.18em !important;margin-bottom:8px !important}
  .scene-tagline{font-size:10px !important;letter-spacing:.18em !important}
  .scene-place{font-size:6px !important;letter-spacing:.14em !important;margin-top:7px !important}
}

@media (max-width: 430px){
  .sj-scene-hero{min-height:520px !important}
  .scene-panorama{transform:scale(1.28) !important;object-position:54% bottom !important}
  .scene-center{width:76vw !important;top:54% !important}
  .scene-logo{width:min(154px,39vw) !important}
}


/* --- V12 mobile panorama fix: show the church + arcade on phones --- */
@media (max-width: 680px){
  .sj-scene-hero{
    min-height: 610px !important;
    padding: 0 !important;
  }
  .scene-panorama{
    inset: auto !important;
    left: 50% !important;
    bottom: 0 !important;
    top: auto !important;
    width: 138% !important;
    height: auto !important;
    max-width: none !important;
    object-fit: unset !important;
    object-position: initial !important;
    transform: translateX(-50%) !important;
  }
  .scene-center{
    top: 46% !important;
    width: min(72vw, 310px) !important;
    padding: 0 8px !important;
  }
  .scene-logo{
    width: min(166px, 40vw) !important;
    margin-bottom: 10px !important;
  }
  .scene-kicker{margin-bottom: 8px !important}
}

@media (max-width: 430px){
  .sj-scene-hero{
    min-height: 590px !important;
  }
  .scene-panorama{
    width: 154% !important;
  }
  .scene-center{
    top: 44.5% !important;
    width: 76vw !important;
  }
  .scene-logo{
    width: min(154px, 39vw) !important;
  }
}


/* =========================================================
   V15 — definitive full-bleed hero treatment
   Desktop uses the simplified wide panorama as the hero world.
   Mobile uses a dedicated portrait composition derived from it.
   ========================================================= */

.site-header.plaza-header{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  z-index:70 !important;
  width:100% !important;
  min-height:86px !important;
  padding:0 4vw !important;
  display:flex !important;
  align-items:center !important;
  background:#f4e7c9 !important;
  border-bottom:2px solid #17382f !important;
  box-shadow:none !important;
  pointer-events:auto !important;
}
.plaza-header .header-actions{
  pointer-events:auto !important;
  margin-left:auto !important;
}

.sj-scene-hero{
  position:relative !important;
  min-height:calc(100svh - 86px) !important;
  height:calc(100svh - 86px) !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  display:block !important;
  background-color:#efdcae !important;
  background-image:url('assets/plaza-panorama.png') !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  border:0 !important;
}
.sj-scene-hero .hero-paper-grain,
.scene-frame,
.scene-panorama{
  display:none !important;
}
.scene-center{
  position:absolute !important;
  left:50% !important;
  top:43% !important;
  transform:translate(-50%,-50%) !important;
  z-index:5 !important;
  width:min(33vw,510px) !important;
  margin:0 !important;
  padding:0 18px !important;
  text-align:center !important;
}
.scene-kicker{
  margin:0 0 12px !important;
  font-size:9px !important;
  letter-spacing:.32em !important;
  color:#8e241d !important;
}
.scene-logo{
  width:min(285px,21vw) !important;
  margin:0 auto 15px !important;
  filter:drop-shadow(0 10px 16px rgba(43,29,11,.13)) !important;
}
.scene-tagline{
  margin:0 !important;
  font-size:16px !important;
  letter-spacing:.31em !important;
}
.scene-place{
  margin:9px 0 0 !important;
  font-size:9px !important;
  letter-spacing:.22em !important;
}

@media (max-width: 1024px){
  .site-header.plaza-header{
    min-height:78px !important;
    padding:0 14px !important;
  }
  .plaza-header .header-pill,
  .plaza-header .lang-btn{
    min-height:42px !important;
    padding:0 14px !important;
    font-size:9px !important;
  }
  .sj-scene-hero{
    min-height:calc(100svh - 78px) !important;
    height:calc(100svh - 78px) !important;
    background-position:center center !important;
  }
  .scene-center{
    top:42% !important;
    width:min(50vw,430px) !important;
  }
  .scene-logo{width:min(245px,30vw) !important}
  .scene-tagline{font-size:13px !important;letter-spacing:.25em !important}
  .scene-place{font-size:8px !important;letter-spacing:.19em !important}
}

@media (max-width: 680px){
  .site-header.plaza-header{
    min-height:72px !important;
    padding:0 8px !important;
    border-bottom-width:1px !important;
  }
  .plaza-header .header-actions{
    width:100% !important;
    justify-content:flex-end !important;
    gap:5px !important;
  }
  .plaza-header .header-pill,
  .plaza-header .lang-btn{
    min-height:40px !important;
    padding:0 11px !important;
    font-size:8px !important;
    letter-spacing:.11em !important;
  }
  .sj-scene-hero{
    min-height:calc(100svh - 72px) !important;
    height:calc(100svh - 72px) !important;
    background-image:url('assets/plaza-panorama-mobile.png') !important;
    background-size:cover !important;
    background-position:center center !important;
  }
  .scene-center{
    top:38% !important;
    width:min(76vw,320px) !important;
    padding:0 6px !important;
  }
  .scene-logo{
    width:min(172px,43vw) !important;
    margin-bottom:9px !important;
  }
  .scene-kicker{
    font-size:6px !important;
    letter-spacing:.18em !important;
    margin-bottom:7px !important;
  }
  .scene-tagline{
    font-size:10px !important;
    letter-spacing:.17em !important;
  }
  .scene-place{
    font-size:6px !important;
    letter-spacing:.13em !important;
    margin-top:6px !important;
  }
}

@media (max-width: 430px){
  .site-header.plaza-header{min-height:68px !important}
  .plaza-header .header-pill,
  .plaza-header .lang-btn{
    min-height:38px !important;
    padding:0 9px !important;
    font-size:7px !important;
  }
  .sj-scene-hero{
    min-height:calc(100svh - 68px) !important;
    height:calc(100svh - 68px) !important;
  }
  .scene-center{top:37% !important;width:78vw !important}
  .scene-logo{width:min(158px,42vw) !important}
}


/* --- V16 divider replacing marquee strip --- */
.marquee,.marquee-track{display:none !important;}
.vintage-divider{padding:22px 22px 18px;background:var(--cream);display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border-top:1px solid rgba(127,34,30,.16);border-bottom:1px solid rgba(127,34,30,.16);}
.divider-tile-strip{width:min(100%,1120px);height:10px;border-top:1px solid rgba(127,34,30,.25);border-bottom:1px solid rgba(127,34,30,.25);position:relative;opacity:.95;background:repeating-linear-gradient(90deg, transparent 0 18px, rgba(176,126,51,.18) 18px 19px, transparent 19px 37px),linear-gradient(90deg, rgba(176,126,51,.08), rgba(176,126,51,.02) 22%, rgba(176,126,51,.08) 50%, rgba(176,126,51,.02) 78%, rgba(176,126,51,.08));}
.divider-tile-strip::before,.divider-tile-strip::after{content:"";position:absolute;top:50%;width:8px;height:8px;border:1.5px solid rgba(127,34,30,.58);transform:translateY(-50%) rotate(45deg);background:var(--cream);}
.divider-tile-strip::before{left:24px;}
.divider-tile-strip::after{right:24px;}
.divider-tile-strip.mirror{opacity:.75;}
.divider-ornament{width:min(100%,1120px);display:flex;align-items:center;gap:16px;}
.divider-line{flex:1;height:1px;background:linear-gradient(90deg, rgba(127,34,30,0), rgba(127,34,30,.45) 24%, rgba(127,34,30,.45) 76%, rgba(127,34,30,0));}
.divider-motif{display:flex;align-items:center;gap:9px;color:var(--gold);font-size:16px;line-height:1;}
.divider-motif i{display:block;width:9px;height:9px;border:1.5px solid rgba(127,34,30,.55);transform:rotate(45deg);background:var(--cream);}
.divider-motif b{font-weight:700;color:#b07e33;text-shadow:0 1px 0 rgba(255,255,255,.4);}

@media (max-width: 680px){
  .vintage-divider{padding:18px 18px 14px;gap:8px;}
  .divider-ornament{gap:10px;}
  .divider-motif{font-size:13px;gap:6px;}
  .divider-motif i{width:7px;height:7px;}
  .divider-tile-strip{height:8px;}
  .divider-tile-strip::before{left:14px;}
  .divider-tile-strip::after{right:14px;}
}


/* --- V17 real menu + kitchen gallery --- */
.menu-intro{max-width:760px;margin:0 auto;color:#2b3732;font-size:17px;line-height:1.7;text-align:center}
.menu-showcase{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:30px;align-items:start;margin-top:34px}
.menu-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.menu-panel{background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.18));border:1px solid rgba(23,35,31,.16);box-shadow:0 14px 30px rgba(44,25,14,.08);padding:24px 20px 18px;border-radius:2px;position:relative;overflow:hidden}
.menu-panel::before{content:"";position:absolute;inset:10px;border:1px solid rgba(126,35,31,.08);pointer-events:none}
.menu-panel h3{margin:0 0 14px;font-size:33px;line-height:1;color:var(--red);font-style:italic;letter-spacing:-.03em;text-align:center}
.menu-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.menu-panel li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px dotted rgba(23,35,31,.18);font-family:Arial,sans-serif;font-size:14px;letter-spacing:.02em}
.menu-panel li:last-child{border-bottom:0;padding-bottom:0}
.menu-panel li span{font-weight:800;text-transform:uppercase;line-height:1.25}
.menu-panel li em{font-style:normal;font-weight:700;color:#7f6350;text-transform:none;font-size:12px;margin-left:6px}
.menu-panel li strong{font-weight:900;color:#17231f;white-space:nowrap}
.compact-panel h3{font-size:28px}
.panel-divider{height:1px;background:linear-gradient(90deg,rgba(126,35,31,.08),rgba(126,35,31,.35),rgba(126,35,31,.08));margin:16px 0}
.menu-photo-stack{display:grid;gap:14px;position:sticky;top:110px}
.menu-photo{margin:0;background:#fff;border:1px solid rgba(23,35,31,.15);box-shadow:0 16px 28px rgba(44,25,14,.09);overflow:hidden}
.menu-photo img{display:block;width:100%;height:100%;object-fit:cover}
.menu-photo.tall{aspect-ratio:4/4.7}
.menu-photo:not(.tall){aspect-ratio:4/3}
.menu-note{margin:24px 0 0;text-align:center;font-size:13px;color:#6e5948}

.kitchen-gallery{background:linear-gradient(180deg,#f4ead7 0%,#f7efe2 100%);border-top:1px solid rgba(23,35,31,.08);border-bottom:1px solid rgba(23,35,31,.08)}
.food-gallery{margin-top:36px;display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.food-shot{margin:0;background:rgba(255,255,255,.46);border:1px solid rgba(23,35,31,.14);box-shadow:0 14px 28px rgba(44,25,14,.08);overflow:hidden}
.food-shot img{display:block;width:100%;height:280px;object-fit:cover}
.food-shot figcaption{padding:14px 16px 16px;font-size:15px;line-height:1.5;color:#24322e}
.food-shot:nth-child(1){grid-column:span 6}
.food-shot:nth-child(2){grid-column:span 3}
.food-shot:nth-child(3){grid-column:span 3}
.food-shot:nth-child(4){grid-column:span 4}
.food-shot:nth-child(5){grid-column:span 8}
.food-shot.wide-shot img{height:320px}

@media (max-width: 1180px){
  .menu-showcase{grid-template-columns:1fr}
  .menu-photo-stack{position:static;grid-template-columns:repeat(3,1fr);display:grid}
  .menu-photo.tall,.menu-photo:not(.tall){aspect-ratio:4/3}
}
@media (max-width: 980px){
  .menu-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .food-shot:nth-child(1),.food-shot:nth-child(2),.food-shot:nth-child(3),.food-shot:nth-child(4),.food-shot:nth-child(5){grid-column:span 6}
}
@media (max-width: 680px){
  .menu-showcase{margin-top:26px;gap:20px}
  .menu-board{grid-template-columns:1fr;gap:14px}
  .menu-panel{padding:20px 16px 16px}
  .menu-panel h3{font-size:30px}
  .compact-panel h3{font-size:24px}
  .menu-panel li{font-size:13px}
  .menu-photo-stack{grid-template-columns:1fr 1fr;gap:10px}
  .menu-photo:first-child{grid-column:1 / -1}
  .food-gallery{grid-template-columns:1fr;gap:14px}
  .food-shot:nth-child(1),.food-shot:nth-child(2),.food-shot:nth-child(3),.food-shot:nth-child(4),.food-shot:nth-child(5){grid-column:auto}
  .food-shot img,.food-shot.wide-shot img{height:230px}
  .food-shot figcaption{padding:12px 13px 14px;font-size:14px}
}


/* --- V18 copy polish + neighborhood card --- */
.visit-note{max-width:420px;font-size:16px;line-height:1.6;margin:0 0 28px;color:#f5e7ca}
.neighborhood-card{background:linear-gradient(180deg,#d7b26f,#c89a55);padding:34px;display:flex;align-items:center;justify-content:center}
.card-paper{position:relative;width:min(86%,520px);aspect-ratio:1/1.08;background:#efdfbf;border:2px solid #17382f;box-shadow:14px 14px 0 rgba(23,56,47,.24),0 0 0 10px rgba(244,231,207,.18) inset;overflow:hidden}
.card-paper::before{content:"";position:absolute;inset:0;background:
radial-gradient(circle at 20% 18%,rgba(154,114,71,.12) 0 1px,transparent 1.5px) 0 0/18px 18px,
radial-gradient(circle at 60% 40%,rgba(154,114,71,.08) 0 1px,transparent 1.5px) 0 0/24px 24px,
linear-gradient(180deg,rgba(255,255,255,.18),rgba(0,0,0,.03));opacity:.7;pointer-events:none}
.card-grid{position:absolute;inset:54px 42px;background:
linear-gradient(#b88951 0 0) left 18% top/2px calc(100% - 0px),
linear-gradient(#b88951 0 0) left 45% top/2px calc(100% - 0px),
linear-gradient(#b88951 0 0) left 72% top/2px calc(100% - 0px),
linear-gradient(#b88951 0 0) left top 22%/calc(100% - 0px) 2px,
linear-gradient(#b88951 0 0) left top 50%/calc(100% - 0px) 2px,
linear-gradient(#b88951 0 0) left top 78%/calc(100% - 0px) 2px;
background-repeat:no-repeat;opacity:.9}
.card-artery{position:absolute;left:58px;right:52px;top:52%;height:16px;border-radius:99px;background:#996536;transform:translateY(-50%) rotate(-7deg);box-shadow:0 0 0 5px rgba(153,101,54,.08)}
.card-block{position:absolute;background:#ead8b3;border:2px solid #9c7247}
.block-a{left:76px;top:96px;width:92px;height:64px}.block-b{left:252px;top:138px;width:108px;height:82px}.block-c{right:88px;top:108px;width:104px;height:62px}.block-d{right:110px;bottom:92px;width:112px;height:64px}
.card-pin{position:absolute;left:50%;top:52%;width:58px;height:58px;background:#912b24;border-radius:50% 50% 50% 0;transform:translate(-50%,-88%) rotate(-45deg);box-shadow:0 3px 0 rgba(0,0,0,.08)}
.card-pin::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#f4e7cf;left:19px;top:19px}
.card-stamp{position:absolute;left:50%;bottom:38px;transform:translateX(-50%) rotate(-2deg);background:#f4e7cf;border:2px solid #17382f;padding:10px 14px;font:800 11px/1.2 Arial,sans-serif;letter-spacing:.14em;color:#17382f;white-space:nowrap;box-shadow:8px 8px 0 #17382f}
.card-seal{position:absolute;left:38px;bottom:34px;border:2px solid #912b24;color:#912b24;padding:10px 12px;font:800 10px/1 Arial,sans-serif;letter-spacing:.18em;background:rgba(255,255,255,.25)}
@media (max-width:1050px){.card-paper{width:min(92%,520px);aspect-ratio:1.1/1}.visit-note{max-width:none}}
@media (max-width:680px){.neighborhood-card{padding:18px}.card-paper{width:min(100%,360px);aspect-ratio:1/1.02}.card-grid{inset:38px 24px}.card-artery{left:34px;right:34px;height:12px}.block-a{left:44px;top:72px;width:64px;height:44px}.block-b{left:150px;top:110px;width:78px;height:58px}.block-c{right:48px;top:82px;width:70px;height:44px}.block-d{right:56px;bottom:82px;width:82px;height:48px}.card-pin{width:48px;height:48px}.card-pin::after{width:16px;height:16px;left:16px;top:16px}.card-stamp{bottom:26px;font-size:9px;padding:9px 10px;box-shadow:6px 6px 0 #17382f;max-width:80%;text-align:center;white-space:normal}.card-seal{left:20px;bottom:24px;font-size:8px;padding:8px 9px}.visit-note{font-size:15px}}

/* --- V19: rope divider + Los Altos contour integration --- */
.vintage-divider{
  padding:10px 24px 8px;
  background:linear-gradient(180deg,#f5ead6 0%,#f2e5cc 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  border-top:1px solid rgba(127,34,30,.12);
  border-bottom:1px solid rgba(127,34,30,.12);
}
.rope-divider-art{
  display:block;
  width:min(100%,1020px);
  height:auto;
  opacity:.98;
  filter:drop-shadow(0 3px 4px rgba(96,58,15,.06));
}

.heritage-story{
  position:relative;
  isolation:isolate;
}
.heritage-contours{
  position:absolute;
  left:50%;
  bottom:36px;
  transform:translateX(-50%);
  width:min(920px,72vw);
  height:auto;
  opacity:.14;
  pointer-events:none;
  z-index:0;
  mix-blend-mode:multiply;
}
.heritage-copy,
.heritage-house-wrap{
  position:relative;
  z-index:1;
}
.heritage-copy{
  padding-bottom:56px;
}
.heritage-house-wrap{
  align-self:stretch;
}

@media (max-width: 1024px){
  .heritage-contours{
    width:min(760px,88vw);
    bottom:16px;
    opacity:.12;
  }
  .heritage-copy{
    padding-bottom:32px;
  }
}

@media (max-width: 680px){
  .vintage-divider{
    padding:8px 12px 6px;
  }
  .rope-divider-art{
    width:100%;
  }
  .heritage-contours{
    width:130%;
    max-width:none;
    left:52%;
    bottom:4px;
    opacity:.11;
  }
  .heritage-copy{
    padding-bottom:18px;
  }
}


/* --- V20: remove neighborhood map and let visit section breathe --- */
.visit{
  display:block !important;
  min-height:auto !important;
  background:var(--red) !important;
}
.visit-copy{
  min-height:480px;
  padding:90px clamp(24px,8vw,140px) !important;
  max-width:1100px;
  margin:0 auto;
  align-items:flex-start !important;
}
.visit-copy h2{max-width:760px !important;}
.visit-note{max-width:620px !important;}
.map-art,.neighborhood-card{display:none !important;}
@media(max-width:680px){
  .visit-copy{min-height:auto;padding:64px 20px !important;}
}


/* --- V22 divider container fix: same rope length, much shorter box --- */
.vintage-divider{
  padding:6px 24px !important;
  min-height:0 !important;
  height:auto !important;
  line-height:0 !important;
}
.rope-divider-art{
  width:min(100%,1120px) !important;
  height:auto !important;
  max-height:none !important;
}
@media(max-width:680px){
  .vintage-divider{padding:4px 12px !important;}
  .rope-divider-art{width:100% !important;}
}
