.profile-dialog{width:min(1360px,96vw);max-width:96vw;max-height:96svh;padding:38px 30px 25px;border:0;border-radius:3px;background:#cdb38f;color:#263d57;overflow:auto;box-shadow:0 20px 80px #20170e55}.profile-dialog::backdrop{background:#29261fe0}.profile-dialog .profile-dialog-head{padding:0;margin:0 0 14px;border:0;background:none;display:flex;justify-content:flex-end}.profile-dialog-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.profile-dialog-head button{font-size:13px;background:#f8f5e9;border:1px solid #b4a489;padding:10px 16px;color:#315d91}.profile-dialog #profileContent{padding:0}.profile-dialog .collage-file,.collage-file{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:36px;background:#f6f4ed;box-shadow:5px 7px 0 #e9e7df,10px 12px 0 #fffdf4;isolation:isolate}.personal-file{min-width:0}.file-kicker{font-size:11px;letter-spacing:.16em;margin:0 0 20px}.personal-file h2{font-family:"Portfolio Serif","Portfolio Serif Full",serif;font-size:clamp(40px,5vw,76px);line-height:1.15;margin:0;color:#203b5a}.personal-file h2 span{display:block;font-family:inherit;font-size:.33em;margin-top:12px}.file-motto{margin:20px 0 28px;font-size:18px}.personal-fields{margin:0}.personal-fields>div{display:grid;grid-template-columns:100px 1fr;gap:18px;border-top:1px solid #a5aaa5;padding:17px 0}.personal-fields dt{font-size:17px;font-weight:700}.personal-fields small{display:block;font-size:10px;letter-spacing:.08em;font-weight:400;margin-top:3px}.personal-fields dd{margin:0;font-size:15px;line-height:1.85}.skill-checks{display:grid;grid-template-columns:1fr 1fr;gap:5px}.file-work-link{display:inline-block;color:#315d91;margin-top:22px;text-underline-offset:6px}.file-footer{border-top:1px solid #a5aaa5;padding-top:20px;font-size:12px;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}.file-footer span{font-size:34px}.experience-collage{padding:13px 10px 0;min-width:0}.experience-stack{position:relative;min-height:650px;perspective:1600px}.experience-paper{position:absolute;inset:0;padding:27px 29px 38px;background:#315d91;color:#fffdf4;transform-origin:8% 5%;box-shadow:3px 5px 9px #2b281b30;backface-visibility:hidden;will-change:transform;z-index:1}.experience-paper:nth-child(2){background:#d6e9e1;color:#315d91}.experience-paper:nth-child(3){background:#f2c9bf;color:#315d91}.experience-paper header{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}.experience-paper h3{font-family:"Portfolio Serif","Portfolio Serif Full",serif;font-size:44px;margin:24px 0 5px;line-height:1.2}.experience-role{font-size:14px;margin:0 0 22px}.experience-images{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;height:205px;margin:22px 0}.experience-images img{width:100%;height:100%;object-fit:cover;object-position:top;border:5px solid #f8f4e9}.experience-images img+img{transform:rotate(5deg) translateY(8px)}.experience-paper h4{font-size:18px;line-height:1.6;margin:22px 0 13px}.experience-paper>p:not(.experience-role){font-size:13px;line-height:1.8;margin:8px 0}.experience-paper>a{display:inline-block;color:inherit;margin-top:16px;font-size:13px;text-underline-offset:5px}.paper-number{position:absolute;right:23px;bottom:14px;font-size:28px;font-family:serif;opacity:.65}.paper-clip{position:absolute;top:-30px;left:30px;width:21px;height:80px;border:4px solid #9ba6ac;border-radius:15px;box-shadow:inset 1px 0 #fff,1px 1px 2px #0008;transform:rotate(-9deg);z-index:2}.paper-clip:after{content:"";position:absolute;inset:8px 3px 10px;border:2px solid #c5cbd0;border-radius:8px}.experience-controls{display:flex;gap:14px;align-items:center;margin-top:28px;font-size:11px}.experience-controls p{flex:1;margin:0}.experience-next{border:0;background:#eddfa0;padding:12px 16px;color:#315d91;cursor:pointer;white-space:nowrap}.experience-next:focus-visible{outline:3px solid #315d91;outline-offset:4px}.experience-next:disabled{cursor:wait}.experience-count{font-variant-numeric:tabular-nums}.profile-dialog[open]{animation:none}
@media(min-width:1100px){.experience-stack{min-height:680px}}
@media(max-width:760px){.profile-dialog{padding:18px 14px 25px}.profile-dialog .collage-file,.collage-file{grid-template-columns:1fr;padding:25px 20px;gap:36px}.profile-dialog-head #inspectPaper{display:none}.personal-file h2{font-size:50px}.personal-fields>div{grid-template-columns:76px 1fr;gap:12px}.personal-fields dd{font-size:14px}.experience-collage{padding:10px 4px 0}.experience-stack{min-height:650px}.experience-paper{padding:24px 22px}.experience-paper h3{font-size:39px}.experience-images{height:190px}.experience-controls{gap:8px}.experience-controls p{font-size:10px}.skill-checks{gap:2px;font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.experience-paper{will-change:auto}}
.profile-dialog .experience-paper p{color:inherit}.profile-dialog .collage-file{gap:26px}.profile-dialog .experience-paper h4{position:relative}.profile-dialog .profile-dialog-head>div{margin-top:0}
.profile-dialog .profile-dialog-head{position:sticky;top:-18px;z-index:10;padding:8px 0;background:#cdb38f}.profile-dialog .experience-paper{height:100%;box-sizing:border-box}
.profile-dialog .experience-images{grid-template-rows:minmax(0,1fr)}.profile-dialog .experience-images img{min-height:0;max-height:100%;height:100%;box-sizing:border-box;aspect-ratio:auto}.profile-dialog .experience-paper h4{color:inherit}
/* Keep the opened file comfortably inside the browser window. */
@media(min-width:761px){
 .profile-dialog{width:min(1120px,88vw);max-width:88vw;max-height:86svh;padding:18px 24px 24px}
 .profile-dialog .collage-file{padding:26px;gap:24px}
 .profile-dialog .personal-file h2{font-size:54px}
 .profile-dialog .file-kicker{margin-bottom:14px}
 .profile-dialog .file-motto{margin:16px 0 20px;font-size:16px}
 .profile-dialog .personal-fields>div{padding:13px 0;grid-template-columns:84px 1fr;gap:12px}
 .profile-dialog .personal-fields dt{font-size:15px}
 .profile-dialog .personal-fields dd{font-size:13px;line-height:1.75}
 .profile-dialog .file-footer{padding-top:14px;margin-bottom:0}
 .profile-dialog .file-work-link{margin-top:16px;font-size:14px}
 .profile-dialog .experience-stack{min-height:565px}
 .profile-dialog .experience-paper{padding:23px 24px 32px}
 .profile-dialog .experience-paper h3{font-size:36px;margin-top:20px}
 .profile-dialog .experience-images{height:165px;margin:17px 0}
 .profile-dialog .experience-paper h4{font-size:16px;margin:18px 0 10px}
 .profile-dialog .experience-paper>p:not(.experience-role){font-size:12px}
 .profile-dialog .experience-controls{margin-top:22px}
}
@media(max-width:760px){.profile-dialog{width:92vw;max-width:92vw;max-height:88svh}}
/* The complete spread fits the window; it is never an inner scrolling page. */
.profile-dialog{box-sizing:border-box;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);overflow:hidden;padding:14px 24px 22px}
.profile-dialog #profileContent{width:1120px}
.profile-dialog .collage-file{display:grid;grid-template-columns:1fr 1fr;padding:26px;gap:24px}
.profile-dialog #inspectPaper{display:none}
.profile-dialog .profile-dialog-head{position:static;margin-bottom:12px;padding:0;background:none}
.profile-dialog .personal-file h2{font-size:54px}
.profile-dialog .personal-fields>div{grid-template-columns:84px 1fr;padding:13px 0}
.profile-dialog .personal-fields dd{font-size:13px;line-height:1.75}
.profile-dialog .experience-stack{min-height:565px}
.profile-dialog .experience-images{height:165px}
.profile-dialog .experience-paper h3{font-size:36px}
.profile-dialog .experience-paper h4{font-size:16px}
.profile-dialog .experience-paper{padding:23px 24px 32px}
body:has(#profileDialog[open]){overflow:hidden}
.profile-dialog .experience-controls,.experience-controls{position:relative;z-index:5;display:flex;justify-content:center;align-items:center;gap:18px;margin-top:42px;min-height:36px;padding:0 12px 4px;color:#315d91}
.experience-controls button{display:grid;place-items:center;width:40px;height:36px;padding:0;border:0;background:transparent;color:#315d91;font-size:25px;font-weight:400;line-height:1;cursor:pointer}
.experience-controls button:disabled{opacity:.3;cursor:default}
.experience-controls button:focus-visible{outline:2px solid #315d91;outline-offset:2px}
.experience-controls .experience-count{font-size:12px;min-width:54px;text-align:center}

/* The paper spread itself is the dialog, without a second frame. */
.profile-dialog{background:transparent;padding:0;border:0;box-shadow:none;overflow:visible;border-radius:0}
.profile-dialog .profile-dialog-head{position:absolute;top:-44px;right:0;margin:0;z-index:10}
.profile-dialog #profileContent{padding:0;background:transparent}
.profile-dialog #returnPaper{background:#f6f4ed;border:0;color:#343c42}
