/* One page shell; content-specific tools keep their own internal layout. */
:root{--shell-max:1160px;--shell-pad:36px;--primary:#17634b;--ink:#182e27;--muted:#65746d;--line:#dfe6df}
html{font-size:16px;scrollbar-gutter:stable}
body[data-layout] main,body[data-layout] h1,body[data-layout] h2,body[data-layout] h3{min-width:0;overflow-wrap:anywhere}
body[data-layout]{margin:0;padding:0;display:block;background:#f7f8f2;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}
body[data-layout] .container{width:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--shell-pad);border:0;background:transparent;box-shadow:none}
body[data-layout]>header,body[data-layout]>main,body[data-layout]>footer{width:calc(100% - 2 * var(--shell-pad));max-width:calc(var(--shell-max) - 2 * var(--shell-pad));margin-left:auto;margin-right:auto}
body[data-layout] header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;min-height:0;margin-top:0;margin-bottom:0;padding:22px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;max-width:none}
body[data-layout]>header{max-width:calc(var(--shell-max) - 2 * var(--shell-pad))}
body[data-layout] header>a{display:flex;align-items:center;min-height:46px;gap:10px;color:var(--ink);font-family:inherit;font-size:25px;font-weight:800;line-height:1.2;letter-spacing:-1px;text-decoration:none}
body[data-layout] header>a .brand-dot{color:var(--primary)}
body[data-layout=home] .selectors{grid-template-columns:1fr}
body[data-layout] header>a .brand-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;margin:0;border-radius:11px;background:var(--primary);color:#eff3bf;font-size:30px}
body[data-layout] header .page-language{grid-column:2;grid-row:1;margin:0;width:auto;justify-content:flex-end;font-size:13px;gap:8px}
body[data-layout] header .page-language select{min-height:46px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:16px}
body[data-layout] header nav{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 22px;margin:0;line-height:1.7}
body[data-layout] header nav a,body[data-layout] footer nav a{padding:4px 0;min-height:0;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;line-height:1.7}
body[data-layout] header nav a:hover,body[data-layout] footer nav a:hover{color:var(--primary);text-decoration:underline}
body[data-layout=content] main,body[data-layout=content] main.main-content{margin-top:28px;margin-bottom:36px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:none}
body[data-layout=content] #content-container{margin-top:0}
body[data-layout=content] h1{margin:12px 0 18px;font-family:inherit;font-size:clamp(28px,3.2vw,42px);font-weight:750;line-height:1.25;letter-spacing:-.5px;text-align:left}
body[data-layout=content] h2,body[data-layout=content] main.main-content h2:not(.section-title){font-family:inherit;font-size:23px;line-height:1.4;margin:28px 0 14px;color:var(--ink);padding:0;border:0;background:none}
body[data-layout=content] h2::before,body[data-layout=content] main.main-content h2::before{display:none}
body[data-layout=content] p,body[data-layout=content] li{font-size:16px;line-height:1.8}
body[data-layout=content] p{margin:14px 0}
body[data-layout=content] ul,body[data-layout=content] ol{padding-left:24px;margin:14px 0}
body[data-layout] footer{display:block;margin-top:36px;margin-bottom:0;padding:24px 0 32px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
body[data-layout]>footer{max-width:calc(var(--shell-max) - 2 * var(--shell-pad))}
body[data-layout] footer p{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.7}
body[data-layout] footer nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;line-height:1.7}
@media(max-width:800px){:root{--shell-pad:20px}body[data-layout=content] main,body[data-layout=content] main.main-content{padding:20px}body[data-layout] header{gap:12px 16px}body[data-layout] header nav{gap:8px 16px}}
@media(max-width:500px){body[data-layout] header{grid-template-columns:minmax(0,1fr);padding:18px 0}body[data-layout] header .page-language{grid-column:1;grid-row:3;justify-content:flex-start;min-height:46px}body[data-layout=content] main,body[data-layout=content] main.main-content{padding:18px;margin-top:22px}body[data-layout] header nav a,body[data-layout] footer nav a{font-size:13px}}
