/* Double Turnstile — shared stylesheet. Rules are the frozen mockup's, unchanged; additions are marked. */

/* IBM Plex, self-hosted (mirrors the exact faces the mockup loaded from Google Fonts). */
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-400-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-500-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-500-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-400-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-400-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-500-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-500-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-500-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-600-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-600-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-600-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-700-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-700-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-700-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/ibm-plex-sans-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

  :root{
    --paper:#fcfcfa; --ink:#1a1a1a; --quiet:#6b6b66;
    --hairline:#e8e7e2; --green:#1d4a38; --whisper:#f1f0ec;
    --sans:"IBM Plex Sans",-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html,body{height:100%;}
  body{
    background:var(--paper); color:var(--ink);
    font-family:var(--sans);
    font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
  }
  a{color:var(--green); text-decoration:none; cursor:pointer;}
  a:hover{text-decoration:underline;}

  .page{min-height:100vh; display:flex; flex-direction:column;}

  /* ---------- corners (persistent) ---------- */
  .top{
    display:flex; justify-content:space-between; align-items:center;
    padding:22px 28px; font-size:13.5px;
    border-bottom:1px solid var(--hairline);
  }
  .top a{
    color:var(--quiet); position:relative; text-decoration:none;
  }
  .top a::after{
    content:""; position:absolute; left:0; right:100%; bottom:-4px;
    border-bottom:1px solid var(--green);
    transition:right 200ms ease-out;
  }
  .top a:hover{color:var(--ink);}
  .top a:hover::after{right:0;}
  .top .group{display:flex; gap:22px;}
  .bottom{
    display:flex; justify-content:space-between; align-items:center;
    gap:28px; flex-wrap:wrap; row-gap:10px;
    padding:22px 28px; font-size:13px;
  }
  .bottom > a:first-child{margin-right:auto;}
  .bottom span{color:var(--quiet);}
  .bottom .group{display:flex; gap:22px;}
  .bottom a{
    color:var(--quiet); position:relative; text-decoration:none;
  }
  .bottom a::after{
    content:""; position:absolute; left:0; right:100%; bottom:-4px;
    border-bottom:1px solid var(--green);
    transition:right 200ms ease-out;
  }
  .bottom a:hover{color:var(--ink);}
  .bottom a:hover::after{right:0;}

  /* ---------- home: the void ---------- */
  .void{
    flex:1; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center;
    padding:24px; transform:translateY(-4vh);
  }
  .glyph{width:96px; height:96px; margin-bottom:34px; display:block;}
  .glyphlink{display:block; width:max-content;}
  .seat{
    transition:transform 420ms cubic-bezier(0.22,1,0.36,1);
    cursor:pointer;
  }
  .seat:hover{transform:translateX(6px);}
  @media (prefers-reduced-motion: reduce){
    .seat{transition:none;}
    .seat:hover{transform:none;}
  }
  .glyph path{fill:var(--ink);}
  .tagline{
    color:var(--quiet); font-size:17px; letter-spacing:.01em; margin-bottom:44px;
  }
  .actions{display:flex; gap:14px; align-items:center;}
  button.primary, a.primary{
    font:inherit; font-size:16px; color:var(--paper); background:var(--ink);
    border:none; border-radius:2px; padding:13px 34px; cursor:pointer; letter-spacing:.01em;
  }
  button.primary:hover, a.primary:hover{background:#000;}
  a.primary{display:inline-block; text-decoration:none; text-align:center;}
  a.primary:hover{text-decoration:none;}

  button.primary:focus-visible, a.primary:focus-visible{outline:2px solid var(--green); outline-offset:3px;}
  button.secondary{
    font:inherit; font-size:16px; color:var(--ink); background:transparent;
    border:1px solid var(--hairline); border-radius:2px; padding:12px 26px; cursor:pointer;
  }
  button.secondary:hover{border-color:var(--quiet);}

  /* ---------- rooms ---------- */
  .room{
    flex:1; max-width:520px; margin:0 auto; width:100%;
    padding:9vh 24px 48px;
  }
  .room .glyphsmall{width:26px;height:26px; margin-bottom:52px; display:block;}
  .room .glyphsmall path{fill:var(--ink);}
  .room p{margin-bottom:26px;}
  .premise{
    padding-bottom:30px; margin-bottom:34px;
    border-bottom:1px solid var(--hairline);
  }
  .room .turn{font-weight:700;}
  .room h2.kicker, .room h1.kicker{margin:0 0 30px;font-weight:600;}
  .room .kicker{
    color:var(--green); font-size:12px; text-transform:uppercase;
    letter-spacing:.1em; margin-bottom:30px;
  }
  .room h1.bignum{margin:0 0 6px;}
  .room .bignum{
    font-size:44px; font-weight:700; letter-spacing:-.015em; margin-bottom:6px;
  }
  .room .under{color:var(--quiet); margin-bottom:34px;}
  .room .act{margin-top:44px;}

  /* ---------- try room: the instrument ---------- */
  .plate{border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); padding:26px 0 6px; margin-bottom:30px;}
  .plate .st{display:flex; gap:18px; align-items:baseline; padding:10px 0;}
  .plate .lb{font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--ink); min-width:118px;}
  .plate .jb{font-size:14.5px; color:var(--ink);}
  .plate .dn{color:var(--quiet); font-size:12px; padding-left:2px; line-height:1;}
  .plate .cap{font-size:13px; color:var(--quiet); margin-bottom:14px;}
  .role{
    width:100%; border:none; border-bottom:1px solid var(--hairline); background:transparent;
    color:var(--ink); font:inherit; font-size:14px; padding:8px 2px 10px; margin-bottom:22px; outline:none;
    transition:border-color 140ms ease;
  }
  .role:focus{border-bottom-color:var(--green);}
  .role::placeholder{color:var(--quiet); opacity:.8;}
  .judgment{
    width:100%; min-height:140px; border:1px solid var(--hairline); border-radius:2px; background:#f9f8f5;
    resize:vertical; padding:14px 16px; margin-bottom:18px;
    font:inherit; font-size:17px; line-height:1.6; color:var(--ink); outline:none;
    transition:border-color 140ms ease;
  }
  .judgment:focus{border-color:var(--green);}
  button.primary:disabled{opacity:.35; cursor:default;}
  button.primary:disabled:hover{background:var(--ink); transform:none;}
  .judgment::placeholder{color:var(--quiet); opacity:.75;}
  .dropzone{
    margin-top:24px; border:1px dashed var(--hairline); border-radius:2px;
    padding:18px; text-align:center; color:var(--quiet); font-size:13px;
    cursor:pointer; transition:border-color .15s ease;
  }
  .dropzone:hover, .dropzone.dragover{border-color:var(--green);}
  .dropzone .dragline{display:block; margin-top:5px; font-size:12px;}
  .fpchip{
    display:none; margin-top:10px; text-align:center; color:var(--quiet);
    font-size:12px; font-family:var(--mono);
  }
  .room.centered{
    max-width:none; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center;
    padding-top:0; transform:translateY(-3vh);
  }
  .room.centered .dropzone{width:min(480px, 86vw); margin-top:0; padding:34px 24px;}
  .room.centered .kicker{margin-bottom:40px;}
  .room.centered .act{margin-top:40px;}
  .reveal-link{margin-top:16px; font-size:13px; text-align:center;}
  .reveal{
    display:none; max-width:480px; margin:18px auto 0;
    font-size:14px; line-height:1.65; color:var(--quiet); text-align:left;
  }
  .reveal.open{display:block;}
  .rwritten{display:none; text-align:center; padding-top:6vh;}
  .rwritten .w{color:var(--green); font-size:16px; margin-bottom:6px; font-weight:600;}
  .rwritten .kept{color:var(--quiet); font-size:14px; margin-bottom:34px;}

  .quiet{color:var(--quiet); font-size:13px; line-height:1.6;}
  .hidden{display:none !important;}

  .bottom a{white-space:nowrap;}
  @media (max-width:560px){
    .glyph{width:76px;height:76px;}
    .top .group{gap:14px;}
    /* approved 2026-09-13: at phone widths the two nav groups touched (inherited from the mockup). CSS only. */
    .top{flex-wrap:wrap; column-gap:22px; row-gap:8px;}
    .top a{white-space:nowrap;}
    .top .group{flex-wrap:wrap; row-gap:6px;}
    .top .group:last-child{margin-left:auto;}
    .bottom{flex-wrap:wrap; row-gap:8px;}
    .bottom .group{flex-wrap:wrap; column-gap:16px; row-gap:6px;}
    .room h1.bignum, .room .bignum{font-size:32px;}
  }
  @media (prefers-reduced-motion: reduce){ *{transition:none !important;} }

  /* ---------- additions for real pages (no visual change on screen) ---------- */
  @media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth;} } /* Terms in-page links scrolled smoothly in the mockup */
  @media print{ .top,.bottom{display:none;} } /* Build Spec: printable instruments carry no web chrome */
