/* Shared visual recipes. Behavioural navigation/carousels still use the homepage implementation. */
.ml-button { display:inline-flex;align-items:center;justify-content:center;gap:var(--ml-button-gap);min-height:var(--ml-button-height);padding:var(--ml-button-padding-y) var(--ml-button-padding-x);border:var(--ml-stroke-hairline) solid var(--ml-button-border);border-radius:var(--ml-radius-control);font:var(--ml-type-button-weight) var(--ml-type-button-size)/var(--ml-type-button-line) var(--ml-type-button-family);letter-spacing:var(--ml-type-button-tracking);white-space:nowrap;backdrop-filter:blur(var(--ml-blur-control));-webkit-backdrop-filter:blur(var(--ml-blur-control));position:relative;isolation:isolate;overflow:hidden;transition:color var(--ml-duration-button),border-color var(--ml-duration-button),background-color var(--ml-duration-button),box-shadow var(--ml-duration-button); }
.ml-button::before { content:"";position:absolute;inset:0;background:var(--ml-color-blue);z-index:-1;transform:translateY(102%);transition:transform var(--ml-duration-button-fill) var(--ml-ease-editorial); }
.ml-button:hover:not(:disabled) { color:var(--ml-color-ink);border-color:var(--ml-color-blue);box-shadow:var(--ml-shadow-hover); }
.ml-button:hover:not(:disabled)::before { transform:translateY(0); }
.ml-button-solid { background:var(--ml-button-fill-solid);color:var(--ml-color-ink); }
.ml-button-header { min-height:var(--ml-button-header-height);padding-block:var(--ml-button-header-padding-y); }
.ml-button:disabled { cursor:default;opacity:var(--ml-opacity-muted); } /* Disabled opacity is a documented extension. */
.ml-text-link { display:inline-flex;align-items:center;gap:var(--ml-space-10);font-size:var(--ml-type-button-size);line-height:var(--ml-type-button-line);white-space:nowrap; }
.ml-text-link img { transition:transform var(--ml-duration-standard) var(--ml-ease-editorial); }
.ml-text-link:hover img { transform:translateX(var(--ml-hover-text-arrow-x)); }
.ml-logo { display:block;position:relative;width:var(--ml-logo-width);height:var(--ml-logo-height);flex-shrink:0; }
.ml-logo-symbol { position:absolute;left:var(--ml-logo-symbol-left);top:var(--ml-logo-symbol-top);width:var(--ml-logo-symbol-width);height:var(--ml-logo-symbol-height); }
.ml-logo-maguire { position:absolute;left:var(--ml-logo-maguire-left);top:var(--ml-logo-maguire-top);width:var(--ml-logo-maguire-width);height:var(--ml-logo-maguire-height); }
.ml-logo-legal { position:absolute;left:var(--ml-logo-legal-left);top:var(--ml-logo-legal-top);width:var(--ml-logo-legal-width);height:var(--ml-logo-legal-height); }
.ml-media { overflow:hidden;border-radius:var(--ml-radius-media); }
.ml-media>img { width:100%;height:100%;object-fit:cover; }
.ml-practice-card { position:relative;display:block;width:var(--ml-practice-width);max-width:100%;height:var(--ml-practice-height);overflow:hidden;border-radius:var(--ml-radius-media);isolation:isolate;color:var(--ml-color-white); }
.ml-practice-image { position:absolute;inset:-5.58% -1.72% -5.58% -3.44%;z-index:-3;transition:transform var(--ml-duration-image-hover) var(--ml-ease-editorial); }
.ml-practice-image img { width:100%;height:100%;object-fit:cover; }
.ml-practice-blur { position:absolute;inset:0;z-index:-2;backdrop-filter:blur(var(--ml-blur-control));-webkit-backdrop-filter:blur(var(--ml-blur-control));mask-image:var(--ml-mask-practice-blur);pointer-events:none; }
.ml-practice-card::after { content:"";position:absolute;inset:0;z-index:-1;background:var(--ml-gradient-practice);pointer-events:none; }
.ml-practice-copy { padding:var(--ml-practice-padding);max-width:498px; }
.ml-practice-copy h3 { font:var(--ml-type-practice-title-weight) var(--ml-type-practice-title-size)/var(--ml-type-practice-title-line) var(--ml-type-practice-title-family); }
.ml-practice-copy p { font-size:16px;line-height:24px;font-weight:var(--ml-weight-light);margin-top:var(--ml-space-25); }
.ml-arrow-tile { position:absolute;bottom:var(--ml-arrow-tile-inset);right:var(--ml-arrow-tile-inset);width:var(--ml-arrow-tile-size);height:var(--ml-arrow-tile-size);transition:transform var(--ml-duration-arrow) var(--ml-ease-editorial); }
.ml-practice-card:hover .ml-practice-image { transform:scale(var(--ml-hover-image-scale)); }
.ml-practice-card:hover .ml-arrow-tile { transform:translate(var(--ml-hover-arrow-x),var(--ml-hover-arrow-y)); }
.ml-person-card { display:block;height:var(--ml-person-height);border-radius:var(--ml-radius-media);overflow:hidden;position:relative;isolation:isolate;color:var(--ml-color-white); }
.ml-person-card>img { position:absolute;width:103.4%;max-width:none;height:103.27%;left:-1.7%;top:-1.63%;object-fit:cover;transition:transform var(--ml-duration-image-hover) var(--ml-ease-editorial);z-index:-3; }
.ml-person-card:hover>img { transform:scale(var(--ml-hover-image-scale)); }
.ml-person-card::after { content:"";position:absolute;inset:calc(100% - 150px) 0 0;background:var(--ml-gradient-person);z-index:-1; }
.ml-person-blur { position:absolute;inset:55% 0 0;backdrop-filter:blur(var(--ml-blur-portrait));-webkit-backdrop-filter:blur(var(--ml-blur-portrait));mask-image:linear-gradient(transparent,#000 90%);z-index:-2; }
.ml-person-caption { position:absolute;bottom:0;inset-inline:0;padding:var(--ml-person-padding); }
.ml-person-caption h3 { font:var(--ml-type-person-name-weight) var(--ml-type-person-name-size)/var(--ml-type-person-name-line) var(--ml-type-person-name-family);margin-bottom:var(--ml-space-5); }
.ml-person-meta { display:flex;gap:var(--ml-space-10);align-items:end;justify-content:space-between;font-size:14px;line-height:21px;font-weight:var(--ml-weight-light); }
.ml-person-meta p { color:var(--ml-color-blue); }
.ml-person-meta span { color:var(--ml-color-white-50);white-space:nowrap;transition:color var(--ml-duration-fast); }
.ml-person-card:hover .ml-person-meta span { color:var(--ml-color-white); }
.ml-insight-art { height:var(--ml-insight-image-height);border-radius:var(--ml-radius-media);background:var(--ml-color-white);overflow:hidden;position:relative;transition:background var(--ml-duration-standard); }
.ml-insight-card h3 { font:var(--ml-type-insight-title-weight) var(--ml-type-insight-title-size)/var(--ml-type-insight-title-line) var(--ml-type-insight-title-family);margin-top:var(--ml-space-20); }
.ml-insight-card p { font-size:16px;line-height:24px;margin-top:var(--ml-space-15); }
.ml-insight-card time { display:block;font-size:var(--ml-type-date-size);line-height:var(--ml-type-date-line);color:var(--ml-text-secondary);margin-top:var(--ml-space-20); }
/* Text is content-driven here; homepage's two-line truncation is not inherited on new pages. */
.ml-accordion details { box-shadow:inset 0 calc(-1 * var(--ml-stroke-hairline)) var(--ml-rule); }
.ml-accordion details:last-child { box-shadow:none; }
.ml-accordion summary { list-style:none;cursor:pointer;font-size:var(--ml-accordion-title-size);line-height:var(--ml-accordion-title-line);padding-block:var(--ml-accordion-row-padding);color:var(--ml-text-secondary); }
.ml-accordion summary::-webkit-details-marker { display:none; }
.ml-accordion details:first-child summary { padding-top:0; }
.ml-accordion details:last-child:not([open]) summary { padding-bottom:0; }
.ml-accordion details[open] summary { padding-bottom:var(--ml-accordion-open-gap);color:var(--ml-text); }
.ml-accordion summary:hover { color:var(--ml-text); }
.ml-accordion details>div { font-size:var(--ml-accordion-body-size);line-height:var(--ml-accordion-body-line);padding-bottom:var(--ml-accordion-row-padding); }
@media(max-width:1199px){ .ml-person-meta { font-size:12px;gap:var(--ml-space-5); } }
@media(max-width:959px){ .ml-person-meta { display:block; }.ml-person-meta span { display:inline-block;margin-top:var(--ml-space-8); }.ml-insight-card p { font-size:14px; } }
@media(max-width:639px){ .ml-practice-copy{max-width:100%}.ml-practice-copy p{font-size:15px;line-height:23px;margin-top:var(--ml-space-20)}.ml-person-meta{display:flex;font-size:12px}.ml-person-meta span{margin:0}.ml-insight-card p{font-size:15px} }
