:root{--plum: #5b0039;--dark-plum: #3d0026;--light-plum: #8a1460;--cream: #faf8f5;--warm-white: #f5f2ed;--charcoal: #1a1a1a;--warm-gray: #6b6b6b;--warmer-gray: #3f3f3f;--light-gray: #e8e5e0;--light-blue: #aae0f5;--medium-blue: #52a2c3;--blue: #2982a6;--dark-blue: #177397;--green: #128241;--light-green: #baf9d4;--medium-green: #0e6f37;--white-10: rgba(255, 255, 255, 0.1);--white-20: rgba(255, 255, 255, 0.2);--white-50: rgba(255, 255, 255, 0.5);--white-60: rgba(255, 255, 255, 0.6);--white-80: rgba(255, 255, 255, 0.8);--font-body: 'Lato', sans-serif;--font-ui: 'Outfit', sans-serif;--font-heading: 'Lato', sans-serif;--font-mono: 'JetBrains Mono', monospace;--section-padding: 6rem;--section-padding-sm: 4rem;--container-max: 1200px;--container-padding: 2rem;--nav-height: 66px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 999px;--shadow-dropdown: 0 4px 20px rgba(0, 0, 0, 0.1);--shadow-card: 0 8px 24px rgba(0, 0, 0, 0.08);--shadow-button: 0 4px 12px rgba(0, 0, 0, 0.15);--transition-fast: 0.2s ease;--transition-medium: 0.3s ease}@media(max-width: 768px){:root{--section-padding: 4rem;--container-padding: 1.5rem}}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--charcoal);line-height:1.6;overflow-x:hidden;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2;letter-spacing:-0.02em}h1{font-size:2.8rem}h2{font-size:1.8rem}h3{font-size:1.3rem}h4{font-size:1.1rem}p{margin-bottom:1rem}.mono{font-family:var(--font-mono)}.subtitle{font-family:var(--font-ui)}a{color:var(--plum);text-decoration:underline;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:2px;transition:text-decoration-color var(--transition-fast)}a:hover{text-decoration-color:currentColor}.bg-plum a,.bg-charcoal a{color:var(--warm-white);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}.bg-plum a:hover,.bg-charcoal a:hover{text-decoration-color:currentColor}a[target=_blank]{position:relative}a[target=_blank]::before{content:"(opens in new tab)";position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.page-header a[target=_blank]::after,.page-content a[target=_blank]::after,.prose a[target=_blank]::after{content:"";display:inline-block;width:.7em;height:.7em;margin-left:.25em;vertical-align:middle;background:currentColor;mask-image:url("/assets/images/external-link.svg");-webkit-mask-image:url("/assets/images/external-link.svg");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}ul,ol{margin-bottom:1rem;padding-left:1.5rem}li{margin-bottom:.5rem}li::marker{color:var(--plum)}hr{border:none;height:1px;background:var(--light-gray);margin:3rem 0;position:relative;overflow:visible}hr::before{content:"//";position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);background:var(--cream);padding:0 .75rem;font-family:var(--font-mono);font-size:.8rem;color:var(--light-gray)}@media(max-width: 640px){h1{font-size:2rem}h2{font-size:1.5rem}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}main{flex:1}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.prose.narrow{max-width:700px}.section{padding:var(--section-padding) 0}.bg-cream{background:var(--cream)}.bg-warm-white{background:var(--warm-white)}.bg-white{background:#fff}.bg-plum{background:var(--plum);color:#fff}.bg-charcoal{background:var(--charcoal);color:#fff}.content-grid{display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:start}.content-grid.sidebar-left{grid-template-columns:300px 1fr}@media(max-width: 1024px){.content-grid{grid-template-columns:1fr;gap:2rem}.content-grid.sidebar-left{grid-template-columns:1fr}}.section-label{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--dark-blue);margin-bottom:1rem}.section-label::before{content:"// "}.bg-plum .section-label,.bg-charcoal .section-label{color:var(--light-blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;font-family:var(--font-ui);font-size:1rem;font-weight:500;text-decoration:none;border-radius:var(--radius-full);border:1px solid rgba(0,0,0,0);cursor:pointer;transition:all var(--transition-fast)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-button)}.btn-primary{background:var(--plum);color:#fff}.btn-primary:hover{background:var(--light-plum)}.btn-secondary{background:#fff;color:var(--plum);border-color:var(--light-gray)}.btn-secondary:hover{border-color:var(--plum)}.btn-ghost{background:rgba(0,0,0,.4);color:#fff;border-color:#fff;backdrop-filter:blur(10px)}.btn-ghost:hover{background:rgba(0,0,0,.5)}.btn-light{background:#fff;color:var(--plum) !important}.btn-light:hover{background:var(--cream) !important}.btn-outline{background:rgba(0,0,0,0);color:var(--plum);border-color:var(--plum)}.btn-outline:hover{background:var(--plum);color:#fff}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--plum);text-decoration:underline;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:3px;font-family:var(--font-ui);font-weight:500;transition:text-decoration-color var(--transition-fast)}.link-arrow:hover{text-decoration-color:currentColor}.link-arrow::after{content:"";width:16px;height:16px;background:currentColor;mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;transition:transform var(--transition-fast)}.link-arrow:hover::after{transform:translateX(0.25rem)}.bg-plum .link-arrow,.bg-charcoal .link-arrow{color:#fff;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}.card{background:#fff;border:1px solid var(--light-gray);border-radius:var(--radius-lg);padding:1.5rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card-static{background:var(--cream);border-radius:var(--radius-md);padding:1.5rem;text-wrap:pretty}.card-static .title{font-size:1rem;margin-bottom:.5rem;color:var(--charcoal);font-family:var(--font-heading);font-weight:700;line-height:1.2;letter-spacing:-0.02em}.card-static p{font-size:.9rem;color:var(--warmer-gray);margin:0;line-height:1.6}.feature-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;border-top:3px solid var(--plum)}.feature-card-number{font-family:var(--font-mono);font-size:.75rem;color:var(--plum);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.feature-card h3{font-size:1.2rem;margin-bottom:.75rem}.feature-card p{color:var(--warmer-gray);margin:0;line-height:1.7}.callout{background:var(--warm-white);border-left:3px solid var(--plum);padding:1.25rem 1.5rem;border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:1.5rem}.callout-title{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;color:var(--plum);margin-bottom:.5rem;letter-spacing:.05em}.callout-title::before{content:"// ";color:currentColor}.callout p,.callout ul{font-size:.95rem;color:var(--charcoal)}.callout p:last-child,.callout ul:last-child{margin:0}.prose .callout li::marker{color:var(--plum)}.callout.tip{border-left-color:var(--green)}.callout.tip .callout-title{color:var(--medium-green)}.prose .callout.tip li::marker{color:var(--medium-green)}.callout.info{border-left-color:var(--blue)}.callout.info .callout-title{color:var(--dark-blue)}.prose .callout.info li::marker{color:var(--medium-green)}.callout.no-border{border-left:0;border-radius:var(--radius-md)}.info-box{background:#fff;border:1px solid var(--light-gray);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin:1.5rem 0}.info-box .info-title{font-size:1rem;margin-top:0 !important;margin-bottom:.5rem !important;color:var(--plum);margin:1.5rem 0 .5rem;font-weight:600}.info-box p{margin:0;font-size:.95rem;color:var(--charcoal)}.info-box p:last-child{margin-bottom:0}.data-table{width:100%;border-collapse:collapse;font-size:.95rem;margin-bottom:1.5rem}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--light-gray)}.data-table th{background:var(--warm-white);font-weight:600;color:var(--charcoal);font-size:.85rem}.data-table td:first-child{font-weight:500;color:var(--charcoal)}.data-table tr:hover{background:var(--warm-white)}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}.table-scroll .data-table{margin-bottom:0;min-width:500px}.announcement{background:linear-gradient(135deg, var(--plum) 0%, var(--dark-plum) 100%);color:#fff;border-radius:var(--radius-xl);padding:2rem 2.5rem;margin-bottom:2rem}.sidebar .announcement{padding:1.5rem}.announcement-badge{display:inline-block;background:var(--white-20);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.4rem .8rem;border-radius:var(--radius-full);margin-bottom:1rem}.announcement .announcement-title{font-size:1.3rem;margin-bottom:.75rem;color:#fff;font-weight:700;font-family:var(--font-heading);line-height:1.2;letter-spacing:-0.02em}.announcement p{opacity:.95;line-height:1.7;margin:0}.skip-link{position:absolute;top:0;left:0;padding:.75rem 1.5rem;background:var(--plum);color:#fff;text-decoration:none;font-family:var(--font-ui);font-weight:500;z-index:1000;transform:translateY(-101%);transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}.nav{position:sticky;top:0;left:0;right:0;z-index:100;background:#fff;border-bottom:1px solid var(--light-gray);font-family:var(--font-ui) !important}.nav::after{position:absolute;content:"";background:rgba(0,0,0,.8);inset:0;bottom:-1px;z-index:0;pointer-events:none;opacity:0;transition:opacity var(--transition-fast)}.nav:has(input[type=text]:focus)::after{opacity:1;pointer-events:all}.nav li,.nav ul{list-style:none;margin:0;padding:0}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:2px}.nav.nav-transparent{position:fixed;background:rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.2);backdrop-filter:blur(10px);transition:background-color var(--transition-medium),backdrop-filter var(--transition-medium)}.nav.nav-transparent.scrolled{background:#fff;border-bottom:1px solid var(--light-gray)}.nav-inner{margin:0 auto;padding:.3rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.nav-menu-wrapper{display:contents}ul.nav-menu{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:.25rem;list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-logo{font-weight:600;font-size:1.1rem;color:var(--plum);text-decoration:none;display:flex;align-items:center;gap:.5rem;position:relative}.nav-logo-image{height:44px}.nav-logo-overlay{position:absolute;inset:0;opacity:1;transition:opacity var(--transition-medium)}.nav-transparent.scrolled .nav-logo-overlay{opacity:0}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--charcoal);width:44px;height:44px}.nav-transparent:not(.scrolled) .nav-toggle{color:#fff}.hamburger{width:24px;height:18px;position:relative;margin:0 auto;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform .6s cubic-bezier(0.4, 0, 0.2, 1),opacity .3s ease}.nav-toggle[aria-expanded=true] .hamburger span:nth-child(1){transform:translateY(8px) rotate(225deg)}.nav-toggle[aria-expanded=true] .hamburger span:nth-child(2){transform:scaleX(0)}.nav-toggle[aria-expanded=true] .hamburger span:nth-child(3){transform:translateY(-8px) rotate(-225deg)}.nav-link,.nav-dropdown-trigger{display:flex;align-items:center;padding:.4rem .8rem;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--charcoal);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.nav-link:hover,.nav-link:focus,.nav-link[aria-expanded=true],.nav-dropdown-trigger:hover,.nav-dropdown-trigger:focus,.nav-dropdown-trigger[aria-expanded=true]{background:var(--cream);color:var(--plum)}.nav-link:focus,.nav-dropdown-trigger:focus{outline:2px solid var(--plum);outline-offset:-2px}.nav-transparent:not(.scrolled) .nav-link,.nav-transparent:not(.scrolled) .nav-dropdown-trigger{color:#fff}.nav-transparent:not(.scrolled) .nav-link:hover,.nav-transparent:not(.scrolled) .nav-link:focus,.nav-transparent:not(.scrolled) .nav-link[aria-expanded=true],.nav-transparent:not(.scrolled) .nav-dropdown-trigger:hover,.nav-transparent:not(.scrolled) .nav-dropdown-trigger:focus,.nav-transparent:not(.scrolled) .nav-dropdown-trigger[aria-expanded=true]{background:var(--white-10);color:#fff}.nav-transparent:not(.scrolled) .nav-link:focus,.nav-transparent:not(.scrolled) .nav-dropdown-trigger:focus{outline-color:#fff}.nav-link,.nav-dropdown-trigger{gap:.3rem}.nav-dropdown-trigger svg{width:14px;height:14px;transform:rotate(0deg);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-dropdown-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.nav-split-trigger{display:flex;align-items:stretch;border-radius:var(--radius-sm)}.nav-split-trigger:hover .nav-split-link,.nav-split-trigger:hover .nav-split-toggle{background:var(--cream);color:var(--plum)}.nav-transparent:not(.scrolled) .nav-split-trigger:hover .nav-split-link,.nav-transparent:not(.scrolled) .nav-split-trigger:hover .nav-split-toggle{background:var(--white-10);color:#fff}.nav-split-link{display:flex;align-items:center;padding:.4rem .4rem .4rem .8rem;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--charcoal);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.nav-split-link:hover,.nav-split-link:focus,.nav-split-link[aria-expanded=true]{background:var(--cream);color:var(--plum)}.nav-split-link:focus{outline:2px solid var(--plum);outline-offset:-2px}.nav-transparent:not(.scrolled) .nav-split-link{color:#fff}.nav-transparent:not(.scrolled) .nav-split-link:hover,.nav-transparent:not(.scrolled) .nav-split-link:focus,.nav-transparent:not(.scrolled) .nav-split-link[aria-expanded=true]{background:var(--white-10);color:#fff}.nav-transparent:not(.scrolled) .nav-split-link:focus{outline-color:#fff}.nav-split-link{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.nav-split-toggle{display:flex;align-items:center;padding:.4rem .6rem .4rem .4rem;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--charcoal);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.nav-split-toggle:hover,.nav-split-toggle:focus,.nav-split-toggle[aria-expanded=true]{background:var(--cream);color:var(--plum)}.nav-split-toggle:focus{outline:2px solid var(--plum);outline-offset:-2px}.nav-transparent:not(.scrolled) .nav-split-toggle{color:#fff}.nav-transparent:not(.scrolled) .nav-split-toggle:hover,.nav-transparent:not(.scrolled) .nav-split-toggle:focus,.nav-transparent:not(.scrolled) .nav-split-toggle[aria-expanded=true]{background:var(--white-10);color:#fff}.nav-transparent:not(.scrolled) .nav-split-toggle:focus{outline-color:#fff}.nav-split-toggle svg{width:14px;height:14px;transform:rotate(0deg);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-split-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.nav-split-toggle{border-radius:0 var(--radius-sm) var(--radius-sm) 0;justify-content:center}.nav-nested-split-trigger{display:flex;align-items:stretch;width:100%}.nav-nested-split-trigger:hover .nav-nested-split-link,.nav-nested-split-trigger:hover .nav-nested-toggle{background:var(--cream);color:var(--plum)}.nav-transparent:not(.scrolled) .nav-nested-split-trigger:hover .nav-nested-split-link,.nav-transparent:not(.scrolled) .nav-nested-split-trigger:hover .nav-nested-toggle{background:var(--white-10);color:#fff}.nav-nested-split-link{display:flex;align-items:center;padding:.6rem 1rem;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--charcoal);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.nav-nested-split-link:hover,.nav-nested-split-link:focus,.nav-nested-split-link[aria-expanded=true]{background:var(--cream);color:var(--plum)}.nav-nested-split-link:focus{outline:2px solid var(--plum);outline-offset:-2px}.nav-transparent:not(.scrolled) .nav-nested-split-link{color:#fff}.nav-transparent:not(.scrolled) .nav-nested-split-link:hover,.nav-transparent:not(.scrolled) .nav-nested-split-link:focus,.nav-transparent:not(.scrolled) .nav-nested-split-link[aria-expanded=true]{background:var(--white-10);color:#fff}.nav-transparent:not(.scrolled) .nav-nested-split-link:focus{outline-color:#fff}.nav-nested-split-link{flex:1;padding-right:.5rem}.nav-nested-toggle{display:flex;align-items:center;padding:.6rem .75rem;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--charcoal);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.nav-nested-toggle:hover,.nav-nested-toggle:focus,.nav-nested-toggle[aria-expanded=true]{background:var(--cream);color:var(--plum)}.nav-nested-toggle:focus{outline:2px solid var(--plum);outline-offset:-2px}.nav-transparent:not(.scrolled) .nav-nested-toggle{color:#fff}.nav-transparent:not(.scrolled) .nav-nested-toggle:hover,.nav-transparent:not(.scrolled) .nav-nested-toggle:focus,.nav-transparent:not(.scrolled) .nav-nested-toggle[aria-expanded=true]{background:var(--white-10);color:#fff}.nav-transparent:not(.scrolled) .nav-nested-toggle:focus{outline-color:#fff}.nav-nested-toggle svg{width:12px;height:12px;transform:rotate(-90deg);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-nested-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.nav-nested-toggle{justify-content:center}ul.nav-dropdown{position:absolute;background:#fff;border:1px solid var(--light-gray);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);padding:.5rem 0;list-style:none;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;min-width:200px;transform:translateY(-8px)}ul.nav-dropdown.is-open{opacity:1;visibility:visible;transform:translate(0)}.nav-transparent:not(.scrolled) ul.nav-dropdown{background:#181818;border-color:var(--white-20)}ul.nav-dropdown{top:100%;left:0}ul.nav-nested{position:absolute;background:#fff;border:1px solid var(--light-gray);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);padding:.5rem 0;list-style:none;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;min-width:180px;transform:translateX(-8px)}ul.nav-nested.is-open{opacity:1;visibility:visible;transform:translate(0)}.nav-transparent:not(.scrolled) ul.nav-nested{background:#181818;border-color:var(--white-20)}ul.nav-nested{top:0;left:100%}.nav-dropdown-item{position:relative}.nav-dropdown-link,.nav-nested-trigger{display:flex;align-items:center;padding:.6rem 1rem;background:none;border:none;cursor:pointer;font-family:inherit;text-decoration:none;color:var(--charcoal);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .15s,color .15s}.nav-dropdown-link:hover,.nav-dropdown-link:focus,.nav-dropdown-link[aria-expanded=true],.nav-nested-trigger:hover,.nav-nested-trigger:focus,.nav-nested-trigger[aria-expanded=true]{background:var(--cream);color:var(--plum)}.nav-dropdown-link:focus,.nav-nested-trigger:focus{outline:2px solid var(--plum);outline-offset:-2px}.nav-transparent:not(.scrolled) .nav-dropdown-link,.nav-transparent:not(.scrolled) .nav-nested-trigger{color:#fff}.nav-transparent:not(.scrolled) .nav-dropdown-link:hover,.nav-transparent:not(.scrolled) .nav-dropdown-link:focus,.nav-transparent:not(.scrolled) .nav-dropdown-link[aria-expanded=true],.nav-transparent:not(.scrolled) .nav-nested-trigger:hover,.nav-transparent:not(.scrolled) .nav-nested-trigger:focus,.nav-transparent:not(.scrolled) .nav-nested-trigger[aria-expanded=true]{background:var(--white-10);color:#fff}.nav-transparent:not(.scrolled) .nav-dropdown-link:focus,.nav-transparent:not(.scrolled) .nav-nested-trigger:focus{outline-color:#fff}.nav-dropdown-link,.nav-nested-trigger{width:100%;font-size:.875rem;font-weight:400;justify-content:space-between;text-align:left;border-radius:0}.nav-nested-trigger svg{width:12px;height:12px;transform:rotate(-90deg);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1)}.nav-nested-trigger[aria-expanded=true] svg{transform:rotate(90deg)}nav .nav-item-search{position:relative;z-index:2;border-left:1px solid var(--light-gray);border-right:1px solid var(--light-gray);padding:0 1rem;margin:0 .75rem;display:inline-flex;align-items:center;justify-content:flex-end;max-width:9rem;overflow:visible}.nav-transparent:not(.scrolled) nav .nav-item-search{border-color:var(--white-20)}.nav-search-form{position:relative}.nav-search-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--warm-gray);pointer-events:none}.nav-transparent:not(.scrolled) .nav-search-icon{color:hsla(0,0%,100%,.7)}.nav-search-input{font-family:var(--font-ui);font-size:.85rem;width:7rem;padding:.5rem 1rem .5rem 2.2rem;border-radius:var(--radius-sm);border:none;background-color:var(--warm-white);transition:width var(--transition-fast),background-color var(--transition-fast);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nav-search-input:hover{background-color:var(--light-gray)}.nav-search-input:focus{width:clamp(7rem,30vw,20rem)}.nav-transparent:not(.scrolled) .nav-search-input{background-color:#181818;color:#fff}.nav-transparent:not(.scrolled) .nav-search-input::placeholder{color:var(--white-50)}.nav-transparent:not(.scrolled) .nav-search-input:focus{outline-color:#fff}.nav-cta{background:var(--plum);color:#fff !important;padding:.3rem 1.2rem;border-radius:var(--radius-sm)}.nav-cta:hover{background:var(--light-plum) !important}.top-announcement-bar{padding:.75rem 0;text-align:center;font-family:var(--font-ui);font-size:.9rem}.top-announcement-bar p{margin:0}.top-announcement-bar a{color:inherit;font-weight:500}@media(max-width: 1024px){.nav-inner{padding:.5rem 1.5rem}}@media(max-width: 900px){.nav::after{display:none}.nav.nav-transparent:not(.scrolled):has(.nav-menu.is-open){background:#000}.nav-toggle{display:block}.nav-menu-wrapper{position:absolute;top:100%;left:0;right:0;display:block;overflow-y:auto;z-index:99;max-height:calc(100dvh - var(--nav-height));pointer-events:none}.nav-menu-wrapper:has(.is-open){pointer-events:all}ul.nav-menu{flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--light-gray);padding:1rem;gap:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility 0s .25s}ul.nav-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.nav-transparent:not(.scrolled) ul.nav-menu{background:#000;border-bottom-color:var(--white-10);backdrop-filter:blur(10px)}.nav-item{border-bottom:1px solid var(--light-gray)}.nav-item:last-child{border-bottom:none}.nav-link,.nav-dropdown-trigger{width:100%;padding:.8rem .5rem;justify-content:space-between;color:var(--charcoal)}.nav-split-trigger{width:100%}.nav-split-link{flex:1;padding:.8rem .5rem}.nav-split-toggle{padding:.8rem}.nav-nested-split-trigger{width:100%}.nav-nested-split-link{padding:.6rem .5rem .6rem 1rem}.nav-nested-toggle{padding:.6rem 1rem}.nav-nested-toggle svg,.nav-nested-trigger svg{transform:rotate(0)}.nav-nested-toggle[aria-expanded=true] svg,.nav-nested-trigger[aria-expanded=true] svg{transform:rotate(180deg)}ul.nav-dropdown,ul.nav-nested{position:static;border:none;box-shadow:none;border-radius:0;padding:0 0 0 1rem;background:rgba(0,0,0,0);max-height:0;overflow:hidden;opacity:0;transform:none;transition:max-height .3s ease,opacity .25s ease}ul.nav-dropdown.is-open,ul.nav-nested.is-open{max-height:500px;opacity:1}ul.nav-nested.is-open{max-height:300px}.nav-cta{margin:.5rem 0 0 0;padding:.5rem;text-align:center;justify-content:center}li.nav-item-search{border:none;border-bottom:1px solid var(--light-gray);padding:.8rem .5rem;margin:0;width:100%;max-width:none}li.nav-item-search form{flex:1}.nav-search-input,.nav-search-input:focus{width:100%}}@media(max-width: 640px){.nav-inner{padding:.5rem 1rem}}.page-header{background:var(--plum);color:#fff;padding:2rem 0}.page-header-image{position:relative;padding:2rem 0;background-image:var(--header-image);background-size:cover;background-position:var(--header-position, center)}.page-header-image::before{content:"";position:absolute;inset:0;background:linear-gradient(to right, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.6) 70%, rgba(0, 0, 0, 0.4) 100%)}.page-header-image .container{position:relative;z-index:1}.page-header h1{margin-bottom:.5rem}.lead{font-family:var(--font-ui);font-size:1.2rem;opacity:.9;margin-top:1rem;margin-bottom:0;max-width:700px}.breadcrumb{font-family:var(--font-mono);font-size:.85rem;margin-bottom:4rem;color:#fff;width:fit-content;padding:.25rem 0;border-radius:var(--radius-sm)}.breadcrumb a{color:#fff;text-decoration:underline;text-decoration-color:var(--white-50);text-underline-offset:2px}.breadcrumb a:hover{color:#fff;text-decoration:underline}.breadcrumb span{margin:0 .5rem;opacity:.8}.page-content{padding:2rem 0}.prose{font-size:1.05rem;line-height:1.8;color:var(--warmer-gray)}.prose h2{font-size:1.6rem;color:var(--charcoal);margin:3rem 0 1rem;padding-top:1rem}.prose h2:first-child{margin-top:0;padding-top:0}.prose h3{font-size:1.2rem;color:var(--charcoal);margin:2rem 0 .75rem}.prose h4{font-size:1rem;color:var(--plum);margin:1.5rem 0 .5rem;font-weight:600}.prose h2,.prose h3,.prose h4{clear:both}.prose p{margin-bottom:1rem}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem;padding-left:.5rem}.prose li::marker{color:var(--plum)}.prose ol li::marker{font-weight:600}.prose ol ol{list-style-type:lower-alpha}.prose strong{font-weight:600}.prose a{word-break:break-word}.prose img{max-width:100%;max-height:1000px;height:auto;margin:1.5rem auto;display:block;border-radius:var(--radius-lg)}.prose .image-right{float:right;margin:0 0 1.5rem 1.5rem;max-width:300px}.prose .image-left{float:left;margin:0 1.5rem 1.5rem 0;max-width:300px}.prose .image-right img,.prose .image-left img{width:100%;height:auto;border-radius:8px;border:1px solid var(--light-gray);margin:0}.prose figure{margin:1.5rem auto}.prose figure img{margin:0 auto}.prose figcaption{font-family:var(--font-ui);font-size:.85rem;color:var(--charcoal);margin-top:.5rem;text-align:center}.sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:#fff;border:1px solid var(--light-gray);border-radius:var(--radius-lg);padding:1.5rem}.sidebar-card-header{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dark-blue);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--light-gray)}.sidebar-card-header::before{content:"// ";color:currentColor}.sidebar-card address{font-style:normal;font-family:var(--font-ui);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.sidebar-card .venue-name{font-weight:600;color:var(--charcoal);display:block;margin-bottom:.25rem}.sidebar-card .postcode{display:inline-block;font-family:var(--font-mono);font-size:.85rem;background:var(--warm-white);padding:.25rem .5rem;border-radius:var(--radius-sm);margin-top:.5rem}.sidebar-card .quick-info{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;padding:1rem 0;border-top:1px solid var(--light-gray);border-bottom:1px solid var(--light-gray)}.sidebar-card .quick-info-item{display:flex;align-items:baseline;gap:.75rem;font-family:var(--font-ui);font-size:.9rem}.sidebar-card .quick-info-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;color:var(--plum);min-width:50px}.sidebar-card .quick-info-value{color:var(--charcoal);font-weight:500}.sidebar-card .sidebar-links{display:flex;flex-direction:column;gap:.5rem}.sidebar-card .sidebar-links a{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-size:.9rem;color:var(--plum);text-decoration:none;width:fit-content}.sidebar-card .sidebar-links a:hover{text-decoration:underline}.sidebar-card .sidebar-links svg{width:16px;height:16px;flex-shrink:0}.page-nav{list-style:none;padding:0;margin:0}.page-nav li{margin-bottom:.4rem;text-wrap:pretty}.page-nav a{font-family:var(--font-ui);font-size:.9rem;color:var(--warm-gray);text-decoration:none;display:block;padding:.3rem 0;border-left:2px solid rgba(0,0,0,0);padding-left:.75rem;margin-left:-0.75rem;transition:all var(--transition-fast)}.page-nav a:hover{color:var(--plum);border-left-color:var(--plum)}.page-nav a.active{color:var(--plum);border-left-color:var(--plum);font-weight:500}.page-nav .toc-h3{padding-left:1rem}.page-nav .toc-h4{padding-left:2rem}.timeline{display:flex;flex-direction:column;position:relative}.timeline-item{position:relative;padding-left:1.5rem;padding-bottom:1rem;border-left:2px solid var(--light-gray)}.timeline-item:last-child{border-left:2px dotted var(--light-gray);margin-bottom:0}.timeline-item::before{content:"";position:absolute;left:-6px;top:.25rem;width:10px;height:10px;background:var(--plum);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--light-gray)}.timeline-date{font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--plum);margin-bottom:0}.timeline-title{font-family:var(--font-ui);font-size:.9rem;font-weight:500;color:var(--charcoal)}.timeline-item.past .timeline-title{color:var(--warm-gray);text-decoration:line-through}.timeline-item.past::before{background:var(--light-gray);box-shadow:0 0 0 2px var(--light-gray)}.timeline-item.next::before{box-shadow:0 0 0 2px var(--plum);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,80%{box-shadow:0 0 0 2px var(--plum)}40%{box-shadow:0 0 0 3px var(--plum),0 0 3px var(--plum)}}@media(prefers-reduced-motion: reduce){.timeline-item.next::before{animation:none}}.sidebar-sticky{position:sticky;top:calc(var(--nav-height) + 2rem)}.sidebar-bidirectional{--bidirectional-offset: calc(var(--nav-height) + 2rem);position:sticky;top:var(--bidirectional-offset);transition:top var(--transition-fast),bottom var(--transition-fast)}.related-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--light-gray)}.related-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#fff;border:1px solid var(--light-gray);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:.9rem;font-weight:500;color:var(--plum);text-decoration:none;transition:all var(--transition-fast)}.related-link:hover{border-color:var(--plum);transform:translateY(-2px)}.related-link svg{width:16px;height:16px}@media(max-width: 1024px){.sidebar{order:1;position:static !important}.sidebar-card{max-width:400px}.prose{order:2}.prose.narrow{max-width:none}}@media(max-width: 768px){.page-header{padding:2rem 0}.page-header h1{font-size:2rem}.sidebar{flex-direction:column}.prose .image-right,.prose .image-left{float:none;margin:1.5rem auto;max-width:400px;display:block}}@media(max-width: 640px){.related-links{flex-direction:column}.related-link{width:100%;justify-content:center}.prose .image-right,.prose .image-left{max-width:100%}}.footer{background:var(--charcoal);color:#fff;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-brand{display:flex;flex-direction:column}.footer-brand .footer-title{font-size:1.3rem;font-family:var(--font-heading);font-weight:700;line-height:1.2;letter-spacing:-0.02em;margin-bottom:1rem}.footer-brand p{color:var(--white-60);font-family:var(--font-ui);font-size:.9rem;line-height:1.7;max-width:300px}.footer-credits{font-family:var(--font-ui);font-size:.75rem;color:var(--white-60);flex:1;display:flex;align-items:flex-end}.footer-credits a{color:var(--white-50);text-decoration:underline;text-decoration-color:var(--white-20);text-underline-offset:2px}.footer-credits a:hover{color:var(--white-80)}.footer-col .heading{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;margin:1.5rem 0 .5rem 0;color:var(--white-50)}.footer-col .heading:first-child{margin-top:0}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:.3rem}.footer-col a{color:var(--white-80);text-decoration:none;font-family:var(--font-ui);font-size:.9rem;transition:color var(--transition-fast)}.footer-col a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--warm-gray)}.footer-bottom{border-top:1px solid var(--white-10);padding-top:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.85rem;color:var(--white-50)}.footer-social{display:flex;gap:1rem}.footer-social a{color:#fff;opacity:.6;transition:opacity var(--transition-fast);text-decoration:none}.footer-social a:hover{opacity:1}.footer-social svg{height:30px}@media(max-width: 1024px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width: 768px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}.menu-open{overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.hide-mobile{display:block}.show-mobile{display:none}@media(max-width: 1024px){.hide-mobile{display:none !important}.show-mobile{display:block}}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight,.highlight .w{color:#24292f;background-color:#f6f8fa}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt,.highlight .kv{color:#cf222e}.highlight .gr{color:#f6f8fa}.highlight .gd{color:#82071e;background-color:#ffebe9}.highlight .nb{color:#953800}.highlight .nc{color:#953800}.highlight .no{color:#953800}.highlight .nn{color:#953800}.highlight .sr{color:#116329}.highlight .na{color:#116329}.highlight .nt{color:#116329}.highlight .gi{color:#116329;background-color:#dafbe1}.highlight .ges{font-weight:bold;font-style:italic}.highlight .kc{color:#0550ae}.highlight .l,.highlight .ld,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mx{color:#0550ae}.highlight .sb{color:#0550ae}.highlight .bp{color:#0550ae}.highlight .ne{color:#0550ae}.highlight .nl{color:#0550ae}.highlight .py{color:#0550ae}.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi,.highlight .vm{color:#0550ae}.highlight .o,.highlight .ow{color:#0550ae}.highlight .gh{color:#0550ae;font-weight:bold}.highlight .gu{color:#0550ae;font-weight:bold}.highlight .s,.highlight .sa,.highlight .sc,.highlight .dl,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .sx,.highlight .s1,.highlight .ss{color:#0a3069}.highlight .nd{color:#8250df}.highlight .nf,.highlight .fm{color:#8250df}.highlight .err{color:#f6f8fa;background-color:#82071e}.highlight .c,.highlight .ch,.highlight .cd,.highlight .cm,.highlight .cp,.highlight .cpf,.highlight .c1,.highlight .cs{color:#6e7781}.highlight .gl{color:#6e7781}.highlight .gt{color:#6e7781}.highlight .ni{color:#24292f}.highlight .si{color:#24292f}.highlight .ge{color:#24292f;font-style:italic}.highlight .gs{color:#24292f;font-weight:bold}.highlight{background:#fff;border-radius:var(--radius-md);margin-bottom:1.5rem;overflow-x:auto}.highlight pre{margin:0;padding:1.25rem 1.5rem;font-size:.85rem;line-height:1.6;border:1px solid var(--light-gray)}.highlight code{font-family:var(--font-mono);font-size:inherit;white-space:pre-wrap}code:not(.highlight code){background:#fff;border:1px solid var(--light-gray);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.85em;font-family:var(--font-mono)}.bg-plum .highlight pre,.bg-charcoal .highlight pre,.bg-plum code:not(.highlight code),.bg-charcoal code:not(.highlight code){border-color:var(--warm-gray);background:var(--charcoal)}/*# sourceMappingURL=main.css.map */