/*
Theme Name: American International Academy
Theme URI: https://americaninternationalacademy.org/
Author: Custom conversion
Description: A block (Gutenberg / Full Site Editing) theme converted from the classic American International Academy PHP theme. Structure, colors and typography are edited via the Site Editor (theme.json); this file carries decorative CSS that has no direct block-settings equivalent (the marquee ticker, card frames, FAQ chevrons).
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: aia
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

/* ---------- base ---------- */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.font-display { font-family: "Cormorant Garamond", Georgia, serif; }
.gold-text {
	background: linear-gradient(180deg,#f6e3a8 0%,#d4af37 55%,#a97e18 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ---------- header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(212,175,55,.25);
	background: rgba(5,13,32,.92);
	backdrop-filter: blur(12px);
}
.header-inner { display: flex; align-items: center; gap: 16px; padding: 12px 20px; }
.logo-small img { width: 56px; height: 56px; object-fit: cover; border-radius: 50%; border: 1px solid rgba(212,175,55,.6); }
.brand-name { font-family: "Cormorant Garamond", Georgia, serif; font-size: 20px !important; line-height: 1.1; color: var(--wp--preset--color--gold-light) !important; margin: 0; white-space: nowrap; }
.brand-tag { font-size: 11px; text-transform: uppercase; letter-spacing: .28em; color: var(--wp--preset--color--muted-2); margin-top: 3px !important; }
.main-nav a:hover { color: var(--wp--preset--color--gold-light) !important; }
.header-cta { min-height: auto !important; padding: 11px 24px !important; border: 1px solid var(--wp--preset--color--gold) !important; background: rgba(212,175,55,.1) !important; color: var(--wp--preset--color--gold-light) !important; font-weight: 600; }
.header-cta:hover { background: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--card) !important; }

/* ---------- hero ---------- */
.hero { min-height: 100vh; display: flex; align-items: center; }
.hero .wp-block-cover__inner-container { max-width: 1024px; margin: auto; padding: 96px 24px; text-align: center; }
.hero-logo img { width: 176px; height: 176px; object-fit: cover; border-radius: 50%; border: 2px solid rgba(212,175,55,.7); box-shadow: 0 0 60px -12px rgba(212,175,55,.55); margin: 0 auto; }
.hero h1 { font-size: clamp(42px,7vw,78px) !important; line-height: 1.05; margin: 30px 0 0 !important; font-weight: 600; }
.hero-copy { max-width: 720px; margin: 24px auto 0 !important; color: var(--wp--preset--color--muted) !important; font-size: 18px; line-height: 1.7; }
.cta-row { justify-content: center; }
.primary-cta a, a.primary-cta { padding: 0 36px !important; min-height: 52px; display: inline-flex; align-items: center; background: linear-gradient(to bottom,#f0d68a,#c9a227) !important; color: var(--wp--preset--color--card) !important; font-weight: 700; }
.outline-cta a, a.outline-cta { padding: 0 36px !important; min-height: 52px; display: inline-flex; align-items: center; border: 1px solid rgba(212,175,55,.5) !important; color: var(--wp--preset--color--gold-light) !important; background: transparent !important; }
.primary-cta a:hover, .outline-cta a:hover { transform: translateY(-1px); }

/* ---------- marquee ---------- */
.marquee { overflow: hidden; border-top: 1px solid rgba(212,175,55,.25); border-bottom: 1px solid rgba(212,175,55,.25); background: var(--wp--preset--color--card); padding: 12px 0; }
.marquee-track { display: flex; width: max-content; gap: 48px; white-space: nowrap; text-transform: uppercase; letter-spacing: .35em; font-size: 12px; color: rgba(212,175,55,.8); animation: marquee 38s linear infinite; }
.marquee-track span { display: flex; gap: 48px; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- shared section bits ---------- */
.eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .35em; color: var(--wp--preset--color--gold) !important; margin: 0 !important; }
.section-heading { font-size: clamp(36px,5vw,56px) !important; line-height: 1.1; margin: 16px 0 0 !important; font-weight: 500; }
.gold-rule-block { height: 1px; width: 192px; margin: 24px auto 0; }
.section-intro { max-width: 600px; margin: 24px auto 0 !important; color: #9fb0d2 !important; font-size: 14px; }

/* ---------- about ---------- */
.stat { border-top: 1px solid rgba(212,175,55,.3); padding-top: 14px; }
.stat-icon { color: var(--wp--preset--color--gold); font-size: 21px; }
.stat-figure { font-family: "Cormorant Garamond", Georgia, serif; font-size: 23px !important; color: var(--wp--preset--color--gold-light) !important; margin-top: 6px !important; display: block; }
.stat-label { display: block; text-transform: uppercase; letter-spacing: .12em; color: var(--wp--preset--color--muted-2) !important; font-size: 10px !important; }
.image-frame { position: relative; }
.image-frame:before { content: ""; position: absolute; inset: -12px; border: 1px solid rgba(212,175,55,.3); pointer-events: none; }
.image-frame img { display: block; width: 100%; height: 100%; min-height: 380px; object-fit: cover; }

/* ---------- faculty / bridge cards ---------- */
.faculty-card, .bridge-card {
	border: 1px solid rgba(212,175,55,.45);
	box-shadow: inset 0 0 0 4px rgba(5,13,32,.9), inset 0 0 0 5px rgba(212,175,55,.28);
	background: rgba(10,23,52,.92) !important;
	padding: 28px !important;
	transition: transform .3s ease;
}
.faculty-card:hover { transform: translateY(-4px); }
.card-icon { color: var(--wp--preset--color--gold); font-size: 30px; line-height: 1; display: block; }
.faculty-card h3, .bridge-card h3 { font-size: 27px !important; line-height: 1.15; margin: 16px 0 !important; color: var(--wp--preset--color--gold-light) !important; }
.card-rule { height: 1px; margin: 16px 0; background: linear-gradient(90deg,transparent,#c9a227,#f0d68a,#c9a227,transparent); opacity: .6; }
.faculty-card ul, .bridge-card ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.faculty-card li, .bridge-card li { display: flex; gap: 12px; color: #cbd6ee; font-size: 14px; line-height: 1.55; margin: 10px 0; }
.faculty-card li:before, .bridge-card li:before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; margin-top: 8px; transform: rotate(45deg); background: var(--wp--preset--color--gold); }
.bridge-card { text-align: center; }
.bridge-card ul { color: #cbd6ee; font-size: 14px; line-height: 1.8; display: inline-block; text-align: left; }
.bridge-line { width: 1px; height: 56px; background: rgba(212,175,55,.4); margin: 40px auto 0; }

/* ---------- FAQ (native <details> block) ---------- */
.faq-list { margin-top: 40px !important; border-top: 1px solid rgba(212,175,55,.25); }
.wp-block-details.faq-item { border-bottom: 1px solid rgba(212,175,55,.25); padding: 0 !important; }
.wp-block-details.faq-item summary { padding: 20px 0 !important; cursor: pointer; list-style: none; }
.wp-block-details.faq-item summary::-webkit-details-marker { display: none; }
.wp-block-details.faq-item summary:after {
	content: "⌄";
	float: right;
	color: var(--wp--preset--color--gold);
	transition: transform .3s;
}
.wp-block-details.faq-item[open] summary:after { transform: rotate(180deg); }
.wp-block-details.faq-item p { color: var(--wp--preset--color--muted) !important; font-size: 15px; line-height: 1.7; padding: 0 32px 24px 0 !important; }

/* ---------- enroll ---------- */
.enroll .wp-block-cover__inner-container { text-align: center; max-width: 768px; margin: auto; padding: 80px 24px; }
.enroll-logo img { width: 80px; height: 80px; border-radius: 50%; border: 1px solid rgba(212,175,55,.6); margin: 0 auto; }
.enroll p { max-width: 600px; margin: 20px auto 0 !important; color: var(--wp--preset--color--muted) !important; font-size: 15px; line-height: 1.7; }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid rgba(212,175,55,.2); padding: 48px 24px; }
.footer-title { font-size: 20px !important; color: var(--wp--preset--color--gold-light) !important; }
.footer-tag { text-transform: uppercase; letter-spacing: .3em; font-size: 11px !important; margin-top: 8px !important; }
.footer-links a { display: block; margin: 8px 0; color: var(--wp--preset--color--muted-2) !important; }
.footer-links a:hover { color: var(--wp--preset--color--gold-light) !important; }
.footer-contact p { margin: 8px 0 !important; color: var(--wp--preset--color--muted-2) !important; font-size: 14px; }
.copyright { text-align: center; color: #5d6c8c !important; font-size: 12px !important; margin: 40px 0 0 !important; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
	.about-grid { grid-template-columns: 1fr !important; }
	.faculty-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
	.header-inner { padding: 10px 14px; }
	.logo-small img { width: 46px; height: 46px; }
	.brand-name { font-size: 17px !important; }
	.brand-tag { display: none; }
	.hero .wp-block-cover__inner-container { padding: 80px 20px; }
	.hero-logo img { width: 132px; height: 132px; }
	.hero-copy { font-size: 16px; }
	.image-frame img { min-height: 260px; }
	.faculty-card, .bridge-card { padding: 22px !important; }
	.faculty-card h3, .bridge-card h3 { font-size: 24px !important; }
	.footer-grid { grid-template-columns: 1fr !important; }
	.wp-block-details.faq-item summary { font-size: 19px; }
}
