/* Purpose-built inner pages. Scoped to page body; engines and homes are unchanged. */
.ip-page{padding-top:32px;padding-bottom:64px;--ip-radius:24px}
.ip-page a,.ip-page button{touch-action:manipulation}
.ip-path{display:flex;gap:12px;align-items:center;font-size:14px;line-height:20px;color:var(--mut);margin-bottom:24px}
.ip-path a{color:var(--ink);text-decoration:none}.ip-path a:hover{text-decoration:underline}
.ip-pages{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 24px;border-bottom:1px solid var(--line)}
.ip-pages a{min-height:48px;padding:12px 16px;display:inline-flex;align-items:center;border:1px solid transparent;border-radius:999px;color:var(--mut);font-size:14px;line-height:20px;text-decoration:none;font-weight:600}
.ip-pages a[aria-current]{border-color:var(--line);background:var(--card);color:var(--ink)}
.ip-pages a:hover{color:var(--ink);background:var(--card2)}
.ip-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;padding:64px 0;align-items:end}
.ip-title{min-width:0}.ip-eyebrow{display:block;color:var(--mut);font-size:14px;line-height:20px;margin-bottom:24px}
.ip-page h1{font-family:var(--serif);font-weight:500;font-size:72px;line-height:1;letter-spacing:-.025em;max-width:680px;margin:0 0 24px;background:none;color:var(--ink);text-wrap:balance}
.ip-title>p{font-size:18px;line-height:28px;max-width:56ch;margin:0;color:var(--mut)}
.ip-hero-note{background:var(--card2);border:1px solid var(--line);border-radius:var(--ip-radius);padding:32px;min-width:0;position:relative}
.ip-note-label{display:block;font-size:14px;line-height:20px;margin-bottom:32px;color:var(--mut)}
.ip-route{font:500 30px/36px var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;max-width:22ch}
.ip-hero-note>p{font-size:16px;line-height:24px;color:var(--mut);margin:16px 0 0}
.ip-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.ip-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--ip-radius);padding:32px;min-width:0;scroll-margin-top:96px}
.ip-wide{grid-column:1/-1}.ip-half{grid-column:span 6}.ip-tint{background:var(--card2)}
.ip-page h2{font:500 36px/40px var(--serif);letter-spacing:-.02em;max-width:30ch;margin:0 0 24px;text-wrap:balance;color:var(--ink)}
.ip-panel p{font-size:16px;line-height:28px;color:var(--mut);max-width:68ch;margin:0 0 16px}.ip-panel p:last-child{margin-bottom:0}
.ip-classifications{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ip-classifications article{padding:24px;border:1px solid var(--line);border-radius:16px;min-width:0;background:var(--bg)}
.ip-kind{display:block;font-size:18px;line-height:28px;color:var(--ink);font-weight:600;margin-bottom:16px}
.ip-classifications article p{margin:0}
.ip-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.ip-plan{display:flex;flex-direction:column;align-items:flex-start}.ip-plan h2{font-size:36px;line-height:40px;margin-bottom:32px}
.ip-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;width:100%;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.ip-price>span:first-child{display:block;flex-basis:100%;font-size:14px;line-height:20px;color:var(--mut)}
.ip-price strong{font:500 72px/1 var(--serif);letter-spacing:-.025em;font-variant-numeric:lining-nums;color:var(--ink)}
.ip-price>span:last-child{font-size:14px;line-height:20px;color:var(--mut)}
.ip-policy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:48px;align-items:start}
.ip-contents{position:sticky;top:96px;display:grid;gap:8px;align-items:start;border:1px solid var(--line);border-radius:var(--ip-radius);padding:16px;background:var(--card2)}
.ip-contents a{display:flex;min-height:48px;padding:12px 16px;align-items:center;text-decoration:none;border-radius:12px;color:var(--ink);font-size:16px;line-height:24px}
.ip-contents a:hover{background:var(--card)}
.ip-chapters{display:grid;gap:24px}.ip-chapters .ip-panel{min-height:0}.ip-chapters .ip-panel h2{margin-bottom:16px}
.ip-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:32px;padding:32px;border:1px solid var(--line);border-radius:var(--ip-radius);background:var(--card2)}
.ip-bottom p{margin:0;color:var(--mut);font-size:16px;line-height:24px;max-width:46ch}
.ip-action{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--green);color:var(--on-green);padding:16px 24px;min-height:56px;border-radius:999px;text-decoration:none;font-size:16px;line-height:24px;font-weight:600;border:1px solid var(--green);transition:transform 200ms cubic-bezier(.32,.72,0,1),opacity 200ms cubic-bezier(.32,.72,0,1)}
.ip-action:hover{opacity:.9}.ip-action:active{transform:scale(.98)}
.ip-page :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
body:has(.ip-page) .nav .btn{border-radius:999px;font-weight:600}body:has(.ip-page) .sw-theme{width:48px;height:48px;flex:none}
body:has(.ip-page) footer.f{margin-top:0}body:has(.ip-page) footer.f p{font-size:14px;line-height:20px}
[data-theme=dark] .ip-page{--shadow:none}
@media(max-width:900px){.ip-hero{grid-template-columns:1fr;gap:32px;padding:48px 0}.ip-hero-note{display:grid;grid-template-columns:1fr 1.4fr;gap:8px 24px}.ip-note-label{grid-row:span 2;margin:0}.ip-hero-note>p{margin:0}.ip-route{font-size:30px}.ip-page h1{font-size:60px}.ip-policy{grid-template-columns:1fr;gap:24px}.ip-contents{position:static;display:flex;gap:8px;flex-wrap:wrap}.ip-contents a{padding:8px 12px}.ip-classifications{grid-template-columns:1fr}.ip-classifications article{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:start}.ip-kind{margin:0}}
@media(max-width:600px){.ip-page{padding:24px 16px 48px}.ip-path{font-size:14px;margin-bottom:16px}.ip-pages{gap:4px;padding-bottom:16px}.ip-pages a{font-size:14px;padding:8px 12px}.ip-hero{padding:40px 0;gap:24px}.ip-page h1{font-size:48px;line-height:1;margin-bottom:24px;max-width:14ch}.ip-title>p{font-size:18px;line-height:28px}.ip-hero-note{display:block;padding:24px}.ip-note-label{margin-bottom:24px}.ip-hero-note>p{margin-top:16px}.ip-page h2,.ip-plan h2{font-size:30px;line-height:36px;margin-bottom:24px}.ip-panel{padding:24px}.ip-grid,.ip-plans,.ip-chapters{gap:16px}.ip-half{grid-column:1/-1}.ip-plans{grid-template-columns:1fr;margin-bottom:16px}.ip-classifications{gap:16px}.ip-classifications article{display:block;padding:24px}.ip-kind{margin-bottom:12px}.ip-price{padding-bottom:24px;margin-bottom:24px}.ip-price strong{font-size:60px}.ip-contents{padding:8px;gap:0}.ip-contents a{flex:1 1 45%;font-size:16px}.ip-bottom{padding:24px;margin-top:24px;gap:24px}.ip-action{width:100%;padding:12px 16px}.ip-bottom>p a{overflow-wrap:anywhere}body:has(.ip-page) .nav .wrap{gap:8px;padding:0 16px;height:80px}body:has(.ip-page) .brand{font-size:24px;gap:8px}body:has(.ip-page) .brand img{width:28px;height:28px}body:has(.ip-page) .nav .links{gap:8px}body:has(.ip-page) .nav .links .btn{display:none}body:has(.ip-page) footer.f .wrap{padding:0 16px}body:has(.ip-page) footer.f nav{gap:16px}body:has(.ip-page) footer.f nav a{display:flex;min-height:48px;align-items:center}}
@media(prefers-reduced-motion:reduce){.ip-page *{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media print{.ip-page{padding:0}.ip-pages,.ip-path,.ip-contents,.ip-bottom{display:none}.ip-hero,.ip-plans,.ip-policy{display:block}.ip-panel,.ip-hero-note{break-inside:avoid;margin-bottom:16px}}
/* art direction: evidence ledger, oxblood on ruled paper */
@font-face{font-family:LSans;src:url('/dmsans.woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:LMono;src:url('/plexmono.woff2');font-display:swap}
:root{--bg:#f6f1e7;--bg2:#ece4d4;--card:#fffdf8;--card2:#f0e0dc;--ink:#2a0d12;--mut:#6e5256;--line:#d8c6b6;--green:#6e1423;--green2:#4a0d18;--gold:#a8322f;--goldb:#d9645a;--on-green:#fff3ec;--r:2px;--serif:LSans,system-ui,sans-serif;--sans:LSans,system-ui,sans-serif;--shadow:0 1px 0 var(--line)}
[data-theme=dark]{--bg:#140a0c;--bg2:#1b0e11;--card:#20121a;--card2:#2a1519;--ink:#f6ebe2;--mut:#bfa0a2;--line:#3c2227;--green:#ff8f84;--green2:#0d0607;--gold:#ff8f84;--goldb:#ffb1a8;--on-green:#2a0d12}
html{overflow-x:clip}
body{font-family:LSans,system-ui,sans-serif;background-image:repeating-linear-gradient(transparent 0 31px,var(--line) 31px 32px);background-attachment:local}
h1,h2,h3{font-family:LSans,sans-serif;font-weight:800;letter-spacing:-.05em}h1{font-size:clamp(40px,8vw,92px);line-height:.92}h1 em,h2 em{font-style:normal;background:var(--green);color:var(--on-green);padding:0 .12em}
.eyebrow,.kicker,.nav a{font-family:LMono,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.btn,.button,a.btn{border-radius:0;font-family:LMono,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:12px;box-shadow:4px 4px 0 var(--ink)}
.card,article{border:1.5px solid var(--ink);border-radius:0;background:var(--card)}
.nav{border-bottom:2px solid var(--ink)}
