*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.75 var(--body)}a{color:inherit;text-underline-offset:4px}button,summary{font:inherit}button,summary,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.12;overflow-wrap:break-word}h1{letter-spacing:-2px}h2{font-size:32px}h3{font-size:25px}p+p{margin-top:17px}p{overflow-wrap:break-word}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto;min-width:0}header{position:relative;z-index:4}header button{display:none;flex:none;width:48px;height:48px;background:var(--paper);border:1px solid var(--accent);color:var(--ink);border-radius:4px;font-size:24px}header nav{display:flex;gap:25px;align-items:center}header nav a{display:flex;min-height:48px;align-items:center;font-size:14px;line-height:1.4}header .brand{display:flex;min-height:48px;justify-content:center;flex-direction:column;text-decoration:none;min-width:0}.brand small{display:block;letter-spacing:1.2px;font-size:10px;line-height:1.5;font-weight:400}.crumb{display:flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--accent);font-weight:700}.intro{color:var(--muted);font-size:17px;max-width:550px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:12px 20px;background:var(--accent);color:#fff;text-decoration:none;font:700 14px/1.45 var(--body);border-radius:3px;max-width:100%}.primary:after{content:'↗';font-size:20px}.art figcaption{font-size:11px;color:var(--muted);padding-top:10px;line-height:1.6}.notes section{min-width:0;scroll-margin-top:25px}.notes p{font-size:15px}.note-number{color:var(--accent);font-size:12px;display:block;margin-bottom:20px}.notes h3{margin-bottom:20px}.faq details{border-bottom:1px solid var(--line);min-width:0}.faq summary{cursor:pointer;position:relative;list-style:none;min-height:60px;padding:17px 35px 17px 0;font-size:16px;font-weight:700;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:6px;top:14px;font-size:24px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{font-size:15px;padding:0 0 22px;max-width:650px}.about p{font-size:13px;line-height:1.8;max-width:800px;color:var(--muted)}footer a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}footer{font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;left:14px;padding:12px;background:var(--accent);color:#fff;z-index:99}.skip:focus{top:8px}@media(max-width:760px){.wrap{width:calc(100% - 36px)}header button{display:block}header .brand{max-width:calc(100% - 66px)}header nav{display:none;position:absolute;top:calc(100% - 4px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);color:var(--ink);padding:12px;border:1px solid var(--line);box-shadow:0 16px 25px #17252420;z-index:20}header nav[data-open=true]{display:flex}header nav a{padding:10px 12px;border-bottom:1px solid var(--line)}header nav a:last-child{border:0}.crumb{font-size:11px;min-height:38px}.intro{font-size:16px;line-height:1.7}.primary{font-size:13px}.notes h3{font-size:27px}.notes p{font-size:15px}.faq summary{font-size:15px}h1{letter-spacing:-1.4px}h2{font-size:29px}.about p{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{--bg:#f5f5ef;--paper:#fff;--ink:#172524;--muted:#4d5e5b;--accent:#254bd7;--line:#b7c3be;--body:Arial,Helvetica,sans-serif}.s2o-strip{background:#172524;color:#e6edcf;font:11px/1.6 'Courier New',monospace;letter-spacing:1.5px;padding:10px 0}.s2o-header{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:100px;border-bottom:1px solid var(--line)}.s2o-brand{font-size:27px;font-weight:800;letter-spacing:-1.1px}.s2o-brand small{font-family:'Courier New',monospace;letter-spacing:2px;margin-top:6px}.s2o-cover{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding:30px 0 55px}.s2o-cover h1{font-size:clamp(48px,5vw,70px);font-weight:800;margin:20px 0 23px}.s2o-cover .intro{margin-bottom:25px}.s2o-art{background:#e6edcf;border:1px solid var(--line);padding:20px;border-radius:3px}.s2o-index{border-block:1px solid var(--line);padding:23px 0 26px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:45px}.s2o-index strong{font:12px/1.6 'Courier New',monospace;text-transform:uppercase;letter-spacing:1px}.s2o-index nav{display:flex;flex-wrap:wrap;gap:5px 17px}.s2o-index a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.s2o-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:55px}.s2o-note{border:1px solid var(--line);background:var(--paper);padding:31px}.s2o-note:nth-child(3n+2){background:#e6edcf}.s2o-note .note-number{font-family:'Courier New',monospace}.s2o-note p:last-child{color:var(--muted);border-left:3px solid #254bd7;padding-left:16px}.s2o-faq{background:#172524;color:#f5f5ef;padding:45px 0 50px}.s2o-faq .faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.s2o-faq h2{font-size:39px;max-width:230px}.s2o-faq details{border-color:#61716e}.s2o-about{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:35px 0;border-bottom:1px solid var(--line)}.s2o-about h2{font-size:23px}.s2o-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0 25px}@media(max-width:760px){.s2o-strip{font-size:9px;letter-spacing:1px}.s2o-header{min-height:83px;gap:14px}.s2o-brand{font-size:24px}.s2o-cover{grid-template-columns:1fr;gap:27px;padding:17px 0 34px}.s2o-cover h1{font-size:clamp(42px,12.5vw,58px);margin:17px 0}.s2o-art{padding:13px}.s2o-index{align-items:start;flex-direction:column;gap:9px;margin-bottom:30px}.s2o-notes{grid-template-columns:1fr;gap:19px;padding-bottom:35px}.s2o-note{padding:25px 23px}.s2o-faq{padding:32px 0}.s2o-faq .faq-layout{grid-template-columns:1fr;gap:20px}.s2o-faq h2{font-size:32px;max-width:none}.s2o-about{grid-template-columns:1fr;gap:13px;padding:28px 0}.s2o-footer{align-items:start;flex-direction:column;gap:3px}}
