/* DECRYPT-inspired identity for the Rongorongo archive. Assets and palette from de-crypt.org. */
@font-face{font-family:Roboto;src:url('fonts/roboto-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('fonts/roboto-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Roboto;src:url('fonts/roboto-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'DM Serif Text';src:url('fonts/dm-serif-text-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{
  --ink:#0c2658;
  --ink2:#28395b;
  --deep:#0c2658;
  --deep2:#28395b;
  --cream:#fff;
  --paper:#fff;
  --line:#dce3ef;
  --muted:#52617d;
  --teal:#32559b;
  --mint:#eaf0fa;
  --sand:#f4f6fa;
  --accent:#efa200;
  --shadow:0 10px 30px rgba(12,38,88,.08);
}
html{scroll-behavior:smooth}
body{background:#fff;color:#28395b;font-family:Roboto,Arial,sans-serif;line-height:1.7}
h1,h2,h3,.brand,.tablet-tile strong,.detail-card h2,.manage-card h2{font-family:'DM Serif Text',Georgia,serif;font-weight:400;letter-spacing:0}
h1,h2,h3{color:#0c2658}
a:hover{color:#32559b}
button,input,select,textarea{font-family:Roboto,Arial,sans-serif}
:focus-visible{outline:3px solid #efa200;outline-offset:3px}

/* Shared blue masthead and DECRYPT mark. */
.site-header{background:#0c2658;border-bottom:0;box-shadow:0 6px 22px rgba(12,38,88,.12)}
.nav-shell{min-height:100px;gap:22px}
.brand{color:#fff;gap:15px;font-size:1.35rem;line-height:1.05}
.brand:hover{color:#fff}
.brand-logo{display:block;width:80px;height:80px;object-fit:contain;flex:none}
.brand small{color:#ced9ee;font-family:Roboto,Arial,sans-serif;letter-spacing:.18em;font-weight:500}
.site-header nav{gap:18px}
.site-header nav a,.nav-logout button{color:#f5f7fd;font-weight:500;font-size:.88rem}
.site-header nav a:hover,.site-header nav a.active,.nav-logout button:hover{color:#ffbd39}
.site-header nav .nav-manage{border-color:rgba(255,255,255,.52);color:#fff;border-radius:4px;padding:7px 11px}
.site-header nav .nav-manage:hover{border-color:#efa200;color:#ffbd39}
.nav-logout button{background:none}

/* Hero mirrors the source site's manuscript image, dark blue wash and orange action. */
.hero{background:#405b90 url('decrypt-hero.png') center center/cover no-repeat;min-height:480px;text-align:center;display:grid;align-items:center}
.hero-inner{padding-top:74px;padding-bottom:76px;max-width:1000px;margin:auto}
.hero h1{max-width:none;color:#fff;font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.18;margin:0 auto 20px}
.hero p{max-width:760px;margin:0 auto;color:#f5f7fd;font-size:1.08rem;line-height:1.75}
.hero .eyebrow{color:#f4bc4a;letter-spacing:.15em}
.hero-actions{justify-content:center;margin:31px 0 0}
.hero-actions:before{content:'';display:block;flex:0 0 100%;width:100%;height:2px;margin:0 0 16px;background:linear-gradient(90deg,transparent calc(50% - 165px),#efa200 calc(50% - 165px),#efa200 calc(50% + 165px),transparent calc(50% + 165px))}
.hero-mark{display:none}
.button{border-radius:5px;font-family:Roboto,Arial,sans-serif;font-weight:700;letter-spacing:.015em;box-shadow:none}
.light-button,.dark-button{background:#efa200;color:#0c2658;border-color:#efa200}
.light-button:hover,.dark-button:hover{background:#f8b52b;color:#0c2658;filter:none}
.outline-button{border-color:#fff;color:#fff;background:rgba(12,38,88,.18)}
.outline-button:hover{color:#0c2658;background:#fff;filter:none}
.outline-dark{border-color:#32559b;color:#0c2658;background:#fff}
.outline-dark:hover{background:#eaf0fa;filter:none}

/* Interior pages use white space, orange section labels and navy serif headings. */
.eyebrow,.page-head .eyebrow,.section-shell>.eyebrow{color:#a66700;font-weight:700;letter-spacing:.11em}
.page-head{background:#fff;border-bottom:1px solid #e4e9f2}
.page-head h1{color:#0c2658}
.page-head p,.lead,.intro-grid p,.recent-list small{color:#52617d}
.section-shell{color:#28395b}
.prose-shell h1,.prose-shell h2,.prose-shell h3,.markdown-content h1,.markdown-content h2,.markdown-content h3{color:#0c2658}
.prose-shell a,.markdown-content a,.edit-tools a,.editor-shell a{color:#32559b}
.prose-shell a:hover,.markdown-content a:hover,.edit-tools a:hover{color:#a66700}
.markdown-content{font-size:1rem;line-height:1.8}
.markdown-content blockquote{border-left:3px solid #efa200;padding-left:1.15rem;color:#52617d}
.markdown-content code,.markdown-content pre{background:#f4f6fa;color:#0c2658}

/* Collection numbers and paths through the archive. */
.stats-wrap{background:#32559b;color:#fff}
.stats-grid div{border-color:rgba(255,255,255,.25)}
.stats-grid strong{color:#fff;font-family:'DM Serif Text',Georgia,serif;font-weight:400}
.stats-grid span{color:#e5ecfa;text-transform:uppercase;letter-spacing:.1em}
.feature-list .feature,.recent-list a,.tablet-tile,.manage-card{background:#fff;border:1px solid #dce3ef;border-radius:4px;box-shadow:none}
.feature-list .feature:hover,.recent-list a:hover,.tablet-tile:hover,.manage-card:hover{border-color:#32559b;box-shadow:var(--shadow)}
.feature-icon,.tile-code{background:#0c2658;color:#fff}
.feature b,.tablet-tile b,.recent-list b{color:#d18d00}
.band{background:#f3f6fb}
.home-search button{background:#efa200;color:#0c2658}
.note-panel,.method-note{background:#f4f6fa;border-color:#efa200}
.note-star{color:#d69000}

/* Tables, filters, records and forms. */
.filter-panel,.detail-card,.paper-table-wrap,.record-form,.image-card,.line-list,.revision-list a,.file-text,.file-image{background:#fff;border-color:#dce3ef;box-shadow:none}
.filter-panel label,.form-grid label{color:#0c2658}
.filter-panel input,.filter-panel select,.form-grid input,.form-grid select,.form-grid textarea,.editor-shell textarea,.editor-shell input{border-color:#aebbd3;border-radius:4px;color:#28395b;background:#fff}
.paper-table th{background:#f1f4fa;color:#0c2658}
.paper-table td{border-color:#e5eaf3}
.paper-title,.text-link,.back-link{color:#32559b}
.paper-title:hover,.text-link:hover,.back-link:hover{color:#a66700}
.status{border-radius:4px}
.detail-authors,.table-sub,.table-id,.meta-card dt,.muted-count{color:#52617d}
.detail-card h2,.detail-section h2,.section-heading h2{color:#0c2658}
.evidence{background:#f1f4fa}
.download-strip{background:#eaf0fa;border-color:#cddaf0}
.download-strip a{color:#0c2658}
.line-item{border-color:#e5eaf3}
.line-item a,.image-card figcaption a{color:#32559b}
.file-frame{border-color:#cbd7eb}

/* Record citations. */
.citation-card{margin-top:24px}
.citation-card h2{margin-bottom:12px}
.citation-text{font-size:1.02rem;line-height:1.7;color:#28395b;overflow-wrap:anywhere}
.citation-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.citation-actions .button{justify-content:center}
.citation-details{border-top:1px solid #dce3ef;padding-top:14px}
.citation-details summary{color:#32559b;font-weight:700;cursor:pointer}
.citation-details pre{margin:14px 0 0;padding:18px;background:#f1f4fa;border:1px solid #dce3ef;border-radius:4px;color:#0c2658;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.86rem}
.table-citation-link{color:#32559b;font-weight:700;text-decoration:none}
.table-citation-link:hover{text-decoration:underline}

/* Messages and footer. */
.flash{background:#eaf0fa;border-color:#bdd0ee;color:#0c2658}
.flash.error{background:#fff1ec;border-color:#dfb1a2;color:#8d3b25}
.site-footer{background:#0c2658;color:#fff;border-top:0}
.site-footer strong,.site-footer p,.site-footer a{color:#f3f6fc}
.site-footer a:hover{color:#ffbd39}
.footer-brand{display:flex;align-items:center;gap:18px}
.footer-brand img{width:74px;height:74px;object-fit:contain;flex:none}
.footer-brand p{margin:.3rem 0;font-size:.85rem;color:#d4dff1}
.footer-brand a{font-size:.78rem;color:#ffbd39}

/* Object holdings map and linked city inventory. */
.location-shell{padding-top:36px;padding-bottom:55px}
.location-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:26px}
.location-stats div{display:flex;flex-direction:column;background:#0c2658;color:#fff;padding:18px 22px;border-radius:4px}
.location-stats strong{font:400 2.2rem/1 'DM Serif Text',Georgia,serif}
.location-stats span{font-size:.73rem;text-transform:uppercase;letter-spacing:.09em;margin-top:8px;color:#dbe6fb}
.location-lead{max-width:900px;margin-bottom:28px}
.object-map{height:540px;width:100%;border:1px solid #cbd7eb;border-radius:4px;background:#dce7ef;z-index:1}
.object-map-marker{display:grid;place-items:center;background:#efa200;border:3px solid #0c2658;color:#0c2658;border-radius:50%;font:700 15px/1 Roboto,Arial,sans-serif;box-shadow:0 3px 12px #0c265899}
.object-map-marker span{display:block;text-align:center}
.object-map .leaflet-popup-content p{margin:.4rem 0}.object-map .leaflet-popup-content a{color:#32559b;font-weight:700}
.map-credit{font-size:.75rem;color:#52617d;margin:6px 0 36px}.map-credit a{color:#32559b}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 45px}
.location-card,.location-exceptions article{background:#fff;border:1px solid #dce3ef;border-radius:4px;padding:22px}
.location-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.location-card h3,.location-exceptions h3{font-size:1.5rem;color:#0c2658;margin:0 0 3px}
.location-card-head p{color:#52617d;margin:0}.location-count{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:#0c2658;color:#fff;font-weight:700}
.coordinate-line{font-size:.8rem;color:#52617d;margin:12px 0 15px}.focus-place{border:0;background:none;color:#32559b;font-size:inherit;font-weight:700;padding:0 0 0 6px;text-decoration:underline}
.location-card ul{list-style:none;margin:0;padding:0}.location-card li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;border-top:1px solid #e5eaf3;padding:12px 0}.location-card li>a:first-child{font-weight:700;color:#0c2658}.location-card li>span{grid-column:1;color:#52617d;font-size:.8rem}.location-card li>.holding-source{grid-column:2;grid-row:1 / span 2;color:#32559b;font-size:.8rem;align-self:center}.location-card li>small{grid-column:1 / -1;color:#52617d;font-size:.78rem;margin-top:5px}
.location-exceptions{margin:20px 0}.exception-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.location-exceptions article p{font-size:.9rem;color:#52617d;margin:.5rem 0}.location-exceptions article a{color:#32559b}
@media(max-width:750px){.location-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.location-grid,.exception-list{grid-template-columns:1fr}.object-map{height:430px}}
@media(max-width:450px){.location-card li{grid-template-columns:1fr}.location-card li>.holding-source{grid-column:1;grid-row:auto;margin-top:4px}}

/* Sign-in stays separate from archive content, with the same visual identity. */
.auth-body{background:#405b90 url('decrypt-hero.png') center center/cover fixed no-repeat}
.auth-brand{font-family:'DM Serif Text',Georgia,serif;font-weight:400;font-size:1.4rem;gap:16px}
.auth-logo{width:94px;height:94px;object-fit:contain}
.auth-brand small{font-family:Roboto,Arial,sans-serif;color:#e1e9f6}
.auth-card{background:#fff;border-top:5px solid #efa200;box-shadow:0 22px 55px rgba(12,38,88,.24)}
.auth-card h1{color:#0c2658}
.auth-switch a,.auth-signout button{color:#32559b}
.auth-foot{color:#f5f7fd}

@media(max-width:1180px){
  .nav-shell{flex-wrap:wrap;padding-top:9px;padding-bottom:15px;gap:4px}
  .site-header nav{width:100%;justify-content:flex-start;gap:18px;overflow-x:auto;padding:0 0 3px}
}
@media(max-width:800px){
  .nav-shell{align-items:flex-start}
  .brand-logo{width:68px;height:68px}
  .hero{min-height:420px}
  .hero-inner{padding-top:62px;padding-bottom:65px}
  .hero h1{font-size:clamp(2.3rem,7vw,3.5rem)}
}
@media(max-width:550px){
  .nav-shell{padding-top:7px;padding-bottom:12px}
  .site-header nav{gap:17px}
  .brand{font-size:1.13rem}
  .brand-logo{width:61px;height:61px}
  .hero h1{font-size:2.45rem}
  .hero-actions{gap:10px}
  .hero-actions .button{width:100%;justify-content:center}
  .footer-brand{align-items:flex-start}
  .footer-brand img{width:58px;height:58px}
  .auth-logo{width:75px;height:75px}
}
