:root{--ink:#171714;--paper:#f6f4fb;--paper-deep:#e7e3f5;--accent:#4d468e;--accent-light:#d8d3f1;--line:#17171438}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;padding:0 clamp(24px,5vw,76px);display:flex}.wordmark{align-items:center;gap:13px;display:inline-flex}.wordmark-logo{object-fit:cover;width:42px;height:42px;display:block}.wordmark strong,.wordmark small{display:block}.wordmark strong{letter-spacing:-.03em;font-family:Georgia,serif;font-size:20px}.wordmark small{letter-spacing:.17em;text-transform:uppercase;margin-top:2px;font-size:9px}nav{gap:clamp(20px,3vw,44px);font-size:13px;display:flex}nav a{border-bottom:1px solid #0000;padding:8px 0}nav a:hover,nav a:focus-visible{border-color:currentColor}.hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:calc(100vh - 140px);display:grid}.hero-copy{align-self:center;padding:clamp(72px,10vh,120px) clamp(30px,7vw,110px)}.eyebrow{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin:0 0 26px;font-size:11px;font-weight:700}h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,6.5vw,104px);font-weight:400;line-height:.94}h1 em{color:var(--accent);font-weight:400}.hero-intro{max-width:640px;margin:38px 0 0;font-family:Georgia,Songti SC,serif;font-size:clamp(16px,1.25vw,20px);line-height:1.8}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.button{border:1px solid var(--ink);justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:13px;transition:background .18s,color .18s;display:inline-flex}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover,.button-primary:focus-visible{background:var(--accent);border-color:var(--accent)}.button-quiet:hover,.button-quiet:focus-visible{background:var(--paper-deep)}.hero-art{background:var(--accent);min-height:620px;position:relative;overflow:hidden}.hero-logo{object-fit:contain;opacity:.98;width:min(88%,650px);height:min(78%,650px);position:absolute;top:clamp(-20px,2vh,24px);right:clamp(-36px,1vw,30px)}.orbit{border:1px solid #ffffff52;border-radius:50%;position:absolute}.orbit-one{width:clamp(390px,48vw,720px);height:clamp(390px,48vw,720px);top:-80px;right:clamp(-260px,-12vw,-100px)}.orbit-two{width:360px;height:360px;bottom:-160px;left:-120px}.programme-card{background:var(--paper);z-index:2;width:min(300px,64%);padding:28px;position:absolute;bottom:clamp(36px,8vh,92px);left:clamp(22px,5vw,84px);transform:rotate(-4deg);box-shadow:16px 18px #19134947}.programme-card span,.programme-card small{letter-spacing:.12em;text-transform:uppercase;font-size:9px;display:block}.programme-card strong{margin:28px 0 58px;font-family:Georgia,serif;font-size:clamp(27px,3vw,46px);font-weight:400;line-height:1;display:block}.vertical-note{color:var(--paper);letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;margin:0;font-size:9px;position:absolute;bottom:40px;right:20px}.intro-strip{background:var(--ink);color:var(--paper);letter-spacing:.12em;justify-content:space-between;padding:18px clamp(24px,5vw,76px);font-family:Georgia,Songti SC,serif;font-size:13px;display:flex}.intro-strip p{margin:0}@media (max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding-top:72px;padding-bottom:64px}.hero-art{min-height:560px}.record{right:-110px}.hero-logo{top:0;right:-20px}}@media (max-width:560px){.site-header{height:76px;padding-left:18px;padding-right:18px}.wordmark strong{font-size:18px}.hero-copy{padding:56px 22px 60px}h1{font-size:clamp(42px,14vw,62px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-art{min-height:490px}.hero-logo{width:94%;height:70%;top:4px;right:-16px}.programme-card{bottom:44px;left:24px}.intro-strip{flex-direction:column;gap:8px;font-size:11px;line-height:1.6}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
