/* Mart's footer (Footer.psd, 2026-09-30), shared by every page; map3d hides it (map.css).
   PSD at 1440: content 116 to 1324, logo 276 x 74 at the top left, link columns from x116, forms
   from x847, background #021321 and his solid navy X (#021B2C) behind the right half.
   Column 3's heading (THE USEFUL STUFF) was 284px wide in the PSD's display face (213px in Saira, the web
   face since 2026-10-07; the columns were kept), so the columns start at 116 / 316 / 516 instead of
   the PSD's 116 / 354 / 590 (its placeholder heading was 147px).
   Column 3 never gets narrower than its 331px at 1440, so the heading keeps the same gap before
   the forms (47px in the PSD's face, 118px in Saira) at every four-column width; columns 1 and 2
   give up the space instead. */
.uf-site .uf-footer{position:relative;overflow:hidden;container-type:inline-size;margin:0;padding:32px 0 84px;border:0;background:#021321;color:#fffdfc;font:400 18px/1.2 var(--uf-body);letter-spacing:.02em}

/* The X: 847.67 x 790 at 1440 with its left edge at x688.33, 96px past the right edge and its
   bottom on the footer's bottom edge, and it always runs out through the top edge on desktop.
   Up to 1440 its left edge follows the content column (47.4% of it). Above 1440 it keeps Mart's
   size and stays 96px past the right edge, so it is always cropped there as in his PSD; the second
   max() term is that edge position (the X is .7017 x the content width wide). The two terms meet
   at exactly 1440. On tablets and phones it is a large watermark behind the lower part. Purely
   decorative (a CSS layer, so screen readers skip it), never above the text. */
.uf-site .uf-footer::before{--uf-fx-shell:min(var(--uf-width),100cqw - var(--uf-gutter)*2);content:"";position:absolute;z-index:0;bottom:0;left:47.8%;height:105.05%;left:max(50cqw - var(--uf-fx-shell)/2 + var(--uf-fx-shell)*.4738,100cqw + 96px - var(--uf-fx-shell)*.7017);height:max(105.05%,var(--uf-fx-shell)*.654);aspect-ratio:847.67/790;background:url('mart/x-footer.svg') 0 0/100% 100% no-repeat;pointer-events:none}
.uf-site .uf-footer-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,200fr) minmax(0,200fr) minmax(331px,331fr) minmax(0,477fr);grid-template-areas:"logo logo logo ." "nav nav nav forms" "legal legal legal forms";grid-template-rows:auto auto 1fr}

.uf-site .uf-footer-logo{grid-area:logo;display:block;width:276px;max-width:100%;margin:0 0 50px;line-height:0}
.uf-site .uf-footer-logo img{display:block;width:100%;height:auto}

/* Link columns: orange display-face headings, white Helvetica links on one 36px pitch. */
.uf-site .uf-footer-grid{grid-area:nav;display:grid;grid-template-columns:subgrid;align-items:start;min-width:0;margin-top:3px}
.uf-site .uf-footer-col{min-width:0;padding-right:24px}
.uf-site .uf-footer h2{margin:0;font:400 20px/24px var(--uf-display);letter-spacing:0;text-transform:uppercase;overflow-wrap:normal}
.uf-site .uf-footer-col h2{color:#ff7d01;margin-bottom:16px}
.uf-site .uf-footer ul{display:block;margin:0;padding:0;list-style:none}
.uf-site .uf-footer li{margin:0;padding:0}
/* UF-19 (2026-10-03 audit): 22px line height + 12px top/bottom clears the 44px tap target with a
   safety margin (11px lands a fraction of a px under 44 in some engines' line-height rounding). */
/* UF-19 (2026-10-03 audit): a short label ("Map", "FAQ" on the microsite footer) still needs 44px of
   width; horizontal padding + a matching negative margin keeps every other (wider) label's visible
   position and column alignment exactly as before. */
.uf-site .uf-footer-col a{display:block;width:fit-content;max-width:100%;padding:12px 4px;margin-inline:-4px;font:400 18px/22px var(--uf-body);letter-spacing:.02em}
.uf-site .uf-footer a{color:#fffdfc;text-decoration:none;transition:color 200ms ease}
/* Page stylesheets carry Rick's `footer a:hover` orange; keep it to fine pointers (below). */
.uf-site .uf-footer a:hover{color:#fffdfc}

/* Right block: two preview-only forms and the note, as the PSD. */
.uf-site .uf-footer-signup{grid-area:forms;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;min-width:0}
.uf-site .uf-footer-form{margin:0;min-width:0}
.uf-site .uf-footer-form h2{color:#fffdfc;letter-spacing:.02em;margin-bottom:21px}
.uf-site .uf-footer-newsletter{margin-bottom:47px}
.uf-site .uf-footer-form input{display:block;width:100%;min-width:0;height:62px;margin:0;padding:0 20px;border:0;border-radius:0;background:#eceeed;color:#021321;font:400 18px/1.2 var(--uf-body);letter-spacing:.02em;box-shadow:none;transition:outline-color 200ms ease}
.uf-site .uf-footer-form input::placeholder{color:#56646d;opacity:1}
.uf-site .uf-footer-field{position:relative}
.uf-site .uf-footer-heard{margin-top:12px}
.uf-site .uf-footer-heard label{display:block;margin:0 0 6px;font:400 14px/1.3 var(--uf-body);letter-spacing:.02em;color:#fffdfc}
.uf-site .uf-footer-heard label span{margin-left:6px;color:#ffffffb3;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.uf-site .uf-footer-heard select{display:block;width:100%;min-width:0;height:46px;margin:0;padding:0 16px;border:0;border-radius:0;background-color:#eceeed;color:#021321;font:400 16px/1.2 var(--uf-body);letter-spacing:.02em}
.uf-site .uf-footer-heard select:focus-visible{outline:2px solid #ff7d01;outline-offset:3px}
.uf-site .uf-footer-field input{padding-right:68px}
.uf-site .uf-footer-go{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:0;background-color:transparent;color:#021321;cursor:pointer;transition:background-color 200ms ease,color 200ms ease,transform 160ms ease-out}
/* the shared right arrow, as on every other button (Saqib, 2026-10-13: one arrow everywhere) */
.uf-site .uf-footer-go svg{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform 200ms ease}
.uf-site .uf-footer-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
/* UF-18 (2026-10-03 audit): font, case, radius, the wipe-fill and focus/active motion are the shared
   button system now (theme.css); height stays 62px to match the paired input exactly (Footer.psd), and
   the text/wipe colors stay the footer's own navy/white, not the generic tokens. */
.uf-site .uf-footer-request{height:62px;min-width:0;padding:0 12px;background-color:#ff7d01;color:#021321}
.uf-site .uf-footer-request::before{background:#fffdfc}
.uf-site .uf-footer [data-form-status]{margin:10px 0 0;font:400 14px/1.4 var(--uf-body);letter-spacing:.02em;color:#fffdfc}
.uf-site .uf-footer [data-form-status]:empty{margin:0}
.uf-site .uf-footer-note{max-width:463px;margin:47px 0 0;font:400 18px/1.2 var(--uf-body);letter-spacing:.02em;color:#fffdfc}

/* Copyright and the required legal links (texting terms are A2P compliance) in one small row. */
.uf-site .uf-footer-bottom{grid-area:legal;align-self:end;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 26px;margin:40px 0 0;padding:0 24px 0 0;border:0;font:400 14px/1.4 var(--uf-body);letter-spacing:.02em;color:#fffdfc}
.uf-site .uf-footer-bottom p{margin:0;font:inherit}
.uf-site .uf-footer-bottom nav{display:flex;flex-wrap:wrap;gap:6px 20px}
/* UF-19 (2026-10-03 audit): invisible padding expands the tap target to 44px without changing the
   14px row's visible size or spacing (Mart's Footer.psd spec stays exact). */
.uf-site .uf-footer-bottom nav a{display:inline-block;padding:13px 4px;margin:-13px -4px}

/* Hover only where a fine pointer can hover; keyboard focus always shows a ring. */
@media (hover:hover) and (pointer:fine){
  .uf-site .uf-footer a:hover{color:#ff7d01}
  .uf-site .uf-footer-go:hover{background-color:#021321;color:#fffdfc}
  .uf-site .uf-footer-go:hover svg{transform:translateX(2px)}
}
.uf-site .uf-footer a:focus-visible{outline:2px solid #ff7d01;outline-offset:4px;color:#ff7d01}
.uf-site .uf-footer-form input:focus-visible{outline:2px solid #ff7d01;outline-offset:3px}
.uf-site .uf-footer-go:focus-visible{outline:2px solid #021321;outline-offset:-2px}
.uf-site .uf-footer-request:focus-visible{outline:2px solid #fffdfc;outline-offset:3px}
.uf-site .uf-footer-go:active{transform:scale(.98)}
@media (prefers-reduced-motion:reduce){
  .uf-site .uf-footer :is(a,input,button,svg){transition:none}
  .uf-site .uf-footer-go:active,.uf-site .uf-footer-go:hover svg{transform:none}
}

/* Tablet: the three link columns in one row, the forms full width below them. */
@media (max-width:1099px){
  .uf-site .uf-footer{padding:40px 0 64px}
  .uf-site .uf-footer::before{left:40%;width:78%;height:auto}
  .uf-site .uf-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(312px,1.5fr);grid-template-areas:"logo logo logo" "nav nav nav" "forms forms forms" "legal legal legal";grid-template-rows:auto}
  .uf-site .uf-footer-logo{margin-bottom:44px}
  .uf-site .uf-footer-signup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;margin-top:52px}
  .uf-site .uf-footer-newsletter{margin-bottom:0}
  .uf-site .uf-footer-note{grid-column:1/-1;margin-top:40px}
  .uf-site .uf-footer-bottom{margin-top:44px;padding-right:0}
}
@media (max-width:899px){
  .uf-site .uf-footer-signup{grid-template-columns:minmax(0,1fr)}
  .uf-site .uf-footer-newsletter{margin-bottom:44px}
}
/* Phone: STATES and TYPES side by side, the third column below, forms full width, copyright last. */
@media (max-width:699px){
  .uf-site .uf-footer{padding:36px 0 48px}
  .uf-site .uf-footer::before{left:12%;width:125%}
  .uf-site .uf-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"logo logo" "nav nav" "forms forms" "legal legal"}
  .uf-site .uf-footer-logo{width:220px;margin-bottom:36px}
  .uf-site .uf-footer-grid{row-gap:36px;margin-top:0}
  .uf-site .uf-footer-col{padding-right:12px}
  .uf-site .uf-footer-col:nth-child(3){grid-column:1/-1;padding-right:0}
  .uf-site .uf-footer-col h2{margin-bottom:12px}
  .uf-site .uf-footer-signup{margin-top:44px}
  .uf-site .uf-footer-note{margin-top:36px}
  .uf-site .uf-footer-bottom{margin-top:36px}
}
@media (max-width:479px){
  .uf-site .uf-footer-pair{grid-template-columns:minmax(0,1fr);gap:12px}
  /* The investor form stacks the optional question, then email, then the button (question first since Rick Loom
     2026-10-13, R40), so the question never reads as part of the button. */
  .uf-site .uf-footer-invest{display:flex;flex-direction:column}
  .uf-site .uf-footer-invest .uf-footer-pair{display:contents}
  .uf-site .uf-footer-invest .uf-footer-heard{order:1;margin:0 0 12px}
  .uf-site .uf-footer-invest input{order:2}
  .uf-site .uf-footer-invest .uf-footer-request{order:3;margin-top:12px}
  .uf-site .uf-footer-invest [data-form-status]{order:4}
}
/* The smallest phones keep every heading on one line and every state name unbroken. */
@media (max-width:359px){
  .uf-site .uf-footer h2{font-size:17px;line-height:21px}
  .uf-site .uf-footer-col a{font-size:16px}
}

/* Rick Loom 2026-10-13 20:39 to 21:13 (R36): "something tells me that we want to see all caps... the kerning...
   feels more on brand." The link lists under STATES, TYPES and THE USEFUL STUFF are set in capitals with modest
   tracking, same face for now (the brand display face Rick is buying will replace it). Capitals run about a third wider than the old 18px mixed case,
   so they step down to keep every name on one line where it fitted before (MASSACHUSETTS in a 140px phone column);
   the 22px line and 12px padding, so the 46px tap target, are unchanged.
   The park microsites' footer (.ufm-footer, with addresses, phone numbers and email in its links) is left as it was. */
.uf-site .uf-footer:not(.ufm-footer) .uf-footer-col a{text-transform:uppercase;letter-spacing:.06em;font-size:15px}
@media (max-width:1099px){.uf-site .uf-footer:not(.ufm-footer) .uf-footer-col a{font-size:14px}}
@media (max-width:359px){.uf-site .uf-footer:not(.ufm-footer) .uf-footer-col a{font-size:13px;letter-spacing:.04em}}

/* Rick Loom 2026-10-13 22:18 to 23:08 (R40, R41): "flip the order and put this on top", then "clean up the padding on
   the arrow and get it closer, or at least sit under directly this arrow explicitly". The optional question now sits
   above the email in both forms (scripts/build.py), and the select draws the one shared arrow (M4 12h16m-6-6 6 6-6 6,
   20px, 1.6 round stroke) turned to point down, its centre 31px in from the right edge: the same line as the centre
   of the email field's submit arrow (a 44px button 9px in from the field's right edge). */
.uf-site .uf-footer-heard{margin:0 0 12px}
.uf-site .uf-footer-heard select{-webkit-appearance:none;appearance:none;padding-right:52px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23021321' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6' transform='rotate(90 12 12)'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:20px 20px;background-position:right 21px center}
