/* 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}
    @keyframes heroFade{from{opacity:0}to{opacity:1}}
    @keyframes quoteRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
    @keyframes settle{from{transform:scale(1.03)}to{transform:scale(1)}}
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
    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="process"]{grid-template-columns:1fr 1fr!important}
      [data-mq="process"]>div{border-left:0!important;padding-left:0!important;padding-right:16px!important}
    }
    @media(max-width:520px){
      [data-mq="process"]{grid-template-columns:1fr!important}
      [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 {
.ps-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)}
.ps-s2{margin: 0px auto; padding: 0 0 0 0; height: 76px; display: flex; align-items: center; justify-content: space-between}
.ps-s3{height: 26px; display: block}
.ps-s4{display: flex; gap: 40px; align-items: center}
.ps-s5{font-size: var(--small); letter-spacing: 0.06em; text-decoration: none; color: var(--brown)}
.ps-s6{margin: 76px 0px 0px; position: relative}
.ps-s7{height: 56vh; min-height: 380px; overflow: hidden}
.ps-s8{width: 100%; height: 100%; object-fit: cover; display: block; animation: 2400ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal both running heroFade, 6.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s 1 normal both running settle}
.ps-s9{position: absolute; inset: 0px; background: linear-gradient(to top, rgba(43, 29, 19, 0.62), rgba(43, 29, 19, 0.2) 55%, rgba(43, 29, 19, 0.05))}
.ps-s10{position: absolute; left: 0px; right: 0px; bottom: 0px; margin: 0px; padding: 0 0 44px 0; animation: 1800ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 400ms 1 normal both running quoteRise}
.ps-s11{font-family: var(--serif); font-weight: 400; font-size: var(--h2); line-height: 1.2; color: var(--paper); margin: 0px; max-width: 22ch}
.ps-s12{background: var(--cream); padding: var(--space-6) 0 var(--space-6) 0}
.ps-s13{margin: 0px auto}
.ps-s14{font-size: var(--eyebrow); letter-spacing: 0.18em; text-transform: uppercase; color: var(--gray); margin: 0px 0px 44px}
.ps-s15{height: 1px; background: var(--brown); transform: scaleX(0); transform-origin: left center}
.ps-s16{display: grid; grid-template-columns: repeat(4, 1fr)}
.ps-s17{padding: 28px 24px 8px 0px}
.ps-s18{font-family: var(--serif); font-size: var(--small); color: var(--gray); display: block; margin-bottom: 14px}
.ps-s19{font-family: var(--serif); font-weight: 400; font-size: var(--h3); line-height: 1.3; margin: 0px 0px 8px}
.ps-s20{font-size: var(--small); color: var(--gray); margin: 0px}
.ps-s21{padding: 28px 24px 8px; border-left: 1px solid var(--line)}
.ps-s22{padding: 28px 0px 8px 24px; border-left: 1px solid var(--line)}
.ps-s23{display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; margin: 44px 0px 0px}
.ps-s24{max-width: var(--measure); color: var(--gray); margin: 0px; font-size: var(--small)}
.ps-s25{flex-shrink: 0; font-size: var(--small); letter-spacing: 0.06em; text-decoration: none; background: var(--ink); color: var(--paper); border: 1px solid var(--ink); padding: 15px 34px; transition: transform 250ms cubic-bezier(0.25, 0.46, 0.45, 0.94), background 250ms cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.ps-s26{padding: var(--space-6) 0 var(--section-gap) 0}
.ps-s27{border-top: 1px solid var(--line)}
.ps-s28{border-bottom: 1px solid var(--line)}
.ps-s29{width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; background: none; border: 0px; padding: 26px 0px; cursor: pointer; text-align: left}
.ps-s30{font-family: var(--serif); font-weight: 400; font-size: var(--h3); color: var(--ink)}
.ps-s31{font-family: var(--serif); font-size: var(--h4); line-height: 1; color: var(--gray)}
.ps-s32{background: var(--ink); color: var(--cream); padding: 0px}
.ps-s33{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}
.ps-s34{height: 22px; width: auto; filter: invert(93%) sepia(8%) saturate(300%) hue-rotate(340deg) brightness(103%)}
.ps-s35{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}
.ps-s36{display: flex; flex-direction: column; gap: 12px; font-size: var(--small)}
.ps-s37{color: var(--cream); text-decoration: none}
.ps-s38{transform: translateX(-18px)}
.ps-s39{color: rgba(234, 227, 214, 0.85)}
.ps-s40{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)}
}

@layer proto-state {
.ps-h1:hover,a:hover .ps-h1,a:focus-visible .ps-h1{color:var(--ink)}
.ps-h2:hover,a:hover .ps-h2,a:focus-visible .ps-h2{transform:translateY(-2px);background:var(--brown);border-color:var(--brown)}
.ps-h3:hover,a:hover .ps-h3,a:focus-visible .ps-h3{opacity:.75}
.ps-h4:hover,a:hover .ps-h4,a:focus-visible .ps-h4{text-decoration:underline;text-underline-offset:3px}
}
