/* ABOUT PAGE (ported from carrionroost.com/about, recolored to the Vultures palette) */
.about-page {
  --red: #8B0000;          /* blood */
  --red-dim: #4A0000;
  --red-bright: #B22222;
  --red-vivid: #B22222;
  --beige: #e8d8c0;        /* bone-bright */
  --beige-dim: #c8b89a;    /* bone */
  --beige-dark: #7a6a54;   /* bone-dim */
  --orange: #a8843f;       /* gold replaces the orange accents */
  --orange-bright: #c9a25a;
  --black: #080808;
  --black-mid: #0b0b0b;
  --black-surface: #121110;
  --black-raised: #181614;
}
.about-page .page-hero {min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; position: relative; overflow: hidden;}
.about-page .page-hero-bg {position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 30% 50%, rgba(139,0,0,0.1) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 70% 80%, rgba(168,132,63,0.05) 0%, transparent 60%), var(--black);}
.about-page .page-hero-bg::after {content: ''; position: absolute; top: 64px; bottom: 0; left: 50%; width: 1px; background: linear-gradient(to bottom, transparent, rgba(139,0,0,0.4) 20%, rgba(139,0,0,0.4) 80%, transparent);}
.about-page .page-hero-left {position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 120px 64px 80px 64px;}
.about-page .eyebrow {font-family: 'Cinzel', serif; font-size: 10px; font-weight: 500; letter-spacing: 0.25em; color: var(--orange); text-transform: uppercase; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;}
.about-page .eyebrow::before {content: ''; display: block; width: 28px; height: 1px; background: var(--orange); flex-shrink: 0;}
.about-page h1 {font-family: 'Cinzel Decorative', serif; font-size: clamp(36px, 4.5vw, 58px); font-weight: 700; color: var(--beige); line-height: 1.1; margin-bottom: 28px; letter-spacing: 0.02em;}
.about-page h1 em {font-style: normal; color: var(--red-bright);}
.about-page .hero-desc {font-size: 18px; font-weight: 300; color: var(--beige-dim); line-height: 1.75; max-width: 480px; margin-bottom: 20px;}
.about-page .hero-desc strong {color: var(--beige); font-weight: 400;}
.about-page .hero-link {font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 0.16em; color: var(--red-vivid); text-decoration: none; border-bottom: 1px solid rgba(200,50,50,0.4); transition: color 0.2s, border-color 0.2s;}
.about-page .hero-link:hover {color: var(--orange); border-color: var(--orange);}
.about-page .page-hero-right {position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 120px 64px 80px 40px;}
.about-page .image-frame {position: relative; width: 100%; max-width: 420px;}
.about-page .image-frame-inner {position: relative; width: 100%; aspect-ratio: 3/4; background: var(--black-surface); border: 1px solid rgba(139,0,0,0.3); overflow: hidden; display: flex; align-items: center; justify-content: center;}
.about-page .image-frame-inner img {width: 100%; height: 100%; object-fit: cover; display: block;}
.about-page .image-placeholder {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 100%; padding: 40px; text-align: center;}
.about-page .image-placeholder-label {font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.2em; color: var(--black-raised); text-transform: uppercase;}
.about-page .image-frame-inner::before, .about-page .image-frame-inner::after {content: ''; position: absolute; width: 20px; height: 20px; z-index: 2;}
.about-page .image-frame-inner::before {top: 0; left: 0; border-top: 2px solid var(--red); border-left: 2px solid var(--red);}
.about-page .image-frame-inner::after {bottom: 0; right: 0; border-bottom: 2px solid var(--red); border-right: 2px solid var(--red);}
.about-page .image-frame::before, .about-page .image-frame::after {content: ''; position: absolute; width: 20px; height: 20px; z-index: 3;}
.about-page .image-frame::before {top: 0; right: 0; border-top: 2px solid var(--red); border-right: 2px solid var(--red);}
.about-page .image-frame::after {bottom: 0; left: 0; border-bottom: 2px solid var(--red); border-left: 2px solid var(--red);}
.about-page .pillars {padding: 64px; background: var(--black-mid); border-top: 1px solid rgba(139,0,0,0.25); border-bottom: 1px solid rgba(139,0,0,0.25);}
.about-page .pillars-eyebrow {font-family: 'Cinzel', serif; font-size: 10px; letter-spacing: 0.25em; color: var(--orange); text-transform: uppercase; display: flex; align-items: center; gap: 12px; margin-bottom: 40px;}
.about-page .pillars-eyebrow::before {content: ''; display: block; width: 20px; height: 1px; background: var(--orange);}
.about-page .pillars-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px;}
.about-page .pillar {background: var(--black-surface); border: 1px solid rgba(216,210,198,0.06); padding: 32px 28px; position: relative; transition: border-color 0.25s;}
.about-page .pillar:hover {border-color: rgba(139,0,0,0.5);}
.about-page .pillar-num {font-family: 'Cinzel', serif; font-size: 28px; font-weight: 600; color: var(--red-vivid); line-height: 1; margin-bottom: 16px; letter-spacing: 0.04em;}
.about-page .pillar-title {font-family: 'Cinzel', serif; font-size: 12px; font-weight: 500; letter-spacing: 0.1em; color: var(--beige); line-height: 1.4; margin-bottom: 10px; text-transform: uppercase;}
.about-page .pillar-desc {font-size: 14px; color: var(--beige-dark); line-height: 1.6;}
.about-page .pillar-accent {position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease;}
.about-page .pillar:hover .pillar-accent {transform: scaleX(1);}
.about-page .section-divider {display: flex; align-items: center; gap: 20px; padding: 0 64px;}
.about-page .section-divider::before, .about-page .section-divider::after {content: ''; flex: 1; height: 1px; background: rgba(216,210,198,0.08);}
.about-page .divider-mark {width: 6px; height: 6px; border: 1px solid var(--red); transform: rotate(45deg); flex-shrink: 0;}
.about-page .publisher {padding: 96px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; position: relative;}
.about-page .publisher.reverse {direction: rtl;}
.about-page .publisher.reverse > * {direction: ltr;}
.about-page .publisher-content {}
.about-page .publisher-eyebrow {font-family: 'Cinzel', serif; font-size: 10px; letter-spacing: 0.25em; color: var(--orange); text-transform: uppercase; display: flex; align-items: center; gap: 12px; margin-bottom: 20px;}
.about-page .publisher-eyebrow::before {content: ''; display: block; width: 20px; height: 1px; background: var(--orange);}
.about-page h2 {font-family: 'Cinzel Decorative', serif; font-size: clamp(22px, 2.8vw, 36px); font-weight: 700; color: var(--beige); line-height: 1.15; margin-bottom: 8px; letter-spacing: 0.02em;}
.about-page h2 em {font-style: normal; color: var(--red-bright);}
.about-page .publisher-type {font-family: 'Cinzel', serif; font-size: 10px; letter-spacing: 0.2em; color: var(--beige-dark); text-transform: uppercase; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid rgba(216,210,198,0.08);}
.about-page .publisher-body {font-size: 17px; color: var(--beige-dim); line-height: 1.8; margin-bottom: 28px;}
.about-page .publisher-contact {font-size: 14px; color: var(--beige-dark); margin-bottom: 32px; display: flex; flex-direction: column; gap: 6px;}
.about-page .publisher-contact a {color: var(--red-bright); text-decoration: none; font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 0.1em; transition: color 0.2s;}
.about-page .publisher-contact a:hover {color: var(--orange);}
.about-page .team-block {background: var(--black-surface); border: 1px solid rgba(216,210,198,0.06); border-left: 2px solid var(--red); padding: 24px 28px; margin-bottom: 24px;}
.about-page .team-block h3 {font-family: 'Cinzel', serif; font-size: 10px; font-weight: 600; letter-spacing: 0.22em; color: var(--orange); text-transform: uppercase; margin-bottom: 16px;}
.about-page .team-list {list-style: none; display: flex; flex-direction: column; gap: 10px;}
.about-page .team-list li {font-size: 15px; color: var(--beige-dim); line-height: 1.4; padding-left: 16px; position: relative;}
.about-page .team-list li::before {content: ''; position: absolute; left: 0; top: 10px; width: 5px; height: 1px; background: var(--red);}
.about-page .team-list li strong {color: var(--beige); font-weight: 400;}
.about-page .mission-block {padding: 24px 0 0;}
.about-page .mission-block h3 {font-family: 'Cinzel', serif; font-size: 10px; font-weight: 600; letter-spacing: 0.22em; color: var(--orange); text-transform: uppercase; margin-bottom: 14px;}
.about-page .mission-block p {font-size: 16px; font-style: italic; color: var(--beige-dark); line-height: 1.75;}
.about-page .publisher-visual {display: flex; flex-direction: column; gap: 16px; position: sticky; top: 96px;}
.about-page .pub-image-frame {position: relative; width: 100%;}
.about-page .pub-image-inner {position: relative; width: 100%; aspect-ratio: 4/5; background: var(--black-surface); border: 1px solid rgba(139,0,0,0.3); overflow: hidden; display: flex; align-items: center; justify-content: center;}
.about-page .pub-image-inner img {width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block;}
.about-page .pub-image-inner::before, .about-page .pub-image-inner::after {content: ''; position: absolute; width: 16px; height: 16px; z-index: 2;}
.about-page .pub-image-inner::before {top: 0; left: 0; border-top: 2px solid var(--red); border-left: 2px solid var(--red);}
.about-page .pub-image-inner::after {bottom: 0; right: 0; border-bottom: 2px solid var(--red); border-right: 2px solid var(--red);}
.about-page .pub-image-frame::before, .about-page .pub-image-frame::after {content: ''; position: absolute; width: 16px; height: 16px; z-index: 3;}
.about-page .pub-image-frame::before {top: 0; right: 0; border-top: 2px solid var(--red); border-right: 2px solid var(--red);}
.about-page .pub-image-frame::after {bottom: 0; left: 0; border-bottom: 2px solid var(--red); border-left: 2px solid var(--red);}
.about-page .image-caption {display: flex; align-items: center; justify-content: space-between;}
.about-page .image-caption-name {font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.2em; color: var(--beige-dark); text-transform: uppercase;}
.about-page .image-caption-role {font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.16em; color: var(--red-bright); text-transform: uppercase;}
.about-page .policy-section {padding: 80px 64px; background: var(--black-mid); border-top: 1px solid rgba(139,0,0,0.2);}
.about-page .policy-section + .policy-section {border-top: 1px solid rgba(216,210,198,0.06);}
.about-page .policy-inner {max-width: 800px;}
.about-page .policy-section h2 {font-family: 'Cinzel', serif; font-size: 13px; font-weight: 600; letter-spacing: 0.22em; color: var(--orange); text-transform: uppercase; margin-bottom: 32px; display: flex; align-items: center; gap: 16px;}
.about-page .policy-section h2::before {content: ''; display: block; width: 20px; height: 1px; background: var(--orange);}
.about-page .policy-section h3 {font-family: 'Cinzel', serif; font-size: 11px; font-weight: 500; letter-spacing: 0.18em; color: var(--beige); text-transform: uppercase; margin: 28px 0 12px;}
.about-page .policy-section p {font-size: 15px; color: var(--beige-dark); line-height: 1.8; margin-bottom: 16px;}
.about-page .policy-section ul {margin: 0 0 16px 0; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 8px;}
.about-page .policy-section ul li {font-size: 15px; color: var(--beige-dark); line-height: 1.7; padding-left: 20px; position: relative;}
.about-page .policy-section ul li::before {content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 1px; background: var(--red);}
.about-page .policy-date {font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.18em; color: var(--beige-dark); opacity: 0.5; margin-bottom: 32px;}
.about-page .contact {padding: 96px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;}
.about-page .contact-left .eyebrow {margin-bottom: 20px;}
.about-page .contact-left h2 {font-family: 'Cinzel Decorative', serif; font-size: clamp(22px, 2.5vw, 32px); font-weight: 700; color: var(--beige); line-height: 1.2; margin-bottom: 20px; letter-spacing: 0.02em;}
.about-page .contact-left p {font-size: 17px; color: var(--beige-dark); line-height: 1.75; margin-bottom: 16px;}
.about-page .contact-left a {color: var(--red-bright); text-decoration: none; font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 0.12em;}
.about-page .contact-form {display: flex; flex-direction: column; gap: 14px;}
.about-page .form-row {display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.about-page .form-group {display: flex; flex-direction: column; gap: 6px;}
.about-page .form-group label {font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.2em; color: var(--beige-dark); text-transform: uppercase;}
.about-page .form-group input, .about-page .form-group textarea {background: var(--black-surface); border: 1px solid rgba(216,210,198,0.1); color: var(--beige); font-family: 'Crimson Pro', serif; font-size: 16px; font-weight: 300; padding: 14px 16px; outline: none; transition: border-color 0.2s; width: 100%; resize: none;}
.about-page .form-group input::placeholder, .about-page .form-group textarea::placeholder {color: var(--beige-dark); font-style: italic;}
.about-page .form-group input:focus, .about-page .form-group textarea:focus {border-color: rgba(139,0,0,0.6);}
.about-page .form-group textarea {height: 140px;}
.about-page .btn-primary {display: inline-block; background: var(--red); color: var(--beige); font-family: 'Cinzel', serif; font-size: 11px; font-weight: 600; letter-spacing: 0.18em; padding: 16px 32px; text-decoration: none; border: 1px solid var(--red-bright); transition: background 0.2s, border-color 0.2s; text-transform: uppercase; cursor: pointer; width: 100%; text-align: center;}
.about-page .btn-primary:hover {background: var(--red-bright); border-color: var(--red-bright);}
@media (max-width: 900px) {
  .about-page .page-hero, .about-page .publisher, .about-page .contact {grid-template-columns: 1fr;}
  .about-page .page-hero-right {padding: 40px 24px;}
  .about-page .page-hero-left {padding: 100px 24px 40px;}
  .about-page .publisher {padding: 64px 24px; gap: 48px;}
  .about-page .publisher.reverse {direction: ltr;}
  .about-page .pillars {padding: 48px 24px;}
  .about-page .pillars-grid {grid-template-columns: 1fr 1fr; gap: 2px;}
  .about-page .policy-section {padding: 64px 24px;}
  .about-page .contact {padding: 64px 24px; gap: 48px;}
  .about-page .page-hero-bg::after {display: none;}
  .about-page .publisher-visual {position: static;}
  .about-page .form-row {grid-template-columns: 1fr;}
}

/* Long policies collapse so the page stays a manageable length */
.about-page .policy-details summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.about-page .policy-details summary::-webkit-details-marker { display: none; }
.about-page .policy-details summary h2 { margin-bottom: 0; }
.about-page .policy-toggle {
  font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--orange); border: 1px solid var(--gold-dim, #6e5526); padding: 8px 14px; white-space: nowrap;
}
.about-page .policy-details summary:hover .policy-toggle { border-color: var(--orange); color: var(--beige); }
.about-page .policy-details[open] .policy-toggle { font-size: 0; padding: 8px 14px; }
.about-page .policy-details[open] .policy-toggle::after { content: 'Close'; font-size: 11px; }
.about-page .policy-details[open] summary { margin-bottom: 24px; }
