/* Shared page structure, keeping the original portfolio's visual language. */
.header nav{gap:26px}.header nav a[aria-current=page]{color:var(--accent)}.header nav a[aria-current=page]:not(.nav-contact){text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.header .nav-contact[aria-current=page]{border-color:var(--accent)}
.inner-page{padding-top:72px;padding-bottom:85px}.inner-page>.section-heading{margin-bottom:50px}.section-heading h1{font:400 66px/1.06 var(--font-serif);letter-spacing:-2px;margin-top:19px}.about-page{margin-top:49px}.about-page .about-title h1{font-size:72px;letter-spacing:-2px}.site-footer footer{margin-top:0}.site-footer{padding-top:0}.page-endcap{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:55px;border-top:1px solid var(--line)}.page-endcap>div>p:last-child{font:400 37px/1.15 var(--font-serif);letter-spacing:-.8px;margin-top:14px}.page-endcap em{color:var(--accent)}.page-endcap .button-primary{flex:none}
.home-work .section-heading{align-items:flex-end}.home-work .section-heading h2{font-size:49px}.work-preview{display:grid;grid-template-columns:42px 1fr;gap:24px;padding:31px 0;border-top:1px solid var(--line)}.preview-number{font:italic 24px var(--font-serif);color:var(--accent);padding-top:3px}.work-preview h3{font:400 36px/1.1 var(--font-serif);letter-spacing:-.8px;margin-top:14px}.work-preview p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);max-width:440px;margin-top:17px}.work-preview:hover h3{color:var(--accent)}.lead-preview{grid-template-columns:42px 1.25fr 1fr;padding-block:37px}.lead-preview h3{font-size:46px}.preview-action{display:inline-flex;align-items:center;gap:30px;font-size:11px;margin-top:23px;border-bottom:1px solid var(--line);padding-bottom:6px}.preview-pipeline{background:var(--sage);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:25px;min-height:248px}.preview-pipeline>span{font-size:9px;letter-spacing:1px}.preview-pipeline i{font-style:normal;color:var(--accent);font-size:22px;line-height:1}.preview-pipeline strong{font:400 29px var(--font-serif)}.preview-pipeline .preview-output{background:var(--ink);color:var(--paper);padding:13px 23px;letter-spacing:.75px}.research-preview{grid-template-columns:42px 1fr 25px}.research-preview h3{font-size:32px}.research-preview p:not(.eyebrow){max-width:none;margin-top:12px}.preview-arrow{align-self:center;font-size:25px;color:var(--accent)}.research-preview:last-child{border-bottom:1px solid var(--line)}.home-about{background:var(--ink);color:var(--paper);padding:67px 0}.home-about .eyebrow{color:#b1beac}.home-about h2{font:400 53px/1.08 var(--font-serif);letter-spacing:-1.2px;margin-top:25px}.home-about p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:510px;color:#c6cdc1;margin-top:23px}.home-about .text-link{border-color:#687865;margin-top:23px;margin-right:29px}.home-about .text-link:hover{color:white;border-color:white}
.contact-page{padding-top:58px;padding-bottom:82px}.contact-page-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:80px;margin-top:42px;align-items:start}.contact-page-copy h1{font:400 70px/1.03 var(--font-serif);letter-spacing:-2px;margin-top:8px}.contact-page-copy h1 em{font-weight:400;color:var(--accent)}.contact-page-copy>p:not(.copy-status){font-size:14px;line-height:1.85;max-width:375px;color:var(--muted);margin-top:17px}.contact-page-copy>p.contact-lead{font-size:18px;color:var(--ink);margin-top:34px}.contact-page-copy .contact-email{font-size:16px;margin-top:28px;gap:23px}.contact-page-copy .copy-email{font-size:10px;min-height:44px}.contact-direct{margin-top:41px;border-top:1px solid var(--line);padding-top:23px;display:flex;gap:25px;flex-wrap:wrap}.contact-direct .eyebrow{flex-basis:100%;font-size:9px}.contact-direct a{font-size:11px;display:flex;gap:12px;padding-block:5px}.contact-direct a:hover{color:var(--accent)}.form-panel{background:#eae8df;border:1px solid #d5d4c8;padding:35px}.form-heading h2{font:400 36px/1.1 var(--font-serif);letter-spacing:-.7px}.form-heading p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px;max-width:330px}.contact-form{margin-top:28px}.contact-form fieldset{border:0;margin:0;padding:0;min-width:0}.form-group{display:flex;flex-direction:column;gap:9px;min-width:0;margin-bottom:23px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:21px}.form-group label{font-size:11px;font-weight:500}.form-group label>span:not(.optional){color:var(--accent);margin-left:3px}.form-group .optional{font-size:9px;color:var(--muted);font-weight:400;margin-left:7px}.form-group input,.form-group textarea{display:block;width:100%;border:0;border-bottom:1px solid #999f90;background:#f4f2ec;padding:13px 12px;border-radius:0;color:var(--ink);font:13px/1.6 var(--font-sans);min-height:48px;appearance:none}.form-group textarea{resize:vertical;min-height:142px}.form-group input::placeholder,.form-group textarea::placeholder{color:#696e63;opacity:1}.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-bottom-color:transparent}.form-caption{font-size:9px;color:var(--muted);margin-top:-7px}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;width:100%;min-height:50px;margin-top:23px;cursor:pointer}.form-submit:disabled{opacity:.65;cursor:wait}.contact-form fieldset:disabled input,.contact-form fieldset:disabled textarea{opacity:.75}.form-feedback{font-size:12px;line-height:1.8;padding:14px 16px;border-left:2px solid var(--line);margin-top:20px;background:#f4f2ec;overflow-wrap:anywhere}.form-feedback[data-state=success]{border-color:#526d5e;color:#304737}.form-feedback[data-state=error]{border-color:var(--accent);color:#8a2e20}.form-feedback:focus{outline:1px solid var(--ink);outline-offset:3px}.form-feedback[hidden]{display:none}.form-noscript{font-size:12px;margin-top:20px}.form-noscript a{text-decoration:underline}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.header nav{gap:20px}.header .nav-contact{margin-left:0}.contact-page-grid{gap:45px}.contact-page-copy h1{font-size:60px}.contact-page-copy .contact-email{font-size:14px}.form-panel{padding:28px}.form-pair{grid-template-columns:1fr;gap:0}.about-page .about-title h1{font-size:62px}.section-heading h1{font-size:59px}}
@media(max-width:800px){.header nav{gap:17px;font-size:12px}.header .nav-contact{gap:10px}.inner-page{padding-top:54px}.section-heading h1{font-size:51px}.contact-page-grid{grid-template-columns:1fr;gap:38px}.contact-page-copy h1{font-size:67px}.contact-page-copy>p:not(.copy-status){max-width:460px}.contact-page-copy .contact-email{font-size:16px}.contact-direct{max-width:460px;margin-top:25px}.form-pair{grid-template-columns:1fr 1fr;gap:21px}.form-panel{padding:32px}.contact-page{padding-bottom:60px}.lead-preview{grid-template-columns:30px 1fr 1fr;gap:20px}.lead-preview h3{font-size:35px}.preview-pipeline strong{font-size:23px}.preview-pipeline{padding:20px}.preview-pipeline .preview-output{padding-inline:15px;font-size:8px}.page-endcap>div>p:last-child{font-size:30px}.about-page .about-title h1{font-size:50px}.home-work .section-heading h2{font-size:42px}.home-work .section-heading>.text-link{font-size:10px;gap:9px}}
@media(max-width:760px){.header{height:82px;position:relative}.menu-toggle{display:flex;gap:13px;align-items:center;background:none;border:0;padding:12px 0 12px 16px;font-size:12px}.menu-toggle span{font-size:17px}.header nav{display:none;position:absolute;top:81px;left:-20px;right:-20px;background:var(--paper);padding:19px 25px 25px;border-bottom:1px solid var(--line);z-index:5;box-shadow:0 12px 16px #202e2c08}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{font-size:16px;padding:12px 0}.header .nav-contact{margin:0;border:0;justify-content:space-between;color:var(--accent)}.header nav a[aria-current=page]:not(.nav-contact){text-decoration:none;font-weight:600}}
@media(max-width:600px){.inner-page{padding-top:43px;padding-bottom:53px}.inner-page>.section-heading{margin-bottom:31px}.section-heading h1{font-size:45px;letter-spacing:-1.3px;margin-top:15px}.about-page{margin-top:25px}.about-page .about-title h1{font-size:53px;letter-spacing:-1.3px}.page-endcap{display:block;padding-block:37px}.page-endcap>div>p:last-child{font-size:32px;max-width:300px}.page-endcap .button-primary{margin-top:24px;font-size:12px}.site-footer footer{margin-top:0}.home-work .section-heading{display:block}.home-work .section-heading h2{font-size:37px}.home-work .section-heading>.text-link{margin-top:17px;font-size:11px}.work-preview{gap:15px}.lead-preview{grid-template-columns:24px 1fr;padding-top:28px;padding-bottom:28px}.lead-preview h3{font-size:35px}.work-preview p:not(.eyebrow){font-size:13px}.preview-number{font-size:21px}.preview-pipeline{grid-column:2;min-height:220px;margin-top:12px}.preview-pipeline strong{font-size:29px}.preview-pipeline .preview-output{font-size:9px;padding:12px 23px}.research-preview{grid-template-columns:24px 1fr 17px;padding-block:28px}.research-preview h3{font-size:29px}.preview-arrow{font-size:20px}.work-preview .eyebrow{font-size:8px}.home-about{padding-block:48px}.home-about h2{font-size:39px}.home-about p:not(.eyebrow){font-size:13px}.home-about .text-link{font-size:11px;margin-right:20px}.contact-page{padding-top:35px;padding-bottom:45px}.contact-page-grid{margin-top:32px;gap:34px}.contact-page-copy h1{font-size:clamp(44px,13.5vw,65px);letter-spacing:-1.5px;margin-top:0}.contact-page-copy>p.contact-lead{font-size:17px;margin-top:25px}.contact-page-copy>p:not(.copy-status){font-size:14px}.contact-page-copy .contact-email{font-size:14px;gap:14px;margin-top:22px}.contact-direct{margin-top:23px;gap:19px}.contact-direct a{font-size:11px}.form-panel{padding:24px 21px}.form-heading h2{font-size:33px}.form-heading p{font-size:12px}.form-pair{grid-template-columns:1fr;gap:0}.form-group{margin-bottom:21px}.form-group input,.form-group textarea{font-size:16px;line-height:1.5}.form-group label{font-size:12px}.form-submit{font-size:12px;min-height:52px}.contact-page .contact-top{gap:12px}.contact-page .contact-availability{font-size:8px}.form-feedback{font-size:12px}}
@media print{.page-endcap,.contact-form,.menu-toggle{display:none!important}.contact-page-grid{display:block}.about-page{margin-top:0}}

/* Personal projects: the same paper, ink and fine rules as the original work. */
.project-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin:-12px 0 42px;border-block:1px solid var(--line);padding-block:12px}
.project-index a{display:flex;align-items:center;gap:13px;min-height:40px;font-size:12px}
.project-index a:hover{color:var(--accent)}
.project-index a span{color:var(--accent);font:italic 19px var(--font-serif)}
.personal-project{margin-top:42px;align-items:stretch}
.personal-project>*{min-width:0}
.personal-project .project-meta{flex-wrap:wrap;row-gap:5px}
.personal-project .project-copy>p{max-width:440px}
.personal-project .project-copy>p.project-name{font-size:12px;font-weight:600;color:var(--ink);margin-top:20px;line-height:1.6}
.personal-project .project-name+p{margin-top:12px}
.personal-project .project-repo+.project-detail{margin-top:0}
.personal-project .detail-body h3{font:600 12px/1.5 var(--font-sans);letter-spacing:0;color:var(--ink);margin:20px 0 7px}
.personal-project .detail-body h3:first-child{margin-top:0}
.system-panel{padding:33px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}
.system-panel .panel-heading{gap:18px;align-items:baseline}
.system-panel .panel-heading .eyebrow{font-size:9px;letter-spacing:.8px}
.retrieval-panel{background:#e9ece3}
.insurance-panel{background:#eee7dc}
.retrieval-map,.claims-map{width:100%;max-width:410px;margin:35px auto 0}
.map-input{text-align:center;font-size:9px;letter-spacing:.65px}
.map-arrow{text-align:center;line-height:1;margin:13px 0;font-size:22px;color:var(--accent)}
.retrieval-branches{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.retrieval-branches>div{border:1px solid #aab4a5;padding:15px;text-align:center;background:#f4f2ec80}
.map-step{display:block;font:500 8px/1.6 var(--font-sans);letter-spacing:.7px;color:var(--muted)}
.retrieval-branches strong,.map-node strong,.claim-input strong{display:block;font:400 26px/1.15 var(--font-serif);letter-spacing:-.3px;margin-top:7px}
.system-panel small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:7px}
.merge-lines{height:27px;width:54%;margin:0 auto 20px;border:solid #819080;border-width:0 1px 1px;position:relative}
.merge-lines:after{content:"";position:absolute;top:100%;left:50%;height:20px;border-left:1px solid #819080}
.map-node{text-align:center;border:1px solid #aab4a5;background:#f4f2ec80;padding:15px 10px}
.rerank-node{border-color:var(--accent)}
.map-result{background:var(--ink);color:var(--paper);text-align:center;padding:20px 12px}
.map-result strong{display:block;font:400 25px/1.2 var(--font-serif)}
.map-result span{display:block;font-size:9px;margin-top:9px;color:#d1d8cc;line-height:1.7}
.system-caption{font-size:9px;line-height:1.7;color:var(--muted);border-top:1px solid #b8bdb0;padding-top:14px;margin-top:28px}
.claim-input{padding-bottom:21px;border-bottom:1px solid #c5b9a7}
.claim-input strong{font-size:27px;max-width:300px}
.agent-stages{list-style:none;padding:0;margin:0}
.agent-stages li{display:flex;align-items:baseline;gap:20px;padding:17px 0;border-bottom:1px solid #c5b9a7}
.agent-stages li>span{font:italic 21px var(--font-serif);color:var(--accent)}
.agent-stages strong{font-size:12px;font-weight:500}
.agent-stages small{margin-top:3px}
.decision-gate{margin-top:25px;border:1px solid var(--accent);padding:16px;text-align:center}
.decision-gate strong{display:block;font:400 26px/1.2 var(--font-serif);margin-top:8px}
.review-routes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.review-routes>div{border-top:2px solid #819080;padding-top:12px}
.review-routes>div:last-child{border-color:var(--accent)}
.review-routes strong{display:block;font:400 23px/1.2 var(--font-serif);margin-top:8px}
.withhold-note{font-size:10px;line-height:1.7;margin-top:22px;color:#8a3c29}
@media(min-width:801px) and (max-width:1100px){
  .system-panel{padding:25px}
  .retrieval-branches{gap:10px}
  .retrieval-branches>div{padding:13px 8px}
  .retrieval-branches strong{font-size:23px}
}
@media(max-width:800px){
  .project-index{gap:0 20px}
  .project-index a{font-size:11px}
  .system-panel{border-left:0;border-top:1px solid var(--line);padding:30px}
  .personal-project .project-copy>p{max-width:560px}
}
@media(max-width:600px){
  .project-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin-top:0;margin-bottom:28px;padding-block:9px}
  .project-index a{font-size:10px;gap:9px;min-height:44px}
  .project-index a span{font-size:17px}
  .personal-project{margin-top:30px}
  .personal-project .project-meta{font-size:8px}
  .personal-project .project-copy h2{font-size:clamp(30px,9vw,37px);letter-spacing:-.8px}
  .personal-project .detail-body h3{font-size:12px}
  .personal-project .project-copy .tool-line{font-size:10px}
  .system-panel{padding:24px 20px}
  .system-panel .panel-heading .eyebrow{font-size:7px}
  .retrieval-map,.claims-map{margin-top:26px}
  .retrieval-branches{gap:10px}
  .retrieval-branches>div{padding:13px 5px}
  .retrieval-branches strong{font-size:23px}
  .system-panel small{font-size:10px}
  .map-node strong{font-size:25px}
  .map-result strong{font-size:23px}
  .review-routes{gap:14px}
  .review-routes strong{font-size:22px}
  .system-caption{font-size:9px}
}
@media print{.project-index{display:none}.system-panel{break-inside:avoid;border:1px solid var(--line)}}
