:root{--brown:#653600;--brown-deep:#4a2700;--accent:#9c5a1a;--bg:#faf8f5;--surface:#ffffff;--surface-2:#f3eee7;--text:#24201b;--muted:#6a6157;--border:#e6dfd4;--link:#8a4b0f;--hl:#b3261e;--note:#1f5fa8;--focus:#c47a2c;--shadow:0 1px 2px rgb(60 40 20 / 0.06), 0 4px 16px rgb(60 40 20 / 0.06);--radius:12px;--serif:"Iowan Old Style", "Charter", "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--brown:#7a4410;--brown-deep:#2a1808;--accent:#e0a464;--bg:#161412;--surface:#1f1c19;--surface-2:#29251f;--text:#ece6dc;--muted:#a99f92;--border:#3a342c;--link:#e8ac6b;--hl:#ff8a80;--note:#8ab8f0;--shadow:none}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans)}h1,h2,h3,h4{font-family:var(--serif);line-height:1.2;letter-spacing:-.01em;margin:1.6em 0 .5em}a{color:var(--link);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}img{max-width:100%;height:auto}.wrap{width:min(1080px,100% - 32px);margin-inline:auto}.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:6px;z-index:10}.skip:focus{left:8px}.site-header{background:var(--brown);color:#fff;border-bottom:4px solid var(--brown-deep)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding-block:14px}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:rgb(255 255 255/.14);border:1px solid rgb(255 255 255/.25);font:700 17px/1 var(--serif)}.brand-text{display:flex;flex-direction:column}.brand-name{font:700 1.3rem/1.15 var(--serif)}.brand-sub{font-size:.82rem;opacity:.8}.site-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.site-nav a{display:block;padding:6px 12px;border-radius:8px;color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;opacity:.88}.site-nav a:hover{background:rgb(255 255 255/.12);opacity:1}.site-nav a[aria-current]{background:rgb(255 255 255/.2);opacity:1}.hero{display:grid;grid-template-columns:auto 1fr minmax(260px,320px);gap:32px;align-items:center;margin:40px 0 32px}.portrait img,.monogram{width:176px;height:176px;border-radius:50%;object-fit:cover;display:grid;place-items:center;box-shadow:var(--shadow)}.monogram{background:linear-gradient(145deg,var(--brown),var(--brown-deep));color:#fff;font:700 56px/1 var(--serif);letter-spacing:.02em}.eyebrow{margin:0;color:var(--accent);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(2rem,4vw,2.8rem);margin:.15em 0 .2em}.lead{margin:0 0 20px;color:var(--muted);font-size:1.1rem}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;padding:9px 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--brown);border-color:var(--brown);color:#fff}.btn-primary:hover{background:var(--brown-deep)}.contact-card{margin:0;padding:20px 22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:12px;font-size:.93rem}.contact-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.contact-card dd{margin:0}.quick-courses{margin:8px 0 36px}.quick-courses h2{font-size:1.15rem;margin:0 0 12px}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chips a{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:.88rem}.chips a strong{color:var(--accent);font-weight:600}.chips a:hover{border-color:var(--accent)}.page-head{margin:36px 0 20px}.page-head h1{font-size:clamp(1.7rem,3.5vw,2.4rem);margin:0}.page-head .code{display:inline-block;vertical-align:.25em;padding:2px 10px;border-radius:6px;background:var(--surface-2);color:var(--accent);font:600 .9rem/1.5 var(--sans);letter-spacing:.02em}.crumbs{margin:0 0 6px;font-size:.9rem;color:var(--muted)}.crumbs a{color:var(--muted)}.tabs{margin:0 0 28px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.tabs ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}.tabs a{display:block;padding:10px 14px;white-space:nowrap;color:var(--muted);text-decoration:none;font-weight:500;border-bottom:3px solid transparent;margin-bottom:-1px}.tabs a:hover{color:var(--text)}.tabs a[aria-current]{color:var(--text);border-bottom-color:var(--accent)}.callout{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 24px;background:var(--surface-2);border-radius:8px;font-size:.92rem;color:var(--muted)}.prose{max-width:860px}.prose>:first-child{margin-top:0}.prose :is(h2,h3,h4,p,ul,ol,.table,hr)+br,.prose :is(h2,h3,h4)+br+br{display:none}.prose h3{font-size:1.3rem}.prose h4{font-size:1.1rem}.prose hr{border:0;border-top:1px solid var(--border);margin:28px 0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.25em 0}.prose li>ul,.prose li>ol{margin:.25em 0}.prose img{border-radius:6px}.prose .hl{color:var(--hl)}.prose .note{color:var(--note)}.prose .table{overflow-x:auto;margin:16px 0 24px}.prose table{border-collapse:collapse;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.93rem}.prose th,.prose td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.prose th{background:var(--surface-2);font-weight:600}.prose tr:last-child td{border-bottom:0}.prose tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.prose a[href$=".pdf" i]::after,.prose a[href$=".zip" i]::after,.prose a[href$=".xlsx" i]::after,.prose a[href$=".xls" i]::after,.prose a[href$=".docx" i]::after,.prose a[href$=".doc" i]::after,.prose a[href$=".pptx" i]::after,.prose a[href$=".ppt" i]::after,.prose a[href$=".mp4" i]::after,.prose a[href$=".mov" i]::after{display:inline-block;margin-left:5px;padding:0 5px;border-radius:4px;font:600 .65rem/1.6 var(--sans);letter-spacing:.04em;vertical-align:.15em;background:var(--surface-2);color:var(--muted)}.prose a[href$=".pdf" i]::after{content:"PDF"}.prose a[href$=".zip" i]::after{content:"ZIP"}.prose a[href$=".xlsx" i]::after,.prose a[href$=".xls" i]::after{content:"XLS"}.prose a[href$=".docx" i]::after,.prose a[href$=".doc" i]::after{content:"DOC"}.prose a[href$=".pptx" i]::after,.prose a[href$=".ppt" i]::after{content:"PPT"}.prose a[href$=".mp4" i]::after,.prose a[href$=".mov" i]::after{content:"VIDEO"}.lock,.prose a.locked::before{content:"";display:inline-block;flex:none;width:.8em;height:.8em;margin-right:4px;vertical-align:-.05em;background:currentColor;-webkit-mask:var(--lock-icon)center/contain no-repeat;mask:var(--lock-icon)center/contain no-repeat}:root{--lock-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a4 4 0 0 0-4 4v2H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-1V5a4 4 0 0 0-4-4Zm-2.5 6V5a2.5 2.5 0 0 1 5 0v2Z'/%3E%3C/svg%3E")}.prose a.locked::before{opacity:.6}.area{margin:36px 0}.area h2{font-size:1.35rem;margin:0 0 14px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.card{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card-code{color:var(--accent);font-size:.8rem;font-weight:600;letter-spacing:.04em}.card-title{font:600 1.1rem/1.3 var(--serif)}.card-desc{color:var(--muted);font-size:.88rem;line-height:1.5}.card-tag{align-self:flex-start;margin-top:auto;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.75rem}.card-desc+.card-tag{margin-top:8px}.level{margin:6px 0 0;color:var(--muted);font-size:.9rem}.site-footer{margin-top:64px;padding:28px 0;border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.9rem}.footer-inner{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}.footer-inner strong{color:var(--text)}.footer-links{display:flex;flex-direction:column;gap:2px;text-align:right}@media(max-width:860px){.hero{grid-template-columns:auto 1fr}.contact-card{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:560px){.brand-sub{display:none}.site-nav{width:100%;overflow-x:auto}.site-nav ul{flex-wrap:nowrap}.hero{grid-template-columns:1fr;text-align:left;gap:20px;margin-top:28px}.portrait img,.monogram{width:112px;height:112px;font-size:38px}.footer-links{text-align:left}}@media print{.site-header,.site-nav,.tabs,.site-footer,.skip,.actions,.quick-courses{display:none}body{background:#fff;color:#000}.prose a::after{content:none!important}}