.will-legal { background: var(--paper); color: var(--text); }

/* Align the legal-page lead with the site-wide page hero. */
.will-legal__hero { position: relative; overflow: hidden; padding: 0; background: #08274e; color: #fff; }
.will-legal__hero .will-shell { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: min(1440px, calc(100% - 40px)); min-height: 300px; margin: auto; padding: 54px 0; }
.will-legal__hero .will-shell::after { position: absolute; top: 25px; right: 55px; width: 250px; height: 250px; background: url('../../images/logo.png') center / contain no-repeat; filter: brightness(0) invert(1); opacity: .14; content: ''; pointer-events: none; }
.will-legal__eyebrow, .will-legal__kicker { margin: 0 0 10px; color: #d9bd84; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.will-legal__hero h1 { max-width: 880px; margin: 0; color: #fff; font: 600 clamp(36px, 4.3vw, 57px) / 1.45 'Shippori Mincho', serif; }
.will-legal__hero p:last-child { max-width: 720px; margin: 16px 0 0; color: rgb(255 255 255 / 80%); font-size: 18px; }
.will-legal__layout { display: block; padding-top: 72px; padding-bottom: 88px; }
.will-legal__toc { align-self: start; border-top: 1px solid var(--gold); }
.will-legal__toc p { margin: 14px 0; color: var(--gold); font-weight: 700; font-size: 12px; letter-spacing: .14em; }
.will-legal__toc a { display: block; padding: 15px 10px; border-bottom: 1px solid var(--line); color: var(--navy); font: 700 16px/1.5 'Shippori Mincho', serif; text-decoration: none; }
.will-legal__toc a::before { margin-right: 8px; color: var(--gold); content: '→'; }
.will-legal__body { padding: clamp(28px, 4vw, 54px); border-top: 3px solid var(--gold); background: #fff; }
.will-legal__body section > :first-child { margin-top: 0; }
.will-legal__body h2 { margin: 0 0 30px; color: var(--navy); font: 600 clamp(27px, 3vw, 39px) / 1.5 'Shippori Mincho', serif; }
.will-legal__body h3 { margin: 40px 0 14px; padding-left: 14px; border-left: 3px solid var(--gold); color: var(--navy); font: 600 23px/1.55 'Shippori Mincho', serif; }
.will-legal__body h4 { margin: 26px 0 12px; color: var(--navy); font: 600 19px/1.6 'Shippori Mincho', serif; }
.will-legal__body p, .will-legal__body li { color: var(--muted); font-size: 16px; line-height: 1.95; }
.will-legal__body ul { margin: 14px 0; padding: 0; list-style: none; }
.will-legal__body li { position: relative; padding-left: 24px; }
.will-legal__body li::before { position: absolute; left: 2px; color: var(--gold); content: '✓'; }
.will-legal__company { margin: -13px 0 28px !important; color: var(--navy) !important; font: 600 20px/1.6 'Shippori Mincho', serif; }
.will-legal__notice { margin-top: 30px; padding: 20px 22px; border-left: 3px solid var(--gold); background: var(--paper); }
.will-legal__notice strong { color: var(--navy); font-family: 'Shippori Mincho', serif; }
.will-legal__notice a { color: var(--navy); overflow-wrap: anywhere; }
@media (max-width: 900px) { .will-legal__hero .will-shell { width: min(100% - 40px, 1440px); min-height: 0; padding: 44px 0; } .will-legal__hero .will-shell::after { top: 48px; right: -24px; width: 170px; height: 170px; } .will-legal__hero h1 { font-size: clamp(34px, 9vw, 42px); } .will-legal__hero p:last-child { font-size: 17px; } .will-legal__layout { padding: 42px 0 54px; } .will-legal__toc { display: none; } .will-legal__body { padding: 27px 20px; } .will-legal__body h3 { margin-top: 31px; font-size: 21px; } .will-legal__body p, .will-legal__body li { font-size: 15px; } }

/*
 * Legal pages are rendered through a block template, while the primary pages
 * render their approved static bodies. Keep the shared header above the long
 * legal copy so it has the same persistent behavior on every page type.
 */
body:has(.will-legal) .will-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 100;
}
body:has(.will-legal) .entry-content {
	padding-top: 78px;
}
@media (max-width: 900px) {
	body:has(.will-legal) .entry-content {
		padding-top: 112px;
	}
	body:has(.will-legal) .will-header .will-menu-toggle {
		display: grid;
		place-content: center;
		padding: 0;
	}
	body:has(.will-legal) .will-header .will-navigation {
		position: fixed;
		top: 112px;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 101;
		height: calc(100dvh - 112px);
	}
}
