/* Extra page styles (careers, Dan's page); builds on style.css. */
.careers-page .cr-list { list-style: none; padding: 0; margin: 0 0 1.25rem; display: grid; gap: .75rem; }
.careers-page .cr-list li { padding-left: 1.1rem; position: relative; line-height: 1.55; }
.careers-page .cr-list li::before { content: ""; position: absolute; left: 0; top: .7em; width: .45rem; height: 1px; background: currentColor; opacity: .6; }
.careers-page .cr-file input[type="file"] { width: 100%; padding: .75rem; border: 1px dashed currentColor; border-radius: 2px; background: transparent; font: inherit; cursor: pointer; }
.careers-page .cr-file input[type="file"]::file-selector-button { font: inherit; margin-right: .75rem; padding: .45rem .9rem; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; }
.careers-page .f-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.careers-page .f-check { display: flex; gap: .6rem; align-items: flex-start; margin: 1.25rem 0; line-height: 1.5; font-size: .95rem; }
.careers-page .f-check input { margin-top: .3rem; flex: none; width: 1.05rem; height: 1.05rem; }
.careers-page [aria-invalid="true"] { outline: 2px solid #b4432c; outline-offset: 2px; }
.careers-page .form-status.is-error { color: #b4432c; }
.careers-page .cr-submit { min-height: 48px; }
.careers-page .cr-submit[disabled] { opacity: .6; cursor: progress; }
.careers-page .cr-done { padding: 1.5rem; border: 1px solid currentColor; border-radius: 2px; }
.careers-page .cr-done h3 { margin: 0 0 .5rem; }
.careers-page .cr-done:focus { outline: none; }
.careers-page .cr-steps { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 1rem; }
.careers-page .cr-steps li { display: grid; grid-template-columns: 2.5rem 1fr; gap: .5rem; line-height: 1.55; }
.careers-page .cr-steps .mono { opacity: .6; padding-top: .15rem; }

/* Dan's page: "Beyond the work", writing and links. */
.dan-more .dm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem 2rem; }
.dan-more .dm-item h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.dan-more .dm-item p { margin: 0; line-height: 1.6; }
.dan-more .dm-links { list-style: none; padding: 0; margin: 1rem 0 0; border-top: 1px solid var(--line, rgba(0,0,0,.15)); }
.dan-more .dm-links li { border-bottom: 1px solid var(--line, rgba(0,0,0,.15)); }
.dan-more .dm-links a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; padding: .9rem 0; min-height: 44px; text-decoration: none; color: inherit; }
.dan-more .dm-links a:hover span:last-child, .dan-more .dm-links a:focus-visible span:last-child { text-decoration: underline; }
.dan-more .dm-links .mono { opacity: .65; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.dan-photo { margin: 1.5rem 0 2rem; max-width: 300px; }
.dan-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.dan-photo figcaption { margin-top: .5rem; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; opacity: .65; }
@media (min-width: 900px) { .dan-photo { float: right; margin: 0 0 1.5rem 2.5rem; max-width: 320px; } }
.dan-more .dm-help { opacity: .75; font-size: .92rem; }
.dan-more .dm-bio { margin: 1.25rem 0; padding: 1.1rem 1.25rem; border: 1px solid var(--line, rgba(0,0,0,.15)); border-radius: 2px; }
.dan-more .dm-bio p { margin: 0; line-height: 1.65; }
.dan-more .dm-bio-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .6rem; }
.dan-more .dm-bio-head h3 { margin: 0; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.dan-more .dm-copy { min-height: 40px; min-width: 72px; padding: 0 .9rem; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-size: .85rem; cursor: pointer; border-radius: 2px; }
.dan-more .dm-gallery { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 760px) { .dan-more .dm-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
.dan-more .dm-gallery figure { margin: 0; }
.dan-more .dm-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; background: rgba(0,0,0,.06); }
.dan-more .dm-gallery figcaption { margin-top: .4rem; font-size: .78rem; line-height: 1.35; opacity: .7; }

/* Project page: Palmline (Homestead) */
.palmline-page .hs-hero { margin: 2rem 0; }
.palmline-page .hs-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 2px; background: rgba(0,0,0,.06); }
.palmline-page .hs-hero figcaption { margin-top: .5rem; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; opacity: .65; }
.palmline-page .hs-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.palmline-page .hs-links a { min-height: 44px; display: inline-flex; align-items: center; }
.palmline-page .cr-list { list-style: none; padding: 0; margin: 0 0 1.25rem; display: grid; gap: .75rem; }
.palmline-page .cr-list li { padding-left: 1.1rem; position: relative; line-height: 1.55; }
.palmline-page .cr-list li::before { content: ""; position: absolute; left: 0; top: .7em; width: .45rem; height: 1px; background: currentColor; opacity: .6; }
.palmline-page .pl-projects { list-style: none; padding: 0; margin: 1.25rem 0 0; border-top: 1px solid var(--line, rgba(0,0,0,.15)); }
.palmline-page .pl-projects li { border-bottom: 1px solid var(--line, rgba(0,0,0,.15)); }
.palmline-page .pl-projects a { position: relative; display: grid; gap: .2rem; padding: 1rem 2rem 1rem 0; text-decoration: none; color: inherit; }
.palmline-page .pl-projects .mono { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.palmline-page .pl-projects strong { font-size: 1.1rem; font-weight: 500; }
.palmline-page .pl-projects a:hover strong, .palmline-page .pl-projects a:focus-visible strong { text-decoration: underline; }
.palmline-page .pl-go { position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); }
