/* Availability follows the typography and dividing rules of the page. */
.project-availability-wrap{margin-top:24px}
.project-availability{display:inline-flex;align-items:center;gap:12px;max-width:100%;font-family:var(--fm);font-size:11px;letter-spacing:.05em;line-height:1.5;color:var(--muted);text-decoration:none}
.project-availability:hover{color:var(--text)}
.project-availability:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.project-availability-dot{width:22px;height:1px;flex:0 0 22px;background:var(--muted)}
.project-availability[data-project-availability-state="available"] .project-availability-dot{background:var(--accent)}
.project-availability--ledger{display:grid;gap:0;padding:22px 0 0;border-top:1px solid var(--line-2);font-size:11px;align-self:end}
.availability-caption{display:flex;justify-content:space-between;gap:12px;text-transform:uppercase;font-size:10px;letter-spacing:.1em;color:var(--muted)}
.availability-caption>span{color:var(--text)}
.availability-count{font-family:var(--fh);font-size:88px;line-height:1;letter-spacing:-.06em;font-weight:900;color:var(--muted);margin:16px 0 12px}
[data-project-availability-state="available"] .availability-count{color:var(--accent)}
.availability-month{color:var(--text);font-size:11px;letter-spacing:0}
.availability-footnote{margin-top:24px;padding-top:18px;border-top:1px solid var(--line-2);font-family:var(--fh);letter-spacing:0;font-size:12px;line-height:1.7;color:var(--muted)}
@media(max-width:700px){
 .project-availability--ledger{grid-template-columns:74px 1fr;column-gap:20px;padding-top:20px;align-content:initial;align-self:initial}
 .availability-caption{grid-column:2;grid-row:1;align-self:end}
 .availability-count{grid-column:1;grid-row:1 / 3;font-size:72px;margin:0;align-self:center}
 .availability-month{grid-column:2;grid-row:2;align-self:center;font-size:11px}
 .availability-footnote{grid-column:1 / -1;margin-top:16px;padding-top:12px;font-size:11px}
 .availability-footnote br{display:none}
}

/* Split-flap counter: one reveal of the confirmed number, never a countdown. */
.project-availability--ledger{border:0;padding:0;gap:12px;align-self:center}
.availability-caption{color:var(--accent-grey)}
.availability-caption>span:first-child{color:inherit}
.availability-count{display:flex;gap:7px;margin:4px 0;perspective:600px;font-size:76px;line-height:1.15;letter-spacing:-.055em}
.availability-digit{position:relative;display:inline-grid;place-items:center;min-width:74px;padding:4px 8px 8px;border:1px solid var(--line-2);border-radius:9px;background:linear-gradient(#171a13 49.5%,#0b0d09 50%);box-shadow:0 6px 12px #0005,inset 0 1px #ffffff08;transform-origin:50% 50%;font-variant-numeric:tabular-nums}
.availability-digit::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#0009;box-shadow:0 1px #ffffff06;pointer-events:none}
.availability-footnote{border:0;margin:0;padding:0;font-size:11px;line-height:1.5}
@media(max-width:700px){
 .project-availability--ledger{grid-template-columns:116px 1fr;column-gap:20px;row-gap:6px}
 .availability-count{font-size:48px;gap:5px;grid-row:1 / 4}.availability-digit{min-width:52px;padding:3px 5px 5px}
 .availability-caption{grid-column:2;grid-row:1}.availability-month{grid-column:2;grid-row:2}.availability-footnote{grid-column:2;grid-row:3;margin:0;padding:0;font-size:10px}
}

/* One confirmed counter, with a quieter footprint in the homepage hero. */
.offer-heading .project-availability--ledger{justify-self:end;text-align:right;justify-items:end}
.offer-heading .availability-caption{width:100%}
.offer-heading .availability-count{justify-content:flex-end}
.project-availability--mini{position:absolute;top:96px;right:var(--gutter,52px);z-index:3;gap:12px;text-align:right;align-items:center}
.project-availability--mini .availability-count{font-size:25px;gap:3px;margin:0}
.project-availability--mini .availability-digit{min-width:25px;padding:2px 4px 4px;border-radius:5px}
.availability-mini-copy{display:grid;gap:3px;font-size:9px;line-height:1.35}
.availability-mini-copy>[data-availability-caption]{text-transform:uppercase;color:var(--accent);letter-spacing:.13em}
.availability-mini-copy>[data-project-availability-text]{max-width:180px;letter-spacing:0}
.project-availability--section{top:6px;right:0;gap:8px}
.project-availability--section [data-availability-caption]{white-space:pre-line;text-align:left}
.project-availability--section .availability-count{font-size:20px}
.project-availability--section .availability-digit{min-width:21px;padding:2px 3px 3px}
@media(max-width:700px){
 #hero>.project-availability--mini{top:98px;right:auto;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);text-align:left;transition:opacity .3s,translate .4s cubic-bezier(.76,0,.24,1),visibility .3s}
 .nav-off #hero>.project-availability--mini{opacity:0;translate:0 -14px;visibility:hidden;pointer-events:none}
 .project-availability--mini{gap:8px}
 .project-availability--mini .availability-count{font-size:20px}
 .project-availability--mini .availability-digit{min-width:21px;padding:2px 3px 3px}
 .availability-mini-copy{font-size:8px}
 .offer-heading .project-availability--ledger{grid-template-columns:auto 1fr;max-width:100%;justify-self:start;justify-items:start;text-align:left}
 .offer-heading .availability-count{grid-column:1;grid-row:1 / 4}
 .offer-heading .availability-caption,.offer-heading .availability-month,.offer-heading .availability-footnote{grid-column:2}
 .project-availability--section{transition:top .4s cubic-bezier(.76,0,.24,1)}
 html:not(.nav-off) .project-availability--section{top:calc(100% - 22px)}
}
