.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height);padding:0 var(--btn-padding-x);font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);letter-spacing:var(--ls-normal);line-height:1;border:1px solid transparent;border-radius:var(--radius-btn);cursor:pointer;user-select:none;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled="true"]{opacity:0.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn--primary:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.btn--primary:active{transform:translateY(1px)}.btn--secondary{background:var(--paper);color:var(--ink);border-color:var(--ink)}.btn--secondary:hover{background:var(--ink);color:var(--paper)}.btn--ghost{background:transparent;color:var(--ink);padding:0;height:auto;border:0;border-radius:0;gap:var(--space-2)}.btn--ghost::after{content:"\2192";display:inline-block;transition:transform var(--dur-fast) var(--ease-out)}.btn--ghost:hover{color:var(--accent)}.btn--ghost:hover::after{transform:translateX(4px)}.btn--accent{background:var(--accent);color:var(--paper);border-color:var(--accent)}.btn--accent:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn--on-ink{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn--on-ink:hover{background:transparent;color:var(--paper);border-color:var(--paper)}.btn--sm{height:var(--btn-height-sm);padding:0 var(--btn-padding-x-sm);font-size:var(--fs-caption)}.btn--lg{height:52px;padding:0 1.75rem;font-size:var(--fs-body)}.btn--block{width:100%}.btn svg{width:1em;height:1em;flex-shrink:0}.card{background:var(--surface-raised);border:var(--border-default);border-radius:var(--radius-card);padding:var(--space-6);transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:rgba(0,0,0,0.12)}.card--static:hover{box-shadow:none;transform:none;border-color:rgba(0,0,0,0.08)}.card--featured{border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.card--featured:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--subtle{background:var(--surface-subtle);border-color:transparent}.card__eyebrow{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--muted);margin-bottom:var(--space-3)}.card--featured .card__eyebrow{color:var(--muted-soft)}.card__title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-snug);margin-bottom:var(--space-3);color:inherit}.card__body{font-size:var(--fs-body-sm);line-height:var(--lh-relaxed);color:inherit}.card--featured .card__body{color:var(--muted-soft)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-wider);color:var(--ink)}.field__hint{font-size:var(--fs-caption);color:var(--muted)}.field__error{font-size:var(--fs-caption);color:var(--danger)}.input,.textarea,.select{width:100%;height:var(--input-height);padding:0 var(--input-padding-x);font-family:var(--font-body);font-size:1rem;line-height:1.5;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-btn);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);appearance:none}.textarea{height:auto;min-height:120px;padding:var(--space-3) var(--input-padding-x);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--muted-soft)}.input:hover,.textarea:hover,.select:hover{border-color:var(--muted)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.input[aria-invalid="true"],.input--error{border-color:var(--danger)}.input[aria-invalid="true"]:focus,.input--error:focus{box-shadow:0 0 0 3px rgba(185,28,28,0.15)}.check{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.check input[type="checkbox"],.check input[type="radio"]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.nav{position:sticky;top:0;z-index:var(--z-nav);min-height:var(--nav-height);background:rgba(255,255,255,0.95);border-bottom:1px solid transparent;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.nav--scrolled{border-bottom-color:rgba(0,0,0,0.06)}.nav__inner{min-height:var(--nav-height);display:flex !important;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:nowrap}.nav__brand{font-family:var(--font-display);font-size:1.625rem;font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--ink);line-height:1}.nav__brand span{color:var(--accent)}.nav__links{display:flex;flex-direction:row;align-items:center;gap:var(--space-6);flex-wrap:nowrap}.nav__link{font-size:1rem;font-weight:var(--fw-medium);color:var(--ink);padding:var(--space-2) 0;position:relative;transition:color var(--dur-fast) var(--ease-out)}.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center;transition:transform var(--dur-base) var(--ease-out)}.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1)}.nav__cta{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 1.125rem;background:var(--ink);color:var(--paper);border-radius:var(--radius-btn);font-size:0.9375rem;font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease-out)}.nav__cta:hover{background:var(--ink-soft)}.nav__toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius-btn)}@media (max-width:768px){.nav__links{display:none}.nav__toggle{display:inline-flex}.nav__cta{display:none}}.nav__drawer{display:none}@media (max-width:768px){.nav__drawer{position:fixed;top:calc(var(--nav-height) + env(safe-area-inset-top, 0px));right:0;bottom:0;left:0;background:#FFFFFF;padding:var(--space-6) var(--gutter) max(var(--space-6), env(safe-area-inset-bottom));transform:translateY(-105%);transition:transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base);visibility:hidden;z-index:calc(var(--z-nav) + 10);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;-webkit-overflow-scrolling:touch}.nav__drawer[data-open="true"]{transform:translateY(0);visibility:visible;transition:transform var(--dur-base) var(--ease-out),visibility 0s linear 0s}.nav__drawer .nav__link{font-size:var(--fs-h4);font-family:var(--font-display);font-weight:var(--fw-semibold);padding:var(--space-3) 0;border-bottom:var(--border-hair)}.nav__drawer .nav__link::after{display:none}.nav__drawer .nav__cta{display:inline-flex;align-self:flex-start;margin-top:var(--space-4);height:var(--btn-height);padding:0 var(--btn-padding-x)}}.pill{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-wider);background:var(--rule-soft);color:var(--muted);border-radius:var(--radius-pill);border:1px solid transparent}.pill--ink{background:var(--ink);color:var(--paper)}.pill--accent{background:var(--accent-soft);color:var(--accent)}.pill--outline{background:transparent;color:var(--ink);border-color:var(--rule)}.footer{background:var(--ink);color:var(--paper);padding:var(--space-9) 0 var(--space-6)}.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-7);padding-bottom:var(--space-7);border-bottom:1px solid rgba(255,255,255,0.08)}@media (max-width:768px){.footer__grid{grid-template-columns:1fr;gap:var(--space-6)}}.footer__brand{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--paper)}.footer__brand span{color:var(--accent)}.footer__tagline{margin-top:var(--space-3);color:rgba(255,255,255,0.6);font-size:var(--fs-body-sm);max-width:36ch}.footer__heading{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-wider);color:rgba(255,255,255,0.5);margin-bottom:var(--space-4)}.footer__col{display:flex;flex-direction:column;gap:var(--space-3)}.footer__link{color:rgba(255,255,255,0.75);font-size:var(--fs-body-sm);transition:color var(--dur-fast) var(--ease-out)}.footer__link:hover{color:var(--paper)}.footer__bottom{padding-top:var(--space-5);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);font-size:var(--fs-caption);color:rgba(255,255,255,0.5)}.footer__legal{display:flex;gap:var(--space-4)}.footer__legal a{color:rgba(255,255,255,0.5);transition:color var(--dur-fast) var(--ease-out)}.footer__legal a:hover{color:var(--paper)}.icon{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:1.5;fill:none;flex-shrink:0}.icon--sm{width:1rem;height:1rem}.icon--lg{width:1.5rem;height:1.5rem}@supports(padding:max(0px)){.container,.container-narrow,.container-prose{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}.nav{padding-top:env(safe-area-inset-top)}.footer{padding-bottom:max(var(--space-6),env(safe-area-inset-bottom))}}@media (max-width:768px){.nav__toggle,.btn{min-height:44px;min-width:44px}.footer__link,.nav__drawer .nav__link{min-height:44px;display:inline-flex;align-items:center}}@media (hover:none){.nav__link:hover::after{transform:scaleX(0)}.nav__link[aria-current="page"]::after{transform:scaleX(1)}.card:hover{transform:none;box-shadow:none}}