@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Karla:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--tb-paper:#f4ede3;--tb-ink:#12110f;--tb-rust:#8c4a32;--tb-teal:#2a5c5a;--tb-band:#1a1814;--tb-line:rgba(18,17,15,.2);}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body.tb-body{margin:0;font-family:Karla,sans-serif;color:var(--tb-ink);background:var(--tb-paper);line-height:1.65}
.tb-head{padding:1.5rem 1.5rem .5rem;position:relative}
.tb-ruleline{border-top:3px solid var(--tb-ink);margin:0 1.5rem;position:relative}
.tb-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--tb-paper);padding:0 1rem;font-family:Fraunces,serif;font-weight:700;font-size:1.15rem;letter-spacing:.03em;text-decoration:none;color:var(--tb-ink);white-space:nowrap}
.tb-chips{display:flex;gap:.5rem;overflow-x:auto;padding:1rem 1.5rem 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.tb-chip{flex:0 0 auto;padding:.4rem .85rem;border:1px solid var(--tb-ink);font-size:.78rem;text-decoration:none;color:var(--tb-ink);background:#fff;font-weight:500;white-space:nowrap}
.tb-chip:hover{background:var(--tb-ink);color:var(--tb-paper)}
.tb-hero-panel{min-height:42vh;background:var(--tb-teal);color:var(--tb-paper);display:flex;align-items:flex-end;justify-content:flex-end;padding:2.5rem 2rem;margin:1rem 0}
.tb-hero-panel p{max-width:22rem;margin:0;font-family:Fraunces,serif;font-size:clamp(1.2rem,3vw,1.65rem);line-height:1.4;text-align:right}
.tb-wrap{max-width:1080px;margin:0 auto;padding:1.5rem}
.tb-manifesto{font-family:Fraunces,serif;font-size:clamp(1.5rem,3.5vw,2.2rem);line-height:1.35;margin:0 0 2rem;font-weight:500}
.tb-band{background:var(--tb-band);color:var(--tb-paper);padding:2rem 1.5rem;margin:2rem -1.5rem;font-family:Fraunces,serif;font-size:clamp(1.1rem,2.5vw,1.45rem)}
.tb-masonry{columns:3;column-gap:1.25rem}
@media(max-width:900px){.tb-masonry{columns:2}}
@media(max-width:560px){.tb-masonry{columns:1}}
.tb-tile{break-inside:avoid;margin-bottom:1.25rem;padding:1rem;border:1px solid var(--tb-line);background:#fff}
.tb-tile h2{font-family:Fraunces,serif;font-size:1.05rem;margin:0 0 .4rem}
.tb-seal{text-align:center;margin:2.5rem 0}
.tb-seal span{display:inline-block;width:3.5rem;height:3.5rem;border:2px solid var(--tb-rust);border-radius:50%;line-height:3.5rem;font-family:Fraunces,serif;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tb-rust)}
.tb-accordion details{border-top:1px solid var(--tb-line);padding:1rem 0}
.tb-accordion summary{cursor:pointer;font-family:Fraunces,serif;font-weight:600;font-size:1.05rem}
.tb-marquee{overflow:hidden;border-top:1px solid var(--tb-line);border-bottom:1px solid var(--tb-line);padding:.55rem 0;margin:2rem 0;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.tb-marquee span{display:inline-block;white-space:nowrap;animation:tb-roll 40s linear infinite}
@keyframes tb-roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tb-areas{display:grid;gap:1rem;margin:2rem 0}
@media(min-width:700px){.tb-areas{grid-template-columns:repeat(3,1fr)}}
.tb-area{padding:1rem;border-bottom:3px solid var(--tb-rust)}
.tb-area a{color:var(--tb-ink);font-weight:600;text-decoration:none;font-family:Fraunces,serif}
.tb-contact-addr{font-family:Fraunces,serif;font-size:clamp(1.8rem,5vw,3rem);line-height:1.15;margin:1rem 0;font-weight:700}
.tb-form details{margin-top:1.5rem;border:1px solid var(--tb-line);padding:0;background:#fff}
.tb-form summary{cursor:pointer;padding:1rem;font-weight:600;font-family:Fraunces,serif}
.tb-form-inner{padding:0 1rem 1rem}
.tb-form label{display:block;margin:.65rem 0 .2rem;font-size:.85rem;font-weight:600}
.tb-form input,.tb-form textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--tb-line);font:inherit;background:var(--tb-paper)}
.tb-form button{margin-top:.75rem;background:var(--tb-ink);color:var(--tb-paper);border:0;padding:.65rem 1.2rem;font:inherit;font-weight:600;cursor:pointer}
.tb-ok{margin-top:1rem;padding:.75rem;background:#e8dfd3;border:1px solid var(--tb-line)}
.tb-foot{padding:1.5rem;text-align:center;font-size:.82rem;border-top:1px solid var(--tb-line)}
.tb-foot a{color:var(--tb-ink);margin:0 .5rem}
.tb-page{padding:2rem 1.5rem 3rem;max-width:760px;margin:0 auto}
.tb-page h1{font-family:Fraunces,serif;font-size:clamp(1.8rem,4vw,2.5rem);margin-top:0}
.tb-cookie{position:fixed;inset:auto 0 0;z-index:60;background:#fff;border-top:2px solid var(--tb-ink);padding:1.25rem 1.5rem;box-shadow:0 -8px 24px rgba(0,0,0,.08)}
.tb-cookie p{margin:0 0 .75rem;font-size:.9rem;max-width:640px}
.tb-cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.tb-cbtn{border:1px solid var(--tb-ink);background:transparent;color:var(--tb-ink);padding:.5rem 1rem;font:inherit;cursor:pointer;font-weight:600}
.tb-cbtn.tb-main{background:var(--tb-ink);color:var(--tb-paper)}
.tb-cookie-panel{margin-top:.75rem;display:grid;gap:.4rem;font-size:.85rem}
@media(prefers-reduced-motion:reduce){.tb-marquee span{animation:none}html{scroll-behavior:auto}}
