/* Contract-backed case showcase. Scoped to preserve the existing site. */
.experience-section { background:#f6f3ec; scroll-margin-top:80px; }
.experience-wrap { max-width:1400px; margin:auto; }
.experience-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:end; margin-bottom:44px; }
.experience-heading h2 { font-family:var(--font-serif); font-size:clamp(34px,4vw,56px); line-height:1.3; font-weight:400; margin:18px 0 0; text-wrap:balance; }
.experience-heading h2 span { color:#8a6d3a; }
.experience-heading p { font-size:16px; line-height:1.9; color:#51584e; margin:0; }
.experience-heading .experience-scope-note { margin-top:16px; padding-top:15px; border-top:1px solid #dcd6c8; color:#706b60; font-size:14px; }
.experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.experience-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.experience-members { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; font-size:12px; color:#6c6455; }
.experience-members span:not(:first-child) { padding:5px 10px; border:1px solid #d9ceba; border-radius:4px; letter-spacing:.08em; }
@media(min-width:641px) { .experience-clients ul[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.experience-card { min-width:0; background:#fff; border:1px solid #e3ded3; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s,border-color .2s; }
.experience-card:hover { box-shadow:0 12px 28px #493c1c0d; border-color:#bda77d; }
.experience-photo { position:relative; margin:0; aspect-ratio:16/10; overflow:hidden; background:#e5e3db; }
.experience-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.experience-photo figcaption { position:absolute; bottom:12px; left:12px; right:12px; width:fit-content; max-width:calc(100% - 24px); padding:5px 9px; color:#fff; background:#242c27e8; border-radius:4px; font-size:12px; line-height:1.5; }
.experience-card-body { display:flex; flex-direction:column; flex:1; padding:25px 24px 0; }
.experience-tags { display:flex; flex-wrap:wrap; gap:7px 12px; color:#7d622f; font-size:13px; line-height:1.5; }
.experience-tags span + span { border-left:1px solid #d8cfba; padding-left:12px; }
.experience-card h3 { font-size:23px; line-height:1.4; font-weight:500; margin:13px 0; text-wrap:balance; color:#252c26; }
.experience-summary { font-size:16px; line-height:1.75; color:#5b6058; margin:0 0 22px; }
.experience-client { margin:auto 0 21px; }
.experience-client dt { color:#777369; font-size:12px; margin-bottom:6px; }
.experience-client dd { margin:0; font-size:14px; line-height:1.65; color:#353c32; }
.experience-card-foot { border-top:1px solid #e9e5dc; display:flex; flex-wrap:wrap; gap:5px 12px; justify-content:space-between; align-items:center; min-height:66px; }
.experience-card-foot > span { font-size:12px; color:#716d63; }
.experience-card-foot button { border:0; background:transparent; color:#705222; padding:16px 0 16px 10px; cursor:pointer; font:inherit; font-size:14px; min-height:44px; display:flex; gap:16px; align-items:center; }
.experience-card-foot button:hover { color:#34260e; }
.experience-expand { display:flex; justify-content:center; margin-top:35px; }
.experience-expand button { display:inline-flex; gap:32px; align-items:center; padding:14px 27px; border:1px solid #a18a5f; border-radius:5px; background:transparent; font:inherit; font-size:15px; color:#654b20; cursor:pointer; min-height:48px; }
.experience-expand button:hover { background:#eae1cf; }
.experience-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.experience-filters button { font:inherit; font-size:14px; cursor:pointer; min-height:44px; padding:10px 18px; border:1px solid #cfc5b1; border-radius:99px; background:transparent; color:#5f5b50; }
.experience-filters button[aria-pressed=true] { background:#78613b; color:#fff; border-color:#78613b; }
.experience-filters button:hover { border-color:#78613b; }
.experience-result,.experience-empty { color:#676558; font-size:14px; margin:16px 0; }
.experience-clients { margin-top:65px; padding-top:35px; border-top:1px solid #dcd5c5; }
.experience-subhead { display:flex; flex-wrap:wrap; gap:12px 30px; justify-content:space-between; align-items:baseline; margin-bottom:24px; }
.experience-subhead h3 { font-size:25px; font-weight:500; margin:0; color:#383e32; }
.experience-subhead p { font-size:14px; color:#6d6c60; line-height:1.7; margin:0; }
.experience-clients ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ded8c9; border-left:1px solid #ded8c9; }
.experience-clients li { padding:26px; border-bottom:1px solid #ded8c9; border-right:1px solid #ded8c9; }
.experience-clients strong { font-size:20px; font-weight:500; color:#685534; display:block; margin-bottom:10px; }
.experience-clients li > span { font-size:13px; line-height:1.65; color:#67685c; display:block; overflow-wrap:anywhere; }
.experience-evidence { margin-top:65px; }
.experience-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.experience-capability { display:flex; gap:18px; text-decoration:none; color:inherit; min-width:0; padding:18px 0; border-top:2px solid #b79a60; }
.experience-capability > img { width:80px; height:104px; object-fit:cover; flex-shrink:0; border-radius:5px; }
.experience-capability h4 { font-size:18px; margin:0 0 8px; font-weight:500; }
.experience-capability p { font-size:14px; color:#696a5f; line-height:1.75; margin:0 0 10px; }
.experience-capability div > span { color:#705222; font-size:14px; }
.experience-capability:hover h4 { color:#8a6d3a; }
.experience-section button,.experience-section a,.experience-dialog button,.experience-dialog a { touch-action:manipulation; }
.experience-section :is(button,a):focus-visible,.experience-dialog :is(button,a):focus-visible { outline:3px solid #937238; outline-offset:4px; }
.experience-dialog { width:min(880px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 40px); border:0; padding:0; border-radius:16px; color:#29312a; background:#fff; overscroll-behavior:contain; overflow:auto; box-shadow:0 25px 100px #0004; }
.experience-dialog::backdrop { background:#1d261fd4; }
.experience-dialog-bar { display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:2; padding:9px 18px 9px 26px; background:#fff; border-bottom:1px solid #e3ded3; font-size:14px; color:#74592d; }
.experience-dialog-bar button { font:inherit; font-size:28px; line-height:1; min-width:44px; min-height:44px; border:0; border-radius:50%; background:#f4f0e7; color:#493f2d; cursor:pointer; }
.experience-dialog-bar button:hover { background:#e6d9bf; }
.experience-photo-detail { aspect-ratio:2.4; }
.experience-dialog-copy { padding:30px 38px 38px; }
.experience-dialog-copy h2 { font-size:clamp(25px,3vw,36px); line-height:1.35; font-weight:500; margin:16px 0 25px; scroll-margin-top:80px; text-wrap:balance; }
.experience-parties { display:grid; grid-template-columns:1fr; gap:24px; padding:20px 0; margin:0 0 26px; border-block:1px solid #e2dece; }
.experience-parties dt { font-size:13px; color:#736d5f; margin-bottom:9px; }
.experience-parties dd { margin:0; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.experience-parties dd span { display:block; }
.experience-dialog-copy section h3 { font-size:19px; margin:0 0 10px; font-weight:500; }
.experience-dialog-copy section p,.experience-dialog-copy li { font-size:16px; line-height:1.85; color:#565b51; }
.experience-dialog-copy section p { margin:0; }
.experience-dialog-copy section p + p { margin-top:14px; }
.experience-role { background:#f6f3eb; padding:25px; margin:25px 0 15px; border-left:3px solid #b79755; }
.experience-role h4 { font-size:15px; margin:20px 0 8px; font-weight:500; }
.experience-role ul { padding-left:20px; margin:0; }
.experience-dialog-copy .experience-boundary { font-size:13px; color:#767063; line-height:1.8; margin:0 0 28px; }
.experience-sources ul { margin:0; padding-left:20px; }
.experience-sources a { color:#75551c; font-size:14px; text-underline-offset:3px; }
.experience-dialog-copy .experience-sources p { margin-top:10px; font-size:13px; }
.experience-photo-credit { border-top:1px solid #e3ded3; margin-top:24px; padding-top:15px; font-size:12px; color:#766d5c; line-height:1.8; }
.experience-photo-credit a { display:inline-block; color:inherit; margin-right:18px; }
.experience-contact { display:flex; justify-content:space-between; gap:15px; background:#78613b; color:#fff; font-size:16px; text-decoration:none; padding:16px 20px; border-radius:5px; margin-top:24px; }
.experience-contact:hover { background:#584626; }
#field-recruitment,#field-skills { scroll-margin-top:100px; }
@media(max-width:1000px) { .experience-heading { gap:35px; }.experience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.experience-capabilities { gap:18px; }.experience-capability { display:block; }.experience-capability > img { width:100%; height:145px; margin-bottom:16px; } }
@media(max-width:640px) { .experience-heading { grid-template-columns:1fr; gap:22px; margin-bottom:28px; }.experience-grid,.experience-clients ul,.experience-capabilities { grid-template-columns:1fr; }.experience-card h3 { font-size:23px; }.experience-card-body { padding:22px 22px 0; }.experience-clients,.experience-evidence { margin-top:44px; }.experience-clients li { padding:20px; }.experience-capability { display:flex; }.experience-capability > img { width:90px; height:115px; margin:0; }.experience-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:10px; }.experience-dialog-copy { padding:25px 22px; }.experience-parties { grid-template-columns:1fr; gap:15px; }.experience-photo-detail { aspect-ratio:16/10; }.experience-role { padding:20px; }.experience-dialog-bar { padding-inline:20px; }.experience-subhead h3 { font-size:23px; } }
@media(prefers-reduced-motion:reduce) { .experience-card { transition:none; } }
