/* Fieldnotes owns the homepage signup; the closing section owns contact. */
.fieldnotes-subscribe { margin-top:40px; padding-top:30px; display:flex; justify-content:flex-end; }
.fieldnotes-subscribe .newsletter { max-width:none; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,440px); column-gap:48px; align-items:center; }
.fieldnotes-subscribe .newsletter-description { margin:0; font:clamp(19px,2vw,28px)/1.35 var(--sans); color:var(--paper); letter-spacing:-.025em; }
.fieldnotes-subscribe .newsletter-fallback { grid-column:2; margin-top:10px; }

/* Underline: the shared portfolio footer. */
.closing { min-height:88svh; display:flex; flex-direction:column; border-top:1px solid var(--line); padding-top:30px; isolation:isolate; }
.closing-label { display:flex; justify-content:space-between; color:var(--muted); font:10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.035em; }
.closing-composition { position:relative; flex:1; display:grid; grid-template-columns:1fr; grid-template-rows:auto 200px auto; grid-template-areas:"title" "art" "links"; min-height:520px; padding-block:70px 40px; }
.closing h2 { grid-area:title; align-self:end; position:relative; z-index:2; font-family:var(--sans); font-size:clamp(60px,7vw,128px); font-weight:700; letter-spacing:-.055em; line-height:1; }
.closing h2>span { white-space:nowrap; }
.closing-stop { color:var(--orange); }
.closing-links { grid-area:links; align-self:start; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:20px 32px; position:relative; z-index:2; margin-top:10px; }
.closing-email { font:clamp(17px,1.6vw,25px)/1.5 var(--sans); letter-spacing:-.02em; }
.closing-linkedin { font:12px/1.5 var(--mono); }
.closing-links a { padding-block:7px; }
.closing-art { grid-area:art; min-width:0; align-self:stretch; position:relative; margin-inline:-20px; }
.closing-art canvas, .closing-art-fallback { position:absolute; inset:0; display:block; width:100%; height:100%; }
.closing-art canvas { visibility:hidden; }
.closing-art.is-drawn canvas { visibility:visible; }
.closing-art.is-drawn .closing-art-fallback { visibility:hidden; }
.closing-motion[hidden] { display:none; }
.closing-motion { position:absolute; z-index:3; right:0; bottom:115px; width:34px; height:34px; display:grid; place-items:center; border:1px solid #55574f; border-radius:50%; background:var(--bg); font:11px var(--mono); }
.closing-motion:hover { border-color:var(--orange); color:var(--orange); }
.closing-signoff { display:flex; align-items:center; gap:24px; min-height:95px; padding-block:22px; }
.closing-wave { width:100px; height:34px; flex:none; fill:none; stroke:var(--muted); stroke-width:1.15; transition:stroke .25s; }
.closing-signoff:has(a:is(:hover,:focus-visible)) .closing-wave { stroke:var(--orange); }
.closing-rule { height:1px; background:var(--line); flex:1; min-width:20px; }
.closing-credit { flex:none; font:15px/1.5 var(--sans); letter-spacing:-.03em; }

@media (min-width:1600px) {
  .closing-composition { min-height:620px; grid-template-rows:auto 270px auto; }
}
@media (max-width:1050px) {
  .closing-links { gap:12px 24px; }
}
@media (max-width:760px) {
  .fieldnotes-subscribe { margin-top:32px; }
  .fieldnotes-subscribe .newsletter { grid-template-columns:1fr; gap:20px; }
  .fieldnotes-subscribe .newsletter-fallback { grid-column:1; margin:0; }
  .fieldnotes-subscribe .newsletter-embed { max-width:440px; }
  .closing { min-height:0; padding-top:25px; }
  .closing-composition { grid-template-rows:auto 170px auto; padding-block:55px 48px; min-height:0; }
  .closing h2 { font-size:66px; }
  .closing-links { flex-direction:column; gap:14px; }
  .closing-email { font-size:20px; }
  .closing-art { width:100%; }
  .closing-motion { bottom:175px; }
  .closing-signoff { gap:16px; }
  .closing-wave { width:70px; height:28px; }
  .closing-credit { font-size:14px; }
}
@media (max-width:380px) {
  .closing h2 { font-size:58px; }
}
@media (prefers-reduced-motion:reduce) {
  .closing * { transition:none!important; scroll-behavior:auto!important; }
}
