:root {
  --red:#c41021;
  --red-hover:#a50b19;
  --ink:#171717;
  --muted:#62615f;
  --paper:#ffffff;
  --warm:#f7f5f2;
  --line:#eae6e2;
  --brown:#865b34;
  --sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--sans); font-size:15px; line-height:1.55; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; }
a { text-decoration:none;color:inherit; }
button, input, textarea { font:inherit; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #c87926; outline-offset:3px; }
.container { width:min(1160px,calc(100% - 64px));margin-inline:auto; }
.preview-ribbon { color:#684522; background:#fff2df; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; padding:9px 15px; text-align:center; font-size:11px; }
.preview-ribbon strong { padding:3px 7px; background:#70512f; color:white; font-size:9px; letter-spacing:.09em; border-radius:2px; }
.topbar { background:#fff; border-bottom:1px solid var(--line); }
.topbar-inner { min-height:116px; display:flex;align-items:center; gap:20px; }
.brand { width:156px;flex:none;display:block; }
.brand img { display:block;width:100%;height:100px;object-fit:contain; }
.brand-secondary { display:flex;flex-direction:column;border-left:1px solid #dedede;padding-left:20px;line-height:1.2;letter-spacing:.21em;color:#777;white-space:nowrap; }
.brand-secondary span { font-size:9px; }
.brand-secondary strong { font-size:17px; color:#252525; letter-spacing:.28em;margin-top:7px; }
.topbar nav { margin-left:auto;display:flex; align-items:center;gap:28px; font-size:12px;font-weight:650; }
.topbar nav a:hover {color:var(--red)}
.topbar .team-nav { display:inline-flex; align-items:center;gap:10px;padding:11px 16px;border:1px solid #ddd; border-radius:100px; }
.topbar .team-nav:hover { border-color:var(--red); }
.profile-section { padding:70px 0 58px;background:linear-gradient(180deg,#fff 0%,#fff 78%,#faf9f6 100%); }
.profile-layout { display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.1fr);align-items:center; gap:clamp(40px,6vw,96px); }
.portrait-panel {position:relative; min-width:0;}
.portrait-shadow { position:absolute; inset:22px -15px -18px 20px; border:1px solid #ebdfd6;border-radius:29px;background:linear-gradient(135deg,#f7f2ec,#f4f0e7); }
.portrait-picture {position:relative;overflow:hidden;border-radius:26px; width:100%;aspect-ratio: 0.93; box-shadow:0 14px 45px rgba(65,42,25,.12);background:#e9cfb2; }
.portrait-photo {display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}
.portrait-initials {font-size:110px;color:white;display:flex;align-items:center;justify-content:center;height:100%;background:#c2a68a;}
.profile-info {min-width:0; padding:20px 0;}
.eyebrow,.section-kicker {font-weight:750;color:var(--red);font-size:11px;letter-spacing:.13em; }
.eyebrow {display:flex;gap:12px;align-items:center;}
.eyebrow span {width:27px;height:2px;background:var(--red);display:inline-block;}
h1,h2,h3,p {margin-top:0;}
.profile-info h1 { font-size:clamp(48px,4.8vw,74px); letter-spacing:-.055em; font-weight:800;line-height:1.07; margin:18px 0 8px; }
.role {font-size:20px;color:#3d3b3a;letter-spacing:-.025em;}
.role span { color:var(--red);font-weight:800;margin:0 9px;}
.accent-rule {height:3px;width:66px;background:var(--red);margin:29px 0 24px;}
.contact-lines {display:flex;flex-direction:column;gap:11px; margin-bottom:31px; }
.contact-lines a {display:inline-flex;gap:15px;align-items:center;width:fit-content;font-weight:630;font-size:clamp(15px,1.65vw,20px);min-height:40px;}
.contact-lines a:hover span:last-child { text-decoration:underline;text-underline-offset:4px;}
.round-icon {display:grid;place-items:center;background:var(--red);color:white; width:39px;height:39px;border-radius:50%; flex:none; }
.round-icon svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1;}
.primary-actions {display:flex;gap:9px;align-items:stretch;}
.action-btn { appearance:none;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 15px;min-height:54px;border-radius:100px;font-size:13px;font-weight:750;text-align:center;transition:transform .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap;}
.action-btn:hover {transform:translateY(-2px);}
.action-btn:active {transform:translateY(0);}
.action-btn svg,.share-actions svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2; flex:none;}
.action-btn.save { border-color:#7f7f7f;background:white;color:#202020;flex:1.45; }
.action-btn.save:hover {border-color:var(--red);}
.action-btn.red {background:var(--red);color:white;border-color:var(--red);flex:1;}
.action-btn.red:hover {background:var(--red-hover);border-color:var(--red-hover);}
.share-actions {margin-top:16px;display:flex;gap:16px 20px;align-items:center;flex-wrap:wrap;}
.share-actions button,.share-actions a {background:transparent;border:0;border-bottom:1px solid #cfc9c4;padding:1px 0 5px;color:#595858;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:7px;}
.share-actions button:hover,.share-actions a:hover {color:var(--red);border-color:var(--red);}
.share-actions svg {width:14px;height:14px;stroke-width:2;}
/* Prominent, scannable QR sharing panel on every profile */
.qr-spotlight {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 16px 14px 20px;background:linear-gradient(115deg,#fff7f5 0%,#fff 82%);border:1px solid #eac3c4;border-left:5px solid var(--red);border-radius:17px;box-shadow:0 7px 23px rgba(90,26,31,.075);text-align:left;}
.qr-spotlight-copy {min-width:0;flex:1;}
.qr-spotlight-kicker {display:block;font-size:10px;font-weight:850;color:#a20c19;letter-spacing:.1em;margin-bottom:3px;}
.qr-spotlight h2 {font-size:clamp(20px,2.1vw,25px);font-weight:800;letter-spacing:-.035em;line-height:1.18;margin:0 0 6px;}
.qr-spotlight p {font-size:12px;color:#5b5453;line-height:1.45;margin:0 0 11px;}
.qr-spotlight-open {display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:9px 15px;background:var(--red);border:1px solid var(--red);color:#fff;border-radius:100px;font-size:12px;font-weight:800;line-height:1.1;transition:background .15s ease,transform .15s ease;}
.qr-spotlight-open:hover {background:var(--red-hover);transform:translateY(-1px);}
.qr-spotlight-preview {flex:none;display:block;width:122px;height:122px;border:2px solid #ede3e0;border-radius:14px;padding:7px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.075);transition:transform .15s ease,border-color .15s ease;}
.qr-spotlight-preview:hover {transform:translateY(-2px);border-color:var(--red);}
.qr-spotlight-preview img {display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;}
.experience {margin-top:27px;border-top:1px solid #e7e0db;padding:23px 0 0;display:flex;gap:17px;align-items:center;color:var(--brown);font-size:15px;font-weight:700;}
.experience svg {width:55px; height:35px; fill:#986e45;flex:none;}
.intro-band {background:#181818;color:#fff;}
.intro-band .container {min-height:130px;display:flex;align-items:center; gap:26px;}
.band-label {font-size:10px;letter-spacing:.18em;font-weight:750;color:#eac2c1;white-space:nowrap;}
.intro-band p {font-size:24px;font-weight:650;letter-spacing:-.025em;margin:0 auto 0 0;}
.intro-band a {color:#fff;font-size:12px; font-weight:700; white-space:nowrap;border-bottom:1px solid #aaa;padding-bottom:5px;}
.intro-band a:hover {color:#ffaeb5;}
.about-section {padding:112px 0; display:grid; grid-template-columns:.8fr 1.12fr;gap:9%;}
.about-title h2,.expertise-heading h2,.connect-copy h2,.directory-heading h2,.directory-bottom h2 {font-size:clamp(44px,5vw,65px);line-height:1.12;letter-spacing:-.05em;font-weight:760;}
.about-title em,.directory-hero em {font-style:normal;color:var(--red);}
.about-text {font-size:17px;line-height:1.85;color:#4c4c4c;}
.about-text .aside {color:#201c1c;font-weight:750;font-size:16px;margin-top:30px;}
.links {display:flex;gap:20px; flex-wrap:wrap;margin-top:34px;}
.links a {font-size:12px; color:var(--red);font-weight:750;border-bottom:1px solid #cebbbb;padding-bottom:6px;}
.expertise-section {background:var(--warm);padding:100px 0 107px;}
.expertise-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:34px;}
.expertise-heading h2 {margin-bottom:0;}
.expertise-heading > p {font-size:14px;color:var(--muted);max-width:260px;margin-bottom:8px;}
.expertise-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.expertise-card {background:white;border:1px solid var(--line);border-radius:13px;min-height:184px;padding:25px;display:flex; flex-direction:column;justify-content:space-between;box-shadow:0 6px 18px rgba(47,35,27,.025);}
.expertise-number {color:var(--red);font-weight:800;font-size:11px;}
.expertise-card h3 {font-size:23px;line-height:1.22;letter-spacing:-.035em;font-weight:690;margin:0;}
.connect-section {background:#222;color:#fff;padding:95px 0;}
.connect-layout {display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;}
.connect-copy .section-kicker {color:#ff9ca5;}
.connect-copy h2 {font-size:clamp(43px,4.7vw,61px);}
.connect-copy p:not(.section-kicker) {color:#c7c4c4;max-width:420px;line-height:1.8;}
.connect-copy .email-big {display:inline-flex;margin-top:25px;padding-inline:22px;flex:none;}
.connect-form-wrap {background:#fff;color:#202020;border-radius:18px;padding:36px;box-shadow:0 12px 40px rgba(0,0,0,.1);}
.connect-form-wrap form {display:flex;flex-direction:column;gap:10px;}
.connect-form-wrap label {font-size:12px;font-weight:750;margin-top:3px;}
.connect-form-wrap input,.connect-form-wrap textarea {width:100%;border:1px solid #d6d6d6;border-radius:7px;background:#fff;padding:13px;font-size:14px;resize:vertical;}
.connect-form-wrap form button {margin-top:10px;flex:none;width:100%;}
.connect-form-wrap small {font-size:11px;line-height:1.55;color:#747474;margin-top:3px;}
.footer {background:#fff;border-top:1px solid var(--line);}
.footer-inner {display:flex;align-items:center;gap:26px;min-height:168px;padding:30px 0;}
.footer-inner img {width:126px; height:90px;object-fit:contain;display:block;}
.footer-inner p {font-size:14px;font-weight:700;margin:0 0 4px;}
.footer-inner small {color:#7c7a77;font-size:12px;}
.footer-team {margin-left:auto;font-size:12px;font-weight:700;color:var(--red);}
.qr-modal-backdrop { position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.65);}
.qr-modal-backdrop.open {display:flex;}
.qr-modal { width:min(430px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;border-radius:24px;text-align:center;position:relative;padding:28px;box-shadow:0 18px 70px rgba(0,0,0,.24);}
.qr-logo {display:block;max-width:122px;height:98px;object-fit:contain;margin:0 auto 2px;}
.qr-close {position:absolute;right:17px;top:13px;background:transparent;border:0;font-size:31px;line-height:1;color:#555;width:36px;height:36px;}
.qr-modal h2 {font-size:33px;letter-spacing:-.04em;margin:6px 0 18px;}
.qr-tabs {display:flex;gap:4px;background:#f0efec;padding:5px;border-radius:10px;}
.qr-tabs button {flex:1;border:0;background:transparent;border-radius:7px;font-size:12px;font-weight:750;color:#777;padding:12px 3px;}
.qr-tabs button.active {background:#fff;color:#171717;box-shadow:0 1px 6px #0001;}
.qr-frame {width:235px;height:235px;margin:22px auto 16px;padding:10px;border:1px solid #ededed;border-radius:12px;}
.qr-frame img {width:100%;height:100%;object-fit:contain;}
.qr-caption {font-size:12px;line-height:1.55;color:#6c6c6c;max-width:330px;margin:0 auto 21px;}
.qr-download {width:100%;}
#toast {position:fixed;z-index:110;bottom:28px;left:50%;transform:translate(-50%,15px);background:#191919;color:white;padding:11px 18px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s; font-size:12px;white-space:nowrap;}
#toast.show {opacity:1;transform:translate(-50%,0);}
/* Directory */
.directory-hero {background:linear-gradient(135deg,#fff 0%,#fff 66%,#f6f0eb 100%);padding:115px 0 119px;border-bottom:1px solid var(--line);}
.directory-hero h1 {font-size:clamp(56px,7vw,92px);line-height:1.08;letter-spacing:-.07em;max-width:1000px;margin:18px 0 23px;}
.directory-hero p:not(.section-kicker) {font-size:18px;max-width:580px;color:#686868;margin-bottom:30px;}
.directory-hero .action-btn {width:200px;}
.people-section {padding:95px 0 110px;}
.directory-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:38px;}
.directory-heading h2 {margin:0;}
.directory-heading > p {font-size:14px;color:#777;margin-bottom:10px;}
.team-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;}
.team-card {display:flex;flex-direction:column;min-height:280px;background:#fff;border:1px solid #e7e2df;border-radius:15px;padding:26px;box-shadow:0 10px 23px #2f231b07;}
.team-card-top {display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.team-avatar {width:70px;height:70px;display:flex;justify-content:center;align-items:center;flex:none;background:#eee5da;color:#836244;font-weight:800;border-radius:13px;font-size:23px;overflow:hidden;}
.team-avatar img {width:100%;height:100%;object-fit:cover;}
.team-status {background:#f7efed;color:#a61b23;padding:5px 8px;font-size:9px;font-weight:760;border-radius:40px;white-space:nowrap;}
.team-card.is-pending .team-status {color:#7b6a53;background:#f6f2ed;}
.team-card h3 {font-size:26px;letter-spacing:-.04em;font-weight:750;margin:24px 0 6px;}
.team-card p {font-size:13px;color:#777;margin-bottom:20px;}
.card-open {margin-top:auto;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;font-size:12px;color:var(--red);font-weight:760;}
.card-open.disabled {color:#96908c;}
.directory-bottom {text-align:center;background:#faf8f5;padding:88px 0;}
.directory-bottom h2 {margin:0 0 28px;}
.directory-bottom .action-btn {padding-inline:32px;}
@media(max-width:950px) {
 .profile-layout {gap:35px;grid-template-columns:.9fr 1fr;}
 .profile-info h1 {font-size:54px;}
 .role {font-size:17px;}
 .primary-actions {flex-wrap:wrap;}
 .primary-actions .action-btn.save {flex:1 0 100%;}
 .primary-actions .action-btn.red {flex:1 0 41%;}
 .contact-lines a {font-size:16px;}
 .intro-band .container {flex-wrap:wrap;gap:4px 22px;padding-block:27px;}
 .band-label {width:100%;}
 .experience {font-size:13px;}
 .team-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px) {
 .qr-spotlight {margin-top:14px;padding:12px;gap:12px;border-radius:15px;}
 .qr-spotlight-kicker {font-size:9px;}
 .qr-spotlight h2 {font-size:20px;margin-bottom:5px;}
 .qr-spotlight p {font-size:11px;line-height:1.4;margin-bottom:9px;}
 .qr-spotlight-open {font-size:11px;padding:9px 12px;min-height:39px;gap:5px;}
 .qr-spotlight-preview {width:102px;height:102px;padding:5px;border-radius:11px;}

 .container {width:calc(100% - 36px);}
 .preview-ribbon {font-size:10px;gap:5px;}
 .topbar-inner {min-height:132px;justify-content:center;position:relative;padding-top:4px;padding-bottom:4px;}
 .brand {width:180px;}
 .brand img {height:123px;}
 .brand-secondary {display:none;}
 .topbar nav {position:absolute;right:0;bottom:7px;font-size:10px;gap:8px;}
 .topbar nav a:not(.team-nav) {display:none;}
 .topbar .team-nav {padding:5px 9px;background:rgba(255,255,255,.94);font-size:10px;border-color:#ddd;}
 .profile-section {padding:22px 0 32px;}
 .profile-layout {display:flex;flex-direction:column;gap:24px;}
 .portrait-panel {width:100%;}
 .portrait-shadow {inset:10px -4px -6px 10px;border-radius:17px;}
 .portrait-picture {border-radius:19px;aspect-ratio:1.2;}
 .portrait-photo {object-position:center 41%;}
 .profile-info {padding:0; text-align:center;width:100%;}
 .eyebrow {justify-content:center;font-size:9px;letter-spacing:.09em;gap:8px;}
 .eyebrow span {width:17px;}
 .profile-info h1 {font-size:clamp(41px,9.2vw,59px);margin:12px 0 5px;line-height:1.1;}
 .role {font-size:15px;}
 .role span {margin:0 5px;}
 .accent-rule {width:65px;margin:15px auto 17px;}
 .contact-lines {gap:9px;align-items:center;margin-bottom:23px;}
 .contact-lines a {font-size:17px;gap:12px;min-height:34px;}
 .round-icon {width:34px;height:34px;}
 .round-icon svg {width:17px;height:17px;}
 .primary-actions {flex-wrap:nowrap;gap:7px;}
 .primary-actions .action-btn.save,.primary-actions .action-btn.red {flex:1 1 0;}
 .action-btn {font-size:12px;padding:11px 9px;gap:5px;min-height:49px;}
 .primary-actions .action-btn svg {width:16px;height:16px;}
 .primary-actions .action-btn.save {flex:1.7 1 0;}
 .share-actions {justify-content:center;gap:11px 17px;margin-top:22px;}
 .share-actions button,.share-actions a {font-size:11px;}
 .experience {margin-top:22px; padding-top:15px;justify-content:center;font-size:13px;gap:10px;}
 .experience svg {height:27px;width:42px;}
 .intro-band .container {padding-block:25px;gap:9px;min-height:0;justify-content:center;text-align:center;}
 .band-label {font-size:9px;}
 .intro-band p {font-size:19px;width:100%;margin:0;}
 .intro-band a {margin-top:7px;}
 .about-section {padding:70px 0;display:block;}
 .about-title h2,.expertise-heading h2,.connect-copy h2,.directory-heading h2,.directory-bottom h2 {font-size:44px;}
 .about-title h2 {margin-bottom:26px;}
 .about-text {font-size:15px;line-height:1.78;}
 .about-text .aside {font-size:14px;}
 .links {gap:15px;}
 .expertise-section {padding:75px 0;}
 .expertise-heading {display:block; margin-bottom:26px;}
 .expertise-heading h2 {margin-bottom:15px;}
 .expertise-grid {grid-template-columns:1fr;gap:11px;}
 .expertise-card {min-height:140px;}
 .expertise-card h3 {font-size:22px;}
 .connect-section {padding:66px 0 0;}
 .connect-layout {display:block;}
 .connect-copy {padding-bottom:40px;}
 .connect-copy h2 {font-size:43px;}
 .connect-form-wrap {margin-inline:-18px;border-radius:0;padding:35px 25px 46px;}
 .footer-inner {flex-wrap:wrap;gap:10px;justify-content:center;text-align:center;padding:22px 0 35px;}
 .footer-inner > a:first-child {width:100%;}
 .footer-inner img {margin:auto;width:125px;height:90px;}
 .footer-inner div {width:100%;}
 .footer-team {margin:9px auto 0;}
 .qr-modal {padding:21px;}
 .qr-frame {width:220px;height:220px;}
 .directory-hero {padding:75px 0;}
 .directory-hero h1 {font-size:clamp(43px,9.5vw,61px);}
 .directory-hero p:not(.section-kicker) {font-size:16px;}
 .people-section {padding:70px 0;}
 .directory-heading {display:block;}
 .directory-heading h2 {margin-bottom:14px;}
 .team-grid {grid-template-columns:1fr;gap:13px;}
 .team-card {min-height:232px;}
 .directory-bottom {padding:70px 0;}
}
@media(max-width:360px){
 .qr-spotlight {gap:8px;padding:9px;}
 .qr-spotlight-preview {width:88px;height:88px;padding:4px;}
 .qr-spotlight-open {padding:9px 10px;}
 .container {width:calc(100% - 26px);}
 .profile-info h1 {font-size:39px;}
 .contact-lines a {font-size:15px;}
 .action-btn {font-size:11px;}
 .primary-actions .action-btn svg {width:14px;height:14px;}
 .primary-actions .action-btn.save {flex:1.5 1 0;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition:none!important;}}
@media(max-width:360px){.connect-form-wrap{margin-inline:-13px;}}
