:root{--bg:#f7f5f2;--surface:#fff;--primary-text:#1c1c1c;--muted-text:#6b6b6b;--accent:#c67c2e;--border:#e8e5e0;--max-width:800px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--primary-text);-webkit-font-smoothing:antialiased;font-family:Instrument Sans,sans-serif;line-height:1.6;overflow-x:hidden}.container{max-width:var(--max-width);margin:0 auto;padding:0 40px}.fade-up{opacity:0;transition:opacity .56s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.fade-up.visible{opacity:1;transform:translateY(0)}.section-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted-text);margin-bottom:8px;font-size:.7rem;display:block}.section-title{color:var(--primary-text);margin-bottom:36px;font-family:DM Serif Display,serif;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:400}.row-list{flex-direction:column;display:flex}.row-item{border-top:1px solid var(--border);cursor:default;align-items:stretch;gap:18px;padding:26px 0;display:flex}.row-item:last-child{border-bottom:1px solid var(--border)}.row-bar{background:var(--border);border-radius:2px;flex-shrink:0;width:2.5px;position:relative;overflow:hidden}.row-bar-fill{background:var(--accent);border-radius:2px;height:0%;transition:height .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0}.row-item:hover .row-bar-fill{height:100%}.row-text{flex:1;min-width:0}.row-num{color:var(--accent);letter-spacing:.08em;margin-bottom:3px;font-size:.7rem;font-weight:500}.row-title{color:var(--primary-text);margin-bottom:2px;font-size:1.05rem;font-weight:500;line-height:1.3}.row-desc{color:var(--muted-text);font-size:.85rem}#capabilities{padding:60px 0}.cap-icon-wrap{align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.cap-icon{opacity:.85;flex-shrink:0;align-self:flex-start;width:40px;height:40px;margin-top:1px;transition:opacity .35s}.row-item:hover .cap-icon{opacity:1}.cap-text{flex-direction:column;display:flex}.cap-divider{background:var(--border);border:none;width:60%;height:1px;margin:18px 0}.tech-icon-grid{flex-wrap:wrap;gap:20px 30px;display:flex}.tech-item{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.tech-icon{filter:grayscale();opacity:.45;width:24px;height:24px;transition:filter .3s,opacity .3s}.tech-item:hover .tech-icon{filter:grayscale(0%);opacity:1}.tech-label{color:var(--muted-text);letter-spacing:.02em;font-size:.72rem;font-weight:500}#experience{padding:0 0 100px}.timeline{flex-direction:column;display:flex}.tl-item{border-bottom:1px solid var(--border);cursor:default;gap:28px;padding:32px 0;display:flex;position:relative}.tl-item:first-child{border-top:1px solid var(--border)}.tl-spine{background:var(--border);border-radius:2px;flex-shrink:0;width:2.5px;margin:8px 0;position:relative;overflow:hidden}.tl-spine-fill{background:var(--accent);border-radius:2px;height:0%;transition:height .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0}.tl-item:hover .tl-spine-fill{height:100%}.tl-body{flex-direction:column;flex:1;min-width:0;display:flex}.tl-meta{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.tl-company{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.72rem;font-weight:500}.tl-period{color:var(--muted-text);letter-spacing:.04em;font-size:.72rem}.tl-role{color:var(--primary-text);margin-bottom:14px;font-size:1.05rem;font-weight:500;line-height:1.3}.tl-company-blurb{color:var(--muted-text);margin-bottom:16px;font-size:.82rem;font-style:italic;line-height:1.6}.tl-divider{background:var(--border);border:none;width:55%;height:1px;margin:16px 0}.tl-outcomes{flex-direction:column;gap:8px;display:flex}.tl-outcome{align-items:flex-start;gap:10px;display:flex}.tl-outcome-dash{color:var(--accent);flex-shrink:0;font-size:.88rem;line-height:1.6}.tl-outcome-text{color:var(--muted-text);font-size:.88rem;font-weight:400;line-height:1.6}#contact{padding:0 0 100px}.contact-link{color:var(--primary-text);margin-bottom:2px;font-size:1.05rem;font-weight:500;text-decoration:none;transition:color .25s;display:block}.contact-link:hover{color:var(--accent)}.contact-soon{color:var(--muted-text);pointer-events:none;cursor:default;font-size:.85rem;font-style:italic;font-weight:400}@media (max-width:600px){.container{padding:0 24px}#hero{padding:64px 0 72px}.section-title{margin-bottom:28px}.row-item{padding:20px 0}.tech-icon-grid{gap:18px 26px}}
