@import url('https://fonts.googleapis.com/css2?family=Anton&family=Special+Elite&display=swap');

:root{
  --bg:#090806;
  --bg2:#11100d;
  --paper:#ded1b2;
  --paper2:#efe5cb;
  --muted:#aaa083;
  --olive:#a8aa55;
  --travel:#8e9182;
  --rust:#b45b34;
  --ink:#11100c;
  --line:rgba(222,209,178,.68);
  --soft:rgba(222,209,178,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--paper);font-family:'Special Elite',monospace;overflow-x:hidden}
.grain{pointer-events:none;position:fixed;inset:0;z-index:999;opacity:.14;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.18) 0 1px,transparent 1px),radial-gradient(circle at 80% 70%,rgba(255,255,255,.11) 0 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025),rgba(0,0,0,.025));background-size:4px 4px,7px 7px,100% 3px;mix-blend-mode:screen}
a{color:inherit}
.topbar{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:82px;padding:24px 44px}
.brand{text-decoration:none;font-size:22px;letter-spacing:.06em}
nav{display:flex;gap:28px;flex-wrap:wrap;font-size:14px;letter-spacing:.08em}
nav a{text-decoration:none}
nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}
.pill{border:1px solid var(--paper);border-radius:50%;padding:8px 17px;text-align:center;transform:rotate(-5deg)}
main{max-width:1240px;margin:auto;padding:0 44px}
.hero{min-height:760px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
h1{font-family:'Anton',Impact,sans-serif;font-size:clamp(76px,12vw,178px);line-height:.78;letter-spacing:-.045em;margin:0 0 34px}
h2{font-family:'Anton',Impact,sans-serif;font-size:clamp(38px,5vw,64px);line-height:.92;letter-spacing:-.035em;margin:0 0 18px}
h3{font-family:'Anton',Impact,sans-serif;font-size:34px;letter-spacing:-.03em;margin:16px 0 8px}
.subtitle{font-size:22px;line-height:1.45;margin-bottom:70px}
.manifesto{font-size:18px;line-height:1.55;letter-spacing:.06em}
.mono,.small{letter-spacing:.06em}
.small{font-size:13px;color:var(--muted);line-height:1.55}
.status{color:var(--muted);line-height:1.45}
.text-link{text-underline-offset:5px}
.button{display:inline-block;background:#111;color:var(--paper2);border:1px solid currentColor;text-decoration:none;padding:14px 20px;margin-top:12px;font-family:'Special Elite',monospace;cursor:pointer}
.button.ghost{background:transparent;color:var(--paper)}
.button.submit{width:max-content}
.zine-stage{position:relative;min-height:640px;display:grid;place-items:center}
.stack{position:absolute;width:min(430px,70vw);height:560px;background:#c8bda0;border:1px solid var(--line);right:72px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.sheet3{transform:rotate(5deg) translate(36px,8px)}
.sheet2{transform:rotate(2deg) translate(18px,4px);background:#d8ccb0}
.hero-zine{position:relative;width:min(430px,70vw);height:560px;object-fit:cover;border:1px solid var(--line);transform:rotate(3deg);filter:contrast(1.05) saturate(.75) brightness(.78);box-shadow:0 24px 80px rgba(0,0,0,.6)}
.tape{position:absolute;bottom:86px;left:90px;background:#b8a579;color:#0d0c0a;padding:18px 28px;transform:rotate(-4deg);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.stamp{position:absolute;right:4px;bottom:40px;width:132px;height:132px;border:2px solid var(--paper);border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-22deg)}
.latest-strip{border:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr 2fr auto;gap:24px;align-items:center;padding:20px 24px;margin:40px 0}
blockquote{font-size:18px;color:var(--muted);line-height:1.45;margin:0}
.cards{display:grid;grid-template-columns:1fr .62fr 1.53fr;gap:18px;margin:38px 0 72px}
.paper-card,.kraft-card,.map-card,.form-card,.pin-card,.success-card,.leader-card,.copy-card,.photo-card{border:1px solid var(--line);padding:28px}
.paper-card{background:var(--paper2);color:var(--ink)}
.paper-card .button{color:var(--paper2)}
.paper-card h2{font-size:50px}
.scribble{font-size:18px;margin-top:48px;transform:rotate(-6deg)}
.kraft-card{background:#9b8758;color:#16120b;transform:rotate(-2deg);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.kraft-card p{font-size:22px;margin:0 0 28px;transform:rotate(-3deg)}
.map-card{background:var(--bg2);min-height:480px}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.map{height:390px;width:100%;border:1px solid rgba(222,209,178,.4);background:#0f0e0b;filter:saturate(.78) contrast(1.08) brightness(.96) sepia(.08)}
.leaflet-container{font-family:'Special Elite',monospace;background:#0f0e0b}
.leaflet-tile{filter:saturate(.55) contrast(1.08) brightness(.88) sepia(.18) hue-rotate(6deg)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#efe5cb;color:#11100c;border-radius:0}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--muted)}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px}
.dot.found{background:var(--olive)}
.dot.traveling{background:var(--travel)}
.feed-section,.leader-section,.photos-section{border-top:1px solid var(--line);padding:44px 0}
.feed,.leader-grid,.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feed-card,.leader-card,.photo-card{border:1px solid var(--line);padding:18px;background:var(--bg2);min-height:160px;position:relative;overflow:hidden}
.feed-card:before,.leader-card:before,.photo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(222,209,178,.04),transparent);pointer-events:none}
.feed-card strong,.leader-card strong{display:block;color:var(--paper2);margin-bottom:10px}
.feed-card p,.leader-card p,.photo-card p{color:var(--muted);line-height:1.45}
.feed-card a,.leader-card a{text-decoration:none}
.feed-card a:hover,.leader-card a:hover{text-decoration:underline;text-underline-offset:5px}
.issues{border-top:1px solid var(--line);padding:44px 0 72px;display:grid;grid-template-columns:.75fr 1.25fr;gap:40px}
.issue-preview,.archive-grid,.copy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.issue-card{border:1px solid var(--line);background:var(--bg2);padding:18px;min-height:260px}
.issue-card img,.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72) contrast(1.08) brightness(.78);border:1px solid rgba(222,209,178,.3)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.72) contrast(1.08);border:1px solid var(--line)}
footer{border-top:1px solid var(--line);max-width:1240px;margin:auto;padding:34px 44px 60px;display:grid;grid-template-columns:1fr 1fr;color:var(--muted);line-height:1.6}
.found-main,.archive-main,.qr-main,.success-main,.copy-main{max-width:1100px}
.found-intro,.archive-hero,.copy-hero{margin:60px 0 30px}
.found-intro h1,.archive-hero h1,.success-card h1,.copy-hero h1{font-size:clamp(72px,12vw,130px)}
.found-intro p:not(.mono),.archive-hero p,.success-card p,.copy-hero p{max-width:650px;font-size:21px;color:var(--muted)}
.found-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-bottom:80px}
.form-card,.pin-card{background:#12110f}
form{display:grid;gap:18px}
label{display:grid;gap:8px;font-size:14px;letter-spacing:.06em}
input,textarea,select{width:100%;background:#e8ddc2;color:#090807;border:1px solid #090807;padding:14px 13px;font:16px 'Special Elite',monospace}
input[type="file"]{background:#12110f;color:var(--paper);border:1px dashed var(--line)}
textarea{resize:vertical}
.geo-actions,.success-actions,.action-row{display:flex;gap:10px;flex-wrap:wrap}
.checkbox{display:flex;gap:10px;align-items:center}
.checkbox input{width:auto}
.pick-map{height:560px}
.success-card{background:var(--bg2);margin:70px 0 100px}
.archive-grid{margin-bottom:90px}
.qr-tools{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;border:1px solid var(--line);padding:20px;background:var(--bg2);margin-bottom:30px}
.qr-list{display:grid;gap:10px;margin-bottom:90px}
.qr-row{border:1px solid var(--line);padding:14px;display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;background:var(--bg2)}
.qr-row code{color:var(--muted);word-break:break-all}
.admin-note{border:1px dashed var(--line);background:rgba(222,209,178,.06);padding:18px;color:var(--muted);line-height:1.5;margin-bottom:24px}
.copy-card{background:var(--bg2)}
.copy-card h3{font-size:42px}
.timeline{display:grid;gap:14px;margin-bottom:80px}
.timeline-item{border-left:2px solid var(--olive);padding:6px 0 16px 20px}
.timeline-item img{max-width:280px;width:100%;border:1px solid var(--line);filter:brightness(.82) saturate(.75)}
.hidden{display:none}
@media(max-width:900px){
  .topbar{display:flex;flex-direction:column;align-items:flex-start;padding:22px}
  nav{gap:18px}.pill{align-self:flex-start}
  main{padding:0 22px}
  .hero,.cards,.issues,.latest-strip,.feed,.leader-grid,.photo-grid,.found-grid,footer,.issue-preview,.archive-grid,.copy-grid,.qr-tools,.qr-row{grid-template-columns:1fr}
  .hero{min-height:auto;padding:30px 0}
  .subtitle{margin-bottom:32px}
  .zine-stage{min-height:560px}
  .gallery{grid-template-columns:1fr}
  .map,.pick-map{height:390px}
}


/* v2 map readability patch */
.map {
  background:#171612;
  filter:saturate(.78) contrast(1.08) brightness(.96) sepia(.08);
}
.leaflet-tile {
  filter:saturate(.55) contrast(1.08) brightness(.88) sepia(.18) hue-rotate(6deg);
}
.leaflet-control-attribution {
  background:rgba(239,229,203,.82) !important;
  color:#11100c !important;
}
.leaflet-control-zoom a {
  background:#efe5cb !important;
  color:#11100c !important;
  border-bottom-color:#11100c !important;
}
.wd-pin span {
  outline:2px solid rgba(239,229,203,.62);
}


/* v3 cleanup */
.topbar{
  grid-template-columns:1fr auto !important;
}
.pill{
  display:none !important;
}
.about-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:90px;
}
.contact-grid{
  align-items:start;
}
.hidden{
  display:none;
}
code{
  color:var(--paper2);
  background:rgba(222,209,178,.08);
  padding:.1em .25em;
}
@media(max-width:900px){
  .about-grid{grid-template-columns:1fr}
}


/* v4 public UX polish */
nav .nav-cta{
  border:1.5px solid var(--paper);
  padding:10px 15px;
  margin-top:-10px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 0 0 1px rgba(222,209,178,.18), 0 8px 24px rgba(0,0,0,.28);
  text-decoration:none !important;
}
nav .nav-cta:hover{
  background:var(--olive);
  color:#090806;
  border-color:var(--olive);
  transform:translateY(-1px);
}
.topbar nav{
  align-items:center;
}
.form-card .status{
  max-width:560px;
}
@media(max-width:900px){
  nav .nav-cta{
    margin-top:0;
    width:100%;
    text-align:center;
  }
}


/* v6 readability + contact stability */
.hero h1{
  font-size:clamp(64px,10.5vw,150px);
  line-height:.84;
  letter-spacing:-.035em;
  max-width:920px;
}
.hero{
  grid-template-columns:1fr .95fr;
}
@media(max-width:900px){
  .hero h1{
    font-size:clamp(58px,22vw,92px);
    line-height:.86;
    letter-spacing:-.03em;
  }
}


/* v8 fix: keep Netlify detection forms invisible */
[hidden],
form[hidden],
.hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}


/* v9 final mobile + map readability pass */
.map {
  background:#d8cfb8;
  filter:saturate(.72) contrast(1.04) brightness(.9) sepia(.22);
  min-height:420px;
}
.leaflet-tile {
  filter:saturate(.72) contrast(1.02) brightness(.92) sepia(.18) hue-rotate(2deg);
}
.leaflet-container {
  color:#11100c;
}
.leaflet-control-attribution {
  background:rgba(239,229,203,.9) !important;
  color:#11100c !important;
  font-size:11px !important;
}
.leaflet-control-zoom a {
  background:#efe5cb !important;
  color:#11100c !important;
}
.wd-pin span {
  outline:3px solid rgba(9,8,6,.55);
  box-shadow:0 0 0 2px rgba(239,229,203,.8), 0 0 22px rgba(168,170,85,.65) !important;
}
.topbar {
  position:relative;
  z-index:20;
}
nav .nav-cta {
  white-space:nowrap;
}
img {
  max-width:100%;
}
textarea {
  min-height:150px;
}
button, .button, input, textarea, select {
  max-width:100%;
}
@media(max-width:1100px){
  .topbar{
    grid-template-columns:1fr;
    gap:16px;
    padding:22px 28px;
  }
  nav{
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  body{
    font-size:16px;
  }
  main{
    padding:0 18px;
  }
  .topbar{
    padding:18px;
    border-bottom:1px solid rgba(222,209,178,.25);
  }
  .brand{
    font-size:20px;
  }
  nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
    font-size:13px;
  }
  nav a{
    border:1px solid rgba(222,209,178,.35);
    padding:10px 9px;
    text-align:center;
  }
  nav .nav-cta{
    grid-column:1 / -1;
    font-size:15px;
    padding:13px 14px;
  }
  .hero{
    display:block;
    padding:34px 0 18px;
  }
  .hero h1{
    font-size:clamp(54px,18vw,86px);
    line-height:.88;
    letter-spacing:-.02em;
    margin-bottom:24px;
  }
  .subtitle{
    font-size:19px;
    margin-bottom:28px;
  }
  .manifesto{
    font-size:15px;
  }
  .zine-stage{
    min-height:430px;
    margin-top:22px;
  }
  .stack,
  .hero-zine{
    width:min(310px,80vw);
    height:410px;
    right:auto;
  }
  .tape{
    left:12px;
    bottom:52px;
    padding:12px 14px;
    font-size:13px;
  }
  .stamp{
    width:100px;
    height:100px;
    right:6px;
    bottom:22px;
    font-size:13px;
  }
  .latest-strip{
    display:block;
    padding:18px;
  }
  .latest-strip > *{
    margin-bottom:16px;
  }
  .cards,
  .issues,
  .found-grid,
  .archive-grid,
  .issue-preview,
  .copy-grid,
  .feed,
  .leader-grid,
  .photo-grid,
  footer,
  .about-grid{
    display:grid;
    grid-template-columns:1fr !important;
  }
  .paper-card,
  .kraft-card,
  .map-card,
  .form-card,
  .pin-card,
  .success-card,
  .leader-card,
  .copy-card,
  .photo-card,
  .issue-card{
    padding:20px;
  }
  .paper-card h2,
  h2{
    font-size:clamp(38px,12vw,56px);
  }
  .map,
  .pick-map{
    height:430px;
    min-height:430px;
  }
  .section-head{
    display:block;
  }
  .section-head .button{
    margin-bottom:16px;
  }
  .feed-section,
  .leader-section,
  .photos-section,
  .issues{
    padding:36px 0;
  }
  .found-intro,
  .archive-hero,
  .copy-hero{
    margin:38px 0 22px;
  }
  .found-intro h1,
  .archive-hero h1,
  .success-card h1,
  .copy-hero h1{
    font-size:clamp(54px,17vw,86px);
    line-height:.88;
  }
  input,
  textarea,
  select{
    font-size:16px;
  }
  .button{
    width:100%;
    text-align:center;
  }
  .geo-actions,
  .success-actions,
  .action-row{
    display:grid;
    grid-template-columns:1fr;
  }
  footer{
    gap:14px;
    padding:28px 18px 46px;
  }
}
@media(max-width:420px){
  main{
    padding:0 14px;
  }
  .hero h1{
    font-size:56px;
  }
  .map,
  .pick-map{
    height:380px;
    min-height:380px;
  }
  nav{
    font-size:12px;
  }
}


/* v10 distance traveled */
.distance-section{
  border-top:1px solid var(--line);
  padding:44px 0;
}
.distance-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.distance-card{
  border:1px solid var(--line);
  padding:18px;
  background:var(--bg2);
  min-height:190px;
  position:relative;
  overflow:hidden;
}
.distance-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(222,209,178,.04),transparent);
  pointer-events:none;
}
.distance-card strong{
  display:block;
  color:var(--paper2);
  margin-bottom:10px;
}
.distance-card a{
  text-decoration:none;
}
.distance-card a:hover{
  text-decoration:underline;
  text-underline-offset:5px;
}
.rank{
  color:var(--olive);
  margin-bottom:16px;
  letter-spacing:.08em;
}
.distance-number{
  font-family:'Anton',Impact,sans-serif;
  font-size:clamp(38px,5vw,62px);
  line-height:.9;
  letter-spacing:-.03em;
  color:var(--paper2) !important;
  margin:10px 0 16px;
}
@media(max-width:1100px){
  .distance-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px){
  .distance-grid{
    grid-template-columns:1fr;
  }
  .distance-section{
    padding:36px 0;
  }
}


/* v11 final clarity + polish */
.how-section{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:0 0 42px;
}
.how-section article{
  border:1px solid var(--line);
  background:var(--bg2);
  padding:22px;
  min-height:210px;
}
.how-section h3{
  margin-top:10px;
}
.how-section p{
  color:var(--muted);
  line-height:1.45;
}
.how-section .mono{
  color:var(--olive);
}
.latest-strip{
  margin-top:22px;
}
.cards{
  margin-top:28px;
}
.distance-card,
.leader-card,
.feed-card{
  transition:transform .18s ease, border-color .18s ease;
}
.distance-card:hover,
.leader-card:hover,
.feed-card:hover{
  transform:translateY(-2px);
  border-color:rgba(222,209,178,.95);
}
.section-head .status{
  max-width:360px;
}
@media(max-width:760px){
  .how-section{
    grid-template-columns:1fr;
    margin-bottom:28px;
  }
  .how-section article{
    min-height:auto;
  }
  .section-head .status{
    max-width:none;
  }
  .topbar nav a[href="about.html"]::after{
    content:"";
  }
}


/* v12 final UX hierarchy + visual polish */
.concept-line{
  margin-top:24px;
  max-width:460px;
  color:var(--muted);
  font-size:18px;
  line-height:1.45;
}
.hero-cta{
  margin-top:18px;
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
  box-shadow:0 10px 34px rgba(0,0,0,.35);
}
.hero-cta:hover{
  background:var(--olive);
  border-color:var(--olive);
  color:#090806;
}
.how-section{
  margin-top:-10px;
}
.how-section article{
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.how-section article:hover{
  transform:translateY(-2px);
  border-color:rgba(222,209,178,.95);
  background:rgba(222,209,178,.06);
}
.map-card .button.ghost{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}
.map-card .button.ghost:hover{
  background:var(--olive);
  border-color:var(--olive);
}
footer a{
  text-underline-offset:5px;
}
@media(max-width:760px){
  .concept-line{
    font-size:16px;
    margin-top:18px;
  }
  .hero-cta{
    width:100%;
    text-align:center;
    margin-top:12px;
  }
  .how-section{
    margin-top:8px;
  }
  .latest-strip{
    margin-top:24px;
  }
}


/* v13 launch patch: finder photos must never clip text */
.photo-grid{
  align-items:start;
}
.photo-card,
.finder-photo-card{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex;
  flex-direction:column;
}
.finder-photo-card img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  margin:0;
}
.photo-card-body{
  padding-top:16px;
}
.photo-card-body p{
  margin:0 0 10px;
}
.photo-card-body p:last-child{
  margin-bottom:0;
}
.photo-copy{
  font-size:20px;
  color:var(--paper2);
}
.photo-copy a{
  text-underline-offset:5px;
}
.photos-section .section-head{
  margin-bottom:22px;
}
.photos-section .status{
  max-width:620px;
  margin-top:8px;
}
@media(max-width:760px){
  .photo-copy{
    font-size:18px;
  }
  .finder-photo-card img{
    aspect-ratio:3 / 2;
  }
}


/* v14 launch clarity release */
.process-strip{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1.25fr;
  align-items:center;
  gap:14px;
  border:1px solid var(--line);
  background:rgba(222,209,178,.055);
  padding:18px 22px;
  margin:-10px 0 34px;
}
.process-strip div{
  display:grid;
  gap:6px;
}
.process-strip span{
  color:var(--olive);
  letter-spacing:.08em;
}
.process-strip strong{
  color:var(--paper2);
  letter-spacing:.06em;
}
.process-strip i{
  color:var(--muted);
  font-style:normal;
  font-size:22px;
}
.hero-cta{
  margin-top:18px;
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
  box-shadow:0 10px 34px rgba(0,0,0,.35);
}
.hero-cta:hover{
  background:var(--olive);
  border-color:var(--olive);
  color:#090806;
}
.latest-journey-section{
  border-top:1px solid var(--line);
  padding:38px 0 20px;
}
.journey-card{
  border:1px solid var(--line);
  background:var(--bg2);
  padding:28px;
}
.journey-card h2 a{
  text-decoration:none;
}
.journey-card h2 a:hover{
  text-decoration:underline;
  text-underline-offset:6px;
}
.journey-steps{
  display:flex;
  align-items:stretch;
  gap:14px;
  flex-wrap:wrap;
  margin:20px 0;
}
.journey-step{
  border:1px solid rgba(222,209,178,.45);
  padding:14px;
  min-width:170px;
  flex:1;
}
.journey-step span{
  display:block;
  color:var(--olive);
  margin-bottom:8px;
  letter-spacing:.06em;
}
.journey-step strong{
  display:block;
  color:var(--paper2);
  font-size:20px;
}
.journey-arrow{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:24px;
}
.journey-stats{
  color:var(--muted);
  font-size:18px;
  line-height:1.45;
}
.map-card .section-head .status{
  margin-top:8px;
}
.map-card .button.ghost{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--paper);
}
.map-card .button.ghost:hover{
  background:var(--olive);
  border-color:var(--olive);
}
.photo-grid{
  align-items:start;
}
.photo-card,
.finder-photo-card{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  display:flex;
  flex-direction:column;
}
.finder-photo-card img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  margin:0;
}
.photo-card-body{
  padding-top:16px;
}
.photo-card-body p{
  margin:0 0 10px;
}
.photo-copy{
  font-size:20px;
  color:var(--paper2);
}
.photos-section .status{
  max-width:620px;
  margin-top:8px;
}
footer a{
  text-underline-offset:5px;
}
@media(max-width:760px){
  .process-strip{
    grid-template-columns:1fr;
    gap:10px;
    margin:8px 0 28px;
  }
  .process-strip i{
    transform:rotate(90deg);
    justify-self:start;
    margin-left:6px;
  }
  .journey-steps{
    display:grid;
    grid-template-columns:1fr;
  }
  .journey-arrow{
    transform:rotate(0);
    justify-content:start;
  }
  .hero-cta{
    width:100%;
    text-align:center;
  }
  .finder-photo-card img{
    aspect-ratio:3 / 2;
  }
}


/* v15 print-ready polish: project-first About page */
.project-first{
  grid-template-columns:repeat(3,1fr);
  align-items:start;
}
.project-first .about-wide{
  grid-column:span 2;
}
.status-card{
  background:rgba(168,170,85,.13);
}
.status-card strong{
  color:var(--paper2);
}
.about-main .copy-card p{
  line-height:1.58;
}
.about-main .archive-hero p{
  max-width:760px;
}
@media(max-width:900px){
  .project-first,
  .project-first .about-wide{
    grid-template-columns:1fr;
    grid-column:span 1;
  }
}
