/*
Theme Name: LFW Professional
Theme URI: https://lfw.com/
Author: LFW.com LLC
Author URI: https://lfw.com/
Description: A block theme for law, accounting and advisory firms. A one-sentence hero with the latest updates beside it, people grouped by role with portraits and languages, profiles with a contact block, practice area pages with key contacts, process steps and representative matters, a dated updates index with category and author filters, and an accessible consultation request. Style variations change the firm's typefaces, colors and button shape on the same components. Built for WCAG 2.2 AA. People, practice areas, bylines and forms come from the optional LFW Professional Blocks plugin.
Version: 0.1.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lfw-professional
Tags: block-patterns, block-styles, full-site-editing, style-variations, accessibility-ready, blog, news, wide-blocks, custom-colors, editor-style, translation-ready
*/

/* Tokens come from theme.json (and the active style variation). The short
   names below keep the component rules readable. */
:root{
  --paper:var(--wp--preset--color--paper); --stone:var(--wp--preset--color--stone); --ink:var(--wp--preset--color--ink);
  --muted:var(--wp--preset--color--muted); --rule:var(--wp--preset--color--rule); --accent:var(--wp--preset--color--accent);
  --accent-deep:var(--wp--preset--color--accent-deep); --mist:var(--wp--preset--color--mist); --on-deep:var(--wp--preset--color--on-deep);
  --on-deep-muted:var(--wp--preset--color--on-deep-muted); --amber-bg:var(--wp--preset--color--notice-bg); --amber-ink:var(--wp--preset--color--notice-ink);
  --amber-line:var(--wp--preset--color--notice-line); --focus:var(--wp--preset--color--focus);
  --serif-d:var(--wp--preset--font-family--display); --serif:var(--wp--preset--font-family--serif); --sans:var(--wp--preset--font-family--sans);
  --btn-radius:var(--wp--custom--button-radius); --hw:var(--wp--custom--heading-weight);
  --wrap:1200px; --gutter:32px;
}
  *{box-sizing:border-box}
  img{max-width:100%;display:block}
  html{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-size-adjust:100%}
  body{margin:0;font-size:var(--wp--custom--body-size);line-height:1.6;background:var(--paper)}
  a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
  a:hover{text-decoration-thickness:2px}
  h1,h2,h3{font-weight:var(--hw);letter-spacing:0;margin:0}
  p{margin:0}
  .wrap{max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
  .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .skip{position:absolute;left:12px;top:-60px;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;z-index:99;font-weight:600}
  .skip:focus{top:10px}
  :focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
  .arrow{display:inline-block;margin-left:2px;transition:transform .15s}
  a:hover .arrow{transform:translateX(3px)}

  /* Utility row */
  .util{background:var(--stone);font-size:14px;color:var(--muted)}
  .util .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px}
  .util ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
  .util a{color:var(--ink);text-decoration:none;font-weight:500}
  .util a:hover{text-decoration:underline}
  .util .tel{font-weight:600}
  .lang{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
  .lang select{font:inherit;font-size:14px;color:var(--ink);background:transparent;border:0;padding:4px 18px 4px 0;appearance:none;cursor:pointer;
    background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
    background-position:right 5px center,right 0 center;background-size:5px 5px;background-repeat:no-repeat}

  /* Dated update strip */
  .notice{background:var(--amber-bg);color:var(--amber-ink);border-bottom:1px solid var(--amber-line);font-size:15px}
  .notice .wrap{display:flex;align-items:baseline;gap:14px;padding-top:11px;padding-bottom:11px}
  .notice time{font-weight:600;white-space:nowrap}
  .notice a{color:var(--amber-ink);font-weight:600}

  /* Header */
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:96px}
  .brand{display:flex;align-items:baseline;gap:16px;text-decoration:none;color:var(--ink)}
  .brand .name{font-family:var(--serif-d);font-size:32px;line-height:1;white-space:nowrap}
  .brand .name small{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.08em;margin-left:8px;color:var(--muted)}
  nav.main{display:flex;align-items:center;gap:34px}
  nav.main ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
  nav.main ul a{color:var(--ink);text-decoration:none;font-size:16px;font-weight:500;padding:8px 0;white-space:nowrap;border-bottom:2px solid transparent}
  nav.main ul a:hover{border-bottom-color:var(--accent)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--btn-radius);background:var(--accent);color:#fff;font-weight:600;font-size:16px;text-decoration:none;border:1.5px solid var(--accent);white-space:nowrap}
  .btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
  .btn.ghost{background:transparent;color:var(--accent)}
  .btn.ghost:hover{background:var(--mist)}
  .btn.small{min-height:42px;padding:0 20px;font-size:15px}
  .menu-btn{display:none}

  /* Hero: one sentence, one action, updates beside it */
  .hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:88px;padding-top:64px;padding-bottom:64px;align-items:start}
  .eyebrow{font-size:15px;font-weight:600;color:var(--accent);margin-bottom:18px}
  .hero h1{font-family:var(--serif-d);font-size:58px;line-height:1.08;max-width:15ch;text-wrap:balance}
  .hero .lede{font-size:19px;line-height:1.6;max-width:56ch;margin-top:26px;color:var(--ink)}
  .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
  .hero .langs{margin-top:22px;font-size:15px;color:var(--muted)}
  .updates h2{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--ink)}
  .updates ol{list-style:none;margin:0;padding:0}
  .updates li{padding:18px 0;border-bottom:1px solid var(--rule)}
  .updates .meta{display:flex;gap:10px;font-size:14px;color:var(--muted);margin-bottom:5px}
  .updates .meta span{color:var(--accent);font-weight:600}
  .updates li a{font-family:var(--serif);font-size:18px;line-height:1.4;color:var(--ink);text-decoration:none}
  .updates li a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
  .updates .more{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;font-size:15px;font-weight:600}
  .updates .more a{text-decoration:none}
  .updates .more a:hover .lbl{text-decoration:underline}

  /* Photograph */
  .plate{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#d9cfc2}
  .plate img{width:100%;height:420px;object-fit:cover;object-position:center 30%}
  .credit{position:absolute;left:16px;bottom:16px;background:rgba(20,22,25,.74);color:#fff;font-size:14px;line-height:1.4;padding:8px 12px;border-radius:8px;max-width:calc(100% - 32px)}
  .credit b{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
  .credit a{color:#fff}

  /* Sections */
  section.block{padding:104px 0 0}
  .sec-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}
  .sec-head h2{font-family:var(--serif-d);font-size:42px;line-height:1.12}
  .sec-head p{color:var(--muted);max-width:52ch;margin-top:12px}
  .sec-head > a{font-weight:600;text-decoration:none;white-space:nowrap;font-size:16px}
  .sec-head > a:hover .lbl{text-decoration:underline}

  /* Who we help: three comparable cards */
  .paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .paths > li{background:var(--stone);border-radius:20px;padding:34px 32px 32px;display:flex;flex-direction:column}
  .paths h3{font-family:var(--serif);font-size:25px;line-height:1.25}
  .paths p{color:var(--muted);margin-top:10px;font-size:16px}
  .paths ul{list-style:none;margin:22px 0 28px;padding:0;border-top:1px solid var(--rule)}
  .paths ul li{border-bottom:1px solid var(--rule)}
  .paths ul a{display:flex;justify-content:space-between;gap:12px;padding:11px 0;color:var(--ink);text-decoration:none;font-size:16px}
  .paths ul a::after{content:"\2192";color:var(--accent)}
  .paths ul a:hover{color:var(--accent)}
  .paths .go{margin-top:auto;font-weight:600;text-decoration:none;font-size:16px}
  .paths .go:hover .lbl{text-decoration:underline}

  /* Attorneys: portrait roster grouped by role */
  .roster{border-top:1px solid var(--ink)}
  .group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding:40px 0 44px;border-bottom:1px solid var(--rule)}
  .group h3{font-family:var(--serif);font-size:22px;line-height:1.3}
  .group h3 span{display:block;font-family:var(--sans);font-size:14px;color:var(--muted);margin-top:4px}
  .people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
  .people li{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-content:start}
  .people .ph{margin:0 0 18px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--stone)}
  .people .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.94)}
  .people a.nm{justify-self:start;font-family:var(--serif);font-size:21px;line-height:1.3;color:var(--ink);text-decoration:none}
  .people a.nm:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}
  .people .role{font-size:15px;color:var(--ink);margin-top:4px;line-height:1.5;max-width:30ch}
  .people .lang-line{align-self:start;font-size:14px;color:var(--muted);margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);line-height:1.5}
  .people .lang-line b{font-weight:600;color:var(--ink)}
  .roster-note{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:22px;font-size:15px;color:var(--muted)}
  .roster-note a{font-weight:600;text-decoration:none}
  .roster-note a:hover .lbl{text-decoration:underline}

  /* The firm: three facts */
  .facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .facts li{border-top:2px solid var(--accent);padding-top:22px}
  .facts .k{font-family:var(--serif-d);font-size:34px;line-height:1.1;color:var(--accent)}
  .facts h3{font-family:var(--sans);font-size:17px;font-weight:600;margin-top:10px}
  .facts p{color:var(--muted);margin-top:6px;font-size:16px;max-width:36ch}

  /* Closing band */
  .close{margin-top:112px;background:var(--stone)}
  .close .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}
  .close h2{font-family:var(--serif-d);font-size:40px;line-height:1.15}
  .close p{color:var(--muted);margin-top:12px;max-width:58ch}
  .close .act{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .close .act .tel{font-size:16px;color:var(--ink)}
  .close .act .tel a{color:var(--ink);font-weight:600}

  /* Footer */
  footer{background:var(--accent-deep);color:var(--on-deep)}
  footer .wrap{padding-top:64px;padding-bottom:40px}
  footer .cols{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px}
  footer .fname{font-family:var(--serif-d);font-size:28px;line-height:1.1}
  footer p,footer li{font-size:15px;color:var(--on-deep-muted)}
  footer address{font-style:normal;margin-top:16px;font-size:15px;color:var(--on-deep-muted);line-height:1.6}
  footer h2{font-family:var(--sans);font-size:15px;font-weight:600;color:#fff;margin-bottom:12px}
  footer ul{list-style:none;margin:0;padding:0}
  footer li{margin:8px 0}
  footer a{color:#fff;text-decoration:none}
  footer a:hover{text-decoration:underline}
  footer .legal{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);display:grid;gap:10px;font-size:14px;color:var(--on-deep-muted);max-width:92ch}
  footer .legal p{font-size:14px}
  footer .legal b{color:#fff;font-weight:600}
  footer .fiction{margin-top:14px;color:#fff}
  footer .fiction a{text-decoration:underline}
  footer .photo-credit a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.5)}

  @media (max-width:1180px){
    nav.main ul{gap:20px}
  }
  @media (max-width:980px){
    :root{--gutter:24px}
    nav.main ul,nav.main .btn{display:none}
    .menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:1px solid var(--rule);border-radius:var(--btn-radius);padding:0 18px;font:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
    .hero .wrap{grid-template-columns:1fr;gap:48px}
    .paths,.facts{grid-template-columns:1fr}
    .group{grid-template-columns:1fr;gap:20px}
    .people{grid-template-columns:repeat(2,minmax(0,1fr))}
    .people li{padding-bottom:36px}
    .people li:nth-last-child(-n+2){padding-bottom:0}
    footer .cols{grid-template-columns:1fr 1fr}
    .close .wrap{grid-template-columns:1fr;gap:28px}
  }
  @media (max-width:640px){
    :root{--gutter:16px}
    body{font-size:var(--wp--custom--body-size-sm)}
    .util .hide-sm{display:none}
    .util .wrap{min-height:44px}
    .util ul{gap:18px}
    .notice .wrap{flex-direction:column;gap:2px}
    header.site .wrap{min-height:76px}
    .brand .name{font-size:25px}
    .brand .name small{font-size:14px;margin-left:5px}
    .hero .wrap{padding-top:40px;padding-bottom:48px}
    .hero h1{font-size:38px;line-height:1.12}
    .hero .lede{font-size:17px;margin-top:20px}
    .ctas{gap:10px}
    .ctas .btn{flex:1 1 100%;padding:0 18px;font-size:16px}
    .plate{border-radius:0;margin:0 calc(-1*var(--gutter))}
    .plate img{height:300px}
    .credit b{letter-spacing:0}
    .credit{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 10px}
    section.block{padding-top:72px}
    .sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px}
    .sec-head h2{font-size:32px}
    .paths > li{padding:26px 22px 24px}
    .people{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
    .people li{padding-bottom:28px}
    .people .ph{margin-bottom:12px;border-radius:10px}
    .people a.nm{font-size:18px}
    .people .role{font-size:14px}
    .group{padding:28px 0 32px}
    .close{margin-top:80px}
    .close .wrap{padding-top:52px;padding-bottom:56px}
    .close h2{font-size:30px}
    footer .cols{grid-template-columns:1fr 1fr;gap:32px 24px}
    footer .cols > div:first-child{grid-column:1 / -1}
  }

/* ==========================================================================
   Subpages (attorney profile, practice area, update article, contact).
   Added 2026-10-03. Nothing above this line changed, so the homepage renders as approved.
   ========================================================================== */
nav.main ul a[aria-current="page"]{border-bottom-color:var(--accent)}
.lbl-link{font-weight:600;text-decoration:none}
.lbl-link:hover .lbl{text-decoration:underline}

/* Breadcrumb */
.crumbs{padding-top:28px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:14px;color:var(--muted)}
.crumbs li{display:flex;align-items:center}
.crumbs li + li::before{content:"/";margin:0 10px;color:#9AA19D}
.crumbs a{color:var(--ink);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:var(--muted)}

/* Page head shared by subpages */
.page-head .wrap{padding-top:40px;padding-bottom:8px}
.page-head h1{font-family:var(--serif-d);font-size:54px;line-height:1.08;text-wrap:balance}
.page-head .lede{font-size:20px;line-height:1.6;max-width:60ch;margin-top:22px}

/* Section rows: label column + content, one complete topic per row (same grid as the homepage roster) */
.rows{border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;padding:36px 0 40px;border-bottom:1px solid var(--rule)}
.row > h2{font-family:var(--serif);font-size:23px;line-height:1.3}
.row > h2 span{display:block;font-family:var(--sans);font-size:14px;color:var(--muted);margin-top:6px;line-height:1.5}
.prose{max-width:66ch}
.prose p + p{margin-top:16px}
.prose h3{font-family:var(--sans);font-size:16px;font-weight:600;margin:0 0 8px}
.plain{list-style:none;margin:0;padding:0}
.plain li{padding:10px 0;border-bottom:1px solid var(--rule)}
.plain li:first-child{padding-top:0}
.plain li:last-child{border-bottom:0;padding-bottom:0}
.plain .sub{display:block;font-size:15px;color:var(--muted);margin-top:2px}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.split > div + div{margin-top:0}
.linklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--rule)}
.linklist li{border-bottom:1px solid var(--rule)}
.linklist a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;color:var(--ink);text-decoration:none;font-size:16px}
.linklist a::after{content:"\2192";color:var(--accent)}
.linklist a:hover{color:var(--accent)}
.limited{margin-top:20px;display:inline-block;background:var(--mist);color:var(--accent-deep);font-size:15px;font-weight:500;padding:9px 14px;border-radius:10px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:1px solid var(--rule);border-radius:999px;padding:6px 16px;font-size:15px;background:#fff}
.chips li b{font-weight:600}
.note{font-size:15px;color:var(--muted);margin-top:16px;max-width:66ch}

/* Dated item list (homepage .updates pattern, wider) */
.dated{list-style:none;margin:0;padding:0}
.dated li{padding:18px 0;border-bottom:1px solid var(--rule)}
.dated li:first-child{padding-top:0}
.dated .meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:var(--muted);margin-bottom:5px}
.dated .meta span{color:var(--accent);font-weight:600}
.dated a{font-family:var(--serif);font-size:19px;line-height:1.4;color:var(--ink);text-decoration:none}
.dated a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.dated .by{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.dated-more{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;font-size:15px}

/* ---------- Attorney profile ---------- */
.profile .wrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:64px;padding-top:40px;padding-bottom:72px;align-items:start}
.profile .portrait{margin:0;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--stone)}
.profile .portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.94)}
.profile .eyebrow{margin-bottom:12px}
.profile h1{font-family:var(--serif-d);font-size:56px;line-height:1.05}
.profile .title{font-size:19px;margin-top:14px}
.profile .focus{font-size:17px;color:var(--muted);margin-top:4px}
.profile .langs{margin-top:22px;font-size:16px}
.profile .langs b{font-weight:600}
.contact-block{margin-top:32px;padding-top:24px;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:6px 48px}
.contact-block ul{list-style:none;margin:0;padding:0}
.contact-block li{display:flex;align-items:center;gap:12px;min-height:44px;font-size:16px}
.contact-block svg{flex:none;color:var(--accent)}
.contact-block a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
.contact-block a:hover{text-decoration-color:var(--accent)}
.contact-block .k{font-size:14px;color:var(--muted);display:block;line-height:1.3}
.contact-block .tel-row a{font-weight:600;text-decoration:none}
.profile .act{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

/* ---------- Practice area ---------- */
.pa-head .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:88px;padding-top:40px;padding-bottom:80px;align-items:start}
.pa-head h1{font-family:var(--serif-d);font-size:58px;line-height:1.06;max-width:14ch}
.pa-head .lede{font-size:21px;line-height:1.55;max-width:52ch;margin-top:24px}
.pa-head .ctas{margin-top:30px}
.contacts h2{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--ink)}
.contacts ul{list-style:none;margin:0;padding:0}
.contacts > ul > li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--rule);align-items:start}
.contacts figure{margin:0;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--stone)}
.contacts figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.94)}
.contacts .nm{font-family:var(--serif);font-size:19px;line-height:1.3;color:var(--ink);text-decoration:none}
.contacts .nm:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.contacts .role{font-size:14px;color:var(--muted);margin-top:2px}
.contacts .lines{margin-top:8px;font-size:15px;line-height:1.5}
.contacts .lines li{padding:2px 0}
.contacts .lines a{color:var(--ink)}
.contacts .lines .t{font-weight:600;text-decoration:none}
.handle{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.handle li{padding:16px 0;border-bottom:1px solid var(--rule)}
.handle h3{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4}
.handle h3 a{color:var(--ink);text-decoration:none}
.handle h3 a::after{content:" \2192";color:var(--accent)}
.handle h3 a:hover{color:var(--accent);text-decoration:underline}
.handle p{font-size:15px;color:var(--muted);margin-top:4px;max-width:46ch}
.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.steps > li{counter-increment:step;display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:0 0 28px;position:relative}
.steps > li::before{content:counter(step);font-family:var(--serif-d);font-size:24px;line-height:1;width:48px;height:48px;border-radius:50%;background:var(--mist);color:var(--accent-deep);display:flex;align-items:center;justify-content:center}
.steps > li:not(:last-child)::after{content:"";position:absolute;left:23px;top:56px;bottom:6px;width:2px;background:var(--mist)}
.steps h3{font-family:var(--serif);font-size:21px;line-height:1.3;padding-top:9px}
.steps p{margin-top:8px;max-width:62ch}
.steps .who{font-size:14px;color:var(--muted);margin-top:8px}
.steps .who b{color:var(--ink);font-weight:600}
.alts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.alts li{background:var(--stone);border-radius:16px;padding:24px 24px 26px}
.alts h3{font-family:var(--serif);font-size:20px;line-height:1.3}
.alts .tag{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:8px}
.alts p{font-size:15px;color:var(--muted);margin-top:8px}
.matters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.matters li{border-top:2px solid var(--accent);padding-top:18px}
.matters .kind{font-size:14px;font-weight:600;color:var(--accent)}
.matters p{margin-top:6px;font-size:16px;max-width:52ch}
.disclaim{margin-top:28px;font-size:14px;color:var(--muted);max-width:80ch;padding:14px 18px;background:var(--stone);border-radius:10px}
.disclaim b{color:var(--ink);font-weight:600}
.reqs{margin:16px 0 0;padding-left:1.2em}
.reqs li{margin:6px 0}
.reqs li::marker{color:var(--accent)}

/* ---------- Update article ---------- */
.art-head .wrap{max-width:calc(820px + 2*var(--gutter));padding-top:40px}
.art-head .cat{display:inline-block;font-size:14px;font-weight:600;color:var(--accent);background:var(--mist);padding:5px 12px;border-radius:999px;text-decoration:none}
.art-head .cat:hover{text-decoration:underline}
.art-head h1{font-family:var(--serif-d);font-size:50px;line-height:1.1;margin-top:20px;text-wrap:balance}
.art-head .dek{font-size:20px;line-height:1.55;margin-top:18px;color:var(--ink)}
.byline{display:flex;align-items:center;gap:14px;margin-top:28px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.byline img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 25%;flex:none}
.byline .who{font-size:16px;line-height:1.4}
.byline .who a{font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
.byline .who a:hover{text-decoration-color:var(--accent)}
.byline .who span{display:block;font-size:14px;color:var(--muted)}
.byline .facts-line{margin-left:auto;font-size:14px;color:var(--muted);text-align:right;line-height:1.5}
.art-figure{max-width:calc(1040px + 2*var(--gutter));margin:40px auto 0;padding:0 var(--gutter)}
.art-figure .plate img{height:340px}
.article{max-width:calc(680px + 2*var(--gutter));margin:0 auto;padding:48px var(--gutter) 0;font-family:var(--serif);font-size:19px;line-height:1.7}
.article p + p,.article ul + p,.article p + ul{margin-top:20px}
.article h2{font-family:var(--serif-d);font-size:31px;line-height:1.2;margin:48px 0 16px}
.article ul{padding-left:1.2em;margin:0}
.article li{margin:8px 0}
.article li::marker{color:var(--accent)}
.article strong{font-weight:700}
.takeaway{margin:48px 0 0;background:var(--mist);border-radius:20px;padding:30px 32px 32px;font-family:var(--sans);font-size:17px;line-height:1.6}
.takeaway h2{font-family:var(--serif);font-size:24px;margin:0 0 14px;color:var(--accent-deep)}
.takeaway ul{padding-left:1.2em}
.takeaway li{margin:8px 0}
.sources{margin-top:48px;padding-top:24px;border-top:1px solid var(--rule);font-family:var(--sans);font-size:15px;line-height:1.6}
.sources h2{font-family:var(--sans);font-size:15px;font-weight:600;margin:0 0 10px;color:var(--ink)}
.sources ul{padding-left:1.1em}
.sources li{margin:6px 0}
.sources .stamp{color:var(--muted);margin-top:14px}
.not-advice{margin-top:28px;font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--muted);padding:16px 20px;background:var(--stone);border-radius:12px}
.not-advice b{color:var(--ink);font-weight:600}
.related .dated{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--ink)}
.related .dated li{padding:20px 0 0;border:0}
.signup{margin-top:104px;background:var(--accent-deep);color:var(--on-deep)}
.signup .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:64px;padding-bottom:64px}
.signup h2{font-family:var(--serif-d);font-size:38px;line-height:1.15}
.signup p{color:var(--on-deep-muted);margin-top:12px;max-width:52ch}
.signup form{display:grid;gap:10px}
.signup label{font-size:15px;font-weight:600}
.signup .inline{display:flex;gap:10px}
.signup input[type=email]{flex:1;min-width:0;min-height:52px;border-radius:999px;border:1.5px solid #fff;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:0 20px}
.signup .btn{background:#fff;color:var(--accent-deep);border-color:#fff;min-height:52px}
.signup .btn:hover{background:var(--mist);border-color:var(--mist)}
.signup .fine{font-size:14px;color:var(--on-deep-muted)}
.signup .fine a{color:#fff}
.signup :focus-visible{outline-color:#F2C46B}
.signup + footer{border-top:1px solid rgba(255,255,255,.14)}

/* ---------- Contact ---------- */
.ways{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ways > li{background:var(--stone);border-radius:20px;padding:28px 26px 28px}
.ways h2{font-family:var(--serif);font-size:22px;line-height:1.25;margin-bottom:14px}
.ways p,.ways li li,.ways address{font-size:16px;font-style:normal;line-height:1.55}
.ways p + p{margin-top:10px}
.ways .muted{color:var(--muted);font-size:15px}
.ways a{color:var(--accent)}
.ways .big{font-weight:600;color:var(--ink);text-decoration:none;font-size:17px}
.ways .big:hover{text-decoration:underline}
.ways dl{margin:0;display:grid;gap:12px}
.ways dt{font-size:14px;color:var(--muted)}
.ways dd{margin:0}
.subway{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.subway li{font-size:16px;line-height:1.45}
.subway .bul{display:flex;gap:5px;margin-bottom:3px}
.subway .bul span{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;line-height:1}
.subway .walk{display:block;font-size:14px;color:var(--muted)}
.consult{padding-top:104px}
.consult .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px;align-items:start}
.consult h2{font-family:var(--serif-d);font-size:40px;line-height:1.12}
.consult .intro p{color:var(--muted);margin-top:14px;max-width:44ch}
.next{list-style:none;margin:28px 0 0;padding:0;counter-reset:n}
.next li{counter-increment:n;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--rule);font-size:16px}
.next li::before{content:counter(n);font-family:var(--serif-d);font-size:22px;line-height:1.2;color:var(--accent)}
.notice-box{background:var(--amber-bg);border:1px solid var(--amber-line);color:#4A3200;border-radius:14px;padding:18px 22px;font-size:16px;line-height:1.55}
.notice-box h3{font-family:var(--sans);font-size:16px;font-weight:600;margin-bottom:6px;color:#4A3200}
.notice-box p + p{margin-top:8px}
form.req{margin-top:28px}
.req-key{font-size:15px;color:var(--muted);margin-bottom:22px}
.req-key b{color:var(--ink);font-weight:600}
.field{margin-bottom:22px}
.field label,.field legend{display:block;font-size:16px;font-weight:600;margin-bottom:6px;padding:0}
.field .req-tag{font-weight:500;font-size:14px;color:var(--muted);margin-left:6px}
.field .hint{display:block;font-size:14px;color:var(--muted);margin:-2px 0 8px;font-weight:400}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;min-height:50px;border:1.5px solid #8A928E;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:10px 14px}
.field textarea{min-height:150px;resize:vertical;line-height:1.55}
.field select{appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:right 20px center,right 14px center;background-size:6px 6px;background-repeat:no-repeat}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--ink)}
.field.two{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-bottom:0}
.field.two > div{margin-bottom:22px}
.count{display:block;font-size:14px;color:var(--muted);margin-top:6px;text-align:right}
.check{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:16px;font-size:16px;line-height:1.5}
.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent)}
.check label{font-weight:400}
.check .req-tag{font-weight:500;font-size:14px;color:var(--muted);margin-left:4px}
.err{display:none;color:#A1261B;font-size:15px;font-weight:600;margin-top:6px}
.err svg{vertical-align:-3px;margin-right:6px}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#A1261B;border-width:2px}
.field.invalid .err,.check.invalid + .err{display:block}
.err-summary{display:none;border:2px solid #A1261B;border-radius:12px;padding:16px 20px;margin-bottom:24px;background:#FDF1EF}
.err-summary.show{display:block}
.err-summary h3{font-family:var(--sans);font-size:17px;font-weight:600;color:#7E1C13}
.err-summary ul{margin:8px 0 0;padding-left:1.2em}
.err-summary a{color:#7E1C13;font-weight:600}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.submit-row{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:10px}
.submit-row p{font-size:14px;color:var(--muted);max-width:44ch}
.privacy-line{font-size:14px;color:var(--muted);margin-top:18px}

@media (max-width:980px){
  .page-head h1,.pa-head h1{font-size:46px}
  .profile .wrap{grid-template-columns:260px minmax(0,1fr);gap:40px}
  .profile h1{font-size:46px}
  .contact-block{grid-template-columns:1fr;gap:0}
  .row{grid-template-columns:1fr;gap:16px}
  .pa-head .wrap{grid-template-columns:1fr;gap:48px}
  .alts{grid-template-columns:1fr}
  .ways{grid-template-columns:repeat(2,minmax(0,1fr))}
  .consult .wrap{grid-template-columns:1fr;gap:36px}
  .signup .wrap{grid-template-columns:1fr;gap:28px}
  .related .dated{grid-template-columns:1fr}
  .related .dated li{padding:18px 0;border-bottom:1px solid var(--rule)}
}
@media (max-width:640px){
  .crumbs{padding-top:20px}
  .page-head .wrap{padding-top:28px}
  .page-head h1,.pa-head h1{font-size:38px;line-height:1.12}
  .page-head .lede,.pa-head .lede{font-size:18px}
  .profile .wrap{grid-template-columns:1fr;gap:28px;padding-top:28px;padding-bottom:56px}
  .profile .portrait{max-width:260px}
  .profile h1{font-size:40px}
  .profile .act .btn{flex:1 1 100%}
  .pa-head .wrap{padding-top:28px;padding-bottom:56px}
  .pa-head .ctas .btn{flex:1 1 100%}
  .row{padding:28px 0 32px}
  .row > h2{font-size:22px}
  .split,.linklist,.handle,.matters{grid-template-columns:1fr}
  .split > div + div{margin-top:24px}
  .steps > li{grid-template-columns:48px minmax(0,1fr);gap:16px}
  .steps > li::before{width:40px;height:40px;font-size:20px}
  .steps > li:not(:last-child)::after{left:19px;top:48px}
  .steps h3{padding-top:6px;font-size:19px}
  .art-head .wrap{padding-top:28px}
  .art-head h1{font-size:36px;line-height:1.14}
  .art-head .dek{font-size:18px}
  .byline{flex-wrap:wrap}
  .byline .facts-line{margin-left:0;text-align:left;flex-basis:100%;padding-left:66px}
  .art-figure .plate img{height:220px}
  .article{font-size:18px;padding-top:36px}
  .article h2{font-size:27px;margin-top:40px}
  .takeaway{padding:24px 22px 26px;margin-left:calc(-1*var(--gutter)+8px);margin-right:calc(-1*var(--gutter)+8px)}
  .signup{margin-top:80px}
  .signup .wrap{padding-top:52px;padding-bottom:52px}
  .signup h2{font-size:30px}
  .signup .inline{flex-direction:column}
  .ways{grid-template-columns:1fr}
  .consult{padding-top:72px}
  .consult h2{font-size:32px}
  .field.two{grid-template-columns:1fr}
  .submit-row .btn{flex:1 1 100%}
}
.prose-h{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);margin:0 0 12px}
.plain + .prose-h{margin-top:32px}
.profile .langs a{color:var(--ink);text-decoration-color:var(--rule);text-underline-offset:4px}
.profile .langs a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.lang-terms{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 28px;font-size:18px}
.lang-terms a{font-family:var(--serif);color:var(--ink);text-decoration-color:var(--accent)}
.lang-terms a:hover{color:var(--accent)}
.lang-terms span{color:var(--muted);font-size:16px}
.end-space{height:112px}
.ways-wrap{margin-top:48px}
@media (max-width:640px){.end-space{height:80px}.ways-wrap{margin-top:32px}}
/* Round 2 refinements */
.contact-block li{min-height:46px}
section.block.first{padding-top:0}
.process{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:88px;align-items:start}
.req-card{background:var(--stone);border-radius:20px;padding:28px 28px 30px;position:sticky;top:24px}
.req-card h3{font-family:var(--serif);font-size:20px;line-height:1.3}
.req-card h3 + .reqs{margin-top:12px}
.req-card .reqs{font-size:16px}
.req-card h3:not(:first-child){font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.srcs{list-style:none;margin:10px 0 0;padding:0;font-size:15px}
.srcs li{margin:6px 0}
.art-head .wrap{max-width:calc(720px + 2*var(--gutter))}
.article{max-width:calc(720px + 2*var(--gutter))}
.signup{background:var(--mist);color:var(--ink)}
.signup p{color:var(--muted)}
.signup input[type=email]{border-color:#8A928E}
.signup .btn{background:var(--accent);color:#fff;border-color:var(--accent)}
.signup .btn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.signup .fine{color:var(--muted)}
.signup .fine a{color:var(--accent)}
.signup :focus-visible{outline-color:var(--focus)}
.consent-err{margin:-8px 0 16px 36px}
.ways .after-dl{margin-top:14px}
@media (max-width:980px){.process{grid-template-columns:1fr;gap:32px}.req-card{position:static}}
@media (max-width:640px){.profile .portrait{max-width:240px}.req-card{padding:22px 20px 24px}}
.crumbs li + li::before{content:none}
.crumbs li:not(:last-child)::after{content:"/";margin:0 10px;color:#9AA19D}
button.btn{font-family:inherit;cursor:pointer}

/* Header on the accent color (Leland, 2026-10-03: "more flair") */
header.site{background:var(--accent);color:var(--on-deep)}
header.site .brand{color:var(--on-deep)}
header.site .brand .name small{color:var(--on-deep-muted)}
header.site nav.main ul a{color:var(--on-deep)}
header.site nav.main ul a:hover,
header.site nav.main ul a[aria-current="page"]{border-bottom-color:var(--on-deep)}
header.site .btn{background:var(--on-deep);color:var(--accent);border-color:var(--on-deep)}
header.site .btn:hover{background:var(--mist);border-color:var(--mist)}
header.site .menu-btn{color:var(--on-deep);border-color:rgba(255,255,255,.55)}
header.site :focus-visible{outline-color:#FFFFFF}

/* Updates index (from the approved updates.html) */

/* Updates index (list page). Page-scoped for review; moves into site.css once approved. */
.ix-head .wrap{display:flex;justify-content:space-between;align-items:end;gap:48px;padding-bottom:40px}
.ix-head .lede{max-width:56ch}
.ix-switch ul{list-style:none;margin:0;padding:4px;display:flex;gap:4px;background:var(--stone);border-radius:999px}
.ix-switch a{display:flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.ix-switch a:hover{text-decoration:underline}
.ix-switch a[aria-current="page"]{background:#fff;color:var(--accent-deep);box-shadow:0 1px 2px rgba(27,35,33,.12)}

.ix-feature{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:72px;align-items:center;background:var(--stone);border-radius:24px;padding:48px 56px}
.ix-label{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--accent);margin-bottom:14px}
.ix-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14px;color:var(--muted)}
.ix-cat{color:var(--accent);font-weight:600;text-decoration:none}
.ix-cat:hover{text-decoration:underline}
.ix-ftitle{font-family:var(--serif-d);font-size:42px;line-height:1.12;margin-top:12px;text-wrap:balance;max-width:28ch}
.ix-ftitle a{color:var(--ink);text-decoration:none}
.ix-ftitle a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.ix-fsum{font-size:19px;line-height:1.6;margin-top:18px;max-width:58ch;text-wrap:pretty}
.ix-fby{display:none;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--muted)}
.ix-fby img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:center 25%;flex:none}
.ix-fby a{color:var(--ink);font-weight:600}
.ix-fby small{display:block;font-size:14px;line-height:1.4}
.ix-fport{margin:0}
.ix-fport img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:14px;filter:saturate(.94)}
.ix-fport figcaption{margin-top:14px;font-size:14px;color:var(--muted);line-height:1.5}
.ix-fport figcaption > a:first-child{display:block;font-family:var(--serif);font-size:19px;color:var(--ink);text-decoration:none;line-height:1.3}
.ix-fport figcaption > a:first-child:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.ix-fport figcaption > span{display:block;margin-top:2px}
.ix-fport .lbl-link{display:inline-block;margin-top:10px;font-size:15px;white-space:nowrap}

.ix-list-sec{padding-top:72px}
.ix-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:16px;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--ink)}
.ix-f label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.ix-f select,.ix-f input{width:100%;min-height:48px;border:1.5px solid #8A928E;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:8px 14px}
.ix-f select{appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:right 20px center,right 14px center;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer}
.ix-q input{padding-left:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23565F5B' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center}
.ix-f select:focus-visible,.ix-f input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--ink)}
.ix-filters .btn{min-height:48px}
.ix-results{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:18px 0 6px}
.ix-count{font-size:15px;color:var(--muted)}
.ix-count b{color:var(--ink);font-weight:600}
.ix-count a{font-weight:600;margin-left:12px}

.ix-list{list-style:none;margin:0;padding:0}
.ix-list > li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding:28px 0 30px;border-bottom:1px solid var(--rule)}
.ix-list .ix-meta{flex-direction:column;gap:4px;padding-top:5px;font-size:15px}
.ix-list h3{font-family:var(--serif);font-size:23px;line-height:1.35;max-width:52ch;text-wrap:pretty}
.ix-list h3 a{color:var(--ink);text-decoration:none}
.ix-list h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.ix-sum{margin-top:8px;font-size:16px;color:var(--muted);max-width:72ch;text-wrap:pretty}
.ix-by{margin-top:10px;font-size:14px;color:var(--muted)}
.ix-by a{color:var(--ink);text-decoration-color:var(--rule)}
.ix-by a:hover{text-decoration-color:var(--accent)}

.ix-pages{margin-top:40px}
.ix-pages ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ix-pages a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 12px;border-radius:999px;border:1.5px solid var(--rule);color:var(--ink);text-decoration:none;font-size:16px;font-weight:600}
.ix-pages a:hover{border-color:var(--accent);color:var(--accent)}
.ix-pages a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:#fff}
.ix-pages .ix-next{margin-left:8px}
.ix-pages .ix-next a{padding:0 20px}

.ix-newslist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ix-newslist li{border-top:2px solid var(--accent);padding-top:20px}
.ix-kind{color:var(--accent);font-weight:600}
.ix-newslist h3{font-family:var(--serif);font-size:22px;line-height:1.35;margin-top:6px}
.ix-newslist h3 a{color:var(--ink);text-decoration:none}
.ix-newslist h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.ix-place{margin-top:6px;font-size:15px;color:var(--muted)}
.ix-na{margin-top:72px;max-width:80ch}

@media (max-width:980px){
  .ix-head .wrap{flex-direction:column;align-items:flex-start;gap:28px}
  .ix-feature{grid-template-columns:minmax(0,1fr) 180px;gap:40px;padding:40px}
  .ix-ftitle{font-size:36px}
  .ix-filters{grid-template-columns:1fr 1fr}
  .ix-filters .btn{justify-self:start}
  .ix-list > li{grid-template-columns:150px minmax(0,1fr);gap:28px}
}
@media (max-width:640px){
  .ix-head .wrap{padding-bottom:28px}
  .ix-switch{width:100%}
  .ix-switch a{padding:0 14px;font-size:14px;flex:1;justify-content:center}
  .ix-switch li{flex:1}
  .ix-feature{grid-template-columns:1fr;padding:28px 22px 30px;border-radius:18px;margin:0 calc(-1*var(--gutter) + 8px)}
  .ix-fport{display:none}
  .ix-fby{display:flex}
  .ix-ftitle{font-size:29px;line-height:1.16}
  .ix-fsum{font-size:17px}
  .ix-list-sec{padding-top:52px}
  .ix-filters{grid-template-columns:1fr;gap:14px}
  .ix-filters .btn{width:100%}
  .ix-list > li{grid-template-columns:1fr;gap:8px;padding:22px 0 24px}
  .ix-list .ix-meta{flex-direction:row;padding-top:0;font-size:14px}
  .ix-list h3{font-size:20px}
  .ix-sum{font-size:15px}
  .ix-pages .ix-next{margin-left:0}
  .ix-newslist{grid-template-columns:1fr}
  .ix-na{margin-top:56px}
}

/* ==========================================================================
   Block adaptations: core block markup mapped onto the components above.
   ========================================================================== */
.wp-site-blocks{padding:0}
:where(.wp-site-blocks) > *, :where(main.wp-block-group) > *{margin-block-start:0}
:where(.wp-block-group){margin:0}
.screen-reader-text,.sr-only{position:absolute !important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
.skip-link.screen-reader-text:focus{clip-path:none;width:auto;height:auto;margin:0;left:12px;top:10px;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;z-index:100000;font-weight:600;text-decoration:none}
:where(.wp-site-blocks) :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.wp-block-heading,.wp-block-post-title{margin:0}
ul.wp-block-group,ol.wp-block-group{list-style:none;margin:0;padding:0}
.wp-block-list{margin:0}
.wp-block-image{margin:0}

/* Buttons: core button = .btn */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}
.wp-block-button{margin:0}
.wp-block-button__link,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--btn-radius);background:var(--accent);color:#fff;font-family:var(--sans);font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;border:1.5px solid var(--accent);white-space:nowrap}
.wp-block-button__link:hover,.wp-element-button:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}
.is-style-outline > .wp-block-button__link,.wp-block-button__link.is-style-outline{background:transparent;color:var(--accent);border-color:var(--accent)}
.is-style-outline > .wp-block-button__link:hover{background:var(--mist);color:var(--accent)}
.btn{border-radius:var(--btn-radius)}

/* Header */
header.site .brand{margin:0}
.brand a{display:flex;align-items:baseline;text-decoration:none;color:inherit}
.brand .name small{margin-left:4px}
header.site .main-nav{display:flex;align-items:center;gap:34px}
header.site nav.main{gap:0}
header.site nav.main .wp-block-navigation__container{gap:28px}
header.site nav.main .wp-block-navigation-item__content{color:var(--on-deep);text-decoration:none;font-size:16px;font-weight:500;padding:8px 0;white-space:nowrap;border-bottom:2px solid transparent}
header.site nav.main .wp-block-navigation-item__content:hover,
header.site nav.main .current-menu-item > .wp-block-navigation-item__content,
header.site nav.main [aria-current]{border-bottom-color:var(--on-deep)}
header.site .head-cta .wp-block-button__link{min-height:42px;padding:0 20px;font-size:15px;background:var(--on-deep);color:var(--accent);border-color:var(--on-deep)}
header.site .head-cta .wp-block-button__link:hover{background:var(--mist);border-color:var(--mist)}
header.site .wp-block-navigation__responsive-container-open{display:none}
@media (max-width:1180px){header.site nav.main .wp-block-navigation__container{gap:20px}}
@media (max-width:980px){
  header.site .head-cta{display:none}
  header.site nav.main .wp-block-navigation__responsive-container-open:not(.always-shown){display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:1px solid rgba(255,255,255,.55);border-radius:var(--btn-radius);padding:0 18px;font:inherit;font-size:15px;font-weight:600;color:var(--on-deep);cursor:pointer}
  header.site nav.main .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
  header.site nav.main .wp-block-navigation__responsive-container.is-menu-open{padding:24px var(--gutter)}
  header.site nav.main .is-menu-open .wp-block-navigation__container{gap:6px;font-size:20px}
  header.site nav.main .is-menu-open .wp-block-navigation-item__content{font-size:20px;padding:10px 0}
  header.site nav.main .wp-block-navigation__responsive-container-close{color:var(--on-deep)}
}
@media (min-width:600px) and (max-width:980px){
  header.site nav.main .wp-block-navigation__responsive-container.is-menu-open{display:flex}
  header.site nav.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{display:flex}
}

/* Footer */
footer.site-footer .fname{margin:0}
footer.site-footer .fname a{color:#fff;text-decoration:none}
footer.site-footer .fnav .wp-block-navigation{display:block;font-size:15px}
footer.site-footer .fnav .wp-block-navigation__container{display:block}
footer.site-footer .fnav .wp-block-navigation-item{margin:8px 0;display:block}
footer.site-footer .fnav .wp-block-navigation-item__content{color:#fff;text-decoration:none;padding:0}
footer.site-footer .fnav .wp-block-navigation-item__content:hover{text-decoration:underline}
footer.site-footer .legal p{margin:0}

/* Page head, page body */
.page-head .lede p,.pa-head .lede p{margin:0}
.page-head .wp-block-post-excerpt,.pa-head .wp-block-post-excerpt{margin-bottom:0}
.page-body > :where(:not(.alignfull)){max-width:calc(var(--wrap) + 2*var(--gutter));margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.page-body > :where(p,ul,ol,h2,h3,.wp-block-buttons) + :where(*){margin-top:16px}
.page-body > :where(h2) {font-size:31px;margin-top:40px}
.rows-sec{padding-top:48px}
.rows-sec + .rows-sec{padding-top:0}
.rows-sec + .rows-sec .rows{border-top:0}
.row-body > * + *{margin-top:16px}
.row-body > .plain + .prose-h,.row-body > .linklist + .prose-h{margin-top:32px}
.faq-q{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4}
.row-body > .faq-q:not(:first-child){margin-top:24px}
.row-body > .faq-a{margin-top:6px;max-width:66ch}
.prose-wide > * + *{margin-top:16px}
.prose-wide{max-width:66ch}
.sec-head > .sec-link{font-weight:600;white-space:nowrap;font-size:16px}
.sec-head > .sec-link a{text-decoration:none}
.sec-head > .sec-link a:hover .lbl{text-decoration:underline}
.paths > li > .go{margin-top:auto;font-weight:600;font-size:16px}
.paths > li > .go a{text-decoration:none}
.paths > li > .go a:hover .lbl{text-decoration:underline}
.paths ul.wp-block-list{list-style:none;margin:22px 0 28px;padding:0}
.end-space{height:112px}
.close + .end-space{display:none}
.row-link{color:var(--ink);text-decoration:none}
.row-link:hover{color:var(--accent);text-decoration:underline}
.row-intro{color:var(--muted);margin-bottom:16px;max-width:60ch}
.consult .intro > h2{font-family:var(--serif-d);font-size:40px;line-height:1.12}
.consult .intro .next{margin-top:28px}
.ways-wrap .ways > li > * + *{margin-top:10px}
.ways dl{margin-top:0}

/* Practice area body */
.pa-head .wp-block-post-title{font-family:var(--serif-d);font-size:58px;line-height:1.06;max-width:14ch}
.pa-head .lede{font-size:21px;line-height:1.55;max-width:52ch;margin-top:24px}
.pa-head .note{margin-top:16px}
.practice-body > .wp-block-group.block:first-child{padding-top:0}
.steps > li > div > * + *{margin-top:8px}
.steps > li .who{margin-top:8px}
.req-card .wp-block-list.reqs{margin:12px 0 0;padding-left:1.2em}
.req-card .wp-block-list.srcs{list-style:none;padding:0}

/* Article */
.art-head .wp-block-post-terms.cat{display:block;background:none;padding:0}
.art-head .wp-block-post-terms.cat a{display:inline-block;font-size:14px;font-weight:600;color:var(--accent);background:var(--mist);padding:5px 12px;border-radius:999px;text-decoration:none}
.art-head .wp-block-post-terms.cat a:hover{text-decoration:underline}
.art-head .wp-block-post-terms.cat .wp-block-post-terms__separator{display:none}
.art-head .wp-block-post-title{font-family:var(--serif-d);font-size:50px;line-height:1.1;margin-top:20px;text-wrap:balance}
.art-head .dek{font-size:20px;line-height:1.55;margin-top:18px;color:var(--ink)}
.art-head .dek p{margin:0}
.article > .art-figure-img{width:min(1040px,calc(100vw - 2*var(--gutter)));max-width:none;margin:0 0 48px 50%;transform:translateX(-50%)}
.article > .art-figure-img.plate img{height:340px}
.article > :where(h2,ul,ol,p,.wp-block-list) + :where(p,ul,ol,.wp-block-list){margin-top:20px}
.article > h2.wp-block-heading{font-family:var(--serif-d);font-size:31px;line-height:1.2;margin:48px 0 16px}
.article ul.wp-block-list{padding-left:1.2em}
.article-end{padding-top:0}
.takeaway > * + *{margin-top:0}
.sources .wp-block-list{padding-left:1.1em}
.article .sources > h2.wp-block-heading{font-family:var(--sans);font-size:15px;font-weight:600;margin:0 0 10px}
.article .takeaway > h2.wp-block-heading{font-family:var(--serif);font-size:24px;margin:0 0 14px;color:var(--accent-deep)}
.event-box{margin:0 0 32px;background:var(--stone);border-radius:14px;padding:16px 20px;font-family:var(--sans);font-size:16px}

/* Updates list built from the query loop */
.ix-list.wp-block-post-template{list-style:none;margin:0;padding:0}
.ix-list .ix-meta .wp-block-post-date{color:var(--muted)}
.ix-list .ix-meta .wp-block-post-terms a{color:var(--accent);font-weight:600;text-decoration:none}
.ix-list .ix-meta .wp-block-post-terms a:hover{text-decoration:underline}
.ix-list .ix-meta .wp-block-post-terms__separator{color:var(--muted)}
.ix-list .wp-block-post-title a{color:var(--ink);text-decoration:none}
.ix-list .wp-block-post-title a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.ix-list .wp-block-post-title{font-family:var(--serif);font-size:23px;line-height:1.35;max-width:52ch}
.ix-list .ix-sum p{margin:0}
.ix-list .ix-sum{margin-top:8px;font-size:16px;color:var(--muted);max-width:72ch}
.ix-list .ix-by a{color:var(--ink);text-decoration-color:var(--rule)}
.ix-list .ix-meta .ix-kind{color:var(--accent);font-weight:600}
.ix-event{color:var(--muted)}
.wp-block-query-pagination.ix-pages{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ix-pages .wp-block-query-pagination-numbers{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ix-pages .page-numbers,.ix-pages .wp-block-query-pagination-next,.ix-pages .wp-block-query-pagination-previous{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 12px;border-radius:999px;border:1.5px solid var(--rule);color:var(--ink);text-decoration:none;font-size:16px;font-weight:600;margin:0}
.ix-pages .page-numbers.dots{border:0}
.ix-pages a.page-numbers:hover,.ix-pages a:hover{border-color:var(--accent);color:var(--accent)}
.ix-pages .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.ix-pages .wp-block-query-pagination-next,.ix-pages .wp-block-query-pagination-previous{padding:0 20px}
.ix-pages .wp-block-query-pagination-next{margin-left:8px}
.ix-na-wrap{margin-top:72px}
.ix-na-wrap .not-advice{max-width:80ch;margin-top:0}
.ix-none{padding:28px 0;color:var(--muted)}

/* People filters, search */
.people-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin-bottom:8px}
.people-roster.is-index .roster{margin-top:16px}
.group h2{font-family:var(--serif);font-size:22px;line-height:1.3}
.group h2 span{display:block;font-family:var(--sans);font-size:14px;color:var(--muted);margin-top:4px}
.group h2 a,.group h3 a{color:var(--ink);text-decoration:none}
.group h2 a:hover{color:var(--accent);text-decoration:underline}
.search-form{grid-template-columns:minmax(0,1fr) auto;border-bottom:0;padding-bottom:0;margin-top:28px;max-width:720px}
.search-types{margin-top:24px}
.search-types .n{font-weight:500;color:var(--muted);margin-left:4px}
.tpl-search-results .ix-list > li{grid-template-columns:200px minmax(0,1fr)}
.tasks-404{margin-top:20px}
.tasks-404 .wp-block-navigation__container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--rule);width:100%}
.tasks-404 .wp-block-navigation-item{border-bottom:1px solid var(--rule)}
.tasks-404 .wp-block-navigation-item__content{display:flex;justify-content:space-between;width:100%;padding:12px 0;color:var(--ink);text-decoration:none}
.tasks-404 .wp-block-navigation-item__content::after{content:"\2192";color:var(--accent)}
.lfw-form .form-status{margin-top:24px}

@media (max-width:980px){
  .pa-head .wp-block-post-title{font-size:46px}
  .tpl-search-results .ix-list > li{grid-template-columns:150px minmax(0,1fr)}
}
@media (max-width:640px){
  .end-space{height:80px}
  .pa-head .wp-block-post-title{font-size:38px;line-height:1.12}
  .pa-head .lede{font-size:18px}
  .art-head .wp-block-post-title{font-size:36px;line-height:1.14}
  .art-head .dek{font-size:18px}
  .article > .art-figure-img.plate img{height:220px}
  .article > h2.wp-block-heading{font-size:27px;margin-top:40px}
  .ix-list .wp-block-post-title{font-size:20px}
  .ix-list .ix-sum{font-size:15px}
  .people-filters,.search-form{grid-template-columns:1fr}
  .tpl-search-results .ix-list > li{grid-template-columns:1fr}
  .tasks-404 .wp-block-navigation__container{grid-template-columns:1fr}
  .ix-pages .wp-block-query-pagination-next{margin-left:0}
  .consult .intro > h2{font-size:32px}
  .ix-na-wrap{margin-top:56px}
}

footer .legal strong{color:#fff;font-weight:600}
.search-list{padding-bottom:112px}
@media (max-width:640px){.search-list{padding-bottom:80px}}
/* Photo credit on core image captions */
.plate .wp-element-caption{position:absolute;left:16px;bottom:16px;margin:0;background:rgba(20,22,25,.74);color:#fff;font-size:14px;line-height:1.4;padding:8px 12px;border-radius:8px;max-width:calc(100% - 32px);text-align:left}
.plate .wp-element-caption strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.plate .wp-element-caption a{color:#fff}
@media (max-width:640px){.plate .wp-element-caption{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 10px}.plate .wp-element-caption strong{letter-spacing:0}}
.search-types ul{flex-wrap:wrap;border-radius:26px}
@media (max-width:640px){.search-types li{flex:1 1 auto}.search-types a{padding:0 12px}}
.people-sec{padding-top:40px}
@media (max-width:640px){.people-sec{padding-top:28px}}
@media (max-width:640px){.ctas .wp-block-button{flex:1 1 100%}.ctas .wp-block-button__link{width:100%;padding:0 18px}}
header.site nav.main .is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start}
header.site nav.main .is-menu-open .wp-block-navigation__container{align-items:flex-start}
.util a,.util .lang{white-space:nowrap}
@media (max-width:980px){.util .hide-sm{display:none}}
.ix-list-sec.search-list{padding-top:16px}
section.block.tasks-sec{padding-top:56px}
/* Editor canvas: give freely written content the reading rhythm the front end gets from component rules. */
.editor-styles-wrapper :where(.is-root-container) > :where(p,ul,ol,h2,h3,h4,figure,.wp-block-buttons) + :where(p,ul,ol,h2,h3,h4,figure,.wp-block-buttons){margin-top:16px}
