/* Scoped public profile/case redesign. The horizontal rail also works without JS. */
.public-profile-shell{max-width:1004px}.public-profile-shell nav{margin-bottom:24px}.public-profile-page{max-width:940px;margin:0 auto}.public-profile-page .public-identity{border:1px solid #ffffff16;border-radius:18px;background:#10151a;padding:22px;margin-bottom:26px}.public-person{display:flex;align-items:flex-start;gap:16px;min-width:0}.public-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;overflow:hidden;background:#20332c;color:#b9e4cc;display:grid;place-items:center;font-size:24px;border:1px solid #b5e7cc40}.public-avatar img{width:100%;height:100%;object-fit:cover}.public-person-text{min-width:0;flex:1}.field-label,.public-facts dt{display:block;color:#92a79c;font-size:11px;letter-spacing:.06em;font-weight:500;line-height:1.6}.public-person p{margin:0}.public-person h1,.public-name{font-size:clamp(23px,3vw,32px);font-weight:650;line-height:1.2;letter-spacing:-.7px;margin:3px 0 9px;color:#e6eee9}.public-name{display:block;font-size:22px;text-decoration:none}.public-headline{font-size:15px;line-height:1.5;white-space:pre-wrap}.public-headline .field-label{margin:8px 0 2px}.public-facts{display:flex;flex-wrap:wrap;gap:12px 36px;margin:18px 0 0;border-top:1px solid #ffffff12;padding-top:14px}.public-facts div{min-width:0}.public-facts dd{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere}.public-about{margin-top:20px}.public-about h2{font-size:14px;color:#a7bdb1;margin:0 0 8px;font-weight:500}.public-about p{font-size:15px;line-height:1.7;margin:0}.public-profile-page .public-identity-compact{padding:18px;margin:0 0 24px}.public-identity-compact .public-avatar{width:52px;height:52px;flex-basis:52px}.public-identity-compact .public-name{font-size:20px}.public-identity-compact .public-facts{margin-top:12px;padding-top:10px}.profile-link{font-size:13px;white-space:nowrap}.public-case-heading h1{font-size:clamp(26px,4vw,38px);letter-spacing:-.8px;line-height:1.15;margin:5px 0 14px}.public-case-heading .eyebrow{margin:0}.public-case-heading .description{font-size:15px;margin:0 0 18px;line-height:1.7}.public-case-heading .project-link{display:inline-block;font-size:14px;margin:0 0 20px}.case-gallery{border:1px solid #ffffff18;border-radius:16px;overflow:hidden;background:#0e1418;margin-bottom:24px}.case-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#527361 #10151a}.case-slide{margin:0;flex:0 0 100%;min-width:0;height:clamp(230px,48vw,480px);scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:12px}.case-slide img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;border-radius:4px}.gallery-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #ffffff12;font-size:13px;color:#a7bdb1}.gallery-toolbar button{width:38px;height:36px;background:#17251e;color:#d3e9dd;border:1px solid #ffffff20;border-radius:9px;cursor:pointer;font:inherit}.gallery-toolbar button:disabled{opacity:.35;cursor:default}.gallery-toolbar [hidden]{display:none}.gallery-thumbs{display:flex;gap:6px;overflow-x:auto;min-width:0;margin-left:auto;max-width:100%;padding:2px}.gallery-thumbs a{display:block;flex-shrink:0;border:1px solid transparent;border-radius:5px;overflow:hidden;line-height:0}.gallery-thumbs a[aria-current=true]{border-color:#89bd9e}.gallery-thumbs img{width:44px;height:36px;border-radius:4px;object-fit:contain;background:#1b2421}.public-profile-page :focus-visible{outline:2px solid #8ae3b0;outline-offset:-2px}.public-profile-page .gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}.public-profile-page .gallery article{max-width:none;border-radius:16px}.public-profile-page .gallery .cover{height:160px}.public-profile-page>h2{font-size:20px;margin:0 0 16px}.public-profile-page .case-footer{padding-top:8px;margin:0;font-size:14px}@media(max-width:600px){.public-profile-page .public-identity{padding:16px}.public-person{gap:12px;flex-wrap:wrap}.public-avatar{width:54px;height:54px;flex-basis:54px}.public-person-text{flex-basis:calc(100% - 70px)}.public-person .profile-link{margin-left:64px}.public-facts{gap:10px 22px}.public-profile-page .public-identity-compact{padding:14px}.case-slide{height:300px;padding:8px}.gallery-thumbs{width:100%;margin-left:0}.public-profile-page .gallery{grid-template-columns:1fr}.public-profile-page .gallery .cover{height:172px}}

/* Quiet gallery: image first, floating controls, no visible rail chrome. */
.case-gallery{position:relative;background:#0b0f12;border-color:#ffffff0d;border-radius:18px;isolation:isolate}
.case-slides{scrollbar-width:none}.case-slides::-webkit-scrollbar{display:none}
.case-slide{padding:0;height:clamp(260px,48vw,520px)}.case-slide img{border-radius:0}
.gallery-toolbar{border:0;padding:12px 16px;justify-content:center;gap:12px;background:transparent;flex-wrap:nowrap}
.gallery-toolbar button{position:absolute;top:calc((100% - 68px)/2);transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#101518b3;backdrop-filter:blur(12px);border:1px solid #ffffff20;color:#eef4f0;font-size:18px;z-index:2;transition:background .2s,opacity .2s}
.gallery-toolbar button[data-prev]{left:14px}.gallery-toolbar button[data-next]{right:14px}.gallery-toolbar button:hover:not(:disabled){background:#24312be6}.gallery-toolbar button:disabled{opacity:.2}
.gallery-toolbar [data-count]{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#92a298;white-space:nowrap}
.gallery-thumbs{margin:0;width:auto;max-width:calc(100% - 60px);gap:8px;scrollbar-width:none}.gallery-thumbs::-webkit-scrollbar{display:none}
.gallery-thumbs a{opacity:.5;border-radius:5px;transition:opacity .2s}.gallery-thumbs a:hover,.gallery-thumbs a[aria-current=true]{opacity:1}.gallery-thumbs a[aria-current=true]{border-color:#c0d4c8}.gallery-thumbs img{width:40px;height:32px;background:#151b18;object-fit:cover}
@media(max-width:600px){.case-slide{height:320px;padding:0}.gallery-toolbar{padding:10px 12px}.gallery-toolbar button[data-prev]{left:8px}.gallery-toolbar button[data-next]{right:8px}.gallery-thumbs{width:auto;margin:0}}

/* Fit the element to the actual photo, so rounding applies to its visible corners. */
.case-gallery{box-shadow:0 10px 32px #0000001a;border-color:#ffffff10}
.case-slide{padding:12px}
.case-slide img{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:12px;object-fit:contain;box-shadow:0 2px 14px #00000018}
.gallery-toolbar button{padding:0;display:grid;place-items:center;line-height:1;box-sizing:border-box;appearance:none}
.gallery-toolbar button svg{display:block;width:20px;height:20px;margin:0;pointer-events:none;flex:none}
.gallery-toolbar button[hidden]{display:none}
@media(max-width:600px){.case-slide{padding:8px}.case-slide img{border-radius:12px}}

.public-contacts{margin:24px 0 32px}.public-contacts h2{font-size:20px}.public-contacts>div{display:flex;gap:10px;flex-wrap:wrap}.public-contacts a,.public-contacts p{display:grid;gap:5px;margin:0;padding:12px 16px;max-width:100%;border:1px solid #ffffff18;border-radius:12px;background:#101a1b;color:#c6eadb;text-decoration:none}.public-contacts small{font-size:11px;color:#91a89a}.public-contacts span{overflow-wrap:anywhere;font-size:14px}.public-contacts a:hover{border-color:#61d5a560}

.client-profile .public-identity{padding:30px;background:linear-gradient(120deg,#13201b,#11161c 65%);border-color:#ffffff18}.client-profile .public-avatar{width:88px;height:88px;flex-basis:88px;font-size:30px}.client-profile .public-person{align-items:center;gap:22px}.client-profile .public-person h1{font-size:clamp(28px,4vw,38px)}.client-profile .public-facts{gap:18px 52px;margin-top:26px;padding-top:20px}.client-profile .public-about{border-top:1px solid #ffffff12;padding-top:22px;margin-top:22px;max-width:720px}.client-profile .public-about p{color:#c0cdc5}.client-profile .public-about h2{font-size:12px;letter-spacing:.04em;margin-bottom:10px}@media(max-width:600px){.client-profile .public-identity{padding:20px}.client-profile .public-person{gap:16px}.client-profile .public-avatar{width:64px;height:64px;flex-basis:64px}.client-profile .public-person h1{font-size:28px}.client-profile .public-facts{gap:16px 28px}}
