:root{--ta-bg:#000;--ta-ink:#fff;--ta-ink-2:#B9BCBF;--ta-ink-3:#7A7E82;--ta-rule:#232527;--ta-rule-2:#2A2C2E;--ta-field:#0B0C0D;--ta-red:#DB4A3D;--ta-amber:#E9A93C;--ta-sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;--ta-mono:'Overpass Mono',ui-monospace,'SFMono-Regular',monospace;--ta-gutter:clamp(1.25rem,5vw,4.5rem)}

/* Base for pages other than the home story (which carries its own base styles). */
body.ta-page{margin:0;background:var(--ta-bg);color:var(--ta-ink);font-family:var(--ta-sans);font-weight:400;font-size:1.0625rem;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
body.ta-page *,body.ta-page *::before,body.ta-page *::after{box-sizing:border-box}
/* :where() keeps this at element specificity so component colours (.ta-btn, .ta-nav a, .ta-footer a, .ta-skip) win. */
:where(body.ta-page) a{color:inherit}
body.ta-page :focus-visible{outline:2px solid var(--ta-ink);outline-offset:3px}
.ta-main{flex:1 0 auto}

.ta-wrap{max-width:84rem;margin:0 auto;padding-inline:var(--ta-gutter)}
.ta-skip{position:absolute;left:var(--ta-gutter);top:-4rem;z-index:100;background:var(--ta-ink);color:var(--ta-bg);padding:.6rem 1rem;font-family:var(--ta-sans);font-size:.9rem;font-weight:600;text-decoration:none}
.ta-skip:focus{top:1rem}

/* Header and navigation */
.ta-header{position:relative;z-index:60;padding-block:1.5rem;font-family:var(--ta-sans)}
.ta-header__row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.ta-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ta-ink)}
.ta-brand img{height:26px;width:auto;flex:none;display:block}
.ta-brand span{font-weight:700;font-size:.9rem;letter-spacing:.16em;line-height:1;color:var(--ta-ink)}
@media (max-width:26rem){.ta-header__row{gap:.5rem}.ta-brand{gap:.6rem}.ta-brand span{font-size:.78rem;letter-spacing:.12em}.ta-menu-btn{padding:.55rem .6rem;gap:.45rem;letter-spacing:.12em}}
/* Very narrow phones: the button keeps its icon; the label stays for screen readers. */
@media (max-width:22rem){.ta-menu-btn{min-width:2.75rem;justify-content:center}.ta-menu-btn__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}}
.ta-brand span{white-space:nowrap}
.ta-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2.2rem}
.ta-nav a{display:inline-block;text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ta-ink-2);padding-block:.35rem;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.ta-nav a:hover{color:var(--ta-ink)}
.ta-nav a[aria-current="page"]{color:var(--ta-ink);border-bottom-color:var(--ta-ink)}
.ta-nav a.ta-nav__cta{color:var(--ta-ink);border:1px solid var(--ta-rule-2);padding:.55rem .95rem}
.ta-nav a.ta-nav__cta:hover,.ta-nav a.ta-nav__cta[aria-current="page"]{border-color:var(--ta-ink)}
.ta-menu-btn{display:none;position:relative;z-index:2;align-items:center;gap:.65rem;background:none;border:1px solid var(--ta-rule-2);color:var(--ta-ink);font:500 .74rem/1 var(--ta-sans);letter-spacing:.16em;text-transform:uppercase;padding:.6rem .85rem;cursor:pointer;min-height:2.75rem}
.ta-menu-btn__icon{position:relative;width:16px;height:10px;display:inline-block}
.ta-menu-btn__icon::before,.ta-menu-btn__icon::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:currentColor;transition:transform .25s ease,top .25s ease}
.ta-menu-btn__icon::before{top:1px}
.ta-menu-btn__icon::after{top:7.5px}
.ta-header.is-open .ta-menu-btn__icon::before{top:4.25px;transform:rotate(45deg)}
.ta-header.is-open .ta-menu-btn__icon::after{top:4.25px;transform:rotate(-45deg)}

@media (max-width:48rem){
  .ta-menu-btn{display:inline-flex}
  .ta-brand{min-height:2.75rem}
  .ta-nav{position:fixed;inset:0;z-index:1;background:var(--ta-bg);padding:6.5rem var(--ta-gutter) 2rem;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility 0s linear .25s}
  .ta-header.is-open .ta-nav{visibility:visible;opacity:1;transition:opacity .25s ease}
  .ta-nav ul{flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--ta-rule)}
  .ta-nav li{border-bottom:1px solid var(--ta-rule)}
  .ta-nav a,.ta-nav a.ta-nav__cta{display:flex;justify-content:space-between;align-items:center;border:0;padding:1.15rem 0;font-size:1.5rem;font-weight:500;letter-spacing:-.01em;text-transform:none;color:var(--ta-ink)}
  .ta-nav a::after{content:"→";font-family:var(--ta-mono);font-size:1rem;color:var(--ta-ink-3)}
  .ta-nav a[aria-current="page"]{border:0}
  .ta-nav a[aria-current="page"]::after{content:"●";font-size:.6rem;color:var(--ta-ink)}
  html.ta-menu-open,html.ta-menu-open body{overflow:hidden}
}

/* Footer */
.ta-footer{position:relative;z-index:6;background:var(--ta-bg);border-top:1px solid var(--ta-rule);font-family:var(--ta-sans);color:var(--ta-ink-3);font-size:.86rem;font-weight:300;line-height:1.6}
.ta-footer__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.3fr);gap:2.5rem;padding-block:clamp(2.75rem,6vw,4.5rem) 2.5rem}
.ta-footer__brand p{margin:1.1rem 0 0;max-width:30ch;color:var(--ta-ink-2)}
.ta-footer__h{margin:0 0 .9rem;font-family:var(--ta-mono);font-size:.68rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ta-ink-3)}
.ta-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.ta-footer a{color:var(--ta-ink-2);text-decoration:none;border-bottom:1px solid transparent;overflow-wrap:anywhere}
.ta-footer a:hover{color:var(--ta-ink);border-bottom-color:var(--ta-ink-3)}
.ta-footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem 2.25rem;padding-block:1.5rem 1.8rem;border-top:1px solid var(--ta-rule);font-size:.78rem}
@media (max-width:48rem){.ta-footer__grid{grid-template-columns:auto minmax(0,1fr);column-gap:3rem}.ta-footer__brand{grid-column:1/-1}.ta-footer__h{margin-bottom:.25rem}.ta-footer ul{gap:0}.ta-footer li{display:flex;align-items:center;min-height:2.75rem}.ta-footer li>a{display:inline-flex;align-items:center;min-height:2.75rem}}

/* Shared page primitives */
.pg-head{padding-block:clamp(2.5rem,9vh,6rem) clamp(2.5rem,7vh,4.5rem)}
.pg-label{font-family:var(--ta-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ta-ink-3);margin:0 0 1.4rem}
.pg-head h1{font-weight:600;font-size:clamp(2rem,5.4vw,4.2rem);line-height:1.04;letter-spacing:-.03em;margin:0;max-width:18ch;text-wrap:balance}
.pg-lede{margin:1.7rem 0 0;max-width:44ch;color:var(--ta-ink-2);font-weight:300;font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.62}
.pg-section{border-top:1px solid var(--ta-rule);padding-block:clamp(2.75rem,7vw,5.5rem)}
.pg-section__grid{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:1.5rem 3rem}
.pg-section h2{font-weight:600;font-size:clamp(1.3rem,2.3vw,1.72rem);line-height:1.18;letter-spacing:-.018em;margin:0 0 1.25rem;max-width:24ch;text-wrap:balance}
.pg-prose{max-width:38rem}
.pg-prose p{margin:0 0 1.15em;color:var(--ta-ink-2);font-weight:300}
.pg-prose p:last-child{margin-bottom:0}
.pg-prose strong{color:var(--ta-ink);font-weight:500}
.pg-big{color:var(--ta-ink)!important;font-weight:400!important;font-size:1.2rem;line-height:1.5;letter-spacing:-.01em}
@media (max-width:60rem){.pg-section__grid{grid-template-columns:1fr}}

.ta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:3rem;padding:.8rem 1.4rem;border:1px solid var(--ta-ink);background:var(--ta-ink);color:var(--ta-bg);font:600 .82rem/1 var(--ta-sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease}
.ta-btn:hover{background:transparent;color:var(--ta-ink)}
.ta-btn--ghost{background:transparent;color:var(--ta-ink);border-color:var(--ta-rule-2)}
.ta-btn--ghost:hover{border-color:var(--ta-ink)}
.ta-btn[disabled]{opacity:.55;cursor:progress}
.ta-arrow{position:relative;display:inline-flex;gap:.55rem;align-items:center;font-family:var(--ta-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ta-ink);text-decoration:none;border-bottom:1px solid var(--ta-rule-2);padding-bottom:.25rem}
.ta-arrow::after{content:"→"}
.ta-arrow::before{content:"";position:absolute;left:0;right:0;top:50%;height:2.75rem;transform:translateY(-50%)}
.ta-arrow:hover{border-bottom-color:var(--ta-ink)}

/* Interest form */
.ta-form{display:grid;gap:1.35rem;max-width:40rem}
.ta-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem}
@media (max-width:40rem){.ta-form__row{grid-template-columns:1fr}}
.ta-field{display:grid;gap:.5rem}
.ta-field label,.ta-field legend{font-family:var(--ta-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ta-ink-2);padding:0}
.ta-field .ta-opt{color:var(--ta-ink-3);letter-spacing:.1em}
.ta-field input,.ta-field select,.ta-field textarea{width:100%;background:var(--ta-field);border:1px solid var(--ta-rule-2);border-radius:0;color:var(--ta-ink);font:400 1rem/1.5 var(--ta-sans);padding:.8rem .9rem;min-height:3rem;transition:border-color .2s ease}
.ta-field textarea{min-height:9rem;resize:vertical}
.ta-field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ta-ink-2) 50%),linear-gradient(135deg,var(--ta-ink-2) 50%,transparent 50%);background-position:calc(100% - 1.2rem) 50%,calc(100% - .85rem) 50%;background-size:.35rem .35rem;background-repeat:no-repeat;padding-right:2.5rem}
.ta-field input:hover,.ta-field select:hover,.ta-field textarea:hover{border-color:#44484C}
.ta-field input:focus,.ta-field select:focus,.ta-field textarea:focus{outline:none;border-color:var(--ta-ink)}
.ta-field [aria-invalid="true"]{border-color:var(--ta-ink)}
.ta-field__error{margin:0;color:var(--ta-ink);font-size:.86rem;line-height:1.4}
.ta-field__error::before{content:"! ";content:"! " / "";font-family:var(--ta-mono);font-weight:600}
.ta-field__hint{margin:0;color:var(--ta-ink-3);font-size:.84rem;line-height:1.45}
.ta-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ta-form__note{margin:0;color:var(--ta-ink-3);font-size:.84rem;line-height:1.5;max-width:44ch}
.ta-form__summary{border:1px solid var(--ta-ink);padding:.9rem 1rem;color:var(--ta-ink);font-size:.95rem}
.ta-form__summary:focus{outline:none}
.ta-form__done{max-width:40rem;border:1px solid var(--ta-rule-2);padding:clamp(1.4rem,4vw,2.2rem)}
.ta-form__done:focus{outline:none}
.ta-form__done .ta-readout{font-family:var(--ta-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ta-ink-3);margin:0 0 .6rem}
.ta-form__done h2,.ta-form__done h3{margin:0 0 .8rem;font-weight:600;font-size:1.45rem;letter-spacing:-.015em}
.ta-form__done p{margin:0 0 .8rem;color:var(--ta-ink-2);font-weight:300}
.ta-form__done p:last-child{margin-bottom:0}
.ta-form__done.is-error{border-color:var(--ta-ink)}
[hidden]{display:none!important}

@media (prefers-reduced-motion:reduce){.ta-nav,.ta-menu-btn__icon::before,.ta-menu-btn__icon::after,.ta-btn,.ta-field input,.ta-field select,.ta-field textarea{transition:none!important}}
