@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;500;600;700;800&display=swap');
:root{--ink:#0047ab;--accent:#e8bd49;--paper:#f8f8f7;--line:rgba(0,71,171,.28);--muted-blue:#7893bd}
html{scroll-behavior:smooth}body{margin:0;background:#d5d5d5;color:var(--ink);font-family:'Roboto Condensed',Arial,sans-serif;font-size:16px;overflow:hidden}a{color:inherit}.page-shell{width:90%;max-width:2400px;height:calc(100vh - 56px);margin-top:28px!important;margin-bottom:28px!important;grid-template-columns:62px 1fr}.side-nav{height:100%;min-width:62px;background:var(--paper)}.brand{height:62px;place-items:center}.brand img{width:34px;height:34px;border-radius:50%}.nav-link-site{display:grid;place-items:center;flex:1;min-height:72px;border-bottom:1px solid var(--line);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);transition:.2s}.nav-link-site:hover{background:#eef4ff;color:var(--ink)}.nav-link-site.active{background:var(--ink);color:#fff}.nav-link-site.active:hover{background:var(--ink);color:#fff}.socials{border-top:1px solid var(--line)}.socials a{height:48px;display:grid;place-items:center;text-decoration:none;font-weight:700;border-bottom:1px solid var(--line);font-size:12px}.sheet{height:100%;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-gutter:stable}.sheet-content{padding:20mm 24mm 18mm 25mm}.mobile-bar{height:64px}.hamburger{width:22px;height:2px;background:var(--ink);border-radius:2px}.top{display:grid;grid-template-columns:62mm 1fr;gap:18mm;align-items:start;margin-bottom:18mm}.badge{height:58mm;position:relative}.photo{position:absolute;left:0;top:0;width:31mm;height:51mm;object-fit:cover;object-position:center 24%;z-index:3;filter:grayscale(100%);clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}.badge:before{content:"";position:absolute;left:25mm;top:-20mm;width:40mm;height:62mm;background:var(--accent);clip-path:polygon(0 0,100% 0,100% 80%,0 100%)}.years{position:absolute;left:32mm;top:2mm;z-index:4}.years strong{font:500 18mm/1 'Roboto Condensed',sans-serif;white-space:nowrap}.years sup{font-size:.48em;line-height:0;vertical-align:super}.years span{display:block;width:32mm;margin-top:4mm;font-size:11px;font-weight:700;line-height:1.25;letter-spacing:.35px;text-transform:uppercase;white-space:normal}.identity{padding-top:7mm}.first{font:500 14mm/1 'Roboto Condensed',sans-serif;letter-spacing:5px;text-transform:uppercase}.last{font:500 25mm/.85 'Roboto Condensed',sans-serif;letter-spacing:4px;text-transform:uppercase;margin-left:-1mm}.role{letter-spacing:5px;text-transform:uppercase;margin-top:5mm}.section{margin-bottom:12mm}.section h2,.cv-section>h2{font-size:13px;letter-spacing:4px;text-transform:uppercase;font-weight:600}.quote{border-left:5px solid var(--accent);padding-left:5mm}.quote p{line-height:1.8;margin:0 0 5mm}.contact p{line-height:2}.contact a{text-decoration:underline;text-underline-offset:3px}.signature{margin-top:9mm}.signature b{display:block;font-size:24px}.skills span{padding:7px 10px;border:1px solid #cfcfcf;background:#fff;font-size:12px;line-height:1.2}.footer{letter-spacing:1.4px;font-size:14px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline;text-underline-offset:3px}.cv-sheet{padding-top:54px}.cv-hero{max-width:920px;margin-bottom:42px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted-blue)}.cv-hero h1{font-size:clamp(42px,6vw,82px);line-height:.94;letter-spacing:-2px;margin:10px 0 18px}.cv-hero p{max-width:820px;font-size:18px;line-height:1.65}.stat{border:1px solid var(--line);padding:18px;min-height:110px}.stat strong{display:block;font-size:32px;line-height:1;margin-bottom:10px}.stat span{font-size:12px;line-height:1.35;text-transform:uppercase;letter-spacing:1px}.cv-section{margin-bottom:54px}.cv-section>h2{border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:24px}.expertise-card,.project-card{border:1px solid var(--line);padding:20px}.expertise-card h3,.project-card h3{font-size:17px;margin:0 0 8px}.expertise-card p,.project-card p{margin:0;line-height:1.6}.timeline{border-left:1px solid var(--ink);margin-left:7px}.job{position:relative;padding:0 0 30px 28px}.job:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--ink);left:-6px;top:5px}.job h3{font-size:18px;margin:0 0 4px}.job .meta,.project-year{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted-blue)}.job p{margin:0;line-height:1.6}.project-card{height:100%}.project-card .tags{font-size:12px;font-weight:700;margin-top:8px}.github-cta p{margin:0}.github-cta a{font-weight:700;text-underline-offset:4px}
@media(max-width:1200px) and (min-width:992px){.page-shell{width:90%}.sheet{padding-left:8vw;padding-right:6vw}.top{grid-template-columns:54mm 1fr;gap:10mm}.first{font-size:10mm}.last{font-size:17mm}}
@media(max-width:991.98px){body{background:var(--paper)}.page-shell{width:100%;height:100vh;margin:0!important;box-shadow:none!important}.side-nav{width:min(82vw,320px)!important}.nav-link-site{display:block;flex:0 0 auto;min-height:0;padding:16px 24px;border-bottom:0;writing-mode:horizontal-tb;transform:none}.socials{border-top:1px solid var(--line)}.socials a{width:42px;height:42px;border:1px solid var(--line);border-radius:50%}.sheet{height:100vh;padding:0;scrollbar-gutter:auto}.top{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.badge{height:205px;max-width:310px}.photo{width:112px;height:184px}.badge:before{left:88px;top:-30px;width:138px;height:220px}.years{left:120px;top:12px}.years strong{font-size:68px}.years span{width:118px;margin-top:16px;font-size:14px}.identity{padding-top:0}.first{font-size:clamp(38px,11vw,64px);letter-spacing:3px}.last{font-size:clamp(58px,17vw,94px);letter-spacing:1px;margin-left:0}.role{font-size:14px;letter-spacing:2.2px;line-height:1.55;margin-top:18px}.section{margin-bottom:42px}.cv-sheet{padding-top:92px}.cv-hero h1{letter-spacing:-1px}}
@media(max-width:480px){.mobile-bar{height:60px}.sheet{padding:0}.badge{transform:scale(.9);transform-origin:left top;margin-bottom:-18px}.first{font-size:38px}.last{font-size:57px}.role{font-size:13px}.cv-hero p{font-size:16px}}
@media print{body{background:#fff;overflow:visible}.page-shell{width:100%;height:auto;margin:0!important;display:block!important;box-shadow:none!important}.side-nav,.mobile-bar{display:none!important}.sheet{height:auto;overflow:visible}}

/* Contact page: only the few details not covered by Bootstrap utilities. */
.contact-page{max-width:1120px;padding-top:34px}.contact-title{font-size:clamp(46px,6vw,78px);line-height:.95;letter-spacing:-2px}.contact-page .form-control,.contact-page .form-select{border-radius:0;border-color:var(--line);padding:.8rem .9rem;color:var(--ink)}.contact-page .form-control:focus,.contact-page .form-select:focus{border-color:var(--ink);box-shadow:0 0 0 .2rem rgba(0,71,171,.1)}.contact-page .btn-primary{--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-bg:#003b8f;--bs-btn-hover-border-color:#003b8f;border-radius:0;font-weight:700;text-transform:uppercase;letter-spacing:1px}
@media(max-width:991.98px){.contact-page{padding-top:0}.contact-title{letter-spacing:-1px}}

/* Blog */
.blog-page{max-width:1120px}.blog-heading h1{font-size:clamp(56px,8vw,104px);line-height:.9;letter-spacing:-3px}.blog-page .btn{border-radius:0}.blog-page .btn-primary{--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink)}.blog-page .btn-outline-primary{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-hover-bg:var(--ink);--bs-btn-hover-border-color:var(--ink)}.blog-card{transition:transform .2s,box-shadow .2s}.blog-card:hover{transform:translateY(-3px);box-shadow:0 .5rem 1.25rem rgba(0,0,0,.07)}.blog-card p{line-height:1.65}.blog-single{max-width:820px}.blog-single h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-2px}.article-body{font-size:18px;line-height:1.8}.article-body h2{font-size:28px;margin:2.2rem 0 .8rem}.article-body blockquote{font-size:22px;font-weight:500}.related-posts{max-width:1120px;margin-left:auto;margin-right:auto}@media(max-width:991.98px){.blog-heading h1,.blog-single h1{letter-spacing:-1px}.article-body{font-size:17px}}

/* Portfolio frame */
.top-panel{height:48px;padding:0 18px;border-color:var(--line)!important;background:var(--paper);position:sticky;top:0;z-index:20}.feedback-cta{border:1px solid var(--ink);padding:7px 15px;font-size:10px;font-weight:700;letter-spacing:1.2px;transition:.2s}.feedback-cta:hover{background:var(--ink);color:#fff}.top-date{font-size:9px;font-weight:700;letter-spacing:1.2px;white-space:nowrap}.right-rail{position:fixed;z-index:18;top:calc(28px + 48px);bottom:28px;right:5%;width:54px;background:var(--paper);border-color:var(--line)!important}.right-rail a{flex:1;display:grid;place-items:center;border-bottom:1px solid var(--line);text-decoration:none;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);transition:.2s}.right-rail a:hover{background:#eef4ff}.sheet-content{padding-right:calc(24mm + 54px)}
@media(max-width:1200px) and (min-width:992px){.right-rail{right:5%}.sheet-content{padding-right:calc(6vw + 54px)}}
@media(max-width:991.98px){.top-panel{margin-top:64px;height:46px;padding:0 18px}.sheet-content{padding:28px clamp(20px,5vw,42px) 36px}.sheet{padding:0}.cv-sheet{padding-top:28px}.contact-page{padding-top:0}}
@media(max-width:480px){.top-panel{margin-top:60px}.sheet-content{padding:24px 18px 28px}.top-date{display:none}}
/* WordPress theme integration */
.mp-primary-menu,.mp-menu-fallback{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex-grow:1;height:100%}.mp-primary-menu>li,.mp-menu-fallback>li{display:flex;flex:1;margin:0;padding:0}.mp-primary-menu>li>a,.mp-menu-fallback>li>a{display:grid;place-items:center;flex:1;min-height:72px;border-bottom:1px solid var(--line);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);transition:.2s}.mp-primary-menu>li>a:hover,.mp-menu-fallback>li>a:hover{background:#eef4ff}.mp-primary-menu>.current-menu-item>a,.mp-primary-menu>.current-menu-parent>a,.mp-primary-menu>.current_page_item>a,.mp-primary-menu>.current_page_parent>a,.mp-primary-menu>.current-menu-ancestor>a,.mp-primary-menu>.current_page_ancestor>a{background:var(--ink);color:#fff}.mp-primary-menu .sub-menu{display:none}.entry-meta{font-size:12px;text-transform:uppercase;letter-spacing:1px}.comments-area{max-width:820px;margin:3rem auto 0;border-top:1px solid var(--line);padding-top:2rem}.comment-list{padding-left:1.2rem}.comment-list li{margin-bottom:1.5rem}.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--line);padding:.75rem}.comment-form .submit{width:auto;background:var(--ink);color:#fff;border:0;padding:.75rem 1.25rem}.feedback-form .form-control,.feedback-form .form-select{border-radius:0;border-color:var(--line)}.feedback-stars{font-size:22px}.feedback-card{border:1px solid var(--line);padding:20px;height:100%}.feedback-card .stars{letter-spacing:2px}.hp-field{position:absolute!important;left:-9999px!important}.archive-pagination{margin-top:2rem}.archive-pagination .page-numbers{display:inline-block;padding:.45rem .7rem;border:1px solid var(--line);text-decoration:none}.archive-pagination .current{background:var(--ink);color:#fff}
@media(max-width:991.98px){.mp-primary-menu,.mp-menu-fallback{height:auto}.mp-primary-menu>li,.mp-menu-fallback>li{display:block;flex:0 0 auto}.mp-primary-menu>li>a,.mp-menu-fallback>li>a{display:block;min-height:0;padding:16px 24px;border-bottom:0;writing-mode:horizontal-tb;transform:none}}

/* Fixed frame: only the page content scrolls */
.sheet{display:flex;flex-direction:column;overflow:hidden!important;min-width:0}
.top-panel{position:relative;top:auto;flex:0 0 48px}
.sheet-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin-right:54px;padding-right:24mm;scrollbar-gutter:stable}
.footer{flex:0 0 auto;margin:0 54px 0 0!important;background:var(--paper);position:relative;z-index:19}
@media(max-width:1200px) and (min-width:992px){.sheet-content{margin-right:54px;padding-right:6vw}.footer{margin-right:54px!important}}
@media(max-width:991.98px){.sheet{height:100vh}.sheet-content{margin-right:0;padding:28px clamp(20px,5vw,42px) 36px;scrollbar-gutter:auto}.footer{margin-right:0!important}.top-panel{flex-basis:46px}}
@media(max-width:480px){.sheet-content{padding:24px 18px 28px}}
/* v0.1.6: mobile header navigation on the right + quick links in drawer */
.mobile-bar{justify-content:space-between}.mobile-brand{min-width:0}.mobile-menu-toggle{margin-left:auto!important;margin-right:0!important}
.mobile-quick-links{border-top:1px solid var(--line);padding:18px 24px 22px}.mobile-quick-links-title{margin:0 0 10px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.mobile-quick-links a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:1px;text-decoration:none;text-transform:uppercase}.mobile-quick-links a:last-child{border-bottom:0}


/* v0.1.7: Feedback form matched to the existing Feedback CPT export fields */
.feedback-page{max-width:100%;padding:0}.feedback-submit-grid{display:grid;grid-template-columns:42% 58%;border:1px solid var(--line);min-height:650px}.feedback-intro{background:#eef3fb;padding:52px 54px}.feedback-intro h1{color:#151515;font-size:clamp(54px,5vw,82px);line-height:.88;letter-spacing:-3px;margin:22px 0 30px}.feedback-intro>p{color:#28428b;font-size:18px;line-height:1.65;max-width:520px}.feedback-review-note{display:flex;gap:18px;border-top:1px solid rgba(21,21,21,.18);margin-top:38px;padding-top:28px;color:#2c2925}.feedback-review-note p{margin:4px 0 0;line-height:1.55}.feedback-check{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#151515;color:#fff;font-weight:700}.feedback-form-wrap{background:#fff;padding:52px 58px}.feedback-form .form-label{font-weight:700;color:#151515;margin-bottom:8px}.feedback-form .form-label span{color:#b40000}.feedback-form .form-label small{font-weight:400;color:var(--muted-blue);margin-left:4px}.feedback-form .form-control{min-height:50px;border:1px solid #c8cdd2;padding:12px 14px;color:#222;background:#fff}.feedback-form textarea.form-control{min-height:150px}.feedback-form .form-control:focus{border-color:var(--ink);box-shadow:0 0 0 .15rem rgba(0,71,171,.08)}.form-help{font-size:12px;color:var(--muted-blue);margin-top:7px}.feedback-submit{width:100%;border:0;background:var(--ink);color:#fff;padding:17px 22px;font-weight:700;transition:.2s}.feedback-submit span{margin-left:12px}.feedback-submit:hover,.feedback-submit:focus{background:#163b7a;color:#fff}.feedback-consent{text-align:center;color:var(--muted-blue);font-size:11px;line-height:1.5;margin:14px auto 0;max-width:760px}.feedback-published{padding-top:58px}.feedback-published h2{font-size:clamp(40px,5vw,66px);line-height:1;margin:10px 0 30px}.feedback-card{background:#fff}.feedback-quote{font-size:17px;line-height:1.7;margin-bottom:18px}.feedback-project{margin-top:10px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-blue)}
@media(max-width:1199.98px){.feedback-submit-grid{grid-template-columns:1fr}.feedback-intro,.feedback-form-wrap{padding:40px}.feedback-submit-grid{min-height:0}}
@media(max-width:575.98px){.feedback-intro,.feedback-form-wrap{padding:28px 22px}.feedback-intro h1{font-size:48px;letter-spacing:-2px}.feedback-intro>p{font-size:16px}.feedback-review-note{align-items:flex-start}.feedback-published{padding-top:40px}}

/* v0.1.8: full-width frame and page layouts — no centered/max-width wrappers */
.page-shell{width:100%;max-width:none;margin:0!important;height:100vh}
.right-rail{right:0;top:48px;bottom:0}
.sheet-content{width:100%;max-width:none}
.contact-page,.blog-page,.blog-single,.related-posts,.cv-hero,.comments-area,.feedback-page{width:100%;max-width:none;margin-left:0;margin-right:0}
@media(max-width:1200px) and (min-width:992px){.page-shell{width:100%}.right-rail{right:0}.sheet{padding-left:0;padding-right:0}}
@media(max-width:991.98px){.page-shell{width:100%;height:100vh;margin:0!important}.right-rail{display:none!important}}

/* v0.1.10: true right-side mobile drawer; Feedback stays in the mobile header */
@media(max-width:991.98px){
  .mobile-bar{display:flex!important;left:0;right:0;z-index:1040;}
  .mobile-header-actions{margin-left:auto;flex:0 0 auto;}
  .mobile-menu-toggle{margin:0!important;}
  #primary-navigation.offcanvas{left:auto!important;right:0!important;transform:translateX(100%)!important;}
  #primary-navigation.offcanvas.show,#primary-navigation.offcanvas.showing{transform:none!important;}
  #primary-navigation.offcanvas.hiding{transform:translateX(100%)!important;}
  .top-panel{display:none!important;}
  .sheet-content{padding-top:calc(64px + 28px)!important;}
}
@media(max-width:480px){
  .mobile-brand span{font-size:14px;}
  .mobile-bar .feedback-cta{padding:6px 9px;font-size:9px;}
  .sheet-content{padding-top:calc(60px + 24px)!important;}
}

/* v0.1.12: blue-muted typography, visible experience badge copy, Polylang flags */
.years span{color:var(--ink)!important;}
.mp-language-switcher{display:flex;align-items:center;gap:7px;}
.mp-language-switcher a{display:inline-flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .2s,transform .2s;text-decoration:none;}
.mp-language-switcher a:hover,.mp-language-switcher a.is-current{opacity:1;transform:translateY(-1px);}
.mp-language-switcher img{display:block;width:20px!important;height:auto!important;box-shadow:0 0 0 1px rgba(0,71,171,.16);}
@media(max-width:575.98px){.mobile-bar .mp-language-switcher{gap:4px}.mobile-bar .mp-language-switcher img{width:18px!important}.mobile-header-actions{gap:6px!important}}

/* v0.1.14: Polylang flag rendering and clean archive pagination */
.mp-language-switcher{display:flex;align-items:center;gap:8px}.mp-language-switcher a{display:inline-flex;align-items:center;justify-content:center;line-height:1}.mp-language-switcher img{display:block;width:20px;height:auto;max-height:14px;object-fit:cover}.mp-language-switcher .is-current{opacity:.55}.archive-pagination ul.page-numbers{list-style:none;display:flex;gap:6px;padding:0;margin:0}.archive-pagination ul.page-numbers li{margin:0}


/* v0.1.15: keep navigation readable on hover, including active items. */
.mp-primary-menu>li:not(.current-menu-item):not(.current-menu-parent):not(.current-menu-ancestor)>a:hover,
.mp-menu-fallback>li:not(.current_page_item):not(.current_page_parent):not(.current_page_ancestor)>a:hover{background:#eef4ff;color:var(--ink)!important}
.mp-primary-menu>.current-menu-item>a:hover,.mp-primary-menu>.current-menu-parent>a:hover,.mp-primary-menu>.current-menu-ancestor>a:hover,
.mp-primary-menu>.current_page_item>a:hover,.mp-primary-menu>.current_page_parent>a:hover,.mp-primary-menu>.current_page_ancestor>a:hover{background:var(--ink)!important;color:#fff!important}
.mp-footer-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:18px}.mp-footer-menu li{margin:0}.mp-footer-menu a{text-decoration:none}.mp-footer-menu a:hover{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
@media(max-width:991.98px){.mp-footer-menu{flex-wrap:wrap;gap:10px 16px}}
/* Profile image: monochrome by default, original colour on hover */
.badge .photo{filter:grayscale(100%);transition:filter .4s ease,transform .4s ease;transform-origin:center}
@media (hover:hover) and (pointer:fine){.badge:hover .photo{filter:grayscale(0%);transform:scale(1.035)}}
@media (prefers-reduced-motion:reduce){.badge .photo{transition:none}}

/* Badge alignment: keep years label on yellow panel */
.years{top:1.15rem;}

/* v0.1.34: keep complete experience counter + caption inside yellow badge */
.badge .years,
.years{
    top: .25rem !important;
}
.years strong{
    line-height: .88 !important;
}
.years span{
    margin-top: .2rem !important;
    line-height: 1.05 !important;
}

/* Studio credentials ticket */
.studio-credentials{position:sticky;top:2rem;background:#eef5ff;border:1px solid rgba(40,66,139,.25);padding:1.5rem 1.35rem;margin-top:.15rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));}
.studio-credentials:before,.studio-credentials:after{content:"";position:absolute;left:-1px;right:-1px;border-top:1px dashed rgba(40,66,139,.38);}
.studio-credentials:before{top:2.9rem}.studio-credentials:after{bottom:.55rem}
.studio-credentials-label{color:#28428b;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;padding-bottom:1rem;margin-bottom:1rem;}
.studio-credentials-body{overflow-wrap:anywhere}.studio-credentials-body>:last-child{margin-bottom:0}.studio-credentials-body a{text-decoration:underline}
@media(max-width:991.98px){.studio-credentials{position:relative;top:auto;margin-top:.5rem}}

/* v0.1.34: feedback typography uses the site's blue instead of black */
.feedback-page,
.feedback-page h1, .feedback-page h2, .feedback-page h3,
.feedback-page p, .feedback-page label, .feedback-page .form-label,
.feedback-page strong, .feedback-page small, .feedback-page .form-text,
.feedback-page .feedback-intro, .feedback-page .feedback-form-wrap,
.feedback-page input, .feedback-page textarea, .feedback-page select {
    color: var(--blue, #28428b) !important;
}
.feedback-page input::placeholder,
.feedback-page textarea::placeholder {
    color: #7187b7 !important;
    opacity: 1;
}
.feedback-page button[type="submit"],
.feedback-page input[type="submit"],
.feedback-page .btn-dark {
    color: #fff !important;
}

/* Rich post content: WordPress tables and code blocks */
.article-body table {
  width: 100%;
  margin: 1.75rem 0;
  border-collapse: collapse;
  border: 1px solid var(--line);
  background: #fff;
  vertical-align: top;
}
.article-body table > :not(caption) > * > * {
  padding: .75rem 1rem;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.article-body table thead th,
.article-body table th {
  font-weight: 700;
  background: #eef4ff;
  color: var(--ink);
}
.article-body table tbody tr:nth-child(even) > * { background: #f8fbff; }
.article-body table tbody tr:hover > * { background: #edf4ff; }
.article-body .wp-block-table {
  margin: 1.75rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.article-body .wp-block-table table { margin: 0; }
.article-body .wp-block-table figcaption,
.article-body table caption {
  padding-top: .6rem;
  color: var(--muted-blue);
  font-size: .85rem;
  text-align: left;
}
.article-body pre {
  display: block;
  max-width: 100%;
  margin: 1.75rem 0;
  padding: 1.25rem 1.4rem;
  overflow: auto;
  border: 1px solid #28428b;
  border-left-width: 4px;
  border-radius: 0;
  background: #f3f7ff;
  color: #18325d;
  font: 14px/1.7 Consolas, Monaco, 'Courier New', monospace;
  white-space: pre;
  tab-size: 2;
  -webkit-overflow-scrolling: touch;
}
.article-body code {
  padding: .12em .35em;
  background: #eef4ff;
  color: #173f82;
  border: 1px solid #d7e4f8;
  font: .88em/1.5 Consolas, Monaco, 'Courier New', monospace;
  overflow-wrap: anywhere;
}
.article-body pre code {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  overflow-wrap: normal;
}
@media (max-width: 767.98px) {
  .article-body table { min-width: 560px; }
  .article-body { overflow-wrap: break-word; }
  .article-body .wp-block-table { max-width: 100%; }
  .article-body pre { font-size: 13px; padding: 1rem; }
}

/* v0.1.38: restore the desktop content scrollbar beside the fixed right rail */
@media (min-width:992px){
  .sheet{overflow:hidden!important;}
  .sheet-content{
    min-height:0;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(0,71,171,.48) rgba(0,71,171,.08);
  }
  .sheet-content::-webkit-scrollbar{width:9px;}
  .sheet-content::-webkit-scrollbar-track{background:rgba(0,71,171,.06);}
  .sheet-content::-webkit-scrollbar-thumb{background:rgba(0,71,171,.42);border-radius:10px;border:2px solid #f8f8f7;}
  .sheet-content::-webkit-scrollbar-thumb:hover{background:rgba(0,71,171,.68);}
  .right-rail{overflow:hidden;}
}

/* v0.1.38: desktop scrollbar sits visibly immediately before the fixed right rail */
@media (min-width:992px){
  .sheet-content{
    width:auto!important;
    max-width:none!important;
    margin-right:54px!important;
    padding-right:24mm;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable;
  }
  .right-rail{width:54px;right:0;}
}
@media (max-width:1200px) and (min-width:992px){
  .sheet-content{width:auto!important;margin-right:54px!important;padding-right:6vw;}
}

/* CV project cards: consistent grid height and clearer metadata separation */
.cv-section .project-card{display:flex;flex-direction:column;min-height:230px;height:100%}
.cv-section .project-card .tags{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.cv-section .project-card .project-role{margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:13px;font-weight:500;line-height:1.35}
@media (max-width:767.98px){.cv-section .project-card{min-height:0}}

/* Contact form: hidden honeypot and inline status */
.mp-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-alert{border-radius:0;border-width:1px;font-size:15px}
