:root{--navy:#001d38;--navy2:#03243f;--gold:#b77a15;--cream:#f4ead7;--paper:#fbf2df;--ink:#1d1b17}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:#00283f;color:var(--ink);font-family:Georgia,'Times New Roman',serif}a{color:inherit}.site-header{height:58px;background:linear-gradient(90deg,#001a33,#001f3b);color:#fff;display:flex;align-items:center;padding:0 4.5%;gap:24px;border-bottom:1px solid #b77a15;position:relative;z-index:5}.brand{font-style:italic;font-size:21px;line-height:1}.brand small{display:block;color:#d7a445;font-size:11px;margin-top:6px}.site-nav{display:flex;gap:34px;margin-left:auto;align-items:center}.site-nav a{text-decoration:none;font-size:13px;text-transform:uppercase}.site-nav a.active{color:#d89926}.actions{display:flex;gap:12px;margin-left:8px}.actions a{border:1px solid #c28620;border-radius:4px;padding:11px 16px;text-decoration:none;font-size:12px;text-transform:uppercase}.actions .gold{background:#b77914}.desktop-page{display:block;position:relative;max-width:1024px;margin:0 auto;background:var(--paper)}.desktop-page>img{display:block;width:100%;height:auto}.mobile-page{display:none;max-width:520px;margin:0 auto;background:var(--paper)}.mobile-page img{display:block;width:100%;height:auto}.mobile-row{display:grid;grid-template-columns:1fr;gap:0}.mobile-section-label{background:var(--paper);text-align:center;padding:13px 12px 5px;color:#0a2034;font-weight:bold;letter-spacing:.03em}.home-wrap{position:relative;max-width:1024px;margin:0 auto;background:var(--paper)}.home-wrap img{width:100%;height:auto;display:block}.hotspot{position:absolute;display:block;z-index:3}.hotspot:focus{outline:2px solid #d89926}.home-about{left:49%;top:2.4%;width:16%;height:3.8%}.home-family{left:67%;top:2.4%;width:15%;height:3.8%}.home-login{left:66%;top:5.1%;width:16%;height:4%}.home-request{left:82%;top:5.1%;width:16%;height:4%}.home-contact{left:74%;top:88.3%;width:22%;height:3%}.home-footer-about{left:74%;top:91.2%;width:20%;height:2.8%}.home-privacy{left:74%;top:93.8%;width:20%;height:2.8%}.content-hotspot{position:absolute;display:block;z-index:3}.family-login-bottom{left:67%;top:80%;width:14%;height:7%}.family-request-bottom{left:82%;top:80%;width:15%;height:7%}.about-login-bottom{left:77%;top:72%;width:17%;height:8%}.about-request-bottom{left:77%;top:63%;width:17%;height:8%}.simple-page{min-height:calc(100vh - 58px);background:linear-gradient(#f7ecd8,#efe0c7);padding:50px 18px}.paper-card{max-width:820px;margin:0 auto;background:#fff9ec;border:1px solid #c99a47;border-radius:14px;padding:36px;box-shadow:0 12px 30px #0002}.paper-card h1{color:#082744;font-size:42px;margin:0 0 8px}.paper-card h2{color:#8a5b12;margin-top:28px}.paper-card p,.paper-card li{line-height:1.55}.back-home{display:inline-block;margin-top:24px;background:#062744;color:#fff;padding:12px 18px;text-decoration:none;border-radius:6px}.site-footer{background:#001d38;color:#f5e4c3;border-top:1px solid #b77a15;text-align:center;padding:22px 16px;font-size:13px}.site-footer a{color:#f5e4c3;margin:0 8px}
@media(max-width:700px){body{background:#00283f}.site-header{height:auto;min-height:72px;padding:10px 14px;display:grid;grid-template-columns:1fr auto;gap:8px}.brand{font-size:18px}.site-nav{grid-column:1/-1;order:3;margin:0;gap:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff24;padding-top:8px}.site-nav a{text-align:center;font-size:10px;padding:7px 3px}.actions{margin:0;gap:6px}.actions a{font-size:9px;padding:8px 9px}.desktop-page{display:none}.mobile-page{display:block}.home-wrap{max-width:100%;}.home-wrap img{width:100%}.home-about,.home-family,.home-login,.home-request,.home-contact,.home-footer-about,.home-privacy{display:block}.simple-page{padding:24px 12px}.paper-card{padding:24px 18px}.paper-card h1{font-size:32px}.site-footer{font-size:11px}.mobile-page .site-footer{margin-top:0}}
/* V2 responsive correction — locked desktop artwork unchanged */
@media(max-width:700px){
  .mobile-page{padding:14px 12px 0;background:var(--paper);overflow:hidden}
  .mobile-card{background:var(--paper);border:1px solid #d7b77d;border-radius:10px;overflow:hidden;margin:0 0 14px;box-shadow:0 3px 10px #0001}
  .mobile-card img{width:100%;height:auto;object-fit:contain}
  .about-mobile .intro img,.family-mobile .intro img{width:100%}
  .about-mobile .collage{padding:8px;background:#eadcc3}.about-mobile .collage img{border-radius:5px}
  .mobile-section-label{font-size:19px;margin:14px -12px 10px;padding:12px 8px;background:#fbf2df;border-top:2px solid #0a2034;border-bottom:1px solid #d8b979;line-height:1.2}
  .tile-grid{display:grid;gap:10px;margin-bottom:14px}.tile-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-grid img{width:100%;height:auto;border:1px solid #dbc49a;border-radius:8px;background:#f7ecd9}
  .steps img{align-self:stretch;object-fit:contain}
  .join-card{display:block;width:min(86%,360px);margin:16px auto}.join-card img{width:100%;border-radius:8px}
  .mobile-footer-art{width:calc(100% + 24px)!important;max-width:none!important;margin-left:-12px;display:block}
  .portrait-card{width:min(76%,360px);margin:0 auto 14px}.portrait-card img{width:100%;height:auto;display:block}
  .timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.timeline-grid img{width:100%;height:auto;border:1px solid #dbc49a;border-radius:8px;background:#f7ecd9}.timeline-grid img:last-child{grid-column:1/-1;width:50%;justify-self:center}
  .card-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}.card-grid img{width:100%;height:auto;border-radius:8px;border:1px solid #dbc49a}
  .family-cta-mobile{display:block;margin:4px 0 14px}.family-cta-mobile img{width:100%;height:auto;border-radius:8px}
}
@media(max-width:420px){
  .tile-grid.two,.timeline-grid{grid-template-columns:1fr}
  .timeline-grid img:last-child{grid-column:auto;width:100%}
  .portrait-card{width:88%}
}


/* V3 mobile verification fixes — desktop masters remain locked */
.home-mobile{display:none}
.mobile-heritage-footer{display:none}
@media(max-width:700px){
  /* HOME: keep approved art, remove embedded tiny footer on mobile, replace with legible responsive footer. */
  .home-desktop{display:none}
  .home-mobile{display:block;background:var(--paper);max-width:520px;margin:0 auto}
  .home-mobile-art{position:relative;width:100%;aspect-ratio:1024/1360;overflow:hidden;background:var(--paper)}
  .home-mobile-art>img{display:block;width:100%;height:auto}
  /* Original hotspot percentages were based on 1536px total image height. The mobile art ends at 1360px. */
  .home-mobile-art .home-about{left:49%;top:2.71%;width:16%;height:4.3%}
  .home-mobile-art .home-family{left:67%;top:2.71%;width:15%;height:4.3%}
  .home-mobile-art .home-login{left:66%;top:5.76%;width:16%;height:4.52%}
  .home-mobile-art .home-request{left:82%;top:5.76%;width:16%;height:4.52%}

  /* Cleaner image presentation: crop assets now contain only their own card content. */
  .about-mobile .collage{padding:8px}
  .about-mobile .collage img{width:100%;height:auto;object-fit:contain}
  .tile-grid img,.timeline-grid img{object-fit:contain;overflow:hidden}
  .portrait-card{background:transparent;overflow:hidden}
  .portrait-card img{object-fit:contain}

  /* Ready-to-Join panel: use the new 4x asset and let it render larger without browser blur. */
  .join-card{width:min(90%,430px);margin:18px auto 20px}
  .join-card img{image-rendering:auto;box-shadow:0 4px 12px #0002}

  /* Mobile footer: readable, same navy/gold heritage language, using the approved crest asset. */
  .mobile-heritage-footer{display:grid;grid-template-columns:76px 1fr;gap:12px 14px;align-items:center;background:linear-gradient(90deg,#001a33,#002844);color:#f5e4c3;border-top:1px solid #b77a15;padding:18px 18px 20px;margin:16px -12px 0;min-height:220px}
  .home-mobile>.mobile-heritage-footer{margin:0;min-height:285px;padding:24px 20px 26px}
  .footer-crest{width:76px!important;height:auto!important;grid-row:1/3;align-self:start}
  .footer-copy{min-width:0;text-align:center;color:#d99a2a}
  .footer-copy strong{display:block;font-size:13px;letter-spacing:.08em;line-height:1.35}
  .footer-copy em{display:block;font-size:12px;line-height:1.4;margin-top:5px;color:#e3b85d}
  .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:12px;line-height:1.35}
  .footer-links a{color:#f6ead2;text-decoration:none;border-bottom:1px solid #d99a2a66;padding-bottom:2px}
  .footer-copyright{grid-column:1/-1;border-top:1px solid #b77a1566;padding-top:12px;text-align:center;font-size:11px;line-height:1.35;color:#eadfc9}

  /* Slightly reduce header depth without hiding navigation. */
  .site-header{padding-top:8px;padding-bottom:8px;gap:6px}
  .site-nav{padding-top:6px}
  .site-nav a{padding-top:6px;padding-bottom:6px}
}
@media(max-width:420px){
  /* Keep the 2+2+1 timeline pattern locked; do not collapse to one column. */
  .tile-grid.two,.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline-grid img:last-child{grid-column:1/-1;width:52%;justify-self:center}
  .portrait-card{width:84%}
  .mobile-heritage-footer{grid-template-columns:64px 1fr;padding-left:14px;padding-right:14px}
  .footer-crest{width:64px!important}
  .footer-copy strong{font-size:12px}.footer-copy em,.footer-links{font-size:11px}
}

/* V4 desktop responsive pass — ONLY About This Project + Family History desktop presentation.
   Mobile rules and page artwork remain unchanged. */
@media(min-width:701px){
  .desktop-page{
    width:min(88vw,1440px);
    max-width:1440px;
    margin:0 auto;
  }
  .site-header{
    min-height:66px;
    height:66px;
    padding-left:max(4.5%,calc((100vw - 1440px)/2));
    padding-right:max(4.5%,calc((100vw - 1440px)/2));
  }
  .brand{font-size:24px}
  .brand small{font-size:12px;margin-top:7px}
  .site-nav{gap:38px}
  .site-nav a{font-size:14px}
  .actions a{font-size:12px;padding:12px 17px}
}
