/* Generated by build.mjs from site/css/ (see bundles.json): edit those files, then run "node build.mjs". */
/* ===== css/shared/fonts.css ===== */

/* Montserrat, self-hosted: the Latin subset of the variable font, upright and italic. */
@font-face{
  font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/assets/fonts/montserrat-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Montserrat";font-style:italic;font-weight:100 900;font-display:swap;
  src:url("/assets/fonts/montserrat-latin-italic.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ===== css/shared/tokens.css ===== */

/* The design tokens shared by every page: colours, type, measures and easing. */
:root{
  --ink:#16203A;
  --blue:#1F4DB5;
  --blue-deep:#183A8C;
  --mist:#E7ECF3;           /* page background: a cool blue-grey, never white */
  --mist-2:#DCE3ED;
  --white:#FFFFFF;
  --muted:#535B6E;
  --line:rgba(22,32,58,.16);
  --on-ink:#3B5596;         /* quieter text on the white glass */
  --light-blue:#9DB3EA;
  --line-ink:rgba(31,77,181,.2);
  --line-blue:rgba(31,77,181,.45);   /* the outline of icon boxes and the search field */
  --btn-line:rgba(31,77,181,.62);    /* the outline of the light and dark buttons */
  --pane-navy:rgba(255,255,255,.7);  /* the frosted white panels over the photographs */
  --pane-blue:rgba(234,241,252,.74); /* the same with a breath of blue */
  --glass-blur:blur(14px) saturate(1.1);
  --field:#767C8E;          /* form field borders and placeholders */
  --field-bg:#F7F9FC;       /* form fields and the search screen */
  --alert:#9B2C2C;

  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:var(--sans);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;   /* code in articles */

  --maxw:1320px;
  --gutter:clamp(1rem,4vw,3.5rem);
  --gap:clamp(1rem,2vw,2rem);
  --head-h:76px;
  --head-h-small:64px;
  --edge:max(var(--gutter), calc((100vw - var(--maxw)) / 2));
  --inner:clamp(2.5rem,5vw,5.5rem);
  --ease:cubic-bezier(.2,.7,.2,1);
  --turn-ease:cubic-bezier(.65,0,.35,1);
}
@media(max-width:1023px){:root{--head-h:64px;}}
@media(max-width:639px){:root{--head-h:60px;--head-h-small:56px;}}

/* ===== css/article/base.css ===== */

/* Page defaults for the article pages (/insights/<id>), which the Worker renders in src/lib/article-page.js. */
/* Lighter resets than the site's, so an uploaded article keeps the spacing prose.css gives it.
   The pages are served under a strict policy: no inline styles, fonts from this site only.
   As on the site, the header, menu, buttons and logos turn off text selection in their own files. */
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
body{
  margin:0;background:var(--mist);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip;
}
h1,h2,h3{font-weight:400;}
img,svg{max-width:100%;}
img{-webkit-user-drag:none;}
a{color:inherit;}
[hidden]{display:none!important;}
::selection{background:var(--light-blue);color:var(--ink);}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
[tabindex="-1"]:focus{outline:none;}
/* a tap is not a keyboard: no focus ring after one (article.js marks which was used last) */
html[data-input="touch"] :focus-visible,html[data-input="mouse"] :focus-visible{outline:none;}
.nobr{white-space:nowrap;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
.wrap{width:100%;max-width:calc(var(--maxw) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter);}
.skip{position:absolute;left:var(--gutter);top:-100px;z-index:400;background:var(--white);color:var(--ink);padding:.75rem 1.25rem;font-size:.8125rem;text-decoration:none;}
.skip:focus{top:.75rem;}

/* ===== css/article/controls.css ===== */

/* Labels, outline buttons, icon buttons and icon links on the article pages (buttons 48px tall here, 50px on the site). */
.label{margin:0;font-size:.75rem;font-weight:500;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* outline buttons on a clear ground; hover only where there is a real pointer */
.btn{
  display:inline-flex;align-items:stretch;min-height:48px;padding:0;background:transparent;color:inherit;
  border:1px solid currentColor;border-radius:0;cursor:pointer;
  font:inherit;font-size:.75rem;font-weight:600;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
.btn-label{display:flex;align-items:center;flex:1;padding:.75rem 1.1rem .75rem 1.3rem;}
.btn-icon{display:grid;place-items:center;flex:none;width:48px;border-left:1px solid currentColor;transition:background-color .25s var(--ease);}
.btn-icon svg{width:16px;height:16px;transition:transform .25s var(--ease);}
/* blue outlines: --light on the white glass (with a veil of white), --dark on the pale page */
.btn--light,.btn--dark{color:var(--blue);border-color:var(--btn-line);}
.btn--light{background:rgba(255,255,255,.3);}
.btn--light .btn-icon,.btn--dark .btn-icon{border-left-color:var(--btn-line);}
.btn--light:active,.btn--dark:active{background:rgba(31,77,181,.1);}
@media(hover:hover){
  .btn:hover .btn-icon svg{transform:translateX(3px);}
  .btn--light:hover,.btn--dark:hover{background:var(--blue);color:var(--white);border-color:var(--blue);}
  .btn--light:hover .btn-icon,.btn--dark:hover .btn-icon{border-left-color:rgba(255,255,255,.35);}
}

/* Icon buttons: Search, Menu, Close. On a phone only the icon shows. */
.icon-btn{
  display:inline-flex;align-items:center;gap:.7rem;min-height:44px;padding:0;background:none;border:0;cursor:pointer;
  color:var(--blue);font:inherit;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
.icon-box{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--line-blue);transition:background-color .25s var(--ease),color .25s var(--ease);}
.icon-box svg{width:17px;height:17px;}
.icon-btn[aria-expanded="true"] .icon-box{background:var(--blue);color:var(--white);border-color:var(--blue);}
.icon-btn:active .icon-box{background:rgba(31,77,181,.12);}
@media(hover:hover){.icon-btn:hover .icon-box{background:var(--blue);color:var(--white);border-color:var(--blue);}}
.burger{display:grid;gap:4px;width:18px;}
.burger i{display:block;height:1.5px;background:currentColor;}
.burger i:nth-child(2){width:70%;justify-self:end;}
@media(max-width:639px){.icon-btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}}

/* A link with an icon before its underlined words: the email address in the menu. */
.icon-link{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;}
.icon-link svg{flex:none;width:16px;height:16px;}
.icon-link span{border-bottom:1px solid currentColor;padding-bottom:.1rem;}

/* ===== css/article/header.css ===== */

/* The article header: white and sticky, with the reading-progress line along its foot. */
.bar{
  position:sticky;top:0;z-index:50;color:var(--blue);background:var(--white);border-bottom:1px solid rgba(22,32,58,.08);
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
.bar-inner{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.75rem);height:68px;}
.bar-logo{display:block;flex:none;line-height:0;margin-right:auto;}
.bar-logo img{height:38px;width:auto;display:block;-webkit-touch-callout:none;pointer-events:none;}
.bar-back{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);text-underline-offset:.35em;}
/* the sidebar needs article.js; without it the header offers the way back */
.menu-toggle{display:none;}
html.js .menu-toggle{display:inline-flex;}
html.js .bar-back{display:none;}
@media(min-width:1024px){.bar-inner{height:76px;}.bar-logo img{height:44px;}}
.read-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--blue);transform:scaleX(var(--p,0));transform-origin:left;}

/* ===== css/article/menu.css ===== */

/* The sidebar menu on the article pages: as on the site, without the staggered entrance. */
.menu{
  position:fixed;top:0;right:0;bottom:0;z-index:160;display:flex;flex-direction:column;width:min(28rem,100%);
  overflow-y:auto;overscroll-behavior:contain;padding:0 clamp(1.25rem,3vw,2.25rem) 2.5rem;
  color:var(--blue);background:var(--white);border-left:1px solid rgba(22,32,58,.08);box-shadow:-24px 0 60px rgba(22,32,58,.12);
  visibility:hidden;opacity:0;transform:translateX(24px);pointer-events:none;
  transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s linear .35s;
}
.menu.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .35s var(--ease),transform .35s var(--ease);}
.menu-scrim{position:fixed;inset:0;z-index:150;background:rgba(22,32,58,.28);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),visibility 0s linear .35s;}
body.nav-open .menu-scrim{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .35s var(--ease);}
body.nav-open{overflow:hidden;}
@media(max-width:28rem){.menu{border-left:0;}}
.menu-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.menu-logo{width:auto;height:38px;-webkit-touch-callout:none;pointer-events:none;}
.menu-nav{margin-top:1rem;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.menu-nav ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-ink);}
.menu-nav li{border-bottom:1px solid var(--line-ink);}
.menu-nav a{
  display:flex;align-items:baseline;gap:1rem;padding:.8rem 0;
  font-family:var(--display);font-size:clamp(1.5rem,4.28vw,1.8125rem);line-height:1.15;text-decoration:none;color:var(--blue);
}
.menu-nav a span{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--on-ink);min-width:1.75rem;}
.menu-nav a:hover,.menu-nav a[aria-current]{color:var(--blue-deep);}
.menu-actions{margin-top:2rem;}
.menu-contact{margin-top:auto;padding-top:2.5rem;display:grid;gap:.5rem;font-size:.875rem;line-height:1.65;color:var(--on-ink);}
.menu-contact p{margin:0;}
.menu-contact .label{color:var(--on-ink);}
.menu-contact a{color:var(--blue);}

/* ===== css/article/title.css ===== */

/* The title area: crumbs, category, title, date and summary over a photograph under frosted white glass. */
.title-area{
  position:relative;isolation:isolate;color:var(--blue);background:var(--mist-2);
  background-image:url("/assets/photos/paper-1400.jpg");
  background-image:image-set(url("/assets/photos/paper-1400.webp") type("image/webp"),url("/assets/photos/paper-1400.jpg") type("image/jpeg"));
  background-size:cover;background-position:70% 50%;
}
/* the glass: a little denser where the browser cannot blur what lies behind it */
.title-area::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.76);}
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .title-area::before{background:var(--pane-navy);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);}
}
.title-grid{display:grid;gap:var(--gap);padding-block:clamp(3rem,7vw,5.5rem) clamp(2.75rem,6vw,4.5rem);}
.title-text{min-width:0;max-width:52rem;}
.crumbs{margin:0;display:flex;flex-wrap:wrap;gap:.6rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink);}
.crumbs a{color:var(--on-ink);text-decoration:none;}
.crumbs a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:.3em;}
.kicker{margin:clamp(1.75rem,3.5vw,2.5rem) 0 0;font-size:.75rem;font-weight:600;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.title-area h1{margin:1rem 0 0;max-width:24ch;font-family:var(--display);font-size:clamp(1.8125rem,3.75vw,3.1875rem);line-height:1.08;letter-spacing:-.015em;text-wrap:balance;}
.title-meta{margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem;font-size:.8125rem;color:var(--on-ink);}
.lede{margin:1.5rem 0 0;max-width:42rem;font-family:var(--display);font-size:clamp(1.125rem,1.5vw,1.25rem);line-height:1.5;color:var(--blue-deep);}

/* ===== css/article/layout.css ===== */

/* The article's columns: the text, with a side column beside it from 1024px (facts, links and a note). */
.body-grid{display:grid;gap:clamp(2.5rem,5vw,4rem);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(3.5rem,7vw,6rem);}
.side{display:grid;gap:1.5rem;align-content:start;}
@media(min-width:1024px){
  .body-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start;}
  .prose{grid-column:1 / 9;}
  .side{grid-column:10 / 13;position:sticky;top:112px;}
}
.side-card{margin:0;padding:1.25rem 1.4rem;color:var(--blue-deep);background:var(--white);border-top:3px solid var(--blue);box-shadow:0 10px 28px rgba(22,32,58,.08);}
.side-card div{padding:.8rem 0;border-bottom:1px solid var(--line-ink);}
.side-card div:first-child{padding-top:0;}
.side-card div:last-child{border-bottom:0;padding-bottom:0;}
.side-card dt{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink);}
.side-card dd{margin:.25rem 0 0;font-size:.9375rem;color:var(--blue-deep);}
.side-links{margin:0;display:grid;gap:.75rem;justify-items:start;}
.side-note{margin:0;font-size:.75rem;line-height:1.7;color:var(--muted);}
.side-note a{color:var(--ink);text-decoration-color:var(--blue);text-underline-offset:.25em;}

/* ===== css/article/prose.css ===== */

/* The article itself: ordinary HTML from the upload, styled here so every article reads the same way. */
.prose{min-width:0;max-width:44rem;font-family:var(--display);font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.7;color:var(--ink);overflow-wrap:break-word;}
.prose > :first-child,.prose > :first-child > :first-child,.prose > :first-child > :first-child > :first-child{margin-top:0;}
.prose p,.prose ul,.prose ol,.prose dl,.prose blockquote,.prose figure,.prose table,.prose pre,.prose details,.prose address{margin:0 0 1.25em;}
.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--display);color:var(--blue-deep);line-height:1.25;text-wrap:balance;scroll-margin-top:100px;}
.prose h2{margin:2em 0 .65em;padding-top:1em;border-top:1px solid var(--line);font-size:clamp(1.3125rem,1.92vw,1.625rem);font-weight:400;}
.prose h3{margin:1.7em 0 .5em;font-size:1.1875rem;font-weight:500;}
.prose h4{margin:1.5em 0 .5em;font-size:1rem;font-weight:500;}
.prose h5,.prose h6{margin:1.4em 0 .5em;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--blue);}
.prose strong,.prose b{font-weight:500;}
.prose ul,.prose ol{padding-left:1.3em;}
.prose li{margin:.35em 0;padding-left:.2em;}
.prose ul > li::marker{color:var(--blue);}
.prose ol > li::marker{font-family:var(--sans);font-size:.875em;color:var(--blue);}
.prose li > ul,.prose li > ol{margin:.35em 0 .5em;}
.prose dt{font-weight:500;}
.prose dd{margin:0 0 .8em 1.2em;}
.prose blockquote{margin-inline:0;padding:.2em 0 .2em 1.25em;border-left:2px solid var(--blue);font-style:italic;color:var(--ink);}
.prose blockquote > :last-child{margin-bottom:0;}
.prose hr{border:0;height:1px;margin:2.5em 0;background:var(--line);}
.prose img{display:block;height:auto;max-width:100%;margin-inline:auto;}
.prose figure{margin-inline:0;}
.prose figcaption{margin-top:.6em;font-family:var(--sans);font-size:.8125rem;line-height:1.6;color:var(--muted);}
.prose table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-family:var(--sans);font-size:.875rem;line-height:1.6;}
.prose caption{caption-side:top;text-align:left;padding-bottom:.6em;font-size:.8125rem;color:var(--muted);}
.prose th,.prose td{padding:.65em .9em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.prose th{border-bottom-color:var(--ink);font-weight:500;}
.prose code,.prose kbd,.prose samp{font-family:var(--mono);font-size:.85em;background:var(--mist-2);padding:.1em .35em;}
.prose pre{overflow-x:auto;padding:1em 1.2em;background:var(--mist-2);border:1px solid var(--line);font-size:.8125rem;line-height:1.6;}
.prose pre code{background:none;padding:0;}
.prose mark{background:rgba(157,179,234,.45);color:inherit;padding:0 .15em;}
.prose small{font-size:.875em;color:var(--muted);}
.prose sub,.prose sup{line-height:0;}
.prose details{border:1px solid var(--line);padding:.8em 1.1em;}
.prose summary{cursor:pointer;font-weight:500;}
.prose address{font-style:normal;}

/* ===== css/article/more.css ===== */

/* More insights: the firm's other publications, listed under the article. */
.more{background:var(--mist-2);border-top:1px solid var(--line);padding-block:clamp(3rem,7vw,5.5rem);}
.more-grid{display:grid;gap:1.5rem var(--gap);}
.more-heading{margin:0;font-family:var(--display);font-size:clamp(1.5rem,2.38vw,2rem);line-height:1.15;color:var(--blue);}
.more-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
.more-row{border-bottom:1px solid var(--line);}
.more-row a{display:grid;gap:.3rem 1.5rem;padding:1.15rem 0 1.25rem;text-decoration:none;}
.more-date,.more-cat,.more-kind{font-size:.75rem;line-height:1.5;color:var(--muted);}
.more-title{font-family:var(--display);font-size:1.125rem;line-height:1.35;color:var(--blue-deep);}
.more-row a:hover .more-title{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;}
@media(min-width:768px){
  .more-row a{grid-template-columns:8.5rem minmax(0,1fr) 10rem 10rem;align-items:baseline;}
  .more-kind{text-align:right;}
}
@media(min-width:1024px){
  .more-grid{grid-template-columns:repeat(12,minmax(0,1fr));}
  .more-heading{grid-column:1 / 4;}
  .more-list{grid-column:4 / 13;}
}

/* ===== css/article/footer.css ===== */

/* The article footer: logo, address, the Bar Council disclaimer and the copyright line. */
.footer{background:var(--white);color:var(--on-ink);border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,4.5rem) 2rem;font-size:.875rem;line-height:1.7;}
.footer a{color:var(--blue);}
.footer-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.5rem 3rem;padding-bottom:2rem;border-bottom:1px solid var(--line-ink);}
.footer-logo img{height:46px;width:auto;display:block;}
.footer address{font-style:normal;}
.footer .firm-line{display:block;color:var(--blue-deep);}
.footer-legal{margin:1.75rem 0 0;max-width:88ch;font-size:.75rem;line-height:1.75;}
.footer-legal .legal-label{color:var(--blue-deep);font-weight:500;}
.footer-base{margin:1.25rem 0 0;font-size:.75rem;}

/* ===== css/article/gate.css ===== */

/* The entry disclaimer on article pages: the resets it needs here, as these pages have no global ones. */
/* Listed before shared/gate.css, which then sets the margins it wants on top of these. */
.gate-logo{display:block;}
.gate-panel h2,.gate-panel .intro,.gate .note{margin:0;}
.gate-list{list-style:none;margin:0;padding:0;}
.gate-decline{font:inherit;}
/* unlike the site, the hover shows on touch screens too */
.gate-decline:hover{color:var(--blue);text-decoration-color:var(--blue);}

/* ===== css/shared/gate.css ===== */

/* The entry disclaimer: shown over the page until the visitor accepts it, once per visit. */
.gate{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2rem);background:rgba(22,32,58,.4);}
@supports(backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .gate{background:rgba(22,32,58,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
}
html.gate-on{overflow:hidden;}
html.gate-on .gate{display:flex;}
.gate-panel{
  width:min(46rem,100%);max-height:calc(100vh - 1.5rem);max-height:calc(100dvh - 1.5rem);overflow-y:auto;overscroll-behavior:contain;
  padding:clamp(1.5rem,4.5vw,3.25rem);color:var(--blue);background:var(--white);border-top:3px solid var(--blue);
  box-shadow:0 24px 64px rgba(22,32,58,.25);
}
.gate-panel:focus{outline:none;}
.gate-logo{width:auto;height:40px;margin-bottom:clamp(1.25rem,3vw,2rem);-webkit-touch-callout:none;pointer-events:none;}
.gate-panel h2{font-size:clamp(1.6875rem,3.06vw,2.25rem);line-height:1.1;}
.gate-panel .intro{margin-top:1.25rem;font-size:.9375rem;line-height:1.75;color:var(--blue-deep);}
.gate-list{margin-top:1.25rem;border-top:1px solid var(--line-ink);}
.gate-list li{position:relative;padding:.8rem 0 .8rem 1.5rem;border-bottom:1px solid var(--line-ink);font-size:.875rem;line-height:1.7;color:var(--on-ink);}
.gate-list li::before{content:"";position:absolute;left:0;top:1.65em;width:.7rem;height:1px;background:var(--blue);}
.gate-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:clamp(1.5rem,3vw,2rem);
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
.gate-decline{
  min-height:44px;padding:.5rem 0;background:none;border:0;cursor:pointer;
  font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink);
  text-decoration:underline;text-decoration-color:var(--line-ink);text-underline-offset:.4em;
}
@media(hover:hover){.gate-decline:hover{color:var(--blue);text-decoration-color:var(--blue);}}
.gate .note{font-size:.8125rem;color:var(--on-ink);}

/* ===== css/shared/loader.css ===== */

/* The loading screen: white, with the logo, while a page opens and while leaving for the next one. */
/* The scripts set html.is-loading and html.is-leaving; it never waits on anything but the page itself. */
.loader{
  position:fixed;inset:0;z-index:600;display:grid;place-items:center;align-content:center;gap:1.5rem;background:var(--white);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s var(--ease),visibility 0s linear .45s;
}
html.is-loading .loader,html.is-leaving .loader{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s var(--ease);}
html.is-loading .loader{transition:none;}
.loader-logo{width:auto;height:clamp(52px,9vw,72px);}
.loader-line{position:relative;display:block;width:132px;height:2px;overflow:hidden;background:rgba(31,77,181,.14);}
.loader-line::after{content:"";position:absolute;inset:0;background:var(--blue);transform:translateX(-100%);animation:loader-line 1.1s var(--turn-ease) infinite;}
@keyframes loader-line{from{transform:translateX(-100%);}to{transform:translateX(100%);}}

/* ===== css/article/motion.css ===== */

/* Stillness on the article pages for those who ask for reduced motion. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}

/* ===== css/article/print.css ===== */

/* Print: the title and the article only, black on white. Last in bundles.json. */
@media print{
  .bar,.menu,.menu-scrim,.side,.more,.footer,.gate,.skip,.loader{display:none!important;}
  body,.title-area{background:#fff;color:#000;}
  .title-area::before{display:none;}
  .title-area *{color:#000!important;}
  .body-grid{display:block;padding-block:1rem;}
  .prose{font-size:11pt;color:#000;max-width:none;}
}
