body.inner{background:#eeeae5}.inner .header{position:sticky;top:0;box-shadow:0 1px 0 #0002}.inner-main{min-height:calc(100svh - 92px)}.page-intro{padding:6rem 5% 4rem;background:#eeeae5}.page-intro .overline{color:#9b572d}.page-intro h1{font:600 clamp(5rem,13vw,13rem)/.86 'Oswald',Impact,sans-serif;letter-spacing:-.055em;margin:1.5rem 0 2rem}.page-intro h1 em{font-family:'Italiana',Georgia,serif;font-weight:400;text-transform:none}.page-intro p{font-size:1.08rem;line-height:1.7;max-width:720px;color:#514c47}.backline{display:inline-flex;gap:1rem;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;margin-bottom:2rem}.backline:hover{text-decoration:underline}.frame-shell{height:calc(100svh - 92px);min-height:500px;display:flex;flex-direction:column;background:#171718}.frame-bar{color:#f5f2ed;padding:1rem 4.5%;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.frame-bar a{text-decoration:underline;text-underline-offset:3px}.frame-shell iframe{display:block;border:0;width:100%;flex:1;background:#fff}.frame-fallback{background:#eae6df;padding:.7rem 4.5%;font-size:.82rem;line-height:1.4}
.resume-summary{background:#eeeae5;padding:0 5% 7rem;display:grid;grid-template-columns:1.2fr .8fr;gap:7%}.resume-summary p{font-size:clamp(1.45rem,2.5vw,2.7rem);line-height:1.45;margin:0}.resume-summary aside{border-top:1px solid #a9a29a;padding-top:1.5rem;line-height:1.75}.resume-summary aside strong{display:block;font:500 2rem 'Oswald',sans-serif;margin-bottom:.6rem}.resume-band{background:#171718;color:#eeeae5;padding:7rem 5%}.resume-band h2,.skill-band h2{font:600 clamp(3.2rem,5.5vw,6rem)/1 'Oswald',sans-serif;margin:0 0 1rem}.resume-band>p{color:#aaa59f;line-height:1.7;max-width:650px;margin-bottom:3rem}.experience{border:1px solid #777;display:grid;grid-template-columns:1fr auto;gap:1rem;padding:2rem;margin:1rem 0}.experience h3{font:500 clamp(1.6rem,2.5vw,2.5rem) 'Oswald',sans-serif;margin:0 0 .6rem}.experience p{margin:0;color:#bcb6ae}.experience time{font-size:.85rem;white-space:nowrap}.skill-band{padding:7rem 5%;background:#eeeae5}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}.skill-grid div{border-top:1px solid #aaa;padding-top:1.5rem}.skill-grid h3{font:500 1.7rem 'Oswald',sans-serif;margin:.2rem 0 .7rem}.skill-grid p{line-height:1.65;color:#5d5750}
.project-area,.gallery-area{background:#171718;color:#eeeae5;padding:5rem 5% 8rem}.project-area h2,.gallery-area h2{font:600 clamp(3rem,5vw,6rem) 'Oswald',sans-serif;margin:0 0 2rem}.repo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.repo{background:#303032;min-height:330px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.repo span,.repo small{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#bdb5ac}.repo h3{font:500 2.4rem 'Oswald',sans-serif;margin:0}.repo p{line-height:1.6;color:#ddd3c8}.external-callout{margin-top:3rem;padding:2rem;border:1px solid #777;display:flex;justify-content:space-between;align-items:center;gap:2rem}.external-callout a{background:var(--rust);color:#fff;padding:1rem 1.4rem;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.13em}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-item{border:0;background:#292929;color:#fff;padding:0;text-align:left;cursor:pointer}.gallery-item img{width:100%;height:350px;object-fit:cover;display:block}.gallery-item span{display:block;padding:1rem;font-size:.85rem}.gallery-empty{border:1px solid #777;padding:4rem 2rem;text-align:center;color:#c9c1b7}.gallery-empty h3{font:500 2.3rem 'Oswald',sans-serif;color:#fff;margin:0 0 1rem}.gallery-dialog{border:0;background:#171718;color:#fff;padding:1rem;max-width:min(95vw,1100px);max-height:95vh}.gallery-dialog::backdrop{background:#000c}.gallery-dialog img{display:block;max-width:100%;max-height:78vh;object-fit:contain}.gallery-dialog button{float:right;border:1px solid #fff;background:none;color:#fff;padding:.5rem .9rem;margin-bottom:.7rem;cursor:pointer}
@media(max-width:900px){.resume-summary{grid-template-columns:1fr}.skill-grid,.repo-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.inner-main{min-height:calc(100svh - 72px)}.page-intro{padding:4rem 5% 3rem}.page-intro h1{font-size:18vw}.frame-shell{height:calc(100svh - 72px)}.frame-bar{padding:1rem 5%;align-items:flex-start;flex-direction:column}.resume-band,.skill-band,.project-area,.gallery-area{padding:4rem 5%}.experience{display:block}.experience time{display:block;margin-top:1rem}.skill-grid,.repo-grid,.gallery-grid{grid-template-columns:1fr}.external-callout{display:block}.external-callout a{display:inline-block;margin-top:1rem}.gallery-item img{height:300px}}
