/* Haley Maddox brand v1.26, for the site's own pages (home and section pages).
   The imported artifact pages carry their own copies of these styles. */
:root{
  --paper:#FDF8F6; --ink:#2F2622; --hyssop:#A3326F; --hyssop-deep:#7E2154;
  --petal:#F296BD; --blush:#F4D6E2; --garden:#3F6B3A; --sage:#B7C4A0; --line:#EBD9DE;
  --sunflower:#F5C22B; --heirloom-deep:#B4471C; --card:#FFFFFF;
  --display:"Fraunces",Georgia,serif; --body:"Atkinson Hyperlegible",Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--body)}
a{color:var(--hyssop)}
:focus-visible{outline:2px solid var(--hyssop);outline-offset:2px}
.page{max-width:1000px;margin:0 auto;padding:28px max(16px,env(safe-area-inset-left,0px)) 48px}

/* specimen label */
.label{border:1px solid var(--hyssop);border-radius:4px;padding:14px 16px;background:var(--paper)}
.label .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.label .eb{font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--garden)}
.label h1{font:500 30px/1.1 var(--display);color:var(--hyssop);margin:0}
.label .sub{margin:6px 0 12px;max-width:62ch}
.label .bot{display:flex;justify-content:space-between;border-top:1px dashed var(--petal);padding-top:8px;font-size:13px;line-height:1.4}

/* section label + heading */
.slab{font:700 13px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--garden);margin:40px 0 6px}
h2{font:500 24px/1.2 var(--display);color:var(--hyssop);margin:0 0 16px}

/* link cards */
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cards a{display:flex;gap:14px;align-items:flex-start;height:100%;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}
.cards a:hover{border-color:var(--hyssop)}
.cards img{width:44px;height:44px;flex:none}
.cards b{display:block;font:500 20px/1.2 var(--display);color:var(--hyssop);margin-bottom:4px}
.cards span{font-size:15px}
.callout{background:var(--blush);color:var(--hyssop-deep);border-radius:8px;padding:14px 16px;margin-top:32px}

/* footer */
.hm-foot{max-width:1000px;margin:0 auto;padding:0 20px 28px}
.hm-dbl{border-top:1px solid var(--hyssop);border-bottom:1px solid var(--hyssop);height:4px}
.hm-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:10px}
.hm-mbh{font-family:var(--body);font-size:13px;color:var(--ink);white-space:nowrap}.hm-mbh span{color:var(--hyssop)}
.hm-flip{perspective:400px;text-align:right;min-width:0}
.hm-ln{display:inline-block;font-family:var(--display);font-style:italic;font-weight:400;font-size:14px;line-height:1.3;color:var(--hyssop-deep);backface-visibility:hidden}
.hm-out{animation:hmOut .3s ease-in forwards}.hm-in{animation:hmIn .36s ease-out forwards}
@keyframes hmOut{to{transform:rotateX(90deg);opacity:0}}
@keyframes hmIn{from{transform:rotateX(-90deg);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hm-out,.hm-in{animation:none}}
.hm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
