:root{--page: #f5f5f1;--surface: #f5f5f1;--surface-strong: #ecece6;--accent: #d8d2c2;--accent-ink: #7a715f;--ink: #181818;--ink-soft: #64645f;--ink-faint: #7a7a73;--line: #d9d9d2;--line-strong: #b8b8b0;--max-width: 64rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:var(--page);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.55;text-rendering:optimizeLegibility}a{color:inherit}img{max-width:100%}p{margin:0}.copy-emphasis{color:var(--ink);font-weight:700}.page-shell{width:min(calc(100% - 2rem),var(--max-width));margin:0 auto;padding:1rem 0 4rem}.hero{padding-top:.1rem}.site-nav{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:0 0 1rem;border-bottom:1px solid var(--line-strong)}.brand{font-weight:600;text-decoration:none;font-size:.92rem;letter-spacing:-.01em}.site-nav__links{display:flex;flex-wrap:wrap;gap:.85rem}.site-nav__links a{display:inline-flex;align-items:center;gap:.38rem;text-decoration:none;color:var(--ink-faint);font-size:.9rem;font-weight:500}.site-nav__links a:hover,.site-nav__links a:focus-visible,.secondary-link:hover,.secondary-link:focus-visible{color:var(--ink)}.hero__content{padding:2.2rem 0 1.45rem;max-width:none}.hero__main{min-width:0}.ui-icon{width:1rem;height:1rem;flex:0 0 auto}.ui-icon--nav{width:1rem;height:1rem}.ui-icon--section{width:1.45rem;height:1.45rem;stroke-width:2.1}.ui-icon--link{width:.95rem;height:.95rem}.ui-icon--service{width:1.15rem;height:1.15rem}h1,h2,h3{margin:0;line-height:1.1;font-family:inherit;font-weight:600}h1{font-size:clamp(2rem,5.6vw,3.7rem);letter-spacing:-.025em}h2{font-size:clamp(1.45rem,3vw,1.85rem);letter-spacing:-.04em}h3{font-size:1.05rem;letter-spacing:-.02em}.lede{max-width:44rem;margin:1.1rem 0 0;color:var(--ink);font-size:clamp(1.08rem,2vw,1.24rem);font-weight:600;line-height:1.5}.hero__body{max-width:44rem;margin-top:1.1rem;color:var(--ink-soft)}.hero__body p+p,.services-copy p+p,.section-heading p+p,.professional-project-item p+p,.project-card__body p+p{margin-top:.8rem}.hero__body p:first-child,.services-copy p:first-child{color:var(--ink)}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.15rem;border:1px solid var(--ink);border-radius:999px;background:#ffd84d;box-shadow:0 .25rem #18181814;color:var(--ink);font-size:.98rem;font-weight:800;line-height:1;text-decoration:none;transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease}.contact-button:hover,.contact-button:focus-visible{background:#ffcf1a;box-shadow:0 .35rem #1818181a;transform:translateY(-1px)}.contact-button--hero{margin-top:1.1rem}.content-stack{display:grid;gap:0;margin-top:.45rem}.section-block{padding:1.55rem 0 1.7rem;border-top:1px solid var(--line)}.section-heading{max-width:40rem}.section-title{display:inline-flex;align-items:center;gap:.42rem;margin-bottom:.35rem}.section-title>span{position:relative;display:inline-block;padding:0 .34rem .1rem 0;z-index:0}.section-title>span:after{content:"";position:absolute;left:-.05rem;right:-.1rem;bottom:.08rem;height:.72rem;background:var(--accent);z-index:-1}.section-heading p:last-child{margin:.45rem 0 0;color:var(--ink-faint);font-size:.94rem}.section-disclaimer,.professional-project-empty{max-width:42rem;margin:.95rem 0 0;color:var(--accent-ink);font-size:.88rem;font-weight:700;line-height:1.45}.professional-project-list{list-style:none;padding:0;margin:.9rem 0 0;border-top:1px solid var(--line)}.services-copy{max-width:48rem;margin:1rem 0 0}.services-copy p{max-width:46rem;color:var(--ink-soft)}.services-copy p:first-child,.hero__body p:first-child{font-weight:500}.services-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1.1rem 0 0}.service-item{position:relative;padding:1rem 0 1rem 1.7rem;border-top:1px solid var(--line)}.service-item__icon{position:absolute;left:0;top:1rem;color:var(--ink)}.service-item h3{margin-bottom:.32rem}.service-item p{max-width:30ch;color:var(--ink-soft)}.professional-project-item{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.professional-project-item__meta{color:var(--accent-ink);font-size:.82rem;font-weight:800;letter-spacing:.08em}.professional-project-item__body{min-width:0}.professional-project-item h3{margin-bottom:.24rem}.professional-project-item p{max-width:44rem;color:var(--ink-soft);font-size:.94rem;line-height:1.55}.project-list,.skills-list{margin-top:1rem}.project-list--extra{margin-top:.9rem}.project-overflow{margin-top:.85rem}.project-overflow summary{display:inline-flex;align-items:center;cursor:pointer;color:var(--ink-soft);font-size:.92rem;font-weight:700;list-style:none}.project-overflow summary::-webkit-details-marker{display:none}.project-overflow summary:before{content:"+";display:inline-block;margin-right:.45rem;color:var(--ink)}.project-overflow[open] summary:before{content:"-"}.project-card,.skill-group{padding:1rem 0;border-top:1px solid var(--line);background:var(--surface)}.project-card{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:1rem;align-items:start}.project-card__meta{color:var(--accent-ink);font-size:.82rem;font-weight:800;letter-spacing:.08em}.project-card__body{min-width:0}.project-card__body h3{margin-bottom:0}.project-card__heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.35rem}.project-card__links{display:flex;flex-wrap:wrap;gap:.7rem}.project-card__links a{display:inline-flex;align-items:center;gap:.3rem;color:var(--ink-soft);font-size:.88rem;font-weight:600;text-decoration-thickness:.06em;text-underline-offset:.14em}.project-card p,.copy-block p,.skill-group li{color:var(--ink-soft)}.project-card__body>p:first-of-type{max-width:46rem;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.5}.project-card__detail,.project-card__learned{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.55rem;margin-top:.65rem;font-size:.88rem;line-height:1.5}.project-card__label{color:var(--accent-ink);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;list-style:none;padding:0;margin:.15rem 0 0}.tag-list li{padding:0;border:0;background:transparent;color:var(--ink-faint);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.copy-block{max-width:40rem}.skill-group{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:1rem}.skill-group h3{font-size:1.02rem}.skill-group ul{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:0;padding:0;list-style:none;font-size:.95rem}.contact-primary{margin-top:.85rem}.contact-button--footer{padding:1rem 1.35rem;font-size:1.05rem}.contact-secondary{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.contact-secondary__label{margin:0 0 .45rem;color:var(--accent-ink);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-secondary__links{display:flex;flex-wrap:wrap;gap:.85rem}.secondary-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-soft);font-size:.9rem;text-decoration-thickness:.06em;text-underline-offset:.14em}@media(max-width:720px){.page-shell{width:min(calc(100% - 1rem),var(--max-width));padding-bottom:2rem}.site-nav{align-items:flex-start;flex-direction:column}.hero__content{padding-top:2rem}.project-card,.skill-group,.professional-project-item{grid-template-columns:1fr;gap:.4rem}.project-card__heading{align-items:flex-start;flex-direction:column}.project-card__detail,.project-card__learned{grid-template-columns:1fr;gap:.18rem}.tag-list{justify-content:flex-start;margin-top:.35rem}}
