@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=DM+Serif+Display:ital@0;1&display=swap');

:root{--paper:#f6f4ed;--ink:#242620;--muted:#6b6c64;--line:#deded5;--orange:#ed602f}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
::selection{background:#f7c7ad}
.page{max-width:640px;margin:0 auto;padding:72px 28px 30px}
.profile{margin-bottom:39px}
.avatar{width:66px;height:66px;background:var(--orange);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:33px;font-weight:650;letter-spacing:-3px;position:relative;margin-bottom:22px}
.avatar>span{position:absolute;right:-8px;top:-9px;color:var(--orange);background:var(--paper);font-size:26px;letter-spacing:0;line-height:1;border-radius:50%;padding:2px}
h1{font-size:32px;line-height:1.2;letter-spacing:-1.3px;margin:0 0 12px;font-weight:650}
.name-dot{color:var(--orange)}
.profile p{font-size:15px;color:var(--muted);line-height:1.75;margin:0}
.socials{display:flex;gap:20px;flex-wrap:wrap;margin-top:19px;font-size:13px}
.socials:empty{display:none}
.socials a{display:inline-flex;gap:6px;align-items:center;color:var(--muted)}
.socials a:hover{color:#b4421c}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
h2{display:flex;gap:9px;align-items:center;margin:0;font-size:14px;font-weight:600}
.count{font-size:10px;color:var(--muted);font-weight:400}
.section-heading>span{font-size:11px;color:var(--muted)}
.app-list{display:grid;gap:12px}
.app-card{border:1px solid var(--line);background:#fffdf7;border-radius:12px;padding:20px;transition:border-color .15s}
.app-card:hover{border-color:#dcad98}
.app-main{display:flex;align-items:center;gap:14px}
.app-icon{background:var(--orange);width:48px;height:48px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:34px;font-family:'DM Serif Display',Georgia,serif;line-height:1;padding-bottom:5px}
.app-icon>span{color:#fff0da}
.app-info{min-width:0;flex:1}
.app-title{font-size:16px;letter-spacing:-.3px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:12px}
.arrow{font-size:20px;color:var(--muted);font-weight:400}
.app-main:hover .arrow{color:#b4421c}
.app-description{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:4px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin:19px 0 0;padding-top:15px;border-top:1px solid var(--line)}
.metric dt{font-size:10px;color:var(--muted);margin-bottom:5px}
.metric dd{margin:0;font-size:20px;font-weight:500;letter-spacing:-.5px}
.metric dd span{font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted)}
.data-note{font-size:10px;color:var(--muted);margin:12px 0 0}
footer{display:flex;justify-content:space-between;align-items:center;margin-top:35px;font-size:11px;color:var(--muted)}
footer>span{color:var(--orange);font-size:22px}
.skip-link{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:5}
.skip-link:focus{top:12px}
/* The standalone demo shares the same small, quiet visual language. */
.site-header,.identity,.nav-link{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px}
.monogram{display:none}
.demo{padding:70px 0 40px}
.demo h1{font-size:64px;margin-top:20px;position:relative;width:fit-content;letter-spacing:-2px}
.serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400}
.asterisk{color:var(--orange);position:absolute;right:-55px;top:30px;font-size:45px}
.eyebrow{font-size:10px;letter-spacing:1px;color:var(--muted)}
.demo p{font-size:14px;line-height:1.8;color:var(--muted)}
.visit-link{display:inline-flex;gap:10px;font-size:13px;margin-top:20px}
@media(max-width:480px){.page{padding:40px 22px 25px}h1{font-size:29px}.profile{margin-bottom:30px}.desktop-break{display:none}.app-card{padding:17px}.metrics{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:12px}.app-description{font-size:11px}.app-main{gap:12px}.profile p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Portfolio: compact profile sidebar and full-width app rows. */
.portfolio{max-width:1800px;min-height:100vh;margin:0 auto;padding:0;display:grid;grid-template-columns:clamp(270px,25vw,360px) minmax(0,1fr);background:#fdfcf9}
body{background:#fdfcf9}
.portfolio .profile{padding:64px 36px;margin:0;border-right:1px solid #dedee0}
.portfolio .avatar{width:68px;height:68px;border-radius:11px;background:#f3662f;color:white;font-size:28px;letter-spacing:-1px;margin-bottom:25px;font-weight:500}
.portfolio h1{font-size:27px;line-height:1.25;letter-spacing:-.9px;margin-bottom:10px}
.portfolio .profile p{font-size:15px;line-height:1.65}
.portfolio .socials{margin-top:27px;gap:24px}
.portfolio #apps{padding:48px 40px;min-width:0}
.portfolio .section-heading{margin-bottom:32px}
.portfolio h2{font-size:36px;letter-spacing:-1.2px;font-weight:700}
.portfolio .app-list{gap:16px}
.portfolio .app-card{position:relative;display:grid;grid-template-columns:minmax(230px,1.3fr) minmax(280px,1fr) auto;align-items:center;gap:24px;padding:30px 28px 30px 34px;min-height:145px;border:1px solid #dcdde0;border-radius:12px;background:#fff;overflow:hidden}
.portfolio .app-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#f3662f}
.portfolio .app-card:hover{border-color:#e8ac91}
.portfolio .app-main{gap:22px;min-width:0}
.portfolio .app-icon{width:72px;height:72px;border-radius:13px;background:#f3662f;color:white;padding:0}
.app-icon svg{width:42px;height:42px}
.portfolio .app-title{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin:0;font-weight:700}
.portfolio .app-description{font-size:14px;line-height:1.5;margin:7px 0 0}
.portfolio .metrics{border-top:0;border-left:1px solid #e7e7e9;margin:0;padding:0 0 0 28px;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:22px}
.portfolio .metric{display:flex;flex-direction:column;gap:5px}
.portfolio .metric dt{font-size:12px;margin:0;line-height:1.4}
.portfolio .metric dd{order:-1;font-size:22px;font-weight:700;letter-spacing:-.5px;white-space:nowrap}
.portfolio .metric dd span{font-size:20px;color:var(--ink);font-weight:600}
.app-visit{border-left:1px solid #e7e7e9;padding:20px 0 20px 24px;font-size:14px;font-weight:600;white-space:nowrap;color:#bf4315;display:flex;gap:7px;align-items:center}
.app-visit:hover{text-decoration:underline;text-underline-offset:4px}
.portfolio .data-note{font-size:11px;margin-top:15px;color:#777971}
@media(max-width:1200px) and (min-width:761px){.portfolio{grid-template-columns:260px minmax(0,1fr)}.portfolio .profile{padding:48px 26px}.portfolio h1{font-size:24px}.portfolio #apps{padding:40px 28px}.portfolio .app-card{grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:25px}.portfolio .metrics{grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid #e7e7e9;padding:20px 0 0}.portfolio .app-visit{grid-column:2;grid-row:1}.portfolio .app-icon{width:56px;height:56px}.portfolio .app-title{font-size:21px}}
@media(max-width:760px){.portfolio{display:block;min-height:100vh}.portfolio .profile{padding:34px 24px 30px;border-right:0;border-bottom:1px solid #dedee0}.portfolio .avatar{width:58px;height:58px;font-size:24px;margin-bottom:18px}.portfolio h1{font-size:26px}.portfolio #apps{padding:28px 24px}.portfolio h2{font-size:28px}.portfolio .section-heading{margin-bottom:22px}.portfolio .app-card{grid-template-columns:1fr;gap:22px;padding:24px;min-height:0}.portfolio .app-main{gap:15px}.portfolio .app-icon{width:56px;height:56px}.portfolio .app-title{font-size:21px}.portfolio .app-description{font-size:13px}.portfolio .metrics{border-left:0;border-top:1px solid #e7e7e9;padding:18px 0 0;gap:16px;grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}.portfolio .metric dd{font-size:21px}.portfolio .metric dd span{font-size:19px}.portfolio .metric dt{font-size:11px}.app-visit{border-left:0;padding:0;justify-self:end}.portfolio .data-note{font-size:10px}}

/* Personal profile photo and social links. */
.profile-photo{display:block;width:120px;height:120px;object-fit:cover;border-radius:16px;border:1px solid rgba(36,38,32,.18);box-shadow:0 3px 8px rgba(36,38,32,.08),0 10px 24px rgba(36,38,32,.10)}
.portfolio .profile .socials{margin:16px 0 23px;gap:17px}
.profile .socials a{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}
.socials svg{width:24px;height:24px;display:block}

.portfolio .app-icon-image{object-fit:cover}
