/* Generated; edit components.source.css. */
/* Reusable Nightlab marketing components. Values come from tokens.json. */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--nl-font-family);color:var(--nl-color-ink);background:var(--nl-color-surface);line-height:var(--nl-line-body);font-size:100%;scroll-behavior:smooth}
body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%;vertical-align:middle}a{color:var(--nl-color-brand);text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--nl-color-focus);outline-offset:4px}
button:disabled{cursor:not-allowed;opacity:.5}
[hidden]{display:none!important}
.nl-container{width:min(var(--nl-size-container),calc(100% - var(--nl-space-8)));margin-inline:auto}
.nl-measure{max-width:var(--nl-size-measure)}
.nl-small{font-size:var(--nl-size-sm)}.nl-muted{color:var(--nl-color-muted)}
.nl-stack>*+*{margin-top:var(--nl-space-4)}
.nl-heading{font-family:var(--nl-font-heading-family);font-weight:var(--nl-font-semibold);line-height:var(--nl-line-heading);letter-spacing:var(--nl-tracking-heading);text-wrap:balance;margin:0}
.nl-h1{font-size:clamp(var(--nl-size-hero-min),6vw,var(--nl-size-h1))}
.nl-h2{font-size:clamp(var(--nl-size-h3),4vw,var(--nl-size-h2))}
.nl-h3{font-size:var(--nl-size-h3)}
.nl-lead{font-size:var(--nl-size-lead);line-height:1.5}
.nl-brand{display:inline-flex;align-items:center;gap:var(--nl-space-3);color:var(--nl-color-brand);text-decoration:none;flex-shrink:0;min-height:var(--nl-size-target)}
.nl-brand-icon{width:var(--nl-size-logo);height:var(--nl-size-logo);flex:none}
.nl-brand-name{width:8rem;height:2rem;overflow:visible}
.nl-brand--reverse{color:var(--nl-color-on-brand)}
.nl-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--nl-space-3);min-height:var(--nl-size-target);padding:var(--nl-space-3) var(--nl-space-5);border:1px solid transparent;border-radius:var(--nl-radius-control);background:var(--nl-color-brand);color:var(--nl-color-on-brand);font-weight:var(--nl-font-medium);line-height:1.3;text-decoration:none;cursor:pointer;transition:background-color var(--nl-motion-quick)}
.nl-button:hover{background:var(--nl-color-brand-hover);text-decoration:none}
.nl-button--accent{background:var(--nl-color-accent);color:var(--nl-color-on-accent)}
.nl-button--accent:hover{background:var(--nl-color-accent-hover)}
.nl-button--secondary{color:var(--nl-color-brand);background:transparent;border-color:var(--nl-color-brand)}
.nl-button--secondary:hover{background:var(--nl-color-soft)}
.nl-button--text{padding-inline:var(--nl-space-2);background:transparent;color:var(--nl-color-brand);text-decoration:underline;text-underline-offset:.3em}
.nl-button--text:hover{background:var(--nl-color-soft);text-decoration:underline}
.nl-header{background:var(--nl-color-surface);border-bottom:1px solid var(--nl-color-line)}
.nl-header-inner{min-height:var(--nl-size-header);display:flex;align-items:center;justify-content:space-between;gap:var(--nl-space-5);position:relative}
.nl-navigation{display:flex;align-items:center;gap:var(--nl-space-6)}
.nl-navigation>a:not(.nl-button){color:var(--nl-color-ink);text-decoration:none;font-size:var(--nl-size-sm);padding-block:var(--nl-space-3)}
.nl-navigation>a:hover{text-decoration:underline}
.nl-menu-toggle{display:none}
.nl-hero{padding-block:var(--nl-space-9)}
.nl-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:var(--nl-space-8);align-items:end}
.nl-hero-copy .nl-lead{max-width:34rem;margin-block:var(--nl-space-5) var(--nl-space-6)}
.nl-actions{display:flex;align-items:center;gap:var(--nl-space-5);flex-wrap:wrap}
.nl-note{font-size:var(--nl-size-sm);color:var(--nl-color-muted);margin-top:var(--nl-space-5)}
.nl-statement{background:var(--nl-color-brand);color:var(--nl-color-on-brand);padding:var(--nl-space-6);border-radius:var(--nl-radius-panel)}
.nl-statement .nl-brand-icon{width:3rem;height:3rem;color:var(--nl-color-on-brand)}
.nl-statement>p{font-size:var(--nl-size-h3);line-height:1.3;letter-spacing:-.025em;margin:var(--nl-space-6) 0 var(--nl-space-5)}
.nl-statement>span{display:block;font-size:var(--nl-size-sm)}
.nl-services{padding-block:var(--nl-space-7);border-top:1px solid var(--nl-color-line)}
.nl-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;gap:var(--nl-space-6);padding-block:var(--nl-space-5);align-items:center;border-bottom:1px solid var(--nl-color-line)}
.nl-service :is(h2,h3){font-family:var(--nl-font-heading-family);font-size:var(--nl-size-lead);font-weight:var(--nl-font-medium);letter-spacing:-.02em;margin:0}
.nl-service p{margin:0;color:var(--nl-color-muted);font-size:var(--nl-size-sm)}
.nl-service a{white-space:nowrap;font-size:var(--nl-size-sm);min-height:var(--nl-size-target);display:flex;align-items:center}
.nl-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--nl-space-7);padding:var(--nl-space-7);background:var(--nl-color-soft);border-radius:var(--nl-radius-panel)}
.nl-story h3{margin:0 0 var(--nl-space-4)}
.nl-story dl{margin:0}.nl-story dt{font-weight:var(--nl-font-semibold)}.nl-story dd{margin:0 0 var(--nl-space-5)}
.nl-field{display:grid;gap:var(--nl-space-2);margin-bottom:var(--nl-space-5);min-width:0}
.nl-field label,.nl-field legend{font-weight:var(--nl-font-medium);font-size:var(--nl-size-sm)}
.nl-input{width:100%;min-height:var(--nl-size-target);padding:var(--nl-space-3);border:1px solid var(--nl-color-muted);border-radius:var(--nl-radius-control);background:var(--nl-color-surface);color:var(--nl-color-ink)}
textarea.nl-input{resize:vertical;min-height:8rem}
.nl-input:disabled{background:var(--nl-color-soft);color:var(--nl-color-muted);cursor:not-allowed}
.nl-input[aria-invalid=true]{border:2px solid var(--nl-color-danger)}
.nl-help{font-size:var(--nl-size-sm);color:var(--nl-color-muted);margin:0}
.nl-error{font-size:var(--nl-size-sm);color:var(--nl-color-danger);margin:0}
.nl-message{padding:var(--nl-space-4);border-left:3px solid var(--nl-color-brand);background:var(--nl-color-soft);font-size:var(--nl-size-sm)}
.nl-message--error{color:var(--nl-color-danger);background:var(--nl-color-danger-soft);border-color:var(--nl-color-danger)}
.nl-message--success{color:var(--nl-color-success);background:var(--nl-color-success-soft);border-color:var(--nl-color-success)}
.nl-details{border-bottom:1px solid var(--nl-color-line);padding-block:var(--nl-space-4)}
.nl-details summary{cursor:pointer;font-weight:var(--nl-font-medium);min-height:var(--nl-size-target);padding:var(--nl-space-2) var(--nl-space-5) var(--nl-space-2) 0}
.nl-details p{color:var(--nl-color-muted);max-width:var(--nl-size-measure);margin-bottom:var(--nl-space-5)}
.nl-footer{background:var(--nl-color-brand);color:var(--nl-color-on-brand);padding-block:var(--nl-space-7)}
.nl-footer-inner{display:flex;align-items:start;justify-content:space-between;gap:var(--nl-space-7)}
.nl-footer a{color:var(--nl-color-on-brand)}.nl-footer p{font-size:var(--nl-size-sm);max-width:26rem}
.nl-footer :focus-visible{outline-color:var(--nl-color-accent)}
.nl-footer-links{display:flex;flex-direction:column;gap:var(--nl-space-3)}
.nl-skip{position:fixed;z-index:30;left:var(--nl-space-4);top:var(--nl-space-4);transform:translateY(-200%);background:var(--nl-color-accent);color:var(--nl-color-ink);padding:var(--nl-space-3)}
.nl-skip:focus{transform:translateY(0)}
@media(max-width:48rem){
 .nl-container{width:calc(100% - var(--nl-space-6))}
 .nl-header-inner{flex-wrap:wrap;padding-block:var(--nl-space-3);gap:var(--nl-space-4)}
 .nl-header .nl-brand{gap:var(--nl-space-2)}
 .nl-header .nl-brand-icon{width:2rem;height:2rem}
 .nl-header .nl-brand-name{width:6rem;height:1.75rem}
 .nl-menu-toggle{display:inline-flex;font-size:var(--nl-size-sm);padding-inline:var(--nl-space-3)}
 .nl-navigation{width:100%;flex-direction:column;align-items:stretch;gap:var(--nl-space-2);padding-bottom:var(--nl-space-4)}
 .nl-navigation[data-open=false]{display:none}
 .nl-navigation>a:not(.nl-button){font-size:var(--nl-size-body);min-height:var(--nl-size-target)}
 .nl-hero{padding-block:var(--nl-space-7)}
 .nl-hero-grid{grid-template-columns:1fr;gap:var(--nl-space-7)}
 .nl-hero-copy .nl-lead{font-size:var(--nl-size-body)}
 .nl-statement{padding:var(--nl-space-5)}
 .nl-service{grid-template-columns:1fr;gap:var(--nl-space-2)}
 .nl-service a{justify-self:start}
 .nl-story{grid-template-columns:1fr;padding:var(--nl-space-5);gap:var(--nl-space-4)}
 .nl-footer-inner{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.nl-working-note{color:var(--nl-color-notes);background:var(--nl-color-notes-surface);padding:var(--nl-space-5);border-left:3px solid var(--nl-color-notes)}
