/* Tonstation layout foundation. No CMS or theme runtime is required. */
:root {
  --page-margin: 6vw;
  --page-width: 66rem;
  --entry-width: 42rem;
  --baseline: .28333rem;
  --body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --heading-font: var(--body-font);
  --menu-font: var(--body-font);
  --font-size: clamp(1.1rem, 1.1rem + .1 * (100vw - 20rem) / 70, 1.2rem);
  --font-weight-normal: 400;
  --font-weight-bold: 600;
  --headings-weight: 500;
  --headings-style: normal;
  --headings-line-height: 1.2;
  --letter-spacing: 0;
  --color: #d73a42;
  --dark: #f3f4f2;
  --light: #373737;
  --page-bg: #111315;
  --text-color: #f3f4f2;
  --headings-color: #f3f4f2;
  --link-color: #f3f4f2;
  --link-color-hover: #d73a42;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: var(--font-size); scroll-behavior: smooth; scrollbar-gutter: stable; }
body { background: var(--page-bg); color: var(--text-color); font-family: var(--body-font); line-height: 1.7; }
main, article, aside, footer, header, nav, section, figure { display: block; }
img { height: auto; max-width: 100%; vertical-align: top; }
button, input, select, textarea { font: inherit; }
li { list-style: none; }
a { color: var(--link-color); text-decoration: none; transition: color .24s ease-out; }
a:hover { color: var(--link-color-hover); }
:focus-visible { outline: 2px solid var(--color); outline-offset: 2px; }
p, ol, ul { margin-top: calc(var(--baseline) * 4 + .25vw); }
figure, table { margin-top: calc(var(--baseline) * 6 + .5vw); margin-bottom: calc(var(--baseline) * 6 + .5vw); }
ol, ul { margin-left: 3ch; }
ol > li, ul > li { list-style: inherit; padding: 0 0 var(--baseline) 1ch; }
h1, h2, h3, h4, h5, h6 { color: var(--headings-color); font-family: var(--heading-font); font-weight: 500; line-height: var(--headings-line-height); }
h1 { font-size: clamp(1.57rem, 1.57rem + 1.43 * (100vw - 20rem) / 70, 3rem); }
h2 { font-size: clamp(1.38rem, 1.38rem + .94 * (100vw - 20rem) / 70, 2.32rem); }
h3 { font-size: clamp(1.21rem, 1.21rem + .47 * (100vw - 20rem) / 70, 1.68rem); }
h4 { font-size: 1.29rem; }
h2 + *, h3 + *, h4 + * { margin-top: calc(var(--baseline) * 2 + .25vw); }
strong, b { font-weight: 600; }
table { border: 1px solid var(--light); border-collapse: collapse; width: 100%; text-align: left; }
th, td { padding: calc(var(--baseline) * 2.5) calc(var(--baseline) * 4); }
td { border-top: 1px solid var(--light); }
@media (max-width: 599px) { table { display: block; overflow-x: auto; } }
button, .btn, [type=button], [type=submit] { cursor: pointer; }
input, select, textarea { max-width: 100%; }
.wrapper, .entry-wrapper { box-sizing: content-box; margin-left: auto; margin-right: auto; padding-left: var(--page-margin); padding-right: var(--page-margin); }
.wrapper { max-width: var(--page-width); }
.entry-wrapper { max-width: var(--entry-width); }
.hero { position: relative; z-index: 1; }
.hero--noimage::after { background: var(--dark); content: ""; display: block; height: 1px; bottom: 0; width: calc(100% - var(--page-margin) * 2); max-width: var(--page-width); position: absolute; left: 50%; transform: translateX(-50%); }
.hero__content { padding-bottom: calc(var(--baseline) * 6 + 1.5vw); }
.content { overflow: hidden; }
.content__entry { margin-top: calc(var(--baseline) * 6 + 1.5vw); overflow-wrap: break-word; }
.content__entry > :first-child { margin-top: 0; }
.content__entry a:not(.ts-button):not(.button) { color: var(--link-color-hover); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.post__image:not(.post__image--wide):not(.post__image--full):not(.post__image--center) { display: inline-block; margin-bottom: calc(var(--baseline) * 2 + .25vw); }
.post__image a, .post__image img { border-radius: 12px; display: inline-block; }
.post__image--left { float: left; margin-right: 2rem; max-width: 50%; }
.post__image--right { float: right; margin-left: 2rem; max-width: 50%; }
.post__image--center { display: block; text-align: center; }
.page--error { min-height: 60vh; padding: clamp(90px, 12vw, 170px) 0; }
.page--error .hero__content { padding-bottom: 0; }
.page--error h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); }
.page--error .ts-button { display: inline-flex; margin-top: 1rem; }

/* Site-specific Tonstation navigation and footer styles. */
:root{--ts-bg:#111315;--ts-bg-soft:#181b1e;--ts-card:#1c2023;--ts-text:#f3f4f2;--ts-muted:#aeb4b8;--ts-accent:#d73a42;--ts-accent-dark:#b52c33;--ts-line:rgba(255,255,255,.12);--ts-max:1180px}body{background:var(--ts-bg);color:var(--ts-text)}body a{color:inherit}.ts-navbar{position:sticky;top:0;z-index:100;background:rgba(17,19,21,.92);border-bottom:1px solid var(--ts-line);backdrop-filter:blur(14px)}.ts-nav-inner{width:min(var(--ts-max),calc(100% - 48px));margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:32px}.ts-logo{color:var(--ts-text)!important;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.ts-logo span{color:var(--ts-accent)}.ts-nav{display:flex;align-items:center;gap:26px}.ts-nav a{color:var(--ts-muted);font-size:.9rem;font-weight:600;text-decoration:none}.ts-nav a:hover{color:var(--ts-accent)}.page .hero{display:none}.ts-home{width:min(var(--ts-max),calc(100% - 48px));margin:0 auto}.ts-hero-home{min-height:640px;padding:120px 0 105px;display:flex;flex-direction:column;justify-content:center;max-width:940px}.ts-kicker{color:var(--ts-accent);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.ts-hero-home h1,.ts-hero-home h2{font-size:clamp(3rem, 7vw, 6.6rem);line-height:.94;letter-spacing:-.055em;margin:0;max-width:1000px}.ts-hero-home .ts-lead{max-width:720px;font-size:clamp(1.1rem, 2vw, 1.35rem);color:var(--ts-muted);line-height:1.65;margin:34px 0 0}.ts-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.ts-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-size:.92rem;font-weight:800;text-decoration:none!important;transition:transform .2s ease,background .2s ease,color .2s ease}.ts-button:hover{transform:translateY(-2px)}.ts-button-primary{background:var(--ts-accent);color:#111315!important}.ts-button-primary:hover{background:#d8ff6d}.ts-button-secondary{border:1px solid var(--ts-line);color:var(--ts-text)!important}.ts-button-secondary:hover{border-color:rgba(255,255,255,.3)}.ts-section-home{padding:105px 0;border-top:1px solid var(--ts-line)}.ts-section-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:48px}.ts-feature-card h2,.ts-final-cta h2,.ts-location h2,.ts-section-intro h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.04em}.ts-section-intro>p{color:var(--ts-muted);font-size:1.05rem;line-height:1.7;margin:0}.ts-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ts-room-card{min-height:360px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#202428,#171a1d);border:1px solid var(--ts-line);text-decoration:none!important;transition:transform .25s ease,border-color .25s ease}.ts-room-card:hover{transform:translateY(-6px);border-color:rgba(200,255,61,.55)}.ts-room-number{color:var(--ts-accent);font-size:.8rem;font-weight:800;letter-spacing:.12em;margin-bottom:auto}.ts-room-card h3{margin:0;font-size:2rem;letter-spacing:-.03em}.ts-room-card p{color:var(--ts-muted);line-height:1.55;margin:12px 0 25px}.ts-card-link{color:var(--ts-accent);font-size:.86rem;font-weight:800}.ts-note{margin-top:18px;padding:20px 24px;border-left:3px solid var(--ts-accent);background:var(--ts-bg-soft);display:flex;gap:12px;flex-wrap:wrap;color:var(--ts-muted)}.ts-note strong{color:var(--ts-text)}.ts-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.ts-feature-card{padding:48px;min-height:330px;background:var(--ts-bg-soft);border:1px solid var(--ts-line);text-decoration:none!important}.ts-feature-card h2{margin-top:0}.ts-feature-card p{color:var(--ts-muted);line-height:1.7;max-width:560px;margin:24px 0 35px}.ts-location{border-top:1px solid var(--ts-line);padding:105px 0;display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:center}.ts-location p{color:var(--ts-muted);line-height:1.7;max-width:650px;margin-top:25px}.ts-contact-box{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.ts-contact-box a:not(.ts-button){font-size:1.05rem;text-decoration:none}.ts-contact-box a:not(.ts-button):hover{color:var(--ts-accent)}.ts-final-cta{margin:0 0 105px;padding:75px;background:var(--ts-accent);color:#111315}.ts-final-cta .ts-kicker{color:#111315;opacity:.65}.ts-final-cta h2{max-width:760px}.ts-final-cta p{font-size:1.1rem;max-width:600px;line-height:1.6;margin:20px 0 30px}.ts-final-cta .ts-button-primary{background:#111315;color:var(--ts-accent)!important}.ts-footer{border-top:1px solid var(--ts-line);padding:55px 0 25px}.ts-footer-bottom,.ts-footer-inner{width:min(var(--ts-max),calc(100% - 48px));margin:0 auto}.ts-footer-inner{display:grid;grid-template-columns:1.4fr 1fr .6fr;gap:40px}.ts-footer p{color:var(--ts-muted);line-height:1.7;margin-top:18px}.ts-footer-contact,.ts-footer-links{display:flex;flex-direction:column;gap:12px}.ts-footer a{text-decoration:none}.ts-footer a:hover{color:var(--ts-accent)}.ts-footer-bottom{border-top:1px solid var(--ts-line);margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;color:#747a7f;font-size:.8rem}@media (max-width:800px){.ts-nav-inner{width:min(var(--ts-max),calc(100% - 32px))}.ts-nav{display:none}.ts-home{width:calc(100% - 32px)}.ts-hero-home{min-height:560px;padding:80px 0}.ts-location,.ts-section-intro{grid-template-columns:1fr;gap:30px}.ts-feature-grid,.ts-room-grid{grid-template-columns:1fr}.ts-room-card{min-height:300px}.ts-feature-card{padding:32px}.ts-location{padding:75px 0}.ts-final-cta{margin-bottom:75px;padding:40px 28px}.ts-footer-inner{width:calc(100% - 32px);grid-template-columns:1fr;gap:28px}}.ts-logo{display:inline-flex;align-items:center;line-height:0}.ts-logo img{display:block;width:190px;height:auto;max-width:100%}.ts-logo-footer img{width:210px}@media (max-width:700px){.ts-logo img{width:150px}.ts-logo-footer img{width:180px}}img[loading=lazy],img[loading]{opacity:1!important;visibility:visible!important}.ts-home h1,.ts-home h2,.ts-home h3{color:var(--ts-text)!important}.content__entry h1,.content__entry h2,.content__entry h3,.content__entry h4,.content__entry h5,.content__entry h6{color:var(--ts-text)!important}.content__entry a{color:var(--ts-accent)!important}
