/* PREFLIGHT legal pages — same tokens, top bar, section grid and footer as the official homepage (index.html). */
:root{
  --bg:#080908; --panel:#0e100e; --panel-2:#151815; --line:#222722; --line-2:#343b33;
  --fg:#eef1ea; --fg-2:#c4cbc0; --muted:#8a9387;
  --neon:#b8ff3c; --neon-ink:#0a1200; --neon-dim:rgba(184,255,60,.12);
  --ph:#ffc35a; --ph-dim:rgba(255,195,90,.10);
  --display:"Instrument Serif","Noto Serif","Noto Serif TC","Noto Serif JP","Noto Serif KR","Noto Serif Thai",Georgia,serif;
  --body:"Schibsted Grotesk","Noto Sans TC","Noto Sans JP","Noto Sans KR","Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --gap:clamp(56px,7vw,96px);
  color-scheme:dark;
}
:root:lang(zh-Hant){--body:"Schibsted Grotesk","Noto Sans TC",system-ui,sans-serif;--display:"Chiron Hei HK","Noto Sans TC",system-ui,sans-serif}
:root:lang(ja){--body:"Schibsted Grotesk","Noto Sans JP",system-ui,sans-serif;--display:"Instrument Serif","Noto Serif JP",serif}
:root:lang(ko){--body:"Schibsted Grotesk","Noto Sans KR",system-ui,sans-serif;--display:"Instrument Serif","Noto Serif KR",serif}
:root:lang(th){--body:"Noto Sans Thai","Schibsted Grotesk",system-ui,sans-serif;--display:"Instrument Serif","Noto Serif Thai",serif}
:root:lang(vi){--display:"Noto Serif",Georgia,serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.65;margin:0;-webkit-font-smoothing:antialiased}
::selection{background:var(--neon);color:var(--neon-ink)}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 88px;display:flex;flex-direction:column;gap:var(--gap)}
@media (min-width:760px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
.wrap>*,section>*{min-width:0}
a{color:var(--neon);text-underline-offset:3px}
a:hover{color:#d6ff8f}
a:focus-visible,button:focus-visible{outline:2px solid var(--neon);outline-offset:3px}
.muted{color:var(--muted)}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Language switching: one language visible; English when the script has not run. */
html:not([data-lang]) [data-l]:not([data-l="en"]),
html[data-lang="en"] [data-l]:not([data-l="en"]),
html[data-lang="zh-Hant"] [data-l]:not([data-l="zh-Hant"]),
html[data-lang="ja"] [data-l]:not([data-l="ja"]),
html[data-lang="ko"] [data-l]:not([data-l="ko"]),
html[data-lang="th"] [data-l]:not([data-l="th"]),
html[data-lang="vi"] [data-l]:not([data-l="vi"]),
html[data-lang="fil"] [data-l]:not([data-l="fil"]){display:none!important}

/* top bar (homepage) */
.top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.08em}
.top+main{margin-top:calc(40px - var(--gap))}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand:hover{color:var(--fg)}
.logo{width:34px;height:34px;flex:none}
.brand b{font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.28em;color:var(--fg)}
.lang{display:flex;flex-wrap:wrap;gap:2px;border:1px solid var(--line-2);border-radius:2px;padding:2px}
.lang button{background:none;border:0;border-radius:1px;color:var(--muted);font-family:"Schibsted Grotesk","Noto Sans TC","Noto Sans JP","Noto Sans KR","Noto Sans Thai",sans-serif;font-size:13px;padding:5px 11px;cursor:pointer}
.lang button:hover{color:var(--fg)}
.lang button[aria-pressed="true"]{background:var(--neon);color:var(--neon-ink)}

/* document: page head + one editorial section per clause */
article{display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
section{display:flex;flex-direction:column;gap:16px}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin:0}
.updated{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--muted);margin:0}
h1{font-family:var(--display);font-weight:400;font-size:clamp(40px,6vw,76px);line-height:1;letter-spacing:-.015em;margin:0;text-wrap:balance;max-width:20ch;overflow-wrap:break-word}
:root:lang(zh-Hant) h1,:root:lang(ja) h1,:root:lang(ko) h1,:root:lang(th) h1{font-weight:600;font-size:clamp(32px,4.6vw,58px);line-height:1.2;letter-spacing:0}
:root:lang(zh-Hant) h1{font-weight:800;font-size:clamp(34px,5vw,64px);letter-spacing:-.02em}
h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:balance;max-width:24ch;overflow-wrap:break-word}
:root:lang(zh-Hant) h2,:root:lang(ja) h2,:root:lang(ko) h2,:root:lang(th) h2{font-weight:600;font-size:clamp(22px,2.6vw,32px);line-height:1.3;letter-spacing:0}
:root:lang(zh-Hant) h2{font-weight:800;letter-spacing:-.01em}
section>p:not(.kicker),section>ul,section>ol,section>.note,section>.tnote,section>.updated{max-width:70ch}
p,ul,ol{margin:0;color:var(--fg-2);overflow-wrap:break-word}
ul,ol{padding-left:1.3em}
li{margin-bottom:6px}
li::marker{color:var(--neon)}
strong{color:var(--fg);font-weight:600}
.note{background:var(--panel);border:1px solid var(--line-2);border-left:2px solid var(--neon);border-radius:2px;padding:16px 18px}
.note p+p{margin-top:10px}
.tnote{font-size:14px;color:var(--muted);border:1px dashed var(--line-2);border-radius:2px;padding:10px 14px}
.ph{color:var(--ph);background:var(--ph-dim);border-bottom:1px dashed rgba(255,195,90,.55);border-radius:2px;padding:0 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone} /* placeholder the owner must still fill in */
.big{font-family:var(--mono);font-size:clamp(18px,2.4vw,24px);overflow-wrap:anywhere}
.big a{text-decoration:none;border-bottom:1px solid var(--neon)}
code{font-family:var(--mono);font-size:14px;background:var(--panel);border:1px solid var(--line);padding:1px 5px;border-radius:2px;overflow-wrap:anywhere}

/* editorial grid on wide screens (homepage): label in a narrow left column, heading and text on the right */
@media (min-width:960px){
  section.doc-head,section.clause{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);column-gap:40px;row-gap:0;align-items:start;border-top:1px solid var(--line);padding-top:28px}
  section.doc-head>*,section.clause>*{grid-column:2}
  section.doc-head>:not(.kicker)+:not(.kicker),section.clause>:not(.kicker)+:not(.kicker){margin-top:16px}
  section.doc-head>.kicker,section.clause>.kicker{grid-column:1;grid-row:1 / span 20;padding-top:10px}
  section.doc-head{border-top:0;padding-top:0}
  section.seealso{border-top:0;padding-top:0}
}
@media (max-width:959px){
  section.clause{border-top:1px solid var(--line);padding-top:22px}
}

/* footer (homepage) */
footer{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:8px}
footer p{color:var(--muted)}
.foot-brand{display:flex;align-items:center;gap:10px;color:var(--fg);font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.foot-brand .logo{width:26px;height:26px}
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:15px;margin:0}
.mail{font-family:var(--mono);font-size:14px;color:var(--fg);text-decoration:none;overflow-wrap:anywhere}
.mail:hover{color:var(--neon)}
.legal{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.legal a{color:var(--fg-2);text-decoration:none;border-bottom:1px solid transparent}
.legal a:hover{color:var(--neon)}
.legal a[aria-current="page"]{color:var(--neon);border-bottom-color:var(--neon)}
.legal a[href="index.html"]{color:var(--muted)}

@media (max-width:520px){
  body{font-size:16px}
  .lang button{padding:5px 8px;font-size:12.5px}
}
