/* ==========================================================================
   Manor Row Solicitors v2
   Built from the Claude Design "Manor Row Homepage v3" specification.

   The design ships as inline styles on every element. Those are lifted into
   classes here so the site has one place to change a colour, one place to fix a
   breakpoint, and a stylesheet the browser can cache — none of which is true of
   inline styles. Values are otherwise reproduced as specified.
   ========================================================================== */

:root {
	/* Palette — as specified in the design file. Note this differs slightly from
	   the older brand record: navy is #0f2030 here, not #071230. */
	--mr-navy:        #0f2030;
	--mr-navy-deep:   #0b1825;
	--mr-gold:        #d39639;
	--mr-gold-soft:   #e6b264;
	--mr-gold-dark:   #b87d25;
	--mr-cream:       #fbf9f5;
	--mr-cream-warm:  #f4ecdd;
	--mr-border:      #ebe2d2;
	--mr-border-warm: #e4dac7;
	--mr-ink:         #1c2a38;
	--mr-slate:       #5b6b7a;
	--mr-mute:        #8a96a3;
	--mr-light:       #c3cdd6;
	--mr-lighter:     #dfe6ec;

	--mr-serif: 'Newsreader', Georgia, serif;
	--mr-sans:  'Hanken Grotesk', system-ui, -apple-system, sans-serif;

	--mr-max: 1350px;
	--mr-pad: 30px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body.mrv2 {
	font-family: var(--mr-sans);
	color: var(--mr-ink);
	background: var(--mr-cream);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

.mr-serif { font-family: var(--mr-serif); }
.mr-gold { color: var(--mr-gold); }
.mr-stars-y { color: #fbbc05; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--mr-gold); }
img { max-width: 100%; height: auto; }
::selection { background: var(--mr-gold); color: #fff; }

/* The [hidden] attribute has to beat any display rule set by a class, otherwise
   everything the JS hides by attribute stays on screen — the search clear
   button, the mega panels, the calculator's conditional years field. */
[hidden] { display: none !important; }

:focus-visible {
	outline: 3px solid var(--mr-gold);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

.mr-skip {
	position: absolute; left: -9999px; top: 0; z-index: 200;
	background: var(--mr-navy); color: #fff; padding: 12px 20px;
	font-weight: 700; border-radius: 0 0 6px 0;
}
.mr-skip:focus { left: 0; color: #fff; }

/* Animated underline used across nav and footer links. */
.mr-u { position: relative; }
.mr-u::after {
	content: ''; position: absolute; left: 0; bottom: -3px;
	height: 1.5px; width: 0; background: var(--mr-gold);
	transition: width .25s ease;
}
.mr-u:hover::after { width: 100%; }

.mr-row { transition: background .25s; }
.mr-row:hover { background: var(--mr-cream-warm); }

.mr-tile { transition: transform .45s cubic-bezier(.2,.7,.3,1); display: block; overflow: hidden; }
.mr-mosaic__tile:hover .mr-tile { transform: scale(1.04); }

@keyframes mrSlideUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes mrKb      { from { transform: scale(1.09); } to { transform: scale(1); } }
@keyframes mrProg    { from { width: 0; } to { width: 100%; } }

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

/* --------------------------------------------------------------- buttons -- */
.mr-btn {
	display: inline-block; font-weight: 700; border-radius: 7px;
	text-align: center; border: none; cursor: pointer;
	font-family: inherit; transition: background .2s, transform .2s;
}
.mr-btn--gold  { background: var(--mr-gold); color: #fff; padding: 12px 20px; font-size: 14px; }
.mr-btn--gold:hover { background: var(--mr-gold-dark); color: #fff; }
.mr-btn--ghost { border: 1px solid rgba(255,255,255,.32); color: #fff; padding: 12px 20px; font-size: 14px; }
.mr-btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff; }
.mr-btn--lg    { font-size: 14.5px; padding: 14px 26px; }
.mr-btn--xl    { font-size: 17px; padding: 18px 30px; }
.mr-btn--block { display: block; width: 100%; }

.mr-pill {
	align-self: flex-start; background: rgba(211,150,57,.9); color: #fff;
	font-size: 10.5px; font-weight: 800; letter-spacing: .08em;
	text-transform: uppercase; padding: 5px 11px; border-radius: 50px;
}

.mr-kicker {
	font-family: var(--mr-serif); font-size: 12.5px; letter-spacing: .2em;
	text-transform: uppercase; color: var(--mr-gold); font-weight: 600;
}

.mr-h2 {
	font-size: 46px; font-weight: 500; letter-spacing: -.025em;
	margin: 14px 0 0; color: var(--mr-navy); line-height: 1.08;
}
.mr-h2--sm    { font-size: 44px; }
.mr-h2--light { color: #fff; }
.mr-h2--gap   { margin-bottom: 44px; }
.mr-h2 span   { font-style: italic; color: var(--mr-gold); }

.mr-lede { font-size: 16.5px; color: var(--mr-slate); line-height: 1.7; margin: 16px 0 24px; max-width: 440px; }
.mr-lede--light { color: #aeb9c4; }
.mr-lede--wide  { max-width: none; margin-bottom: 30px; }

.mr-section { max-width: var(--mr-max); margin: 0 auto; padding: 90px var(--mr-pad); }
.mr-section--mosaic  { padding-bottom: 0; }
.mr-section--video   { padding: 96px var(--mr-pad) 6px; }
.mr-section--why     { padding: 100px var(--mr-pad); }

.mr-sectionHead {
	display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
	align-items: end; margin-bottom: 38px;
}
.mr-sectionHead__lede { font-size: 16.5px; color: var(--mr-slate); line-height: 1.7; margin: 0 0 6px; }

.mr-2col { display: grid; gap: 56px; align-items: center; }
.mr-2col--video { grid-template-columns: .9fr 1.1fr; }
.mr-2col--why   { grid-template-columns: 1fr 1.05fr; gap: 64px; }
.mr-2col--calc  { grid-template-columns: 1fr 1fr; align-items: start; }
.mr-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* -------------------------------------------------------- utility bar ----- */
.mr-utility { background: var(--mr-navy-deep); color: #9fabb6; font-size: 12.5px; }
.mr-utility__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 11px var(--mr-pad);
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.mr-utility__addr { display: flex; align-items: center; gap: 8px; }
.mr-utility__nav { display: flex; align-items: center; gap: 22px; font-weight: 500; white-space: nowrap; }
.mr-utility__nwnf { color: var(--mr-gold-soft); font-weight: 700; }

/* ------------------------------------------------------------- header ----- */
.mr-header {
	position: sticky; top: 0; z-index: 60;
	background: rgba(251,249,245,.94);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--mr-border);
}
.mr-header__inner {
	max-width: var(--mr-max); margin: 0 auto;
	padding: 13px var(--mr-pad) 8px;
	display: flex; align-items: center; justify-content: space-between;
	gap: 14px; flex-wrap: wrap;
}
.mr-logo { display: flex; align-items: center; flex: none; }
.mr-logo img { height: 48px; width: auto; display: block; }

.mr-cta {
	flex: none; background: var(--mr-gold); color: #fff; font-weight: 700;
	font-size: 14px; padding: 12px 20px; border-radius: 6px; white-space: nowrap;
}
.mr-cta:hover { background: var(--mr-gold-dark); color: #fff; }

.mr-burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.mr-burger span { display: block; width: 24px; height: 2px; background: var(--mr-navy); margin: 5px 0; }

/* search trigger (desktop) — opens the Spotlight overlay */
.mr-search {
	flex: 1 1 260px; max-width: 400px; min-width: 200px;
	border: none; background: none; padding: 0; cursor: pointer;
	font-family: inherit; text-align: left;
}
.mr-search__box {
	display: flex; align-items: center; gap: 10px; background: #fff;
	border: 1px solid var(--mr-border-warm); border-radius: 8px;
	padding: 0 12px 0 14px; height: 38px;
	box-shadow: 0 1px 2px rgba(15,32,48,.04);
	transition: border-color .2s, box-shadow .2s;
}
.mr-search:hover .mr-search__box { border-color: var(--mr-gold); box-shadow: 0 2px 10px -2px rgba(211,150,57,.35); }
.mr-search__ph { flex: 1; font-size: 14px; color: #9aa5b1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-search__kbd { display: flex; gap: 3px; flex: none; }
.mr-search__kbd kbd {
	font-family: inherit; font-size: 10.5px; font-weight: 700; color: var(--mr-mute);
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 4px; padding: 2px 5px; line-height: 1;
}

/* nav */
.mr-nav {
	order: 3; flex: 1 1 100%;
	display: flex; align-items: center; gap: 0; flex-wrap: wrap;
	justify-content: flex-start; margin-top: 3px;
	border-top: 1px solid var(--mr-border); padding-top: 4px; min-width: 0;
}
.mr-nav__link, .mr-nav__btn {
	padding: 6px 11px; font-size: 14px; font-weight: 500;
	white-space: nowrap; color: var(--mr-ink);
	background: none; border: none; cursor: pointer; font-family: inherit;
	display: flex; align-items: center; gap: 5px;
}
.mr-nav__btn--bold { font-weight: 700; color: var(--mr-navy); }
.mr-nav__home { display: flex; align-items: center; gap: 6px; }
.mr-nav__item { position: static; }

/* mega panels */
.mr-mega {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; border-bottom: 3px solid var(--mr-gold);
	box-shadow: 0 30px 60px -28px rgba(15,32,48,.45); overflow: hidden;
}
.mr-mega[hidden] { display: none; }
.mr-mega__grid { max-width: var(--mr-max); margin: 0 auto; display: grid; grid-template-columns: 1fr 320px; }
.mr-mega__cols { padding: 38px 40px; }
.mr-mega__simple { max-width: var(--mr-max); margin: 0 auto; padding: 32px var(--mr-pad); }
.mr-mega__kicker {
	display: flex; align-items: center; gap: 12px; margin-bottom: 18px;
	font-family: var(--mr-serif); font-size: 12.5px; letter-spacing: .18em;
	text-transform: uppercase; color: var(--mr-gold); font-weight: 600;
}
.mr-mega__kicker span { height: 1px; flex: 1; background: #ece3d4; }
/* The kicker is a link to the section hub, so the whole heading is clickable. */
a.mr-mega__kicker { text-decoration: none; transition: color .18s ease; }
a.mr-mega__kicker:hover { color: var(--mr-ink); }
a.mr-mega__kicker:hover span { background: var(--mr-gold); }
/* Columns are auto-fitted rather than a fixed three. Personal Injury now runs
   four groups and a hard `repeat(3, 1fr)` pushed the fourth onto a second row
   on its own, leaving two thirds of that row empty — which is what made the
   panel look broken rather than full. Every other panel still resolves to
   three because that is what fits its content. */
.mr-mega__cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(158px, 1fr)); gap: 26px 28px; align-items: start; }
.mr-mega__cats--wide { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.mr-mega__head {
	display: block; font-weight: 700; font-size: 14px; color: var(--mr-navy);
	margin-bottom: 10px; padding-bottom: 9px; border-bottom: 1px solid #f0e8d9;
	line-height: 1.3;
}
/* Tighter than body copy on purpose: a menu column is scanned down, and the
   extra leading that helps a paragraph read makes a list harder to scan. */
.mr-mega__item { display: block; font-size: 13.5px; line-height: 1.45; color: var(--mr-slate); padding: 5px 0; transition: color .15s; }
.mr-mega__item:hover { color: var(--mr-gold); }

/* ---- Personal Injury panel: rail + cards --------------------------------
   This panel carries four groups and twenty-five children. As columns of text
   that is a wall of near-identical links, so the groups move to a rail on the
   left and their children become cards. Only this panel uses it; the others
   have few enough children that columns are still the right answer. */
/* The rail track is sized to its own longest label, not to a number somebody
   guessed. A fixed width meant "Road traffic accidents" wrapped onto two
   lines, which made four one-line groups read as a ragged block. fit-content
   lets the track grow to the text and stop, with 300px as the ceiling so a
   long label added later cannot eat the card area. */
.mr-mega__cols--pi { display: grid; grid-template-columns: fit-content(300px) 1fr; gap: 0 34px; align-items: start; }
/* The kicker is the panel's heading, so it spans the rail and the cards
   rather than sitting inside the first grid track. */
.mr-mega__cols--pi > .mr-mega__kicker { grid-column: 1 / -1; }
.mr-mega__rail { border-right: 1px solid #f0e8d9; padding-right: 24px; display: flex; flex-direction: column; gap: 2px; }
.mr-mega__railItem {
	display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
	padding: 11px 13px; border: 0; background: none; border-radius: 10px; cursor: pointer;
	font-size: 14px; font-weight: 600; color: var(--mr-navy); font-family: inherit;
	white-space: nowrap; transition: background .15s, color .15s;
}
.mr-mega__railItem:hover, .mr-mega__railItem:focus-visible { background: #faf7f1; color: var(--mr-gold-dark); }
.mr-mega__railItem.is-on { background: #f6efe2; color: var(--mr-gold-dark); }
.mr-mega__railIcon { display: flex; flex: none; width: 26px; height: 26px; align-items: center; justify-content: center; border-radius: 8px; background: #fff; border: 1px solid #ece3d4; color: var(--mr-gold); }
/* margin-left:auto resolves to zero while the track is being measured, so the
   arrow would otherwise sit flush against the label. Padding is counted. */
.mr-mega__railGo { margin-left: auto; padding-left: 16px; opacity: 0; transition: opacity .15s; color: var(--mr-gold); }
.mr-mega__railItem.is-on .mr-mega__railGo, .mr-mega__railItem:hover .mr-mega__railGo { opacity: 1; }
.mr-mega__railAll { margin-top: 10px; padding: 10px 13px; font-size: 13px; font-weight: 600; white-space: nowrap; color: var(--mr-gold-dark); }
.mr-mega__railAll:hover { color: var(--mr-navy); }

.mr-mega__panels { position: relative; min-height: 216px; }
.mr-mega__panel { display: none; grid-template-columns: repeat(auto-fit, minmax(186px, 1fr)); gap: 10px; }
.mr-mega__panel.is-on { display: grid; }
.mr-mega__card {
	display: flex; align-items: center; gap: 11px;
	padding: 13px 14px; border: 1px solid #f0ebe2; border-radius: 12px; background: #fdfbf8;
	transition: border-color .15s, background .15s, transform .15s;
}
.mr-mega__card:hover { border-color: var(--mr-gold); background: #fff; transform: translateY(-1px); }
.mr-mega__card.is-active { border-color: var(--mr-gold); background: #fff; }
.mr-mega__cardIcon { display: flex; flex: none; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 9px; background: #fff; border: 1px solid #ece3d4; color: var(--mr-gold); }
.mr-mega__cardTitle { font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--mr-navy); }
.mr-mega__card:hover .mr-mega__cardTitle { color: var(--mr-gold-dark); }

@media (max-width: 1100px) {
	.mr-mega__cols--pi { grid-template-columns: fit-content(260px) 1fr; gap: 0 22px; }
	.mr-mega__rail { padding-right: 18px; }
	.mr-mega__railGo { padding-left: 10px; }
	.mr-mega__panel { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}

.mr-mega__feature { position: relative; overflow: hidden; }
.mr-mega__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,24,37,.45), rgba(11,24,37,.94)); }
.mr-mega__featureBody {
	position: relative; padding: 32px 28px; height: 100%;
	display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
}
.mr-mega__featureBody h4 { font-size: 23px; font-weight: 500; margin: 14px 0 8px; line-height: 1.2; }
.mr-mega__featureBody .mr-btn { margin-top: 10px; }
.mr-mega__boxes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 720px; }
.mr-mega__box { display: block; }
.mr-mega__box h4 { font-size: 17px; font-weight: 600; color: var(--mr-navy); margin: 12px 0 6px; }
.mr-mega__box p  { font-size: 13px; color: var(--mr-slate); line-height: 1.6; margin: 0; }
.mr-mega__tools { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 900px; }
.mr-mega__tool { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 1px solid var(--mr-border); border-radius: 10px; }
.mr-mega__tool:hover { background: var(--mr-cream); }
.mr-mega__toolIcon { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--mr-cream-warm); display: flex; align-items: center; justify-content: center; }
.mr-mega__toolTitle { display: block; font-weight: 700; font-size: 14.5px; color: var(--mr-navy); }
.mr-mega__toolBlurb { display: block; font-size: 12.5px; color: var(--mr-mute); margin-top: 2px; }

/* --------------------------------------------------------------- hero ----- */
/* Height accounts for the tab strip pinned to the bottom, so --mr-hero-body
   is the space the copy and card are actually centred within. */
/* 780px pushed the first content section well below the fold on a laptop.
   700px keeps the carousel generous while letting the page start sooner. */
.mr-hero { position: relative; height: 700px; background: var(--mr-navy-deep); overflow: hidden; --mr-hero-tabs: 72px; }
.mr-hero__slide {
	position: absolute; inset: 0; overflow: hidden; background: var(--mr-navy-deep);
	opacity: 0; transition: opacity .7s ease; pointer-events: none;
}
.mr-hero__slide.is-active { opacity: 1; pointer-events: auto; }
.mr-hero__bg { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; }
.mr-hero__slide.is-active .mr-hero__bg { animation: mrKb 8s ease-out both; }
.mr-hero__scrim { position: absolute; inset: 0; background: linear-gradient(95deg, rgba(11,24,37,.94) 42%, rgba(11,24,37,.3)); }
.mr-hero__dots {
	position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(rgba(230,178,100,.28) 1px, transparent 1.5px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(100deg, #000 0%, rgba(0,0,0,.5) 40%, transparent 68%);
	mask-image: linear-gradient(100deg, #000 0%, rgba(0,0,0,.5) 40%, transparent 68%);
}
.mr-hero__index { position: absolute; top: 30px; right: 44px; font-size: 14px; color: rgba(255,255,255,.55); letter-spacing: .14em; }
.mr-hero__index span { color: rgba(255,255,255,.25); }
/* Vertically centred in the space above the tab strip, rather than pushed down
   from the top by a fixed padding — the copy blocks differ in height between
   slides, and a fixed offset left them sitting at different heights. */
.mr-hero__inner {
	position: relative; max-width: var(--mr-max); margin: 0 auto;
	padding: 0 var(--mr-pad) var(--mr-hero-tabs);
	height: 100%; display: flex; align-items: center;
}
.mr-hero__copy { max-width: 640px; }
.mr-hero__kicker { display: flex; align-items: center; gap: 14px; }
.mr-hero__rule { width: 34px; height: 1.5px; background: var(--mr-gold); }
.mr-hero__kicker .mr-serif { font-size: 12.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--mr-gold); font-weight: 600; }
.mr-hero__title { font-size: 56px; line-height: 1.05; font-weight: 500; color: #fff; margin: 16px 0 0; letter-spacing: -.02em; }
.mr-hero__title span { font-style: italic; color: var(--mr-gold); }
/* Slides 2-5 are h2 so the page has one h1; they must look identical. */
/* Slides 2-5 use h2 so the page has one h1. They must LOOK identical to it.
   This previously said `inherit`, which takes the value from the PARENT
   element rather than from the .mr-hero__title rule above — so every title
   after the first rendered at body size in the parent's colour, which on the
   dark hero meant invisible. Explicit values, matching the rule above. */
h2.mr-hero__title { font-size: 56px; font-weight: 500; letter-spacing: -.02em; line-height: 1.05; margin: 16px 0 0; color: #fff; }
.mr-hero__text { font-size: 16px; line-height: 1.65; color: var(--mr-light); margin: 16px 0 0; max-width: 480px; }
.mr-hero__feats { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mr-hero__feats li { display: flex; align-items: center; gap: 11px; font-size: 14px; color: var(--mr-lighter); font-weight: 500; }
.mr-hero__check { flex: none; width: 20px; height: 20px; border-radius: 50%; background: rgba(211,150,57,.2); display: flex; align-items: center; justify-content: center; color: var(--mr-gold); font-size: 11px; }
.mr-hero__slide.is-active .mr-hero__a1 { animation: mrSlideUp .8s cubic-bezier(.2,.7,.3,1) .05s both; }
.mr-hero__slide.is-active .mr-hero__feats li { animation: mrSlideUp .8s cubic-bezier(.2,.7,.3,1) var(--d, .24s) both; }
.mr-hero__slide.is-active .mr-hero__a3 { animation: mrSlideUp .8s cubic-bezier(.2,.7,.3,1) .55s both; }
.mr-hero__actions { display: flex; gap: 11px; margin-top: 24px; flex-wrap: wrap; }
.mr-hero__trust { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; }
.mr-trustchip {
	display: flex; align-items: center; gap: 8px;
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
	border-radius: 50px; padding: 8px 14px; backdrop-filter: blur(6px);
	font-size: 11.5px; color: var(--mr-lighter); font-weight: 600;
}
.mr-trustchip b { color: #fff; }
.mr-badge__sra {
	width: 18px; height: 21px; background: var(--mr-gold); border-radius: 3px 3px 9px 9px;
	display: flex; align-items: center; justify-content: center; flex: none;
}
.mr-badge__sra span { color: var(--mr-navy); font-size: 7px; font-weight: 800; }

/* callback card */
.mr-hero__cardwrap { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.mr-hero__cardinner {
	max-width: var(--mr-max); margin: 0 auto; height: 100%; position: relative;
	/* Same centring axis as the copy: centred in the space above the tab strip. */
	padding: 0 var(--mr-pad) var(--mr-hero-tabs);
	display: flex; align-items: center; justify-content: flex-end;
}
.mr-hero__card {
	position: relative; width: 400px; flex: none;
	pointer-events: auto; background: rgba(251,249,245,.97);
	border-radius: 14px; padding: 30px 30px 26px;
	box-shadow: 0 40px 80px -34px rgba(0,0,0,.65);
}
.mr-hero__stamp {
	position: absolute; top: -38px; right: -24px; width: 84px; height: 84px;
	border-radius: 50%; background: #fff; border: 2.5px solid var(--mr-gold);
	box-shadow: 0 16px 32px -14px rgba(15,32,48,.5);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	transform: rotate(8deg);
}
.mr-hero__stamp .mr-serif { font-size: 13px; font-weight: 700; color: var(--mr-navy); line-height: 1.1; text-align: center; }
.mr-hero__stampStars { font-size: 7px; color: var(--mr-gold); letter-spacing: .12em; margin-top: 3px; }
.mr-hero__cardHead { display: flex; align-items: center; gap: 11px; }
.mr-hero__cardIcon { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--mr-navy); display: flex; align-items: center; justify-content: center; }
.mr-hero__cardTitle { font-size: 19px; font-weight: 600; color: var(--mr-navy); line-height: 1.15; }
.mr-hero__cardSub { font-size: 12px; color: var(--mr-mute); margin-top: 2px; }
.mr-hero__cardBody { margin-top: 18px; }
.mr-hero__cardPending { font-size: 13.5px; color: var(--mr-slate); line-height: 1.6; margin: 0 0 12px; }
.mr-hero__cardPhone { font-weight: 700; color: var(--mr-navy); }
.mr-hero__cardFoot {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mr-border);
	font-size: 11.5px; color: var(--mr-slate); text-align: center;
}

/* hero tabs */
.mr-hero__tabs {
	position: absolute; left: 0; right: 0; bottom: 0;
	background: rgba(11,24,37,.55); backdrop-filter: blur(8px);
	border-top: 1px solid rgba(255,255,255,.14); z-index: 5;
	max-width: none;
	display: grid; grid-template-columns: repeat(5, 1fr);
}
.mr-hero__tab {
	/* Fixed to --mr-hero-tabs so the centring maths above stays exact; without
	   this the strip's height is content-derived and the two silently drift. */
	height: var(--mr-hero-tabs); box-sizing: border-box;
	position: relative; text-align: left; padding: 14px 20px;
	border: none; cursor: pointer; font-family: inherit; background: transparent;
	color: var(--mr-light); border-right: 1px solid rgba(255,255,255,.1);
	transition: background .3s, color .3s; overflow: hidden;
}
.mr-hero__tab:hover { background: rgba(255,255,255,.09); color: #fff; }
.mr-hero__tab.is-active { background: rgba(211,150,57,.18); color: #fff; }
.mr-hero__tabLabel { display: block; font-size: 13px; font-weight: 700; }
.mr-hero__tabSub { display: block; font-size: 11px; opacity: .75; margin-top: 2px; }
.mr-hero__tabTrack { position: absolute; left: 0; right: 0; top: 0; height: 3px; background: rgba(255,255,255,.1); }
.mr-hero__tabBar { position: absolute; left: 0; top: 0; height: 3px; background: var(--mr-gold); width: 0; }
.mr-hero__tab.is-active .mr-hero__tabBar { animation: mrProg 5s linear both; }
.mr-hero__tabs.is-paused .mr-hero__tab.is-active .mr-hero__tabBar { animation: none; width: 100%; }

/* ------------------------------------------------------------- mosaic ----- */
.mr-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; gap: 16px; }
.mr-mosaic__tile { position: relative; overflow: hidden; border-radius: 10px; background: var(--mr-navy); display: block; }
.mr-mosaic__img { position: absolute; inset: 0; }
.mr-mosaic__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,24,37,.05) 30%, rgba(11,24,37,.55) 62%, rgba(11,24,37,.93) 100%); }
.mr-mosaic__body { position: relative; height: 100%; padding: 24px; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; }
.mr-mosaic__badge { align-self: flex-start; background: var(--mr-gold); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; padding: 4px 9px; border-radius: 50px; margin-bottom: 10px; }
.mr-mosaic__title { font-weight: 600; line-height: 1.15; display: block; }
.mr-mosaic__blurb { font-size: 13.5px; color: var(--mr-light); line-height: 1.55; margin-top: 7px; max-width: 400px; display: block; }
.mr-mosaic__more { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; color: var(--mr-gold); margin-top: 12px; }

/* -------------------------------------------------------------- video ----- */
.mr-checklist { display: flex; flex-direction: column; gap: 12px; }
.mr-checklist > div { display: flex; align-items: center; gap: 11px; font-size: 14px; color: #33424f; font-weight: 600; }
.mr-checklist__tick { flex: none; width: 20px; height: 20px; border-radius: 50%; background: #f3ebdb; display: flex; align-items: center; justify-content: center; color: var(--mr-gold-dark); font-size: 11px; }
.mr-video { position: relative; border-radius: 14px; overflow: hidden; box-shadow: 0 40px 80px -36px rgba(15,32,48,.55); background: var(--mr-navy-deep); aspect-ratio: 16/9; }
.mr-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mr-video__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; background: none; cursor: pointer; }
.mr-video__poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-video__btn {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
	width: 74px; height: 74px; border-radius: 50%; background: rgba(211,150,57,.94);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 16px 40px -12px rgba(0,0,0,.6); transition: transform .25s;
}
.mr-video__play:hover .mr-video__btn { transform: translate(-50%,-50%) scale(1.08); }

/* ------------------------------------------------------------ why us ------ */
.mr-collage { position: relative; padding-bottom: 70px; padding-right: 60px; }
.mr-collage__inset { position: absolute; right: 0; bottom: 0; width: 56%; box-shadow: 0 30px 60px -28px rgba(11,24,37,.5); border: 6px solid var(--mr-cream); }
.mr-collage__stat { position: absolute; left: 0; bottom: 14px; background: var(--mr-navy); color: #fff; padding: 18px 22px; border-radius: 4px; }
.mr-collage__statNum { font-size: 34px; font-weight: 600; color: var(--mr-gold); line-height: 1; }
.mr-collage__statLabel { font-size: 12.5px; color: #a9b5bf; margin-top: 3px; }
.mr-points { display: flex; flex-direction: column; }
.mr-points__row { display: flex; gap: 18px; padding: 19px 0; border-top: 1px solid var(--mr-border); }
.mr-points__num { flex: none; font-size: 13px; font-weight: 600; color: var(--mr-gold); padding-top: 3px; width: 26px; }
.mr-points__title { font-weight: 700; font-size: 16px; color: var(--mr-navy); }
.mr-points__text { font-size: 14px; color: var(--mr-slate); line-height: 1.6; margin-top: 3px; }

/* --------------------------------------------------------- calculator -----
   The visa fee calculator is the dark one. The settlement, data breach and
   sponsor licence tools built later reuse this namespace on a light panel, and
   because they sit further down the file they were overriding the background
   and the line/total layout here — leaving white text on cream. Every rule
   that both designs want is scoped to .mr-calc--visa so it wins on
   specificity rather than on source order.
   -------------------------------------------------------------------------- */
.mr-calc.mr-calc--visa { background: var(--mr-navy); color: #fff; position: relative; overflow: hidden; }
.mr-calc__inner { max-width: var(--mr-max); margin: 0 auto; padding: 88px var(--mr-pad); }
.mr-calc__result { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 28px; }
.mr-calc__resultLabel { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #7f8d9b; font-weight: 700; }
.mr-calc--visa .mr-calc__total { display: block; font-size: 60px; font-weight: 600; line-height: 1; margin: 10px 0 4px; padding: 0; border: 0; }
.mr-calc__people { font-size: 13px; color: var(--mr-mute); }
.mr-calc__rule { height: 1px; background: rgba(255,255,255,.12); margin: 22px 0; }
.mr-calc__lines { display: flex; flex-direction: column; gap: 13px; }
.mr-calc--visa .mr-calc__line { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 0; border: 0; font-size: 13.5px; color: #c7d0d9; line-height: 1.4; }
.mr-calc--visa .mr-calc__line .mr-serif { font-size: 16px; font-weight: 600; white-space: nowrap; color: #fff; }
.mr-calc__cta { margin-top: 24px; font-size: 14.5px; padding: 14px; }
.mr-calc__disclaimer { font-size: 11px; color: #6b7986; line-height: 1.5; margin: 13px 0 0; }
.mr-calc__disclaimer a { color: #9fb0c0; text-decoration: underline; }
.mr-calc__panel { background: #fff; border-radius: 12px; padding: 34px; color: var(--mr-ink); }
.mr-field { margin-bottom: 22px; }
.mr-field--pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mr-field__inline { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 9px; }
.mr-field__value { font-size: 15px; font-weight: 600; color: var(--mr-gold); }
.mr-label { display: block; font-size: 12.5px; font-weight: 700; color: var(--mr-navy); margin-bottom: 9px; }
.mr-label--inline { margin-bottom: 0; display: inline; }
.mr-select {
	width: 100%; background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	color: var(--mr-navy); padding: 14px 15px; border-radius: 8px;
	font-family: inherit; font-size: 14.5px; font-weight: 600; outline: none; cursor: pointer;
}
.mr-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mr-seg--three { grid-template-columns: 1fr 1fr 1fr; }
.mr-segBtn {
	border: 1px solid var(--mr-border-warm); background: var(--mr-cream); color: var(--mr-slate);
	padding: 12px; border-radius: 8px; font-family: inherit; font-size: 13.5px;
	font-weight: 600; cursor: pointer; transition: all .15s;
}
.mr-segBtn.is-on { border-color: var(--mr-navy); background: var(--mr-navy); color: #fff; }
.mr-range { width: 100%; accent-color: var(--mr-gold); }
.mr-stepper { display: flex; align-items: center; border: 1px solid var(--mr-border-warm); border-radius: 8px; background: var(--mr-cream); overflow: hidden; }
.mr-stepper__btn { width: 44px; height: 44px; border: none; background: none; cursor: pointer; font-size: 20px; font-weight: 600; color: var(--mr-gold); font-family: inherit; }
.mr-stepper__val { flex: 1; text-align: center; font-weight: 700; color: var(--mr-navy); }

/* ------------------------------------------------------------ process -----
   Pinned section with a filling bar. Nothing slides: the four steps hold their
   positions and a gold bar travels the rail beneath them, lighting each step as
   it passes. When it reaches the end a rounded badge springs in at a fixed
   position. The section is made taller than the viewport by JS so there is
   scroll distance to convert into bar progress.
   -------------------------------------------------------------------------- */
.mr-proc {
	position: relative;
	height: var(--mr-proc-h, auto);
	background: var(--mr-cream);
}
.mr-proc__pin {
	position: sticky; top: 0;
	height: 100vh; min-height: 600px;
	display: flex; align-items: center;
	overflow: hidden;
}
.mr-proc__inner { width: 100%; max-width: var(--mr-max); margin: 0 auto; padding: 0 var(--mr-pad); }

.mr-proc__head {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 24px; margin-bottom: 54px; flex-wrap: wrap;
}
.mr-proc__count { font-family: var(--mr-serif); font-size: 17px; font-weight: 600; color: var(--mr-navy); letter-spacing: .06em; }
.mr-proc__count i { color: var(--mr-border-warm); font-style: normal; margin: 0 2px; }
.mr-proc__count [data-mr-proc-current] { color: var(--mr-gold); }

/* ---- the rail ---- */
.mr-proc__rail { position: relative; }
.mr-proc__bar {
	position: absolute; left: 0; right: 0; top: 5px; height: 2px;
	background: var(--mr-border-warm); border-radius: 2px; overflow: hidden;
}
.mr-proc__barFill {
	display: block; height: 100%; width: 0;
	background: linear-gradient(90deg, var(--mr-gold-dark), var(--mr-gold));
	border-radius: 2px;
	box-shadow: 0 0 14px rgba(211,150,57,.75);
}

.mr-proc__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 30px; }
.mr-proc__step { padding-right: 20px; }

.mr-proc__dot {
	display: block; width: 12px; height: 12px; border-radius: 50%;
	background: #fff; border: 2px solid var(--mr-border-warm);
	position: relative; z-index: 1; margin-bottom: 26px;
	transition: background .35s var(--mr-spring), border-color .35s var(--mr-spring), transform .35s var(--mr-spring), box-shadow .35s;
}
.mr-proc__step.is-on .mr-proc__dot {
	background: var(--mr-gold); border-color: var(--mr-gold);
	transform: scale(1.35); box-shadow: 0 0 0 5px rgba(211,150,57,.18);
}

.mr-proc__num { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; color: var(--mr-mute); transition: color .35s ease; }
.mr-proc__step.is-on .mr-proc__num { color: var(--mr-gold); }
.mr-proc__title { font-size: 22px; font-weight: 600; margin: 8px 0 9px; color: var(--mr-navy); line-height: 1.22; }
.mr-proc__text { font-size: 14px; color: var(--mr-slate); line-height: 1.7; margin: 0; }

/* Steps ahead of the bar sit back until it reaches them. */
.mr-proc__step { opacity: .42; transform: translateY(6px); transition: opacity .4s ease, transform .4s var(--mr-spring); }
.mr-proc__step.is-on { opacity: 1; transform: none; }

/* ---- the payoff badge ---- */
.mr-proc__done {
	display: flex; justify-content: center; margin-top: 52px;
	opacity: 0; transform: translateY(14px) scale(.94);
	transition: opacity .45s ease, transform .55s var(--mr-spring);
	pointer-events: none;
}
.mr-proc__done.is-in { opacity: 1; transform: none; pointer-events: auto; }
.mr-proc__doneBox {
	display: inline-flex; align-items: center; gap: 16px;
	background: var(--mr-navy); color: #fff;
	border-radius: 50px; padding: 14px 16px 14px 20px;
	box-shadow: 0 24px 50px -20px rgba(15,32,48,.6);
	position: relative; overflow: hidden;
}
.mr-proc__doneBox::after {
	/* One sweep of light across the badge as it lands. */
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.16) 50%, transparent 65%);
	transform: translateX(-100%);
}
.mr-proc__done.is-in .mr-proc__doneBox::after { animation: mrProcSheen .9s ease-out .25s 1 forwards; }
@keyframes mrProcSheen { to { transform: translateX(100%); } }

.mr-proc__doneTick {
	flex: none; width: 38px; height: 38px; border-radius: 50%;
	background: var(--mr-gold); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.mr-proc__done.is-in .mr-proc__doneTick { animation: mrProcPop .5s var(--mr-spring) .1s both; }
@keyframes mrProcPop { from { transform: scale(.3); opacity: 0; } to { transform: scale(1); opacity: 1; } }

.mr-proc__doneText { display: flex; flex-direction: column; }
.mr-proc__doneTitle { font-size: 19px; font-weight: 600; line-height: 1.15; }
.mr-proc__doneSub { font-size: 12px; color: #9fabb6; margin-top: 2px; }
.mr-proc__doneCta {
	flex: none; background: var(--mr-gold); color: #fff; font-weight: 700;
	font-size: 13.5px; padding: 11px 18px; border-radius: 50px; white-space: nowrap;
}
.mr-proc__doneCta:hover { background: var(--mr-gold-dark); color: #fff; }

/* ---- Fallback: phones, reduced motion, no-JS ----
   Everything already visible, nothing pinned, no scroll dependency. */
.mr-proc--static { height: auto; }
.mr-proc--static .mr-proc__pin { position: static; height: auto; min-height: 0; display: block; padding: 90px 0; overflow: visible; }
.mr-proc--static .mr-proc__step { opacity: 1; transform: none; }
.mr-proc--static .mr-proc__dot { background: var(--mr-gold); border-color: var(--mr-gold); }
.mr-proc--static .mr-proc__num { color: var(--mr-gold); }
.mr-proc--static .mr-proc__barFill { width: 100% !important; }
.mr-proc--static .mr-proc__done { opacity: 1; transform: none; pointer-events: auto; }

/* ------------------------------------------------------- testimonials ----- */
.mr-testimonials { background: var(--mr-cream-warm); }
.mr-testimonials__inner { max-width: var(--mr-max); margin: 0 auto; padding: 88px var(--mr-pad); }
.mr-testimonials--panel .mr-testimonials__inner { padding-bottom: 64px; }
.mr-testimonials--panel .mr-sectionHead { margin-bottom: 26px; }
.mr-rating { display: flex; align-items: center; gap: 14px; justify-content: flex-end; }
.mr-rating__score { font-size: 46px; font-weight: 600; color: var(--mr-navy); }
.mr-rating__stars { color: var(--mr-gold); font-size: 17px; letter-spacing: 2px; }
.mr-rating__label { font-size: 13px; color: var(--mr-slate); margin-top: 2px; }
.mr-quote { background: #fff; border-radius: 10px; padding: 30px; display: flex; flex-direction: column; margin: 0; }
.mr-quote__stars { color: var(--mr-gold); font-size: 15px; letter-spacing: 2px; }
.mr-quote__text { font-size: 18px; line-height: 1.55; color: var(--mr-navy); margin: 16px 0 0; flex: 1; }
.mr-quote__by { display: flex; align-items: center; gap: 13px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #f0e8d9; }
.mr-quote__avatar {
	width: 46px; height: 46px; border-radius: 50%; flex: none;
	background: var(--mr-navy); color: var(--mr-gold);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--mr-serif); font-size: 19px; font-weight: 600;
}
.mr-quote__name { display: block; font-weight: 700; font-size: 14.5px; color: var(--mr-navy); }
.mr-quote__matter { display: block; font-size: 12.5px; color: var(--mr-mute); }
.mr-quote__src { display: block; font-size: 11.5px; color: var(--mr-mute); margin-top: 3px; font-style: italic; }
.mr-quote__stars .screen-reader-text { letter-spacing: normal; }

/* Shown in place of the quote cards while no consented review is published. */
.mr-tpcard {
	background: #fff; border-radius: 10px; padding: 34px;
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px;
	border: 1px solid #f0e8d9;
}
.mr-tpcard__mark { display: flex; }
.mr-tpcard__title { font-size: 23px; color: var(--mr-navy); margin: 0 0 6px; }
.mr-tpcard__text { font-size: 15px; line-height: 1.6; color: var(--mr-slate); margin: 0; max-width: 62ch; }
.mr-tpcard__act { display: flex; flex-direction: column; align-items: stretch; gap: 9px; text-align: center; }
.mr-tpcard__alt { font-size: 13px; color: var(--mr-slate); text-decoration: underline; }
.mr-testimonials__more { margin: 22px 0 0; text-align: center; font-size: 14.5px; }
.mr-testimonials__more a { color: var(--mr-navy); font-weight: 600; }

/* -------------------------------------------------------- case studies ---- */
.mr-cases { background: var(--mr-navy); color: #fff; }
.mr-cases__inner { max-width: var(--mr-max); margin: 0 auto; padding: 88px var(--mr-pad); }
.mr-cases__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 38px; flex-wrap: wrap; }
.mr-cases__note { font-size: 14px; color: #aeb9c4; max-width: 380px; line-height: 1.65; margin: 0 0 6px; }
.mr-cases__box { position: relative; height: 340px; overflow: hidden; border-radius: 16px; }
.mr-case {
	position: absolute; inset: 0; background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.12); border-radius: 16px;
	opacity: 0; transition: opacity .6s ease; pointer-events: none;
}
.mr-case.is-active { opacity: 1; pointer-events: auto; }
.mr-case__grid { display: grid; grid-template-columns: .85fr 1.15fr; height: 100%; }
.mr-case__result {
	background: linear-gradient(160deg, rgba(211,150,57,.22), rgba(211,150,57,.06));
	border-right: 1px solid rgba(255,255,255,.1);
	display: flex; flex-direction: column; justify-content: center; padding: 44px 46px;
}
.mr-case__tag { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mr-gold); }
.mr-case__figure { font-size: clamp(44px, 4.6vw, 64px); font-weight: 600; color: #fff; line-height: 1; margin-top: 14px; }
.mr-case__title { font-size: 16px; font-weight: 700; color: var(--mr-lighter); margin-top: 12px; }
.mr-case__body { display: flex; flex-direction: column; justify-content: center; padding: 44px 50px; }
.mr-case__text { font-size: 17px; color: #c7d0d9; line-height: 1.7; margin: 16px 0 0; max-width: 520px; }
.mr-case__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 14px; font-weight: 700; color: var(--mr-gold); }
.mr-cases__controls { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; }
.mr-cases__dots { display: flex; gap: 9px; }
.mr-cases__dot { width: 10px; height: 10px; border-radius: 50px; border: none; cursor: pointer; padding: 0; background: rgba(255,255,255,.3); transition: all .3s; }
.mr-cases__dot.is-on { width: 26px; background: var(--mr-gold); }
.mr-cases__arrows { display: flex; gap: 10px; }
.mr-cases__arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: none; color: #fff; cursor: pointer; font-size: 17px; font-family: inherit; }
.mr-cases__arrow--next { background: var(--mr-gold); }

/* ---------------------------------------------------------------- news ---- */
.mr-cases__head--light .mr-h2 { color: var(--mr-navy); }
.mr-news { display: flex; flex-direction: column; }
.mr-news__all { font-weight: 700; font-size: 14.5px; color: var(--mr-navy); border-bottom: 2px solid var(--mr-gold); padding-bottom: 4px; }
.mr-news__item { display: grid; grid-template-columns: 210px 1fr auto; gap: 32px; align-items: center; padding: 22px; border-top: 1px solid var(--mr-border); border-radius: 8px; }
.mr-news__thumb { display: block; width: 100%; height: 132px; border-radius: 6px; overflow: hidden; }
.mr-news__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-news__thumbFallback { display: block; width: 100%; height: 100%; background: linear-gradient(160deg, var(--mr-navy), var(--mr-navy-deep)); }

/* -- Thumbnail magnify -----------------------------------------------------
 *
 * On hover the frame grows a little and the image inside grows more, so the
 * crop tightens and the reader sees further into the picture — the same read
 * as leaning in with a magnifier. The frame keeps overflow:hidden, which is
 * what turns a plain scale into a zoom rather than an overflow.
 *
 * The frame's 4% is deliberately small: the row has 22px of padding and a
 * 32px column gap, so at this size the thumbnail never touches the text
 * beside it or the row above.
 *
 * No prefers-reduced-motion block needed — the global rule near the top of
 * this file already collapses every transition duration, so a reader who has
 * asked for less motion gets the end state instantly instead of the travel.
 */
.mr-news__thumb {
	position: relative; z-index: 1;
	transition: transform .4s cubic-bezier(.2,.6,.2,1), box-shadow .4s ease;
	transform-origin: center;
}
.mr-news__thumb img,
.mr-news__thumb .mr-news__thumbFallback {
	transition: transform .55s cubic-bezier(.2,.6,.2,1);
	transform-origin: center;
	will-change: transform;
}
.mr-news__item:hover .mr-news__thumb,
.mr-news__item:focus-visible .mr-news__thumb {
	transform: scale(1.04);
	box-shadow: 0 14px 30px rgba(16, 27, 44, .22);
}
.mr-news__item:hover .mr-news__thumb img,
.mr-news__item:focus-visible .mr-news__thumb img {
	transform: scale(1.14);
}
.mr-news__item:hover .mr-news__arrow {
	background: var(--mr-gold); border-color: var(--mr-gold); color: #fff;
	transform: translateX(4px);
}
.mr-news__arrow { transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }
.mr-news__meta { display: flex; align-items: center; gap: 11px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mr-gold); }
.mr-news__date { color: #bfc8d0; font-weight: 500; }
.mr-news__title { font-size: 25px; font-weight: 600; line-height: 1.25; margin-top: 11px; color: var(--mr-navy); max-width: 640px; display: block; }
.mr-news__arrow { width: 46px; height: 46px; border-radius: 50%; border: 1px solid #d8cbb3; display: flex; align-items: center; justify-content: center; color: var(--mr-gold); flex: none; }

/* ----------------------------------------------------------------- faq ---- */
.mr-faq { max-width: 980px; margin: 0 auto; padding: 90px var(--mr-pad); }
.mr-faq__head { text-align: center; margin-bottom: 40px; }
.mr-faq__list { display: flex; flex-direction: column; gap: 11px; }
.mr-faq__item { background: #fff; border: 1px solid var(--mr-border); border-radius: 11px; overflow: hidden; }
.mr-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	cursor: pointer; padding: 19px 24px; color: var(--mr-navy);
	font-size: 16px; font-weight: 600; list-style: none;
}
.mr-faq__q::-webkit-details-marker { display: none; }
.mr-faq__icon { display: flex; transition: transform .2s; }
.mr-faq__item[open] .mr-faq__icon { transform: rotate(180deg); }
.mr-faq__a { padding: 0 24px 20px; font-size: 14.5px; color: var(--mr-slate); line-height: 1.65; }

/* ----------------------------------------------------------------- cta ---- */
.mr-cta2 { position: relative; overflow: hidden; background: var(--mr-navy-deep); }
.mr-cta2__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,24,37,.93), rgba(11,24,37,.42)); }
.mr-cta2__inner { position: relative; max-width: var(--mr-max); margin: 0 auto; padding: 88px var(--mr-pad); display: grid; grid-template-columns: 1fr auto; gap: 44px; align-items: center; }
.mr-cta2__copy { color: #fff; }
.mr-cta2__pill { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.22); border-radius: 50px; padding: 6px 15px; font-size: 12px; font-weight: 700; color: var(--mr-gold); letter-spacing: .04em; }
.mr-cta2__title { font-size: 48px; font-weight: 500; letter-spacing: -.025em; margin: 20px 0 12px; line-height: 1.1; }
.mr-cta2__text { font-size: 17px; color: var(--mr-light); line-height: 1.65; margin: 0; max-width: 520px; }
.mr-cta2__actions { display: flex; flex-direction: column; gap: 12px; min-width: 280px; }

/* -------------------------------------------------------------- footer ---- */
.mr-footer { background: var(--mr-navy-deep); color: #9fabb6; }
.mr-footer__top { max-width: var(--mr-max); margin: 0 auto; padding: 84px var(--mr-pad) 54px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: start; }
.mr-wordmark { display: flex; align-items: baseline; gap: 10px; }
.mr-wordmark .mr-serif { font-size: 30px; font-weight: 600; color: #fff; letter-spacing: -.01em; white-space: nowrap; }
.mr-wordmark .mr-serif span { color: var(--mr-gold); }
.mr-wordmark__sub { font-size: 10px; letter-spacing: .3em; color: #7f8d9b; font-weight: 700; text-transform: uppercase; }
.mr-footer__blurb { font-size: 14.5px; line-height: 1.75; margin: 16px 0 0; max-width: 420px; }
.mr-social { display: flex; gap: 9px; margin-top: 22px; }
.mr-social a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); display: flex; align-items: center; justify-content: center; }
.mr-social a:hover { border-color: var(--mr-gold); }
.mr-footer__label { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--mr-gold); font-weight: 700; }
.mr-footer__note { font-size: 14px; color: #aeb9c4; margin: 10px 0 16px; line-height: 1.6; }
.mr-footer__pending { font-size: 14px; color: #aeb9c4; line-height: 1.6; margin: 0; }
.mr-footer__pending a { color: #fff; font-weight: 600; }
.mr-footer__small { font-size: 12px; color: #7f8d9b; line-height: 1.6; margin: 12px 0 0; }
.mr-footer__links { border-top: 1px solid rgba(255,255,255,.08); }
.mr-footer__linksInner { max-width: var(--mr-max); margin: 0 auto; padding: 56px var(--mr-pad) 60px; display: grid; grid-template-columns: 1fr 1fr 1fr 1.2fr; gap: 48px; }
.mr-footer__colTitle { font-weight: 700; color: #fff; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
.mr-footer__linksInner a { display: block; font-size: 13.5px; padding: 5px 0; }
.mr-footer__more { display: inline-block !important; font-size: 13.5px; font-weight: 700; color: var(--mr-gold); margin-top: 10px; }
.mr-footer__contactRow { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.7; margin-top: 12px; }
.mr-footer__contactRow:first-of-type { margin-top: 0; }
.mr-footer__contactRow a { display: inline !important; padding: 0 !important; }
.mr-diamond { color: var(--mr-gold); font-size: 9px; padding-top: 6px; flex: none; }
.mr-footer__phone { color: #fff; font-weight: 700; font-size: 15px; }
.mr-footer__support { background: #fff; border-radius: 12px; padding: 18px 20px; margin-top: 18px; }
.mr-footer__supportLabel { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mr-mute); font-weight: 700; }
.mr-footer__supportRow { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.mr-footer__waIcon { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #2ecc71; display: flex; align-items: center; justify-content: center; }
.mr-footer__supportPhone { font-size: 16px; font-weight: 700; color: var(--mr-navy); }
.mr-footer__hours { font-size: 12px; color: var(--mr-mute); margin-top: 8px; }
.mr-footer__accred { border-top: 1px solid rgba(255,255,255,.08); }
.mr-footer__accredInner { max-width: var(--mr-max); margin: 0 auto; padding: 26px var(--mr-pad); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.mr-badges { display: flex; gap: 12px; flex-wrap: wrap; }
.mr-badge { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 50px; padding: 9px 17px; font-size: 12px; color: #c7d0d9; font-weight: 600; }
.mr-badge b { color: #fff; }

/* SRA Digital Badge.
   275 x 163 and the 59.1% ratio box are Yoshki's, not ours — firms are not
   authorised to resize the SRA logo, so these numbers are fixed. max-width
   only lets it shrink on a narrow screen, which is what their own wrapper
   does. Do not round the 59.1%. */
.mr-srabadge { flex: none; width: 275px; max-width: 100%; }
.mr-srabadge__ratio { position: relative; padding-bottom: 59.1%; height: auto; overflow: hidden; }
.mr-srabadge__frame { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; margin: 0; padding: 0; background-color: transparent; }
.mr-footer__legal { border-top: 1px solid rgba(255,255,255,.08); }
.mr-footer__legalInner { max-width: var(--mr-max); margin: 0 auto; padding: 24px var(--mr-pad); font-size: 12.5px; line-height: 1.7; color: #7f8d9b; }
.mr-footer__brandWrap { overflow: hidden; }
.mr-footer__brand {
	max-width: var(--mr-max); margin: 0 auto; padding: 44px var(--mr-pad) 8px;
	font-size: clamp(88px, 15.5vw, 218px); font-weight: 600; letter-spacing: -.035em;
	line-height: .85; white-space: nowrap; text-align: center; color: #fff;
	opacity: 0; transform: translateY(60px);
	transition: opacity 1s cubic-bezier(.2,.7,.3,1), transform 1s cubic-bezier(.2,.7,.3,1);
}
.mr-footer__brand.is-in { opacity: 1; transform: translateY(0); }
.mr-footer__brand span { color: var(--mr-gold); }
.mr-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); }
.mr-footer__bottomInner { max-width: var(--mr-max); margin: 0 auto; padding: 22px var(--mr-pad); display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; font-size: 12.5px; }
.mr-footer__bottomLinks { display: flex; gap: 20px; align-items: center; }
.mr-footer__toTop { color: #fff; }

/* ------------------------------------------------------- WhatsApp launcher */
/* Was .mr-chat, a green "Live chat" bubble linking to /contact-us/. Same
   position and geometry, because that placement was already right — it is the
   destination and the WhatsApp green that changed. #25D366 is WhatsApp's own
   brand green; the old #2ecc71 was a lookalike. */
.mr-wa {
	position: fixed; right: 26px; bottom: 26px; z-index: 70;
	display: flex; align-items: center; gap: 10px;
	background: #25D366; color: #fff; border-radius: 50px;
	padding: 14px 20px 14px 16px; box-shadow: 0 18px 40px -14px rgba(0,0,0,.5);
	font-weight: 700; font-size: 14px;
	transition: transform .25s, box-shadow .25s;
}
.mr-wa:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 24px 48px -14px rgba(0,0,0,.6); }
.mr-wa:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.mr-wa__icon { position: relative; display: flex; }
.mr-wa__dot { position: absolute; top: -2px; right: -2px; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid #25D366; }

/* The subject chooser. Only rendered where the page has not answered for
   itself, so on a service page none of this markup exists at all. */
.mr-wa-panel { position: fixed; inset: 0; z-index: 120; display: flex; align-items: flex-end; justify-content: flex-end; padding: 26px; }
.mr-wa-panel__scrim { position: absolute; inset: 0; background: rgba(7,18,48,.55); backdrop-filter: blur(3px); animation: mrWaFade .2s ease; }
.mr-wa-panel__box {
	position: relative; width: 380px; max-width: 100%;
	background: #fff; border-radius: 20px; overflow: hidden;
	box-shadow: 0 40px 90px -20px rgba(7,18,48,.55);
	animation: mrWaRise .32s cubic-bezier(.32,.72,0,1);
}
@keyframes mrWaFade { from { opacity: 0; } }
@keyframes mrWaRise { from { opacity: 0; transform: translateY(14px) scale(.98); } }

.mr-wa-panel__head { display: flex; align-items: flex-start; gap: 12px; padding: 20px 20px 16px; background: #075E54; color: #fff; }
.mr-wa-panel__mark { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; }
.mr-wa-panel__title { font-size: 16px; font-weight: 700; }
.mr-wa-panel__sub { font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.82); margin-top: 3px; }
.mr-wa-panel__x { flex: none; margin-left: auto; background: rgba(255,255,255,.14); border: 0; color: #fff; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.mr-wa-panel__x:hover { background: rgba(255,255,255,.26); }

.mr-wa-panel__list { max-height: min(52vh, 430px); overflow-y: auto; padding: 8px; }
.mr-wa-panel__opt {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 14px; border-radius: 12px;
	font-size: 14px; font-weight: 600; color: var(--mr-navy);
	transition: background .15s, color .15s;
}
.mr-wa-panel__opt:hover, .mr-wa-panel__opt:focus-visible { background: #F1F7F3; color: #075E54; }
.mr-wa-panel__go { color: #25D366; font-weight: 700; }

.mr-wa-panel__foot { padding: 14px 20px 18px; border-top: 1px solid #eef1f4; }
.mr-wa-panel__hours { font-size: 12px; font-weight: 600; color: var(--mr-navy); margin: 0 0 6px; }
.mr-wa-panel__privacy { font-size: 11.5px; line-height: 1.6; color: #6b7885; margin: 0; }

/* ==========================================================================
   Mobile app layer — Spotlight search, drawer, bottom bar

   Motion uses cubic-bezier(.32,.72,0,1): fast out, long settle. It is the
   curve iOS sheets use, and it is what makes a web panel stop feeling like a
   web panel. Everything here respects prefers-reduced-motion via the global
   rule near the top of this file.
   ========================================================================== */

:root {
	--mr-spring: cubic-bezier(.32,.72,0,1);
	--mr-bottombar-h: 62px;
}

/* ------------------------------------------------ Spotlight search ------- */
.mr-spot { position: fixed; inset: 0; z-index: 200; display: flex; justify-content: center; }
.mr-spot[hidden] { display: none; }

.mr-spot__scrim {
	position: absolute; inset: 0;
	background: rgba(11,24,37,.55);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	opacity: 0; transition: opacity .28s ease;
}
.mr-spot.is-open .mr-spot__scrim { opacity: 1; }

.mr-spot__panel {
	position: relative; z-index: 1;
	width: min(640px, calc(100% - 28px));
	margin-top: min(14vh, 110px);
	align-self: flex-start;
	background: rgba(255,255,255,.97);
	border: 1px solid rgba(255,255,255,.6);
	border-radius: 16px;
	box-shadow: 0 40px 90px -24px rgba(11,24,37,.6), 0 0 0 1px rgba(15,32,48,.06);
	overflow: hidden;
	display: flex; flex-direction: column;
	max-height: min(70vh, 620px);
	opacity: 0; transform: translateY(-12px) scale(.97);
	transition: opacity .3s var(--mr-spring), transform .3s var(--mr-spring);
}
.mr-spot.is-open .mr-spot__panel { opacity: 1; transform: none; }

.mr-spot__bar {
	display: flex; align-items: center; gap: 12px;
	padding: 0 14px 0 18px; height: 60px; flex: none;
	border-bottom: 1px solid var(--mr-border);
}
.mr-spot__icon { display: flex; color: var(--mr-gold); flex: none; }
.mr-spot__bar input {
	flex: 1; min-width: 0; border: none; outline: none; background: none;
	font-family: inherit; font-size: 17px; color: var(--mr-navy);
}
.mr-spot__bar input::placeholder { color: #9aa5b1; }
.mr-spot__bar input::-webkit-search-cancel-button { display: none; }
.mr-spot__esc { border: none; background: none; cursor: pointer; padding: 0; flex: none; }
.mr-spot__escKey {
	font-size: 11px; font-weight: 700; color: var(--mr-mute);
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 5px; padding: 4px 8px; display: block;
}

/* flex:1 so on a full-height phone panel the footer pins to the bottom
   instead of floating up under a short result list. */
.mr-spot__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.mr-spot__section { padding: 10px 0 6px; }
.mr-spot__label {
	display: block; padding: 6px 18px; font-size: 11px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase; color: var(--mr-mute);
}
.mr-spot__hit {
	display: flex; align-items: center; gap: 13px;
	padding: 11px 18px; cursor: pointer;
	transition: background .12s;
}
.mr-spot__hit:hover, .mr-spot__hit.is-sel { background: var(--mr-cream-warm); color: inherit; }
.mr-spot__hitIcon {
	flex: none; width: 34px; height: 34px; border-radius: 9px;
	background: var(--mr-cream); display: flex; align-items: center;
	justify-content: center; color: var(--mr-gold);
}
.mr-spot__hit.is-sel .mr-spot__hitIcon { background: #fff; }
.mr-spot__hitText { flex: 1; min-width: 0; }
.mr-spot__hitTitle { display: block; font-size: 14.5px; font-weight: 600; color: var(--mr-navy); }
.mr-spot__hitCat { display: block; font-size: 12px; color: var(--mr-mute); margin-top: 1px; }
.mr-spot__hit mark { background: rgba(211,150,57,.28); color: inherit; border-radius: 2px; padding: 0 1px; }
.mr-spot__go { flex: none; color: var(--mr-gold); opacity: 0; transition: opacity .15s; }
.mr-spot__hit.is-sel .mr-spot__go, .mr-spot__hit:hover .mr-spot__go { opacity: 1; }

.mr-spot__empty { padding: 34px 22px; text-align: center; }
.mr-spot__emptyTitle { font-size: 15.5px; font-weight: 600; color: var(--mr-navy); }
.mr-spot__emptyText { font-size: 13.5px; color: var(--mr-slate); line-height: 1.6; margin-top: 6px; }
.mr-spot__emptyCta { display: inline-block; margin-top: 16px; }

.mr-spot__foot {
	flex: none; display: flex; align-items: center; justify-content: space-between;
	gap: 12px; padding: 10px 16px; border-top: 1px solid var(--mr-border);
	background: var(--mr-cream); font-size: 11.5px; color: var(--mr-mute);
}
.mr-spot__hints kbd {
	font-family: inherit; font-size: 10.5px; font-weight: 700;
	background: #fff; border: 1px solid var(--mr-border-warm);
	border-radius: 4px; padding: 2px 5px; margin-right: 2px;
}
.mr-spot__call { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--mr-navy); }

/* --------------------------------------------- mobile header controls ---- */
.mr-mobctl { display: none; align-items: center; gap: 2px; flex: none; }
.mr-mobctl__btn {
	width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
	border: none; background: none; cursor: pointer; color: var(--mr-navy);
	border-radius: 10px; -webkit-tap-highlight-color: transparent;
}
.mr-mobctl__btn:active { background: var(--mr-cream-warm); }

.mr-burger {
	display: none; width: 44px; height: 44px; border: none; background: none;
	cursor: pointer; padding: 0; border-radius: 10px;
	align-items: center; justify-content: center; flex-direction: column; gap: 5px;
	-webkit-tap-highlight-color: transparent;
}
.mr-burger span {
	display: block; width: 21px; height: 2px; background: var(--mr-navy);
	border-radius: 2px; transition: transform .32s var(--mr-spring), opacity .2s;
}
.mr-burger:active { background: var(--mr-cream-warm); }
body.mr-drawer-open .mr-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.mr-drawer-open .mr-burger span:nth-child(2) { opacity: 0; }
body.mr-drawer-open .mr-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ------------------------------------------- mobile utility (top) bar ---- */
.mr-utility__mobile { display: none; }
.mr-utility__value {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 11.5px; font-weight: 600; color: #cfd8e0; min-width: 0;
	overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.mr-utility__claim {
	flex: none; background: var(--mr-gold); color: #fff;
	font-size: 12px; font-weight: 800; letter-spacing: .02em;
	padding: 7px 14px; border-radius: 50px; white-space: nowrap;
	box-shadow: 0 4px 14px -4px rgba(211,150,57,.8);
}
.mr-utility__claim:hover { color: #fff; }

/* -------------------------------------------------------- drawer -------- */
.mr-drawer { position: fixed; inset: 0; z-index: 190; }
.mr-drawer[hidden] { display: none; }
.mr-drawer__scrim {
	position: absolute; inset: 0; background: rgba(11,24,37,.5);
	backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
	opacity: 0; transition: opacity .34s ease;
}
.mr-drawer.is-open .mr-drawer__scrim { opacity: 1; }

.mr-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(400px, 90vw);
	background: var(--mr-cream);
	box-shadow: -20px 0 60px -18px rgba(11,24,37,.5);
	display: flex; flex-direction: column;
	transform: translateX(100%);
	transition: transform .42s var(--mr-spring);
}
.mr-drawer.is-open .mr-drawer__panel { transform: none; }

.mr-drawer__head {
	flex: none; display: flex; align-items: center; justify-content: space-between;
	gap: 14px; padding: 14px 16px; background: var(--mr-navy);
	padding-top: calc(14px + env(safe-area-inset-top, 0px));
}
.mr-drawer__logo img { height: 34px; width: auto; display: block; filter: brightness(0) invert(1); }
.mr-drawer__close {
	width: 40px; height: 40px; flex: none; border-radius: 50%;
	border: 1px solid rgba(255,255,255,.22); background: none; color: #fff;
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.mr-drawer__close:active { background: rgba(255,255,255,.12); }

.mr-drawer__scroll {
	flex: 1; overflow-y: auto; overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch; padding: 14px 14px 30px;
}

/* Children stagger in behind the panel slide. */
.mr-drawer__search, .mr-drawer__link, .mr-acc, .mr-drawer__foot {
	opacity: 0; transform: translateX(14px);
}
.mr-drawer.is-open .mr-drawer__search,
.mr-drawer.is-open .mr-drawer__link,
.mr-drawer.is-open .mr-acc,
.mr-drawer.is-open .mr-drawer__foot {
	opacity: 1; transform: none;
	transition: opacity .4s ease calc(.10s + var(--i, 0) * .028s),
	            transform .4s var(--mr-spring) calc(.10s + var(--i, 0) * .028s);
}

.mr-drawer__search {
	display: flex; align-items: center; gap: 10px; width: 100%;
	background: #fff; border: 1px solid var(--mr-border-warm);
	border-radius: 11px; padding: 13px 15px; margin-bottom: 14px;
	font-family: inherit; font-size: 14.5px; color: #9aa5b1;
	cursor: pointer; text-align: left;
	box-shadow: 0 1px 3px rgba(15,32,48,.05);
	-webkit-tap-highlight-color: transparent;
}
.mr-drawer__search svg { color: var(--mr-gold); flex: none; }
.mr-drawer__search:active { background: var(--mr-cream-warm); }

.mr-drawer__list { display: flex; flex-direction: column; gap: 4px; }

.mr-drawer__link {
	display: flex; align-items: center; gap: 12px;
	padding: 14px 15px; border-radius: 11px; background: #fff;
	border: 1px solid var(--mr-border); font-size: 15px; font-weight: 600;
	color: var(--mr-navy); -webkit-tap-highlight-color: transparent;
}
.mr-drawer__link:active { background: var(--mr-cream-warm); color: var(--mr-navy); }
.mr-drawer__link--plain { justify-content: space-between; }
.mr-drawer__link--plain svg { color: var(--mr-mute); flex: none; }

/* accordions */
.mr-acc { background: #fff; border: 1px solid var(--mr-border); border-radius: 11px; overflow: hidden; }
.mr-acc--lead { border-color: rgba(211,150,57,.55); box-shadow: 0 2px 12px -4px rgba(211,150,57,.4); }
.mr-acc__head {
	width: 100%; display: flex; align-items: center; justify-content: space-between;
	gap: 12px; padding: 15px; border: none; background: none; cursor: pointer;
	font-family: inherit; font-size: 15px; font-weight: 700; color: var(--mr-navy);
	text-align: left; -webkit-tap-highlight-color: transparent;
}
.mr-acc--lead .mr-acc__head { color: var(--mr-gold-dark); }
.mr-acc__chev { display: flex; color: var(--mr-gold); transition: transform .34s var(--mr-spring); flex: none; }
.mr-acc__head[aria-expanded="true"] .mr-acc__chev { transform: rotate(180deg); }

/* 0fr -> 1fr animates a natural height without measuring anything in JS. */
.mr-acc__wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .38s var(--mr-spring); }
.mr-acc__head[aria-expanded="true"] + .mr-acc__wrap { grid-template-rows: 1fr; }
.mr-acc__inner { overflow: hidden; }
.mr-acc__group { padding: 0 15px 4px; }
.mr-acc__group:last-child { padding-bottom: 14px; }
.mr-acc__groupTitle {
	display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; color: var(--mr-mute);
	padding: 12px 0 6px; border-top: 1px solid var(--mr-border);
}
.mr-acc__item {
	display: block; padding: 10px 0; font-size: 14px; color: var(--mr-slate);
	border-bottom: 1px solid #f6f1e7;
}
.mr-acc__item:last-child { border-bottom: none; }
.mr-acc__item:active { color: var(--mr-gold); }
/* Category headings are links to the hub page, not just labels. */
a.mr-acc__groupTitle { text-decoration: none; }
a.mr-acc__groupTitle:active { color: var(--mr-gold); }
/* "All X →" — the way out of an accordion to its section landing page. */
.mr-acc__all {
	display: block; margin-top: 12px; padding: 11px 14px; border-radius: 10px;
	background: var(--mr-cream); color: var(--mr-navy); text-align: center;
	font-size: 13px; font-weight: 700; letter-spacing: .01em; text-decoration: none;
}
.mr-acc__all:active { background: var(--mr-gold); color: #fff; }

.mr-drawer__foot {
	margin-top: 20px; padding: 20px 16px; border-radius: 13px;
	background: var(--mr-navy); color: #aeb9c4; text-align: center;
}
.mr-drawer__badge {
	display: inline-block; background: rgba(211,150,57,.16); color: var(--mr-gold);
	font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 50px;
}
.mr-drawer__phone {
	display: block; font-family: var(--mr-serif); font-size: 27px; font-weight: 600;
	color: #fff; margin-top: 12px;
}
.mr-drawer__phone:hover { color: var(--mr-gold); }
.mr-drawer__hours { font-size: 12.5px; margin-top: 4px; }
.mr-drawer__addr { font-size: 12.5px; margin-top: 10px; color: #8f9ba6; }
.mr-drawer__sra { font-size: 11px; margin-top: 8px; color: #6f7c88; }

/* --------------------------------------------------- bottom action bar --- */
.mr-bottombar {
	display: none;
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 120;
	background: rgba(15,32,48,.97);
	backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
	border-top: 1px solid rgba(255,255,255,.1);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	box-shadow: 0 -8px 30px -10px rgba(0,0,0,.5);
}
.mr-bottombar__item {
	flex: 1; display: flex; flex-direction: column; align-items: center;
	justify-content: center; gap: 3px; height: var(--mr-bottombar-h);
	color: #cfd8e0; font-size: 10.5px; font-weight: 600;
	-webkit-tap-highlight-color: transparent; position: relative;
}
.mr-bottombar__item:active { color: #fff; background: rgba(255,255,255,.07); }
.mr-bottombar__icon { display: flex; }
.mr-bottombar__icon--wa { color: #2ecc71; }
.mr-bottombar__item--cta { color: var(--mr-navy); }
.mr-bottombar__item--cta::before {
	content: ''; position: absolute; inset: 7px 8px;
	background: var(--mr-gold); border-radius: 12px; z-index: -1;
}
.mr-bottombar__item--cta .mr-bottombar__icon,
.mr-bottombar__item--cta .mr-bottombar__label { color: #fff; position: relative; }
.mr-bottombar__item--cta:active { background: none; }
.mr-bottombar__item--cta:active::before { filter: brightness(.92); }

/* Locks the page behind an open drawer or search without the iOS scroll jump. */
body.mr-locked { overflow: hidden; }

/* ==========================================================================
   Leadstack forms

   The plugin ships deliberately plain so it can drop onto any project. These
   rules are the theme's job: they bring it into the design's type, colour,
   radius and spacing without touching the plugin, so it stays reusable.
   ========================================================================== */

.leadstack { font-family: var(--mr-sans); }
.leadstack * { box-sizing: border-box; }

.ls-form-title { font-family: var(--mr-serif); font-size: 21px; font-weight: 600; color: var(--mr-navy); margin: 0 0 4px; }
.ls-form-intro { font-size: 13.5px; color: var(--mr-slate); line-height: 1.6; margin: 0 0 14px; }

.ls-fields { display: flex; flex-direction: column; gap: 11px; }
.ls-field { display: flex; flex-direction: column; gap: 6px; }
.ls-field--half { flex: 1 1 calc(50% - 6px); }

.ls-field > label,
.ls-field .ls-label {
	font-size: 12px; font-weight: 700; color: var(--mr-navy);
	letter-spacing: .01em;
}
.ls-req { color: var(--mr-gold); margin-left: 2px; }

.leadstack input[type="text"],
.leadstack input[type="email"],
.leadstack input[type="tel"],
.leadstack select,
.leadstack textarea {
	width: 100%; background: #fff;
	border: 1px solid var(--mr-border-warm); border-radius: 9px;
	padding: 12px 14px; font-family: inherit; font-size: 14.5px;
	color: var(--mr-navy); outline: none;
	transition: border-color .18s, box-shadow .18s;
	-webkit-appearance: none; appearance: none;
}
.leadstack select {
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d39639' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 13px center;
	padding-right: 36px;
}
.leadstack textarea { min-height: 110px; resize: vertical; line-height: 1.6; }
.leadstack input::placeholder,
.leadstack textarea::placeholder { color: #a8b2bc; }

.leadstack input:focus,
.leadstack select:focus,
.leadstack textarea:focus {
	border-color: var(--mr-gold);
	box-shadow: 0 0 0 3px rgba(211,150,57,.18);
}
.leadstack .ls-invalid { border-color: #c0392b; box-shadow: 0 0 0 3px rgba(192,57,43,.12); }

/* Consent and marketing checkboxes — generous hit area, legible small print. */
.ls-consent, .ls-choice {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 12.5px; color: var(--mr-slate); line-height: 1.55; cursor: pointer;
}
.ls-consent input[type="checkbox"],
.ls-choice input[type="checkbox"] {
	flex: none; width: 18px; height: 18px; margin-top: 1px;
	accent-color: var(--mr-gold); cursor: pointer;
}
.ls-consent a { color: var(--mr-gold-dark); text-decoration: underline; }

.ls-submit {
	width: 100%; background: var(--mr-gold); color: #fff; border: none;
	border-radius: 9px; padding: 14px 20px; font-family: inherit;
	font-size: 15px; font-weight: 700; cursor: pointer; margin-top: 3px;
	box-shadow: 0 10px 22px -12px rgba(211,150,57,.9);
	transition: background .2s, transform .15s;
}
.ls-submit:hover { background: var(--mr-gold-dark); }
.ls-submit:active { transform: translateY(1px); }
.ls-submit[disabled] { opacity: .65; cursor: default; }

.ls-note { font-size: 11.5px; color: var(--mr-mute); line-height: 1.55; margin: 8px 0 0; }

.ls-alert {
	border-radius: 9px; padding: 12px 14px; font-size: 13.5px;
	line-height: 1.55; margin-bottom: 12px;
}
.ls-alert--error { background: #fdeceb; border: 1px solid #f5c6c2; color: #96271c; }

.ls-success {
	display: flex; align-items: flex-start; gap: 12px;
	background: #eef7f1; border: 1px solid #cbe6d6;
	border-radius: 11px; padding: 18px 18px;
}
.ls-success-tick {
	flex: none; width: 28px; height: 28px; border-radius: 50%;
	background: #1f8a5b; color: #fff; display: flex;
	align-items: center; justify-content: center; font-size: 15px; font-weight: 700;
}
.ls-success-text { font-size: 14.5px; color: #1d4635; line-height: 1.6; font-weight: 600; }

/* The honeypot must be unreachable, not merely invisible — a screen reader
   filling it in would flag a genuine enquiry as spam. */
.ls-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Compact variant — the hero callback card, where vertical space is scarce. */
.leadstack--compact .ls-fields { gap: 9px; }
.leadstack--compact input,
.leadstack--compact select { padding: 11px 13px; font-size: 14px; }
.leadstack--compact .ls-field > label { font-size: 11.5px; }
.leadstack--compact .ls-submit { padding: 13px 18px; font-size: 14.5px; }
.leadstack--compact .ls-consent { font-size: 11.5px; }

/* Inside the hero card the form sits under a heading block. */
.mr-hero__card .leadstack { margin-top: 16px; }

/* Enquiry block on Make a Claim / Contact. */
.mr-enquiry {
	display: grid; grid-template-columns: 1.35fr .65fr; gap: 40px;
	margin-top: 46px; padding-top: 40px; border-top: 1px solid var(--mr-border);
	align-items: start;
}
.mr-enquiry__title { font-size: 30px; font-weight: 500; color: var(--mr-navy); margin: 0 0 6px; letter-spacing: -.02em; }
.mr-enquiry__lede { font-size: 15px; color: var(--mr-slate); line-height: 1.65; margin: 0 0 22px; }
.mr-enquiry__fallback { font-size: 15px; color: var(--mr-slate); line-height: 1.65; margin: 0 0 16px; }
.mr-enquiry__aside { background: var(--mr-navy); color: #aeb9c4; border-radius: 13px; padding: 26px 24px; }
.mr-enquiry__label { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mr-gold); }
.mr-enquiry__phone { display: block; font-size: 28px; font-weight: 600; color: #fff; margin-top: 10px; }
.mr-enquiry__phone:hover { color: var(--mr-gold); }
.mr-enquiry__hours { font-size: 12.5px; margin-top: 4px; }
.mr-enquiry__rule { height: 1px; background: rgba(255,255,255,.12); margin: 20px 0; }
.mr-enquiry__addr { font-size: 13.5px; line-height: 1.7; }
.mr-enquiry__email { display: inline-block; font-size: 13.5px; color: #fff; margin-top: 10px; word-break: break-all; }
.mr-enquiry__sra { font-size: 11px; color: #6f7c88; margin-top: 16px; }

@media (max-width: 900px) {
	.mr-enquiry { grid-template-columns: 1fr; gap: 26px; }
}

/* ==========================================================================
   About page
   ========================================================================== */

.mr-h2--gapSm { margin-bottom: 34px; }
.mr-lift { transition: transform .3s ease, box-shadow .3s ease; }
.mr-lift:hover { transform: translateY(-5px); box-shadow: 0 24px 50px -22px rgba(15,32,48,.3); }

.mr-btn--navy { background: var(--mr-navy); color: #fff; padding: 14px 24px; border-radius: 9px; font-size: 14px; }
.mr-btn--navy:hover { background: #16283c; color: #fff; }
.mr-btn--outline { background: #fff; border: 1px solid #d8cbb3; color: var(--mr-navy); padding: 14px 24px; border-radius: 9px; font-size: 14px; }
.mr-btn--outline:hover { border-color: var(--mr-gold); color: var(--mr-navy); }

/* ---- banner ---- */
.mr-banner { background: linear-gradient(180deg, #faf7f1, var(--mr-cream-warm)); }
.mr-banner__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 58px var(--mr-pad) 54px;
	display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: center;
}
.mr-crumbs { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--mr-mute); font-weight: 600; }
.mr-crumbs span[aria-hidden] { color: var(--mr-gold); }
.mr-crumbs__here { color: #33424f; font-weight: 700; }
.mr-banner__title { font-size: 52px; line-height: 1.06; font-weight: 600; color: var(--mr-navy); margin: 18px 0 0; letter-spacing: -.02em; }
.mr-banner__title span { font-style: italic; color: var(--mr-gold); font-weight: 500; }
.mr-banner__lede { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 16px 0 0; max-width: 440px; }
.mr-banner__actions { display: flex; gap: 11px; margin-top: 24px; flex-wrap: wrap; }

/* Centred as one group, not three centred thirds.
   Equal columns spread each badge into the middle of its own 450px cell, which
   left big gaps and read as three unrelated items floating on a white band.
   Sized to content and centred, they read as a single trust bar. */
.mr-ab-trust {
	background: #fff; border-top: 1px solid #ece3d4;
	display: flex; justify-content: center; flex-wrap: wrap;
}
.mr-ab-trust__item {
	display: flex; align-items: center; gap: 11px;
	padding: 17px 40px; border-right: 1px solid #f0e8d9; font-size: 12.5px;
}
.mr-ab-trust__item:last-child { border-right: none; }
.mr-ab-trust__item b { color: var(--mr-navy); }
.mr-ab-trust__sub { color: var(--mr-slate); }
.mr-ab-trust__tp { color: #00b67a; font-weight: 700; }
.mr-ab-trust__sra {
	width: 28px; height: 32px; background: var(--mr-navy); border-radius: 4px 4px 13px 13px;
	display: flex; align-items: center; justify-content: center; flex: none;
}
.mr-ab-trust__sra span { color: var(--mr-gold); font-size: 9px; font-weight: 800; }

/* ---- story ---- */
.mr-ab-story__grid { grid-template-columns: 1.05fr .95fr; gap: 60px; }
.mr-ab-story__para { font-size: 16px; color: #46586a; line-height: 1.75; margin: 0 0 14px; }
.mr-ab-story__para:last-of-type { margin-bottom: 0; }
.mr-ab-stats { display: flex; gap: 36px; margin-top: 30px; flex-wrap: wrap; }
.mr-ab-stats__num { font-size: 34px; font-weight: 600; color: var(--mr-navy); line-height: 1; }
.mr-ab-stats__label { font-size: 13px; color: var(--mr-mute); margin-top: 4px; }

/* ---- values ---- */
.mr-ab-values { background: var(--mr-cream-warm); }
.mr-ab-values__inner { max-width: var(--mr-max); margin: 0 auto; padding: 80px var(--mr-pad); }
.mr-ab-card { background: #fff; border: 1px solid var(--mr-border); border-radius: 14px; padding: 32px; }
.mr-ab-card__num { font-size: 13px; color: var(--mr-gold); font-weight: 600; }
.mr-ab-card__title { font-size: 21px; font-weight: 600; color: var(--mr-navy); margin: 10px 0 8px; }
.mr-ab-card__text { font-size: 14px; color: var(--mr-slate); line-height: 1.65; margin: 0; }

/* ---- team ---- */
.mr-ab-person { background: #fff; border: 1px solid var(--mr-border); border-radius: 14px; padding: 36px 30px; text-align: center; }
.mr-ab-person__initials,
.mr-ab-person__photo {
	width: 104px; height: 104px; border-radius: 50%; margin: 0 auto;
	border: 3px solid var(--mr-gold); background: var(--mr-navy);
	display: flex; align-items: center; justify-content: center;
	color: var(--mr-gold); font-size: 36px; font-weight: 600; object-fit: cover;
}
.mr-ab-person__name { font-size: 21px; font-weight: 600; color: var(--mr-navy); margin: 16px 0 3px; }
.mr-ab-person__role { font-size: 13px; color: var(--mr-gold); font-weight: 700; }
.mr-ab-person__bio { font-size: 13.5px; color: var(--mr-slate); line-height: 1.6; margin: 10px 0 0; }
.mr-ab-note {
	font-size: 13px; color: #8a6d1f; background: #fdf6e3; border: 1px dashed #e3cf95;
	border-radius: 8px; padding: 10px 14px; margin-top: 18px;
}
.mr-ab-note code { background: rgba(0,0,0,.06); padding: 1px 5px; border-radius: 4px; }

/* ---- why us ---- */
.mr-ab-why { background: var(--mr-navy); color: #fff; }
.mr-ab-why__inner { max-width: var(--mr-max); margin: 0 auto; padding: 84px var(--mr-pad); }
.mr-ab-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.mr-ab-why__card { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 28px 24px; }
.mr-ab-why__icon {
	display: flex; width: 44px; height: 44px; border-radius: 11px;
	background: rgba(211,150,57,.16); align-items: center; justify-content: center;
}
.mr-ab-why__title { font-size: 19px; font-weight: 600; margin: 16px 0 7px; }
.mr-ab-why__text { font-size: 13.5px; color: #aeb9c4; line-height: 1.65; margin: 0; }

/* ---- how we can help ---- */
.mr-ab-help__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.mr-ab-help__step { padding: 0 26px 0 0; }
.mr-ab-help__step .mr-proc__marker { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.mr-ab-help__dot { width: 11px; height: 11px; border-radius: 50%; background: var(--mr-gold); flex: none; }
.mr-ab-help__line { height: 1px; flex: 1; background: var(--mr-border-warm); }
.mr-ab-help__num { font-size: 12.5px; font-weight: 600; letter-spacing: .14em; color: var(--mr-gold); }
.mr-ab-help__title { font-size: 21px; font-weight: 600; margin: 8px 0 9px; color: var(--mr-navy); }
.mr-ab-help__text { font-size: 14px; color: var(--mr-slate); line-height: 1.65; margin: 0; }

/* ---- SRA ---- */
.mr-ab-sra { background: var(--mr-cream-warm); border-top: 1px solid #e8dcc4; }
.mr-ab-sra__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 76px var(--mr-pad);
	grid-template-columns: .9fr 1.1fr; gap: 56px;
}
.mr-ab-sra__card { background: var(--mr-navy); border-radius: 16px; padding: 40px; color: #fff; text-align: center; }
.mr-ab-sra__shield {
	display: inline-flex; width: 66px; height: 76px; background: var(--mr-gold);
	border-radius: 8px 8px 30px 30px; align-items: center; justify-content: center;
}
.mr-ab-sra__shield span { color: var(--mr-navy); font-size: 19px; font-weight: 800; }
.mr-ab-sra__cardTitle { font-size: 24px; font-weight: 600; margin: 18px 0 4px; }
.mr-ab-sra__cardSub { font-size: 13.5px; color: #aeb9c4; }
.mr-ab-sra__badge {
	display: inline-block; margin-top: 16px; background: rgba(211,150,57,.16);
	color: var(--mr-gold-soft); font-size: 12.5px; font-weight: 700;
	padding: 7px 16px; border-radius: 50px;
}
.mr-ab-sra__lede { font-size: 15px; color: #46586a; line-height: 1.75; margin: 16px 0 18px; }
.mr-ab-sra__points { display: flex; flex-direction: column; gap: 11px; }
.mr-ab-sra__point { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; color: #33424f; line-height: 1.55; }
.mr-ab-sra__tick {
	flex: none; width: 20px; height: 20px; border-radius: 50%; background: #fff;
	border: 1px solid var(--mr-border-warm); display: flex; align-items: center;
	justify-content: center; color: var(--mr-gold-dark); font-size: 11px; margin-top: 1px;
}
.mr-ab-sra__verify { font-size: 13px; color: var(--mr-mute); margin: 16px 0 0; }
.mr-ab-sra__verify a { color: var(--mr-gold-dark); text-decoration: underline; }

/* ---- CTA ---- */
.mr-ab-cta { background: var(--mr-navy); color: #fff; }
.mr-ab-cta__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 70px var(--mr-pad);
	display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap;
}
.mr-ab-cta__title { font-size: 36px; font-weight: 500; margin: 0; letter-spacing: -.02em; }
.mr-ab-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; }

.mr-ab-editorial { padding-top: 0; }

@media (max-width: 1100px) {
	.mr-ab-why__grid { grid-template-columns: repeat(2, 1fr); }
	.mr-ab-help__grid { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
}
@media (max-width: 1000px) {
	.mr-banner__inner, .mr-ab-story__grid, .mr-ab-sra__inner { grid-template-columns: 1fr !important; gap: 34px; }
	.mr-banner__title { font-size: 38px; }
	.mr-ab-cta__title { font-size: 28px; }
}
@media (max-width: 700px) {
	.mr-ab-trust { grid-template-columns: 1fr; }
	.mr-ab-trust__item { border-right: none; border-bottom: 1px solid #f0e8d9; justify-content: flex-start; }
	.mr-ab-why__grid, .mr-ab-help__grid { grid-template-columns: 1fr; }
	.mr-ab-help__step { padding-right: 0; }
	.mr-ab-stats { gap: 22px; }
}

/* ==========================================================================
   Make a Claim
   ========================================================================== */

.mr-claim__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; align-items: start; }
.mr-claim__form { background: #fff; border: 1px solid var(--mr-border); border-radius: 16px; padding: 40px; }
.mr-claim__formHead { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.mr-claim__formIcon {
	flex: none; width: 42px; height: 42px; border-radius: 11px; background: var(--mr-navy);
	display: flex; align-items: center; justify-content: center;
}
.mr-claim__formTitle { font-size: 26px; font-weight: 600; color: var(--mr-navy); margin: 0; }
.mr-claim__formSub { font-size: 13.5px; color: var(--mr-mute); margin: 3px 0 0; }
.mr-claim__fallback { font-size: 15px; color: var(--mr-slate); line-height: 1.65; margin: 0 0 16px; }

.mr-claim__side { display: flex; flex-direction: column; gap: 20px; }
.mr-claim__next { background: var(--mr-navy); color: #fff; border-radius: 16px; padding: 32px; }
.mr-claim__nextTitle { font-size: 21px; font-weight: 600; margin: 0 0 20px; }
.mr-claim__steps { display: flex; flex-direction: column; gap: 18px; }
.mr-claim__step { display: flex; gap: 14px; }
.mr-claim__stepNum {
	flex: none; width: 34px; height: 34px; border-radius: 50%;
	background: rgba(211,150,57,.16); color: var(--mr-gold-soft);
	display: flex; align-items: center; justify-content: center;
	font-size: 14px; font-weight: 600;
}
.mr-claim__stepTitle { font-weight: 700; font-size: 14.5px; }
.mr-claim__stepText { font-size: 13px; color: #aeb9c4; line-height: 1.6; margin-top: 3px; }

.mr-claim__card { background: #fff; border: 1px solid var(--mr-border); border-radius: 16px; padding: 28px; }
.mr-claim__cardHead { display: flex; align-items: center; gap: 12px; }
.mr-claim__cardTick {
	flex: none; width: 44px; height: 44px; border-radius: 50%; background: #eaf6ee;
	display: flex; align-items: center; justify-content: center;
}
.mr-claim__cardTitle { font-size: 18px; font-weight: 600; color: var(--mr-navy); }
.mr-claim__cardSub { font-size: 12.5px; color: var(--mr-mute); }
.mr-claim__cardText { font-size: 13.5px; color: var(--mr-slate); line-height: 1.65; margin: 14px 0 0; }
.mr-claim__label { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--mr-gold); font-weight: 700; }
.mr-claim__phone { display: block; font-size: 26px; font-weight: 600; color: var(--mr-navy); margin-top: 8px; }
.mr-claim__hours { font-size: 13px; color: var(--mr-mute); margin-top: 4px; }

.mr-claimtypes { background: var(--mr-cream-warm); border-top: 1px solid #e8dcc4; }
.mr-claimtypes__inner { max-width: var(--mr-max); margin: 0 auto; padding: 78px var(--mr-pad); }
.mr-claimtypes__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; font-size: 13px; font-weight: 700; color: var(--mr-gold); }

/* ==========================================================================
   Page pending — content not written yet
   ========================================================================== */

.mr-pending { max-width: 640px; margin: 0 auto; text-align: center; padding: 20px 0 10px; }
.mr-pending__icon {
	position: relative; width: 84px; height: 84px; margin: 0 auto 26px;
	border-radius: 24px; background: var(--mr-cream-warm);
	display: flex; align-items: center; justify-content: center; color: var(--mr-gold);
}
.mr-pending__pulse {
	position: absolute; inset: -6px; border-radius: 30px;
	border: 2px solid var(--mr-gold); opacity: 0;
	animation: mrPendingPulse 2.4s ease-out infinite;
}
@keyframes mrPendingPulse {
	0%   { transform: scale(.9); opacity: .5; }
	70%  { transform: scale(1.08); opacity: 0; }
	100% { opacity: 0; }
}
.mr-pending__title { font-size: 30px; font-weight: 500; color: var(--mr-navy); margin: 0 0 12px; letter-spacing: -.02em; }
.mr-pending__text { font-size: 15.5px; color: var(--mr-slate); line-height: 1.75; margin: 0 auto 26px; max-width: 520px; }

/* An indeterminate bar — it signals "in progress", never a fake percentage. */
.mr-pending__bar { height: 4px; width: 180px; margin: 0 auto 28px; background: var(--mr-border); border-radius: 4px; overflow: hidden; }
.mr-pending__bar span {
	display: block; height: 100%; width: 40%; border-radius: 4px;
	background: linear-gradient(90deg, var(--mr-gold-dark), var(--mr-gold));
	animation: mrPendingBar 1.9s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes mrPendingBar {
	0%   { transform: translateX(-110%); }
	100% { transform: translateX(260%); }
}
.mr-pending__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.mr-pending__editor {
	margin-top: 42px; padding: 22px; border-radius: 12px;
	background: #fdf6e3; border: 1px dashed #e3cf95; text-align: left;
}
.mr-pending__editorLabel {
	display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .14em;
	text-transform: uppercase; color: #8a6d1f; background: rgba(138,109,31,.12);
	padding: 4px 9px; border-radius: 50px;
}
.mr-pending__editor p { font-size: 13.5px; color: #6f5a1a; margin: 10px 0 14px; }
.mr-pending__editor .mr-btn { display: inline-flex; align-items: center; gap: 8px; }

@media (max-width: 1000px) {
	.mr-claim__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   404 — 3D scene

   Real CSS 3D: one perspective on the stage, each slab a preserve-3d box with
   front, back and four extruded edge faces. The depth is genuine geometry, not
   a stacked text-shadow, which is why it holds up as the slabs rotate.
   ========================================================================== */

.mr-404 { background: radial-gradient(120% 100% at 50% 0%, #12243a 0%, var(--mr-navy-deep) 55%); color: #fff; overflow: hidden; }
.mr-404__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 70px var(--mr-pad) 90px;
	display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
}

/* --- stage --- */
.mr-404__stage { position: relative; perspective: 1100px; perspective-origin: 50% 45%; }
.mr-404__scene {
	display: flex; justify-content: center; align-items: center; gap: 26px;
	transform-style: preserve-3d;
	transform: rotateX(var(--rx, 8deg)) rotateY(var(--ry, -16deg));
	transition: transform .45s cubic-bezier(.2,.7,.3,1);
}

.mr-404__slab {
	position: relative; width: 116px; height: 168px;
	transform-style: preserve-3d;
	animation: mrFloat 6s ease-in-out infinite;
}
.mr-404__slab--1 { animation-delay: -2s; }
.mr-404__slab--2 { animation-delay: -4s; }
@keyframes mrFloat {
	0%, 100% { transform: translateY(0) rotateY(0deg); }
	50%      { transform: translateY(-14px) rotateY(6deg); }
}

/* The two big faces, --d apart on Z. */
.mr-404__slab { --d: 26px; }
.mr-404__face {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 120px; font-weight: 600; line-height: 1;
	border-radius: 14px;
	/* Opaque enough that the numeral leads and the gold sides read as edges
	   seen through glass, rather than a frame floating inside the block. */
	background: linear-gradient(150deg, rgba(29,48,70,.86), rgba(17,32,50,.94));
	border: 1px solid rgba(255,255,255,.2);
	color: var(--mr-gold);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}
.mr-404__face--front { transform: translateZ(calc(var(--d) / 2)); }
.mr-404__face--back  { transform: translateZ(calc(var(--d) / -2)) rotateY(180deg); color: rgba(211,150,57,.45); }

/* The extruded sides — gold, so the depth reads as solid metal. */
.mr-404__edge {
	position: absolute; background: linear-gradient(var(--g, 180deg), var(--mr-gold), var(--mr-gold-dark));
	border-radius: 3px;
}
/* Each strip is rotated about the slab edge it hugs, then pulled back half the
   depth so the extrusion straddles z=0 — matching the front/back faces at
   ±d/2. Without that half-depth shift the sides sit a full depth proud and
   read as detached slivers rather than the sides of a solid. */
.mr-404__edge--l { left: 0; top: 0; width: var(--d); height: 100%; transform-origin: left center; transform: rotateY(-90deg) translateZ(calc(var(--d) / -2)); --g: 90deg; }
.mr-404__edge--r { right: 0; top: 0; width: var(--d); height: 100%; transform-origin: right center; transform: rotateY(90deg) translateZ(calc(var(--d) / -2)); --g: 270deg; }
.mr-404__edge--t { left: 0; top: 0; width: 100%; height: var(--d); transform-origin: center top; transform: rotateX(90deg) translateZ(calc(var(--d) / -2)); }
.mr-404__edge--b { left: 0; bottom: 0; width: 100%; height: var(--d); transform-origin: center bottom; transform: rotateX(-90deg) translateZ(calc(var(--d) / -2)); }

.mr-404__shadow {
	position: absolute; left: 50%; bottom: -34px; transform: translateX(-50%);
	width: 340px; height: 40px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(0,0,0,.55), transparent);
	filter: blur(6px);
}

/* --- copy --- */
.mr-404__kicker {
	font-family: var(--mr-serif); font-size: 12.5px; letter-spacing: .2em;
	text-transform: uppercase; color: var(--mr-gold); font-weight: 600;
}
.mr-404__title { font-size: 42px; font-weight: 500; line-height: 1.12; margin: 14px 0 14px; letter-spacing: -.02em; }
.mr-404__title span { font-style: italic; color: var(--mr-gold); }
.mr-404__text { font-size: 15.5px; color: var(--mr-light); line-height: 1.75; margin: 0 0 24px; max-width: 460px; }

.mr-404__search {
	display: flex; align-items: center; gap: 11px; width: 100%; max-width: 460px;
	background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.18);
	border-radius: 10px; padding: 14px 16px; cursor: pointer;
	font-family: inherit; font-size: 14px; color: #9fb0c0; text-align: left;
	transition: border-color .2s, background .2s;
}
.mr-404__search:hover { border-color: var(--mr-gold); background: rgba(255,255,255,.1); }
.mr-404__search svg { color: var(--mr-gold); flex: none; }
.mr-404__search > span:first-of-type { flex: 1; }
.mr-404__kbd { display: flex; gap: 3px; flex: none; }
.mr-404__kbd kbd {
	font-family: inherit; font-size: 10.5px; font-weight: 700; color: #9fb0c0;
	background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
	border-radius: 4px; padding: 2px 5px; line-height: 1;
}

.mr-404__links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; max-width: 500px; }
.mr-404__link {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
	border-radius: 10px; padding: 14px 16px; color: #fff;
	transition: background .2s, border-color .2s, transform .2s;
}
.mr-404__link:hover { background: rgba(255,255,255,.1); border-color: var(--mr-gold); color: #fff; transform: translateX(3px); }
.mr-404__linkTitle { display: block; font-size: 14px; font-weight: 700; }
.mr-404__linkSub { display: block; font-size: 12px; color: #9fb0c0; margin-top: 2px; }
.mr-404__link svg { color: var(--mr-gold); flex: none; }

.mr-404__foot { font-size: 13.5px; color: #9fb0c0; margin-top: 26px; }
.mr-404__foot a { color: #fff; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
	.mr-404__slab { animation: none; }
	.mr-404__scene { transition: none; }
}

@media (max-width: 1000px) {
	.mr-404__inner { grid-template-columns: 1fr; gap: 44px; padding-top: 54px; }
	.mr-404__stage { order: -1; }
	.mr-404__title { font-size: 32px; }
	.mr-404__slab { width: 92px; height: 134px; --d: 20px; }
	.mr-404__face { font-size: 94px; }
}
@media (max-width: 700px) {
	.mr-404__links { grid-template-columns: 1fr; }
	.mr-404__slab { width: 74px; height: 108px; --d: 16px; }
	.mr-404__face { font-size: 76px; }
	.mr-404__scene { gap: 16px; }
}

/* -------------------------------------------------------- interior pages -- */
.mr-page { max-width: 860px; margin: 0 auto; padding: 70px var(--mr-pad) 90px; }
.mr-page__title { font-size: 46px; font-weight: 500; letter-spacing: -.025em; color: var(--mr-navy); line-height: 1.1; margin: 0 0 8px; }
.mr-page__meta { font-size: 13px; color: var(--mr-mute); margin-bottom: 28px; }
.mr-prose { font-size: 17px; line-height: 1.75; color: #33424f; }
.mr-prose h2 { font-family: var(--mr-serif); font-size: 32px; font-weight: 600; color: var(--mr-navy); margin: 44px 0 14px; }
.mr-prose h3 { font-family: var(--mr-serif); font-size: 24px; font-weight: 600; color: var(--mr-navy); margin: 34px 0 12px; }
.mr-prose a { color: var(--mr-gold-dark); text-decoration: underline; }
.mr-prose img { border-radius: 10px; }
.mr-prose blockquote { border-left: 3px solid var(--mr-gold); margin: 28px 0; padding: 4px 0 4px 22px; font-family: var(--mr-serif); font-size: 20px; color: var(--mr-navy); }
.mr-pagination { display: flex; gap: 10px; justify-content: center; padding: 40px var(--mr-pad) 80px; }
.mr-pagination .page-numbers { padding: 10px 15px; border: 1px solid var(--mr-border); border-radius: 8px; font-weight: 600; }
.mr-pagination .current { background: var(--mr-navy); color: #fff; border-color: var(--mr-navy); }

/* ==========================================================================
   INDEPENDENT LEGAL ADVICE
   ========================================================================== */

/* --- reassurance strip, directly under the banner --- */
.mr-ilabar { background: var(--mr-navy); color: #cfd8e0; }
.mr-ilabar__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 18px var(--mr-pad);
	display: flex; flex-wrap: wrap; gap: 14px 40px; justify-content: center;
}
.mr-ilabar__item { display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 600; }

/* --- what ILA is --- */
.mr-ila__intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: start; }
.mr-ila__h2 { margin: 14px 0 20px; }
.mr-ila__p { font-size: 16px; line-height: 1.75; color: var(--mr-slate); margin: 0 0 15px; }
.mr-ila__p:last-child { margin-bottom: 0; }

.mr-ila__needs {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 30px 28px;
}
.mr-ila__h3 { font-size: 22px; font-weight: 600; color: var(--mr-navy); margin: 0; }
.mr-ila__needsLede { font-size: 14px; color: var(--mr-mute); margin: 6px 0 18px; }
.mr-ila__needList { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mr-ila__need { display: flex; gap: 12px; align-items: flex-start; }
.mr-ila__need strong { display: block; font-size: 14.5px; color: var(--mr-ink); margin-bottom: 2px; }
.mr-ila__need span span { font-size: 13.5px; line-height: 1.6; color: var(--mr-slate); }
.mr-ila__tick {
	flex: none; width: 22px; height: 22px; border-radius: 50%;
	background: var(--mr-gold); color: #fff; font-size: 12px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center; margin-top: 1px;
}

/* --- why lenders ask --- */
.mr-ilawhy { background: var(--mr-cream); max-width: none; padding-left: 0; padding-right: 0; }
.mr-ilawhy__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 0 var(--mr-pad);
	display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: start;
}
.mr-ilawhy__h2 { margin: 14px 0 18px; }
.mr-ilawhy__head p { font-size: 15.5px; line-height: 1.75; color: var(--mr-slate); margin: 0 0 14px; }
.mr-ilawhy__steps {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
}
.mr-ilawhy__step {
	background: #fff; border: 1px solid var(--mr-border);
	border-radius: 14px; padding: 24px 22px;
}
.mr-ilawhy__num {
	font-family: var(--mr-serif); font-size: 13px; font-weight: 700;
	letter-spacing: .12em; color: var(--mr-gold);
}
.mr-ilawhy__step h3 { font-size: 18px; font-weight: 600; color: var(--mr-navy); margin: 8px 0 7px; }
.mr-ilawhy__step p { font-size: 14px; line-height: 1.65; color: var(--mr-slate); margin: 0; }

/* --- appointment request --- */
.mr-ilabook__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: start; }
.mr-ilabook__h2 { margin: 14px 0 10px; }
.mr-ilabook__lede { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 0 0 26px; max-width: 560px; }
.mr-ilabook__fallback { font-size: 15px; line-height: 1.7; color: var(--mr-slate); margin: 0 0 16px; }

.mr-ilabook__side { display: grid; gap: 18px; }
.mr-ilabook__card {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 26px 24px;
}
.mr-ilabook__card h3 { font-size: 19px; font-weight: 600; color: var(--mr-navy); margin: 0 0 16px; }
.mr-ilabook__bring { list-style: none; margin: 0; padding: 0; display: grid; gap: 15px; counter-reset: none; }
.mr-ilabook__bring li { display: flex; gap: 12px; align-items: flex-start; }
.mr-ilabook__bring strong { display: block; font-size: 14.5px; color: var(--mr-ink); margin-bottom: 2px; }
.mr-ilabook__bring span span { font-size: 13.5px; line-height: 1.6; color: var(--mr-slate); }
.mr-ilabook__bringNum {
	flex: none; width: 24px; height: 24px; border-radius: 7px;
	background: var(--mr-navy); color: var(--mr-gold);
	font-size: 12.5px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
.mr-ilabook__bringNote {
	font-size: 12.5px; line-height: 1.6; color: var(--mr-mute);
	margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--mr-border-warm);
}
.mr-ilabook__fees { margin: 0; display: grid; gap: 10px; }
.mr-ilabook__fees > div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.mr-ilabook__fees dt { font-size: 14px; color: var(--mr-ink); margin: 0; }
.mr-ilabook__fees dd { font-size: 15px; font-weight: 700; color: var(--mr-navy); margin: 0; white-space: nowrap; }
.mr-ilabook__feeNote { font-size: 13px; line-height: 1.65; color: var(--mr-slate); margin: 0 0 8px; }
.mr-ilabook__feeNote:last-child { margin-bottom: 0; }

.mr-ilabook__call {
	background: var(--mr-navy); border-radius: 16px; padding: 24px;
	text-align: center; color: #aeb9c4;
}
.mr-ilabook__call span { display: block; font-size: 13px; letter-spacing: .04em; }
.mr-ilabook__call a {
	display: block; font-family: var(--mr-serif); font-size: 26px; font-weight: 600;
	color: #fff; margin: 6px 0 4px; text-decoration: none;
}
.mr-ilabook__call a:hover { color: var(--mr-gold); }
.mr-ilabook__call small { font-size: 12.5px; }

/* --- the FAQ block reused on an interior page --- */
.mr-faq--page { padding-top: 20px; }

/* --- closing CTA --- */
.mr-ilacta { background: var(--mr-navy); color: #fff; }
.mr-ilacta__inner {
	max-width: var(--mr-max); margin: 0 auto;
	padding: 66px var(--mr-pad); text-align: center;
}
.mr-ilacta__inner h2 { font-size: 38px; font-weight: 500; letter-spacing: -.02em; margin: 0 0 10px; }
.mr-ilacta__inner p { font-size: 16px; color: #b9c4cf; margin: 0 0 26px; }
.mr-ilacta__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 980px) {
	.mr-ila__intro,
	.mr-ilawhy__inner,
	.mr-ilabook__grid { grid-template-columns: 1fr; gap: 32px; }
	.mr-ilawhy__steps { grid-template-columns: 1fr; }
	.mr-ilabar__inner { gap: 12px 26px; }
	.mr-ilacta__inner h2 { font-size: 30px; }
}

/* ==========================================================================
   LEGAL DOCUMENTS — privacy, cookies, terms, complaints
   ========================================================================== */

.mr-legal { max-width: var(--mr-max); margin: 0 auto; padding: 60px var(--mr-pad) 90px; }
.mr-legal__grid { display: grid; grid-template-columns: 280px 1fr; gap: 54px; align-items: start; }

/* The outline sticks below the header so it stays reachable through a long
   document. --mr-head is the header's own height, so the two cannot drift. */
.mr-legal__sideInner { position: sticky; top: calc(var(--mr-head, 84px) + 22px); display: grid; gap: 18px; }

.mr-legal__tocTitle {
	font-family: var(--mr-serif); font-size: 11.5px; letter-spacing: .18em;
	text-transform: uppercase; color: var(--mr-gold); font-weight: 700;
	margin-bottom: 12px;
}
.mr-legal__toc { border-left: 2px solid var(--mr-border); padding-left: 18px; }
.mr-legal__tocList { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mr-legal__tocList a {
	display: flex; gap: 10px; align-items: baseline;
	padding: 7px 0; font-size: 13.5px; line-height: 1.45;
	color: var(--mr-slate); text-decoration: none; transition: color .15s ease;
}
.mr-legal__tocList a:hover { color: var(--mr-navy); }
.mr-legal__tocNum { font-size: 11px; font-weight: 700; color: var(--mr-gold); flex: none; }
.mr-legal__tocList a[aria-current="true"] { color: var(--mr-navy); font-weight: 700; }

.mr-legal__help {
	background: var(--mr-navy); color: #aeb9c4; border-radius: 14px;
	padding: 22px 20px; text-align: center;
}
.mr-legal__help h3 { font-size: 17px; font-weight: 600; color: #fff; margin: 0 0 8px; }
.mr-legal__help p { font-size: 13px; line-height: 1.6; margin: 0 0 14px; }
.mr-legal__helpPhone {
	display: block; font-family: var(--mr-serif); font-size: 21px; font-weight: 600;
	color: #fff; text-decoration: none;
}
.mr-legal__helpPhone:hover { color: var(--mr-gold); }
.mr-legal__helpMail { display: block; font-size: 12.5px; color: var(--mr-gold-soft); margin-top: 4px; word-break: break-word; }

.mr-legal__others { border-top: 1px solid var(--mr-border); padding-top: 18px; }
.mr-legal__others a {
	display: block; padding: 7px 0; font-size: 13.5px;
	color: var(--mr-slate); text-decoration: none;
}
.mr-legal__others a:hover { color: var(--mr-gold-dark); }

.mr-legal__body { min-width: 0; }
.mr-legal__updated {
	display: inline-block; font-size: 12.5px; color: var(--mr-mute);
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 999px; padding: 6px 14px; margin: 0 0 26px;
}
/* Offset for the sticky header when a TOC link jumps to a heading. */
.mr-legal__body .mr-prose h2 { scroll-margin-top: calc(var(--mr-head, 84px) + 20px); }
.mr-legal__body .mr-prose table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mr-legal__body .mr-prose th,
.mr-legal__body .mr-prose td { text-align: left; padding: 11px 12px; border-bottom: 1px solid var(--mr-border); vertical-align: top; }
.mr-legal__body .mr-prose th { background: var(--mr-cream); font-weight: 700; color: var(--mr-navy); }
.mr-legal__body .mr-prose figure.wp-block-table { overflow-x: auto; margin: 26px 0; }
.mr-legal__body .mr-prose ul { padding-left: 20px; }
.mr-legal__body .mr-prose li { margin-bottom: 8px; }

.mr-legal__foot {
	margin-top: 46px; padding-top: 22px; border-top: 1px solid var(--mr-border);
	display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; align-items: center;
}
.mr-legal__foot p { font-size: 12.5px; color: var(--mr-mute); margin: 0; max-width: 640px; }
.mr-legal__top { font-size: 13px; font-weight: 600; color: var(--mr-gold-dark); text-decoration: none; white-space: nowrap; }

/* ==========================================================================
   FAQ PAGE
   ========================================================================== */

.mr-faqpage__jump {
	display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 46px;
	padding-bottom: 26px; border-bottom: 1px solid var(--mr-border);
}
.mr-faqpage__jump a {
	padding: 9px 16px; border-radius: 999px; font-size: 13.5px; font-weight: 600;
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	color: var(--mr-navy); text-decoration: none; transition: all .15s ease;
}
.mr-faqpage__jump a:hover { background: var(--mr-navy); border-color: var(--mr-navy); color: #fff; }

.mr-faqpage__group { margin-bottom: 54px; scroll-margin-top: calc(var(--mr-head, 84px) + 20px); }
.mr-faqpage__groupHead { margin-bottom: 20px; }
.mr-faqpage__groupHead p { font-size: 15px; color: var(--mr-slate); margin: 8px 0 0; }

.mr-faqpage__cta {
	background: var(--mr-navy); color: #fff; border-radius: 18px;
	padding: 48px 30px; text-align: center;
}
.mr-faqpage__cta h2 { font-size: 32px; font-weight: 500; letter-spacing: -.02em; margin: 0 0 10px; }
.mr-faqpage__cta p { font-size: 15.5px; color: #b9c4cf; margin: 0 auto 24px; max-width: 560px; line-height: 1.7; }
.mr-faqpage__ctaActions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   SITEMAP
   ========================================================================== */

.mr-sitemap__intro { max-width: 640px; margin-bottom: 42px; }
.mr-sitemap__intro h2 { margin: 14px 0 14px; }
.mr-sitemap__intro p { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 0; }

.mr-sitemap__tree { columns: 2; column-gap: 54px; }
.mr-sitemap__list { list-style: none; margin: 0; padding: 0; }
.mr-sitemap__list--d0 > .mr-sitemap__item {
	break-inside: avoid; margin-bottom: 22px;
	border-top: 1px solid var(--mr-border); padding-top: 14px;
}
.mr-sitemap__list--d0 > .mr-sitemap__item > a {
	font-family: var(--mr-serif); font-size: 18px; font-weight: 600;
	color: var(--mr-navy); text-decoration: none;
}
.mr-sitemap__list--d1, .mr-sitemap__list--d2, .mr-sitemap__list--d3 {
	margin: 8px 0 0; padding-left: 15px; border-left: 1px solid var(--mr-border);
}
.mr-sitemap__list--d1 a, .mr-sitemap__list--d2 a, .mr-sitemap__list--d3 a {
	display: block; padding: 4px 0; font-size: 14px; color: var(--mr-slate); text-decoration: none;
}
.mr-sitemap__list a:hover { color: var(--mr-gold-dark); }
.mr-sitemap__date { font-size: 12px; color: var(--mr-mute); margin-left: 8px; }

.mr-sitemap__posts { margin-top: 50px; padding-top: 34px; border-top: 1px solid var(--mr-border); }
.mr-sitemap__posts .mr-sitemap__list { columns: 2; column-gap: 54px; margin-top: 18px; }
.mr-sitemap__posts .mr-sitemap__item { break-inside: avoid; padding: 6px 0; }
.mr-sitemap__posts a { font-size: 14.5px; color: var(--mr-navy); text-decoration: none; }
.mr-sitemap__all { display: inline-block; margin-top: 18px; font-size: 13.5px; font-weight: 700; color: var(--mr-gold-dark); text-decoration: none; }
.mr-sitemap__note { margin-top: 40px; font-size: 13px; color: var(--mr-mute); }
.mr-sitemap__note a { color: var(--mr-gold-dark); }

/* ==========================================================================
   THANK YOU
   ========================================================================== */

.mr-ty { background: var(--mr-cream); border-bottom: 1px solid var(--mr-border); }
.mr-ty__inner { max-width: 760px; margin: 0 auto; padding: 76px var(--mr-pad) 66px; text-align: center; }
.mr-ty__tick {
	display: inline-flex; align-items: center; justify-content: center;
	width: 74px; height: 74px; border-radius: 50%;
	background: #eaf6ee; color: #1f8a5b; margin-bottom: 22px;
}
.mr-ty__title { font-size: 42px; font-weight: 500; letter-spacing: -.025em; line-height: 1.12; color: var(--mr-navy); margin: 0 0 16px; }
.mr-ty__lede { font-size: 16.5px; line-height: 1.75; color: var(--mr-slate); margin: 0 auto 32px; max-width: 580px; }

.mr-ty__urgent {
	background: #fff; border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 24px; display: inline-block;
}
.mr-ty__urgent > span { display: block; font-size: 13.5px; font-weight: 700; color: var(--mr-navy); margin-bottom: 14px; }
.mr-ty__urgentActions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.mr-ty__urgent small { display: block; font-size: 12.5px; color: var(--mr-mute); margin-top: 12px; }

.mr-tynext__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: start; }
.mr-tynext__steps { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 22px; }
.mr-tynext__steps li { display: flex; gap: 16px; align-items: flex-start; }
.mr-tynext__num {
	flex: none; width: 40px; height: 40px; border-radius: 11px;
	background: var(--mr-navy); color: var(--mr-gold);
	font-family: var(--mr-serif); font-size: 14px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
.mr-tynext__steps h3 { font-size: 18px; font-weight: 600; color: var(--mr-navy); margin: 6px 0 6px; }
.mr-tynext__steps p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0; }

.mr-tynext__side { display: grid; gap: 16px; }
.mr-tynext__card {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 26px 24px;
}
.mr-tynext__card h3 { font-size: 18px; font-weight: 600; color: var(--mr-navy); margin: 0 0 14px; }
.mr-tynext__card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mr-tynext__card li { display: flex; gap: 10px; font-size: 14px; line-height: 1.55; color: var(--mr-slate); }
.mr-ty__dot { color: var(--mr-gold); font-size: 9px; line-height: 1.9; flex: none; }
.mr-tynext__cardNote { font-size: 12.5px; color: var(--mr-mute); margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--mr-border-warm); }
.mr-tynext__badge {
	background: var(--mr-navy); color: var(--mr-gold-soft); border-radius: 12px;
	padding: 14px; text-align: center; font-size: 13px; font-weight: 700;
}

.mr-tymore__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.mr-tymore__card {
	background: #fff; border: 1px solid var(--mr-border);
	border-radius: 14px; padding: 24px 22px; text-decoration: none;
	display: block; transition: border-color .18s ease, transform .18s ease;
}
.mr-tymore__card:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-tymore__card h3 { font-size: 18px; font-weight: 600; color: var(--mr-navy); margin: 0 0 8px; }
.mr-tymore__card p { font-size: 14px; line-height: 1.6; color: var(--mr-slate); margin: 0 0 14px; }
.mr-tymore__go { font-size: 13px; font-weight: 700; color: var(--mr-gold-dark); }

@media (max-width: 980px) {
	.mr-legal__grid { grid-template-columns: 1fr; gap: 30px; }
	.mr-legal__sideInner { position: static; }
	.mr-legal__toc { border-left: none; padding-left: 0; }
	.mr-legal__tocList { max-height: 260px; overflow-y: auto; }
	.mr-sitemap__tree,
	.mr-sitemap__posts .mr-sitemap__list { columns: 1; }
	.mr-tynext__grid { grid-template-columns: 1fr; gap: 30px; }
	.mr-tymore__grid { grid-template-columns: 1fr; }
	.mr-ty__title { font-size: 31px; }
	.mr-faqpage__cta h2 { font-size: 26px; }
}

/* ==========================================================================
   SERVICE GUIDES (tier 3) + PERSONAL INJURY HUB + SERVICES HUB
   ========================================================================== */

/* --- shared guide layout: long-form left, sticky conversion right --- */
.mr-guide__grid { display: grid; grid-template-columns: 1fr 370px; gap: 54px; align-items: start; }
.mr-guide__grid--wide { max-width: var(--mr-max); margin-inline: auto; }

/* Data tables inside a cluster hub. Scrolls in its own box so a wide table
   never makes the page itself scroll sideways on a phone. */
.mr-tablewrap { overflow-x: auto; margin: 20px 0 6px; -webkit-overflow-scrolling: touch; }
.mr-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 460px; }
.mr-table th, .mr-table td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--mr-border); }
.mr-table th { font-weight: 700; color: var(--mr-navy); background: var(--mr-cream-warm); white-space: nowrap; }
.mr-table td { color: var(--mr-slate); }
.mr-table tr:last-child td { border-bottom: 0; }
.mr-table__note { font-size: 13px; color: var(--mr-mute); margin: 0 0 18px; font-style: italic; }
.mr-guide__body { min-width: 0; }
.mr-guide__body h2 { margin: 14px 0 20px; }
.mr-guide__h3 {
	font-size: 24px; font-weight: 600; color: var(--mr-navy);
	margin: 38px 0 12px; scroll-margin-top: calc(var(--mr-head, 84px) + 20px);
}
.mr-guide__h4 { font-size: 18px; font-weight: 600; color: var(--mr-navy); margin: 26px 0 8px; }
.mr-guide__p { font-size: 16px; line-height: 1.75; color: var(--mr-slate); margin: 0 0 14px; }

.mr-guide__who { list-style: none; margin: 18px 0 6px; padding: 0; display: grid; gap: 14px; }
.mr-guide__who li { display: flex; gap: 12px; align-items: flex-start; }
.mr-guide__who strong { display: block; font-size: 15px; color: var(--mr-ink); margin-bottom: 3px; }
.mr-guide__who span span { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); }
.mr-guide__tick {
	flex: none; width: 22px; height: 22px; border-radius: 50%;
	background: var(--mr-gold); color: #fff; font-size: 12px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center; margin-top: 2px;
}

/* Claim types — the anchored cards the Personal Injury mega menu points into.
   scroll-margin-top keeps the sticky header from covering a card that has just
   been jumped to; without it the anchor lands with the heading hidden. */
.mr-guide__types { display: grid; grid-template-columns: repeat(auto-fit, minmax(232px, 1fr)); gap: 12px; margin: 20px 0 6px; }
.mr-guide__type {
	scroll-margin-top: 120px;
	background: #fbf9f5; border: 1px solid #ece6dc; border-radius: 14px; padding: 16px 16px 15px;
	transition: border-color .18s, background .18s, transform .18s;
}
.mr-guide__type:target { border-color: var(--mr-gold); background: #fff; box-shadow: 0 0 0 3px rgba(211,150,57,.16); }
.mr-guide__typeIcon { display: flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 9px; background: #fff; border: 1px solid #ece6dc; color: var(--mr-gold); margin-bottom: 11px; }
.mr-guide__typeTitle { font-size: 14.5px; font-weight: 700; color: var(--mr-navy); margin: 0 0 5px; line-height: 1.35; }
.mr-guide__typeText { font-size: 13px; line-height: 1.6; color: #5d6772; margin: 0; }

.mr-guide__chips { list-style: none; margin: 18px 0 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mr-guide__chips li {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 999px; padding: 8px 15px; font-size: 13.5px; color: var(--mr-ink);
}

.mr-guide__steps { list-style: none; margin: 20px 0 6px; padding: 0; display: grid; gap: 16px; }
.mr-guide__steps li { display: flex; gap: 15px; align-items: flex-start; }
.mr-guide__steps strong { display: block; font-size: 15px; color: var(--mr-ink); margin-bottom: 3px; }
.mr-guide__steps span { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); }
.mr-guide__stepNum {
	flex: none; width: 30px; height: 30px; border-radius: 9px;
	background: var(--mr-navy); color: var(--mr-gold);
	font-family: var(--mr-serif); font-size: 13.5px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}

.mr-guide__sideInner { position: sticky; top: calc(var(--mr-head, 84px) + 22px); display: grid; gap: 18px; }
.mr-guide__form {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 26px 24px;
}
.mr-guide__formBadge {
	display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--mr-gold-dark);
	background: #fff; border: 1px solid var(--mr-border-warm);
	border-radius: 999px; padding: 5px 12px; margin-bottom: 12px;
}
.mr-guide__form h3 { font-size: 21px; font-weight: 600; color: var(--mr-navy); margin: 0 0 6px; }
.mr-guide__form > p { font-size: 14px; line-height: 1.6; color: var(--mr-slate); margin: 0 0 16px; }
.mr-guide__formNote { font-size: 13px; color: var(--mr-mute); margin: 14px 0 0; text-align: center; }
.mr-guide__formNote a { color: var(--mr-gold-dark); font-weight: 700; }
.mr-guide__fallback { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0 0 14px; }

.mr-guide__others { border-top: 1px solid var(--mr-border); padding-top: 18px; }
.mr-guide__othersTitle {
	font-family: var(--mr-serif); font-size: 11.5px; letter-spacing: .18em;
	text-transform: uppercase; color: var(--mr-gold); font-weight: 700; margin-bottom: 10px;
}
.mr-guide__others a { display: block; padding: 7px 0; font-size: 14px; color: var(--mr-slate); text-decoration: none; }
.mr-guide__others a:hover { color: var(--mr-gold-dark); }
.mr-guide__othersAll { font-weight: 700; color: var(--mr-navy) !important; margin-top: 6px; }

/* --- personal injury hub --- */
.mr-pihub__intro { display: grid; grid-template-columns: 1fr 340px; gap: 48px; align-items: start; }
.mr-pihub__glance {
	background: var(--mr-navy); color: #cfd8e0; border-radius: 16px; padding: 26px 24px;
}
.mr-pihub__glance h3 { font-size: 18px; font-weight: 600; color: #fff; margin: 0 0 16px; }
.mr-pihub__glance dl { margin: 0 0 20px; display: grid; gap: 12px; }
.mr-pihub__glance dl > div { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.1); }
.mr-pihub__glance dt { font-size: 13px; color: #aeb9c4; margin: 0; }
.mr-pihub__glance dd { font-size: 13.5px; font-weight: 700; color: #fff; margin: 0; text-align: right; }

.mr-pitypes__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mr-pitype {
	display: block; background: #fff; border: 1px solid var(--mr-border);
	border-radius: 14px; padding: 26px 24px; text-decoration: none;
	transition: border-color .18s ease, transform .18s ease;
}
.mr-pitype:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-pitype__icon {
	display: inline-flex; width: 44px; height: 44px; border-radius: 11px;
	background: var(--mr-cream); align-items: center; justify-content: center; margin-bottom: 14px;
}
.mr-pitype h3 { font-size: 19px; font-weight: 600; color: var(--mr-navy); margin: 0 0 8px; }
.mr-pitype p { font-size: 14px; line-height: 1.6; color: var(--mr-slate); margin: 0 0 14px; }
.mr-pitype__go { font-size: 13px; font-weight: 700; color: var(--mr-gold-dark); }

.mr-pitests__lede { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); max-width: 660px; margin: 14px 0 28px; }
.mr-pitests__list { list-style: none; margin: 0 0 46px; padding: 0; display: grid; gap: 20px; }
.mr-pitests__list li { display: flex; gap: 16px; align-items: flex-start; }
.mr-pitests__num {
	flex: none; width: 40px; height: 40px; border-radius: 11px;
	background: var(--mr-gold); color: #fff;
	font-family: var(--mr-serif); font-size: 16px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
.mr-pitests__list h3 { font-size: 18px; font-weight: 600; color: var(--mr-navy); margin: 6px 0 6px; }
.mr-pitests__list p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0; }

.mr-pisplit { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
.mr-pisplit__h3 { font-size: 21px; font-weight: 600; color: var(--mr-navy); margin: 0 0 12px; }
.mr-pisplit p { font-size: 15px; line-height: 1.7; color: var(--mr-slate); margin: 0 0 14px; }
.mr-pisplit__covers { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.mr-pisplit__covers li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; color: var(--mr-slate); }
.mr-pistages { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mr-pistages li { border-left: 2px solid var(--mr-border-warm); padding: 0 0 4px 16px; }
.mr-pistages__head { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.mr-pistages__head strong { font-size: 15px; color: var(--mr-navy); }
.mr-pistages__head span { font-size: 12px; font-weight: 700; color: var(--mr-gold-dark); white-space: nowrap; }
.mr-pistages p { font-size: 14px; line-height: 1.6; color: var(--mr-slate); margin: 5px 0 0; }

/* --- eligibility checker --- */
.mr-picheck { background: var(--mr-navy); color: #cfd8e0; }
.mr-picheck__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 70px var(--mr-pad);
	display: grid; grid-template-columns: 1fr 440px; gap: 54px; align-items: center;
}
.mr-picheck__badge {
	display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--mr-gold);
	border: 1px solid rgba(211,150,57,.4); border-radius: 999px; padding: 5px 12px; margin-bottom: 14px;
}
.mr-picheck__intro h2 { font-size: 34px; font-weight: 500; letter-spacing: -.02em; color: #fff; margin: 0 0 12px; }
.mr-picheck__intro p { font-size: 15.5px; line-height: 1.7; margin: 0 0 12px; max-width: 460px; }
.mr-picheck__call { font-size: 14px; }
.mr-picheck__call a { color: #fff; font-weight: 700; }

.mr-picheck__box { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; padding: 26px 24px; }
.mr-picheck__q { font-size: 14.5px; font-weight: 700; color: #fff; margin: 0 0 14px; }
.mr-picheck__opts { display: grid; gap: 9px; }
.mr-picheck__opts button {
	text-align: left; border: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.06); color: #dde4ea;
	padding: 12px 15px; border-radius: 9px; font-family: inherit;
	font-size: 13.5px; font-weight: 600; cursor: pointer; transition: all .15s ease;
}
.mr-picheck__opts button:hover { border-color: var(--mr-gold); color: #fff; }
.mr-picheck__opts button[aria-pressed="true"] { background: var(--mr-gold); border-color: var(--mr-gold); color: #fff; font-weight: 700; }
.mr-picheck__back {
	background: none; border: none; color: #aeb9c4; font-family: inherit;
	font-size: 13px; cursor: pointer; padding: 12px 0 0; text-align: left;
}
.mr-picheck__back:hover { color: #fff; }
.mr-picheck__verdict { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
.mr-picheck__verdict strong { display: block; font-size: 16px; color: #fff; margin-bottom: 6px; }
.mr-picheck__verdict p { font-size: 14px; line-height: 1.65; margin: 0; }
.mr-picheck__dot { width: 11px; height: 11px; border-radius: 50%; flex: none; margin-top: 6px; background: #1f8a5b; }
.mr-picheck__dot[data-tone="maybe"]    { background: var(--mr-gold); }
.mr-picheck__dot[data-tone="unlikely"] { background: var(--mr-mute); }

.mr-pilimit__inner {
	background: var(--mr-cream-warm); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 32px 30px; max-width: 900px; margin: 0 auto; text-align: center;
}
.mr-pilimit__inner h3 { font-size: 23px; font-weight: 600; color: var(--mr-navy); margin: 0 0 10px; }
.mr-pilimit__inner p { font-size: 15px; line-height: 1.7; color: var(--mr-slate); margin: 0 auto 20px; max-width: 660px; }

/* --- services hub --- */
.mr-svc__intro { max-width: 700px; margin-bottom: 40px; }
.mr-svc__intro h2 { margin: 14px 0 14px; }
.mr-svc__intro p { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 0; }
.mr-svc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mr-svc__card {
	display: block; background: #fff; border: 1px solid var(--mr-border);
	border-radius: 14px; padding: 26px 24px; text-decoration: none;
	transition: border-color .18s ease, transform .18s ease;
}
.mr-svc__card:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-svc__card h3 { font-size: 19px; font-weight: 600; color: var(--mr-navy); margin: 0 0 8px; }
.mr-svc__card p { font-size: 14px; line-height: 1.6; color: var(--mr-slate); margin: 0 0 14px; }
.mr-svc__go { font-size: 13px; font-weight: 700; color: var(--mr-gold-dark); }

.mr-svcimm { background: var(--mr-navy); color: #cfd8e0; }
.mr-svcimm__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 70px var(--mr-pad);
	display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center;
}
.mr-svcimm__head h2 { font-size: 34px; font-weight: 500; letter-spacing: -.02em; color: #fff; margin: 12px 0 14px; }
.mr-svcimm__head h2 span { font-style: italic; color: var(--mr-gold); }
.mr-svcimm__head p { font-size: 15.5px; line-height: 1.7; margin: 0 0 22px; }
.mr-svcimm__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.mr-svcimm__grid a {
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.13);
	border-radius: 10px; padding: 15px 16px; font-size: 14px; font-weight: 600;
	color: #fff; text-decoration: none; transition: all .15s ease;
}
.mr-svcimm__grid a:hover { border-color: var(--mr-gold); background: rgba(211,150,57,.14); }

.mr-svcfee__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.mr-svcfee__card {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 28px 26px;
}
.mr-svcfee__icon {
	display: inline-flex; width: 46px; height: 46px; border-radius: 12px;
	background: #fff; align-items: center; justify-content: center; margin-bottom: 14px;
}
.mr-svcfee__card h3 { font-size: 20px; font-weight: 600; color: var(--mr-navy); margin: 0 0 8px; }
.mr-svcfee__card p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0 0 14px; }
.mr-svcfee__fee {
	display: inline-block; font-size: 13px; font-weight: 700; color: var(--mr-gold-dark);
	background: #fff; border: 1px solid var(--mr-border-warm);
	border-radius: 999px; padding: 6px 14px; margin-bottom: 16px;
}

.mr-svctowns__lede { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); max-width: 700px; margin: 12px 0 22px; }
.mr-svctowns__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mr-svctowns__list li {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 999px; padding: 8px 16px; font-size: 13.5px; color: var(--mr-ink);
}
.mr-svctowns__more { background: var(--mr-navy) !important; color: #fff !important; border-color: var(--mr-navy) !important; font-weight: 600; }

@media (max-width: 1080px) {
	.mr-guide__grid { grid-template-columns: 1fr; gap: 34px; }
	.mr-guide__sideInner { position: static; }
	.mr-pitypes__grid, .mr-svc__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
	.mr-pihub__intro,
	.mr-pisplit,
	.mr-picheck__inner,
	.mr-svcimm__inner,
	.mr-svcfee__grid { grid-template-columns: 1fr; gap: 30px; }
	.mr-pitypes__grid, .mr-svc__grid { grid-template-columns: 1fr; }
	.mr-picheck__intro h2, .mr-svcimm__head h2 { font-size: 27px; }
}

/* ==========================================================================
   NEWS INDEX (home.php)
   ========================================================================== */

.mr-newstag {
	display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .09em;
	text-transform: uppercase; color: var(--mr-gold-dark);
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 999px; padding: 4px 11px;
}

/* --- featured --- */
.mr-newsfeat h2 { margin: 14px 0 22px; }
.mr-newsfeat__card {
	display: grid; grid-template-columns: 1.05fr .95fr; gap: 0;
	background: #fff; border: 1px solid var(--mr-border); border-radius: 16px;
	overflow: hidden; text-decoration: none;
	transition: border-color .18s ease, transform .18s ease;
}
.mr-newsfeat__card:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-newsfeat__media { position: relative; min-height: 300px; background: var(--mr-navy); }
.mr-newsfeat__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-newsfeat__media { overflow: hidden; }
.mr-newsfeat__media img { transition: transform .6s cubic-bezier(.2,.6,.2,1); transform-origin: center; }
.mr-newsfeat__card:hover .mr-newsfeat__media img,
.mr-newsfeat__card:focus-visible .mr-newsfeat__media img { transform: scale(1.08); }
.mr-newsfeat__mediaFallback {
	position: absolute; inset: 0;
	background: linear-gradient(135deg, var(--mr-navy), var(--mr-navy-deep));
}
.mr-newsfeat__body { padding: 34px 32px; display: flex; flex-direction: column; }
.mr-newsfeat__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 12.5px; color: var(--mr-mute); }
.mr-newsfeat__title { display: block; font-size: 27px; font-weight: 600; line-height: 1.25; color: var(--mr-navy); margin: 14px 0 10px; }
.mr-newsfeat__excerpt { display: block; font-size: 15px; line-height: 1.7; color: var(--mr-slate); margin-bottom: 20px; }
.mr-newsfeat__author { display: flex; align-items: center; gap: 11px; margin-top: auto; }
.mr-newsfeat__initials {
	width: 40px; height: 40px; border-radius: 50%; flex: none;
	background: var(--mr-navy); color: var(--mr-gold);
	font-family: var(--mr-serif); font-size: 14px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
.mr-newsfeat__author strong { display: block; font-size: 14px; color: var(--mr-ink); }
.mr-newsfeat__author span span { font-size: 12.5px; color: var(--mr-mute); }
.mr-newsfeat__go { display: block; margin-top: 18px; font-size: 13.5px; font-weight: 700; color: var(--mr-gold-dark); }

/* --- list + sidebar --- */
.mr-newslist__grid { display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start; }
.mr-newslist__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.mr-newslist__head h2 { margin: 12px 0 0; }
.mr-newslist__count { font-size: 13px; color: var(--mr-mute); margin: 0; }
.mr-newslist__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 26px; }
.mr-newslist__cats a {
	padding: 8px 15px; border-radius: 999px; font-size: 13px; font-weight: 600;
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	color: var(--mr-navy); text-decoration: none; transition: all .15s ease;
}
.mr-newslist__cats a:hover,
.mr-newslist__cats a.is-on { background: var(--mr-navy); border-color: var(--mr-navy); color: #fff; }

.mr-newscards { display: grid; gap: 18px; }
.mr-newscard {
	display: grid; grid-template-columns: 210px 1fr; gap: 0;
	background: #fff; border: 1px solid var(--mr-border); border-radius: 14px;
	overflow: hidden; text-decoration: none;
	transition: border-color .18s ease, transform .18s ease;
}
.mr-newscard:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-newscard__media { position: relative; min-height: 168px; background: var(--mr-navy); }
.mr-newscard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-newscard__media { overflow: hidden; }
.mr-newscard__media img { transition: transform .55s cubic-bezier(.2,.6,.2,1); transform-origin: center; }
.mr-newscard:hover .mr-newscard__media img,
.mr-newscard:focus-visible .mr-newscard__media img { transform: scale(1.12); }
.mr-newscard__mediaFallback {
	position: absolute; inset: 0;
	background: linear-gradient(135deg, var(--mr-navy), var(--mr-navy-deep));
}
.mr-newscard__body { padding: 22px 24px; }
.mr-newscard__meta { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; font-size: 12px; color: var(--mr-mute); }
.mr-newscard__title { display: block; font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--mr-navy); margin: 11px 0 8px; }
.mr-newscard__excerpt { display: block; font-size: 14px; line-height: 1.65; color: var(--mr-slate); margin-bottom: 12px; }
.mr-newscard__go { font-size: 13px; font-weight: 700; color: var(--mr-gold-dark); }

.mr-newsempty {
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 16px; padding: 44px 34px; text-align: center;
}
.mr-newsempty h3 { font-size: 24px; font-weight: 600; color: var(--mr-navy); margin: 0 0 10px; }
.mr-newsempty p { font-size: 15px; line-height: 1.7; color: var(--mr-slate); margin: 0 auto 22px; max-width: 520px; }
.mr-newsempty__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

.mr-newslist__side { display: grid; gap: 18px; position: sticky; top: calc(var(--mr-head, 84px) + 22px); }
.mr-newsside__cta { background: var(--mr-navy); color: #aeb9c4; border-radius: 16px; padding: 26px 24px; text-align: center; }
.mr-newsside__cta h3 { font-size: 19px; font-weight: 600; color: #fff; margin: 0 0 8px; }
.mr-newsside__cta p { font-size: 13.5px; line-height: 1.6; margin: 0 0 16px; }
.mr-newsside__phone { display: block; margin-top: 12px; font-family: var(--mr-serif); font-size: 19px; font-weight: 600; color: #fff; text-decoration: none; }
.mr-newsside__phone:hover { color: var(--mr-gold); }

.mr-newsside__block { border: 1px solid var(--mr-border); border-radius: 14px; padding: 22px 20px; }
.mr-newsside__title {
	font-family: var(--mr-serif); font-size: 11.5px; letter-spacing: .18em;
	text-transform: uppercase; color: var(--mr-gold); font-weight: 700; margin-bottom: 14px;
}
.mr-newsside__tags { display: flex; flex-wrap: wrap; gap: 7px; }
.mr-newsside__tags a {
	font-size: 12.5px; padding: 6px 12px; border-radius: 999px;
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	color: var(--mr-ink); text-decoration: none;
}
.mr-newsside__tags a:hover { border-color: var(--mr-gold); color: var(--mr-gold-dark); }
.mr-newsside__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; }
.mr-newsside__list li { display: flex; gap: 11px; align-items: flex-start; }
.mr-newsside__n { font-family: var(--mr-serif); font-size: 12px; font-weight: 700; color: var(--mr-gold); flex: none; }
.mr-newsside__list a { font-size: 13.5px; line-height: 1.5; color: var(--mr-navy); text-decoration: none; }
.mr-newsside__list a:hover { color: var(--mr-gold-dark); }
.mr-newsside__services a { display: block; padding: 7px 0; font-size: 13.5px; color: var(--mr-slate); text-decoration: none; }
.mr-newsside__services a:hover { color: var(--mr-gold-dark); }
.mr-newsside__all { font-weight: 700; color: var(--mr-navy) !important; }

/* --- newsletter band --- */
.mr-newsletter2 { background: var(--mr-cream-warm); border-top: 1px solid var(--mr-border-warm); }
.mr-newsletter2__inner { max-width: 760px; margin: 0 auto; padding: 66px var(--mr-pad); text-align: center; }
.mr-newsletter2__inner h2 { font-size: 34px; font-weight: 500; letter-spacing: -.02em; color: var(--mr-navy); margin: 12px 0 14px; }
.mr-newsletter2__inner h2 span { font-style: italic; color: var(--mr-gold); }
.mr-newsletter2__inner > p { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 0 auto 22px; max-width: 560px; }
.mr-newsletter2__note {
	background: #fff; border: 1px solid var(--mr-border-warm); border-radius: 12px;
	padding: 16px 20px; font-size: 14.5px; color: var(--mr-ink); margin: 0 auto 12px; display: inline-block;
}
.mr-newsletter2__note a { color: var(--mr-gold-dark); font-weight: 700; }
.mr-newsletter2__small { font-size: 12.5px; color: var(--mr-mute); margin: 0; }

@media (max-width: 1000px) {
	.mr-newslist__grid { grid-template-columns: 1fr; gap: 34px; }
	.mr-newslist__side { position: static; }
	.mr-newsfeat__card { grid-template-columns: 1fr; }
	.mr-newsfeat__media { min-height: 220px; }
}

@media (max-width: 640px) {
	.mr-newscard { grid-template-columns: 1fr; }
	.mr-newscard__media { min-height: 180px; }
	.mr-newsfeat__title { font-size: 22px; }
	.mr-newsletter2__inner h2 { font-size: 26px; }
}

/* --- trust chips that link out to their source ---------------------------- */
/* A chip carrying a URL is a chip the reader can verify. It gets an affordance
   so it reads as clickable, without changing the design's proportions. */
a.mr-trustchip,
a.mr-ab-trust__item { text-decoration: none; transition: border-color .16s ease, transform .16s ease; }
a.mr-trustchip:hover { border-color: var(--mr-gold); transform: translateY(-1px); }
a.mr-ab-trust__item:hover { border-color: var(--mr-gold); }
a.mr-ab-trust__item:hover .mr-ab-trust__sub { color: var(--mr-gold-dark); }
.mr-trust__asat { font-size: 11px; color: var(--mr-mute); white-space: nowrap; }

/* ==========================================================================
   ACTIVE NAVIGATION STATE
   Every surface marks where you are. aria-current carries it for screen
   readers; these rules are the visual half.
   ========================================================================== */

/* --- desktop nav: a gold underline, matching the hover affordance --- */
.mr-nav__link.is-active,
.mr-nav__btn.is-active { color: var(--mr-navy); font-weight: 700; }
.mr-nav__link.is-active::after,
.mr-nav__btn.is-active::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px;
	height: 2px; background: var(--mr-gold); border-radius: 2px;
}
.mr-nav__link, .mr-nav__btn { position: relative; }

/* --- mega menu: the branch you are in, and the exact page --- */
.mr-mega__head.is-active { color: var(--mr-gold-dark); }
.mr-mega__item.is-active,
.mr-mega__box.is-active { color: var(--mr-gold-dark); font-weight: 700; }
.mr-mega__item.is-active::before { content: "▸ "; color: var(--mr-gold); }

/* --- mobile drawer --- */
.mr-acc__item.is-active,
.mr-acc__groupTitle.is-active {
	color: var(--mr-gold-dark); font-weight: 700;
}
.mr-acc__item.is-active { border-left: 2px solid var(--mr-gold); padding-left: 10px; margin-left: -12px; }
.mr-drawer__link.is-active { background: var(--mr-cream); color: var(--mr-navy); font-weight: 700; }

/* --- footer --- */
.mr-u.is-active { color: var(--mr-gold-soft); font-weight: 700; }

/* --- claim type picker (Make a Claim) ------------------------------------- */
.mr-claimpick { margin-bottom: 24px; }
.mr-claimpick__label {
	display: block; font-size: 13px; font-weight: 700; color: var(--mr-navy); margin-bottom: 10px;
}
.mr-claimpick__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.mr-claimpick__grid button {
	text-align: left; border: 1px solid var(--mr-border-warm); background: var(--mr-cream);
	color: var(--mr-slate); padding: 12px 13px; border-radius: 10px;
	font-family: inherit; cursor: pointer; transition: all .15s ease;
}
.mr-claimpick__grid button span {
	display: block; font-size: 13.5px; font-weight: 700; color: var(--mr-navy); margin-bottom: 2px;
}
.mr-claimpick__grid button small { display: block; font-size: 11.5px; line-height: 1.4; }
.mr-claimpick__grid button:hover { border-color: var(--mr-gold); }
.mr-claimpick__grid button[aria-pressed="true"] {
	background: var(--mr-navy); border-color: var(--mr-navy);
}
.mr-claimpick__grid button[aria-pressed="true"] span { color: #fff; }
.mr-claimpick__grid button[aria-pressed="true"] small { color: var(--mr-gold-soft); }
.mr-claimpick__hint { font-size: 12.5px; color: var(--mr-mute); margin: 10px 0 0; }

@media (max-width: 760px) {
	.mr-claimpick__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
	.mr-claimpick__grid { grid-template-columns: 1fr; }
}

/* --- footer legal row: wraps once it outgrows the line ------------------- */
/* Three links were added here (cookie policy, complaints, sitemap) and the row
   stopped fitting a 390px screen, pushing the whole page 5px wide. */
.mr-footer__bottomInner { flex-wrap: wrap; }
.mr-footer__bottomLinks { display: flex; flex-wrap: wrap; gap: 8px 16px; min-width: 0; }
.mr-footer__bottomLinks a { white-space: nowrap; }

@media (max-width: 640px) {
	.mr-footer__bottomInner { flex-direction: column; align-items: flex-start; gap: 12px; }
	.mr-footer__bottomLinks { gap: 8px 14px; }
}

/* --- mega menu category icons -------------------------------------------- */
.mr-mega__head { display: flex; align-items: center; gap: 8px; }
.mr-mega__headIcon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; flex: none; border-radius: 7px;
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
}
.mr-mega__head.is-active .mr-mega__headIcon { background: #fff; border-color: var(--mr-gold); }

/* Variant B only: a marker on every leaf item. Off by default — see the note
   in the mega menu section of TASKS.md. */
body.mrv2-megaitemicons .mr-mega__item { padding-left: 16px; position: relative; }
body.mrv2-megaitemicons .mr-mega__item::before {
	content: ""; position: absolute; left: 0; top: 50%; margin-top: -3px;
	width: 5px; height: 5px; border-radius: 50%; background: var(--mr-gold);
	opacity: .55;
}

/* ------------------------------------------------------------ responsive -- */
@media (max-width: 1180px) {
	.mr-mosaic { grid-template-columns: repeat(2, 1fr) !important; }
	.mr-mosaic__tile { grid-column: span 1 !important; grid-row: span 1 !important; }
	.mr-mosaic__tile:first-child { grid-column: span 2 !important; grid-row: span 2 !important; }
	.mr-proc__steps { grid-template-columns: repeat(2, 1fr); gap: 34px 30px; }
	.mr-proc__bar { display: none; }
	.mr-mega__cats, .mr-mega__cats--wide { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}

@media (max-width: 1100px) {
	.mr-hero__cardwrap { display: none; }
	.mr-hero__copy { max-width: 100%; }
	.mr-mega__grid { grid-template-columns: 1fr; }
	.mr-mega__feature { display: none; }
}

@media (min-width: 1100.1px) {
	.mr-hero__copy { max-width: calc(100% - 500px); }
}

@media (max-width: 1000px) {
	.mr-cases__box { height: 560px; }
	.mr-2col, .mr-2col--video, .mr-2col--why, .mr-2col--calc { grid-template-columns: 1fr !important; gap: 40px; }
	.mr-3col { grid-template-columns: 1fr; }
	.mr-tpcard { grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 18px; padding: 28px 22px; }
	.mr-tpcard__act { width: 100%; max-width: 320px; }
	.mr-case__grid { grid-template-columns: 1fr; }
	.mr-sectionHead { grid-template-columns: 1fr; gap: 18px; }
	.mr-footer__top { grid-template-columns: 1fr; gap: 40px; }
	.mr-footer__linksInner { grid-template-columns: 1fr 1fr; gap: 36px; }
	.mr-cta2__inner { grid-template-columns: 1fr; }
	.mr-collage { padding-right: 0; }
	.mr-h2, .mr-h2--sm { font-size: 34px; }
	.mr-hero__title, h2.mr-hero__title { font-size: 38px; }
	.mr-cta2__title { font-size: 34px; }
	.mr-calc--visa .mr-calc__total { font-size: 44px; }
}

@media (max-width: 900px) {
	/* The desktop nav and its mega panels are replaced wholesale by the drawer.
	   Reflowing them would give a long accordion of a menu built for hover; the
	   drawer is built for thumbs. */
	.mr-nav, .mr-mega, .mr-cta, .mr-wa { display: none !important; }
	.mr-mobctl { display: flex; }
	.mr-burger { display: flex; }
	.mr-search { display: none; }

	.mr-utility__inner { display: none; }
	.mr-utility__mobile {
		display: flex; align-items: center; justify-content: space-between;
		gap: 12px; padding: 8px 14px 8px 16px;
		padding-top: calc(8px + env(safe-area-inset-top, 0px));
	}

	.mr-bottombar { display: flex; }
	/* Keep the bar off the last of the content. */
	body.mrv2 { padding-bottom: calc(var(--mr-bottombar-h) + env(safe-area-inset-bottom, 0px)); }

	.mr-header__inner { padding: 10px 14px; gap: 10px; flex-wrap: nowrap; }
	.mr-logo img { height: 38px; }

	.mr-spot__panel { margin-top: 0; width: 100%; max-height: 100%; height: 100%; border-radius: 0; border: none; }
	.mr-spot__bar { height: 62px; padding-top: env(safe-area-inset-top, 0px); box-sizing: content-box; }
	.mr-spot__foot { padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }

	.mr-hero { height: auto; padding-bottom: 0; }
	.mr-hero__slide { position: relative; display: none; }
	.mr-hero__slide.is-active { display: block; }
	.mr-hero__inner { padding: 56px var(--mr-pad) 40px; }
	.mr-hero__tabs { position: static; grid-template-columns: repeat(2, 1fr); }
	.mr-news__item { grid-template-columns: 120px 1fr; }
	.mr-news__arrow { display: none; }
	.mr-cases__head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 700px) {
	:root { --mr-pad: 18px; }
	.mr-mosaic { grid-template-columns: 1fr !important; }
	.mr-mosaic__tile, .mr-mosaic__tile:first-child { grid-column: span 1 !important; grid-row: span 1 !important; }
	.mr-proc__steps { grid-template-columns: 1fr; gap: 30px; }
	.mr-proc__head { margin-bottom: 30px; }
	.mr-proc__doneBox { flex-wrap: wrap; border-radius: 18px; justify-content: center; text-align: center; }
	.mr-proc__doneCta { width: 100%; text-align: center; }
	.mr-footer__linksInner { grid-template-columns: 1fr; }
	.mr-mega__cats, .mr-mega__cats--wide, .mr-mega__boxes, .mr-mega__tools { grid-template-columns: 1fr; }
	.mr-hero__tabs { grid-template-columns: 1fr; }
	.mr-hero__tab { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
	.mr-news__item { grid-template-columns: 1fr; }
	.mr-news__thumb { height: 180px; }
	.mr-field--pair { grid-template-columns: 1fr; }
	.mr-seg--three { grid-template-columns: 1fr; }
	.mr-wa { right: 14px; bottom: 14px; padding: 12px 16px; }
	.mr-wa-panel { padding: 0; align-items: flex-end; justify-content: center; }
	.mr-wa-panel__box { width: 100%; border-radius: 20px 20px 0 0; }
	.mr-case__result, .mr-case__body { padding: 26px 24px; }
	.mr-cases__box { height: auto; }
	.mr-case { position: relative; display: none; }
	.mr-case.is-active { display: block; }
}

/* ==================================================== settlement calculator */
.mr-calc { background: var(--mr-cream-warm); }
.mr-calc__head { max-width: 760px; margin: 0 auto 34px; text-align: center; }
.mr-calc__lede { font-size: 16px; line-height: 1.65; color: var(--mr-slate); margin: 12px 0 0; }
.mr-calc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; max-width: var(--mr-max); margin: 0 auto; }
.mr-calc__inputs { background: #fff; border: 1px solid var(--mr-border); border-radius: 14px; padding: 26px; }
.mr-calc__field { margin-bottom: 18px; }
.mr-calc__field label { display: block; font-size: 14px; font-weight: 700; color: var(--mr-navy); margin-bottom: 7px; }
.mr-calc__field input[type="number"] {
	width: 100%; padding: 11px 13px; font-size: 16px; color: var(--mr-navy);
	border: 1px solid var(--mr-border); border-radius: 8px; background: #fff;
}
.mr-calc__field input:focus-visible { outline: 2px solid var(--mr-gold); outline-offset: 1px; }
.mr-calc__money { display: flex; align-items: center; gap: 8px; }
.mr-calc__money span { font-size: 17px; color: var(--mr-mute); }
.mr-calc__hint { font-size: 12.5px; color: var(--mr-mute); margin: 6px 0 0; }
.mr-calc__check { display: flex; align-items: center; gap: 9px; font-size: 14.5px; color: var(--mr-navy); cursor: pointer; }
.mr-calc__check input { width: 17px; height: 17px; accent-color: var(--mr-gold); }
.mr-calc__out { background: var(--mr-navy); color: #fff; border-radius: 14px; padding: 26px; }
.mr-calc__line { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 14.5px; }
.mr-calc__line strong { font-size: 16px; min-width: 84px; text-align: right; }
.mr-calc__tag { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--mr-gold); white-space: nowrap; }
.mr-calc__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 18px; padding-top: 16px; border-top: 2px solid var(--mr-gold); }
.mr-calc__total span { font-size: 14.5px; }
.mr-calc__total strong { font-family: var(--mr-serif); font-size: 30px; color: var(--mr-gold); }
.mr-calc__tax { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.mr-calc__tax div { background: rgba(255,255,255,.07); border-radius: 8px; padding: 12px 14px; }
.mr-calc__tax span { display: block; font-size: 12px; color: rgba(255,255,255,.72); }
.mr-calc__tax strong { font-size: 19px; }
.mr-calc__note { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.78); margin: 18px 0 0; }
.mr-calc__note strong { color: #fff; }
.mr-calc__actions { margin-top: 20px; text-align: center; }
.mr-calc__phone { display: inline-block; margin-top: 11px; color: var(--mr-gold); font-size: 14.5px; }
@media (max-width: 860px) {
	.mr-calc__grid { grid-template-columns: 1fr; }
	.mr-calc__line { grid-template-columns: 1fr auto; }
	.mr-calc__tag { grid-column: 1 / -1; order: 3; }
}

/* ------------------------------------------------- data breach checker ---- */
.mr-calc__set { border: 0; padding: 0; margin: 0 0 22px; }
.mr-calc__set legend { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--mr-gold); font-weight: 700; margin-bottom: 12px; }
.mr-calc__factor { display: flex; gap: 11px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--mr-border); cursor: pointer; }
.mr-calc__factor:last-child { border-bottom: 0; }
.mr-calc__factor input { width: 18px; height: 18px; flex: none; margin-top: 2px; accent-color: var(--mr-gold); }
.mr-calc__factor strong { display: block; font-size: 14.5px; color: var(--mr-navy); }
.mr-calc__factor .mr-calc__hint { margin-top: 3px; }
.mr-breach__verdict { display: flex; gap: 13px; align-items: flex-start; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.14); }
.mr-breach__dot { width: 13px; height: 13px; border-radius: 50%; flex: none; margin-top: 5px; background: #6b7a8d; transition: background .25s; }
.mr-breach__dot[data-state="strong"] { background: #35c07a; }
.mr-breach__dot[data-state="likely"] { background: #d39639; }
.mr-breach__dot[data-state="maybe"]  { background: #c8b073; }
.mr-breach__dot[data-state="no"]     { background: #8a94a3; }
.mr-breach__verdict strong { display: block; font-family: var(--mr-serif); font-size: 19px; margin-bottom: 5px; }
.mr-breach__verdict p { font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.8); margin: 0; }
.mr-breach__distress { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.12); }
.mr-breach__distress span { font-size: 14px; }
.mr-breach__distress strong { font-size: 14.5px; color: var(--mr-gold); }

/* ============================================================== contact us */
.mr-cmethods__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; max-width: var(--mr-max); margin: 0 auto; }
.mr-cmethod { display: block; background: #fff; border: 1px solid var(--mr-border); border-radius: 12px; padding: 22px; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
a.mr-cmethod:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-cmethod__icon { display: flex; width: 42px; height: 42px; border-radius: 10px; background: var(--mr-cream-warm); align-items: center; justify-content: center; margin-bottom: 14px; }
.mr-cmethod__title { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--mr-mute); }
.mr-cmethod__value { display: block; font-size: 19px; color: var(--mr-navy); margin: 5px 0 8px; }
.mr-cmethod__note { display: block; font-size: 13px; line-height: 1.55; color: var(--mr-slate); }
.mr-cform__grid { display: grid; grid-template-columns: 1fr 360px; gap: 46px; align-items: start; max-width: var(--mr-max); margin: 0 auto; }
.mr-cform__lede { font-size: 15.5px; line-height: 1.65; color: var(--mr-slate); margin: 12px 0 22px; }
.mr-cform__box { background: #fff; border: 1px solid var(--mr-border); border-radius: 14px; padding: 26px; }
.mr-cform__fallback { text-align: center; }
.mr-cform__fallback h3 { font-size: 20px; color: var(--mr-navy); margin: 0 0 8px; }
.mr-cform__fallback p { font-size: 14.5px; color: var(--mr-slate); margin: 0 0 18px; }
.mr-cform__fallback .mr-btn { margin: 0 6px 8px; }
.mr-cform__privacy { font-size: 13px; line-height: 1.6; color: var(--mr-mute); margin: 16px 0 0; }
.mr-coffice { background: var(--mr-navy); color: #fff; border-radius: 14px; padding: 26px; }
.mr-coffice h3 { font-size: 21px; margin: 0 0 14px; }
.mr-coffice__addr { font-style: normal; font-size: 15px; line-height: 1.75; color: rgba(255,255,255,.86); margin-bottom: 14px; }
.mr-coffice__addr span { display: block; }
.mr-coffice__link { display: block; color: var(--mr-gold); font-size: 15px; margin-bottom: 5px; word-break: break-word; }
.mr-coffice__sub { font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.6); margin: 20px 0 10px; }
.mr-coffice__hours div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 14px; }
.mr-coffice__hours dt { color: rgba(255,255,255,.82); }
.mr-coffice__hours dd { margin: 0; font-weight: 600; }
.mr-coffice .mr-btn { margin-top: 18px; }
.mr-ctravel__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: var(--mr-max); margin: 0 auto; }
.mr-ctravel__item h3 { font-size: 18px; color: var(--mr-navy); margin: 0 0 7px; }
.mr-ctravel__item p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0; }
.mr-ctravel__cta { text-align: center; margin-top: 30px; }
.mr-cnext { max-width: var(--mr-max); margin: 0 auto; }
.mr-cnext__list { list-style: none; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
.mr-cnext__list li { display: flex; gap: 15px; align-items: flex-start; }
.mr-cnext__num { width: 38px; height: 38px; border-radius: 50%; flex: none; background: var(--mr-navy); color: var(--mr-gold); display: flex; align-items: center; justify-content: center; font-family: var(--mr-serif); font-size: 17px; }
.mr-cnext__list h3 { font-size: 17.5px; color: var(--mr-navy); margin: 0 0 5px; }
.mr-cnext__list p { font-size: 14.5px; line-height: 1.62; color: var(--mr-slate); margin: 0; }
.mr-ccomplaint { background: var(--mr-cream-warm); }
.mr-ccomplaint__inner { max-width: 860px; margin: 0 auto; text-align: center; }
.mr-ccomplaint__inner p { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 12px 0 22px; }
.mr-ccomplaint__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 1000px) {
	.mr-cmethods__grid, .mr-ctravel__grid { grid-template-columns: repeat(2, 1fr); }
	.mr-cform__grid { grid-template-columns: 1fr; gap: 30px; }
	.mr-cnext__list { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.mr-cmethods__grid, .mr-ctravel__grid { grid-template-columns: 1fr; }
}

/* ==================================================================== about */
.mr-abfacts__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; max-width: var(--mr-max); margin: 0 auto; }
.mr-abfact { display: block; background: #fff; border: 1px solid var(--mr-border); border-radius: 12px; padding: 20px; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
a.mr-abfact:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-abfact__k { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--mr-mute); }
.mr-abfact__v { display: block; font-size: 22px; color: var(--mr-navy); margin: 6px 0 7px; }
.mr-abfact__note { display: block; font-size: 12.5px; line-height: 1.5; color: var(--mr-slate); }
.mr-abreg__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px 34px; max-width: var(--mr-max); margin: 0 auto; }
.mr-abreg__item { display: flex; gap: 12px; align-items: flex-start; }
.mr-abreg__item h3 { font-size: 17.5px; color: var(--mr-navy); margin: 0 0 6px; }
.mr-abreg__item p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0; }
.mr-abreg__verify { max-width: var(--mr-max); margin: 30px auto 0; padding-top: 20px; border-top: 1px solid var(--mr-border); font-size: 14.5px; color: var(--mr-slate); text-align: center; }
@media (max-width: 1000px) { .mr-abfacts__grid { grid-template-columns: repeat(2,1fr); } .mr-abreg__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .mr-abfacts__grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------------- services funding - */
.mr-svcfund__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; max-width: var(--mr-max); margin: 0 auto; }
.mr-svcfund__item { background: #fff; border: 1px solid var(--mr-border); border-radius: 12px; padding: 24px; }
.mr-svcfund__item h3 { font-size: 20px; color: var(--mr-navy); margin: 0 0 7px; }
.mr-svcfund__apply { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--mr-gold); font-weight: 700; margin-bottom: 12px; }
.mr-svcfund__item p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0 0 10px; }
.mr-svcfund__note { font-size: 13px; font-style: italic; color: var(--mr-mute); border-left: 2px solid var(--mr-gold); padding-left: 11px; margin: 0; }
@media (max-width: 860px) { .mr-svcfund__grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------------- funding notice --- */
.mr-funding { border-bottom: 1px solid var(--mr-border); background: #fff; }
.mr-funding--fixed { background: var(--mr-cream-warm); }
.mr-funding__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 14px var(--mr-pad);
	display: flex; align-items: flex-start; gap: 12px;
}
.mr-funding__icon { display: flex; flex: none; margin-top: 1px; }
.mr-funding p { font-size: 14px; line-height: 1.6; color: var(--mr-slate); margin: 0; flex: 1; }
.mr-funding strong { color: var(--mr-navy); }
.mr-funding__ask { flex: none; font-size: 13.5px; font-weight: 600; color: var(--mr-navy); white-space: nowrap; text-decoration: underline; }
.mr-funding__ask:hover { color: var(--mr-gold); }
@media (max-width: 720px) {
	.mr-funding__inner { flex-wrap: wrap; }
	.mr-funding__ask { width: 100%; }
}

/* ---------------------------------------------------------- trustpilot ---- */
.mr-tp { display: flex; justify-content: center; }
.mr-tp__box { min-height: 24px; }
.mr-tp__fallback { font-size: 13.5px; color: var(--mr-slate); }
.mr-tp__fallback a { color: var(--mr-navy); font-weight: 600; text-decoration: underline; }
.mr-funding--employer { background: #f4faf6; }
/* A group label sits in a row with three headings that ARE links, so muting it
   made the odd one out look disabled rather than deliberate. Same colour and
   weight as the rest; the missing hover is what tells you it is not a
   destination. */
.mr-mega__head--label { cursor: default; color: var(--mr-navy); }

/* ------------------------------------------------- ineligible notice ------ */
.mr-inelig { margin-top: 16px; padding: 20px 22px; background: var(--mr-cream-warm); border: 1px solid #e6d9bd; border-left: 3px solid var(--mr-gold); border-radius: 10px; }
.mr-inelig:focus { outline: 2px solid var(--mr-gold); outline-offset: 2px; }
.mr-inelig h4 { font-size: 18px; color: var(--mr-navy); margin: 0 0 8px; }
.mr-inelig p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0 0 12px; }
.mr-inelig ul { list-style: none; padding: 0; margin: 0 0 12px; }
.mr-inelig li { padding: 6px 0; border-bottom: 1px solid #eadfc7; }
.mr-inelig li:last-child { border-bottom: 0; }
.mr-inelig a { color: var(--mr-navy); font-weight: 600; text-decoration: underline; font-size: 14.5px; }
.mr-inelig a:hover { color: var(--mr-gold); }
.mr-inelig__note { font-size: 13px; font-style: italic; color: var(--mr-mute); margin: 0; }

/* -------------------------------------------------- per-page fee panel ---- */
.mr-fee { background: var(--mr-navy); color: #fff; }
.mr-fee__inner {
	max-width: var(--mr-max); margin: 0 auto; padding: 30px var(--mr-pad);
	display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center;
}
.mr-fee__label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .09em; color: var(--mr-gold); font-weight: 700; }
.mr-fee__amount { display: block; font-size: 52px; line-height: 1.05; color: #fff; margin: 6px 0 8px; letter-spacing: -.02em; }
.mr-fee__terms { display: block; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.78); max-width: 60ch; }
.mr-fee__side { text-align: right; max-width: 320px; }
.mr-fee__note { font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.85); margin: 0 0 10px; }
.mr-fee__all { font-size: 14px; font-weight: 600; color: var(--mr-gold); text-decoration: underline; white-space: nowrap; }
@media (max-width: 860px) {
	.mr-fee__inner { grid-template-columns: 1fr; gap: 16px; }
	.mr-fee__amount { font-size: 40px; }
	.mr-fee__side { text-align: left; max-width: none; }
}

/* ==================================================== thank you — the moment */
.mr-ty {
	position: relative; overflow: hidden;
	background: linear-gradient(180deg, var(--mr-cream-warm) 0%, #fff 100%);
	padding: 70px var(--mr-pad) 84px;
}
/* Soft light behind the card. Purely decorative depth. */
.mr-ty__glow {
	position: absolute; left: 50%; top: 8%;
	width: min(760px, 92vw); aspect-ratio: 1;
	transform: translateX(-50%);
	background: radial-gradient(circle, rgba(211,150,57,.20) 0%, rgba(211,150,57,.07) 42%, transparent 68%);
	pointer-events: none;
}
/* The perspective plane the card sits on — this is what makes the tilt read
   as depth rather than as a skew. */
.mr-ty__stage { position: relative; z-index: 2; perspective: 1200px; max-width: 720px; margin: 0 auto; }
.mr-ty__card {
	position: relative; background: #fff; border-radius: 20px;
	padding: 52px 44px 44px; text-align: center;
	border: 1px solid rgba(15,32,48,.06);
	transform-style: preserve-3d;
	will-change: transform;
	transition: transform .35s cubic-bezier(.2,.6,.2,1), box-shadow .35s ease;
	box-shadow:
		0 1px 2px rgba(15,32,48,.04),
		0 8px 16px rgba(15,32,48,.06),
		0 24px 44px rgba(15,32,48,.09),
		0 48px 90px rgba(15,32,48,.10);
}
.mr-ty__card > * { transform: translateZ(28px); }
.mr-ty__tick {
	display: inline-flex; width: 92px; height: 92px; border-radius: 50%;
	align-items: center; justify-content: center; color: #1f8a5b;
	background: linear-gradient(160deg, #eafaf1, #d6f2e3);
	box-shadow: inset 0 2px 5px rgba(255,255,255,.9), 0 10px 22px rgba(31,138,91,.20);
	transform: translateZ(50px);
	margin-bottom: 22px;
}
.mr-ty__tickRing { opacity: .28; }
.mr-ty__title { font-size: 40px; line-height: 1.12; color: var(--mr-navy); margin: 0 0 14px; letter-spacing: -.015em; }
.mr-ty__lede { font-size: 16.5px; line-height: 1.65; color: var(--mr-slate); margin: 0 auto 30px; max-width: 54ch; }
.mr-ty__urgent {
	background: var(--mr-cream-warm); border: 1px solid #ece0c9;
	border-radius: 14px; padding: 22px 24px; transform: translateZ(16px);
}
.mr-ty__urgentTitle { display: block; font-weight: 700; font-size: 15.5px; color: var(--mr-navy); margin-bottom: 14px; }
.mr-ty__urgentActions { display: flex; gap: 11px; justify-content: center; flex-wrap: wrap; }
.mr-ty__call, .mr-ty__wa { display: inline-flex; align-items: center; gap: 9px; }
.mr-ty__wa { background: #25d366; color: #fff; border: 0; }
.mr-ty__wa:hover { background: #1eb855; color: #fff; }
.mr-ty__hours { display: block; margin-top: 13px; font-size: 13px; color: var(--mr-mute); }

/* The tick draws itself in. Default state is the FINISHED tick, so if the
   animation never runs — no JS, reduced motion, old browser — the page still
   shows a completed tick rather than an empty circle. */
@keyframes mrTickDraw { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes mrTickPop  { 0% { transform: translateZ(50px) scale(.6); opacity: 0; }
                        60% { transform: translateZ(50px) scale(1.08); opacity: 1; }
                        100% { transform: translateZ(50px) scale(1); opacity: 1; } }
.mr-ty[data-celebrating] .mr-ty__tick { animation: mrTickPop .6s cubic-bezier(.2,.8,.3,1) both; }
.mr-ty[data-celebrating] .mr-ty__tickPath { stroke-dasharray: 40; animation: mrTickDraw .5s .28s ease-out both; }

/* Behind the card, not over it. Confetti crossing the headline during the
   burst hurts legibility at exactly the moment the message matters. */
.mr-ty__confetti { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }

@media (max-width: 700px) {
	.mr-ty { padding: 44px var(--mr-pad) 56px; }
	.mr-ty__card { padding: 38px 22px 30px; border-radius: 16px; }
	.mr-ty__tick { width: 76px; height: 76px; }
	.mr-ty__title { font-size: 28px; }
	.mr-ty__lede { font-size: 15.5px; }
	.mr-ty__urgentActions { flex-direction: column; }
	.mr-ty__urgentActions .mr-btn { width: 100%; justify-content: center; }
}
/* No tilt, no confetti, no drawing for anyone who has asked for less motion.
   The card keeps its depth; it simply stops moving. */
@media (prefers-reduced-motion: reduce) {
	.mr-ty[data-celebrating] .mr-ty__tick,
	.mr-ty[data-celebrating] .mr-ty__tickPath { animation: none; }
}

/* --------------------------------------------- sponsor licence checker ---- */
.mr-calc__redirect {
	max-width: 640px; margin: 16px auto 0; padding: 13px 16px;
	background: #fff; border: 1px solid var(--mr-border); border-left: 3px solid var(--mr-gold);
	border-radius: 8px; font-size: 13.5px; line-height: 1.6; color: var(--mr-slate); text-align: left;
}
.mr-calc__redirect strong { display: block; color: var(--mr-navy); margin-bottom: 3px; }
.mr-calc__redirect a { color: var(--mr-navy); font-weight: 600; text-decoration: underline; }
.mr-sponsor__gaps { margin-top: 16px; }
.mr-sponsor__gapsTitle { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--mr-gold); font-weight: 700; margin-bottom: 8px; }
.mr-sponsor__gaps ul { list-style: none; padding: 0; margin: 0; }
.mr-sponsor__gaps li { font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.86); padding: 7px 0 7px 16px; position: relative; border-bottom: 1px solid rgba(255,255,255,.1); }
.mr-sponsor__gaps li:last-child { border-bottom: 0; }
.mr-sponsor__gaps li::before { content: "→"; position: absolute; left: 0; color: var(--mr-gold); }

/* -------------------------------------------------- free tools signpost --- */
.mr-toolsgrid__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(206px, 1fr)); gap: 16px; }
.mr-toolcard {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mr-border);
	border-radius: 12px; padding: 22px; text-decoration: none;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.mr-toolcard:hover { border-color: var(--mr-gold); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(15,32,48,.08); }
.mr-toolcard__icon { display: flex; width: 42px; height: 42px; border-radius: 10px; background: var(--mr-cream-warm); align-items: center; justify-content: center; margin-bottom: 14px; }
.mr-toolcard__title { font-size: 17px; line-height: 1.3; color: var(--mr-navy); margin-bottom: 7px; }
.mr-toolcard__blurb { font-size: 13px; line-height: 1.55; color: var(--mr-slate); flex: 1; }
.mr-toolcard__go { margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--mr-gold); }
@media (max-width: 720px) { .mr-toolsgrid__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .mr-toolsgrid__grid { grid-template-columns: 1fr; } .mr-toolcard { padding: 18px; } }

/* ------------------------------------------- personal injury calculator ---
   A stepped wizard, in the firm's own navy and gold. The card sits on the
   cream section; the header band is navy with a gold progress rule, and the
   body map is a flat diagram rather than a silhouette so the tap targets read
   as targets. One question per screen, and the duration step is dropped from
   the flow entirely outside the whiplash tariff rather than shown and ignored.
   -------------------------------------------------------------------------- */
.mr-wiz {
	max-width: 780px; margin: 0 auto; background: #fff; border: 1px solid var(--mr-border);
	border-radius: 16px; overflow: hidden; box-shadow: 0 18px 44px rgba(15,32,48,.09);
}
.mr-wiz__head { position: relative; background: var(--mr-navy); padding: 20px 26px 22px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.mr-wiz__title { color: #fff; font-size: 19px; }
.mr-wiz__count { color: rgba(255,255,255,.6); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.mr-wiz__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.14); }
.mr-wiz__bar > span { display: block; height: 100%; width: 0; background: var(--mr-gold); transition: width .35s ease; }

.mr-wiz__panel { padding: 30px 26px 34px; }
.mr-wiz__back { background: none; border: 0; color: var(--mr-gold); font-family: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; padding: 0 0 14px; }
.mr-wiz__q { font-size: 25px; line-height: 1.25; color: var(--mr-navy); text-align: center; margin: 0 0 8px; }
.mr-wiz__sub { font-size: 14.5px; line-height: 1.6; color: var(--mr-slate); text-align: center; margin: 0 auto 24px; max-width: 52ch; }
.mr-wiz__note { font-size: 13px; line-height: 1.6; color: var(--mr-slate); text-align: center; margin: 14px auto 0; max-width: 56ch; }

/* Cause cards */
.mr-wiz__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.mr-wiz__card {
	display: flex; flex-direction: column; gap: 5px; text-align: left; cursor: pointer;
	background: var(--mr-cream); border: 1px solid var(--mr-border-warm); border-radius: 12px;
	padding: 18px; font-family: inherit; transition: border-color .15s, transform .15s, background .15s;
}
.mr-wiz__card:hover { border-color: var(--mr-gold); transform: translateY(-2px); }
.mr-wiz__card.is-on { border-color: var(--mr-navy); background: #fff; box-shadow: 0 0 0 2px var(--mr-navy) inset; }
.mr-wiz__cardIcon { display: flex; width: 38px; height: 38px; border-radius: 9px; background: #fff; align-items: center; justify-content: center; margin-bottom: 5px; }
.mr-wiz__cardLabel { font-size: 15px; font-weight: 700; color: var(--mr-navy); }
.mr-wiz__cardNote { font-size: 12.5px; line-height: 1.5; color: var(--mr-slate); }

/* Stacked options */
.mr-wiz__opts { display: flex; flex-direction: column; gap: 9px; }
.mr-wiz__opt {
	text-align: left; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 600;
	color: var(--mr-navy); background: var(--mr-cream); border: 1px solid var(--mr-border-warm);
	border-radius: 10px; padding: 15px 18px; transition: border-color .15s, background .15s;
}
.mr-wiz__opt:hover { border-color: var(--mr-gold); }
.mr-wiz__opt.is-on { border-color: var(--mr-navy); box-shadow: 0 0 0 1px var(--mr-navy) inset; }

.mr-wiz__dateField { max-width: 330px; margin: 0 auto; }
.mr-wiz__dateField label { display: block; font-size: 13px; font-weight: 700; color: var(--mr-navy); margin-bottom: 7px; }
.mr-wiz__or { text-align: center; font-size: 13px; color: var(--mr-mute); margin: 20px 0 10px; }
.mr-wiz__rough { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.mr-wiz__next { display: block; margin: 26px auto 0; min-width: 220px; }
.mr-wiz__check { margin-top: 18px; }

/* Result */
.mr-wiz__panel--result { padding-bottom: 30px; }
.mr-wiz__verdict { text-align: center; margin-bottom: 24px; }
.mr-wiz__verdictDot { display: block; width: 44px; height: 44px; border-radius: 50%; margin: 0 auto 14px; background: var(--mr-gold); }
.mr-wiz__verdictDot[data-state="strong"] { background: #1f8a5b; }
.mr-wiz__verdictDot[data-state="likely"] { background: #2f7fb5; }
.mr-wiz__verdictDot[data-state="maybe"]  { background: var(--mr-gold); }
.mr-wiz__verdictDot[data-state="no"]     { background: #b4472f; }
.mr-wiz__verdict h3 { font-size: 24px; color: var(--mr-navy); margin: 0 0 8px; }
.mr-wiz__verdict p { font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); margin: 0 auto; max-width: 56ch; }

.mr-injury__result { background: var(--mr-navy); border-radius: 14px; padding: 24px; color: #fff; }
.mr-injury__block + .mr-injury__block { border-top: 1px solid rgba(255,255,255,.14); padding-top: 16px; margin-top: 18px; }
.mr-injury__blockHead { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.mr-injury__blockHead > span:first-child { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: rgba(255,255,255,.62); }
.mr-injury__basis { font-size: 11.5px; color: var(--mr-gold); font-weight: 600; }
.mr-injury__figure { font-size: 30px; line-height: 1.15; color: #fff; }
.mr-injury__explain { font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,.72); margin: 8px 0 0; }
.mr-injury__lines { margin-top: 10px; }
.mr-injury__line { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.09); font-size: 13.5px; color: rgba(255,255,255,.82); }
.mr-injury__line:last-child { border-bottom: 0; }
.mr-injury__empty { font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,.6); margin: 6px 0 0; }
.mr-injury__flags { margin-top: 16px; display: flex; flex-direction: column; gap: 9px; }
.mr-injury__flag { font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,.86); margin: 0; background: rgba(211,150,57,.14); border-left: 2px solid var(--mr-gold); border-radius: 0 6px 6px 0; padding: 10px 13px; }

/* The result ends on a CTA; the form itself lives in the booking block
   below, on the shared .mr-ilabook classes. */
.mr-wiz__done { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--mr-border); text-align: center; }
.mr-injury--tail { padding-top: 0; }
.mr-injury--tail:not(:has(noscript)) { display: none; }
.mr-wiz__restart { display: block; margin: 16px auto 0; background: none; border: 0; color: var(--mr-mute); font-family: inherit; font-size: 13px; cursor: pointer; }
.mr-wiz__restart:hover { color: var(--mr-navy); }

/* ---- the body map ---- */
.mr-injury__mapWrap { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.mr-bodymap { height: 340px; width: auto; max-width: 100%; display: block; }
.mr-bodymap__region { cursor: pointer; outline: none; }
.mr-bodymap__region ellipse,
.mr-bodymap__region rect {
	fill: #eee6d8; stroke: #fff; stroke-width: 2;
	transition: fill .15s ease;
}
.mr-bodymap__region:hover ellipse,
.mr-bodymap__region:hover rect { fill: #dfd0b4; }
.mr-bodymap__region.is-on ellipse,
.mr-bodymap__region.is-on rect { fill: var(--mr-gold); }
.mr-bodymap__region:focus-visible ellipse,
.mr-bodymap__region:focus-visible rect { stroke: var(--mr-navy); stroke-width: 2.5; }

.mr-injury__chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.mr-injury__chip {
	border: 1px solid var(--mr-border-warm); background: var(--mr-cream); color: var(--mr-slate);
	padding: 9px 15px; border-radius: 999px; font-family: inherit; font-size: 13.5px; font-weight: 600;
	cursor: pointer; transition: background .15s, border-color .15s, color .15s;
}
.mr-injury__chip:hover { border-color: var(--mr-gold); color: var(--mr-navy); }
.mr-injury__chip.is-on { background: var(--mr-navy); border-color: var(--mr-navy); color: #fff; }

.mr-injury__picked { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 20px; }
.mr-injury__picked-item {
	background: rgba(211,150,57,.16); border: 1px solid var(--mr-gold); color: var(--mr-navy);
	padding: 7px 13px; border-radius: 999px; font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.mr-injury__picked-item:hover { background: rgba(211,150,57,.3); }
.mr-injury__go { flex-basis: 100%; margin-top: 12px; }

.mr-injury__date {
	width: 100%; padding: 12px 14px; font-size: 16px; color: var(--mr-navy); font-family: inherit;
	border: 1px solid var(--mr-border); border-radius: 8px; background: #fff;
}
.mr-injury__care { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mr-injury__care > p { grid-column: 1 / -1; }

@media (max-width: 620px) {
	.mr-bodymap { height: 280px; }
	.mr-wiz__panel { padding: 24px 18px 28px; }
	.mr-wiz__head { padding: 17px 18px 19px; flex-direction: column; align-items: flex-start; gap: 3px; }
	.mr-wiz__q { font-size: 21px; }
	.mr-wiz__cards { grid-template-columns: 1fr; }
	.mr-injury__care { grid-template-columns: 1fr; }
	.mr-injury__result { padding: 18px; }
	.mr-injury__figure { font-size: 25px; }
	.mr-injury__blockHead { flex-direction: column; gap: 2px; }
	.mr-wiz__next { width: 100%; }
}

/* ------------------------------------------------ no win, no fee section ---
   Rendered only where mrv2_nwnf_allowed() is true, so it is a statement about
   this page rather than a site-wide promise. Green rather than gold: it reads
   as reassurance, and it distinguishes it from the CTA bands either side.
   -------------------------------------------------------------------------- */
.mr-nwnfcta { background: #f2f7f4; border-top: 1px solid #d9e7e0; border-bottom: 1px solid #d9e7e0; }
.mr-nwnfcta__inner { max-width: var(--mr-max); margin: 0 auto; padding: 56px var(--mr-pad); }
.mr-nwnfcta__lead { max-width: 62ch; }
.mr-nwnfcta__badge {
	display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #bcd8c9;
	color: #1f8a5b; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	padding: 7px 14px; border-radius: 999px; margin-bottom: 16px;
}
.mr-nwnfcta__lead h2 { font-size: 27px; line-height: 1.25; color: var(--mr-navy); margin: 0 0 12px; }
.mr-nwnfcta__lead p { font-size: 15.5px; line-height: 1.7; color: var(--mr-slate); margin: 0; }

.mr-nwnfcta__points { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mr-nwnfcta__points li { background: #fff; border: 1px solid #dbe8e1; border-radius: 12px; padding: 18px 20px; }
.mr-nwnfcta__points strong { display: block; font-size: 15px; color: var(--mr-navy); margin-bottom: 5px; }
.mr-nwnfcta__points span { font-size: 13.5px; line-height: 1.6; color: var(--mr-slate); }

.mr-nwnfcta__caveat { font-size: 13.5px; line-height: 1.7; color: var(--mr-slate); margin: 22px 0 0; max-width: 78ch; }
.mr-nwnfcta__caveat a { color: var(--mr-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

.mr-nwnfcta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.mr-nwnfcta .mr-btn--ghost { border-color: var(--mr-navy); color: var(--mr-navy); }

@media (max-width: 860px) {
	.mr-nwnfcta__points { grid-template-columns: 1fr; }
	.mr-nwnfcta__inner { padding: 40px var(--mr-pad); }
	.mr-nwnfcta__lead h2 { font-size: 23px; }
	.mr-nwnfcta__actions .mr-btn { width: 100%; text-align: center; }
}

/* ==========================================================================
   PAID LANDING PAGE — /campaign/independent-legal-advice/
   Template: page-campaign-ila.php

   Namespaced mr-lp* / mr-lphead / mr-lpfoot so it cannot collide with the
   organic ILA page's mr-ila* rules. That collision is not hypothetical: the
   later light calculators shared the .mr-calc namespace with the dark one and
   rendered white text on a cream panel on the live site for weeks.

   The page is a single column on a phone, form first below the pitch; two
   columns from 900px with the form pinned beside the copy so it is visible
   without scrolling on a laptop.
   ========================================================================== */

/* ---- Slim landing header ---- */
.mr-lphead {
	background: var(--mr-navy);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.mr-lphead__inner {
	max-width: var(--mr-max);
	margin: 0 auto;
	padding: 14px var(--mr-pad);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.mr-lphead__logo { text-decoration: none; color: #fff; }
.mr-lphead__logo .mr-wordmark { display: block; line-height: 1; }
.mr-lphead__logo .mr-serif { font-size: 25px; letter-spacing: .01em; color: #fff; }
.mr-lphead__logo .mr-serif span { color: var(--mr-gold); }
.mr-lphead__logo .mr-wordmark__sub {
	display: block;
	font-size: 10px;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--mr-light);
	margin-top: 4px;
}
.mr-lphead__right { display: flex; align-items: center; gap: 18px; }
.mr-lphead__sra {
	display: none;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: var(--mr-light);
}
.mr-lphead__call { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }

@media (min-width: 700px) {
	.mr-lphead__sra { display: inline-flex; }
}

/* ---- Hero ---- */
.mr-lp__hero {
	background: linear-gradient(180deg, var(--mr-navy) 0%, var(--mr-navy-deep) 100%);
	color: #fff;
	padding: 44px 0 52px;
}
.mr-lp__heroInner {
	max-width: var(--mr-max);
	margin: 0 auto;
	padding: 0 var(--mr-pad);
	display: grid;
	gap: 32px;
}
.mr-lp__eyebrow {
	margin: 0 0 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mr-gold);
}
.mr-lp__h1 {
	margin: 0 0 18px;
	font-size: clamp(30px, 5.2vw, 50px);
	line-height: 1.08;
	font-weight: 400;
	color: #fff;
}
.mr-lp__h1 span { display: block; font-style: italic; color: var(--mr-gold-soft); }
.mr-lp__lede {
	margin: 0 0 22px;
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--mr-lighter);
	max-width: 56ch;
}
.mr-lp__heroList { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 11px; }
.mr-lp__heroList li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	color: #fff;
}
.mr-lp__tick {
	flex: 0 0 21px;
	height: 21px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .93);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
}
.mr-lp__heroCall { border-top: 1px solid rgba(255, 255, 255, .13); padding-top: 20px; }
.mr-lp__phone {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.mr-lp__phone > span:last-child { display: block; }
.mr-lp__phone span[aria-hidden], .mr-lp__phone svg { flex: 0 0 auto; }
.mr-lp__phone strong { display: block; color: #fff; font-size: 21px; letter-spacing: .01em; }
.mr-lp__phone small { display: block; color: var(--mr-light); font-size: 12px; margin-top: 2px; }
.mr-lp__phone svg { background: var(--mr-gold); border-radius: 50%; padding: 9px; box-sizing: content-box; }

/* ---- The form card ---- */
.mr-lp__formCard {
	background: #fff;
	color: var(--mr-ink);
	border-radius: 4px;
	padding: 26px 22px 22px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
	scroll-margin-top: 20px;
}
.mr-lp__formH { margin: 0 0 8px; font-size: 24px; font-weight: 400; }
.mr-lp__formLede { margin: 0 0 18px; font-size: 14px; line-height: 1.6; color: var(--mr-slate); }
.mr-lp__formNote {
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--mr-border);
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--mr-slate);
}
.mr-lp__fallback { margin: 0 0 14px; font-size: 14.5px; line-height: 1.6; }

@media (min-width: 900px) {
	.mr-lp__hero { padding: 60px 0 68px; }
	.mr-lp__heroInner { grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: start; }
	.mr-lp__formCard { padding: 30px 28px 26px; }
}

/* ---- Proof row ---- */
.mr-lp__proof { background: var(--mr-cream-warm); border-bottom: 1px solid var(--mr-border-warm); }
.mr-lp__proofInner {
	max-width: var(--mr-max);
	margin: 0 auto;
	padding: 30px var(--mr-pad);
	display: grid;
	gap: 24px;
}
.mr-lp__proofItem h3 { margin: 10px 0 6px; font-size: 17px; font-weight: 400; }
.mr-lp__proofItem p { margin: 0; font-size: 14px; line-height: 1.62; color: var(--mr-slate); }
.mr-lp__proofIcon { display: inline-flex; }

@media (min-width: 800px) {
	.mr-lp__proofInner { grid-template-columns: repeat(3, 1fr); gap: 34px; padding: 36px var(--mr-pad); }
}

/* ---- Body sections ---- */
.mr-lp__section { padding: 46px 0; }
.mr-lp__section--tint { background: var(--mr-cream-warm); }
.mr-lp__wrap { max-width: var(--mr-max); margin: 0 auto; padding: 0 var(--mr-pad); }
.mr-lp__wrap--narrow { max-width: 860px; }
.mr-lp__h2 {
	margin: 0 0 12px;
	font-size: clamp(24px, 3.4vw, 34px);
	font-weight: 400;
	line-height: 1.2;
}
.mr-lp__sectionLede {
	margin: 0 0 28px;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--mr-slate);
	max-width: 62ch;
}

/* ---- Document cards (one per ad group) ---- */
.mr-lp__docs { display: grid; gap: 16px; }
.mr-lp__doc {
	background: #fff;
	border: 1px solid var(--mr-border);
	border-left: 3px solid var(--mr-gold);
	border-radius: 3px;
	padding: 20px 20px 18px;
}
.mr-lp__doc h3 { margin: 0 0 8px; font-size: 17.5px; font-weight: 400; }
.mr-lp__doc p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); }

@media (min-width: 720px) { .mr-lp__docs { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .mr-lp__docs { grid-template-columns: repeat(3, 1fr); } }

/* ---- Steps ---- */
.mr-lp__steps { list-style: none; margin: 0 0 34px; padding: 0; display: grid; gap: 22px; counter-reset: none; }
.mr-lp__step { background: #fff; border: 1px solid var(--mr-border); border-radius: 3px; padding: 20px; }
.mr-lp__stepNum {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--mr-navy);
	color: var(--mr-gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	margin-bottom: 12px;
}
.mr-lp__step h3 { margin: 0 0 7px; font-size: 17px; font-weight: 400; }
.mr-lp__step p { margin: 0; font-size: 14.5px; line-height: 1.62; color: var(--mr-slate); }

@media (min-width: 760px) { .mr-lp__steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .mr-lp__steps { grid-template-columns: repeat(4, 1fr); } }

.mr-lp__bring { background: #fff; border: 1px solid var(--mr-border); border-radius: 3px; padding: 22px; }
.mr-lp__bring h3 { margin: 0 0 12px; font-size: 18px; font-weight: 400; }
.mr-lp__bring ul { margin: 0; padding-left: 20px; display: grid; gap: 9px; }
.mr-lp__bring li { font-size: 14.5px; line-height: 1.6; color: var(--mr-slate); }
.mr-lp__bring strong { color: var(--mr-ink); }

/* ---- Questions ---- */
.mr-lp__faq { display: grid; gap: 10px; }
.mr-lp__faqItem { background: #fff; border: 1px solid var(--mr-border); border-radius: 3px; }
.mr-lp__faqItem summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	cursor: pointer;
	font-size: 16px;
	list-style: none;
}
.mr-lp__faqItem summary::-webkit-details-marker { display: none; }
.mr-lp__faqItem[open] summary { border-bottom: 1px solid var(--mr-border); }
.mr-lp__faqItem[open] summary svg { transform: rotate(180deg); }
.mr-lp__faqItem summary svg { transition: transform .18s ease; }
.mr-lp__faqA { padding: 15px 18px 18px; font-size: 14.5px; line-height: 1.7; color: var(--mr-slate); }

/* ---- Closing CTA ---- */
.mr-lp__cta { background: var(--mr-navy); color: #fff; padding: 50px 0; text-align: center; }
.mr-lp__ctaInner { max-width: 720px; margin: 0 auto; padding: 0 var(--mr-pad); }
.mr-lp__cta h2 { margin: 0 0 10px; font-size: clamp(24px, 3.6vw, 34px); font-weight: 400; }
.mr-lp__cta p { margin: 0 0 24px; font-size: 16px; line-height: 1.6; color: var(--mr-lighter); }
.mr-lp__ctaActions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ---- Phone sticky bar ---- */
.mr-lp__sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: flex;
	background: var(--mr-navy);
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
	gap: 8px;
}
.mr-lp__sticky a {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 10px;
	border-radius: 3px;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}
.mr-lp__stickyReq { background: var(--mr-gold); color: #fff; }
.mr-lp__stickyCall { background: rgba(255, 255, 255, .1); color: #fff; }

@media (min-width: 800px) { .mr-lp__sticky { display: none; } }

/* The bar sits over the footer on a phone, so give the page room beneath it. */
@media (max-width: 799px) { .mr-lpfoot { padding-bottom: 74px; } }

/* ---- Slim landing footer ---- */
.mr-lpfoot { background: var(--mr-navy-deep); color: var(--mr-light); }
.mr-lpfoot__inner { max-width: var(--mr-max); margin: 0 auto; padding: 26px var(--mr-pad); }
.mr-lpfoot__legal { margin: 0 0 12px; font-size: 12px; line-height: 1.7; }
.mr-lpfoot__links { margin: 0; display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; }
.mr-lpfoot a { color: var(--mr-light); }
.mr-lpfoot a:hover { color: var(--mr-gold); }

/* ---- ILA service page: further reading ---- */
.mr-ilaread { background: var(--mr-cream-warm); border-top: 1px solid var(--mr-border-warm); }
.mr-ilaread__inner { max-width: var(--mr-max); margin: 0 auto; padding: 30px var(--mr-pad); }
.mr-ilaread__kicker {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mr-gold-dark);
}
.mr-ilaread__link {
	display: block;
	background: #fff;
	border: 1px solid var(--mr-border);
	border-left: 3px solid var(--mr-gold);
	border-radius: 3px;
	padding: 18px 20px;
	text-decoration: none;
	color: var(--mr-ink);
}
.mr-ilaread__link:hover { border-color: var(--mr-gold); color: var(--mr-ink); }
.mr-ilaread__link .mr-serif { display: block; font-size: 19px; line-height: 1.3; }
.mr-ilaread__blurb { display: block; margin-top: 7px; font-size: 14.5px; line-height: 1.6; color: var(--mr-slate); }

/* ---- Landing page: hook, why, timeline, cost ---- */
.mr-lp__hook { background: var(--mr-navy); color: #fff; }
.mr-lp__hookInner { max-width: 900px; margin: 0 auto; padding: 30px var(--mr-pad); }
.mr-lp__hookInner p { margin: 0; font-size: 17px; line-height: 1.7; color: var(--mr-lighter); }
.mr-lp__hookInner strong { color: var(--mr-gold-soft); font-size: 19px; }

.mr-lp__why { display: grid; gap: 28px; }
.mr-lp__whyCopy p { margin: 0 0 15px; font-size: 15.5px; line-height: 1.72; color: var(--mr-slate); max-width: 62ch; }
.mr-lp__whyCopy em { color: var(--mr-ink); }
.mr-lp__whyMore a { font-weight: 600; }
.mr-lp__whyAside {
	background: var(--mr-cream-warm);
	border-left: 3px solid var(--mr-gold);
	border-radius: 3px;
	padding: 20px;
	align-self: start;
}
.mr-lp__whyAside h3 { margin: 0 0 9px; font-size: 17px; font-weight: 400; }
.mr-lp__whyAside p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); }

@media (min-width: 960px) { .mr-lp__why { grid-template-columns: 1.55fr 1fr; gap: 44px; } }

.mr-lp__timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.mr-lp__stage {
	background: #fff;
	border: 1px solid var(--mr-border);
	border-radius: 3px;
	padding: 18px 20px;
}
.mr-lp__stageWhen {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mr-gold-dark);
}
.mr-lp__stage p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--mr-slate); }

@media (min-width: 900px) { .mr-lp__timeline { grid-template-columns: repeat(4, 1fr); } }

.mr-lp__cost { display: grid; gap: 26px; }
.mr-lp__costList { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.mr-lp__costList li { display: flex; align-items: flex-start; gap: 10px; font-size: 15.5px; line-height: 1.55; }
.mr-lp__costList span {
	flex: 0 0 21px;
	height: 21px;
	border-radius: 50%;
	background: var(--mr-cream-warm);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
}
.mr-lp__costNotes {
	background: var(--mr-navy);
	color: var(--mr-lighter);
	border-radius: 3px;
	padding: 22px;
	align-self: start;
}
.mr-lp__costNotes p { margin: 0 0 12px; font-size: 14px; line-height: 1.65; }
.mr-lp__costNotes .mr-btn { margin-top: 6px; }

@media (min-width: 900px) { .mr-lp__cost { grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; } }
