/* CILT expert directory: matte, editorial, accessible. */
.pe-hero { position:relative; isolation:isolate; background:#361163; padding:170px 0 80px; min-height:660px; display:flex; align-items:center; color:#fff; border-bottom:2px solid #C0A582; }
.pe-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:url('../img/corp-bg-new.webp') top center / cover no-repeat; }
.pe-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(135deg,rgba(19,5,38,.45) 0%,rgba(30,9,56,.45) 50%,rgba(54,17,99,.55) 100%); }
.pe-hero-inner { max-width:1280px; width:100%; padding:0 32px; margin:auto; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; }
.pe-eyebrow { display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; margin-bottom:20px; }
.pe-hero .pe-eyebrow { color:#C0A582; }
.pe-hero h1 { font:700 40px/1.2 Arial,sans-serif; color:#fff; margin:0 0 22px; max-width:670px; }
.pe-hero p { font:400 18px/1.6 Arial,sans-serif; margin:0 0 36px; max-width:600px; }
.pe-actions { display:flex; gap:12px; flex-wrap:wrap; }
.pe-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:15px 24px; border:1px solid #C0A582; border-radius:999px; background:#C0A582; color:#361163; font:700 15px/1.1 Arial,sans-serif; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.pe-button--outline { background:transparent; color:#fff; border-color:#fff; }
.pe-hero-card { padding:40px; background:#130526; color:#fff; border:1px solid rgba(192,165,130,.25); border-radius:16px; width:100%; max-width:380px; justify-self:end; box-shadow:0 20px 40px rgba(0,0,0,.2); }
.pe-hero-card h2 { font-size:24px; line-height:1.3; color:#C0A582; margin:0 0 20px; }
.pe-brand { display:flex; gap:14px; align-items:center; color:#C0A582; font-weight:700; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid #C0A582; }
.pe-brand img { width:38px; height:38px; object-fit:contain; }
.pe-hero-card p { font-size:15px; line-height:1.45; margin:0; }
.pe-card-label { font-size:12px; letter-spacing:.1em; font-weight:700; color:#C0A582; margin-bottom:12px; }
.rk-body { padding:64px 24px 88px; background:#fff; scroll-margin-top:140px; }
.pe-directory-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px; }
.pe-directory-heading h2 { color:#361163; margin:0 0 12px; font:700 32px/1.25 Arial,sans-serif; }
.pe-directory-heading p { color:#505050; font-size:18px; margin:0; max-width:930px; }
.rk-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.rk-card { display:grid; grid-row:span 5; grid-template-rows:subgrid; row-gap:0; opacity:1; transform:none; border-radius:18px; box-shadow:0 2px 10px rgba(54,17,99,.06); border:1px solid #ebebeb; content-visibility:visible; }
.rk-card:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(54,17,99,.1); }
.rk-card-photo-wrap { aspect-ratio:1; overflow:hidden; background:#ebebeb; }
.rk-card-photo { object-position:50% 25%; }
.rk-card-photo-ph { font:700 48px/1 Arial,sans-serif; color:#361163; background:#ebebeb; }
.rk-card-body { padding:16px 18px 14px; display:grid; grid-row:span 4; grid-template-rows:subgrid; row-gap:4px; }
.rk-card-name { font-size:17px; line-height:21px; margin:0; }
.rk-card-role,.pe-card-company { font-size:13px; line-height:18px; margin:0; }
.rk-card-role { font-weight:700; }
.rk-card-name,.rk-card-role,.pe-card-company { align-self:start; }
.rk-card-name,.rk-card-role,.pe-card-company { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.rk-spec-tags { max-height:65px; overflow:hidden; }
.rk-badge--spec { background:#ebebeb; border:0; color:#361163; font-size:12px; white-space:normal; }
.rk-card-more { font-size:12px; margin:0; padding-top:12px; border-top:1px solid #ebebeb; }
.pe-reset { border:0; background:none; color:#361163; min-height:44px; padding:8px; text-decoration:underline; cursor:pointer; }
.rk-skel-card { height:460px; border-radius:6px; background:#ebebeb; animation:none; }
.rk-empty { text-align:left; color:#505050; padding:40px 0; }
.pe-cta-section { position:relative; background:#130526; color:#fff; padding:100px 24px; scroll-margin-top:122px; }
.pe-cta-container { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:.95fr 1.05fr; gap:80px; align-items:start; }
.pe-cta-info .pe-eyebrow { color:#C0A582; }
.pe-cta-info h2 { font:700 38px/1.25 Arial,sans-serif; letter-spacing:-.035em; color:#fff; margin:0 0 24px; }
.pe-cta-info > p { font:400 18px/1.55 Arial,sans-serif; color:#ebebeb; max-width:560px; margin:0 0 32px; }
.pe-secretariat-card { margin-top:32px; border:1px solid rgba(255,255,255,.15); padding:24px; border-radius:16px; background:#1c0938; max-width:512px; box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1); }
.pe-secretariat-head { display:flex; align-items:center; gap:16px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.1); }
.pe-secretariat-logo { width:48px; height:48px; display:grid; place-items:center; flex:none; }
.pe-secretariat-logo img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 4px 3px rgba(0,0,0,.12)); }
.pe-secretariat-head h4 { color:#fff; font:700 16px/1.3 Arial,sans-serif; margin:0 0 2px; }
.pe-secretariat-head p { color:#C0A582; font:600 12px/1.4 Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; margin:0; }
.pe-secretariat-contacts { color:rgba(255,255,255,.95); font-size:14px; margin-bottom:24px; }
.pe-secretariat-hours { display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.9); margin-bottom:16px; }
.pe-secretariat-hours svg { width:20px; height:20px; color:#C0A582; flex:none; }
.pe-secretariat-proof { display:grid; grid-template-columns:1fr 1fr; gap:12px; border-top:1px solid rgba(255,255,255,.1); padding-top:16px; color:rgba(255,255,255,.8); font-size:12px; }
.pe-secretariat-proof > div { display:flex; align-items:center; gap:8px; }
.pe-secretariat-proof svg { width:14px; height:14px; color:#C0A582; flex:none; }
.pe-cta-section .contact-widget-trigger { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; padding:13px 24px; background:#C0A582; color:#361163; font:700 14px/1.1 Arial,sans-serif; text-transform:uppercase; letter-spacing:.04em; border:0; border-radius:8px; cursor:pointer; box-shadow:0 10px 20px rgba(0,0,0,.18); transition:background-color .2s,color .2s; }
.pe-cta-section .contact-widget-trigger:hover { background:#AC916B; color:#fff; }
.pe-cta-section .contact-widget-trigger:focus-visible,.pe-cta-section .contact-widget-tile:focus-visible { outline:2px solid #C0A582; outline-offset:3px; }
.pe-cta-section .contact-widget-chevron { width:16px; height:16px; flex:none; transition:transform .2s; }
.pe-cta-section .contact-widget-trigger[aria-expanded="true"] .contact-widget-chevron { transform:rotate(180deg); }
.pe-cta-section .contact-widget-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.pe-cta-section .contact-widget-options[hidden] { display:none; }
.pe-cta-section .contact-widget-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:64px; padding:10px 6px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:8px; color:#fff; font:600 12px/1.2 Arial,sans-serif; text-transform:uppercase; letter-spacing:.03em; text-align:center; text-decoration:none; }
.pe-cta-section .contact-widget-tile:hover { background:rgba(192,165,130,.14); border-color:#C0A582; }
.pe-cta-section .contact-widget-icon { width:20px; height:20px; color:#C0A582; flex:none; }
.pe-form-card { background:#fff; color:#505050; padding:48px; border:1px solid rgba(192,165,130,.2); border-radius:16px; box-shadow:0 20px 40px rgba(0,0,0,.18); }
.pe-form-card > h3,.pe-form-success h3 { font:700 24px/1.3 Arial,sans-serif; color:#361163; margin:0 0 24px; }
.pe-form-help { font-size:13px; line-height:1.45; margin:0 0 22px; }
.pe-form-group { margin-bottom:22px; min-width:0; }
.pe-form-group label { display:block; color:#361163; font:700 12px/1.4 Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; margin-bottom:10px; }
.pe-form-group input,.pe-form-group select,.pe-form-group textarea { width:100%; min-height:48px; padding:14px; border:1px solid #ebebeb; border-radius:6px; background:#fff; color:#505050; font:400 15px/1.45 Arial,sans-serif; }
.pe-form-group textarea { min-height:105px; resize:vertical; }
.pe-form-group input[type="file"] { padding:11px 14px; height:auto; }
.pe-form-group input[type="file"]::file-selector-button { border:0; border-radius:4px; background:#361163; color:#fff; font:700 13px Arial,sans-serif; padding:9px 12px; margin-right:12px; cursor:pointer; }
.pe-spec-group { border:0; padding:0; }
.pe-spec-trigger { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; min-height:48px; padding:14px; background:#fff; border:1px solid #d6d0dc; border-radius:6px; color:#361163; font:400 15px/1.4 Arial,sans-serif; text-align:left; cursor:pointer; }
.pe-spec-popover { position:fixed; inset:auto; margin:0; width:min(520px,calc(100vw - 32px)); max-height:min(580px,calc(100dvh - 32px)); overflow-y:auto; padding:22px; border:1px solid #d6d0dc; border-radius:12px; background:#fff; color:#505050; box-shadow:0 12px 40px rgba(54,17,99,.18); }
.pe-spec-popover-head { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#361163; margin-bottom:8px; }
.pe-spec-popover-head button { width:36px; height:36px; border:0; background:#ebebeb; border-radius:6px; font-size:24px; color:#361163; cursor:pointer; }
.pe-spec-done { display:block; margin:16px 0 0 auto; min-height:44px; padding:12px 24px; background:#361163; color:#fff; border:0; border-radius:6px; font:700 13px Arial,sans-serif; cursor:pointer; }
.pe-spec-group legend { color:#361163; font:700 12px/1.4 Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; margin-bottom:6px; }
.pe-field-hint { color:#505050; font:400 13px/1.45 Arial,sans-serif; margin:0 0 12px; }
.pe-spec-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pe-spec-group .pe-spec-choice { display:flex; align-items:center; gap:9px; min-height:44px; margin:0; padding:9px 11px; border:1px solid #d6d0dc; border-radius:6px; color:#361163; font:400 14px/1.35 Arial,sans-serif; text-transform:none; letter-spacing:normal; cursor:pointer; }
.pe-spec-choice:has(input:checked) { background:#f3edf9; border-color:#361163; }
.pe-spec-choice:has(input:focus-visible) { outline:3px solid #C0A582; outline-offset:2px; }
.pe-spec-group .pe-spec-choice input { width:17px; height:17px; min-height:0; padding:0; margin:0; accent-color:#361163; flex:none; }
.pe-other-field { margin-top:14px; }
.pe-other-field[hidden],.pe-field-error[hidden] { display:none; }
.pe-field-error { color:#b72049; font-size:13px; margin:10px 0 0; }
.pe-upload-group { margin-bottom:24px; }
.pe-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pe-form-consent { display:flex; gap:10px; align-items:flex-start; font:400 13px/1.45 Arial,sans-serif; margin-bottom:20px; }
.pe-form-consent input { flex:none; width:17px; height:17px; accent-color:#361163; margin-top:2px; }
.pe-form-consent a { color:#361163; font-weight:700; }
.pe-submit-button { width:100%; min-height:48px; border:1px solid #C0A582; border-radius:6px; background:#C0A582; color:#361163; font:700 15px/1.1 Arial,sans-serif; cursor:pointer; padding:13px 28px; }
.pe-submit-button:hover { background:#A58B64; border-color:#A58B64; color:#fff; }
.pe-submit-button:disabled { opacity:.65; cursor:wait; }
.pe-form-status { color:#b72049; font:400 14px/1.45 Arial,sans-serif; }
.pe-form-status:empty { display:none; }
.pe-form-success { outline:none; }
.pe-form-success p { font-size:16px; line-height:1.5; }
.pe-success-mark { display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#361163; color:#fff; font-size:30px; margin-bottom:24px; }
.pe-success-ref { border-top:1px solid #ebebeb; padding-top:16px; overflow-wrap:anywhere; }
.pe-cta-section .cilt-hp-field { position:absolute; left:-10000px; width:1px; height:1px; }
.pe-cta-section :focus-visible,.pe-hero :focus-visible,.rk-body :focus-visible { outline:3px solid #C0A582; outline-offset:4px; }
@media(max-width:1199px) { .rk-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1024px) { .pe-hero-inner { gap:32px; grid-template-columns:1fr; } .pe-hero { padding-top:170px; } .pe-hero-card { justify-self:start; max-width:520px; } }
@media(max-width:900px) { .pe-cta-container { grid-template-columns:1fr; gap:42px; } .pe-secretariat-card { max-width:none; } }
@media(max-width:639px) { .rk-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .pe-hero { padding:150px 0 40px; } .pe-hero-inner { padding:0 20px; } .pe-hero h1 { font-size:32px; } .pe-hero-card { padding:24px; } .rk-body { padding:40px 20px 60px; } .pe-directory-heading { display:block; } .pe-actions .pe-button { width:100%; } .pe-cta-section { padding:64px 20px; } .pe-cta-info h2 { font-size:32px; } .pe-form-card { padding:28px 20px; } .pe-form-row { grid-template-columns:1fr; gap:0; } .pe-spec-options { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .rk-card { transition:none; } .rk-card:hover { transform:none; } }
/* Layered expert dossier, using the CSS-paper technique from edu.html. */
.pe-art-sheet { position:absolute; width:154px; height:190px; border-radius:6px; }
.pe-art-sheet--back { top:5px; left:calc(50% - 104px); background:#C0A582; transform:rotate(-13deg); padding:24px 18px; }
.pe-art-sheet--back span { display:block; width:90%; height:4px; margin-bottom:10px; background:#361163; }
.pe-art-sheet--back span:last-child { width:60%; }
.pe-art-sheet--front { top:14px; left:calc(50% - 63px); padding:17px; background:#fff; color:#361163; transform:rotate(7deg); box-shadow:0 12px 24px rgba(54,17,99,.1); }
.pe-art-masthead { display:flex; align-items:center; gap:9px; padding-bottom:10px; border-bottom:1px solid #C0A582; font:700 9px/1.3 Arial,sans-serif; letter-spacing:.1em; }
.pe-art-masthead img { background:#361163; border-radius:50%; padding:3px; }
.pe-art-person { width:62px; height:64px; background:#ebebeb; margin:12px 0 10px; border-radius:3px; overflow:hidden; }
.pe-art-person svg { width:100%; height:100%; }
.pe-art-lines span { display:block; width:100%; height:4px; background:#ebebeb; margin-bottom:6px; }
.pe-art-lines span:last-child { width:68%; }
.pe-art-path { display:flex; align-items:center; margin-top:12px; }
.pe-art-path i { width:7px; height:7px; border-radius:50%; background:#361163; }
.pe-art-path b { height:2px; width:33px; background:#C0A582; }
.pe-card-company { color:#361163; font-weight:700; }
.rk-card-role { color:#505050; font-weight:400; }
.rk-card:focus-visible { outline:3px solid #C0A582; outline-offset:4px; }
/* Original hero card styling above; the two sheets are a small title accent. */
.pe-card-heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.pe-card-heading h2 { flex:1; margin:0; font-size:20px; line-height:1.3; }
.pe-expertise-art { position:relative; flex:0 0 80px; height:94px; }
.pe-art-stack { position:absolute; top:0; left:0; width:200px; height:220px; transform:scale(.4); transform-origin:top left; }
@media(max-width:380px) { .pe-card-heading { gap:8px; } .pe-card-heading h2 { font-size:18px; } .pe-expertise-art { flex-basis:64px; height:78px; } .pe-art-stack { transform:scale(.32); } }
