:root {
  --ivory:#faf8f3; --navy:#0b203a; --gold:#a67b3f; --border:#c7aa7e; --muted:#465266; --cjms-green:#24543e; --cjms-gold:#9a752d;
  --font-display:'Cormorant Garamond',Georgia,serif; --font-body:'Source Serif 4',Georgia,serif; --font-label:'Work Sans',sans-serif;
  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-name:clamp(1.5rem,1.6vw + .3rem,1.85rem); --text-title:clamp(2rem,3.2vw,3rem);
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;
}
*,*::before,*::after {box-sizing:border-box;margin:0;padding:0}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body {min-height:100dvh;color:var(--navy);background:var(--ivory);font:var(--text-base)/1.55 var(--font-body);padding:var(--space-8) var(--space-10) var(--space-6)}
button,a {font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
button {cursor:pointer}
img,svg {display:block;max-width:100%}
:focus-visible {outline:3px solid var(--navy);outline-offset:5px}
.architecture {position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(250,248,243,.57),rgba(250,248,243,.69)),url('assets/architecture.webp') center/cover no-repeat}
.brand-bar,main,footer {position:relative;z-index:1}
.brand-bar {max-width:1312px;margin:0 auto}
.brand {width:510px;height:auto}
main {max-width:1232px;margin:0 auto}
.introduction {text-align:center;margin:var(--space-2) auto var(--space-8)}
h1 {font:600 var(--text-title)/1.1 var(--font-display);letter-spacing:-.035em;text-wrap:balance}
.meeting-date {display:flex;align-items:center;justify-content:center;gap:var(--space-3);font-size:clamp(1rem,1.6vw,1.25rem);letter-spacing:.12em;margin-top:var(--space-3)}
.meeting-date::before,.meeting-date::after {content:"";height:1px;width:44px;background:var(--gold);margin-inline:var(--space-2)}
.meeting-resources {display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}
.introduction-credit {font:400 var(--text-sm)/1.6 var(--font-label);letter-spacing:.025em;color:var(--cjms-green)}
.introduction-credit span:first-child {font-weight:500;color:var(--cjms-green)}
.company-website {display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;color:var(--navy);font:500 var(--text-sm)/1.5 var(--font-label);text-underline-offset:4px;text-decoration-color:var(--border)}
.company-website:hover {color:var(--cjms-green);text-decoration-color:var(--cjms-green)}
.team-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--space-4)}
.attendee {grid-column:span 2;display:flex;flex-direction:column;width:100%;min-height:15.75rem;padding:var(--space-6);text-align:left;background:rgba(253,251,247,.92);border:1px solid var(--border);border-radius:0;box-shadow:0 4px 18px rgba(72,54,31,.035);transition:background 180ms,border-color 180ms,box-shadow 180ms,transform 180ms}
.attendee:nth-child(4) {grid-column:2 / span 2}
.attendee:hover {background:#fffdf9;border-color:var(--gold);box-shadow:0 8px 24px rgba(72,54,31,.1);transform:translateY(-2px)}
.identity {display:flex;align-items:center;gap:var(--space-4);min-height:100px}
.avatar {position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:82px;height:82px;border:1px solid var(--gold);outline:2px solid var(--ivory);outline-offset:-4px;border-radius:50%;overflow:hidden;background:var(--navy);color:#d3ad72;font:500 2.15rem/1 var(--font-display)}
.avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 23%}
.avatar.caleb img {object-position:50% 19%}
.avatar.ashley img {object-position:50% 32%}
.identity-copy {min-width:0}
.attendee-name {display:block;font:600 var(--text-name)/1.08 var(--font-display);letter-spacing:-.035em;overflow-wrap:normal}
.role {display:block;font:500 var(--text-xs)/1.5 var(--font-label);letter-spacing:.12em;text-transform:uppercase}
.role::before {content:"";display:block;width:32px;height:1px;background:var(--gold);margin:var(--space-2) 0}
.summary {display:block;font:400 var(--text-base)/1.4 var(--font-body);margin-top:var(--space-3)}
.view-profile {display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-3);font:500 var(--text-sm)/1.3 var(--font-label);color:#6d4e23}
.view-profile .link-label {text-decoration:underline;text-decoration-color:#bba076;text-underline-offset:4px}
.arrow {font-size:1.3rem;transition:transform 180ms}
.attendee:hover .arrow {transform:translateX(3px)}
footer {max-width:1232px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin:var(--space-8) auto 0;text-align:left}
.cjms-lockup {display:flex;align-items:center;gap:var(--space-4)}
.footer-name {color:var(--cjms-green);font:600 2.625rem/1.05 var(--font-display);letter-spacing:-.025em}
.footer-gold-rule {width:1px;height:44px;background:var(--gold);flex-shrink:0}
.footer-wordmark {display:block;white-space:nowrap;color:var(--cjms-green);font:500 1.125rem/1.5 var(--font-label);letter-spacing:.01em}
.footer-tagline {color:var(--cjms-gold);font-weight:500}
.footer-tagline sup {font-size:.65em;vertical-align:super;margin-left:2px}
.footer-description {font:500 var(--text-xs)/1.5 var(--font-label);letter-spacing:.13em;text-transform:uppercase;color:var(--cjms-green);text-align:right}
.skip-link {position:absolute;top:-80px;left:var(--space-4);padding:var(--space-3);background:var(--ivory);z-index:5}
.skip-link:focus {top:var(--space-4)}
dialog {position:fixed;inset:0;margin:auto;width:min(720px,calc(100% - 64px));max-height:calc(100dvh - 64px);overflow-y:auto;background:var(--ivory);color:var(--navy);border:1px solid var(--border);box-shadow:0 24px 100px rgba(8,23,41,.25)}
dialog::backdrop {background:rgba(10,25,43,.48);backdrop-filter:blur(4px)}
.dialog-toolbar {position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--ivory);z-index:2;font:500 var(--text-xs)/1.4 var(--font-label);letter-spacing:.12em}
#close-profile {display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);background:none;border:1px solid transparent;font:500 var(--text-sm)/1 var(--font-label);letter-spacing:normal}
#close-profile:hover {border-color:var(--border)}
.close-symbol {font:400 1.75rem/1 var(--font-label)}
.profile-content {padding:var(--space-5) var(--space-10) var(--space-10)}
.profile-heading {display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-8)}
.profile-heading .avatar {width:92px;height:92px;font-size:2.5rem}
.profile-heading h2 {font:600 clamp(2rem,3vw,2.75rem)/1.08 var(--font-display);letter-spacing:-.03em}
.profile-section-label {font:500 var(--text-xs)/1.5 var(--font-label);letter-spacing:.15em;text-transform:uppercase;color:#6d4e23;margin-bottom:var(--space-4)}
.biography p {font:400 1.0625rem/1.75 var(--font-body);margin-bottom:var(--space-5)}
.source {margin-top:var(--space-8);font:400 .8125rem/1.6 var(--font-label);color:var(--muted)}
.source a {display:inline-flex;align-items:center;min-height:44px;color:#6d4e23;text-underline-offset:4px}
.source-note {margin-top:var(--space-2)}
body.profile-open {overflow:hidden}
@media(min-width:1440px){body{padding-top:var(--space-8)}.introduction{margin-bottom:var(--space-8)}.attendee{min-height:16.5rem}footer{margin-top:var(--space-6)}}
@media(max-width:1100px) and (min-width:761px){body{padding-inline:var(--space-6)}.attendee{min-height:17.75rem;padding:var(--space-5)}.identity{gap:var(--space-3)}.avatar{width:64px;height:64px;font-size:1.8rem}.attendee-name{font-size:1.5rem}}
@media(max-width:760px) {
  body{padding:var(--space-6) var(--space-5)}.brand{width:min(510px,100%)}.brand-bar{display:flex;justify-content:center}
  .introduction{margin:var(--space-8) auto var(--space-6)}h1{font-size:clamp(2rem,6vw,2.5rem);letter-spacing:-.03em}
  .meeting-date{display:block;max-width:34ch;margin:var(--space-3) auto 0;font-size:var(--text-sm);letter-spacing:.05em}
  .meeting-date::before,.meeting-date::after{display:none}
  .meeting-resources{flex-direction:column;gap:0;margin-top:var(--space-3)}
  .resource-divider{display:none}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .attendee,.attendee:nth-child(4){grid-column:auto;min-height:17rem;padding:var(--space-5)}
  .identity{gap:var(--space-3)}.avatar{width:64px;height:64px}.attendee-name{font-size:1.6rem}
  .attendee:last-child{grid-column:1 / span 2;width:calc(50% - 8px);justify-self:center}
  footer{margin-top:var(--space-8);flex-wrap:wrap}
  .footer-description{display:none}
  dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0}
  .dialog-toolbar{padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3),env(safe-area-inset-top))}
  .profile-content{padding:var(--space-6) var(--space-6) max(var(--space-8),env(safe-area-inset-bottom))}
  .profile-heading{align-items:center;gap:var(--space-4)}.profile-heading h2{font-size:2rem}.profile-heading .avatar{width:76px;height:76px}
}
@media(max-width:560px) {
  body{padding:var(--space-5) var(--space-4)}
  .introduction{margin:var(--space-6) auto var(--space-5)}
  .team-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
  .attendee,.attendee:nth-child(4),.attendee:last-child{grid-column:auto;width:100%;min-height:0;padding:var(--space-4)}
  .identity{min-height:76px;gap:var(--space-4)}.avatar{width:64px;height:64px;font-size:1.9rem}
  .attendee-name{font-size:1.65rem}.summary{margin-top:var(--space-2)}
  .view-profile{padding-top:var(--space-3)}
  .role{letter-spacing:.09em}.footer-description{letter-spacing:.11em;text-align:left;width:100%}
  .footer-name{font-size:2.25rem;flex-shrink:0}.cjms-lockup{gap:var(--space-3);min-width:0;width:100%}
  .footer-wordmark{white-space:normal;min-width:0;font-size:1rem}.footer-wordmark>span{white-space:nowrap}
  footer{gap:var(--space-4)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
