/* ==========================================================================
   FM Legal — Practice Areas Widgets
   Shared stylesheet for fm-pa-* widgets
   ========================================================================== */

.fm-pa,
.fm-pa * { box-sizing: border-box; }

.fm-pa {
	--fm-pa-accent:   #96783c;
	--fm-pa-accent-2: #c9a96e;
	--fm-pa-dark:     #1a1714;
	--fm-pa-cream:    #faf9f6;
	--fm-pa-warm:     #f3f1ec;
	--fm-pa-text:     #1a1714;
	--fm-pa-text-mut: rgba(26,23,20,.55);
	--fm-pa-light:    #e8e4df;
	--fm-pa-light-mut: rgba(232,228,223,.6);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--fm-pa-text);
}
.fm-pa .fm-pa-serif { font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif; }

/* Reveal helpers — content is ALWAYS visible. The .is-visible class
   optionally applied by fm-pa.js is a no-op hook you can style if you
   ever want a scroll-in animation; by default we do nothing so content
   is never trapped invisible. */
.fm-pa .fm-pa-anim,
.fm-pa .fm-pa-anim-l,
.fm-pa .fm-pa-anim-r { opacity: 1; transform: none; }

/* Common eyebrow row (rule + label) */
.fm-pa-eyerow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.fm-pa-eyerow--center { justify-content: center; }
.fm-pa-eyerow__rule { width: 48px; height: 1px; background: var(--fm-pa-accent); flex-shrink: 0; }
.fm-pa-eyerow__label { font-size: 11px; letter-spacing: 5px; text-transform: uppercase; color: var(--fm-pa-accent); }

/* Common CTA button */
.fm-pa-btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 32px;
	background: var(--fm-pa-accent); color: #fff;
	font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
	text-decoration: none;
	transition: all .4s ease;
	border: 0;
}
.fm-pa-btn:hover { background: #7a6230; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(150,120,60,.25); color: #fff; }
.fm-pa-btn--gold { background: var(--fm-pa-accent-2); color: #0a0a0a; }
.fm-pa-btn--gold:hover { background: #e0c48a; color: #0a0a0a; box-shadow: 0 8px 24px rgba(201,169,110,.3); }
.fm-pa-btn--lg { padding: 18px 40px; font-size: 12px; }
.fm-pa-btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }

/* ==========================================================================
   HERO (fm-pa-hero)
   ========================================================================== */
.fm-pa-hero {
	position: relative;
	min-height: 70vh;
	display: flex; align-items: center;
	padding: 120px 80px 80px;
	overflow: hidden;
}
.fm-pa-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; }
.fm-pa-hero__overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.75) 100%); }
.fm-pa-hero__inner {
	position: relative; z-index: 2;
	max-width: 1000px; width: 100%; margin: 0 auto;
	animation: fm-pa-fadeUp 1.2s ease-out both;
}
@keyframes fm-pa-fadeUp {
	0%   { opacity: 0; transform: translateY(30px); }
	100% { opacity: 1; transform: none; }
}
.fm-pa-hero__eyerow .fm-pa-eyerow__label,
.fm-pa-hero__eyerow .fm-pa-eyerow__rule { color: var(--fm-pa-accent-2); background: var(--fm-pa-accent-2); }
.fm-pa-hero__eyerow .fm-pa-eyerow__label { background: transparent; }
.fm-pa-hero h1 {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: clamp(42px, 6vw, 80px); font-weight: 300; line-height: 1.05;
	margin: 0 0 24px; color: var(--fm-pa-light);
}
.fm-pa-hero h1 .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent-2); }
.fm-pa-hero__desc { font-size: 18px; line-height: 1.8; color: rgba(232,228,223,.65); max-width: 640px; margin: 0; }

/* ==========================================================================
   JUMP INDEX (fm-pa-jump)
   ========================================================================== */
.fm-pa-jump {
	padding: 60px 80px;
	background: var(--fm-pa-warm);
	border-bottom: 1px solid rgba(26,23,20,.06);
}
.fm-pa-jump__inner { max-width: 1400px; margin: 0 auto; }
.fm-pa-jump__row {
	display: flex; align-items: center; gap: 20px;
	font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase;
	color: rgba(26,23,20,.5);
	flex-wrap: wrap; justify-content: center;
}
.fm-pa-jump__lead { color: var(--fm-pa-accent); white-space: nowrap; }
.fm-pa-jump__link { color: inherit; text-decoration: none; white-space: nowrap; transition: color .3s ease; }
.fm-pa-jump__link:hover { color: var(--fm-pa-accent); }

/* ==========================================================================
   DETAIL BLOCK (fm-pa-detail) — used for Litigation / Arbitration / Corporate
   ========================================================================== */
.fm-pa-detail {
	position: relative;
	padding: 140px 80px;
	background: var(--fm-pa-cream);
	overflow: hidden;
}
.fm-pa-detail--dark { background: var(--fm-pa-dark); color: var(--fm-pa-light); }
.fm-pa-detail__ghostnum {
	position: absolute; top: -60px; right: -40px;
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 400px; font-weight: 700;
	color: rgba(150,120,60,.03); line-height: 1;
	pointer-events: none; user-select: none;
}
.fm-pa-detail__grid {
	position: relative;
	max-width: 1400px; margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 100px; align-items: center;
}
.fm-pa-detail--img-left .fm-pa-detail__grid { grid-template-columns: 1fr 1.1fr; }
.fm-pa-detail--img-left .fm-pa-detail__text { order: 2; }
.fm-pa-detail--img-left .fm-pa-detail__media { order: 1; }

.fm-pa-detail__numrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.fm-pa-detail__num {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 48px; font-weight: 300; line-height: 1;
	color: rgba(150,120,60,.35);
}
.fm-pa-detail--dark .fm-pa-detail__num { color: rgba(201,169,110,.4); }
.fm-pa-detail__rule { width: 48px; height: 1px; background: var(--fm-pa-accent); }
.fm-pa-detail--dark .fm-pa-detail__rule { background: var(--fm-pa-accent-2); }
.fm-pa-detail__eyebrow { font-size: 11px; letter-spacing: 5px; text-transform: uppercase; color: var(--fm-pa-accent); }
.fm-pa-detail--dark .fm-pa-detail__eyebrow { color: var(--fm-pa-accent-2); }

.fm-pa-detail__h {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 52px; font-weight: 300; line-height: 1.15;
	margin: 0 0 28px; color: var(--fm-pa-text);
}
.fm-pa-detail--dark .fm-pa-detail__h { color: var(--fm-pa-light); }
.fm-pa-detail__h .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent); }
.fm-pa-detail--dark .fm-pa-detail__h .fm-pa-accent { color: var(--fm-pa-accent-2); }

.fm-pa-detail__p { font-size: 16px; line-height: 1.9; color: rgba(26,23,20,.55); margin: 0 0 24px; }
.fm-pa-detail--dark .fm-pa-detail__p { color: rgba(232,228,223,.55); }
.fm-pa-detail__p:last-of-type { margin-bottom: 40px; }

.fm-pa-detail__bullets {
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 16px 32px; margin: 0 0 40px;
}
.fm-pa-detail__bullet { display: flex; gap: 12px; align-items: flex-start; }
.fm-pa-detail__dot { width: 6px; height: 6px; background: var(--fm-pa-accent); margin-top: 8px; flex-shrink: 0; }
.fm-pa-detail--dark .fm-pa-detail__dot { background: var(--fm-pa-accent-2); }
.fm-pa-detail__bulletlbl { font-size: 14px; color: rgba(26,23,20,.7); }
.fm-pa-detail--dark .fm-pa-detail__bulletlbl { color: rgba(232,228,223,.75); }

.fm-pa-detail__media { position: relative; }
.fm-pa-detail__imgwrap { position: relative; overflow: hidden; }
.fm-pa-detail__img { display: block; width: 100%; height: 600px; object-fit: cover; }
.fm-pa-detail--dark .fm-pa-detail__img { filter: grayscale(20%); }
.fm-pa-detail__imgfade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(26,23,20,.5)); }

.fm-pa-detail__badge {
	position: absolute;
	background: var(--fm-pa-dark); color: var(--fm-pa-light);
	padding: 32px 36px; max-width: 280px;
}
.fm-pa-detail__badge--bl { bottom: -30px; left: -30px; }
.fm-pa-detail__badge--br { bottom: -30px; right: -30px; }
.fm-pa-detail__badge--tr { top: -30px; right: -30px; }
.fm-pa-detail__badge--gold { background: var(--fm-pa-accent-2); color: var(--fm-pa-dark); }
.fm-pa-detail__badge-num {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 48px; font-weight: 300; line-height: 1; color: var(--fm-pa-accent-2);
}
.fm-pa-detail__badge--gold .fm-pa-detail__badge-num { color: var(--fm-pa-dark); }
.fm-pa-detail__badge-lbl { font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: rgba(232,228,223,.5); margin-top: 8px; }
.fm-pa-detail__badge--gold .fm-pa-detail__badge-lbl { color: rgba(26,23,20,.7); margin-bottom: 8px; margin-top: 0; }
.fm-pa-detail__badge-text {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 28px; font-weight: 600; line-height: 1.3;
}

/* ==========================================================================
   GRID OF SECONDARY PRACTICES (fm-pa-grid)
   ========================================================================== */
.fm-pa-grid { padding: 140px 80px; background: var(--fm-pa-warm); }
.fm-pa-grid__inner { max-width: 1400px; margin: 0 auto; }
.fm-pa-grid__head { text-align: center; margin-bottom: 80px; }
.fm-pa-grid__eyerow {
	display: inline-flex; align-items: center; gap: 16px; margin-bottom: 24px;
}
.fm-pa-grid__eyerow .fm-pa-eyerow__rule { background: var(--fm-pa-accent); }
.fm-pa-grid__eyerow .fm-pa-eyerow__label { color: var(--fm-pa-accent); }
.fm-pa-grid__h {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 48px; font-weight: 300; line-height: 1.2; margin: 0;
	color: var(--fm-pa-text);
}
.fm-pa-grid__h .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent); }

.fm-pa-grid__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
.fm-pa-grid__card {
	padding: 56px 48px;
	background: #fff;
	border: 1px solid rgba(26,23,20,.06);
	transition: all .5s ease;
	scroll-margin-top: 120px;
}
.fm-pa-grid__card:hover { background: rgba(150,120,60,.03); border-color: rgba(150,120,60,.25); }
.fm-pa-grid__card-head { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.fm-pa-grid__card-num {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 42px; font-weight: 300; line-height: 1;
	color: rgba(150,120,60,.35);
}
.fm-pa-grid__card-icon { width: 32px; height: 32px; }
.fm-pa-grid__card-icon svg { width: 100%; height: 100%; fill: none; stroke: var(--fm-pa-accent); stroke-width: 1.3; }
.fm-pa-grid__card-title {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 30px; font-weight: 600; margin: 0 0 16px; color: var(--fm-pa-text);
}
.fm-pa-grid__card-desc { font-size: 14px; line-height: 1.85; color: rgba(26,23,20,.55); margin: 0 0 24px; }
.fm-pa-grid__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.fm-pa-grid__tag {
	font-size: 11px; padding: 6px 12px;
	background: rgba(150,120,60,.08); color: var(--fm-pa-accent);
	letter-spacing: 1px;
}

/* ==========================================================================
   INDUSTRIES BAR (fm-pa-industries)
   ========================================================================== */
.fm-pa-industries {
	padding: 100px 80px;
	background: var(--fm-pa-cream);
	border-top: 1px solid rgba(26,23,20,.06);
	border-bottom: 1px solid rgba(26,23,20,.06);
}
.fm-pa-industries__inner { max-width: 1400px; margin: 0 auto; }
.fm-pa-industries__head { text-align: center; margin-bottom: 60px; }
.fm-pa-industries__eyebrow { font-size: 11px; letter-spacing: 5px; text-transform: uppercase; color: var(--fm-pa-accent); }
.fm-pa-industries__h {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 36px; font-weight: 300; line-height: 1.3;
	margin: 16px 0 0; color: var(--fm-pa-text);
}
.fm-pa-industries__h .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent); }

.fm-pa .fm-pa-industries__grid {
	display: grid;
	grid-template-columns: repeat(var(--pa-cols, 6), 1fr);
	gap: 2px;
	width: 100%;
}
.fm-pa .fm-pa-industries__cell {
	padding: 32px 20px; text-align: center;
	background: #fff; border: 1px solid rgba(26,23,20,.06);
	transition: all .3s ease;
	min-width: 0;
}
.fm-pa .fm-pa-industries__cell:hover { background: rgba(150,120,60,.05); border-color: rgba(150,120,60,.2); }
.fm-pa .fm-pa-industries__cell-name {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 20px; font-weight: 600; color: var(--fm-pa-text);
	overflow-wrap: anywhere;
}

/* ==========================================================================
   CTA (fm-pa-cta)
   ========================================================================== */
.fm-pa-cta { position: relative; padding: 120px 80px; overflow: hidden; }
.fm-pa-cta__bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; }
.fm-pa-cta__overlay { position: absolute; inset: 0; background: rgba(10,10,10,.88); }
.fm-pa-cta__inner {
	position: relative; z-index: 1;
	max-width: 900px; margin: 0 auto; text-align: center;
}
.fm-pa-cta__eyerow { display: inline-flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.fm-pa-cta__eyerow .fm-pa-eyerow__rule { background: var(--fm-pa-accent-2); }
.fm-pa-cta__eyerow .fm-pa-eyerow__label { color: var(--fm-pa-accent-2); }
.fm-pa-cta__h {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: clamp(36px, 5vw, 56px); font-weight: 300; line-height: 1.15;
	margin: 0 0 24px; color: var(--fm-pa-light);
}
.fm-pa-cta__h .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent-2); }
.fm-pa-cta__desc {
	font-size: 17px; line-height: 1.8;
	color: rgba(232,228,223,.6);
	max-width: 600px; margin: 0 auto 40px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
	.fm-pa-hero,
	.fm-pa-jump,
	.fm-pa-detail,
	.fm-pa-grid,
	.fm-pa-industries,
	.fm-pa-cta { padding-left: 40px; padding-right: 40px; }

	.fm-pa-detail__grid,
	.fm-pa-detail--img-left .fm-pa-detail__grid { grid-template-columns: 1fr; gap: 60px; }
	.fm-pa-detail--img-left .fm-pa-detail__text,
	.fm-pa-detail--img-left .fm-pa-detail__media { order: initial; }
	.fm-pa-detail__ghostnum { font-size: 260px; }
	.fm-pa-detail__img { height: 420px; }

	.fm-pa-grid__cards { grid-template-columns: 1fr; }
	.fm-pa .fm-pa-industries__grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
	.fm-pa-hero,
	.fm-pa-jump,
	.fm-pa-detail,
	.fm-pa-grid,
	.fm-pa-industries,
	.fm-pa-cta { padding-left: 20px; padding-right: 20px; }
	.fm-pa-hero { padding-top: 100px; padding-bottom: 60px; }
	.fm-pa-detail { padding-top: 80px; padding-bottom: 80px; }
	.fm-pa-detail__h { font-size: 36px; }
	.fm-pa-detail__bullets { grid-template-columns: 1fr; }
	.fm-pa-grid { padding-top: 80px; padding-bottom: 80px; }
	.fm-pa-grid__h { font-size: 32px; }
	.fm-pa-grid__card { padding: 40px 28px; }
	.fm-pa .fm-pa-industries__grid { grid-template-columns: repeat(2, 1fr) !important; }
	.fm-pa .fm-pa-industries__cell { padding: 22px 14px; }
	.fm-pa .fm-pa-industries__cell-name { font-size: 15px; }
	.fm-pa-industries__h { font-size: 28px; }
	.fm-pa-cta { padding-top: 80px; padding-bottom: 80px; }
	.fm-pa-detail__badge--bl { left: 0; bottom: -20px; }
	.fm-pa-detail__badge--br { right: 0; bottom: -20px; }
	.fm-pa-detail__badge--tr { right: 0; top: -20px; }
}

/* ==========================================================================
   FM Legal — Areas of Practice (Full, MV & Co preset) — fm-pa-aop
   ========================================================================== */

.fm-pa .fm-pa-aop__hero {
	padding: 100px 80px 60px;
	text-align: center;
	background: var(--fm-pa-cream);
}
.fm-pa .fm-pa-aop__hero-inner { max-width: 900px; margin: 0 auto; }
.fm-pa .fm-pa-aop__firm {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 40px; font-weight: 600; letter-spacing: 8px;
	color: var(--fm-pa-accent); margin-bottom: 4px;
}
.fm-pa .fm-pa-aop__firmtag {
	font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
	color: rgba(26,23,20,.55); margin-bottom: 36px;
}
.fm-pa .fm-pa-aop__eyerow {
	display: inline-flex; align-items: center; gap: 16px; margin-bottom: 22px;
}
.fm-pa .fm-pa-aop__rule {
	width: 48px; height: 1px; background: var(--fm-pa-accent);
}
.fm-pa .fm-pa-aop__eyebrow {
	font-size: 11px; letter-spacing: 5px; text-transform: uppercase;
	color: var(--fm-pa-accent);
}
.fm-pa .fm-pa-aop__h1 {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: clamp(42px, 5.5vw, 66px); font-weight: 300; line-height: 1.05;
	margin: 0 0 18px; color: var(--fm-pa-text);
}
.fm-pa .fm-pa-aop__h1 .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent); }
.fm-pa .fm-pa-aop__intro {
	font-size: 16px; line-height: 1.8; color: var(--fm-pa-text-mut);
	max-width: 720px; margin: 0 auto;
}

/* --- Practice block ------------------------------------------------------- */
.fm-pa .fm-pa-aop__block { padding: 100px 80px; }
.fm-pa .fm-pa-aop__block--light { background: var(--fm-pa-cream); color: var(--fm-pa-text); }
.fm-pa .fm-pa-aop__block--dark  { background: var(--fm-pa-dark);  color: var(--fm-pa-light); }
.fm-pa .fm-pa-aop__block-inner { max-width: 900px; margin: 0 auto; }
.fm-pa .fm-pa-aop__block-head { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.fm-pa .fm-pa-aop__num {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 40px; font-weight: 300; line-height: 1;
	color: rgba(150,120,60,.35);
}
.fm-pa-aop__block--dark .fm-pa-aop__num { color: rgba(201,169,110,.4); }
.fm-pa .fm-pa-aop__block-rule { width: 48px; height: 1px; background: var(--fm-pa-accent); }
.fm-pa-aop__block--dark .fm-pa-aop__block-rule { background: var(--fm-pa-accent-2); }
.fm-pa .fm-pa-aop__block-eyebrow { font-size: 11px; letter-spacing: 5px; text-transform: uppercase; color: var(--fm-pa-accent); }
.fm-pa-aop__block--dark .fm-pa-aop__block-eyebrow { color: var(--fm-pa-accent-2); }
.fm-pa .fm-pa-aop__block-title {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 44px; font-weight: 300; line-height: 1.15;
	margin: 0 0 28px;
}
.fm-pa-aop__block--dark .fm-pa-aop__block-title { color: var(--fm-pa-light); }
.fm-pa-aop__block--dark .fm-pa-aop__block-title .fm-pa-accent { color: var(--fm-pa-accent-2); }
.fm-pa .fm-pa-aop__block-title .fm-pa-accent { font-weight: 600; color: var(--fm-pa-accent); }

/* WYSIWYG body */
.fm-pa .fm-pa-aop__block-body { font-size: 16px; line-height: 1.9; color: rgba(26,23,20,.72); }
.fm-pa-aop__block--dark .fm-pa-aop__block-body { color: rgba(232,228,223,.75); }
.fm-pa .fm-pa-aop__block-body p { margin: 0 0 18px; }
.fm-pa .fm-pa-aop__block-body h4 {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 20px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase;
	color: var(--fm-pa-accent);
	margin: 32px 0 12px;
}
.fm-pa-aop__block--dark .fm-pa-aop__block-body h4 { color: var(--fm-pa-accent-2); }
.fm-pa .fm-pa-aop__block-body ul {
	list-style: none; padding: 0; margin: 0 0 18px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 8px 32px;
}
.fm-pa .fm-pa-aop__block-body ul li {
	position: relative; padding-left: 18px;
	font-size: 15px; line-height: 1.7;
}
.fm-pa .fm-pa-aop__block-body ul li::before {
	content: ""; position: absolute; left: 0; top: 12px;
	width: 8px; height: 1px; background: var(--fm-pa-accent);
}
.fm-pa-aop__block--dark .fm-pa-aop__block-body ul li::before { background: var(--fm-pa-accent-2); }
.fm-pa .fm-pa-aop__block-body strong { color: inherit; }
.fm-pa-aop__block--dark .fm-pa-aop__block-body strong { color: var(--fm-pa-light); }

/* --- Registration block -------------------------------------------------- */
.fm-pa .fm-pa-aop__reg { padding: 90px 80px; background: var(--fm-pa-warm); }
.fm-pa .fm-pa-aop__reg-intro {
	font-size: 15px; line-height: 1.75; color: var(--fm-pa-text-mut);
	margin: 0 0 32px; max-width: 780px;
}
.fm-pa .fm-pa-aop__reg-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 40px;
}
.fm-pa .fm-pa-aop__reg-item {
	display: flex; gap: 14px; align-items: flex-start;
	padding: 14px 0; border-bottom: 1px solid rgba(26,23,20,.08);
	transition: color .25s;
}
.fm-pa .fm-pa-aop__reg-item:hover { color: var(--fm-pa-accent); }
.fm-pa .fm-pa-aop__reg-dot {
	width: 6px; height: 6px; background: var(--fm-pa-accent);
	margin-top: 9px; flex-shrink: 0;
}
.fm-pa .fm-pa-aop__reg-lbl {
	font-size: 15px; line-height: 1.5; color: var(--fm-pa-text);
}

/* --- CTA block ----------------------------------------------------------- */
.fm-pa .fm-pa-aop__cta {
	padding: 80px 80px;
	background: var(--fm-pa-dark); color: var(--fm-pa-light);
	text-align: center;
}
.fm-pa .fm-pa-aop__cta-inner { max-width: 760px; margin: 0 auto; }
.fm-pa .fm-pa-aop__cta-h {
	font-family: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	font-size: 38px; font-weight: 300; line-height: 1.2;
	margin: 0 0 14px; color: var(--fm-pa-light);
}
.fm-pa .fm-pa-aop__cta-p {
	font-size: 16px; line-height: 1.8;
	color: rgba(232,228,223,.65);
	margin: 0 0 28px;
}
.fm-pa .fm-pa-aop__cta-btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 16px 34px;
	background: var(--fm-pa-accent-2); color: var(--fm-pa-dark);
	font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
	text-decoration: none; transition: all .35s ease;
}
.fm-pa .fm-pa-aop__cta-btn:hover { background: #e0c48a; transform: translateY(-2px); }
.fm-pa .fm-pa-aop__cta-btn svg { stroke: currentColor; }

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1024px) {
	.fm-pa .fm-pa-aop__hero,
	.fm-pa .fm-pa-aop__block,
	.fm-pa .fm-pa-aop__reg,
	.fm-pa .fm-pa-aop__cta { padding-left: 40px; padding-right: 40px; }
	.fm-pa .fm-pa-aop__reg-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.fm-pa .fm-pa-aop__block-title { font-size: 36px; }
}
@media (max-width: 640px) {
	.fm-pa .fm-pa-aop__hero { padding: 64px 20px 40px; }
	.fm-pa .fm-pa-aop__block,
	.fm-pa .fm-pa-aop__reg,
	.fm-pa .fm-pa-aop__cta { padding: 60px 20px; }
	.fm-pa .fm-pa-aop__firm { font-size: 28px; letter-spacing: 5px; }
	.fm-pa .fm-pa-aop__firmtag { font-size: 10px; letter-spacing: 2px; margin-bottom: 24px; }
	.fm-pa .fm-pa-aop__block-title { font-size: 28px; }
	.fm-pa .fm-pa-aop__block-body ul { grid-template-columns: 1fr; }
	.fm-pa .fm-pa-aop__reg-grid { grid-template-columns: 1fr !important; gap: 4px 0; }
	.fm-pa .fm-pa-aop__cta-h { font-size: 28px; }
}

/* PA Industries — very small phones drop to 1 column */
@media (max-width: 420px) {
	.fm-pa .fm-pa-industries__grid { grid-template-columns: 1fr !important; }
	.fm-pa .fm-pa-industries__cell { padding: 18px 12px; }
	.fm-pa .fm-pa-industries__cell-name { font-size: 15px; }
	.fm-pa .fm-pa-industries { padding-left: 16px !important; padding-right: 16px !important; }
	.fm-pa .fm-pa-industries__h { font-size: 22px; }
}
