/* Staff-Pods (Wollopit). Everything is driven by the variables below, which the Elementor widget's style controls set. */
.sp, .sp-portal{
	--sp-cols:var(--sp-cols-d,4); --sp-gap:24px; --sp-row-gap:36px; --sp-justify:flex-start;
	--sp-radius:18px; --sp-ratio:4 / 5; --sp-photo-pos:center top; --sp-photo-bg:#ece7e2;
	--sp-ink:#16181d; --sp-muted:rgba(22,24,29,.62); --sp-accent:#e8505b; --sp-accent-ink:#fff; --sp-line:rgba(22,24,29,.12);
	--sp-card-bg:transparent; --sp-card-pad:0px; --sp-card-shadow:none; --sp-card-hover-shadow:0 18px 40px rgba(16,20,24,.14);
	--sp-plus-bg:var(--sp-ink); --sp-plus-fg:#fff; --sp-plus-hover-bg:var(--sp-accent);
	--sp-panel-bg:#fff; --sp-panel-ink:var(--sp-ink); --sp-panel-radius:24px; --sp-panel-width:1060px; --sp-backdrop:rgba(16,20,24,.7); --sp-blur:6px;
	--sp-chip-bg:transparent; --sp-chip-ink:var(--sp-ink); --sp-chip-on-bg:var(--sp-ink); --sp-chip-on-ink:#fff;
	--sp-ease:cubic-bezier(.16,1,.3,1); --sp-speed:1;
}
.sp{color:var(--sp-ink); width:100%}
.sp *, .sp-portal *{box-sizing:border-box}
.sp p, .sp h1, .sp h2, .sp h3, .sp h4, .sp h5, .sp ul, .sp-portal p, .sp-portal h3, .sp-portal ul, .sp-portal dl, .sp-portal blockquote{margin:0; padding:0}
.sp ul, .sp-portal ul{list-style:none}
.sp-ico{width:1em; height:1em; flex:none}
.screen-reader-text{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap}

/* ---------- heading ---------- */
.sp__head{display:grid; grid-template-columns:1fr auto; align-items:end; gap:6px 24px; margin:0 0 32px; padding-bottom:20px; border-bottom:1px solid var(--sp-line)}
.sp__eyebrow{grid-column:1 / -1; display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--sp-accent)}
.sp__eyebrow::before{content:""; width:28px; height:2px; border-radius:2px; background:currentColor}
.sp__title{font-size:clamp(32px,4vw,52px); line-height:1.05; font-weight:400; color:var(--sp-ink)}
.sp__count{font-size:13px; letter-spacing:.04em; color:var(--sp-muted)}

/* ---------- filters ---------- */
.sp__filters{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; margin:0 0 30px}
.sp__chips{display:flex; flex-wrap:wrap; gap:8px}
.sp button.sp__chip{appearance:none; display:inline-flex !important; align-items:center; height:auto; min-height:38px; margin:0 !important; padding:8px 16px !important; border-radius:999px !important;
	border:1px solid var(--sp-line) !important; background:var(--sp-chip-bg) !important; color:var(--sp-chip-ink) !important; box-shadow:none !important;
	font:inherit !important; font-size:13px !important; font-weight:600 !important; letter-spacing:.02em !important; text-transform:none !important; line-height:1.2 !important; cursor:pointer;
	transition:background .3s, color .3s, border-color .3s, transform .3s var(--sp-ease)}
.sp button.sp__chip:hover{border-color:var(--sp-ink) !important; transform:translateY(-1px)}
.sp button.sp__chip.is-on{background:var(--sp-chip-on-bg) !important; color:var(--sp-chip-on-ink) !important; border-color:var(--sp-chip-on-bg) !important}
.sp__search{position:relative; display:flex; align-items:center; min-width:min(280px,100%)}
.sp__search .sp-ico{position:absolute; left:14px; font-size:17px; color:var(--sp-muted); pointer-events:none}
.sp__search input{width:100%; height:42px; margin:0; padding:0 16px 0 40px !important; border-radius:999px !important; border:1px solid var(--sp-line) !important; background:transparent !important;
	color:var(--sp-ink) !important; font:inherit; font-size:14px; outline:0; box-shadow:none !important; transition:border-color .25s, box-shadow .25s}
.sp__search input:focus{border-color:var(--sp-ink) !important; box-shadow:0 0 0 3px color-mix(in srgb, var(--sp-accent) 25%, transparent) !important}
.sp__empty, .sp__none{padding:28px 0; color:var(--sp-muted)}

/* ---------- layouts ---------- */
.sp__grid{display:flex; flex-wrap:wrap; justify-content:var(--sp-justify); gap:var(--sp-row-gap) var(--sp-gap); margin:0 !important; padding:0 !important}
.sp__item{flex:0 0 calc((100% - (var(--sp-cols) - 1) * var(--sp-gap)) / var(--sp-cols)); min-width:0; margin:0 !important; padding:0 !important; list-style:none}
.sp__item::before, .sp__item::marker{content:none}
.sp__item[hidden]{display:none}
.sp__item{transition:opacity .45s ease, transform .6s var(--sp-ease)}
.sp__item.is-entering{opacity:0; transform:translateY(10px) scale(.98)}
.sp--list .sp__item{flex-basis:100%}
.sp--carousel .sp__viewport{overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 calc(var(--sp-gap) * -.5); padding:4px calc(var(--sp-gap) * .5) 12px}
.sp--carousel .sp__viewport::-webkit-scrollbar{display:none}
.sp--carousel .sp__grid{flex-wrap:nowrap; justify-content:flex-start}
.sp--carousel .sp__item{scroll-snap-align:start}
.sp__arrows{display:flex; justify-content:flex-end; gap:10px; margin-top:18px}
.sp button.sp__arrow{appearance:none; width:46px !important; height:46px !important; padding:0 !important; margin:0 !important; border-radius:50% !important; display:grid !important; place-items:center;
	border:1px solid var(--sp-line) !important; background:transparent !important; color:var(--sp-ink) !important; box-shadow:none !important; font-size:20px !important; cursor:pointer; transition:background .25s, color .25s, opacity .25s}
.sp button.sp__arrow:hover:not(:disabled){background:var(--sp-ink) !important; color:#fff !important}
.sp button.sp__arrow:disabled{opacity:.3; cursor:default}

/* reveal */
.sp--reveal .sp__item{opacity:0; transform:translateY(18px); transition:opacity calc(.7s * var(--sp-speed)) ease, transform calc(.9s * var(--sp-speed)) var(--sp-ease); transition-delay:calc(mod(var(--i), var(--sp-cols)) * 70ms)}
.sp--reveal .sp__item.is-in{opacity:1; transform:none}

/* ---------- a card ---------- */
.sp-card{position:relative; display:flex; flex-direction:column; gap:14px; height:100%; padding:var(--sp-card-pad); background:var(--sp-card-bg); border-radius:var(--sp-radius);
	box-shadow:var(--sp-card-shadow); transition:transform calc(.6s * var(--sp-speed)) var(--sp-ease), box-shadow calc(.6s * var(--sp-speed)) var(--sp-ease); isolation:isolate}
.sp-card__photo{position:relative; display:block; aspect-ratio:var(--sp-ratio); border-radius:var(--sp-radius); overflow:hidden; background:var(--sp-photo-bg);
	transition:transform calc(.6s * var(--sp-speed)) var(--sp-ease), box-shadow calc(.6s * var(--sp-speed)) var(--sp-ease)}
.sp-card__img{position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; object-position:var(--sp-photo-pos); border-radius:0 !important;
	transition:transform calc(1.1s * var(--sp-speed)) var(--sp-ease), opacity .5s ease, filter .6s ease; transform-origin:center 30%}
.sp-card__img--alt{opacity:0}
.sp-card__photo::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,12,16,.28), rgba(10,12,16,0) 45%); opacity:0; transition:opacity .5s ease; z-index:1; pointer-events:none}
.sp-card__initials{position:absolute; inset:0; display:grid; place-items:center; font-size:clamp(28px,4vw,48px); font-weight:600; letter-spacing:.04em; color:var(--sp-muted)}
.sp-card__plus{position:absolute; right:14px; bottom:14px; z-index:2; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-size:18px;
	background:var(--sp-plus-bg); color:var(--sp-plus-fg); box-shadow:0 6px 16px rgba(10,12,16,.22); transition:transform .5s var(--sp-ease), background .3s}
.sp-card__plus .sp-ico{transition:transform .5s var(--sp-ease)}
.sp-card__body{display:flex; flex-direction:column; gap:6px; padding:0 4px; min-width:0}
.sp-card__name{font-size:clamp(20px,1.7vw,26px); line-height:1.12; font-weight:400; color:var(--sp-ink); transition:color .3s}
.sp-card__pronouns{font-size:.6em; color:var(--sp-muted); white-space:nowrap}
.sp-card__role{font-size:10.5px; font-weight:700; line-height:1.45; letter-spacing:.12em; text-transform:uppercase; color:var(--sp-accent)}
.sp-card__dept{font-size:12.5px; color:var(--sp-muted)}
.sp-card__intro{font-size:14px; line-height:1.55; color:var(--sp-muted); margin-top:2px !important}
.sp-card__social{display:flex; gap:6px; margin-top:6px !important; position:relative; z-index:3}
.sp-card__social a{display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--sp-line); color:var(--sp-ink); font-size:15px; text-decoration:none; transition:background .25s, color .25s, border-color .25s}
.sp-card__social a:hover{background:var(--sp-accent); border-color:var(--sp-accent); color:var(--sp-accent-ink)}
/* the whole card is the button; it sits over the card, under the social links */
.sp .sp-card__open{position:absolute !important; inset:0; z-index:2; display:block !important; width:100% !important; height:100% !important; margin:0 !important; padding:0 !important; border:0 !important;
	border-radius:var(--sp-radius) !important; background:transparent !important; box-shadow:none !important; cursor:pointer; color:transparent !important; font-size:0 !important; -webkit-tap-highlight-color:transparent}
.sp .sp-card__open:focus-visible{outline:3px solid var(--sp-accent); outline-offset:4px}
.sp--click-none .sp-card{cursor:default}

/* hover effects (only on devices that really hover) */
@media (hover:hover){
	.sp--lift .sp-card:hover .sp-card__photo{transform:translateY(-4px); box-shadow:var(--sp-card-hover-shadow)}
	.sp--lift.sp--card-horizontal .sp-card:hover, .sp--lift.sp--list .sp-card:hover{transform:translateY(-3px)}
	.sp--zoom .sp-card:hover .sp-card__img{transform:scale(1.05)}
	.sp--swap .sp-card:hover .sp-card__img--alt{opacity:1}
	.sp--swap .sp-card:hover .sp-card__img:not(.sp-card__img--alt):not(:only-of-type){opacity:0}
	.sp-card:hover .sp-card__photo::after{opacity:1}
	.sp-card:hover .sp-card__plus{background:var(--sp-plus-hover-bg); transform:scale(1.06)}
	.sp--click-panel .sp-card:hover .sp-card__plus .sp-ico{transform:rotate(90deg)}
	.sp--click-page .sp-card:hover .sp-card__plus .sp-ico{transform:translateX(2px)}
	.sp--grayscale .sp-card:hover .sp-card__img{filter:none}
}
.sp--grayscale .sp-card__img{filter:grayscale(1)}

/* card style: overlay (name over the photo) */
.sp--card-overlay .sp-card{gap:0}
.sp--card-overlay .sp-card__body{position:absolute; left:0; right:0; bottom:0; z-index:1; padding:60px 20px 20px; border-radius:0 0 var(--sp-radius) var(--sp-radius);
	background:linear-gradient(to top, rgba(10,12,16,.82), rgba(10,12,16,0)); pointer-events:none}
.sp--card-overlay .sp-card__name{color:#fff}
.sp--card-overlay .sp-card__dept, .sp--card-overlay .sp-card__intro{color:rgba(255,255,255,.78)}
.sp--card-overlay .sp-card__social{pointer-events:auto}
.sp--card-overlay .sp-card__social a{color:#fff; border-color:rgba(255,255,255,.4)}
.sp--card-overlay .sp-card__plus{top:14px; bottom:auto}

/* card style: minimal (round photo, centred) */
.sp--card-minimal .sp-card{align-items:center; text-align:center}
.sp--card-minimal .sp-card__photo{width:72%; aspect-ratio:1 / 1; border-radius:50%}
.sp--card-minimal .sp-card__body{align-items:center}
.sp--card-minimal .sp-card__plus{right:6%; bottom:6%; width:34px; height:34px; font-size:15px}
.sp--card-minimal .sp-card__open{border-radius:20px !important}

/* card style: horizontal (photo beside the text) + list layout */
.sp--card-horizontal .sp-card, .sp--list .sp-card{flex-direction:row; align-items:center; gap:22px}
.sp--card-horizontal .sp-card__photo, .sp--list .sp-card__photo{flex:0 0 clamp(96px,28%,170px); aspect-ratio:1 / 1}
.sp--card-horizontal .sp-card__plus, .sp--list .sp-card__plus{width:32px; height:32px; right:8px; bottom:8px; font-size:14px}
.sp--list .sp__grid{gap:0}
.sp--list .sp__item{padding:18px 0 !important; border-bottom:1px solid var(--sp-line) !important}
.sp--list .sp__item:first-child{border-top:1px solid var(--sp-line) !important}
.sp--list .sp-card__photo{flex-basis:clamp(84px,14%,140px)}

/* ---------- the profile panel ---------- */
html.sp-lock, html.sp-lock body{overflow:hidden !important}
.sp-modal{position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:4vh 24px; color:var(--sp-panel-ink); font-family:inherit}
.sp-modal[hidden]{display:none}
.sp-modal__backdrop{position:absolute; inset:0; background:var(--sp-backdrop); -webkit-backdrop-filter:blur(var(--sp-blur)); backdrop-filter:blur(var(--sp-blur)); opacity:0; transition:opacity .45s ease}
.sp-modal.is-open .sp-modal__backdrop{opacity:calc(1 - var(--sp-drag, 0) * .8)}
.sp-modal__panel{position:relative; width:min(var(--sp-panel-width),100%); height:min(660px,88vh); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr);
	background:var(--sp-panel-bg); border-radius:var(--sp-panel-radius); overflow:hidden; box-shadow:0 40px 100px rgba(10,12,16,.35); outline:0;
	opacity:0; transform:translateY(28px) scale(.975); transition:opacity .45s ease, transform calc(.7s * var(--sp-speed)) var(--sp-ease)}
.sp-modal.is-open .sp-modal__panel{opacity:1; transform:none}
.sp-modal__panel.is-dragging{transition:none}
.sp-modal__grab{display:none}
.sp-modal button.sp-modal__close{appearance:none; position:absolute; top:18px; right:18px; z-index:3; width:44px !important; height:44px !important; padding:0 !important; margin:0 !important; border:0 !important;
	border-radius:50% !important; display:grid !important; place-items:center; cursor:pointer; font-size:18px !important; box-shadow:none !important;
	background:color-mix(in srgb, var(--sp-panel-ink) 7%, transparent) !important; color:var(--sp-panel-ink) !important; transition:background .25s, color .25s, transform .4s var(--sp-ease)}
.sp-modal button.sp-modal__close:hover, .sp-modal button.sp-modal__close:focus-visible{background:var(--sp-accent) !important; color:var(--sp-accent-ink) !important; transform:rotate(90deg); outline:0}
.sp-modal__photo{position:relative; background:var(--sp-photo-bg); overflow:hidden}
.sp-modal__photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--sp-photo-pos); transform:scale(1.06); transition:transform 1.2s var(--sp-ease), opacity .3s ease}
.sp-modal.is-open .sp-modal__photo img{transform:none}
.sp-modal__initials{position:absolute; inset:0; display:grid; place-items:center; font-size:64px; font-weight:600; color:color-mix(in srgb, var(--sp-panel-ink) 40%, transparent)}
.sp-modal__body{display:flex; flex-direction:column; min-height:0; padding:56px 56px 26px}
.sp-modal__scroll{flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; padding-right:10px; margin-right:-10px;
	-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - 32px), transparent); mask-image:linear-gradient(to bottom, #000 calc(100% - 32px), transparent)}
.sp-modal__scroll::-webkit-scrollbar{width:4px} .sp-modal__scroll::-webkit-scrollbar-thumb{background:var(--sp-line); border-radius:4px}
.sp-modal__count{margin-bottom:16px !important; font-size:12px; font-weight:600; letter-spacing:.14em; color:color-mix(in srgb, var(--sp-panel-ink) 50%, transparent)}
.sp-modal__name{font-size:clamp(32px,3.6vw,50px); line-height:1.05; font-weight:400; color:var(--sp-panel-ink)}
.sp-modal__pronouns{font-size:.4em; vertical-align:middle; color:color-mix(in srgb, var(--sp-panel-ink) 55%, transparent)}
.sp-modal__role{margin-top:12px !important; font-size:12px; font-weight:700; line-height:1.45; letter-spacing:.12em; text-transform:uppercase; color:var(--sp-accent)}
.sp-modal__meta{margin-top:8px !important; font-size:13.5px; color:color-mix(in srgb, var(--sp-panel-ink) 60%, transparent)}
.sp-modal__quote{margin-top:22px !important; padding-left:16px !important; border-left:3px solid var(--sp-accent); font-size:18px; line-height:1.5; font-style:italic; color:var(--sp-panel-ink)}
.sp-modal__bio{margin-top:24px !important; padding-top:22px; border-top:1px solid var(--sp-line); font-size:16px; line-height:1.7; color:color-mix(in srgb, var(--sp-panel-ink) 86%, transparent)}
.sp-modal__bio p{margin:0 0 1em !important}
.sp-modal__facts{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px 24px; margin-top:20px !important}
.sp-modal__facts dt{font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:color-mix(in srgb, var(--sp-panel-ink) 50%, transparent); margin-bottom:4px}
.sp-modal__facts dd{margin:0; font-size:14.5px; line-height:1.5}
.sp-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px !important}
.sp-chips li{padding:6px 12px; border-radius:999px; background:color-mix(in srgb, var(--sp-accent) 12%, transparent); color:var(--sp-panel-ink, var(--sp-ink)); font-size:12.5px; font-weight:600}
.sp-modal__actions, .sp-profile__actions{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px !important}
.sp-btn{display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 14px; border-radius:999px; border:1px solid var(--sp-line); color:var(--sp-panel-ink, var(--sp-ink)) !important;
	font-size:13.5px; font-weight:600; text-decoration:none !important; line-height:1.2; transition:background .25s, color .25s, border-color .25s, transform .3s var(--sp-ease)}
.sp-btn .sp-ico{font-size:17px}
.sp-btn:hover{border-color:var(--sp-panel-ink, var(--sp-ink)); transform:translateY(-1px)}
.sp-btn--accent{background:var(--sp-accent); border-color:var(--sp-accent); color:var(--sp-accent-ink) !important}
.sp-btn--accent:hover{filter:brightness(1.06); border-color:var(--sp-accent)}
.sp-btn--icon{width:40px; padding:0; justify-content:center}
.sp-modal__nav{display:flex; justify-content:space-between; gap:12px; padding-top:16px; margin-top:6px; border-top:1px solid var(--sp-line)}
.sp-modal button.sp-modal__step{appearance:none; display:inline-flex !important; align-items:center; gap:10px; min-height:44px; padding:0 4px !important; margin:0 !important; border:0 !important; border-radius:0 !important;
	background:transparent !important; box-shadow:none !important; cursor:pointer; color:var(--sp-panel-ink) !important; font:inherit !important; font-size:13px !important; font-weight:600 !important;
	letter-spacing:.04em !important; text-transform:none !important; line-height:1 !important}
.sp-modal button.sp-modal__step[hidden]{display:none !important}
.sp-modal__step .sp-ico{width:40px; height:40px; padding:11px; border-radius:50%; background:color-mix(in srgb, var(--sp-panel-ink) 7%, transparent); transition:background .25s, color .25s, transform .4s var(--sp-ease)}
.sp-modal button.sp-modal__step:hover .sp-ico, .sp-modal button.sp-modal__step:focus-visible .sp-ico{background:var(--sp-accent); color:var(--sp-accent-ink)}
.sp-modal button.sp-modal__step[data-step="1"]:hover .sp-ico{transform:translateX(3px)}
.sp-modal button.sp-modal__step[data-step="-1"]:hover .sp-ico{transform:translateX(-3px)}

/* stepping between people */
.sp-modal__scroll, .sp-modal__photo img{transition:opacity .22s ease, transform .45s var(--sp-ease)}
.sp-modal.is-out-left .sp-modal__scroll{opacity:0; transform:translateX(-18px)}
.sp-modal.is-out-right .sp-modal__scroll{opacity:0; transform:translateX(18px)}
.sp-modal.is-out-left .sp-modal__photo img, .sp-modal.is-out-right .sp-modal__photo img{opacity:0}
.sp-modal.is-in-right .sp-modal__scroll{opacity:0; transform:translateX(18px); transition:none}
.sp-modal.is-in-left .sp-modal__scroll{opacity:0; transform:translateX(-18px); transition:none}
.sp-modal.is-in-right .sp-modal__photo img, .sp-modal.is-in-left .sp-modal__photo img{opacity:0; transform:scale(1.04); transition:none}

/* panel layout: stacked (photo above the text) */
.sp-modal--stacked .sp-modal__panel{grid-template-columns:1fr; grid-template-rows:minmax(0,42%) minmax(0,1fr); width:min(760px,100%); height:min(820px,90vh)}
.sp-modal--stacked .sp-modal__body{padding:36px 44px 22px}
.sp-modal.no-photo .sp-modal__panel{grid-template-columns:minmax(0,3fr) minmax(0,7fr)}

/* ---------- profile pages ---------- */
.sp-profile{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; align-items:start; margin:24px 0}
.sp-profile__photo img{width:100%; height:auto; border-radius:20px; display:block}
.sp-profile__role{font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sp-accent, #e8505b); margin:0 0 6px}
.sp-profile__meta{color:rgba(0,0,0,.6); margin:0 0 18px}
.sp-profile__quote{margin:0 0 20px; padding-left:16px; border-left:3px solid var(--sp-accent, #e8505b); font-style:italic; font-size:18px}
@media (max-width:767px){ .sp-profile{grid-template-columns:1fr; gap:24px} }

/* ---------- responsive ---------- */
@media (max-width:1024px){
	.sp{--sp-cols:var(--sp-cols-t,3)}
	.sp-modal__panel{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
	.sp-modal__body{padding:48px 32px 22px}
}
@media (max-width:767px){
	.sp{--sp-cols:var(--sp-cols-m,2)}
	.sp__head{grid-template-columns:1fr; margin-bottom:24px}
	.sp__filters{flex-direction:column; align-items:stretch}
	.sp__chips{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 -20px; padding:0 20px}
	.sp__chips::-webkit-scrollbar{display:none}
	.sp button.sp__chip{flex:none}
	.sp-card{gap:10px}
	.sp-card__plus{right:10px; bottom:10px; width:32px; height:32px; font-size:14px}
	.sp-card__name{font-size:19px}
	.sp-card__role{font-size:9.5px; letter-spacing:.1em}
	.sp--card-horizontal .sp-card{gap:14px}

	/* the panel becomes a sheet from the bottom */
	.sp-modal{place-items:end stretch; padding:0}
	.sp-modal__panel, .sp-modal--stacked .sp-modal__panel{width:100%; height:auto; max-height:92vh; display:block; overflow:auto; overscroll-behavior:contain; border-radius:22px 22px 0 0;
		transform:translateY(100%); opacity:1; transition:transform calc(.55s * var(--sp-speed)) var(--sp-ease)}
	.sp-modal.is-open .sp-modal__panel{transform:none}
	.sp-modal__grab{display:block; position:absolute; z-index:3; top:10px; left:50%; width:44px; height:5px; margin-left:-22px; border-radius:5px; background:rgba(255,255,255,.85); box-shadow:0 1px 4px rgba(0,0,0,.15)}
	.sp-modal button.sp-modal__close{top:14px; right:14px; background:rgba(255,255,255,.85) !important; color:#111 !important}
	.sp-modal__photo{aspect-ratio:1 / 1}
	.sp-modal.no-photo .sp-modal__photo{aspect-ratio:3 / 1}
	.sp-modal__photo img{object-position:center 12%}
	.sp-modal__body, .sp-modal--stacked .sp-modal__body{padding:24px 22px 18px}
	.sp-modal__scroll{overflow:visible; -webkit-mask-image:none; mask-image:none; padding-right:0; margin-right:0}
	.sp-modal__bio{font-size:15.5px}
	.sp-modal__nav{position:sticky; bottom:0; margin:0 -22px -18px; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); background:var(--sp-panel-bg)}
}
@media (prefers-reduced-motion:reduce){
	.sp *, .sp-portal *{transition-duration:.01ms !important; transition-delay:0s !important}
	.sp--reveal .sp__item{opacity:1; transform:none}
}
