﻿:root {
    --phoenix-brown: #4F2B1D;
    --phoenix-gold: #C69534;
    --phoenix-ink: #1E1107;
    --phoenix-paper: #F7F1E8;
    --phoenix-cream: #FEFBF5;
    --phoenix-muted: #6D5B4E;
    --phoenix-line: rgba(79, 43, 29, .18);
}

html { scroll-behavior: smooth; }

body {
    min-width: 320px;
    overflow-x: hidden;
    color: var(--phoenix-ink);
    background: var(--phoenix-cream);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.72;
}

a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--phoenix-gold); outline-offset: 4px; }

/* Font Awesome Icon Styling */
i { display: inline-block; }
.button i, .text-link i, .scroll-cue i { margin-right: .5rem; }
.button i { font-size: .85em; }
.contact-icon { display: flex; align-items: center; justify-content: center; }
.contact-icon i { font-size: 1.6rem; color: var(--phoenix-gold); }

.skip-link {
    position: fixed; z-index: 2000; top: 1rem; left: 1rem; padding: .7rem 1rem;
    color: var(--phoenix-ink); background: var(--phoenix-gold);
    transform: translateY(-160%); transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.site-header {
    position: sticky; z-index: 1000; top: 0;
    border-bottom: 1px solid rgba(79, 43, 29, .14);
    background: rgba(255, 255, 255, .97);
    transition: box-shadow .35s ease, background .35s ease;
}
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(30, 17, 7, .08); }
.site-nav { min-height: 84px; padding: .85rem 0; }
.brand-mark { display: inline-flex; align-items: center; gap: .7rem; color: var(--phoenix-paper); letter-spacing: .02em; }
.site-header .brand-mark { color: var(--phoenix-ink); }
.site-header .brand-copy strong { color: var(--phoenix-ink); }
.brand-logo {
    display: block;
    width: 35px;
    height: auto;
    flex: 0 0 auto;
}
.brand-copy { display: flex; flex-direction: column; font-size: 1rem; letter-spacing: .22em; line-height: 1.15; text-transform: uppercase; }
.brand-copy strong { color: var(--phoenix-paper); font-size: .85rem; font-weight: 1000; }
.brand-copy span { margin-top: .2rem; color: var(--phoenix-gold); }

.navbar-toggler { padding: .4rem; border: 0; color: var(--phoenix-ink); border-radius: 0; }
.navbar-toggler:focus { box-shadow: none; }
.navbar-toggler-icon {
    position: relative; display: block; width: 1.7rem; height: 1rem;
    border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; background-image: none;
}
.navbar-toggler-icon::after {
    position: absolute; top: calc(50% - 1px); left: 0; width: 100%;
    border-top: 2px solid currentColor; content: "";
}
.navbar-nav { align-items: center; gap: .15rem; }
.site-nav .nav-link {
    position: relative; padding: .55rem .85rem; color: var(--phoenix-ink);
    font-size: .85rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
.site-nav .nav-link::after {
    position: absolute; right: .85rem; bottom: .28rem; left: .85rem; height: 1px;
    background: var(--phoenix-gold); content: ""; opacity: 0; transform: scaleX(0);
    transition: opacity .2s ease, transform .2s ease;
}
.site-nav .nav-link:hover, .site-nav .nav-link:focus { color: var(--phoenix-brown); }
.site-nav .nav-link:hover::after, .site-nav .nav-link:focus::after { opacity: 1; transform: scaleX(1); }
.site-nav .nav-link.is-active { color: var(--phoenix-brown); }
.site-nav .nav-link.is-active::after { opacity: 1; transform: scaleX(1); }


.hero-section {
    position: relative; min-height: min(760px, calc(100vh - 84px)); padding: clamp(5rem, 10vw, 8.8rem) 0 5rem;
    overflow: hidden; color: var(--phoenix-paper);
    background: radial-gradient(circle 460px at var(--pointer-x, 78%) var(--pointer-y, 42%), rgba(198, 149, 52, .15), transparent 62%), var(--phoenix-ink);
}
.hero-section::before {
    position: absolute; top: -30vw; right: -13vw; width: 65vw; height: 65vw;
    border: 1px solid rgba(198, 149, 52, .23); border-radius: 50%; content: "";
}
.hero-section::after {
    position: absolute; right: 8%; bottom: 0; width: 1px; height: 29%;
    background: rgba(198, 149, 52, .55); content: "";
}
.hero-section .container { position: relative; z-index: 1; }
.eyebrow {
    display: flex; align-items: center; gap: .55rem; margin-bottom: 1.1rem;
    color: var(--phoenix-brown); font-size: .69rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
}
.eyebrow::before { width: 2rem; height: 1px; background: currentColor; content: ""; }
.eyebrow-light { color: var(--phoenix-gold); }
.hero-section h1, .display-heading, .collaboration-inner h1, .collaboration-inner h2 {
    font-family: "Cinzel", Georgia, serif; font-weight: 600; letter-spacing: -.025em;
}
.hero-section h1 {
    max-width: 790px; margin: 0; color: var(--phoenix-paper);
    font-size: clamp(2.85rem, 4.8vw, 5.2rem); line-height: 1.02;
}
.hero-section h1 em, .display-heading em, .collaboration-inner em { color: var(--phoenix-gold); font-weight: 500; }
.hero-intro { max-width: 570px; margin: 2rem 0 0; color: rgba(247, 241, 232, .78); font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2.4rem; }
.button {
    display: inline-flex; align-items: center; gap: 1.5rem; padding: .9rem 1.15rem;
    font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}
.button-gold { will-change: transform; }
.button-gold { color: var(--phoenix-ink); background: var(--phoenix-gold); }
.button-gold:hover { color: var(--phoenix-paper); background: var(--phoenix-brown); transform: translateY(-2px); }
.text-link {
    display: inline-flex; gap: .55rem; align-items: center; padding-bottom: .22rem; border-bottom: 1px solid currentColor;
    font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}
.text-link-light { color: var(--phoenix-paper); }
.text-link:hover { color: var(--phoenix-gold); }

.hero-video-frame {
    position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 0; overflow: hidden;
    border: 1px solid rgba(198, 149, 52, .7); background: var(--phoenix-ink);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
    border-radius: 15px;
    transform: translate3d(var(--art-x, 0), var(--art-y, 0), 0) rotate(var(--art-rotate, 0deg));
    transition: transform .28s ease-out;
}
.hero-video {
    width: 100%; height: 100%; object-fit:fill; display: block;
}

.hero-art {
    position: relative; width: min(100%, 420px); min-height: 470px; margin: 0 0 0 auto; overflow: hidden;
    border: 1px solid rgba(198, 149, 52, .7); background: linear-gradient(145deg, #6b3e25 0%, #3d2115 52%, #1e1107 100%);
    transform: translate3d(var(--art-x, 0), var(--art-y, 0), 0) rotate(var(--art-rotate, 0deg));
    transition: transform .28s ease-out;
}
.hero-art::before, .hero-art::after {
    position: absolute; z-index: 1; width: 58%; height: 58%; border: 1px solid rgba(247, 241, 232, .28); border-radius: 50%; content: "";
}
.hero-art::before { top: -20%; left: -20%; }
.hero-art::after { right: -20%; bottom: -20%; }
.frame-count, .art-kicker, .art-title { position: absolute; z-index: 3; }
.frame-count { top: 1.25rem; left: 1.4rem; color: var(--phoenix-gold); font-size: .68rem; letter-spacing: .18em; }
.art-kicker {
    top: 1.3rem; right: 1.3rem; color: rgba(247, 241, 232, .72); font-size: .6rem;
    letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl;
}
.art-title {
    right: 1.6rem; bottom: 1.35rem; color: var(--phoenix-paper);
    font-family: "Cinzel", Georgia, serif; font-size: clamp(2.35rem, 4.6vw, 3.8rem);
    font-style: italic; line-height: .88; letter-spacing: -.06em; text-align: right;
}
.art-sun {
    position: absolute; top: 20%; left: 21%; width: 41%; aspect-ratio: 1; border-radius: 50%;
    background: var(--phoenix-gold);
    box-shadow: 
        0 0 40px rgba(198, 149, 52, 0.8),
        0 0 80px rgba(198, 149, 52, 0.5),
        0 0 120px rgba(198, 149, 52, 0.3),
        inset 0 0 30px rgba(255, 255, 255, 0.2);
    animation: sun-drift 12s ease-in-out infinite;
}

@keyframes sun-drift {
    0%, 100% { left: 15%; }
    50% { left: 45%; }
}
.art-horizon {
    position: absolute; z-index: 2; right: -5%; bottom: 27%; left: -5%; height: 26%; background: var(--phoenix-ink);
    clip-path: polygon(0 70%, 13% 48%, 26% 63%, 43% 37%, 56% 60%, 73% 24%, 89% 47%, 100% 30%, 100% 100%, 0 100%);
}
.art-grain {
    position: absolute; inset: 0; z-index: 4; opacity: .18;
    background-image: radial-gradient(rgba(247, 241, 232, .8) .65px, transparent .75px);
    background-size: 5px 5px; mix-blend-mode: soft-light;
}
.scroll-cue {
    position: absolute; bottom: 1.8rem; left: max(1rem, calc((100vw - 1320px) / 2)); z-index: 2;
    display: inline-flex; gap: .65rem; align-items: center; color: rgba(247, 241, 232, .58);
    font-size: .6rem; letter-spacing: .15em; text-transform: uppercase;
    animation: float-down 2s ease-in-out infinite;
}
@keyframes float-down {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(8px); }
}

.scroll-progress {
    position: fixed; z-index: 1100; top: 0; left: 0; width: 100%; height: 3px;
    background: var(--phoenix-gold); transform: scaleX(0); transform-origin: left; pointer-events: none;
}
.capability-band {
    overflow: hidden; padding: 1.8rem 0; border-top: 1px solid var(--phoenix-line); border-bottom: 1px solid var(--phoenix-line);
    color: var(--phoenix-brown); background: linear-gradient(90deg, var(--phoenix-paper) 0%, rgba(247, 241, 232, .7) 50%, var(--phoenix-paper) 100%);
}
.capability-track {
    display: flex; width: max-content; align-items: center; gap: 2.2rem;
    font-family: "Cinzel", Georgia, serif; font-size: clamp(.85rem, 1.6vw, 1.15rem);
    font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
    animation: capability-marquee 50s linear infinite;
    will-change: transform;
}
.capability-track i { color: var(--phoenix-gold); font-family: Arial, sans-serif; font-size: 1rem; font-style: normal; opacity: .8; }
@keyframes capability-marquee { to { transform: translateX(-50%); } }

.capability-track span { font-size: 1.25rem;}

.section-space { padding: clamp(5rem, 10vw, 8.8rem) 0; }
.introduction { background: var(--phoenix-cream); }
.display-heading {
    max-width: 650px; margin: 0; color: var(--phoenix-ink);
    font-size: clamp(2.55rem, 5vw, 4.7rem); line-height: 1.01;
}
.detail-rule { width: 60px; height: 1px; margin-top: 2.2rem; background: var(--phoenix-gold); }
.body-copy { color: var(--phoenix-muted); }
.body-copy p { margin-bottom: 1.28rem; }
.body-copy-large { font-size: 1.06rem; }
.principles-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: clamp(3.5rem, 7vw, 6.5rem);
    border-top: 1px solid var(--phoenix-line); border-bottom: 1px solid var(--phoenix-line);
}
.principles-grid > div { padding: 2rem clamp(1rem, 4vw, 3.5rem) 1.85rem 0; }
.principles-grid > div + div { padding-left: clamp(1rem, 4vw, 3.5rem); border-left: 1px solid var(--phoenix-line); }
.principles-grid span { color: var(--phoenix-gold); font-size: .68rem; font-weight: 600; letter-spacing: .14em; }
.principles-grid h3 { margin: .7rem 0 .35rem; font-family: "Cinzel", Georgia, serif; font-size: 1.22rem; font-weight: 600; }
.principles-grid p { margin: 0; color: var(--phoenix-muted); font-size: .91rem; line-height: 1.55; }

.mission-section, .phoenix-section, .collaboration-section { color: var(--phoenix-paper); background: var(--phoenix-ink); }
.light-heading { color: var(--phoenix-paper); }
.mission-copy { color: rgba(247, 241, 232, .76); font-size: 1.04rem; }
.mission-copy > p:first-child { color: var(--phoenix-paper); font-size: 1.17rem; }
.list-intro { margin-top: 2rem; }
.statement-list { padding: 0; margin: 1.25rem 0 2.1rem; list-style: none; }
.statement-list li { position: relative; padding: .82rem 0 .82rem 2.25rem; border-top: 1px solid rgba(247, 241, 232, .15); }
.statement-list li::before { position: absolute; top: .82rem; left: 0; color: var(--phoenix-gold); content: "✦"; }
.statement-list li:last-child { border-bottom: 1px solid rgba(247, 241, 232, .15); }
.mission-closing { color: var(--phoenix-gold); font-family: "Cinzel", Georgia, serif; font-size: 1.1rem; line-height: 1.6; }

.vision-section { position: relative; overflow: hidden; background: var(--phoenix-paper); }
.vision-number {
    position: absolute; top: -4.2rem; left: 2%; color: rgba(198, 149, 52, .19);
    font-family: "Cinzel", Georgia, serif; font-size: clamp(15rem, 30vw, 28rem); font-style: italic; line-height: 1;
}
.vision-section .container { position: relative; }
.vision-copy { max-width: 760px; margin-top: 2.3rem; font-size: 1.08rem; }
.approach-section { background: var(--phoenix-cream); }
.question-card {
    display: flex; flex-direction: column; justify-content: space-between; min-height: 390px; padding: 1.8rem;
    color: var(--phoenix-paper); background: var(--phoenix-brown) url(../img/still.jpg) center/cover no-repeat;
    position: relative;
}

.question-card > * { position: relative; z-index: 1; }
.question-card-label { color: var(--phoenix-gold); font-size: .68rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.question-card p {
    max-width: 390px; margin: 4rem 0 0; font-family: "Cinzel", Georgia, serif;
    font-size: clamp(2.4rem, 4vw, 3.8rem); font-style: italic; line-height: 1.02; letter-spacing: -.04em;
}

.phoenix-section { position: relative; padding: clamp(5.5rem, 12vw, 10rem) 0; overflow: hidden; background: var(--phoenix-brown); }
.phoenix-section::after {
    position: absolute; top: 0; right: 7%; width: 1px; height: 100%; background: rgba(198, 149, 52, .45); content: ""; pointer-events: none;
}
.phoenix-section .container { position: relative; z-index: 1; }
.phoenix-wordmark {
    position: absolute; top: 50%; right: -4%; color: rgba(247, 241, 232, .04);
    font-family: "Cinzel", Georgia, serif; font-size: clamp(5rem, 15vw, 14rem);
    font-weight: 700; letter-spacing: -.1em; transform: translateY(-50%) rotate(-90deg);
    pointer-events: none; z-index: 0;
}
.body-copy-inverse { color: rgba(247, 241, 232, .74); }

/* Phoenix 3D Logo */
.phoenix-visual {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}
.phoenix-3d-logo {
    width: 100%;
    max-width: min(100%, 480px);
    height: auto;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}
.phoenix-visual:hover .phoenix-3d-logo {
    transform: translateY(-8px) scale(1.03);
    filter: brightness(1.04);
}
.founder-section { background: var(--phoenix-paper); }
.founder-monogram {
    display: grid; width: min(100%, 270px); aspect-ratio: 1; margin-top: 1.5rem; place-items: center;
    border: 1px solid var(--phoenix-gold); color: var(--phoenix-brown);
    font-family: "Cinzel", Georgia, serif; font-size: clamp(4rem, 9vw, 8rem); font-style: italic; line-height: 1;
}
.founder-role { margin-top: 1.1rem; color: var(--phoenix-muted); font-size: .7rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.founder-role span { margin: 0 .35rem; color: var(--phoenix-gold); }
.founder-quote {
    margin: 2.5rem 0 0; padding: 1.5rem 0 0 1.6rem; border-left: 2px solid var(--phoenix-gold); color: var(--phoenix-brown);
    font-family: "Cinzel", Georgia, serif; font-size: clamp(1.25rem, 2.1vw, 1.75rem); font-style: italic; line-height: 1.55;
}

.team-section { background: var(--phoenix-cream); }
.team-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.8rem, 4vw, 3.2rem); margin-top: clamp(3rem, 7vw, 5.5rem);
}
.team-card {
    display: flex; flex-direction: column; padding: 1.8rem; background: var(--phoenix-cream); 
border: 1px solid var(--phoenix-line);
    transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.team-card:hover { border-color: var(--phoenix-gold); box-shadow: 0 12px 32px rgba(79, 43, 29, .08); transform: translateY(-4px); }
.team-card-image {
    width: 100%; aspect-ratio: 1; margin-bottom: 1.5rem; background: linear-gradient(135deg, rgba(198, 149, 52, .12), rgba(79, 43, 29, .08));
    border: 1px solid var(--phoenix-line); overflow: hidden;
}
.team-card-image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.team-card-name {
    margin: 0 0 .5rem; color: var(--phoenix-ink); font-family: "Cinzel", Georgia, serif;
    font-size: 1.15rem; font-weight: 600; line-height: 1.3;
}
.team-card-role {
    margin: 0 0 1rem; color: var(--phoenix-gold); font-size: .7rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase;
}
.team-card-bio { margin: 0; color: var(--phoenix-muted); font-size: .95rem; line-height: 1.6; flex: 1; }

/* Clickable image on founder card */
.team-card-image-link { display: block; }
.team-card-image-link .team-card-image { transition: opacity .25s ease; }
.team-card-image-link:hover .team-card-image { opacity: .88; }

/* "Full profile" link inside a team card */
.team-card-more {
    display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem;
    color: var(--phoenix-gold); font-size: .7rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase; transition: gap .2s ease, color .2s ease;
}
.team-card-more:hover { color: var(--phoenix-brown); gap: .65rem; }
.team-card-more i { font-size: .75em; }

/* Back to Team link on founder bio page */
.founder-back-link {
    display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 2.5rem;
    color: var(--phoenix-gold); font-size: .7rem; font-weight: 600;
    letter-spacing: .1em; text-transform: uppercase; transition: gap .2s ease, color .2s ease;
}
.founder-back-link:hover { color: var(--phoenix-brown); gap: .75rem; }

/* Education section on founder bio page */
.founder-education {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid var(--phoenix-line);
}
.founder-education .eyebrow { margin-bottom: 1.25rem; }

.education-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.education-list li {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 1.5rem;
    padding: 1rem 0 1rem 1.1rem;
    border-left: 2px solid var(--phoenix-gold);
    border-bottom: 1px solid var(--phoenix-line);
}
.education-list li:last-child { border-bottom: 0; }

.edu-qualification {
    grid-column: 1; grid-row: 1;
    font-family: "Cinzel", Georgia, serif;
    font-size: .92rem; font-weight: 600;
    color: var(--phoenix-ink); line-height: 1.35;
}
.edu-institution {
    grid-column: 1; grid-row: 2;
    margin-top: .25rem;
    font-size: .85rem; color: var(--phoenix-muted); line-height: 1.4;
}
.edu-years {
    grid-column: 2; grid-row: 1 / 3;
    align-self: center;
    font-size: .72rem; font-weight: 600; letter-spacing: .08em;
    color: var(--phoenix-gold); white-space: nowrap;
}

.collaboration-section { position: relative; padding: clamp(5rem, 10vw, 8rem) 0; overflow: hidden; text-align: center; }
.collaboration-section::before, .collaboration-section::after {
    position: absolute; width: min(38vw, 520px); aspect-ratio: 1; border: 1px solid rgba(198, 149, 52, .26); border-radius: 50%; content: "";
}
.collaboration-section::before { top: -20%; left: -12%; }
.collaboration-section::after { right: -12%; bottom: -20%; }
.collaboration-inner { position: relative; z-index: 1; }
.collaboration-inner .eyebrow { justify-content: center; }
.collaboration-inner h1, .collaboration-inner h2 { margin: 0; color: var(--phoenix-paper); font-size: clamp(2.65rem, 5.5vw, 5.35rem); line-height: 1.04; }
.collaboration-inner .body-copy { margin: 2.3rem auto 0; font-size: 1.05rem; }
input, select, textarea { font-size: 16px; }

.collaboration-form {
    max-width: 860px; margin: 3.5rem auto 0; padding: clamp(1.35rem, 4vw, 2.5rem);
    border: 1px solid rgba(247, 241, 232, .2); background: rgba(247, 241, 232, .05);
}
.collaboration-form label {
    display: block; margin-bottom: .5rem; color: var(--phoenix-paper);
    font-size: 1rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}
.collaboration-form label span { color: var(--phoenix-gold); }
.collaboration-form input, .collaboration-form select, .collaboration-form textarea {
    display: block; width: 100%; padding: .75rem .85rem; border: 1px solid rgba(247, 241, 232, .3);
    border-radius: 0; color: var(--phoenix-paper); background: rgba(30, 17, 7, .55);
    font: inherit; font-size: 16px; line-height: 1.4; transition: border-color .2s ease, box-shadow .2s ease;
}
.collaboration-form select { color-scheme: dark; }
.collaboration-form input:focus, .collaboration-form select:focus, .collaboration-form textarea:focus {
    border-color: var(--phoenix-gold); outline: 0; box-shadow: 0 0 0 3px rgba(198, 149, 52, .2);
}
.collaboration-form textarea { resize: vertical; }
.form-note { margin: 0; color: rgba(247, 241, 232, .58); font-size: 1rem; }
.form-status { min-height: 1.6em; margin: 1.25rem 0 0; color: var(--phoenix-gold); font-size: .9rem; }
.closing-line { margin: 2.5rem 0 0; color: var(--phoenix-gold); font-family: "Cinzel", Georgia, serif; font-size: 1.05rem; font-style: italic; }
.closing-line span { margin: 0 .25rem; }

.faq-section { background: var(--phoenix-paper); }
.faq-list { border-top: 2px solid var(--phoenix-gold); border-radius: 0; }
.faq-list details { 
    border-bottom: 1px solid var(--phoenix-line); margin-bottom: 0;
    background: rgba(79, 43, 29, .03); transition: background .25s ease;
}
.faq-list details:hover { background: rgba(79, 43, 29, .06); }
.faq-list details[open] { background: rgba(198, 149, 52, .08); }
.faq-list summary {
    display: flex; justify-content: space-between; gap: 1.5rem; align-items: center;
    padding: 1.6rem 1.5rem; color: var(--phoenix-ink); cursor: pointer;
    font-family: "Cinzel", Georgia, serif; font-size: 1.12rem; font-weight: 600; list-style: none;
    transition: color .2s ease;
}
.faq-list summary:hover { color: var(--phoenix-brown); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { color: var(--phoenix-gold); content: "+"; font-family: Manrope, Arial, sans-serif; font-size: 1.5rem; font-weight: 400; flex-shrink: 0; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 650px; margin: 0 0 1.4rem 1.5rem; padding: 0 1.5rem 1.2rem 0; color: var(--phoenix-muted); border-top: 1px solid rgba(79, 43, 29, .1); }

.site-footer { padding: 4rem 0 1.7rem; color: rgba(247, 241, 232, .7); background: #120A04; border-top: 1px solid rgba(198, 149, 52, .2); }

.footer-main {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(2.5rem, 6vw, 4rem);
    margin-bottom: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(198, 149, 52, .2);
}

.footer-section h3 {
    margin: 0 0 1.2rem; color: var(--phoenix-paper); font-family: "Cinzel", Georgia, serif;
    font-size: 1rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}

.footer-brand { display: flex; flex-direction: column; }
.footer-tagline { margin: 1rem 0 0; color: var(--phoenix-gold); font-family: "Cinzel", Georgia, serif; font-size: .9rem; font-style: italic; }
.brand-mark-footer { display: inline-flex; width: fit-content; }
.brand-mark-footer .brand-logo { width: 24px; }
.brand-mark-footer .brand-copy { font-size: .58rem; }
.brand-mark-footer .brand-copy strong { font-size: .68rem; }

.footer-newsletter p { margin: 0 0 1.5rem; font-size: 1rem; color: rgba(247, 241, 232, .65); }
.newsletter-form {
    display: flex; gap: .5rem; padding: 0; border: 1px solid rgba(247, 241, 232, .2); border-radius: 0;
}
.newsletter-form input {
    flex: 1; padding: .7rem .85rem; border: 0; background: transparent; color: var(--phoenix-paper);
    font: inherit; font-size: 16px;
}
.newsletter-form input::placeholder { color: rgba(247, 241, 232, .4); }
.newsletter-form input:focus { outline: 0; }
.newsletter-form button {
    padding: .7rem 1rem; border: 0; background: transparent; color: var(--phoenix-gold);
    font-size: 1rem; cursor: pointer; transition: color .2s ease; display: flex; align-items: center; justify-content: center;
}
.newsletter-form button:hover { color: var(--phoenix-paper); }
.newsletter-form button i { transition: transform .3s ease; }
.newsletter-form button:hover i { transform: translateX(4px); }

.footer-contact { display: flex; flex-direction: column; }
.contact-item {
    display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem;
}
.contact-item:last-child { margin-bottom: 0; }
.contact-icon {
    display: block; font-size: 1.4rem; flex-shrink: 0; line-height: 1; margin-top: .15rem;
}
.contact-item > div { flex: 1; }
.contact-label { margin: 0 0 .25rem; color: var(--phoenix-gold); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.contact-item p { margin: 0; font-size: .9rem; line-height: 1.6; color: rgba(247, 241, 232, .7); }
.contact-item a { color: rgba(247, 241, 232, .7); transition: color .2s ease; }
.contact-item a:hover { color: var(--phoenix-gold); }

.footer-social {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1.25rem;
}
.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(198, 149, 52, .35);
    border-radius: 50%;
    color: var(--phoenix-paper);
    font-size: .95rem;
    background: rgba(30, 17, 7, .4);
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.footer-social-link:hover {
    color: var(--phoenix-ink);
    background-color: var(--phoenix-gold);
    border-color: var(--phoenix-gold);
    transform: translateY(-2px);
}

.footer-bottom {
    display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap;
}
.footer-bottom p { margin: 0; font-size: .75rem; }

.footer-top-link { color: var(--phoenix-gold); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; transition: color .2s ease; display: inline-flex; align-items: center; gap: .4rem; }
.footer-top-link i { font-size: .8em; margin-left: .3rem; }
.footer-top-link:hover { color: var(--phoenix-paper); }

html.js-ready [data-reveal] {
    opacity: 0;
    transform: translateY(2.5rem);
    transition: opacity .8s ease, transform .8s cubic-bezier(.2, .75, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}
html.js-ready [data-reveal].is-revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 991.98px) {
    .site-nav .navbar-collapse { padding: .8rem 0 1rem; background: rgba(255,255,255,.99); }
    .site-nav .navbar-collapse.collapsing,
    .site-nav .navbar-collapse.show { border-top: 1px solid var(--phoenix-line); }
    .site-nav .navbar-nav { align-items: stretch; }
    .site-nav .nav-link { padding: .75rem 0; }
    .site-nav .nav-link::after { right: auto; bottom: .55rem; left: 0; width: 2rem; }
    .hero-section { min-height: auto; }
    .hero-art { margin: 0 auto; }
    .hero-video-frame { max-width: 640px; margin: 0 auto; }
    .scroll-cue { display: none; }
    .principles-grid > div { padding-right: 1.5rem; }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .collaboration-inner h1, .collaboration-inner h2 { font-size: clamp(2rem, 4vw, 5rem); }
    .display-heading { font-size: clamp(2rem, 4vw, 4.5rem); }
    .phoenix-visual { margin-top: 1.5rem; }
    .phoenix-3d-logo { max-width: min(100%, 380px); }
}

@media (max-width: 767.98px) {
    .site-nav { min-height: 72px; }
    .site-header .brand-copy strong { font-size: .75rem; }
    .site-header .brand-copy span { font-size: .65rem; }
    
    .section-space { padding: clamp(3rem, 7vw, 5rem) 0; }

    .hero-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
    .hero-section h1 { font-size: clamp(2rem, 5.5vw, 3.5rem); line-height: 1.05; }
    .hero-intro { font-size: 1rem; margin-top: 1.1rem; }
    .hero-actions { gap: 1rem; flex-direction: column; }
    .button { padding: .75rem 1rem; font-size: .65rem; gap: 1rem; }
    .button i { font-size: .75em; }
    .text-link { font-size: .65rem; }
    .text-link i { font-size: .8em; }
    .hero-art { min-height: 260px; max-height: 65vw; width: 100%; margin-top: 2rem; }
    .hero-video-frame { margin-top: 1.5rem; }
    
    .eyebrow { font-size: .6rem; }
    .display-heading { font-size: clamp(1.8rem, 4vw, 3rem); }
    .detail-rule { margin-top: 1.5rem; }
    .body-copy { font-size: .95rem; }
    .body-copy-large { font-size: 1rem; }
    
    .principles-grid { grid-template-columns: 1fr; }
    .principles-grid > div, .principles-grid > div + div { padding: 1.25rem 0; border-left: 0; }
    .principles-grid > div + div { border-top: 1px solid var(--phoenix-line); }
    .principles-grid h3 { font-size: 1rem; }
    .principles-grid p { font-size: .85rem; }
    
    .mission-copy { font-size: 1rem; }
    .mission-copy > p:first-child { font-size: 1.1rem; }
    .statement-list li { padding: .7rem 0 .7rem 2rem; font-size: .95rem; }
    
    .vision-number { top: -1.5rem; left: -1rem; font-size: clamp(8rem, 20vw, 15rem); }
    .vision-copy { margin-top: 1.5rem; font-size: 1rem; }
    
    .question-card { min-height: 390px; padding: 1.5rem; }
    .question-card p { font-size: clamp(1.8rem, 3.5vw, 3rem); margin-top: 3rem; }
    
    .phoenix-wordmark { top: auto; right: -3%; bottom: -2.8rem; transform: none; font-size: clamp(3rem, 10vw, 8rem); }
    .phoenix-section { padding: clamp(3rem, 8vw, 6rem) 0; }
    
    .founder-monogram { width: min(100%, 200px); font-size: clamp(2.5rem, 6vw, 5rem); }
    .founder-quote { font-size: clamp(1rem, 2vw, 1.4rem); padding: 1rem 0 0 1.2rem; }
    .body-copy-large { font-size: 1rem; }
    
    .team-grid { grid-template-columns: 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); }
    .team-card { padding: 1.5rem; }
    .team-card-name { font-size: 1rem; }
    .team-card-bio { font-size: .9rem; }
    
    .collaboration-inner h1, .collaboration-inner h2 { font-size: clamp(1.8rem, 4vw, 3.5rem); }
    .collaboration-form { margin-top: 2rem; padding: 1.2rem; }
    .collaboration-form label { font-size: .65rem; }
    .collaboration-form input, .collaboration-form select, .collaboration-form textarea { padding: .65rem .75rem; font-size: 16px; }
    .collaboration-form button { width: 100%; justify-content: center; }
    .form-note { font-size: .7rem; }
    
    .faq-list summary { padding: 1.2rem 1rem; font-size: 1rem; }
    .faq-list details p { margin: 0 0 1rem 1rem; padding: 0 1rem 1rem 0; font-size: .9rem; }
    
    .footer-main { grid-template-columns: 1fr; gap: 1.8rem; margin-bottom: 2rem; padding-bottom: 2rem; }
    .footer-section h3 { font-size: .85rem; margin-bottom: 1rem; }
    .footer-tagline { font-size: .85rem; }
    .footer-newsletter p { font-size: .85rem; }
    .newsletter-form { flex-direction: column; }
    .newsletter-form input { width: 100%; }
    .newsletter-form button { width: 100%; }
    .contact-item { gap: .8rem; margin-bottom: 1.2rem; }
    .contact-icon { font-size: 1.2rem; }
    .contact-label { font-size: .7rem; }
    .contact-item p { font-size: .85rem; }
    
    .footer-bottom { flex-direction: column; text-align: center; }
    .footer-bottom p { font-size: .7rem; }
    .footer-top-link { font-size: .6rem; }
    .brand-mark-footer { justify-content: center; width: 100%; }
    .brand-mark-footer .brand-logo { width: 20px; }
    .brand-mark-footer .brand-copy { font-size: .5rem; }
    .brand-mark-footer .brand-copy strong { font-size: .6rem; }
    
    .capability-track { font-size: clamp(.7rem, 1.2vw, .95rem); gap: 1.5rem; }
    .capability-track i { font-size: .9rem; }
    
}

@media (max-width: 740px) {
    .art-sun {
    position: absolute; top: 10%; left: 21%;}
}

@media (max-width: 575.98px) {
    .hero-actions { padding: 0 .5rem; }
    .button { padding: .65rem .9rem; font-size: .6rem; }
    .text-link { font-size: .6rem; }
    
    .hero-section h1 { line-height: 1.05; }
    .container { padding-left: 1rem; padding-right: 1rem; }
    
    .row { margin-right: -.5rem; margin-left: -.5rem; }
    [class*="col-"] { padding-right: .5rem; padding-left: .5rem; }
    
    .eyebrow { font-size: .55rem; }
    .display-heading { font-size: clamp(1.5rem, 3.5vw, 2.5rem); line-height: 1.1; }
    
    .vision-number { font-size: clamp(6rem, 15vw, 12rem); top: -1rem; left: -.5rem; }
    
    .question-card { min-height: 240px; padding: 1.2rem; }
    .question-card p { font-size: clamp(1.5rem, 3vw, 2.2rem); margin-top: 2rem; }
    
    .collaboration-form { grid-template-columns: 1fr; }
    .col-md-6 { grid-column: auto; }
    
    .faq-list summary { padding: 1rem .8rem; font-size: .95rem; gap: 1rem; }
    .faq-list summary::after { font-size: 1.2rem; }
    
    .footer-section { text-align: center; }
    .newsletter-form { width: 100%; }
    .contact-item { justify-content: center; text-align: center; }
    .footer-social { justify-content: center; }
    .brand-mark-footer .brand-copy { font-size: .55rem; }
    .brand-mark-footer .brand-copy strong { font-size: .65rem; }
}

/* Mobile Typography Scale */
@media (max-width: 576px) {
    :root { font-size: 14px; }
    h1, h2, h3 { word-spacing: .05em; }
}

/* Small phone overrides */
@media (max-width: 479.98px) {
    .education-list li { grid-template-columns: 1fr; }
    .edu-years { grid-column: 1; grid-row: 3; margin-top: .25rem; }
    .vision-number { display: none; }
}

/* Touch-friendly interactions for mobile */
@media (hover: none) and (pointer: coarse) {
    .button, .text-link, .nav-link, .team-card-more, .team-card-image-link,
    .founder-back-link, .footer-top-link, .footer-social-link, button { min-height: 44px; min-width: 44px; }
    .button { padding: .9rem 1.15rem; }
    .site-nav .nav-link { padding: .8rem 1rem; }
    .faq-list summary { padding: 1.4rem 1rem; }
    input, select, textarea { font-size: 16px !important; }
}

/* Respect motion preferences */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
