:root{--tb-straw:#d9c97d;--tb-straw-soft:#efe6b8;--tb-cream:#f8f3e7;--tb-cream-deep:#efe5cf;--tb-line:#595a3829;--tb-white:#fffcf5d1;--tb-olive:#5a6a24;--tb-olive-dark:#232913;--tb-olive-text:#4a591c;--tb-ink:#0d1109;--tb-muted:#10140d}html{scroll-behavior:smooth}body{background:var(--tb-cream);color:var(--tb-ink)}.tb-serif{letter-spacing:-.02em;font-family:Georgia,Cambria,Times New Roman,Times,serif}.tb-nav-link{color:var(--tb-ink);text-shadow:0 1px #ffffff8f,0 1px 8px #f8f3e775;border-radius:9999px;padding:.55rem .85rem;font-size:.93rem;font-weight:700;transition:all .28s;position:relative}.tb-nav-link:hover{color:var(--tb-olive-dark);background:#fffbf0bf;transform:translateY(-1px)}.tb-nav-link:after{content:"";background:linear-gradient(90deg, var(--tb-olive), var(--tb-straw));transform-origin:0;border-radius:9999px;height:2px;transition:transform .28s;position:absolute;bottom:7px;left:14px;right:14px;transform:scaleX(0)}.tb-nav-link:hover:after{transform:scaleX(1)}.tb-mobile-link{color:var(--tb-ink);text-shadow:0 1px #ffffff8a,0 1px 8px #f8f3e76b;border-radius:1rem;padding:.7rem .9rem;font-size:.95rem;font-weight:600;transition:all .28s}.tb-mobile-link:hover{color:var(--tb-olive-dark);background:#fffbf0d9}.tb-btn-primary{background:linear-gradient(135deg, var(--tb-olive), #86924d);color:#fff;border-radius:1rem;justify-content:center;align-items:center;padding:.9rem 1.3rem;font-weight:600;transition:transform .28s,box-shadow .28s,filter .28s,background .28s;display:inline-flex;box-shadow:0 10px 28px #4c55282e}.tb-btn-primary:hover{filter:brightness(1.08)saturate(1.08);transform:translateY(-3px)scale(1.04);box-shadow:0 18px 38px #4c552847,0 0 0 4px #d9c97d2e}.tb-btn-primary:active{transform:translateY(-1px)scale(.99)}.tb-btn-secondary{border:1px solid var(--tb-line);color:var(--tb-ink);background:#fffcf5e6;border-radius:1rem;justify-content:center;align-items:center;padding:.9rem 1.3rem;font-weight:600;transition:transform .28s,box-shadow .28s,background .28s,border-color .28s,color .28s;display:inline-flex;box-shadow:0 8px 22px #5452350f}.tb-btn-secondary:hover{color:var(--tb-olive-dark);background:#fffaeefa;border-color:#6f7b3d4d;transform:translateY(-3px)scale(1.03);box-shadow:0 16px 34px #54523524,0 0 0 4px #d9c97d24}.tb-btn-soft{border:1px solid var(--tb-line);color:var(--tb-ink);background:#fffcf5d1;border-radius:9999px;justify-content:center;align-items:center;padding:.55rem .95rem;font-size:.88rem;transition:transform .24s,box-shadow .24s,background .24s,border-color .24s;display:inline-flex}.tb-btn-soft:hover{background:#fffaeef5;border-color:#6f7b3d47;transform:translateY(-2px);box-shadow:0 10px 24px #5452351f}.tb-btn-featured{white-space:nowrap;min-width:220px;color:var(--tb-ink);background:#fffcf5f5;border:1px solid #6f7b3d38;border-radius:1rem;justify-content:center;align-items:center;padding:.95rem 1.4rem;font-weight:700;transition:transform .28s,box-shadow .28s,background .28s,border-color .28s,color .28s,filter .28s;display:inline-flex;box-shadow:0 10px 24px #5452351a,0 1px #fff9}.tb-btn-featured:hover{color:var(--tb-olive-dark);filter:saturate(1.03);background:linear-gradient(135deg,#fcffeefa,#f5edccfa);border-color:#6f7b3d5c;transform:translateY(-4px)scale(1.04);box-shadow:0 18px 38px #5452352e,0 0 0 5px #d9c97d2e}.tb-btn-featured:active{transform:translateY(-1px)scale(.99)}.tb-btn-menu-cta{white-space:nowrap;color:#fff;background:linear-gradient(135deg,#62722a,#87944a);border:1px solid #5a6a242e;border-radius:1.1rem;justify-content:center;align-items:center;gap:.7rem;min-width:240px;padding:1rem 1.5rem;font-weight:700;transition:transform .26s,box-shadow .26s,filter .26s,background .26s;display:inline-flex;box-shadow:0 14px 30px #4c55283d,inset 0 1px #ffffff1f}.tb-btn-menu-cta:hover{filter:brightness(1.08)saturate(1.08);transform:translateY(-4px)scale(1.04);box-shadow:0 22px 42px #4c552852,0 0 0 5px #d9c97d33}.tb-btn-menu-cta:active{transform:translateY(-1px)scale(.99)}.tb-btn-menu-cta svg{transition:transform .26s}.tb-btn-menu-cta:hover svg{transform:translate(4px)}.tb-card{border:1px solid var(--tb-line);backdrop-filter:blur(12px);background:#fffcf5e6;box-shadow:0 12px 34px #45442b0f}.tb-chip{letter-spacing:.18em;text-transform:uppercase;color:var(--tb-olive-dark);background:#fffcf5c7;border:1px solid #6f7b3d38;border-radius:9999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.76rem;font-weight:700;display:inline-flex}.tb-divider{background:linear-gradient(90deg,#0000,#6f7b3d2e,#0000);height:1px}.tb-arch{border-radius:9999px 9999px 1.4rem 1.4rem}.tb-gallery-a{background:linear-gradient(#c0d6ceeb,#e9e1bee0),radial-gradient(circle at 70% 18%,#faea9de6 0 12%,#0000 13%)}.tb-gallery-b{background:linear-gradient(#dbe0bdd1,#9daf76f5),radial-gradient(circle at 28% 22%,#ffffff3d 0 10%,#0000 11%)}.tb-gallery-c{background:linear-gradient(#f3e4b7e6,#c6a56ce6),radial-gradient(circle at 78% 24%,#fff3 0 8%,#0000 9%)}.tb-gallery-d{background:linear-gradient(#bdc8a1eb,#7a8b52eb),radial-gradient(circle at 32% 22%,#faea9d8c 0 10%,#0000 11%)}.tb-stat{border:1px solid var(--tb-line);background:#fffcf5cc;border-radius:1.4rem;padding:1rem}.tb-scene-bg{z-index:-10;background-image:linear-gradient(#f8f3e780,#f8f3e780),url(/demos/terra-bistro/hero-terrabistro.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.tb-scene-bg:after{content:"";pointer-events:none;background:radial-gradient(circle at 20% 20%,#d9c97d1a,#0000 30%),radial-gradient(circle at 80% 25%,#6f7b3d14,#0000 28%),radial-gradient(circle at 50% 80%,#efe5b81a,#0000 35%);position:absolute;inset:0}.tb-hero-title{letter-spacing:-.04em;text-wrap:unset;text-shadow:0 1px #ffffffb8,0 3px 18px #f8f3e79e,0 10px 28px #f8f3e747;-webkit-text-stroke:.15px #ffffff40;line-height:1.08!important}@media (width>=768px){.tb-hero-title{line-height:1.02!important}}.tb-hero-line{display:block}.tb-hero-highlight{color:var(--tb-olive-text);text-shadow:0 1px #ffffff85,0 2px 10px #f8f3e77a;margin-top:.08em;display:block}.tb-hero-copy{color:var(--tb-muted);text-shadow:0 1px #ffffff94,0 2px 10px #f8f3e775;font-weight:600}.tb-hero-kicker{text-shadow:0 1px #ffffff94,0 1px 8px #f8f3e76b}
