:root{--paper: #f7f5f1;--white: #fff;--ink: #1c2b2a;--ink-deep: #14201e;--accent: #2f5d57;--accent-dark: #234641;--muted: #5c6b69;--muted-2: #8a9997;--body: #3f4f4d;--line: rgba(28, 43, 42, .12);--line-soft: rgba(28, 43, 42, .08);--warn: #8a6d2f;--danger: #b04a3a;--info: #3a6b8a;--serif: "Source Serif 4", Georgia, serif;--sans: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--radius: 8px;--radius-lg: 14px;--shadow: 0 4px 24px rgba(28, 43, 42, .06)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.12;margin:0}img{max-width:100%;height:auto}.wrap{max-width:1160px;margin:0 auto;padding:0 40px}.narrow{max-width:820px}.eyebrow{display:inline-block;font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.eyebrow-pill{background:#2f5d5717;padding:9px 13px;border-radius:20px}.label{font:600 11px var(--mono);letter-spacing:.12em;color:var(--muted-2);text-transform:uppercase}.lead{font-size:18px;color:var(--body)}.section{padding:64px 0}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;border-radius:var(--radius);cursor:pointer;font-family:var(--sans);font-size:15px;padding:12px 22px;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.btn:focus-visible{outline:3px solid rgba(47,93,87,.4);outline-offset:2px}.btn-p{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-p:hover{background:var(--accent-dark);color:#fff}.btn-s{background:transparent;color:var(--ink);border-color:#1c2b2a47}.btn-s:hover{border-color:var(--accent);color:var(--accent)}.btn-text{background:none;border:none;color:var(--ink);padding:8px 4px}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{padding:9px 16px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-pad{padding:32px}.badge{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:20px;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-open{color:var(--accent);background:#2f5d571a}.badge-waiting{color:var(--info);background:#3a6b8a1f}.badge-full{color:var(--muted);background:#1c2b2a14}.badge-cancelled{color:var(--danger);background:#b04a3a1a}.badge-completed{color:var(--muted);background:#1c2b2a12}.badge-draft,.badge-pending{color:var(--warn);background:#b8863a1f}.badge-confirmed{color:var(--accent);background:#2f5d571a}.badge-declined{color:var(--danger);background:#b04a3a1a}.badge-attended{color:var(--accent-dark);background:#23464124}.field{margin-bottom:20px}.field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}.field .req,legend .req{color:var(--danger)}.input,.textarea,.select{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--white);border:1px solid rgba(28,43,42,.24);border-radius:var(--radius);padding:11px 13px}.textarea{min-height:120px;resize:vertical}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f5d5726}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.field-error{display:block;color:var(--danger);font-size:12.5px;margin-top:6px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--body)}.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent)}.hint{font-size:12.5px;color:var(--muted)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.alert{border-radius:var(--radius);padding:14px 16px;font-size:14px;border:1px solid}.alert-success{background:#2f7d5d14;border-color:#2f7d5d4d;color:#1f5a42}.alert-error{background:#a23b3412;border-color:#a23b344d;color:#7c2b25}.alert-info{background:#2f5d5712;border-color:#2f5d5740;color:var(--accent-dark)}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}.skip:focus{left:8px;top:8px;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid rgba(47,93,87,.45);outline-offset:2px}.nav{position:sticky;top:0;z-index:20;background:#f7f5f1e6;backdrop-filter:blur(8px);border-bottom:1px solid rgba(28,43,42,.1)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.brand{display:flex;align-items:center;gap:12px}.brand-word{display:block;font-family:var(--serif);font-weight:600;font-size:20px;line-height:1;letter-spacing:.08em;color:var(--ink)}.brand-sub{display:block;font-size:8.5px;line-height:1;letter-spacing:.28em;color:var(--muted);margin-top:2px}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px}.nav-links a:not(.btn){color:#3a4a48}.nav-links a:not(.btn):hover{color:var(--accent)}.footer{background:var(--ink-deep);color:#9fb0ad}.footer .brand-word{color:#eef2f0}.footer a{color:#9fb0ad}.footer a:hover{color:#eef2f0}.footer-cols{display:flex;gap:48px;flex-wrap:wrap;font-size:13px}.footer-cols .col{display:grid;gap:10px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}table.data td{padding:12px;border-bottom:1px solid var(--line-soft)}.placeholder{color:var(--muted-2);font-style:italic}@media(max-width:820px){.wrap{padding:0 22px}.grid-2,.grid-3{grid-template-columns:1fr}.hide-sm{display:none!important}h1{font-size:38px!important}}
