/* Fonts are self-hosted. Their OFL licences are in assets/licenses/. */
/* GFS Didot is reserved for Richard's name; its OFL is beside the font. */
@font-face {
  font-family: 'GFS Didot';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/gfs-didot-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/dm-sans-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url('./fonts/fraunces-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('./fonts/fraunces-latin-italic.woff2') format('woff2');
}

html { background:#0E1620; scroll-padding-top:16px; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; min-width:280px; }
body,button { font-family:'DM Sans',Arial,sans-serif; font-optical-sizing:auto; font-synthesis:none; }
button,summary { cursor:pointer; }
svg { vertical-align:middle; }
.rs-skip-link {
  position:absolute; z-index:10; top:12px; left:12px; padding:14px 18px;
  background:#E7E9ED; color:#0E1620; font-size:14px; font-weight:600;
  transform:translateY(-180%); text-decoration:underline;
}
.rs-skip-link:focus { transform:translateY(0); }
.rs-skip-link:focus-visible,
#rs-bold :is(a,button,summary):focus-visible {
  outline:3px solid #E7E9ED; outline-offset:3px;
  box-shadow:0 0 0 6px #0E1620;
}
#rs-bold [id] { scroll-margin-top:16px; }
#rs-bold .rs-brand { scroll-margin-top:16px; }

#rs-bold { container-type:inline-size; container-name:rsbold; color-scheme:light; width:100%; --rs-paper:#E7E9ED; --rs-soft:#D2D5D9; --rs-ink:#0E1620; --rs-slate:#2B3241; --rs-muted:#535D6B; --rs-light:#B8C2CF; --rs-rule:rgba(14,22,32,.22); --rs-dark-rule:rgba(231,233,237,.25); --rs-serif:'Fraunces',Georgia,'Times New Roman',serif; --rs-sans:'DM Sans','Avenir Next',Arial,sans-serif; font-family:var(--rs-sans); color:var(--rs-ink); background:transparent; }
#rs-bold * { box-sizing:border-box; }
#rs-bold .rs-page { background:var(--rs-paper); }
#rs-bold h1,#rs-bold h2,#rs-bold h3,#rs-bold p,#rs-bold figure { margin:0; }
#rs-bold h2,#rs-bold h3 { text-wrap:balance; }
#rs-bold a { color:inherit; text-decoration:none; }
#rs-bold button,#rs-bold summary { font:inherit; }
#rs-bold .rs-shell { width:calc(100% - 96px); max-width:1200px; margin:0 auto; }
#rs-bold .rs-top-band,#rs-bold .rs-hero-band { background:var(--rs-ink); color:var(--rs-paper); }
#rs-bold .rs-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:106px; border-bottom:1px solid var(--rs-dark-rule); }
#rs-bold .rs-brand { flex-shrink:0; display:block; font-family:'GFS Didot',Didot,Georgia,'Times New Roman',serif; font-size:26px; font-weight:400; letter-spacing:.025em; line-height:1.04; }
#rs-bold .rs-nav { display:flex; align-items:center; gap:22px; }
#rs-bold .rs-nav a { font-size:12px; text-transform:uppercase; letter-spacing:.06em; padding:12px 0; font-weight:500; }
#rs-bold .rs-nav .rs-contact-nav { background:var(--rs-paper); color:var(--rs-ink); padding:15px 17px; }
#rs-bold .rs-nav a:hover { color:var(--rs-light); }
#rs-bold .rs-nav .rs-contact-nav:hover { background:var(--rs-soft); color:var(--rs-ink); }
#rs-bold .rs-menu { display:none; color:var(--rs-paper); background:transparent; border:1px solid var(--rs-dark-rule); min-height:44px; padding:10px 14px; font-size:12px; }
#rs-bold .rs-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:40px; padding:57px 0 62px; align-items:center; }
#rs-bold .rs-kicker { font-size:11px; font-weight:600; line-height:1.6; letter-spacing:.15em; text-transform:uppercase; color:var(--rs-light); }
#rs-bold .rs-hero h1 { margin:25px 0 26px; font-family:var(--rs-sans); font-size:clamp(55px,8.2cqw,104px); font-weight:600; letter-spacing:-.055em; line-height:1.02; }
#rs-bold .rs-hero h1 span { display:block; }
#rs-bold .rs-hero h1 .rs-accent-line { color:var(--rs-light); font-family:var(--rs-serif); font-style:italic; font-weight:400; letter-spacing:-.045em; line-height:1.08; }
#rs-bold .rs-intro { font-size:16px; line-height:1.75; max-width:435px; color:#C4CAD3; }
#rs-bold .rs-actions { display:flex; flex-wrap:wrap; align-items:center; gap:27px; margin-top:28px; }
#rs-bold .rs-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; background:var(--rs-ink); color:var(--rs-paper); padding:16px 19px; font-size:13px; font-weight:600; min-height:50px; }
#rs-bold .rs-hero .rs-button,#rs-bold .rs-contact .rs-button { background:var(--rs-paper); color:var(--rs-ink); }
#rs-bold .rs-button:hover { background:var(--rs-slate); }
#rs-bold .rs-hero .rs-button:hover,#rs-bold .rs-contact .rs-button:hover { background:var(--rs-soft); }
#rs-bold .rs-text-link { display:inline-flex; align-items:center; gap:16px; padding:12px 0; min-height:44px; border-bottom:1px solid var(--rs-rule); font-size:13px; font-weight:500; }
#rs-bold .rs-hero .rs-text-link,#rs-bold .rs-contact .rs-text-link { border-bottom-color:var(--rs-dark-rule); }
#rs-bold .rs-arrow { width:18px; height:18px; display:inline-block; flex-shrink:0; }
#rs-bold .rs-portrait { width:100%; max-width:360px; justify-self:end; }
#rs-bold .rs-photo { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; background:var(--rs-soft); }
#rs-bold .rs-portrait figcaption { padding:20px 22px; background:var(--rs-paper); color:var(--rs-ink); }
#rs-bold .rs-caption-name { display:block; font-size:16px; font-weight:600; letter-spacing:-.025em; }
#rs-bold .rs-caption-role { display:block; font-size:11px; line-height:1.6; color:var(--rs-muted); margin-top:5px; }
#rs-bold .rs-focus-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:2px solid var(--rs-ink); }
#rs-bold .rs-focus-item { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:28px 25px; border-right:1px solid var(--rs-rule); font-size:22px; font-weight:600; letter-spacing:-.04em; }
#rs-bold .rs-focus-item:first-child { padding-left:0; }
#rs-bold .rs-focus-item:last-child { border-right:0; padding-right:0; }
#rs-bold .rs-focus-item small { display:block; font-family:var(--rs-sans); font-size:11px; line-height:1.6; font-weight:400; color:var(--rs-muted); letter-spacing:0; margin-top:4px; }
#rs-bold .rs-focus-item:last-child { font-family:var(--rs-serif); font-weight:400; letter-spacing:-.025em; }
#rs-bold .rs-focus-item:hover { color:var(--rs-slate); }
#rs-bold .rs-section-label { font-size:11px; font-weight:600; line-height:1.6; letter-spacing:.14em; text-transform:uppercase; color:var(--rs-slate); }
#rs-bold .rs-about { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; padding:76px 0 80px; }
#rs-bold .rs-about h2 { margin-top:19px; max-width:430px; font-size:clamp(34px,4.9cqw,62px); font-weight:500; letter-spacing:-.055em; line-height:1.07; }
#rs-bold .rs-about h2 em { font-family:var(--rs-serif); font-weight:400; }
#rs-bold .rs-about-copy { padding-top:36px; }
#rs-bold .rs-body { font-size:16px; line-height:1.75; color:var(--rs-muted); }
#rs-bold .rs-about-copy p+p { margin-top:16px; }
#rs-bold .rs-profile-details { margin-top:22px; }
#rs-bold .rs-profile-details summary { display:flex; justify-content:space-between; align-items:center; gap:15px; list-style:none; font-size:12px; font-weight:500; padding:14px 0; border-bottom:1px solid var(--rs-ink); }
#rs-bold .rs-profile-details summary::-webkit-details-marker { display:none; }
#rs-bold .rs-profile-details summary:after { content:'+'; font-size:24px; font-weight:400; }
#rs-bold .rs-profile-details[open] summary:after { content:'−'; }
#rs-bold .rs-career { list-style:none; margin:0; padding:3px 0 0; }
#rs-bold .rs-career li { display:grid; grid-template-columns:105px 1fr; gap:15px; padding:15px 0; font-size:12px; line-height:1.7; border-bottom:1px solid var(--rs-rule); color:var(--rs-muted); }
#rs-bold .rs-career strong { font-weight:500; color:var(--rs-ink); }
#rs-bold .rs-sentinel { color:var(--rs-paper); background:var(--rs-slate); }
#rs-bold .rs-sentinel-inner { padding:63px 0 66px; }
#rs-bold .rs-sentinel-top { display:flex; align-items:center; justify-content:space-between; gap:26px; padding-bottom:31px; margin-bottom:36px; border-bottom:1px solid var(--rs-dark-rule); }
#rs-bold .rs-sentinel .rs-section-label { color:var(--rs-light); }
#rs-bold .rs-sentinel-logo { display:block; width:184px; height:auto; }
#rs-bold .rs-sentinel-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:70px; }
#rs-bold .rs-sentinel h2 { max-width:590px; font-size:clamp(35px,5.2cqw,64px); font-weight:500; line-height:1.06; letter-spacing:-.05em; }
#rs-bold .rs-sentinel h2 em { font-family:var(--rs-serif); font-weight:400; color:var(--rs-light); }
#rs-bold .rs-sentinel .rs-body { color:#CBD1DA; margin-bottom:17px; }
#rs-bold .rs-light-link { color:var(--rs-paper); border-bottom-color:var(--rs-dark-rule); }
#rs-bold .rs-theme-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin-top:44px; }
#rs-bold .rs-theme { padding-top:18px; border-top:1px solid var(--rs-dark-rule); }
#rs-bold .rs-theme small { display:block; font-size:11px; margin-bottom:12px; color:var(--rs-light); }
#rs-bold .rs-theme span { display:block; max-width:230px; font-size:18px; line-height:1.4; letter-spacing:-.025em; }
#rs-bold .rs-award { color:#CBD1DA; font-size:11px; line-height:1.7; margin-top:28px; }
#rs-bold .rs-award strong { color:var(--rs-paper); font-weight:500; }
#rs-bold .rs-perspectives { padding:73px 0 78px; }
#rs-bold .rs-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; flex-wrap:wrap; margin-bottom:36px; }
#rs-bold .rs-section-head h2 { font-size:clamp(34px,4.9cqw,62px); line-height:1.1; font-weight:500; letter-spacing:-.05em; margin-top:17px; }
#rs-bold .rs-article-grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; }
#rs-bold .rs-article { display:flex; flex-direction:column; align-items:flex-start; border-top:2px solid var(--rs-ink); padding-top:19px; }
#rs-bold .rs-article-meta { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; width:100%; font-size:11px; line-height:1.6; text-transform:uppercase; letter-spacing:.06em; color:var(--rs-muted); }
#rs-bold .rs-article h3 { margin:22px 0 15px; font-family:var(--rs-serif); font-size:clamp(25px,3cqw,37px); line-height:1.18; letter-spacing:-.025em; font-weight:400; }
#rs-bold .rs-article p { font-size:14px; line-height:1.75; color:var(--rs-muted); padding-bottom:22px; }
#rs-bold .rs-article-link { display:flex; align-items:center; gap:17px; margin-top:auto; min-height:44px; font-size:12px; font-weight:500; }
#rs-bold .rs-article:hover h3 { color:var(--rs-slate); }
#rs-bold .rs-book { background:var(--rs-soft); }
#rs-bold .rs-book-inner { display:grid; grid-template-columns:.85fr 1.25fr; gap:65px; padding:68px 0; align-items:center; }
#rs-bold .rs-book-stage { display:flex; align-items:center; justify-content:center; padding:8px 0; }
#rs-bold .rs-book-cover { display:block; width:205px; max-width:100%; height:auto; box-shadow:12px 15px 25px #0E162029; }
#rs-bold .rs-book h2 { margin:18px 0 20px; font-family:var(--rs-serif); font-size:clamp(41px,6cqw,73px); line-height:1.02; font-weight:400; letter-spacing:-.04em; }
#rs-bold .rs-book-subtitle { font-size:19px; line-height:1.5; max-width:455px; margin-bottom:18px; letter-spacing:-.015em; }
#rs-bold .rs-book .rs-body { font-size:16px; color:#48515D; }
#rs-bold .rs-book .rs-text-link { margin-top:14px; border-bottom-color:#9098A4; }
#rs-bold .rs-contact-band { color:var(--rs-paper); background:var(--rs-ink); }
#rs-bold .rs-contact { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:40px; padding:69px 0 71px; }
#rs-bold .rs-contact .rs-section-label { color:var(--rs-light); }
#rs-bold .rs-contact h2 { margin:16px 0 20px; font-family:var(--rs-serif); font-size:clamp(66px,10.4cqw,126px); line-height:.95; letter-spacing:-.055em; font-weight:400; }
#rs-bold .rs-contact p { font-size:14px; line-height:1.7; color:var(--rs-light); }
#rs-bold .rs-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
#rs-bold .rs-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; border-top:1px solid var(--rs-dark-rule); padding:23px 0 28px; font-size:11px; line-height:1.7; color:var(--rs-light); }
#rs-bold .rs-footer-right { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
#rs-bold .rs-footer a { padding:8px 0; }
/* Smooth superellipse corners, following the supplied squircle reference.
   Rounded fallbacks remain available in browsers without corner-shape. */
#rs-bold {
  --rs-radius-control:12px;
  --rs-radius-card:20px;
  --rs-radius-portrait:28px;
}
.rs-skip-link,
#rs-bold :is(.rs-button,.rs-contact-nav,.rs-menu) {
  border-radius:var(--rs-radius-control,12px);
}
#rs-bold .rs-portrait {
  border-radius:var(--rs-radius-portrait);
  overflow:hidden;
}
#rs-bold .rs-article {
  padding:26px;
  border:1px solid var(--rs-rule);
  border-radius:var(--rs-radius-card);
  background:rgba(255,255,255,.18);
}
#rs-bold .rs-article:hover { background:rgba(255,255,255,.32); }
#rs-bold .rs-profile-details {
  border:1px solid var(--rs-rule);
  border-radius:var(--rs-radius-card);
}
#rs-bold .rs-profile-details summary {
  padding:15px 18px;
  border-bottom:0;
  border-radius:inherit;
}
#rs-bold .rs-profile-details[open] summary {
  border-bottom:1px solid var(--rs-rule);
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
#rs-bold .rs-profile-details .rs-career { padding:0 18px 5px; }
#rs-bold .rs-profile-details .rs-career li:last-child { border-bottom:0; }
@supports (corner-shape:squircle) {
  #rs-bold {
    --rs-radius-control:24px;
    --rs-radius-card:40px;
    --rs-radius-portrait:56px;
  }
  .rs-skip-link,
  #rs-bold :is(.rs-button,.rs-contact-nav,.rs-menu,.rs-portrait,.rs-article,.rs-profile-details),
  #rs-bold .rs-profile-details summary {
    corner-shape:squircle;
  }
}

@container rsbold (max-width:850px) {
  #rs-bold .rs-shell { width:calc(100% - 64px); }
  #rs-bold .rs-nav { gap:15px; }
  #rs-bold .rs-brand { font-size:22px; }
  #rs-bold .rs-nav a { font-size:11px; }
  #rs-bold .rs-hero { gap:29px; }
  #rs-bold .rs-hero h1 { font-size:8.15cqw; }
  #rs-bold .rs-focus-item { padding:25px 20px; font-size:20px; }
  #rs-bold .rs-about { gap:40px; }
  #rs-bold .rs-sentinel-grid { gap:40px; }
  #rs-bold .rs-book-inner { gap:40px; }
}
@container rsbold (max-width:710px) {
  #rs-bold .rs-shell { width:calc(100% - 48px); }
  #rs-bold .rs-header { min-height:88px; flex-wrap:wrap; column-gap:18px; row-gap:0; }
  html.js #rs-bold .rs-menu { display:block; }
  #rs-bold .rs-nav { display:flex; flex:0 0 100%; padding:7px 0 20px; flex-wrap:wrap; gap:5px 25px; }
  html.js #rs-bold .rs-nav { display:none; }
  html.js #rs-bold .rs-nav[data-open='true'] { display:flex; }
  #rs-bold .rs-nav a { font-size:12px; min-height:44px; }
  #rs-bold .rs-hero { grid-template-columns:1.35fr 1fr; gap:24px; padding:43px 0 48px; }
  #rs-bold .rs-kicker { font-size:11px; letter-spacing:.09em; max-width:300px; }
  #rs-bold .rs-hero h1 { font-size:7.8cqw; margin:21px 0 24px; }
  #rs-bold .rs-intro { font-size:15px; }
  #rs-bold .rs-actions { gap:18px; margin-top:25px; }
  #rs-bold .rs-button { padding:14px 16px; gap:20px; }
  #rs-bold .rs-portrait figcaption { padding:17px; }
  #rs-bold .rs-caption-name { font-size:14px; }
  #rs-bold .rs-focus-item { padding:23px 15px; font-size:17px; gap:10px; }
  #rs-bold .rs-focus-item .rs-arrow { width:14px; }
  #rs-bold .rs-about { padding:53px 0 56px; gap:30px; }
  #rs-bold .rs-about h2 { font-size:36px; }
  #rs-bold .rs-body { font-size:15px; }
  #rs-bold .rs-about-copy { padding-top:34px; }
  #rs-bold .rs-career li { grid-template-columns:1fr; gap:6px; }
  #rs-bold .rs-sentinel-inner { padding:46px 0; }
  #rs-bold .rs-sentinel-grid { gap:30px; }
  #rs-bold .rs-sentinel h2 { font-size:36px; }
  #rs-bold .rs-theme-list { gap:20px; margin-top:33px; }
  #rs-bold .rs-theme span { font-size:16px; }
  #rs-bold .rs-perspectives { padding:49px 0 55px; }
  #rs-bold .rs-section-head h2 { font-size:36px; }
  #rs-bold .rs-article-grid { gap:29px; }
  #rs-bold .rs-article h3 { font-size:26px; }
  #rs-bold .rs-book-inner { gap:30px; padding:49px 0; }
  #rs-bold .rs-book-cover { width:178px; }
  #rs-bold .rs-book h2 { font-size:46px; }
  #rs-bold .rs-book-subtitle { font-size:17px; }
  #rs-bold .rs-contact { padding:51px 0; }
}
@container rsbold (max-width:540px) {
  #rs-bold .rs-hero { grid-template-columns:1fr; gap:33px; padding:37px 0 37px; }
  #rs-bold .rs-kicker { max-width:none; }
  #rs-bold .rs-hero h1 { font-size:clamp(48px,13.5cqw,73px); margin:23px 0 23px; line-height:1; }
  #rs-bold .rs-hero h1 .rs-accent-line { line-height:1.08; }
  #rs-bold .rs-intro { max-width:430px; }
  #rs-bold .rs-portrait { max-width:none; justify-self:stretch; display:grid; grid-template-columns:1.15fr 1fr; align-items:stretch; }
  #rs-bold .rs-portrait figcaption { display:flex; flex-direction:column; justify-content:center; padding:18px; }
  #rs-bold .rs-caption-name { font-size:16px; line-height:1.3; }
  #rs-bold .rs-caption-role { margin-top:9px; }
  #rs-bold .rs-focus-strip { grid-template-columns:1fr; }
  #rs-bold .rs-focus-item,#rs-bold .rs-focus-item:first-child,#rs-bold .rs-focus-item:last-child { padding:19px 0; border-right:0; border-bottom:1px solid var(--rs-rule); font-size:23px; }
  #rs-bold .rs-focus-item:last-child { border-bottom:0; }
  #rs-bold .rs-focus-item .rs-arrow { width:20px; height:20px; }
  #rs-bold .rs-about { grid-template-columns:1fr; gap:0; }
  #rs-bold .rs-about h2 { font-size:42px; max-width:390px; }
  #rs-bold .rs-about-copy { padding-top:25px; }
  #rs-bold .rs-sentinel-top { flex-wrap:wrap; gap:22px; padding-bottom:25px; margin-bottom:29px; }
  #rs-bold .rs-sentinel-grid { grid-template-columns:1fr; gap:26px; }
  #rs-bold .rs-sentinel h2 { font-size:42px; max-width:390px; }
  #rs-bold .rs-theme-list { grid-template-columns:1fr; gap:0; margin-top:26px; }
  #rs-bold .rs-theme { display:flex; align-items:baseline; gap:17px; padding:17px 0; }
  #rs-bold .rs-theme small { margin:0; }
  #rs-bold .rs-theme span { font-size:17px; max-width:none; }
  #rs-bold .rs-award { margin-top:12px; }
  #rs-bold .rs-section-head { gap:18px; margin-bottom:27px; }
  #rs-bold .rs-section-head h2 { font-size:42px; }
  #rs-bold .rs-article-grid { grid-template-columns:1fr; gap:30px; }
  #rs-bold .rs-article h3 { font-size:29px; }
  #rs-bold .rs-article { padding:22px; }
  #rs-bold .rs-book-inner { grid-template-columns:1fr; gap:33px; }
  #rs-bold .rs-book-stage { justify-content:flex-start; }
  #rs-bold .rs-book-cover { width:168px; }
  #rs-bold .rs-book h2 { font-size:50px; }
  #rs-bold .rs-contact { gap:26px; }
  #rs-bold .rs-contact h2 { font-size:76px; }
  #rs-bold .rs-footer-right { gap:15px; }
}
@container rsbold (max-width:360px) {
  #rs-bold .rs-shell { width:calc(100% - 40px); }
  #rs-bold .rs-hero h1 { font-size:47px; }
  #rs-bold .rs-portrait { grid-template-columns:1fr 1fr; }
  #rs-bold .rs-portrait figcaption { padding:14px; }
  #rs-bold .rs-caption-name { font-size:14px; }
  #rs-bold .rs-about h2,#rs-bold .rs-sentinel h2,#rs-bold .rs-section-head h2 { font-size:37px; }
}
@media (prefers-reduced-motion:no-preference) {
  #rs-bold a { transition:color .15s ease,background .15s ease; }
}

/* The standalone 404 page reuses the approved palette and typography. */
#rs-bold .rs-not-found { min-height:calc(100svh - 106px); padding:85px 0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
#rs-bold .rs-not-found h1 { font-family:var(--rs-serif); font-weight:400; font-size:clamp(54px,9vw,110px); line-height:1.05; letter-spacing:-.055em; margin:22px 0; }
#rs-bold .rs-not-found p { max-width:38rem; }
#rs-bold .rs-not-found .rs-button { background:var(--rs-paper); color:var(--rs-ink); }

