/* GENERATED by build/port_captured.py - do not hand-edit.
   Every rule is a verbatim port of an inline style, style-hover or
   style-focus from the Claude Design prototype.
   Layer order is declared in css/fonts.css; it reproduces the
   prototype's real precedence, where inline styles beat the page's own
   stylesheet and JS-applied hover beats both. */

@layer proto-scoped {
html{scroll-behavior:smooth}
    section[id]{scroll-margin-top:100px}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased}
    a{color:var(--ink)}
    a:hover{color:var(--brown)}
    @keyframes softUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
    @keyframes softIn{from{opacity:0}to{opacity:1}}
    @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
    @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
    @media(max-width:860px){
      [data-mq="nav-links"]{gap:18px!important;flex-wrap:wrap!important;justify-content:flex-end}
      [data-mq="about-grid"]{grid-template-columns:1fr!important;gap:44px!important}
      [data-mq="about-grid"]>div{grid-column:1/-1!important}
      [data-mq="cv-row"]{grid-template-columns:1fr!important;gap:2px!important}
      [data-mq="cv-row"]>span:first-of-type{text-align:left!important}
      [data-mq="footer"]{grid-template-columns:1fr!important;gap:28px!important}
      [data-mq="footer"] h2{margin-bottom:12px!important}
      [data-mq="footer"]>div{transform:none!important}
      [data-mq="footer-bottom"]{flex-direction:column!important;gap:6px!important;align-items:flex-start!important}
    }
}

@layer proto-inline {
.ab-s1{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 20; background: rgba(244, 240, 232, 0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line)}
.ab-s2{margin: 0px auto; padding: 0 0 0 0; height: 76px; display: flex; align-items: center; justify-content: space-between}
.ab-s3{height: 26px; display: block}
.ab-s4{display: flex; gap: 40px; align-items: center}
.ab-s5{font-size: var(--small); letter-spacing: 0.06em; text-decoration: none; color: var(--brown)}
.ab-s6{margin-top: 0px}
.ab-s7{display: grid; grid-template-columns: 1fr 1fr; align-items: stretch}
.ab-s8{display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding: calc(112px) var(--margin-page) 60px}
.ab-s9{font-size: var(--eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gray); margin: 0px 0px 24px}
.ab-s10{font-family: var(--serif); font-weight: 400; letter-spacing: -0.01em; font-size: var(--h2); line-height: 1.15; margin: 0px 0px 26px}
.ab-s11{margin: 0px 0px 18px; max-width: var(--measure); color: var(--brown)}
.ab-s12{font-family: var(--serif); font-style: italic; font-size: var(--h4); line-height: 1.55; color: var(--ink); margin: 0px 0px 18px; max-width: none}
.ab-s13{margin: 0px; max-width: var(--measure); color: var(--brown)}
.ab-s14{min-height: min(86vh, 820px); overflow: hidden; background: var(--cream)}
.ab-s15{width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; animation: 2200ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal both running softIn}
.ab-s16{background: var(--cream); padding: var(--space-6) 0 var(--space-6) 0}
.ab-s17{margin: 0px auto}
.ab-s18{font-size: var(--eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); margin: 0px 0px 36px}
.ab-s19{display: flex; flex-direction: column; gap: 12px; font-size: var(--small); color: var(--gray)}
.ab-s20{background: var(--ink); color: var(--cream); padding: 0px}
.ab-s21{margin: 0px auto; padding: var(--space-5) 0 var(--space-4) 0; display: grid; grid-template-columns: 1.9fr 1fr 1fr 1fr; gap: 24px; align-items: start}
.ab-s22{height: 22px; width: auto; filter: invert(93%) sepia(8%) saturate(300%) hue-rotate(340deg) brightness(103%)}
.ab-s23{font-size: var(--eyebrow); font-family: var(--sans); font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(234, 227, 214, 0.65); margin: 0px 0px 30px}
.ab-s24{display: flex; flex-direction: column; gap: 12px; font-size: var(--small)}
.ab-s25{color: var(--cream); text-decoration: none}
.ab-s26{transform: translateX(-18px)}
.ab-s27{color: rgba(234, 227, 214, 0.85)}
.ab-s28{margin: 0px auto; padding: var(--space-4) 0 var(--space-4) 0; display: flex; justify-content: space-between; gap: 16px; font-size: var(--small); letter-spacing: 0.02em; color: rgba(234, 227, 214, 0.55)}
.ab-s29{display: flex; flex-direction: column; gap: 10px; font-size: var(--small)}
.ab-s30{text-decoration: none; color: var(--cream)}
.ab-s31{text-decoration-line: underline; color: var(--cream)}
}

@layer proto-state {
.ab-h1:hover,a:hover .ab-h1,a:focus-visible .ab-h1{color:var(--ink)}
.ab-h2:hover,a:hover .ab-h2,a:focus-visible .ab-h2{text-decoration:underline;text-underline-offset:3px}
.ab-h3:hover,a:hover .ab-h3,a:focus-visible .ab-h3{color:#fff}
}
