/**
 * AMW Design System
 * ------------------
 * Tokens sourced from the official "AMW Brand Book.pdf" (2026 edition):
 * exact hex values from the Color Palette / Color Breakdown pages, and
 * the three brand typefaces (Cormorant Garamond / Tangerine / DM Sans)
 * from the Font Families + Font Use Guidelines pages. Every component
 * below reads from these custom properties — update ONLY :root when the
 * brand evolves.
 */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Tangerine:wght@400;700&display=swap');

:root {
	/* Color — exact brand-book values */
	--amw-navy: #27345E;        /* logo/headline navy */
	--amw-navy-text: #27345E;
	--amw-dusty-blue: #697FA1;  /* logo/headline secondary */
	--amw-pale-blue-light: #C2D6EB;
	--amw-pale-blue: #DEE5ED;   /* background */
	--amw-cool-grey: #EEF2F6;   /* background */
	--amw-gold: #E0C98E;        /* buttons, social icons, link hover */
	--amw-gold-text: #3C3A3C;   /* dark grey copy on gold buttons */
	--amw-cream-tan: #E7DCC3;
	--amw-warm-cream: #F0ECE4;  /* background */
	--amw-cream: #F6F2E8;       /* background; text on dark bg */
	--amw-off-white: #FCFAF6;   /* background; text on dark bg */
	--amw-white: #ffffff;
	--amw-body-text: #3C3A3C;   /* body copy on light backgrounds */

	/* Type — brand book: Cormorant Garamond SemiBold headlines (title
	   case), Tangerine Bold script accents, DM Sans Light body. */
	--amw-font-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
	--amw-font-script: "Tangerine", "Brush Script MT", cursive;
	--amw-font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	/* Layout */
	--amw-container-width: 1204px;   /* design: 118px margins at 1440 */
	--amw-container-padding: 24px;
	--amw-section-padding-y: 96px;
}

/* ---------------------------------------------------------------- *
 * Base type
 * ---------------------------------------------------------------- */

/* Brand book: headlines are Cormorant Garamond SemiBold, title case. */
.amw-h1, .amw-h2, .amw-h3 {
	font-family: var(--amw-font-display);
	font-weight: 600;
	color: var(--amw-navy-text);
	line-height: 1.2;
	margin: 0 0 0.5em;
}

.amw-h1 { font-size: clamp(40px, 5.56vw, 80px); }   /* 80px at 1440 */
.amw-h2 { font-size: clamp(40px, 5.56vw, 80px); }
.amw-h3 { font-size: clamp(20px, 2.2vw, 25px); }

/* Brand book: script accents are Tangerine Bold. Tangerine's x-height
   is tiny, so sizes run much larger than the serif equivalents. */
.amw-script {
	font-family: var(--amw-font-script);
	font-weight: 700;
	color: var(--amw-dusty-blue);
	font-size: clamp(44px, 4.17vw, 60px);   /* 60px at 1440 */
	line-height: 1.1;
}

.amw-body {
	font-family: var(--amw-font-body);
	font-weight: 300;
	color: var(--amw-body-text);
	font-size: 18px;
	line-height: 1.7;
}

.amw-nav-link {
	font-family: var(--amw-font-display);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 13px;
	color: var(--amw-navy-text);
	text-decoration: none;
}
.amw-nav-link:hover,
.amw-nav-link.is-active {
	color: var(--amw-gold);
}

/* ---------------------------------------------------------------- *
 * Buttons
 * ---------------------------------------------------------------- */

/* Brand book: buttons are Cormorant Garamond Bold, ALL CAPS, 10%
   letter-spacing, dark grey (#3C3A3C) on gold (#E0C98E) — the same
   combo on both light and dark backgrounds. */
.amw-btn {
	display: inline-block;
	background: var(--amw-gold);
	color: var(--amw-gold-text);
	font-family: var(--amw-font-display);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	padding: 0 36px;
	height: 47px;
	margin-top: 28px;   /* clear air between a button and the copy above it */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 0;
	text-decoration: none;
	text-align: center;
	transition: opacity 0.2s ease;
}
.amw-btn:hover {
	opacity: 0.85;
	color: var(--amw-gold-text);
}
.amw-btn--outline {
	background: transparent;
	color: var(--amw-white);
	box-shadow: inset 0 0 0 1px var(--amw-white);
}

/* ---------------------------------------------------------------- *
 * Section background rhythm
 * (white -> cream -> pale-blue -> navy, repeated down every page)
 * ---------------------------------------------------------------- */

.amw-section {
	padding-top: var(--amw-section-padding-y);
	padding-bottom: var(--amw-section-padding-y);
}

.amw-bg-white   { background: var(--amw-white); }
.amw-bg-cream   { background: var(--amw-cream); }
.amw-bg-pale-blue { background: var(--amw-pale-blue); }

/* Brand book: on dark backgrounds, headlines/body use cream (#F6F2E8)
   and off-white (#FCFAF6), not pure white. */
.amw-bg-navy {
	background: var(--amw-navy);
	color: var(--amw-off-white);
}
.amw-bg-navy .amw-h1,
.amw-bg-navy .amw-h2,
.amw-bg-navy .amw-h3 {
	color: var(--amw-cream);
}
.amw-bg-navy .amw-body {
	color: var(--amw-off-white);
}
.amw-bg-navy .amw-script {
	color: var(--amw-pale-blue-light);
}

.amw-container {
	width: 100%;
	max-width: var(--amw-container-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--amw-container-padding);
	padding-right: var(--amw-container-padding);
}

/* Bricks sizes a container as `width: var(--bricks-container-width)` (1100px)
   and relies on `max-width: 100%` to shrink it on phones. Every rule that
   overrides max-width — .amw-container above, and each generated
   `#brxe-… { max-width: Npx }` page wrapper — silently removes that clamp
   and the container overflows the viewport. Make the clamp structural:
   a section's direct container fills its parent and max-width only caps it. */
.brxe-section > .brxe-container {
	width: 100%;
	max-width: var(--amw-container-width); /* Bricks' own default is 1100px */
}

/* ---------------------------------------------------------------- *
 * Image placeholder — stands in for real photography until the
 * actual assets are exported from Figma. Renders as a visible block
 * (unlike Bricks' native Image element with no source, which renders
 * nothing at all on the front end), so page structure stays intact.
 * ---------------------------------------------------------------- */

.amw-img-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 380px;
	background: var(--amw-pale-blue-light); /* distinct from the pale-blue section bg */
	color: var(--amw-navy);
	font-family: var(--amw-font-display);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.6;
}
.amw-img-placeholder--tall {
	min-height: 0;
	aspect-ratio: 1440 / 374;   /* subpage hero in the design */
}
@media (max-width: 768px) {
	.amw-img-placeholder--tall { aspect-ratio: auto; min-height: 220px; }
}
.amw-img-placeholder--short { min-height: 220px; }

/* A placeholder that has received its photograph. The image itself is set
   per element as a background (`#brxe-… { background-image: url(…) }`), so
   the same sized box simply fills in; drop the dimming the empty state uses. */
.amw-img-placeholder.amw-photo {
	opacity: 1;
	background-color: var(--amw-pale-blue-light);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* ---------------------------------------------------------------- *
 * Overlay card (image bleed + text panel overlap, used constantly:
 * hero CTA bands, service package rows, testimonial banners)
 * ---------------------------------------------------------------- */

.amw-overlay-card {
	background: var(--amw-cream);
	padding: 48px;
}

.amw-photo-band {
	position: relative;
	background-size: cover;
	background-position: center;
}
.amw-photo-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--amw-navy);
	opacity: 0.55;
}
.amw-photo-band > * {
	position: relative;
	z-index: 1;
}

/* ---------------------------------------------------------------- *
 * Header
 * ---------------------------------------------------------------- */

#brx-header > .brxe-section {
	border-bottom: 2px solid var(--amw-gold);
}
.amw-header-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 28px 0;
	flex-wrap: wrap;
}
@media (min-width: 992px) {
	.amw-header-row { flex-wrap: nowrap; max-width: 1240px; }
}
/* Logo is the brand PNG (Main Logo, colour) linking home. */
.amw-header-logo a { display: block; line-height: 0; }
.amw-header-logo img { display: block; width: 300px; max-width: 60vw; height: auto; }

.amw-header-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0;
	text-decoration: none;
}
/* Main stacked logo per brand book: dusty-blue Tangerine monogram over
   uppercase navy Cormorant "ANGELA MARIE" over tracked dusty-blue
   "WEDDINGS". */
.amw-header-logo .amw-script { font-size: 30px; line-height: 0.9; margin-bottom: 0; }
.amw-header-logo .amw-logo-main {
	font-family: var(--amw-font-display);
	font-size: 26px;
	font-weight: 600;
	color: var(--amw-navy);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	line-height: 1.15;
	margin: 0;
}
.amw-header-logo .amw-logo-sub {
	font-family: var(--amw-font-display);
	font-size: 12px;
	font-weight: 500;
	color: var(--amw-dusty-blue);
	text-transform: uppercase;
	letter-spacing: 0.42em;
	margin: 2px 0 0;
}
.amw-header-logo .amw-nav-link { font-size: 10.5px; letter-spacing: 0.22em; color: var(--amw-body-text); }

/* Bricks switches the Nav Menu element to its mobile (off-canvas) menu at
   its mobile_landscape breakpoint, 767px. The desktop cluster rules below
   must not leak into that mobile menu — an unscoped `ul { display: flex }`
   lays the off-canvas list out horizontally and widens the whole page. */
@media (min-width: 768px) {
	.amw-nav-menu ul {
		display: flex;
		align-items: center;
		gap: 24px;
		list-style: none;
		margin: 0;
		padding: 0;
		position: relative;
	}
	.amw-nav-menu a {
		font-family: var(--amw-font-display);
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.08em;   /* 19px bold needs tighter tracking to fit the 1204 row */
		font-size: 19px;
		color: var(--amw-navy-text);
		text-decoration: none;
	}
	/* Hover/current state for every item — items with a sub-menu wrap their
	   link (and chevron) in Bricks' .brx-submenu-toggle, so cover that too. */
	.amw-nav-menu li:hover > a,
	.amw-nav-menu li:hover > .brx-submenu-toggle > a,
	.amw-nav-menu li:hover > .brx-submenu-toggle > button,
	.amw-nav-menu a:hover,
	.amw-nav-menu .current-menu-item > a,
	.amw-nav-menu .current-menu-item > .brx-submenu-toggle > a,
	.amw-nav-menu .current-menu-ancestor > a,
	.amw-nav-menu .current-menu-ancestor > .brx-submenu-toggle > a {
		color: var(--amw-gold);
	}
	/* A parent stays gold only while the pointer is on it, not while browsing
	   its children; the child under the pointer takes the highlight. */
	.amw-nav-menu ul ul li:not(:hover) > a,
	.amw-nav-menu ul ul li:not(:hover) > .brx-submenu-toggle > a { color: var(--amw-navy); }
	.amw-nav-menu ul ul ul li:not(:hover) > a { color: var(--amw-dusty-blue); }
	.amw-nav-menu li { position: relative; }
	.amw-nav-menu ul ul {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		background: var(--amw-white);
		padding: 14px 24px 16px;
		min-width: 220px;
		z-index: 20;
	}
	/* Bricks gives every menu item a 60px line box and 20px link padding;
	   the dropdown is a compact text list in the design. */
	.amw-nav-menu ul ul li,
	.amw-nav-menu ul ul a,
	.amw-nav-menu ul ul .brx-submenu-toggle {
		line-height: 1.3 !important;
		height: auto !important;
		min-height: 0 !important;
	}
	.amw-nav-menu ul ul a { padding: 0 !important; }
	.amw-nav-menu li:hover > ul { display: flex; }
	.amw-nav-menu ul ul a {
		font-family: var(--amw-font-display);
		text-transform: none;
		letter-spacing: 0;
		font-size: 19px;
		font-weight: 600;
		color: var(--amw-navy);
	}
	/* Third level renders inline inside the open panel (per the Services
	   dropdown mockup: "Celebration Services" is a bold group label with its
	   three services indented beneath it, not a fly-out). */
	.amw-nav-menu ul ul li > ul {
		display: flex !important;      /* Bricks toggles sub-menus on hover/click; the */
		position: static !important;   /* third level is a permanent group list instead */
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		flex-direction: column;
		gap: 6px;
		background: transparent;
		padding: 4px 0 4px 16px;
		min-width: 0;
	}
	.amw-nav-menu ul ul .brx-submenu-toggle button { display: none; }
	.amw-nav-menu ul ul ul a {
		font-size: 17px;
		font-weight: 400;
		color: var(--amw-dusty-blue);
	}}

/* Mobile off-canvas menu: cream panel, plain vertical list in the brand type.
   (Bricks' default panel is near-black, which hid the navy links.) */
.amw-nav-menu .bricks-mobile-menu-wrapper,
.amw-nav-menu .bricks-mobile-menu-wrapper::before { /* Bricks paints its panel colour on ::before */
	background: var(--amw-cream);
}
.amw-nav-menu .bricks-mobile-menu-wrapper ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.amw-nav-menu .bricks-mobile-menu-wrapper a {
	font-family: var(--amw-font-display);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 15px;
	color: var(--amw-navy-text);
	text-decoration: none;
}
.amw-nav-menu .bricks-mobile-menu-wrapper .sub-menu a {
	text-transform: none;
	letter-spacing: 0;
	font-size: 16px;
}
/* Bricks sizes its off-canvas backdrop at 100vw, which is 3px wider than the
   viewport when a scrollbar is present and gives every page a sideways wobble. */
.bricks-mobile-menu-overlay { width: 100% !important; left: 0; right: 0; }
.amw-nav-menu .bricks-mobile-menu-toggle,
.amw-nav-menu .bricks-mobile-menu-wrapper .brx-submenu-toggle button {
	color: var(--amw-navy-text);
}
.amw-nav-menu .bricks-mobile-menu-wrapper li {
	border-bottom: 1px solid rgba(39, 52, 94, 0.12);
}
.amw-nav-menu .bricks-mobile-menu-wrapper .sub-menu li {
	border-bottom: 0;
}

/* ---------------------------------------------------------------- *
 * Footer
 * ---------------------------------------------------------------- */

.amw-footer-top-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 48px;
	margin-bottom: 56px;
	flex-wrap: wrap;
}
.amw-footer-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.amw-footer-nav a {
	font-family: var(--amw-font-display);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 16px;
	color: var(--amw-white);
	text-decoration: none;
}
.amw-footer-nav a:hover { color: var(--amw-gold); }
/* Nested Bricks containers default to 1100px; inside the footer wrapper
   they should simply fill it so centred rows are truly centred. (Not the
   header: its logo container must stay shrink-wrapped between the clusters.) */
#brx-footer .amw-container > .brxe-container { width: 100%; }
.amw-footer-logo a { display: block; line-height: 0; }
.amw-footer-logo img { display: block; width: 230px; height: auto; }
/* Brand book: footer headings and the copyright line sit in pale blue. */
.amw-footer-columns .amw-h3 { color: var(--amw-pale-blue-light); font-size: 35px; }
#brx-footer .brxe-text-basic:not(.amw-footer-bottom) { font-size: 16px; line-height: 1.6; }

.amw-footer-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}
@media (max-width: 720px) {
	.amw-footer-columns { grid-template-columns: 1fr; }
}

.amw-footer-social {
	display: flex;
	flex-direction: row;
	gap: 12px;
	margin-top: 16px;
}
/* Brand book: social icons are gold. */
.amw-footer-social a {
	width: 36px;
	height: 36px;
	border: 1px solid var(--amw-gold);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--amw-gold);
	text-decoration: none;
}
.amw-footer-social a:hover {
	border-color: var(--amw-off-white);
	color: var(--amw-off-white);
}
.amw-footer-social svg { width: 24px; height: 24px; fill: currentColor; display: block; }

/* Navy testimonial band, bounded by thin gold rules per the mockups. */
.amw-testimonial-band {
	border-top: 2px solid var(--amw-gold);
	border-bottom: 2px solid var(--amw-gold);
}

.amw-footer-divider {
	border: none;
	border-top: 2px solid var(--amw-pale-blue-light);
	opacity: 0.7;
	margin: 32px 0 20px;
}

.amw-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	width: 100%;
	font-size: 16px;
	color: var(--amw-pale-blue-light);
	text-align: center;
}
.amw-footer-bottom a { color: var(--amw-pale-blue-light); text-decoration: underline; }

/* Small tracked label (review venue, team role) — looks like the nav links
   but is not one: no hover state, no pointer. */
.amw-eyebrow {
	font-family: var(--amw-font-display);
	font-weight: 700;
	font-size: 18px;
	color: var(--amw-navy-text);
}

/* Ivory intro panel that sits on the bottom edge of a subpage hero: a fixed
   1204px box (the design's content column) overlapping the hero by 51px. */
.amw-intro-box {
	background: var(--amw-cream);
	width: 1204px;
	max-width: calc(100% - 48px);
	margin: -51px auto 0;
	position: relative;
	z-index: 1;
	padding: 72px 92px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
@media (max-width: 768px) {
	.amw-intro-box { padding: 48px 24px; }
}

/* Full-bleed photo band between sections (FAQ dividers, Inquire): 1440 x 800. */
.amw-img-placeholder--band {
	min-height: 0;
	aspect-ratio: 1440 / 800;
}
@media (max-width: 768px) {
	.amw-img-placeholder--band { aspect-ratio: auto; min-height: 260px; }
}

/* ActiveCampaign inquiry form, laid out to the design: 1204px wide, two
   columns of 70px fields, full-width message, centred gold button. */
.amw-inquiry-form ._form { width: 100% !important; max-width: 1204px !important; margin: 0 auto !important; padding: 0 !important; background: transparent !important; font-family: var(--amw-font-body) !important; }
/* Two-column grid. The budget tiles span two rows so "What services" and
   "How did you hear about us?" stack beside them in the right column. */
.amw-inquiry-form ._form-content { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px 26px !important; align-items: start !important; }
.amw-inquiry-form ._form_element { width: auto !important; min-width: 0 !important; margin: 0 !important; }
.amw-inquiry-form ._form_element:has(._form-fieldset) { grid-row: span 2 !important; }
.amw-inquiry-form ._form_element:has(textarea), .amw-inquiry-form ._button-wrapper { grid-column: 1 / -1 !important; }
.amw-inquiry-form ._form_element:has(> input[type=hidden]) { display: none !important; }
.amw-inquiry-form ._form-label, .amw-inquiry-form label { font-family: var(--amw-font-body) !important; font-weight: 300 !important; font-size: 16px !important; color: var(--amw-body-text) !important; margin-bottom: 8px !important; }
.amw-inquiry-form input[type=text], .amw-inquiry-form input[type=date], .amw-inquiry-form input[type=email], .amw-inquiry-form select, .amw-inquiry-form textarea { width: 100% !important; height: 70px !important; background: rgba(207, 205, 202, 0.2) !important; border: 1px solid #cfcdca !important; border-radius: 0 !important; padding: 0 20px !important; font-family: var(--amw-font-body) !important; font-size: 18px !important; color: var(--amw-body-text) !important; box-shadow: none !important; }
.amw-inquiry-form textarea { height: 139px !important; padding: 20px !important; }
/* Budget checkbox group: checkbox and label on one line, options as compact
   bordered tiles in two columns instead of a tall stacked list. */
.amw-inquiry-form ._form-fieldset { display: flex !important; flex-wrap: wrap !important; gap: 10px 12px !important; border: 0 !important; padding: 0 !important; margin: 0 !important; min-width: 0 !important; }
.amw-inquiry-form ._form-fieldset > ._row:first-child { width: 100% !important; margin: 0 !important; }
.amw-inquiry-form ._form-fieldset legend { padding: 0 !important; margin-bottom: 0 !important; }
.amw-inquiry-form ._row._checkbox-radio { display: flex !important; align-items: center !important; gap: 10px !important; width: calc(50% - 6px) !important; margin: 0 !important; min-height: 44px !important; padding: 0 14px !important; border: 1px solid #cfcdca !important; background: rgba(207, 205, 202, 0.2) !important; box-sizing: border-box !important; cursor: pointer; }
.amw-inquiry-form ._row._checkbox-radio input[type=checkbox] { width: 18px !important; height: 18px !important; margin: 0 !important; flex: 0 0 18px !important; accent-color: var(--amw-navy); cursor: pointer; }
.amw-inquiry-form ._row._checkbox-radio span { display: block !important; }
.amw-inquiry-form ._row._checkbox-radio label { margin: 0 !important; font-size: 16px !important; line-height: 1.2 !important; white-space: nowrap !important; cursor: pointer; }
.amw-inquiry-form ._row._checkbox-radio:has(input:checked) { border-color: var(--amw-navy) !important; background: rgba(39, 52, 94, 0.06) !important; }
@media (max-width: 480px) {
	.amw-inquiry-form ._row._checkbox-radio { width: 100% !important; }
}
.amw-inquiry-form ._button-wrapper { width: 100% !important; text-align: center !important; margin: 16px 0 0 !important; }
.amw-inquiry-form ._submit { background: var(--amw-gold) !important; color: var(--amw-gold-text) !important; font-family: var(--amw-font-display) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; font-size: 20px !important; height: 47px !important; padding: 0 36px !important; border: 0 !important; border-radius: 0 !important; }
@media (max-width: 768px) {
	.amw-inquiry-form ._form-content { grid-template-columns: 1fr !important; gap: 28px !important; }
	.amw-inquiry-form ._form_element:has(._form-fieldset) { grid-row: auto !important; }
	/* 20px labels can out-span a phone; let buttons wrap instead of overflowing. */
	.amw-btn { font-size: 16px; padding: 0 24px; height: auto; min-height: 47px; max-width: 100%; white-space: normal; text-align: center; }
}

/* Inquire info band: three columns divided by hairlines. */
.amw-info-col + .amw-info-col { border-left: 1px solid var(--amw-dusty-blue); }
.amw-info-mark img { width: 180px; height: auto; display: block; margin: 0 auto; }

/* ---------------------------------------------------------------- *
 * FAQ accordion
 * ---------------------------------------------------------------- */

.amw-accordion-item {
	border-bottom: 1px solid var(--amw-navy);
	padding: 20px 0;
	text-align: left; /* brand book: FAQs are left-justified */
}
.amw-accordion-item { width: 100%; }
/* The accordion's Bricks text wrapper must span the column too, or each
   question's rule and its + stop at the end of the question text. */
.brxe-text-basic:has(> .amw-accordion-item) { width: 100%; align-self: stretch; }
.amw-accordion-item summary { width: 100%; }
.amw-accordion-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	cursor: pointer;
	font-family: var(--amw-font-display);
	font-weight: 600;
	font-size: 22px;
	color: var(--amw-navy-text);
	list-style: none;
	text-align: left;
}
.amw-accordion-item summary::-webkit-details-marker { display: none; }
.amw-accordion-item summary::after {
	font-family: var(--amw-font-body);
	font-weight: 300;
	font-size: 22px;
	color: var(--amw-navy-text);
	flex-shrink: 0;
}
.amw-accordion-item[open] summary::after { content: "\00d7"; } /* × */
.amw-accordion-item:not([open]) summary::after { content: "+"; }
.amw-accordion-item .amw-body {
	padding-top: 12px;
	white-space: pre-line;
	text-align: left;
}

/* ---------------------------------------------------------------- *
 * Embed placeholder — marks a spot reserved for a third-party embed
 * (e.g. an ActiveCampaign form) that hasn't been dropped in yet.
 * ---------------------------------------------------------------- */

.amw-embed-placeholder {
	border: 2px dashed var(--amw-dusty-blue);
	background: var(--amw-pale-blue);
	padding: 56px 32px;
	text-align: center;
	max-width: 700px;
	margin: 0 auto;
}
.amw-embed-placeholder .amw-h3 { margin-bottom: 12px; }

/* Photo Credits page: photographer links in three centred columns. */
.amw-credits-intro { text-align: center; margin-bottom: 32px; }
.amw-credits { columns: 3; column-gap: 32px; text-align: center; }
.amw-credits a { display: block; break-inside: avoid; margin-bottom: 16px; color: var(--amw-navy); text-decoration: none; font-size: 18px; line-height: 1.4; }
.amw-credits a:hover { text-decoration: underline; }
.amw-credits span { display: block; break-inside: avoid; margin-bottom: 16px; color: var(--amw-navy); font-size: 18px; line-height: 1.4; }
@media (max-width: 768px) {
	.amw-credits { columns: 2; }
}
@media (max-width: 480px) {
	.amw-credits { columns: 1; }
}
