@font-face { font-family: "Albert Sans"; src: url("assets/fonts/albert-sans.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }
:root { --ly-scale: 1; }
.nav__logo, .footer__mark { font-weight: 750; letter-spacing: -.05em; }
.nav__logo .mark, .footer__mark .mark { color: var(--p-accent); }
.nav__bar { border-bottom: 1px solid var(--line); }
.hero--split h1 { font-size: clamp(3.6rem, 5vw, 4.5rem); max-width: 14ch; }
.hero--split .hero__lead { max-width: 33ch; color: var(--p-ink); }
.hero--split .hero__media { background: #d69e77; }
.hero--split .hero__media img { object-position: 50% 54%; }
.track-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; margin-top: 16px; color: var(--p-accent); font-size: .95rem; text-decoration: underline; text-underline-offset: .3em; }
.track-link:hover, .offer-link:hover { color: var(--p-ink); }
.section-index { margin: 0 0 16px; color: var(--p-accent); }
.offers { background: var(--p-surface); }
.offers .section-head { margin-bottom: 34px; }
.offer-head { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gutter); align-items: start; }
.offer-head .section-index { color: var(--p-accent); font-size: var(--t-small); }
.offer-photo { border-radius: var(--r-lg); height: clamp(110px, 13vw, 190px); overflow: hidden; background: var(--p-bg); }
.offer-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.offers .t-lead, .contact .t-lead { color: var(--p-ink); }
.offer { border-top: 2px solid var(--p-accent); padding-top: 20px; display: grid; grid-template-rows: auto auto minmax(4.25em, auto) 1fr auto; align-content: start; gap: 13px; }
.offer > :is(h3, p) { margin: 0; }
.offer h3 { font-size: var(--t-h3); }
.offer > p:not(.offer-stage) { max-width: 43ch; }
.offer-stage { color: var(--p-accent); }
.offer-stage > span { font-variant-numeric: tabular-nums; }
.offer-list { list-style: none; padding: 0; margin: 4px 0 0; }
.offer-list li { border-top: 1px solid var(--line-strong); padding-block: 12px; }
.offer-list li:last-child { border-bottom: 1px solid var(--line-strong); }
.offer-link { display: inline-flex; justify-self: start; align-items: center; gap: 18px; min-height: 44px; font-weight: 650; color: var(--p-accent); text-decoration: underline; text-underline-offset: .3em; }
.process .mo-ph__head { max-width: none; gap: 10px; }
.process .mo-ph__head .section-index { margin-bottom: 1px; }
.process .mo-ph__pic > img { object-position: 50% 48%; }
.contact .project-grid { display: grid; align-content: start; gap: var(--gutter); text-align: left; }
.contact h2 { max-width: 12ch; }
.contact .t-lead { max-width: 39ch; margin-top: 18px; }
.contact .btn-row { margin-top: 30px; }
.contact-address { margin-top: 14px; overflow-wrap: anywhere; }
.contact-note { border-top: 2px solid var(--p-accent); padding-top: 20px; }
.contact-note h3 { margin: 0 0 18px; }
.contact { background: var(--p-surface); }
.footer-links { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.footer-links nav { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-links a, .footer__legal a { min-height: 44px; display: inline-flex; align-items: center; }
.footer-links .footer__mark { font-size: clamp(1.3rem, 3vw, 2.4rem); gap: 10px; }
.footer__legal a { text-decoration: underline; text-underline-offset: .25em; }
.credits-page { padding-block: 50px; }
.credits-page ul { padding-left: 1.2em; }
.credits-page li { padding-block: 8px; }
.credits-page a { text-decoration: underline; text-underline-offset: .25em; }
@media (max-width: 1023px) {
  .hero--split h1 { font-size: clamp(2.9rem, 6.3vw, 4.2rem); }
  .hero--split .hero__text { align-self: start; }
}
@media (max-width: 767px) {
  .offer-grid, .contact .project-grid { row-gap: 34px; }
  .offer-grid > *, .contact .project-grid > * { grid-column: 1 / -1; }
  .offer { grid-template-rows: auto; }
  .offer-head { grid-template-columns: 1fr; row-gap: 22px; }
}
@media (max-width: 639px) {
  .hero--split h1 { font-size: clamp(2.3rem, 11vw, 3rem); }
  .hero--split .hero__lead { font-size: 1.06rem; }
  .hero--split .btn-row { margin-top: 18px; }
  .hero--split .track-link { margin-top: 6px; }
  .offers .section-head { margin-bottom: 25px; }
  .footer-links nav { gap: 18px; }
}
