@font-face{font-family:"Passport Serif";src:url("/assets/passport/fonts/libre-baskerville-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Passport Serif";src:url("/assets/passport/fonts/libre-baskerville-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Passport Sans";src:url("/assets/passport/fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Passport Sans";src:url("/assets/passport/fonts/inter-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
/* Fixed 540 × 960 logical canvas: responsive preview, exact 2× export. */
.cp-passport,.cp-passport *{box-sizing:border-box}.cp-passport{width:540px;height:960px;padding:66px 13px;color:#092b43;background-color:#06233b;background-image:repeating-radial-gradient(ellipse at 9% 6%,transparent 0 5px,#6b9cba07 5.5px 6px,transparent 6.5px 10px),linear-gradient(115deg,#103c54aa,transparent 40%,#001c32);font-family:'Passport Serif',Georgia,serif;transform-origin:top left;overflow:hidden;position:relative}.cp-cover{border:1px solid #9eb7c580;border-radius:25px;overflow:hidden;box-shadow:0 6px 18px #00101e66;height:828px;position:relative}.cp-header{height:126px;display:flex;align-items:center;justify-content:space-between;padding:22px 20px;color:#fff;border-bottom:6px solid #9ab5c8}.cp-brand{display:flex;align-items:center;gap:7px}.cp-brand svg{width:61px;height:53px}.cp-brand strong{font:700 25px 'Passport Sans',Arial,sans-serif;letter-spacing:-1.1px;white-space:nowrap}.cp-brand strong span{color:#00b6ec}.cp-brand small{display:block;font:7.5px 'Passport Sans',Arial,sans-serif;letter-spacing:2px;margin-top:10px;white-space:nowrap}.cp-title{font-size:19px;letter-spacing:4px;line-height:1.25;text-align:center;color:#e1cc9e;margin-left:10px}.cp-title>span{display:block;font-size:20px;letter-spacing:0;text-align:right;margin-top:9px}.cp-paper{position:relative;isolation:isolate;height:702px;padding:32px 25px 20px;background:#f4f0e4;background-image:repeating-radial-gradient(ellipse at 10% 45%,#6686a204 0 1px,transparent 1.5px 4px),repeating-linear-gradient(17deg,transparent 0 4px,#b0a78b0b 4.5px 5.5px);border-radius:40px 0 0 0;margin-top:-1px}.cp-identity{display:grid;grid-template-columns:149px 1fr;gap:21px;position:relative;min-height:247px;padding-bottom:19px}.cp-portrait{width:149px;height:181px;background:linear-gradient(135deg,#c7d0d3aa,#e7e8df);border:1px solid #95a9b166;border-radius:9px;overflow:hidden;margin-top:1px;position:relative}.cp-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center}.cp-portrait>svg{width:100%;height:100%;fill:#7997a055}.cp-portrait>span{position:absolute;bottom:10px;left:0;right:0;text-align:center;font:7px Arial;letter-spacing:1.5px;color:#405e6d}.cp-label{display:block;font:600 10px 'Passport Sans',Arial,sans-serif;letter-spacing:2.2px;margin:2px 0 7px}.cp-details{min-width:0}.cp-details h1{font-size:35px;line-height:1.12;margin:0 0 15px;overflow-wrap:anywhere}.cp-details h1.cp-long-name{font-size:25px}.cp-details h1.cp-anonymous{font-size:27px}.cp-profession{font-size:22px;line-height:1.12;margin:0 0 13px;overflow-wrap:anywhere}.cp-facts{border-top:1px solid #9bafba;display:flex;padding-top:15px;margin-top:14px;gap:13px}.cp-facts>div{flex:1;min-width:0}.cp-facts>div+div{border-left:1px solid #b7c4ca;padding-left:13px}.cp-facts .cp-label{font-size:8px;letter-spacing:1.6px}.cp-facts p{font-size:17px;line-height:1.18;margin:0;overflow-wrap:anywhere}.cp-availability{display:flex;align-items:center;gap:12px;margin-top:20px}.cp-availability i{width:17px;height:17px;background:#798a94;flex:none;border:2px solid #ffffff99;border-radius:50%}.cp-availability i.cp-open{background:#109655;box-shadow:0 0 9px #3be17944}.cp-availability .cp-label{font-size:9px}.cp-availability p{margin:0;font-size:19px;line-height:1.1}.cp-skills{position:relative;border-top:1px solid #9bafba;border-bottom:1px solid #9bafba;padding:16px 0 20px;min-height:171px}.cp-skills h2{font-size:16px;letter-spacing:4px;margin:0 0 16px}.cp-skills ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 8px;padding:0;margin:0}.cp-skills li{border:1px solid #bdccd4;background:#e8edf0a6;border-radius:30px;padding:7px 9px;display:flex;align-items:center;gap:7px;min-width:75px;max-width:223px;min-height:43px;font:13px/1.15 Georgia,serif}.cp-skills li img{width:28px;height:28px;object-fit:contain;flex:none}.cp-skills li span{overflow-wrap:anywhere}.cp-generic{color:#226ba0;font-size:27px}.cp-muted{font:12px Arial;color:#486172}.cp-sharing{display:grid;grid-template-columns:120px 1fr 90px;gap:19px;align-items:center;padding:29px 0 0;position:relative}.cp-qr{width:120px;height:120px;background:#fff;border:1px solid #b6c6cf;padding:4px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #edf0e999}.cp-qr img{width:110px;height:110px;image-rendering:pixelated}.cp-qr>span{text-align:center;font:9px Arial;letter-spacing:1px}.cp-qr small{display:block;margin-top:12px;font-size:9px;line-height:1.4;letter-spacing:0}.cp-url{min-width:0}.cp-url p{font:9px/1.9 Arial;letter-spacing:2px;margin:0 0 9px}.cp-url a{color:#0759b6;font-size:13px;text-decoration:none;font-weight:bold;overflow-wrap:anywhere}.cp-url>span{font:12px Arial;color:#486172}.cp-stamp{width:90px;height:90px;border:3px double #7b9fb7;border-radius:50%;color:#547f9b;transform:rotate(-17deg);font:600 7px Arial;letter-spacing:1px;text-align:center;padding-top:15px;box-shadow:0 0 0 3px #7b9fb740}.cp-stamp span{display:block;font:29px Georgia;margin:2px}.cp-footer{position:absolute;bottom:18px;left:0;right:0;text-align:center}.cp-footer strong{display:block;font:700 16px Arial;letter-spacing:-.5px}.cp-footer>span{display:block;margin-top:7px;font:8px Arial;letter-spacing:2px}.cp-mountains{position:absolute;bottom:24px;left:0;width:100%;height:90px;z-index:-1;opacity:.36}.cp-mountains svg{width:100%;height:100%;fill:#a8c2d0;stroke:#6c9ab6;stroke-width:1}.cp-mountains path+path{fill:none;stroke-width:2}.cp-rosette{position:absolute;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 4px,#6b9cba0a 4.5px 5px,transparent 5.5px 8px);z-index:-1}.cp-rosette-one{width:450px;height:450px;left:-210px;top:0}.cp-explore{position:absolute;right:-27px;top:71px;border:4px double #9bb9cc66;border-radius:50%;width:112px;height:112px;text-align:center;padding-top:12px;font:10px Arial;letter-spacing:1px;color:#688da44d;transform:rotate(-17deg);z-index:-1}.cp-explore span{font-size:35px;line-height:1.3}

/* Stable content columns keep optional fields and long values from shifting the card. */
.cp-identity{grid-template-columns:132px minmax(0,1fr);gap:18px;min-height:0;padding-bottom:18px}
.cp-portrait{width:132px;height:166px}
.cp-details h1{font-size:29px;line-height:1.15;margin-bottom:12px}
.cp-details h1.cp-long-name{font-size:23px}
.cp-profession{font-size:19px;line-height:1.3;margin-bottom:10px}
.cp-label{font-size:9px;letter-spacing:1.7px;margin-bottom:6px}
.cp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:11px;margin-top:11px}
.cp-facts:empty{display:none}
.cp-facts>div:only-child{grid-column:1/-1}
.cp-facts>div+div{padding-left:10px}
.cp-facts p{font-size:15px;line-height:1.35}
.cp-availability{gap:8px;margin-top:13px}
.cp-availability p{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
.cp-availability i{width:13px;height:13px}
.cp-skills{min-height:0;padding:15px 0 18px}
.cp-skills h2{font-size:14px;letter-spacing:3px;margin-bottom:12px}
.cp-skills ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cp-skills li{min-width:0;max-width:none;min-height:38px;padding:7px 10px;font:12px/1.3 'Passport Sans',Arial,sans-serif;border-radius:9px}
.cp-skills li img{width:23px;height:23px}
.cp-generic{font-size:23px;flex:none}
.cp-sharing{gap:14px;padding-top:20px;grid-template-columns:120px minmax(0,1fr) 76px}
.cp-stamp{width:76px;height:76px;font-size:6px;padding-top:11px}
.cp-stamp span{font-size:24px}
.cp-url a{font-size:11px;line-height:1.5}
/* Match the site's orbit identity, navy and teal on exported and public cards. */
.cp-passport{color:#0b3d5c;background-color:#0b3d5c;background-image:linear-gradient(145deg,#0b3d5c,#082c43);font-family:'Passport Sans',Arial,sans-serif}
.cp-header{border-bottom-color:#1e8a7a}
.cp-brand svg{width:44px;height:44px;flex:none}.cp-brand strong{font-size:24px;letter-spacing:-1px}.cp-brand strong span{color:#67c9b5}.cp-brand sup{font-size:12px;vertical-align:super}.cp-brand small{font-size:6px;letter-spacing:1.3px}
.cp-title{font:700 18px/1.35 'Passport Sans',Arial,sans-serif;letter-spacing:2px;color:#fff}.cp-title>span{color:#67c9b5}
.cp-paper{background:#f7f9fa}.cp-explore,.cp-rosette{display:none}
.cp-details h1{font-family:'Passport Sans',Arial,sans-serif;font-weight:700}.cp-profession{font-size:18px}.cp-skills h2{font-family:'Passport Sans',Arial,sans-serif}
.cp-skills li{background:#edf5f3;border-color:#c6dcd6}.cp-url a{color:#1e8a7a}
.cp-linkedin{display:inline-block;font:11px/1.5 'Passport Sans',Arial,sans-serif;margin-top:10px;color:#1e8a7a;text-decoration:underline;overflow-wrap:anywhere}
.cp-mountains{opacity:.12}.cp-stamp{color:#1e8a7a;border-color:#7bb9ac;box-shadow:0 0 0 3px #1e8a7a12}
.cp-footer{background:transparent;padding:0;border:0;color:#0b3d5c}.cp-footer strong{font-family:'Passport Sans',Arial,sans-serif}

/* Transparent surround keeps the credential itself in focus, including PNG exports. */
.cp-passport{background:transparent}
.cp-header{background:#0b3d5c}
.cp-cover{box-shadow:none}
.cp-ai-icon{width:23px;height:23px;flex:none;color:#1e8a7a}
