
    :root { --ink:#111920; --paper:#f2eee3; --ochre:#d1b678; --coral:#ee6b52; --rule:#43515a; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:24px; }
    body { margin:0; background:var(--ink); color:var(--paper); font:400 1.08rem/1.68 Arial,Helvetica,sans-serif; }
    img { display:block; max-width:100%; height:auto; }
    a { color:inherit; }
    a:focus-visible { outline:3px solid var(--ochre); outline-offset:5px; }
    .skip { position:absolute; left:1rem; top:-5rem; z-index:10; padding:.6rem 1rem; background:var(--ochre); color:var(--ink); }
    .skip:focus { top:1rem; }
    .shell { max-width:1440px; margin-inline:auto; padding-inline:clamp(20px,4vw,60px); }
    .topbar { background:var(--ink); border-bottom:1px solid #34414a; }
    .topbar-inner { min-height:70px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 20px; padding-block:10px; }
    .book-now,.topbar nav,h2,.video-name,.link-button { font-family:'cheap-pine-sans','Arial Narrow',sans-serif; font-weight:400; text-transform:uppercase; }
    .book-now { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 20px; background:var(--coral); color:var(--ink); font-size:1.3rem; line-height:1; letter-spacing:.055em; white-space:nowrap; text-decoration:none; transition:background .22s ease,transform .22s ease,box-shadow .22s ease; }
    .book-now:hover { background:#ff8c72; transform:translateY(-2px); box-shadow:0 4px 0 rgba(238,107,82,.25); }
    .topbar nav { display:flex; flex-wrap:wrap; align-items:center; gap:clamp(18px,3vw,42px); font-size:1.15rem; letter-spacing:.045em; }
    .topbar nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; border-bottom:1px solid transparent; transition:color .2s ease,border-color .2s ease,transform .2s ease; }
    .topbar nav a:hover { border-color:currentColor; transform:translateY(-2px); }
    .topbar nav .listen-link { color:var(--ochre); }
    .hero { position:relative; max-width:1440px; margin-inline:auto; }
    .photo-wrap { position:relative; }
    .hero-photo { width:100%; height:clamp(550px,53vw,750px); object-fit:cover; object-position:center 44%; }
    .photo-credit { position:absolute; right:clamp(14px,3vw,40px); bottom:18px; padding:5px 9px; background:rgba(17,25,32,.76); color:var(--paper); font-size:.85rem; line-height:1.2; }
    .logo-card { position:absolute; left:clamp(20px,4vw,60px); bottom:-55px; width:clamp(250px,24vw,340px); padding:clamp(23px,2.2vw,30px); background:var(--ochre); border:1px solid #ab8d4e; box-shadow:12px 12px 0 var(--ink); }
    .logo-card h1 { margin:0; font-size:1rem; line-height:1; }
    .logo-card img { width:100%; height:auto; aspect-ratio:350/247; object-fit:contain; }
    .about { display:grid; grid-template-columns:minmax(150px,.35fr) minmax(0,1fr); gap:clamp(35px,5vw,90px); padding-block:clamp(120px,11vw,170px) clamp(75px,9vw,120px); border-bottom:1px solid var(--rule); }
    h2 { font-size:clamp(3rem,5.5vw,5.5rem); line-height:.95; letter-spacing:.01em; margin:0; }
    .about-copy { max-width:790px; }
    .about-copy p { margin:0 0 1.35em; }
    .about-copy p:first-child { font-size:clamp(1.3rem,2.1vw,1.9rem); line-height:1.43; }
    .link-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:13px 21px; margin-top:12px; background:var(--ochre); border:2px solid var(--ochre); color:var(--ink); font-size:1.4rem; line-height:1; letter-spacing:.045em; text-decoration:none; transition:background .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease; }
    .link-button:hover { background:var(--paper); border-color:var(--paper); transform:translateY(-3px); box-shadow:0 7px 0 rgba(209,182,120,.27); }
    .albums { padding-block:clamp(70px,8vw,110px) clamp(75px,9vw,120px); border-bottom:1px solid var(--rule); }
    .albums h2 { margin-bottom:34px; }
    .album-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
    .album { display:block; min-width:0; color:var(--paper); text-decoration:none; }
    .album img { width:100%; aspect-ratio:1; object-fit:cover; border:1px solid #5c6b70; transition:border-color .22s ease,box-shadow .22s ease; }
    .album:hover img,.album:focus-visible img { border-color:var(--ochre); box-shadow:7px 7px 0 rgba(209,182,120,.25); }
    .album-name { display:block; margin-top:18px; font:400 clamp(1.2rem,1.8vw,1.55rem)/1.15 'cheap-pine-sans','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.025em; }
    .album-link { display:block; margin-top:6px; color:var(--ochre); font-size:.88rem; text-decoration:underline; text-underline-offset:4px; }
    .watch { padding-block:clamp(70px,8vw,115px) clamp(85px,9vw,130px); }
    .watch h2 { margin-bottom:34px; }
    .videos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2.4vw,35px); }
    .video { min-width:0; }
    .video-frame { aspect-ratio:16/9; background:#24343f; border:1px solid #5c6b70; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
    .video:hover .video-frame,.video:focus-within .video-frame { transform:translateY(-5px); border-color:var(--ochre); box-shadow:8px 8px 0 rgba(209,182,120,.25); }
    iframe { display:block; width:100%; height:100%; border:0; }
    .video-name { display:block; margin:17px 0 4px; font-size:1.55rem; line-height:1.13; letter-spacing:.025em; }
    .video a { font-size:.88rem; color:var(--ochre); text-underline-offset:4px; transition:color .2s ease; }
    .video a:hover { color:var(--paper); }
    .booking,.press { display:grid; grid-template-columns:minmax(150px,.35fr) minmax(0,1fr); gap:clamp(35px,5vw,90px); border-top:1px solid var(--rule); padding-block:clamp(70px,8vw,110px); }
    .booking h2 { color:var(--coral); }
    .booking-copy,.press-copy { max-width:790px; min-width:0; }
    .booking-copy p,.press-copy p { margin:0 0 1.35em; }
    .booking-email { display:inline-block; max-width:100%; min-height:44px; padding-block:6px; color:var(--coral); font-size:clamp(1.1rem,2vw,1.5rem); font-weight:700; overflow-wrap:anywhere; text-underline-offset:6px; transition:color .2s ease; }
    .booking-email:hover { color:var(--paper); }
    .site-footer { background:var(--ochre); color:var(--ink); padding-block:clamp(60px,7vw,100px); }
    .footer-inner { display:flex; justify-content:space-between; align-items:end; gap:35px; }
    .site-footer h2 { font-size:clamp(3.7rem,7vw,7rem); }
    .footer-links { display:flex; flex-wrap:wrap; gap:12px; }
    .footer-links a { display:inline-flex; align-items:center; min-height:52px; padding:12px 18px; border:2px solid var(--ink); color:var(--ink); font:400 1.3rem/1 'cheap-pine-sans','Arial Narrow',sans-serif; text-transform:uppercase; text-decoration:none; transition:background .22s ease,color .22s ease,transform .22s ease; }
    .footer-links a:hover { background:var(--ink); color:var(--ochre); transform:translateY(-3px); }
    .footer-links a:focus-visible { outline-color:var(--ink); }
    @media(max-width:900px) {
      .album-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .videos { grid-template-columns:1fr 1fr; gap:35px 24px; }
      .video:first-child { grid-column:span 2; }
      .footer-inner { display:block; } .site-footer h2 { margin-bottom:30px; }
    }
    @media(max-width:650px) {
      .topbar-inner { min-height:64px; } .book-now { font-size:1.15rem; padding:11px 16px; } .topbar nav { gap:15px; font-size:1.04rem; } .topbar nav .about-link,.topbar nav .albums-link { display:none; }
      .hero-photo { height:auto; width:100%; object-fit:contain; }
      .photo-credit { top:10px; right:10px; bottom:auto; max-width:calc(100% - 20px); font-size:.875rem; }
      .logo-card { position:relative; left:auto; bottom:auto; width:min(300px,calc(100% - 40px)); margin:-22px 20px 0; padding:24px; box-shadow:8px 8px 0 var(--ink); }
      .about { display:block; padding-block:62px 78px; } .about h2 { margin-bottom:26px; font-size:3.7rem; } .about-copy p:first-child { font-size:1.35rem; }
      .albums h2 { font-size:3.7rem; } .album-grid { gap:28px 16px; } .album-name { font-size:1.2rem; margin-top:12px; }
      .watch h2 { font-size:3.7rem; } .videos { display:block; } .video + .video { margin-top:42px; }
      .link-button { width:100%; }
      .booking,.press { display:block; padding-block:65px 75px; } .booking h2,.press h2 { font-size:3.7rem; margin-bottom:26px; }
      .site-footer h2 { font-size:4rem; } .footer-links a { flex:1 1 auto; justify-content:center; }
    }
    @media(max-width:360px) { .topbar-inner { gap:8px 16px; padding-block:8px; } .topbar nav { gap:10px; font-size:1rem; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .topbar nav a,.link-button,.video-frame,.video a,.album img,.footer-links a,.book-now,.booking-email { transition:none; } .topbar nav a:hover,.link-button:hover,.video:hover .video-frame,.video:focus-within .video-frame,.footer-links a:hover,.book-now:hover { transform:none; } }
  