@font-face {
  font-family: "Fraunces NJ";
  src: url("./assets/apps/name-jar/fonts/fraunces/Fraunces-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Fraunces NJ";
  src: url("./assets/apps/name-jar/fonts/fraunces/Fraunces-Variable.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Manrope NJ";
  src: url("./assets/apps/name-jar/fonts/manrope/Manrope-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

.name-jar-page {
  color-scheme: light dark;
  --nj-canvas: #f3eee4;
  --nj-paper: #fbf8f1;
  --nj-paper-raised: #fffdf8;
  --nj-ink: #29251f;
  --nj-soft: #605b52;
  --nj-muted: #777066;
  --nj-rule: rgba(63, 54, 44, .18);
  --nj-rule-strong: rgba(63, 54, 44, .34);
  --nj-moss: #3f6255;
  --nj-moss-dark: #29463b;
  --nj-clay: #b9654f;
  --nj-celadon: #afcfc5;
  --nj-apricot: #d6a06f;
  --nj-rose: #9f6d7c;
  --nj-display: "Fraunces NJ", Georgia, serif;
  --nj-sans: "Manrope NJ", system-ui, sans-serif;
  min-width: 320px;
  color: var(--nj-ink);
  background-color: var(--nj-canvas);
  background-image: url("./assets/apps/name-jar/editorial/paper-canvas-light.webp");
  background-size: 780px;
  font-family: var(--nj-sans);
}

.name-jar-page *, .name-jar-page *::before, .name-jar-page *::after { box-sizing: border-box; }
.name-jar-page main { overflow: clip; }
.name-jar-page h1, .name-jar-page h2, .name-jar-page h3, .name-jar-page blockquote { color: var(--nj-ink); font-family: var(--nj-display); font-variation-settings: "opsz" 92, "SOFT" 32, "WONK" 0; letter-spacing: -.025em; }
.name-jar-page a { text-underline-offset: 4px; }
.name-jar-page img { display: block; max-width: 100%; height: auto; }
.name-jar-page .wrap { width: min(100% - 48px, 1200px); }

.nj-skip {
  position: fixed;
  z-index: 200;
  top: 12px;
  left: 12px;
  padding: 11px 16px;
  border-radius: 3px;
  color: #fff;
  background: var(--nj-moss-dark);
  transform: translateY(-160%);
}
.nj-skip:focus { transform: none; }

.nj-nav {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid var(--nj-rule);
  background: color-mix(in srgb, var(--nj-canvas) 90%, transparent);
  backdrop-filter: blur(16px) saturate(108%);
}
.nj-nav .nav-inner { min-height: 76px; }
.nj-endorsement { gap: 11px; }
.nj-endorsement > span { display: grid; line-height: 1.1; }
.nj-endorsement small { color: var(--nj-muted); font-size: .62rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.nj-endorsement b { margin-top: 4px; color: var(--nj-ink); font: 560 1.18rem/1 var(--nj-display); }
.nj-nav .nav-links { gap: 4px; }
.nj-nav .nav-links a { color: var(--nj-soft); font-size: .84rem; font-weight: 650; }
.nj-nav .nav-links a:hover { color: var(--nj-moss); background: transparent; text-decoration: underline; }
.nj-status-link { display: grid; justify-items: end; min-width: 108px; color: var(--nj-muted); line-height: 1.05; }
.nj-status-link span { font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.nj-status-link strong { margin-top: 5px; color: var(--nj-moss); font-size: .82rem; }
.nj-status-link:hover strong { text-decoration: underline; }

.nj-eyebrow { margin: 0 0 18px; color: var(--nj-moss); font: 760 .7rem/1.2 var(--nj-sans); letter-spacing: .17em; text-transform: uppercase; }

.nj-hero { min-height: calc(100svh - 76px); border-bottom: 1px solid var(--nj-rule); }
.nj-hero-grid { display: grid; grid-template-columns: minmax(350px, .82fr) minmax(540px, 1.18fr); gap: clamp(38px, 6vw, 86px); align-items: center; min-height: calc(100svh - 76px); padding-block: clamp(58px, 7vw, 104px); }
.nj-hero-copy { position: relative; z-index: 3; }
.nj-hero h1 { max-width: 10.5ch; margin: 0; font-size: clamp(3.7rem, 6.15vw, 6.25rem); font-weight: 520; line-height: .94; }
.nj-hero h1 em { color: var(--nj-moss); font-style: italic; font-variation-settings: "opsz" 112, "SOFT" 46, "WONK" 0; }
.nj-lede { max-width: 49ch; margin: 27px 0 0; color: var(--nj-soft); font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.72; }
.nj-reassurance { display: flex; gap: 9px; align-items: center; margin: 18px 0 0; color: var(--nj-moss-dark); font-size: .88rem; font-weight: 750; }
.nj-reassurance span { color: var(--nj-clay); }
.nj-store-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.nj-store-badge {
  display: inline-flex;
  align-items: center;
  min-width: 184px;
  min-height: 64px;
  gap: 11px;
  padding: 9px 15px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 9px;
  color: #fff;
  background: #292b28;
  box-shadow: 0 10px 24px rgba(49, 42, 34, .12);
  cursor: not-allowed;
}
.nj-store-badge svg { width: 26px; fill: currentColor; flex: none; }
.nj-store-badge > span { display: grid; }
.nj-store-badge small { font-size: .59rem; letter-spacing: .08em; text-transform: uppercase; }
.nj-store-badge strong { font-size: .94rem; line-height: 1.12; }
.nj-store-badge i { margin-top: 2px; color: #c4cac6; font-size: .61rem; font-style: normal; }
.nj-release-note { max-width: 54ch; margin: 13px 0 0; color: var(--nj-muted); font-size: .75rem; line-height: 1.55; }

.nj-hero-art { position: relative; min-height: clamp(590px, 60vw, 770px); animation: nj-settle .8s cubic-bezier(.22, .75, .25, 1) both; }
.nj-still-life { position: absolute; inset: 0 13% 0 0; overflow: hidden; border-radius: 5px 5px 84px 5px; box-shadow: 0 32px 80px rgba(62, 52, 40, .18); }
.nj-still-life img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.nj-device-frame { position: absolute; z-index: 2; right: 0; bottom: -4%; width: 35%; margin: 0; }
.nj-device-frame::before { content: ""; position: absolute; z-index: -1; inset: -10px; border-radius: 34px; background: #24231f; box-shadow: 0 28px 52px rgba(40, 34, 27, .28); }
.nj-device-frame img { width: 100%; border-radius: 24px; }
.nj-device-frame figcaption { margin: 18px -8px 0; color: var(--nj-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

.nj-story { padding: clamp(84px, 11vw, 160px) 0; border-bottom: 1px solid var(--nj-rule); background: color-mix(in srgb, var(--nj-paper) 42%, transparent); }
.nj-story-spread { display: grid; grid-template-columns: .66fr 1fr .58fr; gap: clamp(34px, 5vw, 78px); align-items: start; }
.nj-story-heading { position: sticky; top: 116px; }
.nj-story-heading h2 { max-width: 8.5ch; margin: 0; font-size: clamp(3rem, 5vw, 5.1rem); font-weight: 500; line-height: .98; }
.nj-botanical-rule { display: flex; align-items: center; max-width: 240px; gap: 10px; margin-top: 32px; color: var(--nj-moss); }
.nj-botanical-rule span { height: 1px; flex: 1; background: currentColor; opacity: .55; }
.nj-botanical-rule i { font: normal 1.1rem/1 var(--nj-display); }
.nj-story-narrative blockquote { margin: 0 0 39px; color: var(--nj-moss); font-size: clamp(2.1rem, 3.35vw, 3.55rem); font-style: italic; font-weight: 450; line-height: 1.1; }
.nj-story-narrative > p { margin: 22px 0 0; color: var(--nj-soft); font-size: 1.04rem; line-height: 1.82; }
.nj-story-narrative strong { color: var(--nj-ink); }
.nj-story-turn { padding-top: 27px; border-top: 1px solid var(--nj-rule-strong); }
.nj-story-image { display: block; margin-top: 82px; overflow: hidden; border-radius: 2px 2px 82px 2px; box-shadow: 0 20px 52px rgba(58, 49, 38, .13); }
.nj-story-image img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; object-position: 53% center; }

.nj-journey { padding-top: clamp(84px, 10vw, 146px); }
.nj-journey-intro { max-width: 820px; padding-bottom: clamp(76px, 9vw, 126px); text-align: center; }
.nj-journey-intro h2 { margin: 0; font-size: clamp(3.2rem, 6.2vw, 6.2rem); font-weight: 500; line-height: .96; }
.nj-journey-intro > p:last-child { max-width: 58ch; margin: 24px auto 0; color: var(--nj-muted); font-size: 1.08rem; line-height: 1.7; }
.nj-stage { position: relative; min-height: 920px; border-top: 1px solid var(--nj-rule); }
.nj-stage::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .33; background-position: center; background-size: 720px; }
.nj-stage--discover::before, .nj-stage--reveal::before { background-image: url("./assets/apps/name-jar/editorial/paper-canvas-light.webp"); }
.nj-stage--keep { background: color-mix(in srgb, var(--nj-celadon) 18%, var(--nj-canvas)); }
.nj-stage-grid { position: relative; display: grid; grid-template-columns: minmax(310px, .82fr) minmax(500px, 1.18fr); gap: clamp(54px, 9vw, 138px); align-items: center; min-height: 920px; padding-block: 88px; }
.nj-stage--keep .nj-stage-copy { order: 2; }
.nj-stage--keep .nj-app-artifact { order: 1; }
.nj-stage-copy { max-width: 470px; }
.nj-stage-number { display: block; margin-bottom: 24px; color: var(--nj-clay); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.nj-planned-label { display: inline-block; margin: -12px 0 25px; padding-bottom: 5px; border-bottom: 1px solid var(--nj-rose); color: var(--nj-rose); font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nj-stage-copy h3 { margin: 0; font-size: clamp(2.8rem, 4.6vw, 4.8rem); font-weight: 480; line-height: 1; }
.nj-stage-copy > p { margin: 25px 0 0; color: var(--nj-soft); font-size: 1.04rem; line-height: 1.8; }
.nj-stage-copy > a { display: inline-flex; gap: 18px; margin-top: 32px; padding-bottom: 7px; border-bottom: 1px solid currentColor; color: var(--nj-moss); font-size: .86rem; font-weight: 800; }
.nj-stage-copy > a:hover { color: var(--nj-clay); }
.nj-status-note { padding-left: 18px; border-left: 2px solid var(--nj-moss); font-size: .86rem !important; }
.nj-status-note strong { color: var(--nj-ink); }
.nj-app-artifact { position: relative; justify-self: center; width: min(100%, 570px); margin: 0; }
.nj-app-artifact::before { content: ""; position: absolute; z-index: -1; inset: 7% -8% -4% 12%; border-radius: 50% 46% 48% 44%; background: color-mix(in srgb, var(--nj-apricot) 26%, transparent); filter: blur(2px); }
.nj-render { width: 100%; border: 10px solid #282721; border-radius: 32px; box-shadow: 0 34px 72px rgba(54, 46, 36, .23); }
.name-jar-page .nj-render--phone { display: none; }
.nj-app-artifact figcaption { margin-top: 22px; color: var(--nj-muted); font-size: .7rem; font-weight: 750; letter-spacing: .09em; text-align: center; text-transform: uppercase; }

.nj-intelligence { padding: clamp(92px, 11vw, 158px) 0; color: #eee7dc; background: #202722 url("./assets/apps/name-jar/editorial/paper-canvas-dark.webp") center / 760px; border-top: 1px solid rgba(238, 229, 216, .12); }
.nj-intelligence-heading { display: grid; grid-template-columns: 1.16fr .84fr; gap: clamp(48px, 8vw, 118px); align-items: end; }
.nj-intelligence .nj-eyebrow { color: var(--nj-celadon); }
.nj-intelligence-heading h2 { max-width: 13ch; margin: 0; color: #f6efe5; font-size: clamp(3.25rem, 6vw, 6rem); font-weight: 470; line-height: .96; }
.nj-intelligence-heading h2 em { color: var(--nj-apricot); font-style: italic; }
.nj-intelligence-heading > p { max-width: 57ch; margin: 0; color: #c9c1b5; font-size: 1rem; line-height: 1.78; }
.nj-intelligence-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: clamp(62px, 8vw, 100px); }
.nj-intelligence-card { min-width: 0; }
.nj-intelligence-frame { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(238, 229, 216, .2); border-radius: 28px 28px 4px 4px; background: #000; box-shadow: 0 26px 54px rgba(0, 0, 0, .3); }
.nj-intelligence-frame img { width: 100%; aspect-ratio: 390 / 844; object-fit: cover; }
.nj-intelligence-frame figcaption { position: absolute; right: 10px; bottom: 10px; left: 10px; padding: 8px 9px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 4px; color: #e9e1d5; background: rgba(18, 21, 18, .88); font-size: .55rem; font-weight: 750; letter-spacing: .08em; text-align: center; text-transform: uppercase; backdrop-filter: blur(8px); }
.nj-intelligence-copy { padding: 28px 8px 0; }
.nj-intelligence-copy > span { color: var(--nj-apricot); font: 520 .82rem/1 var(--nj-display); }
.nj-intelligence-copy h3 { margin: 13px 0 0; color: #f8f1e7; font-size: clamp(1.65rem, 2.2vw, 2.15rem); font-weight: 490; line-height: 1.02; }
.nj-intelligence-copy p { margin: 16px 0 0; color: #c9c1b5; font-size: .86rem; line-height: 1.68; }
.nj-intelligence-boundary { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(64px, 8vw, 100px); border-block: 1px solid rgba(238, 229, 216, .22); }
.nj-intelligence-boundary > div { padding: 30px clamp(18px, 2.5vw, 34px); }
.nj-intelligence-boundary > div + div { border-left: 1px solid rgba(238, 229, 216, .18); }
.nj-intelligence-boundary strong { display: block; color: #f7f0e6; font: 500 1.3rem/1.15 var(--nj-display); }
.nj-intelligence-boundary span { display: block; margin-top: 11px; color: #bdb5aa; font-size: .78rem; line-height: 1.62; }

.nj-proof { padding: clamp(90px, 11vw, 160px) 0; color: #eee6d9; background-color: #242821; background-image: url("./assets/apps/name-jar/editorial/paper-canvas-dark.webp"); background-size: 760px; }
.nj-proof-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 138px); align-items: center; }
.nj-proof .nj-eyebrow { color: var(--nj-celadon); }
.nj-proof-number { margin: 0; color: #f4eddf; font: 420 clamp(5.5rem, 10vw, 10rem)/.8 var(--nj-display); letter-spacing: -.06em; }
.nj-proof-number span { color: var(--nj-apricot); }
.nj-proof-statement h2 { max-width: 10ch; margin: 28px 0 0; color: #f4eddf; font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 430; line-height: 1.02; }
.nj-live-folio { position: relative; display: grid; justify-items: center; width: min(290px, 82%); margin: 62px 0 0 9%; padding: 45px 32px 50px; color: #2b2722; background: #f9f5ec url("./assets/apps/name-jar/editorial/paper-canvas-light.webp") center / 560px; box-shadow: 0 25px 50px rgba(0, 0, 0, .28); clip-path: polygon(0 1.5%, 8% .5%, 18% 1.5%, 31% .3%, 43% 1.2%, 56% .4%, 69% 1.4%, 82% .4%, 100% 1.3%, 99% 98.7%, 88% 99.5%, 75% 98.6%, 62% 99.6%, 49% 98.5%, 35% 99.6%, 20% 98.7%, 8% 99.5%, 1% 98%); transform: rotate(-2deg); }
.nj-live-folio span { color: var(--nj-rose); font-size: .61rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.nj-live-folio strong { margin-top: 19px; font: 470 4.25rem/1 var(--nj-display); }
.nj-live-folio small { margin-top: 14px; color: #6b6257; font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; }
.nj-proof-list { margin: 0; }
.nj-proof-list > div { position: relative; padding: 29px 150px 30px 0; border-top: 1px solid rgba(238, 230, 217, .24); }
.nj-proof-list > div:last-child { border-bottom: 1px solid rgba(238, 230, 217, .24); }
.nj-proof-list dt { color: #f8f1e5; font: 500 1.55rem/1.18 var(--nj-display); }
.nj-proof-list dd { max-width: 54ch; margin: 10px 0 0; color: #c9c1b5; font-size: .91rem; line-height: 1.65; }
.nj-proof-list span { position: absolute; top: 33px; right: 0; max-width: 128px; color: var(--nj-celadon); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-align: right; text-transform: uppercase; }

.nj-gifts { padding: clamp(92px, 11vw, 160px) 0; }
.nj-gift-heading { display: grid; grid-template-columns: 1fr .78fr; gap: clamp(46px, 8vw, 112px); align-items: end; }
.nj-gift-heading h2 { max-width: 12ch; margin: 0; font-size: clamp(3.2rem, 5.7vw, 5.8rem); font-weight: 480; line-height: .96; }
.nj-gift-heading > div > p:last-child { max-width: 59ch; margin: 25px 0 0; color: var(--nj-soft); font-size: 1.03rem; line-height: 1.76; }
.nj-disclosure-near { padding: 6px 0 6px 25px; border-left: 3px solid var(--nj-clay); }
.nj-disclosure-near strong { color: var(--nj-clay); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nj-disclosure-near p { margin: 11px 0 0; color: var(--nj-ink); font-size: .91rem; font-weight: 650; line-height: 1.58; }
.nj-disclosure-near small { display: block; margin-top: 11px; color: var(--nj-muted); font-size: .72rem; line-height: 1.55; }
.nj-gift-ledger { margin-top: 74px; border-top: 1px solid var(--nj-rule-strong); }
.nj-gift-ledger article { display: grid; grid-template-columns: 50px 190px minmax(250px, 1fr) 240px; gap: 28px; align-items: center; padding: 36px 0; border-bottom: 1px solid var(--nj-rule-strong); }
.nj-gift-index { align-self: start; padding-top: 5px; color: var(--nj-clay); font: 500 1.1rem/1 var(--nj-display); }
.nj-name-sample { position: relative; display: grid; justify-items: center; min-height: 142px; align-content: center; padding: 22px 17px; color: #302a24; background-color: #f8f3e9; background-image: url("./assets/apps/name-jar/editorial/paper-canvas-light.webp"); background-size: 450px; box-shadow: 0 15px 30px rgba(57, 48, 37, .13); clip-path: polygon(0 2%, 10% 0, 22% 2%, 36% .5%, 49% 2%, 65% .4%, 79% 2%, 100% .6%, 99% 98%, 88% 100%, 74% 98.4%, 61% 99.6%, 47% 98.2%, 33% 100%, 19% 98.3%, 1% 99%); }
.nj-name-sample small { color: #7b6d63; font-size: .55rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nj-name-sample strong { margin-top: 11px; font: 480 2.5rem/1 var(--nj-display); }
.nj-name-sample--linen::after, .nj-name-sample--wood::after, .nj-name-sample--thread::after { content: ""; position: absolute; right: 13px; bottom: 12px; width: 34px; height: 5px; }
.nj-name-sample--linen::after { background: var(--nj-celadon); }
.nj-name-sample--wood::after { background: #a57449; }
.nj-name-sample--thread::after { background: var(--nj-rose); }
.nj-gift-copy p { margin: 0 0 8px; color: var(--nj-clay); font-size: .61rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nj-gift-copy h3 { margin: 0; font-size: 1.55rem; font-weight: 500; line-height: 1.1; }
.nj-gift-copy > span { display: block; max-width: 57ch; margin-top: 10px; color: var(--nj-muted); font-size: .8rem; line-height: 1.55; }
.nj-etsy-link { display: inline-flex; justify-content: space-between; align-items: center; min-height: 52px; gap: 15px; padding: 13px 15px; border: 1px solid var(--nj-clay); border-radius: 3px; color: var(--nj-clay); font-size: .78rem; font-weight: 800; line-height: 1.3; transition: color .18s ease, background-color .18s ease; }
.nj-etsy-link:hover { color: #fff; background: var(--nj-clay); }
.nj-etsy-link span { font-size: 1.05rem; }
.nj-exit-note { max-width: 980px; margin: 28px auto 0; color: var(--nj-muted); font-size: .78rem; line-height: 1.62; text-align: center; }
.nj-exit-note strong { color: var(--nj-ink); }

.nj-review { padding: clamp(78px, 9vw, 124px) 0; color: #e9e1d5; background: #262a24 url("./assets/apps/name-jar/editorial/paper-canvas-dark.webp") center / 760px; }
.nj-review-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(55px, 9vw, 130px); }
.nj-review .nj-eyebrow { color: var(--nj-celadon); }
.nj-review h2 { margin: 0; color: #f3ecdf; font-size: clamp(3rem, 5vw, 5.1rem); font-weight: 470; line-height: .96; }
.nj-review-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 36px 42px; }
.nj-review-list p { margin: 0; color: #c9c2b7; font-size: .9rem; line-height: 1.7; }
.nj-review-list strong { display: block; margin-bottom: 7px; color: #f6efe5; font: 500 1.25rem/1.2 var(--nj-display); }

.nj-closing { display: grid; grid-template-columns: 1fr 1fr; min-height: 900px; border-bottom: 1px solid var(--nj-rule); }
.nj-closing-art { min-height: 900px; overflow: hidden; }
.nj-closing-art img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nj-closing-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(60px, 8vw, 132px); background: color-mix(in srgb, var(--nj-paper) 60%, transparent); }
.nj-closing-copy h2 { max-width: 9.5ch; margin: 0; font-size: clamp(3.6rem, 6.7vw, 7rem); font-weight: 470; line-height: .93; }
.nj-closing-copy > p:not(.nj-eyebrow) { max-width: 52ch; margin: 27px 0 0; color: var(--nj-soft); font-size: 1rem; line-height: 1.75; }

.nj-legal { padding: clamp(78px, 9vw, 124px) 0; background: color-mix(in srgb, var(--nj-paper) 48%, transparent); }
.nj-legal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(55px, 8vw, 116px); }
.nj-legal h2 { margin: 0; font-size: clamp(2rem, 3vw, 3rem); font-weight: 500; line-height: 1; }
.nj-legal article > p:last-child { color: var(--nj-muted); font-size: .82rem; line-height: 1.75; }

.nj-footer { padding: 42px 0 25px; border-top: 1px solid var(--nj-rule); background: #e8dfd1; }
.nj-footer-top { display: flex; justify-content: space-between; gap: 30px; align-items: center; }
.nj-footer-icon { border-radius: 9px; }
.nj-footer nav { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.nj-footer nav a { color: #645e55; font-size: .78rem; font-weight: 650; }
.nj-footer nav a:hover { color: var(--nj-moss); text-decoration: underline; }
.nj-footer-base { display: flex; justify-content: space-between; gap: 20px; margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(68, 60, 51, .15); color: #756d62; font-size: .7rem; }

.name-jar-page :focus-visible { outline: 3px solid var(--nj-apricot); outline-offset: 4px; }

@keyframes nj-settle {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 1080px) {
  .nj-nav .nav-links { gap: 0; }
  .nj-hero-grid { grid-template-columns: minmax(300px, .88fr) minmax(420px, 1.12fr); gap: 42px; }
  .nj-hero h1 { font-size: clamp(3.4rem, 6.3vw, 5.2rem); }
  .nj-hero-art { min-height: 630px; }
  .nj-story-spread { grid-template-columns: .7fr 1.15fr; }
  .nj-story-image { display: none; }
  .nj-stage-grid { grid-template-columns: minmax(280px, .75fr) minmax(410px, 1.25fr); gap: 58px; }
  .nj-intelligence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 54px 24px; }
  .nj-gift-ledger article { grid-template-columns: 36px 160px minmax(230px, 1fr); }
  .nj-etsy-link { grid-column: 3; width: 240px; }
}

@media (max-width: 860px) {
  .name-jar-page .wrap { width: min(100% - 40px, 1200px); }
  .nj-nav .nav-links { display: none; }
  .nj-hero { min-height: auto; }
  .nj-hero-grid { grid-template-columns: .9fr 1.1fr; gap: 30px; min-height: auto; padding-block: 72px 86px; }
  .nj-hero h1 { font-size: clamp(3rem, 7vw, 4.25rem); }
  .nj-store-badge { min-width: 0; width: calc(50% - 5px); padding-inline: 11px; }
  .nj-hero-art { min-height: 560px; }
  .nj-still-life { right: 9%; }
  .nj-device-frame { width: 40%; }
  .nj-story-spread { grid-template-columns: .7fr 1.3fr; gap: 44px; }
  .nj-story-heading h2 { font-size: clamp(2.65rem, 6vw, 3.8rem); }
  .nj-stage { min-height: 760px; }
  .nj-stage-grid { grid-template-columns: .74fr 1.26fr; gap: 42px; min-height: 760px; padding-block: 70px; }
  .nj-stage-copy h3 { font-size: clamp(2.45rem, 5.3vw, 3.5rem); }
  .nj-render { border-width: 7px; border-radius: 24px; }
  .nj-intelligence-heading { grid-template-columns: 1fr; }
  .nj-intelligence-boundary { grid-template-columns: 1fr; }
  .nj-intelligence-boundary > div + div { border-top: 1px solid rgba(238, 229, 216, .18); border-left: 0; }
  .nj-proof-grid { grid-template-columns: .8fr 1.2fr; gap: 48px; }
  .nj-proof-list > div { padding-right: 0; }
  .nj-proof-list span { position: static; display: block; max-width: none; margin-top: 12px; text-align: left; }
  .nj-gift-heading { grid-template-columns: 1fr; }
  .nj-gift-ledger article { grid-template-columns: 36px 180px 1fr; }
  .nj-review-grid { grid-template-columns: 1fr; }
  .nj-closing { min-height: 760px; }
  .nj-closing-art { min-height: 760px; }
  .nj-closing-copy { padding: 55px; }
}

@media (max-width: 680px) {
  .name-jar-page .wrap { width: min(100% - 32px, 1200px); }
  .nj-nav .nav-inner { min-height: 64px; }
  .nj-endorsement small { display: none; }
  .nj-endorsement b { margin: 0; font-size: 1rem; }
  .nj-status-link { min-width: auto; }
  .nj-status-link span { display: none; }
  .nj-status-link strong { margin: 0; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: .72rem; }
  .nj-eyebrow { margin-bottom: 13px; font-size: .62rem; }
  .nj-hero { min-height: auto; }
  .nj-hero-grid { display: flex; flex-direction: column; gap: 38px; min-height: auto; padding-block: 34px 68px; }
  .nj-hero-copy { width: 100%; }
  .nj-hero h1 { max-width: 10ch; font-size: clamp(2.85rem, 13.5vw, 4.1rem); line-height: .95; }
  .nj-lede { margin-top: 18px; font-size: .98rem; line-height: 1.58; }
  .nj-reassurance { margin-top: 13px; font-size: .78rem; }
  .nj-store-row { gap: 8px; margin-top: 20px; }
  .nj-store-badge { min-height: 57px; gap: 8px; padding: 8px 10px; }
  .nj-store-badge svg { width: 20px; }
  .nj-store-badge small { font-size: .49rem; }
  .nj-store-badge strong { font-size: .78rem; }
  .nj-store-badge i { font-size: .53rem; }
  .nj-release-note { margin-top: 10px; font-size: .66rem; }
  .nj-hero-art { width: 100%; min-height: 510px; }
  .nj-still-life { inset: 0 8% 0 0; border-radius: 3px 3px 60px 3px; }
  .nj-device-frame { right: 0; bottom: -3%; width: 38%; }
  .nj-device-frame::before { inset: -6px; border-radius: 22px; }
  .nj-device-frame img { border-radius: 17px; }
  .nj-device-frame figcaption { display: none; }

  .nj-story { padding: 84px 0; }
  .nj-story-spread { display: block; }
  .nj-story-heading { position: static; }
  .nj-story-heading h2 { max-width: 9ch; font-size: 3.3rem; }
  .nj-botanical-rule { margin-block: 25px 38px; }
  .nj-story-narrative blockquote { margin-bottom: 32px; padding-left: 20px; border-left: 3px solid var(--nj-clay); font-size: 2.15rem; }
  .nj-story-narrative > p { font-size: .94rem; line-height: 1.76; }
  .nj-story-image { display: block; width: 72%; margin: 48px 0 0 auto; }

  .nj-journey { padding-top: 84px; }
  .nj-journey-intro { padding-bottom: 72px; }
  .nj-journey-intro h2 { font-size: 3.45rem; }
  .nj-journey-intro > p:last-child { font-size: .95rem; }
  .nj-stage { min-height: auto; }
  .nj-stage-grid { display: flex; flex-direction: column; gap: 48px; min-height: auto; padding-block: 72px; }
  .nj-stage--keep .nj-stage-copy, .nj-stage--keep .nj-app-artifact { order: initial; }
  .nj-stage-copy { max-width: none; }
  .nj-stage-copy h3 { max-width: 10ch; font-size: 3.15rem; }
  .nj-stage-copy > p { font-size: .94rem; line-height: 1.72; }
  .nj-app-artifact { width: min(100%, 390px); }
  .name-jar-page .nj-render--tablet { display: none; }
  .name-jar-page .nj-render--phone { display: block; border-width: 6px; border-radius: 24px; }
  .nj-app-artifact figcaption { margin-top: 17px; }

  .nj-intelligence { padding: 84px 0; }
  .nj-intelligence-heading h2 { max-width: 10ch; font-size: 3.55rem; }
  .nj-intelligence-heading > p { font-size: .94rem; }
  .nj-intelligence-grid { grid-template-columns: 1fr; gap: 26px; margin-top: 54px; }
  .nj-intelligence-card { display: grid; grid-template-columns: minmax(112px, 35%) 1fr; gap: 20px; align-items: start; padding-bottom: 26px; border-bottom: 1px solid rgba(238, 229, 216, .18); }
  .nj-intelligence-frame { border-radius: 18px 18px 3px 3px; }
  .nj-intelligence-frame figcaption { position: static; padding: 8px 5px; border: 0; border-top: 1px solid rgba(255, 255, 255, .12); border-radius: 0; font-size: .46rem; }
  .nj-intelligence-copy { padding: 4px 0 0; }
  .nj-intelligence-copy h3 { font-size: 1.72rem; }
  .nj-intelligence-copy p { margin-top: 12px; font-size: .8rem; }
  .nj-intelligence-boundary { margin-top: 54px; }

  .nj-proof { padding: 88px 0; }
  .nj-proof-grid { grid-template-columns: 1fr; }
  .nj-proof-number { font-size: 7rem; }
  .nj-proof-statement h2 { font-size: 2.6rem; }
  .nj-live-folio { margin-top: 45px; }
  .nj-proof-list > div { padding-block: 25px; }

  .nj-gifts { padding: 88px 0; }
  .nj-gift-heading h2 { font-size: 3.55rem; }
  .nj-gift-heading > div > p:last-child { font-size: .94rem; }
  .nj-disclosure-near { padding-left: 18px; }
  .nj-gift-ledger { margin-top: 55px; }
  .nj-gift-ledger article { grid-template-columns: 30px 1fr; gap: 22px 15px; padding: 32px 0; }
  .nj-name-sample { min-height: 155px; }
  .nj-gift-copy { grid-column: 2; }
  .nj-etsy-link { grid-column: 2; width: 100%; }

  .nj-review { padding: 80px 0; }
  .nj-review h2 { font-size: 3.5rem; }
  .nj-review-list { grid-template-columns: 1fr; }

  .nj-closing { grid-template-columns: 1fr; }
  .nj-closing-art { min-height: 640px; }
  .nj-closing-copy { padding: 72px 24px 84px; }
  .nj-closing-copy h2 { font-size: 4rem; }
  .nj-closing-copy .nj-store-badge { width: calc(50% - 4px); }

  .nj-legal { padding: 78px 0; }
  .nj-legal-grid { grid-template-columns: 1fr; }
  .nj-footer-top, .nj-footer-base { align-items: flex-start; flex-direction: column; }
}

@media (prefers-color-scheme: dark) {
  .name-jar-page {
    --nj-canvas: #1f211d;
    --nj-paper: #292923;
    --nj-paper-raised: #313029;
    --nj-ink: #f1eadf;
    --nj-soft: #d0c8bc;
    --nj-muted: #aaa196;
    --nj-rule: rgba(238, 229, 216, .15);
    --nj-rule-strong: rgba(238, 229, 216, .28);
    --nj-moss: #afcfc5;
    --nj-moss-dark: #c3ddd5;
    background-image: url("./assets/apps/name-jar/editorial/paper-canvas-dark.webp");
  }
  .nj-stage--discover::before, .nj-stage--reveal::before { background-image: url("./assets/apps/name-jar/editorial/paper-canvas-dark.webp"); }
  .nj-stage--keep { background: #28322d; }
  .nj-store-badge { background: #11130f; }
  .nj-live-folio, .nj-name-sample { color: #302a24; }
  .nj-footer { background: #1b1d19; }
  .nj-footer nav a, .nj-footer-base { color: #aaa196; }
}

@media (prefers-reduced-motion: reduce) {
  .name-jar-page { scroll-behavior: auto; }
  .nj-hero-art { animation: none; }
  .nj-etsy-link { transition: none; }
}
