.if-home{--if-wall:#fbfaf7;--if-floor:#e6e3dc;--if-linen:#8f8677;--if-linen-ink:#6b6357;--if-alu:#b9b7b2;--if-ink:#2b2a27;--if-ink-hover:#1c1b19;--if-brass:#a8721a;--if-font-serif:var(--font-newsreader),"Iowan Old Style",Georgia,serif;--if-font-sans:var(--font-archivo),system-ui,sans-serif;--if-ease-out:cubic-bezier(0.23,1,0.32,1);--if-ease-move:cubic-bezier(0.77,0,0.175,1);--if-ease-drawer:cubic-bezier(0.32,0.72,0,1);--if-header:72px;position:relative;margin-top:-40px;background:#edece7;color:var(--if-ink)}@media (min-width:1024px){.if-home{--if-header:76px}}.if-hero{position:relative;min-height:max(100svh,600px);overflow:clip;background:var(--if-wall)}.if-hero__blur,.if-hero__room{position:absolute;inset:0}.if-hero__blur{background-size:cover;background-repeat:no-repeat;background-position:50% 38%}.if-hero__photo{position:absolute;inset:0;opacity:0;transform:scale(1.03);transform-origin:50% 50%;animation:if-develop 1.5s var(--if-ease-drawer) 2.5s both}.if-hero__wash{position:absolute;inset:0;background:var(--if-wall);opacity:.68;animation:if-lift 1.5s var(--if-ease-drawer) 2.5s both}.if-hero__room.is-ready .if-hero__photo{animation-name:if-develop-ready;animation-delay:var(--if-photo-delay,.9s)}.if-hero__room.is-ready .if-hero__wash{animation-name:if-lift-ready;animation-delay:var(--if-photo-delay,.9s)}.if-hero__img{object-fit:cover;object-position:50% 38%}@media (max-width:1023px){.if-hero__img{object-position:55% 50%}.if-hero__blur{background-position:55% 50%}}.if-hero__haze{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,hsla(45,33%,98%,.96) 0,hsla(45,33%,98%,.9) 34%,hsla(45,33%,98%,.55) 56%,hsla(45,33%,98%,0) 78%)}@media (min-width:1024px){.if-hero__haze{background:radial-gradient(ellipse 58% 46% at 30% 58%,hsla(45,33%,98%,.82) 0,hsla(45,33%,98%,.55) 45%,hsla(45,33%,98%,0) 100%)}}.if-hero__text{position:absolute;left:20px;right:20px;bottom:calc(24px + env(safe-area-inset-bottom, 0px) + 76px + 28px)}@media (min-width:1024px){.if-hero__text{left:8.33vw;right:auto;bottom:auto;top:54%;transform:translateY(-50%);width:min(58vw,920px)}}.if-hero__h1{margin:0;font-family:var(--if-font-serif);font-optical-sizing:auto;font-style:italic;font-weight:400;font-size:clamp(2.25rem,5.2vw,4.75rem);line-height:1.06;letter-spacing:-.012em;color:var(--if-ink);text-wrap:balance}.if-w{overflow:hidden;vertical-align:bottom;padding:.06em .08em .14em;margin:-.06em -.08em -.14em}.if-w,.if-w__in{display:inline-block}.if-w__in{transform:translateY(112%);animation:if-word .9s var(--if-ease-drawer) calc(.2s + var(--w, 0) * 45ms) both}.if-nowrap{white-space:nowrap}.if-hero__cities{margin:.55em 0 0;font-family:var(--if-font-sans);font-weight:700;font-size:1.25rem;line-height:1.3;letter-spacing:.01em;color:var(--if-brass);opacity:0;animation:if-fade .6s var(--if-ease-out) 1s both}.if-hero__cities>span+span{margin-left:1.1em}@media (min-width:1024px){.if-hero__cities{font-weight:600;font-size:1.5rem;margin-top:.7em}}.if-hero__ctawrap{position:absolute;left:16px;right:16px;bottom:calc(24px + env(safe-area-inset-bottom, 0px));opacity:0;animation:if-rise .6s var(--if-ease-out) 1.5s both}@media (min-width:1024px){.if-hero__ctawrap{left:auto;right:120px;bottom:48px;width:360px}}.if-cta{position:relative;display:block;padding:18px 24px 18px 28px;background:var(--if-ink);color:var(--if-wall);font-family:var(--if-font-sans);font-weight:500;font-size:.9375rem;line-height:1.35;text-decoration:none;border-radius:0;text-wrap:balance;transition:background-color .2s var(--if-ease-out),transform .16s var(--if-ease-out)}.if-cta:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--if-brass);transform-origin:left center;transition:transform .2s var(--if-ease-out)}.if-cta:active{transform:scale(.97)}.if-cta:focus-visible{outline:2px solid var(--if-brass);outline-offset:3px}@media (hover:hover) and (pointer:fine){.if-cta:hover{background:var(--if-ink-hover)}.if-cta:hover:before{transform:scaleX(2)}}.if-hero.is-replay .if-w__in{animation-delay:calc(var(--w, 0) * 25ms);animation-duration:.5s}.if-hero.is-replay .if-hero__cities{animation-delay:.35s;animation-duration:.3s}.if-hero.is-replay .if-hero__photo,.if-hero.is-replay .if-hero__wash{animation-delay:.3s;animation-duration:.7s}.if-hero.is-replay .if-hero__room.is-ready .if-hero__photo,.if-hero.is-replay .if-hero__room.is-ready .if-hero__wash{animation-delay:var(--if-photo-delay,0ms)}.if-hero.is-replay .if-hero__ctawrap{animation-delay:.3s;animation-duration:.4s}@keyframes if-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes if-word{0%{transform:translateY(112%)}to{transform:none}}@keyframes if-fade{0%{opacity:0}to{opacity:1}}@keyframes if-develop{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes if-develop-ready{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes if-lift{0%{opacity:.68}to{opacity:0}}@keyframes if-lift-ready{0%{opacity:.68}to{opacity:0}}

/* !important on purpose: the replay and is-ready selectors above are (0,3,0)
   and would otherwise re-arm the photo develop (700 ms fade on a client-side
   navigation back to the homepage) under reduced motion. */@media (prefers-reduced-motion:reduce){.if-hero__cities,.if-hero__ctawrap,.if-hero__photo,.if-hero__wash,.if-w__in{animation:none!important;opacity:1!important;transform:none!important}.if-hero__wash{display:none}.if-cta,.if-cta:before{transition:none}}.if-stack{position:relative;background:var(--if-floor);padding-top:10svh;--stack-top:calc(var(--if-header) + 24px);--tab:8px}@media (min-width:1024px){.if-stack{--stack-top:calc(var(--if-header) + 32px);--tab:20px;--card-h:min(clamp(400px,62svh,600px),calc(100svh - var(--stack-top) - 5 * var(--tab) - 24px))}}@media (min-width:1024px) and (min-height:800px){.if-stack{--tab:32px}}.if-card{position:sticky;top:calc(var(--stack-top) + var(--i) * var(--tab));z-index:calc(var(--i) + 1);box-sizing:border-box;width:calc(100% - 32px);margin:0 auto;background:var(--if-wall);border-radius:2px;box-shadow:0 -14px 40px -20px rgba(43,42,39,.35);clip-path:inset(-40px 0 0 0);display:flex;flex-direction:column;height:auto;min-height:min(calc(100svh - var(--stack-top) - 5 * var(--tab) - 16px),560px);max-height:calc(100svh - var(--stack-top) - 5 * var(--tab) - 16px);overflow:visible}@media (min-width:1024px){.if-card{width:min(1120px,100% - 160px);display:grid;grid-template-columns:38% 1fr;min-height:var(--card-h);max-height:none}}.if-card__media{position:relative;flex:1 1 28svh;min-height:120px;overflow:hidden;border-radius:2px 2px 0 0}@media (min-width:1024px){.if-card__media{flex:none;min-height:0;max-height:none;border-radius:2px 0 0 2px}}.if-card__img{object-fit:cover}.if-card__body{flex:0 0 auto;padding:20px 20px 24px}@media (min-width:1024px){.if-card__body{--pad:40px;align-self:start;padding:calc(var(--tab) + clamp(32px, 7svh, 72px)) var(--pad) var(--pad)}}@media (min-width:1280px){.if-card__body{--pad:56px}}.if-card__title{margin:0;max-width:18ch;font-family:var(--if-font-serif);font-optical-sizing:auto;font-style:italic;font-weight:400;font-size:clamp(1.625rem,2.6vw,2.75rem);line-height:1.15;letter-spacing:-.005em;color:var(--if-ink)}.if-card__rule{display:block;width:48px;height:1px;margin:16px 0 20px;background:var(--if-linen)}@media (min-width:1024px){.if-card__rule{margin:20px 0 24px}}.if-card__text{margin:0;max-width:46ch;font-family:var(--if-font-sans);font-weight:400;font-size:.9375rem;line-height:1.55;color:var(--if-ink)}@media (min-width:1024px){.if-card__text{font-size:1.0625rem;line-height:1.6}}@media (min-width:1280px){.if-card__text{font-size:1.1875rem;line-height:1.55}}.if-card__counter{position:absolute;top:12px;right:12px;z-index:4;padding:4px 8px;background:hsla(45,33%,98%,.92);font-family:var(--if-font-sans);font-weight:500;font-size:12px;line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--if-ink)}.if-card__of{color:var(--if-linen-ink)}@media (min-width:1024px){.if-card__counter{top:0;right:0;height:var(--tab);padding:0 28px;display:flex;align-items:center;background:none;font-size:12px}}@media (min-width:1024px) and (min-height:800px){.if-card__counter{font-size:13px}}.if-veil{position:absolute;inset:0;z-index:3;background:var(--if-wall);border-radius:2px;pointer-events:none}.if-slot{height:55svh}@media (min-width:1024px){.if-slot{height:calc(100svh - var(--card-h))}}.if-tail{height:28svh}.if-stack>.if-card:first-of-type{box-shadow:none}@media (max-height:639px),(prefers-reduced-motion:reduce){.if-card{box-shadow:none;position:relative;top:auto;height:auto;min-height:0;max-height:none;margin:0 auto 24px}.if-card__media{flex:none;height:clamp(160px,32svh,260px);max-height:none}.if-slot,.if-tail,.if-veil{display:none}.if-stack{padding-bottom:64px}}@media (min-width:1024px) and (max-height:639px),(min-width:1024px) and (prefers-reduced-motion:reduce){.if-card__media{height:auto;min-height:260px}.if-card__body{align-self:center;padding-top:var(--pad)}}.if-map{background:var(--if-wall);padding:64px 0}@media (min-width:1024px){.if-map{padding:96px 0}}.if-map__inner{max-width:1120px;margin:0 auto;padding:0 16px}@media (min-width:1024px){.if-map__inner{padding:0 24px}}.if-map__title{margin:0;max-width:20ch;font-family:var(--if-font-serif);font-optical-sizing:auto;font-weight:400;font-style:normal;font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.15;letter-spacing:-.005em;color:var(--if-ink)}.if-map__title:after{content:"";display:block;width:96px;height:1px;margin-top:20px;background:var(--if-alu)}.if-map__canvas{margin-top:40px}@media (min-width:1024px){.if-map__canvas{margin-top:56px}}.if-links{background:var(--if-wall);padding:0 16px 64px}@media (min-width:1024px){.if-links{padding:0 24px 96px}}.if-links__list{max-width:1120px;margin:0 auto;padding:24px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--if-alu)}@media (min-width:1024px){.if-links__list{gap:16px 40px}}.if-links__link{display:inline-block;font-family:var(--if-font-sans);font-weight:500;font-size:.9375rem;line-height:1.4;color:var(--if-ink);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.35em;transition:text-decoration-color .2s var(--if-ease-out),transform .16s var(--if-ease-out)}.if-links__link:active{transform:scale(.97)}.if-links__link:focus-visible{outline:2px solid var(--if-ink);outline-offset:3px}@media (hover:hover) and (pointer:fine){.if-links__link:hover{text-decoration-color:var(--if-brass)}}@media (prefers-reduced-motion:reduce){.if-links__link{transition:none}}