:root {
  --mp-bg: #fbfaf7;
  --mp-surface: #ffffff;
  --mp-ink: #141414;
  --mp-muted: #6f6f73;
  --mp-line: rgba(20, 20, 20, .10);
  --mp-accent: #b50000;
  --mp-radius: 22px;
  --mp-shadow: 0 18px 50px rgba(24, 24, 24, .08);
}

html { scroll-behavior: smooth; }
body { background: var(--mp-bg); color: var(--mp-ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--mp-accent); }
.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.site-header { background: rgba(251,250,247,.88); border-bottom: 1px solid var(--mp-line); backdrop-filter: blur(18px); }
.navbar { min-height: 84px; }
.brand-lockup { display: inline-flex; align-items: center; gap: 12px; max-width: 360px; }
.brand-icon-wrap { width: 48px; height: 48px; border-radius: 13px; overflow: hidden; flex: 0 0 48px; box-shadow: 0 8px 24px rgba(181,0,0,.18); }
.brand-icon { width: 100%; height: 100%; object-fit: cover; display: block; }
.brand-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.12; }
.brand-name { font-size: 1rem; letter-spacing: -.015em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-tagline { color: var(--mp-muted); margin-top: 4px; font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px; }
.desktop-nav-shell .nav-link { padding: .62rem .8rem; border-radius: 999px; font-size: .93rem; font-weight: 600; }
.desktop-nav-shell .nav-link:hover, .desktop-nav-shell .current-menu-item > .nav-link { background: #fff; color: var(--mp-ink); box-shadow: 0 5px 18px rgba(0,0,0,.05); }
.header-cta { border-radius: 999px; padding: .66rem 1rem; font-weight: 700; margin-left: .5rem; }
.language-switcher { margin-right: .35rem; }
.language-toggle { border: 1px solid var(--mp-line); border-radius: 999px; background: #fff; display: inline-flex; align-items: center; gap: .45rem; padding: .62rem .85rem; font-size: .82rem; font-weight: 800; }
.language-toggle img, .dropdown-item img { border-radius: 2px; object-fit: cover; }
.language-switcher .dropdown-menu { border: 1px solid var(--mp-line); border-radius: 16px; padding: .5rem; min-width: 180px; }
.language-switcher .dropdown-item { border-radius: 10px; display: flex; gap: .6rem; align-items: center; padding: .65rem .75rem; font-size: .9rem; }
.language-switcher .dropdown-item.active { background: var(--mp-ink); }
.menu-toggle { width: 48px; height: 48px; border: 1px solid var(--mp-line); background: #fff; border-radius: 15px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; box-shadow: 0 8px 25px rgba(0,0,0,.04); }
.menu-toggle span { width: 19px; height: 2px; background: var(--mp-ink); border-radius: 99px; transition: .25s ease; }
.menu-toggle span:nth-child(2) { width: 14px; margin-left: 5px; }
.mobile-nav { width: min(92vw, 420px) !important; border: 0; box-shadow: -24px 0 80px rgba(0,0,0,.15); }
.mobile-nav .offcanvas-header { padding: 1.25rem; }
.mobile-brand-icon { width: 42px; height: 42px; border-radius: 12px; }
.mobile-close { width: 44px; height: 44px; border: 1px solid var(--mp-line); border-radius: 50%; background: #fff; position: relative; }
.mobile-close span { position: absolute; width: 18px; height: 2px; background: var(--mp-ink); top: 50%; left: 50%; }
.mobile-close span:first-child { transform: translate(-50%,-50%) rotate(45deg); }
.mobile-close span:last-child { transform: translate(-50%,-50%) rotate(-45deg); }
.mobile-menu .nav-link { padding: .9rem 0; font-size: 1.35rem; font-weight: 700; border-bottom: 1px solid var(--mp-line); }
.mobile-ctas { grid-template-columns: repeat(2, 1fr); }
.mobile-ctas .btn { border-radius: 14px; padding: .82rem 1rem; font-weight: 700; }
.site-main { min-height: 60vh; }
.page-heading h1 { font-size: clamp(2.25rem, 6vw, 5rem); line-height: .98; letter-spacing: -.055em; max-width: 1000px; }
.eyebrow { color: var(--mp-accent); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.content-card, .product-card { background: var(--mp-surface); border: 1px solid var(--mp-line); border-radius: var(--mp-radius); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.content-card:hover, .product-card:hover { transform: translateY(-5px); box-shadow: var(--mp-shadow); border-color: transparent; }
.content-card h2 a, .product-card h2 a { transition: color .2s ease; }
.card-media, .product-card-media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #eee; }
.card-media img, .product-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.content-card:hover img, .product-card:hover img { transform: scale(1.035); }
.product-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #888; font-weight: 700; }
.product-archive-hero, .single-product-hero { background: radial-gradient(circle at top right, rgba(181,0,0,.08), transparent 36%), #fff; }
.product-featured { background: #fff; border: 1px solid var(--mp-line); border-radius: 28px; padding: 10px; box-shadow: var(--mp-shadow); }
.product-featured img { width: 100%; border-radius: 20px; }
.skill-chip { background: #fff; border: 1px solid var(--mp-line); border-radius: 999px; padding: .48rem .75rem; font-size: .82rem; font-weight: 700; }
.entry-content { font-size: 1.05rem; line-height: 1.85; }
.entry-content > * { max-width: 850px; }
.entry-content img { max-width: 100%; height: auto; border-radius: 16px; }
.entry-content h2, .entry-content h3 { margin-top: 2.2em; letter-spacing: -.03em; }
.site-footer { background: #fff; border-top: 1px solid var(--mp-line); }
.footer-menu li { display: inline-block; margin-left: 1rem; }
.footer-menu a { color: var(--mp-muted); font-size: .9rem; }
.navigation.pagination .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.navigation.pagination .page-numbers { padding: .55rem .78rem; border-radius: 10px; background: #fff; border: 1px solid var(--mp-line); }
.navigation.pagination .current { background: var(--mp-ink); color: #fff; }
.error-shell { max-width: 700px; }

@media (max-width: 575.98px) {
  .navbar { min-height: 74px; }
  .brand-icon-wrap { width: 42px; height: 42px; flex-basis: 42px; }
  .brand-tagline { max-width: 160px; }
  .brand-name { max-width: 165px; }
  .page-heading h1 { font-size: clamp(2rem, 12vw, 3.6rem); }
}

/* Homepage 2027 */
.min-vh-75 { min-height: 75vh; }
.mp-home-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--mp-line); }
.mp-home-hero::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -180px; top: -210px; background: rgba(181,0,0,.055); filter: blur(1px); pointer-events: none; }
.mp-kicker, .mp-section-no { margin: 0; color: var(--mp-accent); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mp-display { max-width: 1050px; font-size: clamp(3rem, 7.1vw, 7.2rem); line-height: .92; letter-spacing: -.072em; font-weight: 750; }
.mp-hero-stack { color: var(--mp-muted); font-size: clamp(.9rem, 1.3vw, 1.08rem); font-weight: 700; letter-spacing: .01em; }
.mp-hero-stack span { color: var(--mp-accent); margin: 0 .25rem; }
.mp-lead { max-width: 850px; color: #454548; font-size: clamp(1.05rem, 1.75vw, 1.35rem); line-height: 1.65; }
.mp-btn { min-height: 50px; border-radius: 999px; padding: .8rem 1.2rem; font-weight: 750; display: inline-flex; align-items: center; gap: .75rem; transition: transform .25s ease, box-shadow .25s ease; }
.mp-btn:hover { transform: translateY(-2px); }
.mp-hero-mark { position: relative; width: min(100%, 365px); aspect-ratio: 1; margin-left: auto; display: grid; place-items: center; }
.mp-hero-mark img { position: relative; z-index: 2; width: 48%; border-radius: 28%; box-shadow: 0 28px 80px rgba(181,0,0,.25); transform: rotate(-4deg); }
.mp-orbit { position: absolute; border: 1px solid rgba(20,20,20,.12); border-radius: 50%; }
.mp-orbit-one { inset: 4%; animation: mp-spin 18s linear infinite; }
.mp-orbit-two { inset: 18%; border-style: dashed; animation: mp-spin 12s linear reverse infinite; }
.mp-orbit::before { content:""; width: 10px; height: 10px; background: var(--mp-accent); border-radius: 50%; position: absolute; left: 50%; top: -5px; }
@keyframes mp-spin { to { transform: rotate(360deg); } }
.mp-section { padding: clamp(5rem, 9vw, 9rem) 0; }
.mp-section-bordered { border-bottom: 1px solid var(--mp-line); }
.mp-section-soft { background: #f2f0eb; }
.mp-section-dark { background: #151515; color: #fff; }
.mp-section-title { max-width: 900px; font-size: clamp(2.3rem, 5vw, 5rem); line-height: .98; letter-spacing: -.055em; font-weight: 740; }
.mp-section-intro { max-width: 810px; color: var(--mp-muted); font-size: 1.08rem; line-height: 1.8; }
.mp-copy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin: 2.3rem 0 2rem; color: #4e4e52; line-height: 1.8; }
.mp-text-link { display: inline-flex; align-items: center; gap: .65rem; font-weight: 800; padding-bottom: .28rem; border-bottom: 1px solid currentColor; }
.mp-text-link:hover { gap: .9rem; }
.mp-text-link-light { color: #fff; }
.mp-text-link-light:hover { color: #fff; opacity: .8; }
.mp-expertise-card { padding: 1.6rem; background: #fff; border: 1px solid var(--mp-line); border-radius: 20px; transition: .3s ease; }
.mp-expertise-card:hover { transform: translateY(-6px); box-shadow: var(--mp-shadow); }
.mp-expertise-card h3 { margin: 2.3rem 0 1rem; font-size: 1.3rem; letter-spacing: -.03em; }
.mp-expertise-card p { color: var(--mp-muted); font-size: .94rem; line-height: 1.7; }
.mp-card-index { color: var(--mp-accent); font-size: .72rem; font-weight: 800; }
.mp-work-card { display: block; height: 100%; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: #202020; color: #fff; transition: transform .3s ease, border-color .3s ease; }
.mp-work-card:hover { color: #fff; transform: translateY(-6px); border-color: rgba(255,255,255,.3); }
.mp-work-media { aspect-ratio: 16/9; overflow: hidden; background: #292929; }
.mp-work-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mp-work-card:hover .mp-work-media img { transform: scale(1.035); }
.mp-work-placeholder { width: 100%; height: 100%; display: grid; place-items: center; font-size: 4rem; font-weight: 850; color: #555; }
.mp-work-body { position: relative; padding: 1.6rem; }
.mp-work-body span { color: #aaa; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.mp-work-body h3 { margin: .65rem 3rem .2rem 0; font-size: clamp(1.45rem,2.4vw,2.2rem); letter-spacing: -.04em; }
.mp-work-body p { margin: .75rem 0 0; color: #bdbdbd; line-height: 1.7; }
.mp-work-body strong { position: absolute; right: 1.6rem; top: 1.7rem; font-size: 1.35rem; }
.mp-work-fallback .mp-work-body { min-height: 235px; }
.mp-tech-list { border-top: 1px solid var(--mp-line); }
.mp-tech-list > div { display: grid; grid-template-columns: minmax(190px,.8fr) 2fr; gap: 2rem; padding: 1.35rem 0; border-bottom: 1px solid var(--mp-line); }
.mp-tech-list strong { letter-spacing: -.02em; }
.mp-tech-list span { color: var(--mp-muted); line-height: 1.6; }
.mp-principle { position: relative; height: 100%; padding: 1.6rem; border: 1px solid rgba(20,20,20,.11); border-radius: 20px; background: rgba(255,255,255,.45); }
.mp-principle > span { display: inline-grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--mp-ink); color: #fff; }
.mp-principle h3 { margin: 1.4rem 0 .7rem; font-size: 1.15rem; letter-spacing: -.025em; }
.mp-principle p { color: var(--mp-muted); line-height: 1.7; font-size: .94rem; }
.mp-stat { color: var(--mp-accent); font-size: clamp(5rem,11vw,10rem); line-height: .8; font-weight: 820; letter-spacing: -.08em; margin-bottom: 2rem; }
.mp-stat span { font-size: .38em; vertical-align: top; margin-left: .08em; }
.mp-explore-card { border-top: 2px solid var(--mp-ink); padding: 1.4rem 0 0; }
.mp-explore-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: var(--mp-accent); }
.mp-explore-card h3 { margin: 1.2rem 0 .75rem; font-size: 1.2rem; letter-spacing: -.025em; }
.mp-explore-card p { color: var(--mp-muted); line-height: 1.7; }
.mp-connect { padding: 0 0 clamp(4rem,7vw,7rem); }
.mp-connect-box { padding: clamp(2.2rem,5vw,5rem); border-radius: 30px; background: var(--mp-accent); color: #fff; box-shadow: 0 28px 80px rgba(181,0,0,.16); }
.mp-connect-box h2 { max-width: 850px; font-size: clamp(2.7rem,6vw,6rem); letter-spacing: -.06em; line-height: .95; margin: .7rem 0 1.5rem; }
.mp-connect-box p:not(.mp-section-no) { max-width: 760px; color: rgba(255,255,255,.8); font-size: 1.06rem; line-height: 1.75; }

@media (max-width: 991.98px) {
  .min-vh-75 { min-height: auto; }
  .mp-home-hero { padding: 5.5rem 0; }
  .mp-copy-grid { grid-template-columns: 1fr; gap: .25rem; }
  .mp-tech-list > div { grid-template-columns: 1fr; gap: .45rem; }
}
@media (max-width: 575.98px) {
  .mp-home-hero { padding: 4rem 0; }
  .mp-display { font-size: clamp(2.8rem, 15vw, 4.7rem); }
  .mp-section { padding: 4.5rem 0; }
  .mp-section-title { font-size: clamp(2.25rem, 11vw, 3.6rem); }
  .mp-connect-box { border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-orbit { animation: none; }
  .mp-expertise-card, .mp-work-card, .mp-btn { transition: none; }
}

/* v0.5.0 navigation, hero, remote experience and footer polish */
@media (min-width: 1200px) {
  .desktop-nav-shell { gap: .35rem; }
  .desktop-nav-shell .navbar-nav { gap: .2rem !important; }
  .desktop-nav-shell .menu-item { position: relative; }
  .desktop-nav-shell .menu-item-has-children > .nav-link { padding-right: 1.75rem; position: relative; }
  .desktop-nav-shell .menu-item-has-children > .nav-link::after { content: ""; position: absolute; right: .72rem; top: 50%; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-68%) rotate(45deg); transition: transform .2s ease; }
  .desktop-nav-shell .menu-item-has-children:hover > .nav-link::after,
  .desktop-nav-shell .menu-item-has-children:focus-within > .nav-link::after { transform: translateY(-30%) rotate(225deg); }
  .desktop-nav-shell .sub-menu { list-style: none; position: absolute; z-index: 1100; left: 0; top: calc(100% + 12px); min-width: 230px; margin: 0; padding: .55rem; background: rgba(255,255,255,.98); border: 1px solid var(--mp-line); border-radius: 18px; box-shadow: 0 22px 60px rgba(0,0,0,.12); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
  .desktop-nav-shell .sub-menu::before { content:""; position:absolute; left:0; right:0; height:16px; top:-14px; }
  .desktop-nav-shell .menu-item-has-children:hover > .sub-menu,
  .desktop-nav-shell .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
  .desktop-nav-shell .sub-menu .nav-link { display:block; border-radius: 12px; padding: .72rem .82rem; white-space: nowrap; font-size: .9rem; }
  .desktop-nav-shell .sub-menu .nav-link:hover { background: #f4f1ec; box-shadow: none; }
}

.mobile-menu .sub-menu { list-style:none; margin:.35rem 0 .75rem; padding: .25rem 0 .25rem 1rem; border-left: 1px solid var(--mp-line); }
.mobile-menu .sub-menu .nav-link { font-size: 1rem; font-weight: 650; padding: .7rem .9rem; border-bottom: 0; color: var(--mp-muted); }
.mobile-menu .menu-item-has-children > .nav-link::after { content:"↓"; float:right; color:var(--mp-accent); font-size:.9rem; }

.mp-home-hero { padding: clamp(5rem, 8vw, 8.5rem) 0; }
.mp-home-hero .min-vh-75 { min-height: min(720px, 72vh); }
.mp-hero-mark { width: min(100%, 390px); }
.mp-architecture-core { position:relative; z-index:3; width: 48%; aspect-ratio:1; border-radius: 34px; background: #151515; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 28px 75px rgba(20,20,20,.2); animation: mp-core-float 5s ease-in-out infinite; }
.mp-architecture-core strong { font-size: 3.25rem; line-height:1; letter-spacing:-.08em; }
.mp-architecture-core small, .mp-core-eyebrow { font-size:.54rem; letter-spacing:.17em; font-weight:800; }
.mp-core-eyebrow { color:#ff5a5a; margin-bottom:.7rem; }
.mp-architecture-core small { color:#b9b9b9; margin-top:.7rem; }
.mp-orbit { display:block; }
.mp-orbit i { position:absolute; z-index:2; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid var(--mp-line); box-shadow:0 8px 24px rgba(0,0,0,.08); color:var(--mp-ink); font-size:.6rem; font-style:normal; font-weight:850; letter-spacing:.05em; }
.mp-orbit-one i:nth-child(1) { left:50%; top:-20px; transform:translateX(-50%); }
.mp-orbit-one i:nth-child(2) { right:-18px; top:58%; }
.mp-orbit-one i:nth-child(3) { left:-18px; top:58%; }
.mp-orbit-two i:nth-child(1) { right:-18px; top:22%; }
.mp-orbit-two i:nth-child(2) { left:-18px; bottom:18%; }
.mp-pulse-ring { position:absolute; inset:31%; border-radius:50%; border:1px solid rgba(181,0,0,.28); animation:mp-pulse 3s ease-out infinite; }
@keyframes mp-core-float { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-10px) rotate(2deg); } }
@keyframes mp-pulse { 0% { transform:scale(.8); opacity:.75; } 80%,100% { transform:scale(2.1); opacity:0; } }

.mp-remote-experience { border:1px solid var(--mp-line); border-radius:24px; overflow:hidden; background:#fff; }
.mp-remote-head { display:flex; align-items:center; gap:.85rem; padding:1.25rem 1.4rem; border-bottom:1px solid var(--mp-line); }
.mp-remote-head > div { display:flex; flex-direction:column; gap:.15rem; }
.mp-remote-head small { color:var(--mp-muted); }
.mp-live-dot { width:10px; height:10px; border-radius:50%; background:#20a464; box-shadow:0 0 0 6px rgba(32,164,100,.1); }
.mp-timezone-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.mp-timezone-grid > div { padding:1.2rem 1.25rem; border-right:1px solid var(--mp-line); display:flex; flex-direction:column; gap:.18rem; }
.mp-timezone-grid > div:last-child { border-right:0; }
.mp-timezone-grid span { color:var(--mp-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:750; }
.mp-timezone-grid strong { font-size:.98rem; }
.mp-timezone-grid small { color:var(--mp-muted); font-size:.72rem; }

.site-footer { margin-top:0 !important; background:#111; color:#fff; border-top:0; }
.mp-footer-main { padding:clamp(4.5rem,8vw,8rem) 0 2rem; }
.mp-footer-brand { display:inline-flex; align-items:center; gap:1rem; color:#fff; }
.mp-footer-brand:hover { color:#fff; }
.mp-footer-brand img { width:54px; height:54px; border-radius:15px; }
.mp-footer-brand span { display:flex; flex-direction:column; }
.mp-footer-brand strong { font-size:1.05rem; }
.mp-footer-brand small { color:#999; font-size:.75rem; margin-top:.2rem; }
.mp-footer-statement { max-width:620px; margin:2.3rem 0 1.2rem; font-size:clamp(2rem,4vw,4.3rem); line-height:.98; letter-spacing:-.055em; }
.mp-footer-copy { max-width:620px; color:#9e9e9e; line-height:1.75; }
.mp-footer-label { margin:0 0 1.15rem; color:#777; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; font-weight:800; }
.mp-footer-links { list-style:none; margin:0; padding:0; }
.mp-footer-links li { margin:0 0 .75rem; color:#b5b5b5; font-size:.92rem; }
.mp-footer-links a { color:#d8d8d8; transition:color .2s ease, transform .2s ease; display:inline-block; }
.mp-footer-links a:hover { color:#fff; transform:translateX(3px); }
.mp-footer-timezones { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:4rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.1); }
.mp-footer-timezones span { border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:.45rem .7rem; color:#aaa; font-size:.72rem; }
.mp-footer-timezones span:first-child { background:var(--mp-accent); border-color:var(--mp-accent); color:#fff; font-weight:800; }
.mp-footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:1.25rem 0; color:#737373; font-size:.78rem; }

@media (max-width: 1199.98px) {
  .mp-home-hero { padding: 5.5rem 0; }
}
@media (max-width: 991.98px) {
  .mp-timezone-grid { grid-template-columns:repeat(2,1fr); }
  .mp-timezone-grid > div { border-bottom:1px solid var(--mp-line); }
}
@media (max-width: 575.98px) {
  .mp-home-hero { padding: 4.5rem 0; }
  .mp-timezone-grid { grid-template-columns:1fr; }
  .mp-timezone-grid > div { border-right:0; }
  .mp-footer-main { padding-top:4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-architecture-core, .mp-pulse-ring { animation:none; }
}

/* v0.6.0 - navigation, homepage rhythm and About page */
.site-header { box-shadow: 0 1px 0 rgba(20,20,20,.025); }
.navbar { min-height: 82px; }
.desktop-nav-shell .nav-link {
  position: relative;
  border-radius: 0;
  padding: .72rem .78rem .76rem;
  color: #454545;
  transition: color .2s ease;
}
.desktop-nav-shell .nav-link:hover { color: var(--mp-ink); background: transparent; box-shadow: none; }
.desktop-nav-shell .current-menu-item > .nav-link,
.desktop-nav-shell .current-menu-parent > .nav-link,
.desktop-nav-shell .current-menu-ancestor > .nav-link {
  background: transparent;
  box-shadow: none;
  color: var(--mp-ink);
}
.desktop-nav-shell .navbar-nav > .current-menu-item > .nav-link::before,
.desktop-nav-shell .navbar-nav > .current-menu-parent > .nav-link::before,
.desktop-nav-shell .navbar-nav > .current-menu-ancestor > .nav-link::before {
  content: "";
  position: absolute;
  left: .78rem;
  right: .78rem;
  bottom: .3rem;
  height: 2px;
  border-radius: 999px;
  background: var(--mp-accent);
}
.desktop-nav-shell .sub-menu .current-menu-item > .nav-link {
  background: #f5f1ec;
  color: var(--mp-ink);
}
.desktop-nav-shell .sub-menu .current-menu-item > .nav-link::before { display: none; }
.header-cta { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.header-cta:hover { transform: translateY(-1px); box-shadow: 0 9px 24px rgba(20,20,20,.10); }

.mp-home-hero { background: radial-gradient(circle at 92% 5%, rgba(181,0,0,.055), transparent 30%); }
.mp-home-hero .row { position: relative; z-index: 1; }
.mp-display { max-width: 1040px; }
.mp-lead { max-width: 850px; }
.mp-section-title { max-width: 900px; }
.mp-section-intro { max-width: 800px; }
.mp-expertise-card { padding: 1.6rem 1.45rem 1.7rem; }
.mp-expertise-card h3 { margin-top: 2.6rem; }
.mp-work-card { border-color: rgba(255,255,255,.10); }
.mp-work-card:hover { transform: translateY(-5px); }
.mp-tech-list > div { align-items: start; }
.mp-connect-box { position: relative; overflow: hidden; }
.mp-connect-box::after { content:""; position:absolute; width:320px; height:320px; border:1px solid rgba(255,255,255,.13); border-radius:50%; right:-90px; top:-150px; pointer-events:none; }

/* About */
.mp-about-hero {
  padding: clamp(7rem, 11vw, 11rem) 0 clamp(5.5rem, 9vw, 8.5rem);
  border-bottom: 1px solid var(--mp-line);
  background:
    radial-gradient(circle at 88% 8%, rgba(181,0,0,.07), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.65), transparent 70%);
}
.mp-about-display { max-width: 1120px; }
.mp-about-note {
  margin-left: auto;
  max-width: 350px;
  padding: 1.6rem;
  border: 1px solid var(--mp-line);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--mp-shadow);
}
.mp-about-note-index { display: block; color: var(--mp-accent); font-size: clamp(3rem,6vw,5.2rem); line-height: .85; font-weight: 850; letter-spacing: -.07em; margin-bottom: 1.25rem; }
.mp-about-note p { margin: 0; color: var(--mp-muted); line-height: 1.7; }
.mp-about-capability { padding: clamp(1.6rem,3vw,2.2rem); background: #fff; border: 1px solid var(--mp-line); border-radius: 22px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.mp-about-capability:hover { transform: translateY(-4px); border-color: transparent; box-shadow: var(--mp-shadow); }
.mp-about-capability > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--mp-ink); color:#fff; font-weight:700; }
.mp-about-capability h3 { margin: 2rem 0 .8rem; font-size: clamp(1.35rem,2vw,1.8rem); letter-spacing: -.035em; }
.mp-about-capability p { margin: 0; color: var(--mp-muted); line-height: 1.75; }
.mp-about-timeline { position: relative; border-top: 1px solid var(--mp-line); }
.mp-about-timeline > div { display:grid; grid-template-columns: 130px minmax(230px,.85fr) 1.4fr; gap: 2rem; align-items:start; padding: 1.65rem 0; border-bottom:1px solid var(--mp-line); }
.mp-about-timeline span { color:var(--mp-accent); text-transform:uppercase; letter-spacing:.1em; font-size:.69rem; font-weight:850; }
.mp-about-timeline h3 { margin:0; font-size:1.2rem; letter-spacing:-.025em; }
.mp-about-timeline p { margin:0; color:var(--mp-muted); line-height:1.7; }
.mp-global-grid { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid rgba(255,255,255,.12); border-radius:22px; overflow:hidden; }
.mp-global-grid > div { min-height:145px; display:flex; flex-direction:column; justify-content:flex-end; gap:.35rem; padding:1.4rem; border-right:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.025); }
.mp-global-grid > div:last-child { border-right:0; }
.mp-global-grid strong { color:#fff; font-size:1.05rem; }
.mp-global-grid span { color:#858585; font-size:.75rem; line-height:1.5; }
.mp-about-principles { border-top:1px solid var(--mp-line); }
.mp-about-principles > div { display:grid; grid-template-columns:70px minmax(220px,.85fr) 1.4fr; gap:2rem; padding:1.6rem 0; border-bottom:1px solid var(--mp-line); }
.mp-about-principles strong { color:var(--mp-accent); font-size:.75rem; letter-spacing:.08em; }
.mp-about-principles h3 { margin:0; font-size:1.25rem; letter-spacing:-.03em; }
.mp-about-principles p { margin:0; color:var(--mp-muted); line-height:1.7; }
.mp-about-connect { padding-top: clamp(1rem,3vw,3rem); }

@media (min-width: 1200px) {
  .desktop-nav-shell .sub-menu { top: calc(100% + 16px); border-radius: 16px; padding: .45rem; }
  .desktop-nav-shell .sub-menu .nav-link { border-radius: 10px; padding: .68rem .75rem; }
  .desktop-nav-shell .menu-item-has-children > .nav-link::after { right: .5rem; }
  .desktop-nav-shell .menu-item-has-children > .nav-link { padding-right: 1.55rem; }
}
@media (max-width: 1199.98px) {
  .mobile-menu > .current-menu-item > .nav-link,
  .mobile-menu > .current-menu-parent > .nav-link,
  .mobile-menu > .current-menu-ancestor > .nav-link { color:var(--mp-accent); }
  .mobile-menu .current-menu-item > .nav-link { color:var(--mp-accent); }
  .mp-about-note { max-width:none; margin-left:0; }
}
@media (max-width: 991.98px) {
  .mp-about-hero { padding-top: 6rem; }
  .mp-about-timeline > div,
  .mp-about-principles > div { grid-template-columns: 90px 1fr; gap: .8rem 1.25rem; }
  .mp-about-timeline p,
  .mp-about-principles p { grid-column: 2; }
  .mp-global-grid { grid-template-columns: repeat(2,1fr); }
  .mp-global-grid > div { border-bottom:1px solid rgba(255,255,255,.12); }
}
@media (max-width: 575.98px) {
  .mp-about-hero { padding: 4.75rem 0; }
  .mp-about-timeline > div,
  .mp-about-principles > div { grid-template-columns: 1fr; gap:.55rem; }
  .mp-about-timeline p,
  .mp-about-principles p { grid-column:auto; }
  .mp-global-grid { grid-template-columns:1fr; }
  .mp-global-grid > div { min-height:110px; border-right:0; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-about-capability, .header-cta { transition:none; }
}

/* CV / career portfolio */
.mp-cv-page { background: #fbfaf8; }
.mp-cv-hero {
  padding: clamp(6rem, 10vw, 9.5rem) 0 0;
  border-bottom: 1px solid var(--mp-line);
  background:
    radial-gradient(circle at 88% 4%, rgba(181,0,0,.075), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(251,250,248,.96));
}
.mp-cv-hero h1 {
  max-width: 980px;
  margin: 1.1rem 0 1.3rem;
  font-size: clamp(3rem, 6.4vw, 6.7rem);
  line-height: .91;
  letter-spacing: -.068em;
  font-weight: 850;
}
.mp-cv-hero > .container > .row p,
.mp-cv-hero .col-xl-8 > p {
  max-width: 790px;
  margin: 0;
  color: var(--mp-muted);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.75;
}
.mp-cv-hero-card {
  min-height: 260px;
  padding: 1.7rem;
  border: 1px solid var(--mp-line);
  border-radius: 28px;
  background: rgba(255,255,255,.76);
  box-shadow: var(--mp-shadow);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.mp-cv-hero-card span { color: var(--mp-accent); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 850; }
.mp-cv-hero-card strong { margin: .35rem 0 .55rem; font-size: clamp(3.8rem,6vw,6rem); line-height: .82; letter-spacing: -.07em; }
.mp-cv-hero-card small { max-width: 250px; color: var(--mp-muted); line-height: 1.55; }
.mp-cv-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.25rem;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding: 1rem 0;
  border-top: 1px solid var(--mp-line);
}
.mp-cv-jump a {
  position: relative;
  color: var(--mp-muted);
  text-decoration: none;
  font-size: .8rem;
  font-weight: 750;
  transition: color .2s ease;
}
.mp-cv-jump a::after { content:""; position:absolute; left:0; bottom:-.18rem; width:0; height:1px; background:var(--mp-accent); transition:width .2s ease; }
.mp-cv-jump a:hover { color:var(--mp-ink); }
.mp-cv-jump a:hover::after { width:100%; }
.mp-cv-body { padding: clamp(4rem, 7vw, 7rem) 0 clamp(6rem, 10vw, 10rem); }
.mp-cv-content { max-width: 1240px; margin: 0 auto; }
.mp-cv-content > h2:first-child { margin-top: 0; }
.mp-cv-section-heading {
  scroll-margin-top: 120px;
  max-width: 980px;
  margin: clamp(5.5rem, 9vw, 9rem) 0 2.2rem;
  font-size: clamp(2.6rem, 5.4vw, 5.4rem);
  line-height: .94;
  letter-spacing: -.06em;
  font-weight: 850;
}
.mp-cv-content > h2.mp-cv-section-heading:first-child { margin-top:0; font-size: .72rem; line-height:1; text-transform:uppercase; letter-spacing:.14em; color:var(--mp-accent); }
.mp-cv-subheading { scroll-margin-top:120px; margin: 3rem 0 1.2rem; font-size: clamp(1.4rem, 2.4vw, 2rem); letter-spacing: -.035em; font-weight: 800; }
.mp-cv-content > p { max-width: 900px; color: var(--mp-muted); line-height: 1.8; }
.mp-cv-content a { color: var(--mp-accent); text-underline-offset: 3px; }
.mp-cv-rule { margin: clamp(3rem, 6vw, 6rem) 0; border:0; border-top:1px solid var(--mp-line); opacity:1; }

/* The source CV contains two direct HTML tables: the profile/experience block and certification block. */
.mp-cv-content > table {
  width: 100%;
  margin: 1.5rem 0 0;
  border-collapse: separate;
  border-spacing: 12px;
}
.mp-cv-content > table td {
  padding: clamp(1.25rem, 2.3vw, 2rem);
  vertical-align: top;
  border: 1px solid var(--mp-line);
  border-radius: 20px;
  background: #fff;
}
.mp-cv-content > table tr:first-child td {
  padding-top: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
  background: var(--mp-ink);
  color:#fff;
  border-color: var(--mp-ink);
}
.mp-cv-content > table tr:first-child h2,
.mp-cv-content > table tr:first-child h3,
.mp-cv-content > table tr:first-child p,
.mp-cv-content > table tr:first-child a { color:#fff; }
.mp-cv-content > table h2 { margin:0 0 .7rem; font-size:clamp(2.4rem,5vw,4.7rem); letter-spacing:-.055em; }
.mp-cv-content > table h3 { margin:0 0 1rem; font-size:clamp(1.2rem,2vw,1.55rem); letter-spacing:-.025em; }
.mp-cv-content > table h4 { margin:2rem 0 .7rem; font-size:1.08rem; line-height:1.4; }
.mp-cv-content > table p { line-height:1.72; }
.mp-cv-content > table ul { margin: .8rem 0 0; padding-left: 1.15rem; }
.mp-cv-content > table li { margin-bottom:.48rem; color:var(--mp-muted); line-height:1.6; }
.mp-cv-content > table strong { color:inherit; }

/* Long professional portfolio tables */
.mp-cv-table-wrap {
  margin: 2rem 0 0;
  border: 1px solid var(--mp-line);
  border-radius: 22px;
  overflow: auto;
  background:#fff;
  box-shadow: 0 12px 40px rgba(20,20,20,.04);
  scrollbar-width: thin;
}
.mp-cv-table { width:100%; min-width:1040px; border-collapse:collapse; margin:0; }
.mp-cv-table th,
.mp-cv-table td { padding:1rem 1.05rem; border-bottom:1px solid var(--mp-line); border-right:1px solid var(--mp-line); text-align:left; vertical-align:top; font-size:.78rem; line-height:1.55; }
.mp-cv-table th { position:sticky; top:0; z-index:2; background:var(--mp-ink); color:#fff; font-size:.67rem; text-transform:uppercase; letter-spacing:.07em; white-space:nowrap; }
.mp-cv-table th:last-child,
.mp-cv-table td:last-child { border-right:0; }
.mp-cv-table tbody tr:last-child td { border-bottom:0; }
.mp-cv-table tbody tr:hover td { background:#f7f3ee; }
.mp-cv-table td:first-child { color:var(--mp-accent); font-weight:800; }

/* Certification gallery keeps every supplied image while replacing the README table look with cards. */
.mp-cv-content > table:last-of-type { margin-top: 4rem; }
.mp-cv-content > table:last-of-type td { overflow:hidden; }
.mp-cv-content > table:last-of-type img {
  display:block;
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:contain;
  border-radius:14px;
  background:#f4f1ed;
}
.mp-cv-content > table:last-of-type tr:first-child td { text-align:center; }
.mp-cv-content > table:last-of-type h3[id="cv-certifications"] { scroll-margin-top:120px; margin:0; font-size:clamp(2.1rem,4vw,4rem); letter-spacing:-.05em; }

@media (max-width: 991.98px) {
  .mp-cv-hero { padding-top:5.3rem; }
  .mp-cv-hero-card { min-height:190px; }
  .mp-cv-content > table { display:block; border-spacing:0; }
  .mp-cv-content > table tbody,
  .mp-cv-content > table tr { display:block; width:100%; }
  .mp-cv-content > table td { display:block; width:100% !important; margin-bottom:.75rem; }
  .mp-cv-content > table td[colspan="2"] { width:100% !important; }
}
@media (max-width: 575.98px) {
  .mp-cv-hero h1 { font-size:clamp(2.65rem,13vw,4rem); }
  .mp-cv-jump { gap:.5rem 1rem; }
  .mp-cv-section-heading { font-size:clamp(2.25rem,11vw,3.6rem); }
  .mp-cv-content > table td { padding:1.2rem; border-radius:16px; }
  .mp-cv-table-wrap { margin-left:-.25rem; margin-right:-.25rem; border-radius:16px; }
  .mp-cv-table th, .mp-cv-table td { padding:.85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-cv-jump a::after { transition:none; }
}

/* v0.8 - Contact, Products and Journal */
.mp-contact-page { padding: clamp(3rem,7vw,7rem) 0; background: linear-gradient(90deg,#f4f0e8 0 49.9%,#fff 50%); }
.mp-contact-shell { background:#fff; border:1px solid var(--mp-line); box-shadow:0 24px 80px rgba(20,20,20,.07); overflow:hidden; }
.mp-contact-intro { padding:clamp(2.2rem,5vw,5rem); background:#f4f0e8; }
.mp-contact-intro h1 { max-width:650px; font-size:clamp(3rem,6vw,6.2rem); line-height:.93; letter-spacing:-.065em; font-weight:650; }
.mp-contact-intro h1 em { display:block; color:#477d74; font-family:Georgia,serif; font-weight:500; }
.mp-contact-lead { max-width:600px; margin:2rem 0 2.5rem; color:#536168; font-size:1.08rem; line-height:1.75; }
.mp-contact-person { display:flex; align-items:center; gap:1rem; margin:2rem 0; }
.mp-contact-avatar { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:#062731; color:#c8ff54; font-weight:900; }
.mp-contact-person small { display:block; color:var(--mp-muted); margin-top:.15rem; }
.mp-contact-details { display:grid; gap:.6rem; font-weight:750; }
.mp-contact-details span { margin-top:.7rem; color:var(--mp-muted); font-size:.88rem; font-weight:600; }
.mp-contact-form-panel { padding:clamp(2rem,4vw,4rem); }
.mp-contact-form-head { display:flex; gap:1rem; align-items:center; padding-bottom:1.4rem; border-bottom:1px solid var(--mp-line); margin-bottom:1.6rem; }
.mp-contact-calendar { width:42px; height:42px; display:grid; place-items:center; border:1px solid #477d74; color:#477d74; font-size:1.2rem; }
.mp-contact-form-head h2 { margin:0; font-size:1.2rem; font-weight:800; }
.mp-contact-form-head p { margin:.15rem 0 0; color:var(--mp-muted); font-size:.86rem; }
.mp-contact-form label { display:block; margin:0 0 .45rem; font-size:.8rem; font-weight:800; }
.mp-contact-form input,.mp-contact-form select,.mp-contact-form textarea { width:100%; border:1px solid #d8ddda; border-radius:4px; background:#fff; padding:.86rem .95rem; font:inherit; color:var(--mp-ink); outline:none; transition:border-color .2s, box-shadow .2s; }
.mp-contact-form input:focus,.mp-contact-form select:focus,.mp-contact-form textarea:focus { border-color:#477d74; box-shadow:0 0 0 3px rgba(71,125,116,.1); }
.mp-contact-submit { width:100%; margin-top:1rem; min-height:52px; border:0; background:#c8ff54; color:#09212a; font-weight:900; display:flex; justify-content:center; gap:1rem; align-items:center; transition:transform .2s,box-shadow .2s; }
.mp-contact-submit:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(98,150,43,.2); }
.mp-contact-privacy { text-align:center; margin:.8rem 0 0; color:var(--mp-muted); font-size:.78rem; }

.mp-products-landing { padding:clamp(4rem,8vw,8rem) 0; }
.mp-products-heading { margin-bottom:2.5rem; }
.mp-products-heading h1 { max-width:1050px; font-size:clamp(3rem,6vw,6.6rem); line-height:.92; letter-spacing:-.065em; font-weight:650; }
.mp-products-heading h1 span { color:#9da9ad; display:block; }
.mp-products-heading p { color:#536168; line-height:1.7; font-size:1.06rem; }
.mp-product-filters,.mp-blog-cats { display:flex; flex-wrap:wrap; gap:.65rem; margin-bottom:2rem; }
.mp-product-filters a,.mp-blog-cats a { border:1px solid #d7ddda; border-radius:999px; padding:.58rem 1rem; background:#fff; font-size:.82rem; font-weight:700; }
.mp-product-filters a:hover,.mp-product-filters a.is-active,.mp-blog-cats a:hover { background:#062731; border-color:#062731; color:#fff; }
.mp-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d7ddda; border-left:1px solid #d7ddda; }
.mp-product-list-card { min-height:390px; padding:1.55rem; display:flex; flex-direction:column; border-right:1px solid #d7ddda; border-bottom:1px solid #d7ddda; background:#fff; }
.mp-product-card-top { display:flex; justify-content:space-between; gap:1rem; color:#68777b; font-size:.72rem; margin-bottom:2rem; }
.mp-product-category { background:#eef7ef; color:#426251; padding:.32rem .65rem; border-radius:999px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.mp-product-code-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#f1eee6; margin:1rem 0 1.7rem; font-family:monospace; font-weight:900; }
.mp-product-thumb { display:block; height:150px; overflow:hidden; margin:0 0 1.6rem; background:#f2f2f2; }
.mp-product-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.mp-product-list-card:hover .mp-product-thumb img { transform:scale(1.03); }
.mp-product-list-card h2 { font-size:1.35rem; line-height:1.18; letter-spacing:-.03em; }
.mp-product-list-card p { color:#657176; line-height:1.65; font-size:.92rem; }
.mp-product-read { margin-top:auto; padding-top:2rem; display:flex; justify-content:space-between; font-weight:850; font-size:.84rem; }

.mp-product-single { background:#fbfaf6; }
.mp-product-hero { position:relative; overflow:hidden; background:#062731; color:#fff; padding:clamp(4.5rem,8vw,8rem) 0; }
.mp-product-hero::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:42px 42px; pointer-events:none; }
.mp-product-hero .container-xxl { position:relative; z-index:1; }
.mp-product-badge { display:inline-flex; border:1px solid rgba(200,255,84,.55); border-radius:999px; color:#c8ff54; padding:.42rem .78rem; font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.mp-product-hero h1 { max-width:800px; font-size:clamp(3rem,5.5vw,6rem); line-height:.95; letter-spacing:-.06em; margin:1.6rem 0 1.4rem; }
.mp-product-excerpt { max-width:720px; color:#c1d0d4; font-size:1.08rem; line-height:1.7; }
.mp-product-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.mp-product-actions .btn { border-radius:3px; min-height:50px; padding:.85rem 1.15rem; font-weight:850; display:inline-flex; align-items:center; }
.mp-btn-accent { background:#c8ff54; color:#062731; border-color:#c8ff54; }
.mp-btn-accent:hover { background:#b8ef43; color:#062731; }
.mp-btn-outline { color:#fff; border-color:rgba(255,255,255,.5); }
.mp-btn-outline:hover { background:#fff; color:#062731; }
.mp-product-credentials { color:#c1d0d4; font-size:.82rem; margin:1rem 0 0; }
.mp-product-device { margin-left:auto; max-width:720px; background:#213944; border-radius:20px; padding:12px; box-shadow:0 30px 70px rgba(0,0,0,.28); transform:perspective(1200px) rotateY(-4deg) rotateX(1deg); }
.mp-product-device img { width:100%; border-radius:12px; display:block; }
.mp-product-device-fallback { min-height:360px; display:grid; place-items:center; }
.mp-device-window { width:95%; aspect-ratio:16/9; background:#f7faf9; border-radius:10px; display:grid; grid-template-columns:24% 1fr; overflow:hidden; color:#09212a; }
.mp-device-sidebar { background:#16333d; color:#fff; padding:1rem; display:flex; flex-direction:column; gap:.85rem; font-size:.7rem; }
.mp-device-sidebar i { height:10px; border-radius:4px; background:rgba(200,255,84,.18); }
.mp-device-main { padding:1.2rem; }
.mp-device-title { font-weight:900; font-size:1.1rem; }
.mp-device-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin:1rem 0; }
.mp-device-stats i { display:block; height:55px; background:#fff; border:1px solid #dfe6e3; border-radius:5px; }
.mp-device-lines { border:1px solid #dfe6e3; padding:1rem; display:grid; gap:.7rem; }
.mp-device-lines span { height:10px; background:#dce8e5; border-radius:999px; }
.mp-product-overview { padding:clamp(5rem,8vw,8rem) 0; }
.mp-product-overview h2,.mp-product-evaluate h2 { font-family:Georgia,serif; font-size:clamp(2.8rem,4.5vw,5rem); line-height:.98; letter-spacing:-.045em; }
.mp-product-overview h2 span { color:#9da9ad; display:block; }
.mp-product-content-intro { color:#59686d; line-height:1.8; }
.mp-product-content-intro > *:first-child { margin-top:0; }
.mp-product-checklist { background:#fff; border:1px solid #d7ddda; display:grid; }
.mp-product-checklist span { padding:.82rem 1rem; border-bottom:1px solid #e4e7e5; font-size:.8rem; }
.mp-product-checklist span:last-child { border-bottom:0; }
.mp-product-price-card { margin-top:1rem; border:1px solid #d7ddda; background:#fff; padding:1.35rem; text-align:center; }
.mp-product-price-card small { color:#657176; letter-spacing:.12em; }
.mp-product-price-card strong { display:block; font-family:Georgia,serif; font-size:1.45rem; margin:.45rem 0; }
.mp-product-price-card p { color:#657176; font-size:.76rem; }
.mp-product-price-card a { display:block; padding:.72rem; background:#c8ff54; color:#062731; font-weight:900; font-size:.78rem; }
.mp-product-benefits { margin-top:4rem; padding-top:1.8rem; border-top:1px solid #d7ddda; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.mp-product-benefits > div { display:flex; gap:.8rem; align-items:flex-start; }
.mp-product-benefits b { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:50%; background:#ecffd1; }
.mp-product-benefits strong,.mp-product-benefits small { display:block; }
.mp-product-benefits strong { font-size:.78rem; }
.mp-product-benefits small { color:#657176; margin-top:.25rem; font-size:.7rem; line-height:1.45; }
.mp-product-evaluate { background:#f1efe9; padding:clamp(4rem,7vw,7rem) 0; border-top:1px solid #d7ddda; }
.mp-product-evaluate p { color:#657176; line-height:1.7; }
.mp-product-skills { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1.2rem; }
.mp-product-skills span { border:1px solid #ccd4d1; border-radius:999px; padding:.4rem .65rem; background:#fff; font-size:.72rem; font-weight:700; }

.mp-blog-landing { padding:clamp(4.5rem,8vw,8rem) 0; }
.mp-blog-hero { padding-bottom:2.5rem; }
.mp-blog-hero h1 { max-width:950px; font-size:clamp(3.2rem,6.5vw,7rem); line-height:.9; letter-spacing:-.07em; }
.mp-blog-hero h1 span { color:#9aa6aa; display:block; }
.mp-blog-hero p { color:#5f6d72; line-height:1.7; }
.mp-blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#d9dedc; border:1px solid #d9dedc; }
.mp-blog-card { background:#fff; min-height:360px; display:flex; flex-direction:column; }
.mp-blog-card-featured { grid-column:1/-1; display:grid; grid-template-columns:1.15fr .85fr; min-height:470px; }
.mp-blog-media { display:block; min-height:240px; overflow:hidden; background:#eceae5; }
.mp-blog-media img { width:100%; height:100%; object-fit:cover; }
.mp-blog-card-body { padding:clamp(1.5rem,3vw,2.6rem); display:flex; flex-direction:column; }
.mp-blog-meta { display:flex; gap:.8rem; color:#768287; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.mp-blog-card h2 { margin:1.1rem 0 .8rem; font-size:clamp(1.7rem,3vw,3.3rem); line-height:1; letter-spacing:-.045em; }
.mp-blog-card:not(.mp-blog-card-featured) h2 { font-size:2rem; }
.mp-blog-card p { color:#657176; line-height:1.7; }
.mp-blog-read { margin-top:auto; padding-top:1.5rem; font-weight:850; }

.mp-article-hero { padding:clamp(5rem,9vw,9rem) 0 4rem; border-bottom:1px solid var(--mp-line); background:radial-gradient(circle at 85% 0,rgba(181,0,0,.07),transparent 32%); }
.mp-article-kicker { display:flex; flex-wrap:wrap; gap:1rem; color:var(--mp-accent); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:850; }
.mp-article-hero h1 { max-width:1100px; margin:1.4rem 0; font-size:clamp(3rem,6.5vw,7rem); line-height:.93; letter-spacing:-.065em; }
.mp-article-hero p { max-width:820px; color:#5f6d72; font-size:1.16rem; line-height:1.75; }
.mp-article-featured { margin-top:3rem; border-radius:24px; overflow:hidden; max-height:650px; }
.mp-article-featured img { width:100%; height:100%; object-fit:cover; }
.mp-article-content { padding:clamp(4rem,7vw,7rem) 0; font-size:1.08rem; line-height:1.9; }
.mp-article-content > * { max-width:none; }
.mp-article-content h2 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.05; margin-top:2.1em; }
.mp-article-content h3 { font-size:1.65rem; }
.mp-article-content blockquote { margin:2rem 0; padding:1.4rem 1.5rem; border-left:4px solid var(--mp-accent); background:#f3f0eb; font-family:Georgia,serif; font-size:1.25rem; }
.mp-article-content pre { position:relative; margin:2rem 0; padding:3.2rem 1.4rem 1.4rem; border-radius:18px; overflow:auto; background:#111719; color:#dce8e5; border:1px solid #263235; box-shadow:0 16px 50px rgba(0,0,0,.13); font-size:.9rem; line-height:1.7; }
.mp-article-content pre::before { content:"CODE"; position:absolute; left:1.4rem; top:1rem; color:#7f9298; font-size:.65rem; letter-spacing:.14em; font-family:Inter,sans-serif; }
.mp-code-copy { position:absolute; right:.8rem; top:.65rem; border:1px solid #3c4a4f; background:#1d272a; color:#dce8e5; border-radius:8px; padding:.38rem .6rem; font-size:.68rem; }
.mp-article-content code:not(pre code) { background:#efece6; color:#a20b0b; padding:.12rem .35rem; border-radius:5px; font-size:.92em; }
.mp-article-footer { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem 0 5rem; border-top:1px solid var(--mp-line); font-weight:800; }
.mp-pagination { margin-top:3rem; }

@media (max-width:991.98px){
  .mp-contact-page{background:#f4f0e8}.mp-contact-form-panel{background:#fff}.mp-product-grid{grid-template-columns:repeat(2,1fr)}.mp-product-benefits{grid-template-columns:repeat(2,1fr)}.mp-product-device{margin:0 auto;transform:none}.mp-blog-card-featured{grid-template-columns:1fr}.mp-blog-card-featured .mp-blog-media{min-height:320px}
}
@media (max-width:575.98px){
  .mp-product-grid,.mp-blog-grid{grid-template-columns:1fr}.mp-product-list-card{min-height:340px}.mp-product-benefits{grid-template-columns:1fr}.mp-product-hero{padding-top:3.5rem}.mp-contact-intro,.mp-contact-form-panel{padding:1.5rem}.mp-article-footer{flex-direction:column}.mp-blog-card-featured{display:flex;grid-column:auto}
}


/* v0.9.0 - typography consistency, smaller hero scale, product types and performance polish */
:root {
  --mp-bg:#fbfaf7;
  --mp-surface:#fff;
  --mp-ink:#151515;
  --mp-muted:#68686d;
  --mp-line:rgba(21,21,21,.11);
  --mp-accent:#b50000;
  --mp-accent-dark:#8f0000;
  --mp-font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mp-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --mp-radius:20px;
  --mp-shadow:0 18px 50px rgba(24,24,24,.075);
}
html { -webkit-text-size-adjust:100%; }
body { font-family:var(--mp-font-sans); font-weight:400; font-synthesis:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
button,input,select,textarea { font:inherit; }
h1,h2,h3,h4,h5,h6,.brand-name,.header-cta,.btn { font-family:var(--mp-font-sans); text-wrap:balance; }
code,pre,kbd,samp,.mp-product-code-icon { font-family:var(--mp-font-mono); }

/* Bring all editorial headings back to the same sans-serif system. */
.mp-contact-intro h1 em,
.mp-product-overview h2,
.mp-product-evaluate h2,
.mp-product-price-card strong,
.mp-article-content blockquote { font-family:var(--mp-font-sans); }
.mp-contact-intro h1 em { font-style:normal; font-weight:700; color:#477d74; }

/* Hero headings: deliberately one step smaller for cleaner desktop rhythm. */
.mp-display { font-size:clamp(2.85rem,6.15vw,6.25rem); line-height:.94; letter-spacing:-.062em; }
.mp-home-hero { padding:clamp(5.5rem,8vw,8rem) 0; }
.mp-home-hero .min-vh-75 { min-height:min(680px,68vh); }
.mp-about-hero .mp-display { font-size:clamp(2.8rem,5.8vw,5.9rem); }
.mp-contact-intro h1 { font-size:clamp(2.8rem,5.35vw,5.35rem); line-height:.96; letter-spacing:-.055em; }
.mp-product-hero h1 { font-size:clamp(2.75rem,4.85vw,5.1rem); line-height:.97; letter-spacing:-.052em; }
.mp-blog-hero h1 { font-size:clamp(2.9rem,5.6vw,5.9rem); line-height:.94; letter-spacing:-.058em; }
.mp-article-hero h1 { font-size:clamp(2.75rem,5.4vw,5.8rem); line-height:.96; letter-spacing:-.055em; }
.mp-cv-hero h1 { font-size:clamp(2.9rem,5.8vw,5.9rem); }

/* Navigation consistency and subtler motion. */
.site-header { background:rgba(251,250,247,.94); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.desktop-nav-shell .nav-link { border-radius:0; box-shadow:none!important; background:transparent!important; position:relative; }
.desktop-nav-shell .nav-link::before { content:""; position:absolute; left:.8rem; right:.8rem; bottom:.28rem; height:1.5px; background:var(--mp-accent); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.desktop-nav-shell .nav-link:hover::before,
.desktop-nav-shell .current-menu-item > .nav-link::before,
.desktop-nav-shell .current-menu-ancestor > .nav-link::before { transform:scaleX(1); }
.desktop-nav-shell .sub-menu .nav-link::before { display:none; }
.desktop-nav-shell .sub-menu .nav-link:hover { background:#f6f3ee!important; }

/* Product type and demo-access area. */
.mp-product-meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem .85rem; }
.mp-product-meta-row .mp-product-badge { margin:0; }
.mp-product-kind { color:#9bb0b7; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.mp-demo-access { max-width:700px; margin-top:1.35rem; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); border-radius:16px; overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.12); }
.mp-demo-access-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 1rem; border-bottom:1px solid rgba(255,255,255,.12); }
.mp-demo-access-head span { font-size:.78rem; font-weight:850; letter-spacing:.03em; }
.mp-demo-access-head small { color:#9bb0b7; font-size:.66rem; }
.mp-demo-row { display:grid; grid-template-columns:120px minmax(0,1fr); gap:1rem; padding:.8rem 1rem; border-bottom:1px solid rgba(255,255,255,.09); align-items:start; }
.mp-demo-row > span { color:#9bb0b7; font-size:.67rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; }
.mp-demo-row a,.mp-demo-row > div { color:#fff; font-size:.8rem; overflow-wrap:anywhere; }
.mp-demo-row p { margin:0 0 .25rem; }
.mp-demo-row p:last-child { margin-bottom:0; }
.mp-demo-note { margin:0; padding:.72rem 1rem; color:#9bb0b7; font-size:.68rem; line-height:1.55; }
.mp-product-support-note { color:#9bb0b7; margin:1rem 0 0; font-size:.78rem; }
.mp-product-device img,.mp-product-thumb img,.mp-blog-media img,.mp-article-featured img { content-visibility:auto; }

/* Consistent controls, surfaces and body copy. */
.mp-product-overview h2,.mp-product-evaluate h2 { font-size:clamp(2.5rem,4vw,4.35rem); }
.mp-section-title { font-size:clamp(2.25rem,4.5vw,4.5rem); }
.mp-section p,.mp-product-content-intro,.mp-article-content,.mp-about-page p,.mp-contact-page p { color:var(--mp-muted); }
.btn,.header-cta,.language-toggle,.mp-product-price-card a { transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease; }
.btn:hover,.header-cta:hover,.mp-product-price-card a:hover { transform:translateY(-1px); }

@media (max-width:991.98px) {
  .mp-home-hero .min-vh-75 { min-height:auto; }
  .mp-demo-row { grid-template-columns:100px minmax(0,1fr); }
}
@media (max-width:575.98px) {
  .mp-display,.mp-about-hero .mp-display { font-size:clamp(2.55rem,12vw,3.85rem); }
  .mp-product-hero h1,.mp-blog-hero h1,.mp-article-hero h1,.mp-contact-intro h1,.mp-cv-hero h1 { font-size:clamp(2.45rem,11vw,3.55rem); }
  .mp-demo-access-head { align-items:flex-start; flex-direction:column; gap:.2rem; }
  .mp-demo-row { grid-template-columns:1fr; gap:.3rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* v0.10.0 - unified palette, accessibility, about media and animated coder hero */
:root{
  --mp-bg:#fbfaf7;
  --mp-surface:#ffffff;
  --mp-soft:#f3efe8;
  --mp-ink:#151515;
  --mp-heading:#151515;
  --mp-muted:#56585c;
  --mp-muted-strong:#45474b;
  --mp-line:rgba(21,21,21,.13);
  --mp-accent:#b50000;
  --mp-accent-dark:#8f0000;
  --mp-dark:#121414;
  --mp-dark-muted:#c2c4c6;
  --mp-green:#477d74;
}
body,.site-main{background:var(--mp-bg);color:var(--mp-ink)}
h1,h2,h3,h4,h5,h6{color:var(--mp-heading)}
.mp-section-soft,.mp-product-evaluate{background:var(--mp-soft)}
.mp-section-dark,.site-footer{background:var(--mp-dark)}
.mp-section-dark h1,.mp-section-dark h2,.mp-section-dark h3,.site-footer h1,.site-footer h2,.site-footer h3{color:#fff}
.mp-section-dark .text-white-50,.mp-section-dark .mp-section-intro.text-white-50,.mp-connect-box .text-white-50{color:#f0dede!important;opacity:1!important}
.mp-section-dark p,.mp-section-dark span{color:var(--mp-dark-muted)}
.mp-connect-box p:not(.mp-section-no){color:#fff}
.mp-connect-box .mp-section-no{color:#fff!important}
.mp-footer-brand small,.mp-footer-copy,.mp-footer-links li,.mp-footer-links a,.mp-footer-timezones span,.mp-footer-bottom{color:#c4c5c6}
.mp-footer-label{color:#e0e1e2}
.mp-footer-bottom{color:#bfc1c2}
.mp-footer-timezones span{border-color:rgba(255,255,255,.22)}
.mp-footer-links a:hover{color:#fff}
.mp-section-intro,.mp-copy-grid,.mp-about-note p,.mp-about-capability p,.mp-about-timeline p,.mp-about-principles p,.mp-blog-hero p,.mp-blog-card p,.mp-product-evaluate p,.mp-contact-page p,.mp-section p{color:var(--mp-muted)}
.mp-lead{color:var(--mp-muted-strong)}
.mp-hero-stack{color:#55575a}
.mp-blog-hero h1 span{color:#7b878b}
.mp-contact-intro h1 em{color:var(--mp-green)}

/* Featured image inside About stat card. */
.mp-about-featured{margin:-.4rem -.4rem 1.5rem;overflow:hidden;border-radius:18px;aspect-ratio:4/3;background:#e9e4dc}
.mp-about-featured img{width:100%;height:100%;object-fit:cover;display:block}
.mp-about-note-index{margin-top:.15rem}

/* Homepage developer illustration - inline SVG, no image request and no layout shift. */
.mp-coder-mark{width:min(100%,420px);filter:drop-shadow(0 26px 44px rgba(21,21,21,.08))}
.mp-coder-svg{width:100%;height:auto;display:block;overflow:visible}
.mp-coder-halo{fill:none;stroke:rgba(21,21,21,.12);stroke-width:1.2;stroke-dasharray:5 7;transform-origin:center;animation:mp-halo-spin 24s linear infinite}
.mp-coder-halo-inner{stroke:rgba(181,0,0,.18);stroke-dasharray:2 8;animation-direction:reverse;animation-duration:17s}
.mp-coder-scene{transform-origin:center;animation:mp-scene-float 5.5s ease-in-out infinite}
.mp-coder-desk,.mp-coder-leg{fill:#202222}
.mp-coder-head{fill:#e7c7b4}
.mp-coder-hair{fill:#181818}
.mp-coder-body{fill:#b50000}
.mp-coder-arm{fill:none;stroke:#e7c7b4;stroke-width:17;stroke-linecap:round}
.mp-coder-laptop>rect:first-child{fill:#202222}
.mp-coder-screen{fill:#0d1112}
.mp-code-line{fill:none;stroke:#f4f4f4;stroke-width:4;stroke-linecap:round;stroke-dasharray:82;stroke-dashoffset:82;animation:mp-type-line 3.4s ease-in-out infinite}
.mp-code-line.l2{stroke:#d84242;animation-delay:.45s}.mp-code-line.l3{stroke:#94aaa4;animation-delay:.9s}
.mp-code-cursor{fill:#fff;animation:mp-cursor-blink .8s steps(1) infinite}
.mp-coder-bubbles .bubble circle{fill:#fff;stroke:rgba(21,21,21,.12);stroke-width:1;filter:drop-shadow(0 7px 12px rgba(0,0,0,.08))}
.mp-coder-bubbles text{font-size:10px;font-weight:850;fill:#151515;text-anchor:middle;font-family:var(--mp-font-sans)}
.mp-coder-bubbles .bubble{transform-box:fill-box;transform-origin:center;animation:mp-bubble 4s ease-in-out infinite}
.mp-coder-bubbles .b2{animation-delay:.6s}.mp-coder-bubbles .b3{animation-delay:1.1s}.mp-coder-bubbles .b4{animation-delay:1.7s}
@keyframes mp-halo-spin{to{transform:rotate(360deg)}}
@keyframes mp-scene-float{0%,100%{transform:translateY(3px)}50%{transform:translateY(-8px)}}
@keyframes mp-type-line{0%,15%{stroke-dashoffset:82}50%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-82}}
@keyframes mp-cursor-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
@keyframes mp-bubble{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* Accessibility + Lighthouse contrast hardening. */
:focus-visible{outline:3px solid rgba(181,0,0,.35);outline-offset:3px}
.site-footer a:focus-visible,.mp-section-dark a:focus-visible,.mp-connect-box a:focus-visible{outline-color:#fff}
.skip-link:focus{background:#fff;color:#111;border:2px solid #111;padding:.75rem 1rem;z-index:10000}

/* Avoid compositor-heavy effects on smaller devices; keep UI identical. */
@media(max-width:991.98px){.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(251,250,247,.985)}}
@media(prefers-reduced-motion:reduce){.mp-coder-halo,.mp-coder-scene,.mp-code-line,.mp-code-cursor,.mp-coder-bubbles .bubble{animation:none!important}.mp-code-line{stroke-dashoffset:0}}

/* Feedback page ----------------------------------------------------------- */
.mp-feedback-hero{padding:clamp(6rem,10vw,9rem) 0 clamp(4rem,7vw,6rem);background:var(--mp-bg,#fbfaf7);border-bottom:1px solid var(--mp-border,#dfddd7)}
.mp-feedback-hero h1,.mp-feedback-list-section h2{margin:0;font-size:clamp(3.25rem,6vw,6.7rem);line-height:.91;letter-spacing:-.065em;font-weight:760;color:var(--mp-ink,#111)}
.mp-feedback-hero h1 span,.mp-feedback-list-section h2 span{color:var(--mp-muted,#829096)}
.mp-feedback-hero-copy,.mp-feedback-list-intro{margin:0;color:var(--mp-text-muted,#59636a);font-size:1.05rem;line-height:1.8;max-width:34rem}
.mp-feedback-submit-section{padding:clamp(4rem,7vw,7rem) 0;background:var(--mp-soft,#f2efe7)}
.mp-feedback-submit-shell{background:#fff;border:1px solid var(--mp-border,#dfddd7);box-shadow:0 30px 80px rgba(18,18,18,.07)}
.mp-feedback-submit-intro{padding:clamp(2rem,5vw,4.6rem);background:var(--mp-soft,#f2efe7)}
.mp-feedback-submit-intro h2{font-size:clamp(2.75rem,4.7vw,5.2rem);line-height:.94;letter-spacing:-.055em;margin:0 0 1.5rem;color:var(--mp-ink,#111)}
.mp-feedback-submit-intro>p:not(.eyebrow){max-width:30rem;font-size:1.03rem;line-height:1.75;color:var(--mp-text-muted,#59636a)}
.mp-feedback-review-note{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(17,17,17,.14)}
.mp-feedback-review-note>span{display:grid;place-items:center;flex:0 0 2.4rem;height:2.4rem;border-radius:50%;background:var(--mp-dark,#172024);color:#fff;font-weight:800}
.mp-feedback-review-note p{margin:0;color:var(--mp-text-muted,#59636a);line-height:1.6;font-size:.92rem}.mp-feedback-review-note strong{color:var(--mp-ink,#111)}
.mp-feedback-form-panel{padding:clamp(2rem,5vw,4.6rem)}
.mp-feedback-form label{display:block;margin-bottom:.5rem;font-weight:750;font-size:.87rem;color:var(--mp-ink,#111)}.mp-feedback-form label span{color:var(--mp-red,#bc0000)}
.mp-feedback-form label small{display:inline;margin:0 0 0 .3rem;font-size:.75rem;font-weight:500;color:#667078;white-space:nowrap}
.mp-feedback-form input,.mp-feedback-form textarea{width:100%;border:1px solid #ccd0d0;background:#fff;border-radius:0;padding:.9rem 1rem;color:var(--mp-ink,#111);font:inherit;transition:border-color .2s ease,box-shadow .2s ease}
.mp-feedback-form textarea{resize:vertical;min-height:9.5rem}.mp-feedback-form input:focus,.mp-feedback-form textarea:focus{outline:0;border-color:var(--mp-red,#bc0000);box-shadow:0 0 0 3px rgba(188,0,0,.09)}
.mp-feedback-form small{display:block;margin-top:.38rem;font-size:.75rem;color:#667078}
.mp-feedback-submit{margin-top:1.5rem;width:100%;display:flex;justify-content:center;align-items:center;gap:.8rem;border:0;background:var(--mp-dark,#172024);color:#fff;padding:1rem 1.25rem;font-weight:800;transition:transform .2s ease,background .2s ease}.mp-feedback-submit:hover{background:var(--mp-red,#bc0000);transform:translateY(-2px)}
.mp-feedback-privacy{font-size:.76rem;line-height:1.55;color:#667078;margin:1rem 0 0;text-align:center}
.mp-feedback-list-section{padding:clamp(5rem,8vw,8rem) 0;background:var(--mp-bg,#fbfaf7)}
.mp-feedback-list-section h2{font-size:clamp(3rem,5.25vw,5.8rem)}
.mp-feedback-card{position:relative;display:flex;flex-direction:column;padding:clamp(1.6rem,3vw,2.35rem);background:#fff;border:1px solid var(--mp-border,#dfddd7);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden}
.mp-feedback-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(18,18,18,.07);border-color:#c7c4bd}
.mp-feedback-quote{display:block;font-family:Georgia,serif;font-size:5rem;line-height:.7;color:var(--mp-red,#bc0000);margin-bottom:1.25rem}
.mp-feedback-card-copy{font-size:1.05rem;line-height:1.8;color:#30383d;flex:1}.mp-feedback-card-copy p:last-child{margin-bottom:0}
.mp-feedback-card-person{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--mp-border,#dfddd7)}
.mp-feedback-initial{display:grid;place-items:center;flex:0 0 3rem;height:3rem;border-radius:50%;background:var(--mp-dark,#172024);color:#fff;font-weight:800}.mp-feedback-card-person h3{font-size:1rem;margin:0 0 .18rem;font-weight:800}.mp-feedback-card-person p,.mp-feedback-card-person small{display:block;margin:0;color:#5e686e;line-height:1.4}.mp-feedback-card-person p{font-size:.82rem}.mp-feedback-card-person small{font-size:.72rem;margin-top:.25rem;color:#777f84}
.mp-feedback-empty{padding:2.5rem;border:1px dashed #c9c6c0;background:#fff;text-align:center;color:#657077}.mp-feedback-pagination{margin-top:3rem;display:flex;justify-content:center}.mp-feedback-pagination .page-numbers{display:inline-grid;place-items:center;min-width:2.65rem;height:2.65rem;margin:.2rem;border:1px solid var(--mp-border,#dfddd7);background:#fff;color:var(--mp-ink,#111);text-decoration:none}.mp-feedback-pagination .current,.mp-feedback-pagination a:hover{background:var(--mp-dark,#172024);border-color:var(--mp-dark,#172024);color:#fff}
@media(max-width:991.98px){.mp-feedback-submit-intro,.mp-feedback-form-panel{padding:2rem}.mp-feedback-hero{padding-top:5rem}.mp-feedback-hero h1{font-size:clamp(3rem,10vw,5rem)}}
@media(prefers-reduced-motion:reduce){.mp-feedback-card,.mp-feedback-submit{transition:none!important}.mp-feedback-card:hover,.mp-feedback-submit:hover{transform:none}}

/* ==========================================================
   v0.12.0 - unified ManishPushkar palette + privacy polish
   Core palette: oxblood #8f0000, black #141414, warm whites.
   ========================================================== */
:root{
  --mp-bg:#fbfaf7;
  --mp-surface:#ffffff;
  --mp-soft:#f4f0e8;
  --mp-ink:#141414;
  --mp-heading:#141414;
  --mp-muted:#59534f;
  --mp-muted-strong:#403b38;
  --mp-border:#ddd6ce;
  --mp-accent:#8f0000;
  --mp-accent-dark:#650000;
  --mp-dark:#141414;
  --mp-dark-muted:#ddd6d1;
  --mp-green:#8f0000;
}
html,body{background:var(--mp-bg);color:var(--mp-ink)}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:#8f0000;color:#fff}
a{color:inherit}
.mp-kicker,.mp-section-no,.eyebrow,.mp-footer-label,.mp-core-eyebrow{color:#8f0000!important}
.mp-section-soft,.mp-feedback-submit-section,.mp-feedback-submit-intro{background:#f4f0e8!important}

/* About: portrait stands on its own, separate from the statistic card. */
.mp-about-hero{padding-top:clamp(7rem,11vw,11rem);padding-bottom:clamp(6rem,9vw,9rem)}
.mp-about-featured{margin:0 0 1.25rem!important;overflow:hidden;border-radius:22px!important;aspect-ratio:4/4.6!important;background:#eee7df!important;border:1px solid var(--mp-border);box-shadow:0 24px 65px rgba(20,20,20,.10)}
.mp-about-featured img{width:100%;height:100%;object-fit:cover;display:block}
.mp-about-note{background:#fff;border:1px solid var(--mp-border);border-radius:22px;padding:1.6rem 1.7rem 1.7rem;box-shadow:0 18px 45px rgba(20,20,20,.07)}
.mp-about-note-index{color:#8f0000!important}
.mp-about-note p{color:#514b47}

/* Contact: remove teal / neon green and align to oxblood + black. */
.mp-contact-page{background:linear-gradient(90deg,#f4f0e8 0 49.9%,#fff 50%)!important}
.mp-contact-intro{background:#f4f0e8!important}
.mp-contact-intro h1 em{color:#8f0000!important;font-family:inherit!important;font-style:normal!important;font-weight:800!important}
.mp-contact-lead{color:#514b47!important}
.mp-contact-avatar{background:#141414!important;color:#fff!important}
.mp-contact-calendar{border-color:#8f0000!important;color:#8f0000!important}
.mp-contact-form input:focus,.mp-contact-form select:focus,.mp-contact-form textarea:focus{border-color:#8f0000!important;box-shadow:0 0 0 3px rgba(143,0,0,.10)!important}
.mp-contact-submit{background:#8f0000!important;color:#fff!important}
.mp-contact-submit:hover{background:#650000!important;color:#fff!important}

/* Product archive + singles: red/black product identity, no teal/lime accents. */
.mp-products-heading h1 span,.mp-product-overview h2 span,.mp-blog-hero h1 span,.mp-feedback-hero h1 span,.mp-feedback-list-section h2 span{color:#8f0000!important}
.mp-products-heading p,.mp-product-list-card p,.mp-product-content-intro,.mp-product-price-card p,.mp-product-benefits small,.mp-product-evaluate p,.mp-blog-hero p,.mp-blog-card p,.mp-article-hero p{color:#554f4b!important}
.mp-product-filters a:hover,.mp-product-filters a.is-active,.mp-blog-cats a:hover{background:#141414!important;border-color:#141414!important;color:#fff!important}
.mp-product-category{background:#f6e7e7!important;color:#8f0000!important}
.mp-product-code-icon{background:#f3ebe6!important;color:#8f0000!important}
.mp-product-single{background:#fbfaf7!important}
.mp-product-hero{background:#141414!important}
.mp-product-badge{border-color:rgba(255,255,255,.42)!important;color:#fff!important}
.mp-product-excerpt,.mp-product-credentials,.mp-product-kind,.mp-demo-access-head small,.mp-demo-row>span,.mp-demo-note,.mp-product-support-note{color:#ddd6d1!important}
.mp-btn-accent,.mp-product-price-card a{background:#8f0000!important;color:#fff!important;border-color:#8f0000!important}
.mp-btn-accent:hover,.mp-product-price-card a:hover{background:#650000!important;color:#fff!important;border-color:#650000!important}
.mp-btn-outline:hover{background:#fff!important;color:#141414!important}
.mp-product-device{background:#2a2020!important}
.mp-device-window{color:#141414!important}
.mp-device-sidebar{background:#211717!important}
.mp-device-lines span{background:#eadfdb!important}
.mp-product-benefits b{background:#f6e7e7!important;color:#8f0000!important}
.mp-product-evaluate{background:#f4f0e8!important}
.mp-product-skills span{border-color:#d5cbc3!important;background:#fff!important}

/* Blog: keep editorial contrast but replace decorative grey/teal with red. */
.mp-blog-grid{background:#ddd6ce!important;border-color:#ddd6ce!important}
.mp-blog-media{background:#eee8e1!important}
.mp-blog-meta{color:#716861!important}
.mp-article-content pre{background:#141414!important;color:#f4f0e8!important;border-color:#302727!important}
.mp-article-content pre::before{color:#d5bebe!important}
.mp-code-copy{background:#241919!important;border-color:#594343!important;color:#fff!important}
.mp-article-content code:not(pre code){background:#f3e6e3!important;color:#8f0000!important}

/* Feedback form: private moderation workflow, same core palette. */
.mp-feedback-form small,.mp-feedback-privacy,.mp-feedback-submit-intro>p:not(.eyebrow),.mp-feedback-review-note p,.mp-feedback-card-person p,.mp-feedback-card-person small,.mp-feedback-empty,.mp-feedback-hero-copy,.mp-feedback-list-intro{color:#5b544f!important}
.mp-feedback-submit,.mp-feedback-review-note>span,.mp-feedback-initial,.mp-feedback-pagination .current,.mp-feedback-pagination a:hover{background:#141414!important;border-color:#141414!important;color:#fff!important}
.mp-feedback-submit:hover{background:#8f0000!important}
.mp-feedback-quote{color:#8f0000!important}
.mp-feedback-form input:focus,.mp-feedback-form textarea:focus{border-color:#8f0000!important;box-shadow:0 0 0 3px rgba(143,0,0,.09)!important}

/* Developer hero illustration: clearer person + oval spectacles. */
.mp-coder-glasses ellipse{fill:rgba(255,255,255,.10);stroke:#141414;stroke-width:4.5}
.mp-coder-glasses path{fill:none;stroke:#141414;stroke-width:4;stroke-linecap:round}
.mp-coder-body{fill:#8f0000!important}
.mp-code-line.l2{stroke:#c94c4c!important}
.mp-code-line.l3{stroke:#8f0000!important}
.mp-coder-bubbles circle{fill:#fff!important;stroke:#d9d1ca!important}
.mp-coder-bubbles text{fill:#141414!important}

/* Remove remaining decorative gray emphasis from headings. */
.mp-hero-stack,.mp-global-grid span{color:#59534f!important}
.mp-live-dot{background:#8f0000!important;box-shadow:0 0 0 6px rgba(143,0,0,.10)!important}

/* Footer remains black, with accessible warm secondary text. */
.site-footer{background:#141414!important;color:#fff}
.mp-footer-copy,.mp-footer-links li,.mp-footer-links a,.mp-footer-timezones span,.mp-footer-bottom{color:#d5cfca!important}
.mp-footer-label{color:#fff!important}

@media (max-width:1199.98px){
  .mp-about-featured{max-width:520px;aspect-ratio:16/10!important}
}

/* v0.13.0 - CV redesign, CTA icons, feedback footer */
.header-cta-icon{display:inline-flex;align-items:center;gap:.48rem}.header-cta-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.mp-footer-feedback{margin-top:3.75rem;padding:2rem 0 2.15rem;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);display:grid;grid-template-columns:.75fr 1.35fr 1.4fr;align-items:center;gap:2rem;color:#fff;text-decoration:none}.mp-footer-feedback span{font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#e9b9b9}.mp-footer-feedback strong{font-size:clamp(2rem,3.3vw,4rem);line-height:.96;letter-spacing:-.055em}.mp-footer-feedback em{font-style:normal;color:#d7d1cb;line-height:1.7;max-width:430px}.mp-footer-feedback b{color:#fff;font-weight:800}.mp-footer-feedback:hover strong{color:#fff}.mp-footer-feedback:hover b{text-decoration:underline;text-underline-offset:5px}

.mp-cv-v2{background:var(--mp-bg,#fbfaf8);color:var(--mp-ink,#111)}.mp-cv-v2-hero{padding:clamp(6rem,9vw,9rem) 0 2.25rem;border-bottom:1px solid var(--mp-line);background:linear-gradient(135deg,#fbfaf8 0%,#fff 57%,#f7eeee 100%)}.mp-cv-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:clamp(3rem,7vw,8rem);align-items:end}.mp-cv-v2-hero h1{max-width:980px;margin:1rem 0 1.5rem;font-size:clamp(3.2rem,6.3vw,7rem);line-height:.91;letter-spacing:-.067em;font-weight:850}.mp-cv-v2-lead{max-width:850px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.7;color:var(--mp-muted)}.mp-cv-v2-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.mp-cv-v2-snapshot{padding:2rem;border:1px solid var(--mp-line);border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(41,18,18,.07)}.mp-cv-v2-kicker,.mp-cv-v2-section-head>span,.mp-cv-v2-feature>span,.mp-cv-v2-card>span,.mp-cv-v2-mini-title,.mp-cv-v2-notice>span,.mp-cv-cert-head span{display:block;color:var(--mp-accent);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}.mp-cv-v2-snapshot>strong{display:block;margin:.6rem 0 .8rem;font-size:clamp(2.4rem,4vw,4.5rem);line-height:.95;letter-spacing:-.06em}.mp-cv-v2-snapshot>p{color:var(--mp-muted);line-height:1.65}.mp-cv-v2-statrow{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--mp-line);margin-top:1.4rem;padding-top:1.2rem;gap:1rem;font-size:.78rem;color:var(--mp-muted)}.mp-cv-v2-statrow b{display:block;color:var(--mp-ink);font-size:1.45rem}.mp-cv-v2-main{padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(6rem,10vw,10rem)}.mp-cv-v2-section{scroll-margin-top:115px;margin-bottom:clamp(6rem,10vw,10rem)}.mp-cv-v2-section-head{display:grid;grid-template-columns:minmax(210px,.52fr) minmax(0,1.2fr);gap:1rem 5rem;margin-bottom:3rem}.mp-cv-v2-section-head>span{grid-row:1/3}.mp-cv-v2-section-head h2{margin:0;max-width:850px;font-size:clamp(2.6rem,5vw,5.4rem);line-height:.94;letter-spacing:-.06em}.mp-cv-v2-section-head p{margin:0;max-width:760px;color:var(--mp-muted);font-size:1.03rem;line-height:1.8}.mp-cv-v2-profile-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:1px;background:var(--mp-line);border:1px solid var(--mp-line);border-radius:24px;overflow:hidden}.mp-cv-v2-feature,.mp-cv-v2-card{background:#fff;padding:clamp(1.6rem,3vw,2.6rem)}.mp-cv-v2-feature{grid-row:span 2;background:var(--mp-ink);color:#fff}.mp-cv-v2-feature>span{color:#e6baba}.mp-cv-v2-feature h3{margin:1.1rem 0 2rem;font-size:clamp(2rem,3.6vw,4.2rem);line-height:.98;letter-spacing:-.055em}.mp-cv-v2-feature ul,.mp-cv-v2-card ul{padding-left:1.1rem;margin:0}.mp-cv-v2-feature li{color:#e5e1dd}.mp-cv-v2-feature li,.mp-cv-v2-card li{margin:.7rem 0;line-height:1.55}.mp-cv-v2-card p{margin:.9rem 0;color:var(--mp-muted);line-height:1.7}.mp-cv-v2-card p b{display:block;color:var(--mp-ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.mp-cv-v2-mini-title{margin-top:1.7rem;padding-top:1.5rem;border-top:1px solid var(--mp-line)}
.mp-cv-timeline{position:relative;border-top:1px solid var(--mp-line)}.mp-cv-job{display:grid;grid-template-columns:20px minmax(220px,.55fr) minmax(0,1.25fr);gap:2rem;padding:2.4rem 0;border-bottom:1px solid var(--mp-line)}.mp-cv-job-marker{width:10px;height:10px;margin-top:.4rem;border-radius:50%;background:var(--mp-accent);box-shadow:0 0 0 6px #f5e9e9}.mp-cv-job-meta span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mp-muted);font-weight:750}.mp-cv-job-meta h3{margin:.5rem 0 .15rem;font-size:1.55rem;letter-spacing:-.035em}.mp-cv-job-meta p{margin:0;color:var(--mp-accent);font-weight:750}.mp-cv-job-body ul{margin:0;padding-left:1.15rem;columns:2;column-gap:3rem}.mp-cv-job-body li{break-inside:avoid;margin:0 0 .7rem;color:var(--mp-muted);line-height:1.65}.mp-cv-tools{margin:1.2rem 0 0;padding-top:1.1rem;border-top:1px dashed var(--mp-line);font-size:.85rem;line-height:1.7;color:var(--mp-muted)}.mp-cv-tools b{color:var(--mp-ink);margin-right:.5rem}
.mp-cv-project-record .mp-cv-section-heading{margin:0 0 .6rem;font-size:clamp(2.6rem,5vw,5.2rem);line-height:.95;letter-spacing:-.06em}.mp-cv-project-record>p{color:var(--mp-muted);margin-bottom:2rem}.mp-cv-products-section .mp-cv-table td:nth-child(2){font-weight:800;color:var(--mp-ink)}.mp-cv-products-section .mp-cv-table td:first-child{min-width:54px}.mp-cv-v2-notice{margin:-3rem 0 clamp(6rem,10vw,10rem);padding:2.3rem;border-left:5px solid var(--mp-accent);background:#f5eeee}.mp-cv-v2-notice h3{margin:.6rem 0 .7rem;font-size:1.6rem}.mp-cv-v2-notice p{margin:0;max-width:900px;color:#504846;line-height:1.75}.mp-cv-v2-notice a{color:var(--mp-accent);font-weight:750}.mp-cv-cert-group{margin-top:3rem}.mp-cv-cert-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--mp-line)}.mp-cv-cert-head h3{margin:0;font-size:clamp(1.5rem,2.5vw,2.35rem);letter-spacing:-.04em}.mp-cv-cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.mp-cv-cert-card{margin:0;padding:1rem;border:1px solid var(--mp-line);border-radius:18px;background:#fff}.mp-cv-cert-card img{display:block;width:100%;height:260px;object-fit:contain;background:#f8f6f3;border-radius:12px}.mp-cv-cert-card figcaption{padding:.9rem .25rem .2rem;font-size:.86rem;font-weight:800}.mp-cv-v2-close{margin-top:2rem;padding:clamp(2.5rem,5vw,5rem);border-radius:28px;background:var(--mp-accent);color:#fff}.mp-cv-v2-close>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.mp-cv-v2-close h2{max-width:900px;margin:1rem 0 2rem;font-size:clamp(2.4rem,4.7vw,5rem);line-height:.97;letter-spacing:-.055em}.mp-cv-v2-close .btn-dark{background:#111;border-color:#111}.mp-cv-v2-close .btn-outline-dark{border-color:#fff;color:#fff}.mp-cv-v2-close .btn-outline-dark:hover{background:#fff;color:#111}
@media(max-width:991.98px){.mp-footer-feedback{grid-template-columns:1fr;gap:.75rem}.mp-cv-v2-hero-grid{grid-template-columns:1fr}.mp-cv-v2-snapshot{max-width:560px}.mp-cv-v2-section-head{grid-template-columns:1fr;gap:1rem}.mp-cv-v2-section-head>span{grid-row:auto}.mp-cv-v2-profile-grid{grid-template-columns:1fr 1fr}.mp-cv-v2-feature{grid-row:auto;grid-column:1/-1}.mp-cv-job{grid-template-columns:16px 1fr}.mp-cv-job-body{grid-column:2}.mp-cv-job-body ul{columns:1}.mp-cv-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.mp-cv-v2-hero{padding-top:4.5rem}.mp-cv-v2-hero h1{font-size:clamp(2.6rem,13vw,4.1rem)}.mp-cv-v2-profile-grid{grid-template-columns:1fr}.mp-cv-v2-feature{grid-column:auto}.mp-cv-v2-statrow{grid-template-columns:1fr}.mp-cv-job{gap:1rem}.mp-cv-cert-grid{grid-template-columns:1fr}.mp-cv-cert-card img{height:auto;max-height:320px}.mp-cv-v2-close{border-radius:20px}}


/* v0.14.0 - light-on-accent blocks, CTA rhythm, footer social links */
.mp-cv-v2-close,
.mp-connect-box {
  color:#fff !important;
}
.mp-cv-v2-close h1,.mp-cv-v2-close h2,.mp-cv-v2-close h3,.mp-cv-v2-close h4,.mp-cv-v2-close p,.mp-cv-v2-close span,
.mp-connect-box h1,.mp-connect-box h2,.mp-connect-box h3,.mp-connect-box h4,.mp-connect-box p,.mp-connect-box span {
  color:#fff !important;
}
.mp-cv-v2-close > div,
.mp-connect-box .d-flex,
.mp-connect-box .mp-cta-row {
  display:flex;
  flex-wrap:wrap;
  gap:.9rem 1rem;
  align-items:center;
}
.mp-cv-v2-close .btn,
.mp-connect-box .btn {
  margin:0 !important;
}
.mp-cv-v2-close .btn-outline-dark,
.mp-connect-box .btn-outline-dark {
  border-color:#fff !important;
  color:#fff !important;
}
.mp-cv-v2-close .btn-outline-dark:hover,
.mp-connect-box .btn-outline-dark:hover {
  background:#fff !important;
  color:#141414 !important;
}
.mp-footer-social-links a {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.mp-footer-social-links a:hover {
  color:#fff !important;
  text-decoration:underline;
  text-underline-offset:5px;
}
@media(max-width:575.98px){
  .mp-cv-v2-close > div,
  .mp-connect-box .d-flex,
  .mp-connect-box .mp-cta-row {gap:.7rem;}
}

/* v0.15.0 - fixed multipane portfolio frame */
:root {
  --mp-frame-bg: #f4f0e5;
  --mp-frame-ink: #162b48;
  --mp-frame-red: #a53131;
  --mp-frame-line: rgba(165,49,49,.78);
  --mp-left-rail: 74px;
  --mp-right-rail: 90px;
  --mp-top-strip: 54px;
}

body.mp-multipane-theme {
  margin: 0;
  overflow: hidden;
  background: var(--mp-frame-bg);
  color: var(--mp-frame-ink);
  font-family: "Space Mono", "Courier New", ui-monospace, monospace;
}
.mp-multipane-theme * { box-sizing: border-box; }
.mp-multipane-theme a { color: inherit; }
.mp-multipane-theme a:hover { color: var(--mp-frame-red); }
.mp-desktop-frame { position: fixed; inset: 0; pointer-events: none; z-index: 1030; }
.mp-left-rail, .mp-right-rail, .mp-top-strip, .mp-mobile-menu { pointer-events: auto; }

.mp-left-rail {
  position: absolute; left: 0; top: 0; bottom: 0; width: var(--mp-left-rail);
  border-right: 1px solid var(--mp-frame-line); background: var(--mp-frame-bg);
  display: flex; flex-direction: column; align-items: stretch;
}
.mp-rail-favicon { height: var(--mp-top-strip); border-bottom: 1px solid var(--mp-frame-line); display: grid; place-items: center; overflow: hidden; }
.mp-rail-favicon img { width: 32px; height: 32px; object-fit: cover; border-radius: 50%; }
.mp-rail-nav { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.mp-rail-nav a { flex: 1; min-height: 76px; border-bottom: 1px solid var(--mp-frame-line); display: grid; place-items: center; overflow: hidden; }
.mp-rail-nav a span { writing-mode: vertical-rl; transform: rotate(180deg); text-transform: uppercase; letter-spacing: .13em; font-size: .68rem; font-weight: 700; }
.mp-rail-nav a:hover { background: rgba(255,255,255,.32); }
.mp-rail-links { flex: 0 0 auto; display: flex; flex-direction: column; }
.mp-rail-links a { min-height: 66px; border-bottom: 1px solid var(--mp-frame-line); display: grid; place-items: center; writing-mode: vertical-rl; transform: rotate(180deg); text-transform: uppercase; letter-spacing: .08em; font-size: .57rem; padding: 8px 0; }
.mp-rail-links a:first-child { min-height: 138px; text-transform: none; letter-spacing: .02em; }

.mp-top-strip {
  position: absolute; left: var(--mp-left-rail); right: var(--mp-right-rail); top: 0; height: var(--mp-top-strip);
  border-bottom: 1px solid var(--mp-frame-line); background: var(--mp-frame-bg); display: flex; align-items: center; gap: 3rem; padding: 0 22px;
}
.mp-strip-brand { text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; font-weight: 700; }
.mp-strip-brand span { color: var(--mp-frame-red); }
.mp-strip-note { color: var(--mp-frame-red); text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; }

.mp-right-rail {
  position: absolute; top: 0; right: 0; bottom: 0; width: var(--mp-right-rail);
  border-left: 1px solid var(--mp-frame-line); background: var(--mp-frame-bg); display: flex; flex-direction: column;
}
.mp-clock { height: 108px; border-bottom: 1px solid var(--mp-frame-line); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 8px; }
.mp-clock strong { font-size: .78rem; }
.mp-clock span { margin-top: 5px; color: var(--mp-frame-red); font-size: .53rem; line-height: 1.35; text-transform: uppercase; }
.mp-vault-link { flex: 1; min-height: 120px; display: flex; align-items: center; justify-content: flex-start; gap: 8px; writing-mode: vertical-rl; transform: rotate(180deg); border-bottom: 1px solid var(--mp-frame-line); padding: 18px 0; text-transform: uppercase; letter-spacing: .12em; }
.mp-vault-link span { font-size: .56rem; }
.mp-vault-link strong { font-size: .72rem; }
.mp-rail-style-note { min-height: 245px; display: flex; align-items: center; justify-content: center; gap: 11px; writing-mode: vertical-rl; transform: rotate(180deg); padding: 12px 0; }
.mp-rail-style-note span { text-transform: uppercase; font-size: .52rem; letter-spacing: .1em; }
.mp-rail-style-note span::after { content: " →"; color: var(--mp-frame-red); }

.mp-scroll-stage {
  position: fixed; left: var(--mp-left-rail); right: var(--mp-right-rail); top: var(--mp-top-strip); bottom: 0;
  overflow-y: auto; overflow-x: hidden; background: var(--mp-frame-bg); scrollbar-width: thin; scrollbar-color: var(--mp-frame-red) transparent;
}
.mp-scroll-stage::-webkit-scrollbar { width: 8px; }
.mp-scroll-stage::-webkit-scrollbar-thumb { background: var(--mp-frame-red); }
.mp-scroll-stage .site-main { min-height: calc(100vh - var(--mp-top-strip)); }
.mp-scroll-stage .container, .mp-scroll-stage .container-xxl { max-width: none; }

.mp-pane-home { border-left: 0; border-right: 0; }
.mp-pane { border-bottom: 1px solid var(--mp-frame-line); }
.mp-intro-pane { min-height: 300px; display: grid; grid-template-columns: minmax(180px, 27%) 1fr; }
.mp-portrait-cell { border-right: 1px solid var(--mp-frame-line); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 32px 22px; }
.mp-portrait-ring { width: clamp(116px, 14vw, 178px); aspect-ratio: 1; border: 1px solid var(--mp-frame-red); border-radius: 50%; padding: 9px; overflow: hidden; }
.mp-portrait-image { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.mp-portrait-cell > span { color: var(--mp-frame-red); text-transform: uppercase; letter-spacing: .14em; font-size: .58rem; }
.mp-intro-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 6vw, 82px); }
.mp-pane-kicker, .mp-pane-index { margin: 0 0 16px; color: var(--mp-frame-red); font-size: .62rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 700; }
.mp-intro-copy h1 { margin: 0 0 18px; text-transform: uppercase; font-size: clamp(2.15rem, 5.5vw, 5.5rem); line-height: .95; letter-spacing: -.055em; }
.mp-pane-lead { max-width: 900px; margin: 0; font-size: clamp(.9rem, 1.4vw, 1.1rem); line-height: 1.8; }
.mp-inline-actions { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 28px; }
.mp-inline-actions a, .mp-pane-cta, .mp-pane-bottom-cta a { color: var(--mp-frame-red); text-transform: uppercase; letter-spacing: .09em; font-size: .66rem; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 4px; }

.mp-projects-pane { display: grid; grid-template-columns: minmax(250px, 29%) 1fr; min-height: 470px; }
.mp-pane-sidecopy { border-right: 1px solid var(--mp-frame-line); padding: clamp(28px, 4vw, 54px); display: flex; flex-direction: column; align-items: flex-start; }
.mp-pane-sidecopy h2, .mp-blogs-head h2 { margin: 0; font-size: clamp(1.7rem, 3.8vw, 4.2rem); line-height: 1; letter-spacing: -.05em; text-transform: uppercase; }
.mp-pane-sidecopy h2 span, .mp-blogs-head h2 span { color: var(--mp-frame-red); }
.mp-pane-sidecopy p:not(.mp-pane-index) { max-width: 360px; margin: 28px 0 0; font-size: .78rem; line-height: 1.8; }
.mp-pane-sidecopy .mp-pane-cta { margin-top: auto; }
.mp-pane-content { min-width: 0; }
.mp-pane-heading { min-height: 68px; border-bottom: 1px solid var(--mp-frame-line); display: flex; gap: 15px; align-items: center; padding: 0 24px; text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; }
.mp-pane-heading span { color: var(--mp-frame-red); }
.mp-project-grid { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 400px; }
.mp-project-tile { border-right: 1px solid var(--mp-frame-line); min-width: 0; }
.mp-project-tile:last-child { border-right: 0; }
.mp-project-tile > a, .mp-project-placeholder { height: 100%; display: flex; flex-direction: column; padding: 24px; transition: background .2s ease; }
.mp-project-tile > a:hover { background: rgba(255,255,255,.32); color: var(--mp-frame-ink); }
.mp-project-thumb { aspect-ratio: 4/3; border: 1px solid var(--mp-frame-line); margin-bottom: 22px; overflow: hidden; display: grid; place-items: center; background: rgba(255,255,255,.22); }
.mp-project-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.75); transition: transform .3s ease; }
.mp-project-tile a:hover .mp-project-thumb img { transform: scale(1.025); }
.mp-project-thumb span { color: var(--mp-frame-red); font-size: 1.5rem; }
.mp-project-tile small { color: var(--mp-frame-red); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.mp-project-tile h3 { margin: 10px 0 12px; font-size: clamp(.98rem,1.4vw,1.25rem); line-height: 1.3; }
.mp-project-tile p { margin: 0; color: rgba(22,43,72,.75); font-size: .72rem; line-height: 1.7; }

.mp-blogs-pane { min-height: 720px; }
.mp-blogs-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; padding: clamp(34px,5vw,68px); border-bottom: 1px solid var(--mp-frame-line); align-items: end; }
.mp-blogs-head > p { max-width: 600px; margin: 0; justify-self: end; font-size: .8rem; line-height: 1.8; }
.mp-blog-nine { display: grid; grid-template-columns: repeat(3, 1fr); }
.mp-blog-nine-card { min-height: 250px; border-right: 1px solid var(--mp-frame-line); border-bottom: 1px solid var(--mp-frame-line); }
.mp-blog-nine-card:nth-child(3n) { border-right: 0; }
.mp-blog-nine-card > a { min-height: 250px; height: 100%; display: flex; flex-direction: column; padding: clamp(20px, 2.6vw, 34px); transition: background .2s ease; }
.mp-blog-nine-card > a:hover { background: rgba(255,255,255,.32); color: var(--mp-frame-ink); }
.mp-blog-nine-meta { display: flex; justify-content: space-between; gap: 15px; color: var(--mp-frame-red); text-transform: uppercase; letter-spacing: .08em; font-size: .54rem; }
.mp-blog-nine-card h3 { margin: 30px 0 14px; font-size: clamp(1rem,1.5vw,1.38rem); line-height: 1.34; }
.mp-blog-nine-card p { margin: 0 0 20px; color: rgba(22,43,72,.75); font-size: .72rem; line-height: 1.7; }
.mp-blog-nine-card strong { margin-top: auto; color: var(--mp-frame-red); text-transform: uppercase; font-size: .58rem; letter-spacing: .1em; }
.mp-empty-pane { grid-column: 1/-1; padding: 60px; }
.mp-pane-bottom-cta { min-height: 90px; display: flex; align-items: center; justify-content: flex-end; padding: 0 34px; }

.mp-contact-pane { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.mp-contact-pane > div { padding: clamp(34px, 5vw, 70px); }
.mp-contact-pane > div:first-child { border-right: 1px solid var(--mp-frame-line); }
.mp-contact-pane h2 { margin: 0; max-width: 680px; font-size: clamp(1.7rem,3.8vw,4.3rem); line-height: 1; letter-spacing: -.05em; }
.mp-contact-pane > div:last-child { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.mp-contact-pane p { max-width: 620px; font-size: .82rem; line-height: 1.85; }
.mp-contact-pane .mp-pane-cta { margin-top: 24px; }

.mp-frame-footer { min-height: 58px; border: 0; border-bottom: 1px solid var(--mp-frame-line); background: var(--mp-frame-bg); display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 13px 22px; color: var(--mp-frame-ink); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.mp-frame-footer-links { display: flex; gap: 18px; }

/* Carry the frame language across inner templates without rebuilding their content. */
.mp-scroll-stage .content-card, .mp-scroll-stage .product-card, .mp-scroll-stage .product-featured,
.mp-scroll-stage .mp-about-note, .mp-scroll-stage .mp-about-capability, .mp-scroll-stage .mp-cv-hero-card {
  border-radius: 0; box-shadow: none; border-color: var(--mp-frame-line); background: rgba(255,255,255,.24);
}
.mp-scroll-stage .site-footer:not(.mp-frame-footer) { background: var(--mp-frame-bg); }
.mp-scroll-stage .mp-btn, .mp-scroll-stage .btn, .mp-scroll-stage .skill-chip, .mp-scroll-stage .page-numbers { border-radius: 0; }

.mp-mobile-toggle { display: none; margin-left: auto; width: 42px; height: 42px; border: 1px solid var(--mp-frame-line); background: transparent; padding: 10px; }
.mp-mobile-toggle span { display: block; height: 1px; background: var(--mp-frame-ink); margin: 5px 0; }
.mp-mobile-menu { display: none; }

@media (max-width: 991.98px) {
  :root { --mp-left-rail: 0px; --mp-right-rail: 0px; --mp-top-strip: 62px; }
  body.mp-multipane-theme { overflow: hidden; }
  .mp-left-rail, .mp-right-rail { display: none; }
  .mp-top-strip { left: 0; right: 0; padding: 0 16px; gap: 1.2rem; }
  .mp-strip-note { display: none; }
  .mp-mobile-toggle { display: block; }
  .mp-mobile-menu { position: absolute; top: var(--mp-top-strip); left: 0; right: 0; background: var(--mp-frame-bg); border-bottom: 1px solid var(--mp-frame-line); padding: 12px 16px 18px; }
  .mp-mobile-menu:not([hidden]) { display: grid; grid-template-columns: repeat(2, 1fr); }
  .mp-mobile-menu a { padding: 14px 8px; border-bottom: 1px solid rgba(165,49,49,.35); text-transform: uppercase; font-size: .66rem; letter-spacing: .08em; }
  .mp-intro-pane, .mp-projects-pane, .mp-contact-pane { grid-template-columns: 1fr; }
  .mp-portrait-cell, .mp-pane-sidecopy, .mp-contact-pane > div:first-child { border-right: 0; border-bottom: 1px solid var(--mp-frame-line); }
  .mp-project-grid { grid-template-columns: 1fr; }
  .mp-project-tile { border-right: 0; border-bottom: 1px solid var(--mp-frame-line); }
  .mp-project-tile:last-child { border-bottom: 0; }
  .mp-pane-sidecopy .mp-pane-cta { margin-top: 36px; }
  .mp-blogs-head { grid-template-columns: 1fr; }
  .mp-blogs-head > p { justify-self: start; }
  .mp-blog-nine { grid-template-columns: repeat(2, 1fr); }
  .mp-blog-nine-card:nth-child(3n) { border-right: 1px solid var(--mp-frame-line); }
  .mp-blog-nine-card:nth-child(2n) { border-right: 0; }
}
@media (max-width: 575.98px) {
  .mp-intro-copy { padding: 34px 22px; }
  .mp-pane-sidecopy, .mp-blogs-head, .mp-contact-pane > div { padding: 30px 22px; }
  .mp-blog-nine { grid-template-columns: 1fr; }
  .mp-blog-nine-card, .mp-blog-nine-card:nth-child(3n), .mp-blog-nine-card:nth-child(2n) { border-right: 0; }
  .mp-frame-footer { align-items: flex-start; flex-direction: column; }
  .mp-frame-footer-links { flex-wrap: wrap; }
}

/* v0.15.1 - logged-in WordPress toolbar compatibility + original footer */
body.admin-bar #wpadminbar {
  position: fixed !important;
  top: 0;
}
body.admin-bar .mp-desktop-frame {
  top: 32px;
}
body.admin-bar .mp-scroll-stage {
  top: calc(var(--mp-top-strip) + 32px);
}

/* The restored pre-multipane footer keeps its original dark visual treatment. */
.mp-scroll-stage .site-footer:not(.mp-frame-footer) {
  background: #141414 !important;
  color: #fff !important;
}
.mp-scroll-stage .site-footer:not(.mp-frame-footer) h1,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) h2,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) h3,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) .mp-footer-label {
  color: #fff !important;
}
.mp-scroll-stage .site-footer:not(.mp-frame-footer) .mp-footer-copy,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) .mp-footer-links li,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) .mp-footer-links a,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) .mp-footer-timezones span,
.mp-scroll-stage .site-footer:not(.mp-frame-footer) .mp-footer-bottom {
  color: #d5cfca !important;
}

@media (max-width: 782px) {
  body.admin-bar .mp-desktop-frame {
    top: 46px;
  }
  body.admin-bar .mp-scroll-stage {
    top: calc(var(--mp-top-strip) + 46px);
  }
}

/* v0.15.2 - simplified top strip, Polylang utility, right drawer and rail CTAs */
.mp-top-strip { justify-content: flex-end; }
.mp-top-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; height: 100%; }
.mp-top-strip .language-switcher { margin: 0; }
.mp-top-strip .language-toggle {
  min-height: 34px; padding: 6px 10px; border: 1px solid var(--mp-frame-line); border-radius: 0;
  background: rgba(255,255,255,.18); color: var(--mp-frame-ink); font-family: inherit;
  font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.mp-top-strip .language-toggle:hover,
.mp-top-strip .language-toggle:focus { background: rgba(255,255,255,.5); color: var(--mp-frame-red); }
.mp-top-strip .language-switcher .dropdown-menu {
  margin-top: 8px !important; border: 1px solid var(--mp-frame-line); border-radius: 0;
  background: var(--mp-frame-bg); box-shadow: 8px 8px 0 rgba(22,43,72,.08) !important;
  padding: 6px; min-width: 170px;
}
.mp-top-strip .language-switcher .dropdown-item { border-radius: 0; font-family: inherit; font-size: .68rem; }
.mp-top-strip .language-switcher .dropdown-item:hover { background: rgba(165,49,49,.08); color: var(--mp-frame-red); }
.mp-top-strip .language-switcher .dropdown-item.active { background: var(--mp-frame-red); color: #fff; }

.mp-right-ctas { flex: 1; min-height: 0; display: grid; grid-template-rows: 1fr 1fr; }
.mp-right-cta {
  min-height: 120px; display: flex; align-items: center; justify-content: center; gap: 8px;
  writing-mode: vertical-rl; transform: rotate(180deg); padding: 18px 0; text-transform: uppercase;
  letter-spacing: .12em; transition: background .2s ease, color .2s ease;
}
.mp-right-cta + .mp-right-cta { border-top: 1px solid var(--mp-frame-line); }
.mp-right-cta span { font-size: .52rem; }
.mp-right-cta strong { font-size: .72rem; }
.mp-right-cta:hover { background: var(--mp-frame-ink); color: #fff !important; }

@media (max-width: 991.98px) {
  .mp-top-strip { padding: 0 12px 0 16px; }
  .mp-top-actions { gap: 8px; }
  .mp-mobile-toggle { position: relative; z-index: 3; transition: background .2s ease; }
  .mp-mobile-toggle span { transition: transform .25s ease, opacity .2s ease; transform-origin: center; }
  .mp-mobile-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .mp-mobile-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .mp-mobile-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  .mp-mobile-menu {
    position: absolute; top: var(--mp-top-strip); right: 0; left: auto; bottom: 0;
    width: min(88vw, 390px); min-height: calc(100vh - var(--mp-top-strip));
    background: var(--mp-frame-bg); border-left: 1px solid var(--mp-frame-line); border-bottom: 0;
    padding: 28px 24px 24px; box-shadow: -18px 0 45px rgba(22,43,72,.16);
    overflow-y: auto;
  }
  .mp-mobile-menu:not([hidden]) { display: flex; flex-direction: column; animation: mpDrawerIn .24s ease-out both; }
  .mp-mobile-menu > a {
    display: flex; align-items: center; min-height: 58px; padding: 12px 4px;
    border-bottom: 1px solid rgba(165,49,49,.32); font-size: .78rem; letter-spacing: .11em;
  }
  .mp-mobile-menu > a::after { content: "→"; margin-left: auto; color: var(--mp-frame-red); }
  .mp-mobile-menu-actions { margin-top: auto; padding-top: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .mp-mobile-menu-actions a {
    min-height: 76px; display: flex; align-items: center; justify-content: center; text-align: center;
    border: 1px solid var(--mp-frame-line); padding: 12px; color: var(--mp-frame-red);
    text-transform: uppercase; letter-spacing: .08em; font-size: .64rem; font-weight: 700;
  }
  .mp-mobile-menu-actions a:hover { background: var(--mp-frame-ink); color: #fff; }
}

@keyframes mpDrawerIn {
  from { transform: translateX(100%); opacity: .6; }
  to { transform: translateX(0); opacity: 1; }
}

@media (max-width: 575.98px) {
  .mp-top-strip .language-toggle { padding-left: 8px; padding-right: 8px; }
  .mp-mobile-menu { width: min(92vw, 360px); padding-left: 20px; padding-right: 20px; }
}

/* v0.15.3 - menu-managed navigation, visitor-local date, homepage featured portrait and unified blog archive */
.mp-clock { height: var(--mp-top-strip); min-height: var(--mp-top-strip); padding: 6px 4px; }
.mp-clock strong { color: var(--mp-frame-red); font-size: .56rem; line-height: 1.25; letter-spacing: .04em; text-transform: uppercase; }

/* Appearance > Menus now owns the primary rail and mobile navigation. */
.mp-rail-menu,
.mp-mobile-primary-menu,
.mp-mobile-primary-menu .sub-menu { list-style: none; margin: 0; padding: 0; }
.mp-rail-menu { height: 100%; display: flex; flex-direction: column; }
.mp-rail-menu > li { flex: 1; min-height: 76px; display: flex; }
.mp-rail-menu > li > a {
  flex: 1; min-height: 76px; border-bottom: 1px solid var(--mp-frame-line);
  display: grid; place-items: center; overflow: hidden; writing-mode: vertical-rl;
  transform: rotate(180deg); text-transform: uppercase; letter-spacing: .13em;
  font-size: .68rem; font-weight: 700; text-decoration: none;
}
.mp-rail-menu > li > a:hover,
.mp-rail-menu > li.current-menu-item > a,
.mp-rail-menu > li.current-menu-ancestor > a { background: rgba(255,255,255,.32); color: var(--mp-frame-red); }

/* Hero portrait comes from the homepage Page Featured Image. */
.mp-portrait-ring { width: clamp(140px, 18vw, 250px); }
.mp-portrait-image { object-position: center; }

/* Bootstrap/action buttons must remain legible inside the framed theme. */
body.mp-multipane-theme a.btn-dark,
body.mp-multipane-theme a.btn-primary,
body.mp-multipane-theme a.btn-danger,
body.mp-multipane-theme button.btn-dark,
body.mp-multipane-theme button.btn-primary,
body.mp-multipane-theme button.btn-danger { color: #fff !important; }
body.mp-multipane-theme a.btn-outline-light,
body.mp-multipane-theme button.btn-outline-light { color: #fff !important; }
body.mp-multipane-theme a.btn-dark:hover,
body.mp-multipane-theme a.btn-primary:hover,
body.mp-multipane-theme a.btn-danger:hover { color: #fff !important; }
body.mp-multipane-theme a.btn-outline-light:hover { color: #111 !important; }

/* The blog index/archive intentionally mirrors the homepage writing cards and never renders thumbnails. */
.mp-blog-archive-pane { min-height: calc(100vh - var(--mp-top-strip)); }
.mp-blog-archive-pane .mp-blogs-head h1 { margin: 0; font-size: clamp(1.7rem, 3.8vw, 4.2rem); line-height: 1; letter-spacing: -.05em; text-transform: uppercase; }
.mp-blog-archive-pane .mp-blogs-head h1 span { color: var(--mp-frame-red); }
.mp-blog-archive-pagination { min-height: 92px; padding: 20px 28px; display: flex; justify-content: flex-end; align-items: center; border-top: 1px solid var(--mp-frame-line); }
.mp-blog-archive-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.mp-blog-archive-pagination .page-numbers { min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--mp-frame-line); display: grid; place-items: center; text-decoration: none; font-size: .64rem; }
.mp-blog-archive-pagination .page-numbers.current,
.mp-blog-archive-pagination a.page-numbers:hover { background: var(--mp-frame-ink); color: #fff !important; }

@media (max-width: 991.98px) {
  .mp-mobile-menu-nav { width: 100%; }
  .mp-mobile-primary-menu > li { border-bottom: 1px solid rgba(165,49,49,.32); }
  .mp-mobile-primary-menu > li > a {
    min-height: 58px; display: flex; align-items: center; padding: 12px 4px;
    text-transform: uppercase; font-size: .78rem; letter-spacing: .11em; text-decoration: none;
  }
  .mp-mobile-primary-menu > li > a::after { content: "→"; margin-left: auto; color: var(--mp-frame-red); }
  .mp-mobile-primary-menu .sub-menu { padding: 0 0 12px 14px; }
  .mp-mobile-primary-menu .sub-menu a { display: block; padding: 8px 0; font-size: .68rem; text-decoration: none; }
  .mp-mobile-primary-menu .current-menu-item > a { color: var(--mp-frame-red); }
}

/* v0.15.4 - accessibility, CTA contrast and rail email */
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.screen-reader-text:focus{clip:auto!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;white-space:normal!important}
.mp-rail-links a.mp-rail-email{min-height:72px;writing-mode:horizontal-tb;transform:none;padding:0}
.mp-rail-email svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mp-rail-email:hover svg{stroke:var(--mp-frame-red)}
body.mp-multipane-theme .mp-connect-box a.btn-light,
body.mp-multipane-theme .mp-connect-box a.btn-light span,
body.mp-multipane-theme .mp-connect-box button.btn-light,
body.mp-multipane-theme .mp-connect-box button.btn-light span{color:#111!important}
body.mp-multipane-theme .mp-connect-box a.btn-light:hover,
body.mp-multipane-theme .mp-connect-box a.btn-light:hover span{color:#111!important}


/* v0.15.5 - complete the framed left-rail email cell */
.mp-rail-links a.mp-rail-email{border-top:1px solid var(--mp-frame-line);border-bottom:1px solid var(--mp-frame-line);display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}
.mp-rail-links a.mp-rail-email:hover{background:rgba(165,49,49,.045);color:var(--mp-frame-red)}

/* v0.15.6 - archive filters, readable metadata and editable views */
.mp-blog-filterbar,
.mp-product-archive-filters {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:18px clamp(20px,4vw,54px);
  border-bottom:1px solid var(--mp-frame-line);
}
.mp-blog-filterbar a,
.mp-product-archive-filters a {
  border:1px solid var(--mp-frame-line);
  padding:8px 12px;
  font-size:.58rem;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(255,255,255,.22);
}
.mp-blog-filterbar a:hover,
.mp-blog-filterbar a.is-active,
.mp-product-archive-filters a:hover,
.mp-product-archive-filters a.is-active {
  background:var(--mp-frame-ink);
  border-color:var(--mp-frame-ink);
  color:#fff !important;
}
.mp-card-stats {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px 16px;
  margin-top:auto;
  padding-top:18px;
  color:var(--mp-frame-red);
  font-size:.54rem;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mp-blog-nine-card .mp-card-stats + strong { margin-top:12px; }
.mp-products-archive-pane { min-height:calc(100vh - var(--mp-top-strip)); }
.mp-products-archive-head {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  padding:clamp(34px,5vw,68px);
  border-bottom:1px solid var(--mp-frame-line);
  align-items:end;
}
.mp-products-archive-head h1 {
  margin:0;
  font-size:clamp(1.7rem,3.8vw,4.2rem);
  line-height:1;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.mp-products-archive-head h1 span { color:var(--mp-frame-red); }
.mp-products-archive-head > p { max-width:600px; margin:0; justify-self:end; font-size:.8rem; line-height:1.8; }
.mp-project-archive-grid { min-height:0; border-bottom:1px solid var(--mp-frame-line); }
.mp-project-archive-grid .mp-project-tile { border-bottom:1px solid var(--mp-frame-line); }
.mp-project-archive-grid .mp-project-tile:nth-child(3n) { border-right:0; }
.mp-project-archive-grid .mp-project-tile > a { min-height:100%; }
.mp-project-archive-grid .mp-project-tile h2 { margin:10px 0 12px; font-size:clamp(.98rem,1.4vw,1.25rem); line-height:1.3; }
.mp-project-archive-meta { display:flex; justify-content:space-between; gap:12px; }
.mp-product-meta-row { flex-wrap:wrap; }
@media (max-width:900px) {
  .mp-products-archive-head { grid-template-columns:1fr; }
  .mp-products-archive-head > p { justify-self:start; }
  .mp-project-archive-grid { grid-template-columns:1fr; }
  .mp-project-archive-grid .mp-project-tile,
  .mp-project-archive-grid .mp-project-tile:nth-child(3n) { border-right:0; }
}


/* v0.15.7 - consistent two-tone editorial headings + compact social icon rail */
main h1.mp-two-tone-heading .mp-heading-accent,
main h2.mp-two-tone-heading .mp-heading-accent,
main h1.mp-two-tone-heading > span:not(.screen-reader-text),
main h2.mp-two-tone-heading > span:not(.screen-reader-text) { color:var(--mp-frame-red); }
.mp-home-intro h1,
.mp-home-intro h1 span { color:var(--mp-frame-ink) !important; }

.mp-rail-socials { border-top:1px solid var(--mp-frame-line); }
.mp-rail-socials a.mp-rail-icon,
.mp-rail-links a.mp-rail-icon {
  min-height:54px;
  height:54px;
  width:100%;
  padding:0;
  border:0;
  border-bottom:1px solid var(--mp-frame-line);
  display:flex;
  align-items:center;
  justify-content:center;
  writing-mode:horizontal-tb;
  transform:none;
  box-sizing:border-box;
  color:var(--mp-frame-ink);
}
.mp-rail-socials a.mp-rail-icon svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mp-rail-socials a.mp-rail-icon:hover { background:rgba(165,49,49,.045); color:var(--mp-frame-red); }

/* v0.15.8 - product hero contrast + third utility CTA */
.mp-product-hero h1,
.mp-product-hero h1.mp-two-tone-heading { color:#fff !important; }
.mp-product-hero h1.mp-two-tone-heading .mp-heading-accent,
.mp-product-hero h1.mp-two-tone-heading > span:not(.screen-reader-text) { color:#d96a6a !important; }
.mp-product-hero .mp-product-kind { color:#f0e8e3 !important; }
.mp-product-hero .mp-product-excerpt { color:#e5dfdb !important; }
.mp-product-hero .mp-product-badge { color:#fff !important; border-color:rgba(255,255,255,.5) !important; }
.mp-product-hero .mp-btn-outline { color:#fff !important; border-color:rgba(255,255,255,.7) !important; }
.mp-product-hero .mp-btn-outline:hover { background:#fff !important; color:#141414 !important; }
.mp-right-ctas { grid-template-rows:repeat(3,1fr); }


/* v0.15.12 - responsive header alignment, mobile submenu accordion, four-column product archive */
.mp-mobile-brand {
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  text-decoration: none;
}
.mp-mobile-brand img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: cover;
  border-radius: 0;
}

/* Product archives use four equal editorial columns on wide screens. */
.mp-project-archive-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mp-project-archive-grid .mp-project-tile,
.mp-project-archive-grid .mp-project-tile:nth-child(3n) {
  border-right: 1px solid var(--mp-frame-line);
}
.mp-project-archive-grid .mp-project-tile:nth-child(4n) {
  border-right: 0;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
  .mp-project-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mp-project-archive-grid .mp-project-tile,
  .mp-project-archive-grid .mp-project-tile:nth-child(4n) { border-right: 1px solid var(--mp-frame-line); }
  .mp-project-archive-grid .mp-project-tile:nth-child(3n) { border-right: 0; }
}

@media (max-width: 991.98px) {
  .mp-top-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px 0 12px;
  }
  .mp-mobile-brand { display: inline-flex; flex: 0 0 42px; }
  .mp-top-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 42px;
  }
  .mp-top-strip .language-switcher,
  .mp-top-strip .language-toggle,
  .mp-mobile-toggle { height: 42px; min-height: 42px; box-sizing: border-box; }
  .mp-top-strip .language-toggle { display: flex; align-items: center; justify-content: center; padding-top: 0; padding-bottom: 0; }
  .mp-mobile-toggle { margin: 0; display: grid; align-content: center; }

  .mp-mobile-primary-menu > li { position: relative; }
  .mp-mobile-primary-menu > li > a {
    color: var(--mp-frame-ink);
    font-weight: 700;
    padding-right: 48px;
    transition: color .18s ease, padding-left .18s ease;
  }
  .mp-mobile-primary-menu > li:not(.menu-item-has-children) > a::after {
    content: "→";
    margin-left: auto;
    border: 0;
    width: auto;
    height: auto;
    display: block;
  }
  .mp-mobile-primary-menu > li.menu-item-has-children > a::after { content: none; }
  .mp-mobile-submenu-toggle {
    position: absolute;
    top: 7px;
    right: 2px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(165,49,49,.42);
    background: transparent;
    color: var(--mp-frame-red);
    font: inherit;
    cursor: pointer;
    display: grid;
    place-items: center;
    z-index: 2;
  }
  .mp-mobile-submenu-toggle::before { content: "+"; font-size: 1rem; line-height: 1; }
  .mp-mobile-submenu-toggle[aria-expanded="true"]::before { content: "−"; }
  .mp-mobile-primary-menu .sub-menu {
    display: none;
    margin: 0 0 10px;
    padding: 5px 0 8px 14px;
    border-left: 1px solid var(--mp-frame-line);
    background: rgba(255,255,255,.24);
  }
  .mp-mobile-primary-menu li.mp-submenu-open > .sub-menu { display: block; }
  .mp-mobile-primary-menu .sub-menu li { border-bottom: 1px solid rgba(165,49,49,.16); }
  .mp-mobile-primary-menu .sub-menu li:last-child { border-bottom: 0; }
  .mp-mobile-primary-menu .sub-menu a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 10px;
    color: var(--mp-frame-ink);
    font-size: .67rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .mp-mobile-primary-menu .sub-menu a::before { content: "↳"; margin-right: 9px; color: var(--mp-frame-red); }
  .mp-mobile-primary-menu .sub-menu a:hover,
  .mp-mobile-primary-menu .sub-menu .current-menu-item > a { color: var(--mp-frame-red); background: rgba(165,49,49,.04); }

  .mp-project-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-project-archive-grid .mp-project-tile,
  .mp-project-archive-grid .mp-project-tile:nth-child(3n),
  .mp-project-archive-grid .mp-project-tile:nth-child(4n) { border-right: 1px solid var(--mp-frame-line); }
  .mp-project-archive-grid .mp-project-tile:nth-child(2n) { border-right: 0; }
}

@media (max-width: 575.98px) {
  .mp-project-archive-grid { grid-template-columns: 1fr; }
  .mp-project-archive-grid .mp-project-tile,
  .mp-project-archive-grid .mp-project-tile:nth-child(2n),
  .mp-project-archive-grid .mp-project-tile:nth-child(3n),
  .mp-project-archive-grid .mp-project-tile:nth-child(4n) { border-right: 0; }
}

/* v0.15.13 - precision mobile menu icon geometry */
@media (max-width: 991.98px) {
  .mp-mobile-toggle {
    position: relative;
    display: block;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    margin: 0;
    border: 1px solid var(--mp-frame-line);
    background: transparent;
    box-sizing: border-box;
  }
  .mp-mobile-toggle span {
    position: absolute;
    left: 11px;
    right: 11px;
    width: auto;
    height: 1px;
    margin: 0;
    background: var(--mp-frame-ink);
    transform-origin: 50% 50%;
    transition: transform .22s ease, opacity .16s ease;
  }
  .mp-mobile-toggle span:nth-child(1) { top: calc(50% - 6px); }
  .mp-mobile-toggle span:nth-child(2) { top: 50%; transform: translateY(-50%); }
  .mp-mobile-toggle span:nth-child(3) { top: calc(50% + 6px); }

  .mp-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .mp-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
    transform: translateY(-50%) scaleX(.4);
  }
  .mp-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
  }
}

/* v0.15.16 - Blog single reading rhythm */
.mp-article-hero{padding:clamp(3.5rem,6vw,6rem) 0 clamp(2.75rem,4.5vw,4.5rem)}
.mp-article-hero h1{margin:1rem 0 0;max-width:1050px}
.mp-article-hero p{margin:1.25rem 0 0}
.mp-article-featured{margin-top:2.25rem}
.mp-article-content{padding:clamp(2.75rem,5vw,4.75rem) 0 clamp(3.5rem,6vw,5.5rem);font-size:1.06rem;line-height:1.85}
.mp-article-content > :first-child{margin-top:0}
.mp-article-content > :last-child{margin-bottom:0}
.mp-article-content p,.mp-article-content ul,.mp-article-content ol,.mp-article-content table{margin-top:0;margin-bottom:1.35rem}
.mp-article-content h2{margin:2.25rem 0 1rem;font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.12}
.mp-article-content h3{margin:1.9rem 0 .85rem;font-size:1.55rem;line-height:1.2}
.mp-article-content h4{margin:1.6rem 0 .75rem}
.mp-article-content ul,.mp-article-content ol{padding-left:1.35rem}
.mp-article-content li+li{margin-top:.45rem}
.mp-article-content blockquote,.mp-article-content pre,.mp-article-content figure{margin:1.75rem 0}
.mp-article-footer{padding:1.4rem 0 3.5rem}
@media (max-width:767.98px){.mp-article-hero{padding:2.5rem 0 2.25rem}.mp-article-content{padding:2.25rem 0 3.25rem;font-size:1rem;line-height:1.78}.mp-article-content h2{margin-top:1.9rem}.mp-article-content h3{margin-top:1.6rem}}

/* v0.15.17 - Products use the same text-only listing language as blog cards. */
.mp-product-text-grid .mp-product-text-card { min-width:0; }
.mp-product-text-grid .mp-product-text-card .mp-card-stats { margin-top:auto; }
.mp-product-text-grid .mp-product-text-card strong { margin-top:14px; }

/* v0.15.19 - ACF-driven product checklist / info card */
.mp-product-price-card .mp-product-card-info > :first-child { margin-top: 0; }
.mp-product-price-card .mp-product-card-info > :last-child { margin-bottom: 0; }
.mp-product-price-card .mp-product-card-info h2,
.mp-product-price-card .mp-product-card-info h3,
.mp-product-price-card .mp-product-card-info h4 { font-family: inherit; font-size: 1.05rem; line-height: 1.3; margin: .35rem 0 .65rem; }
.mp-product-price-card .mp-product-card-info p { margin: 0 0 .75rem; }
.mp-product-card-actions { display: grid; gap: .55rem; margin-top: 1rem; }
.mp-product-card-actions a { margin: 0; }

/* v0.15.20 - polished product detail, full-width ACF gallery and visitor-facing evaluation */
.mp-product-overview{padding:clamp(4.5rem,7vw,7.5rem) 0}
.mp-product-overview .mp-product-content-intro{max-width:760px;font-size:.98rem;line-height:1.82}
.mp-product-content-intro h2{margin:2.15rem 0 .8rem;font-size:clamp(1.45rem,2vw,2rem);line-height:1.18}
.mp-product-content-intro h3{margin:1.7rem 0 .65rem;font-size:1.2rem;line-height:1.25}
.mp-product-content-intro p,.mp-product-content-intro ul,.mp-product-content-intro ol{margin:0 0 1.15rem}
.mp-product-content-intro li+li{margin-top:.32rem}
.mp-product-overview .col-lg-3{position:sticky;top:2rem}
.mp-product-checklist{box-shadow:0 16px 40px rgba(22,18,16,.035)}
.mp-product-checklist span{padding:.95rem 1.05rem;line-height:1.45}
.mp-product-price-card{margin-top:1.15rem;padding:1.55rem;text-align:left;box-shadow:0 16px 40px rgba(22,18,16,.035)}
.mp-product-price-card a{text-align:center}
.mp-product-benefits{margin-top:clamp(3.5rem,6vw,6rem)}
.mp-product-gallery{padding:clamp(4.5rem,7vw,7.5rem) 0;background:#171717;color:#fff;border-top:1px solid #2d2d2d}
.mp-product-gallery-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.mp-product-gallery-head h2{font-family:Arial,sans-serif;font-size:clamp(2.8rem,5.5vw,6rem);line-height:.95;letter-spacing:-.055em;margin:.7rem 0 0;color:#fff}
.mp-product-gallery-head h2 span{color:#d34a43}
.mp-product-gallery-head>p{margin:0;color:#c8c2bd;line-height:1.75;max-width:540px}
.mp-product-gallery-list{display:grid;gap:clamp(2rem,5vw,5rem)}
.mp-product-gallery-item{margin:0;background:#0e0e0e;border:1px solid #343434;padding:clamp(.45rem,1vw,.85rem)}
.mp-product-gallery-item a{display:block;overflow:hidden;background:#fff}
.mp-product-gallery-item img{display:block;width:100%;height:auto}
.mp-product-gallery-item figcaption{padding:.85rem .25rem .15rem;color:#aaa;font-size:.78rem;line-height:1.5}
.mp-product-evaluate{padding:clamp(4.5rem,7vw,7rem) 0!important}
.mp-product-evaluate h2 span{color:#a90000}
.mp-product-evaluate .col-lg-6:last-child{max-width:650px}
.mp-evaluate-link{display:inline-block;margin-top:1.35rem;padding-bottom:.25rem;border-bottom:1px solid currentColor;font-weight:700;color:#8f0000}
@media(max-width:991.98px){.mp-product-overview .col-lg-3{position:static}.mp-product-gallery-head{grid-template-columns:1fr}.mp-product-gallery-head>p{max-width:700px}}
@media(max-width:767.98px){.mp-product-overview,.mp-product-gallery,.mp-product-evaluate{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.mp-product-gallery-item{padding:.3rem}}


/* v0.15.21 - product content tables, evaluation spacing and hero detail cue */
.mp-product-content-intro table {
  width: 100%;
  margin: 1.65rem 0 2rem;
  border-collapse: collapse;
  border: 1px solid var(--mp-line);
  background: #fff;
  font-size: .88rem;
  line-height: 1.55;
}
.mp-product-content-intro table th,
.mp-product-content-intro table td {
  padding: .85rem 1rem;
  border-right: 1px solid var(--mp-line);
  border-bottom: 1px solid var(--mp-line);
  text-align: left;
  vertical-align: top;
}
.mp-product-content-intro table th:last-child,
.mp-product-content-intro table td:last-child { border-right: 0; }
.mp-product-content-intro table tr:last-child td { border-bottom: 0; }
.mp-product-content-intro table thead th {
  background: var(--mp-ink);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.mp-product-content-intro table tbody tr:nth-child(even) td { background: #faf7f2; }
.mp-product-content-intro table tbody tr:hover td { background: #f4eee8; }
.mp-product-content-intro table strong { color: var(--mp-ink); }

.mp-product-evaluate .mp-product-skills { margin-top: 1.5rem; }
.mp-product-evaluate .mp-evaluate-link {
  margin-top: 2rem;
  padding: .15rem 0 .32rem;
  line-height: 1.4;
}
.mp-product-evaluate .mp-product-skills + .mp-evaluate-link { margin-top: 2.15rem; }

@media (max-width: 767.98px) {
  .mp-product-content-intro table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  .mp-product-content-intro table th,
  .mp-product-content-intro table td { padding: .75rem .85rem; }
  .mp-product-evaluate .mp-evaluate-link { margin-top: 1.6rem; }
}


/* v0.15.24 - hierarchical blog category filters */
.mp-blog-child-filters{
  padding-top:12px;
  padding-bottom:12px;
  background:rgba(165,49,49,.035);
  border-top:0;
}
.mp-blog-filter-label{
  display:inline-flex;
  align-items:center;
  padding:8px 2px;
  margin-right:4px;
  color:var(--mp-frame-red);
  font-size:.56rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mp-blog-child-filters a{
  background:transparent;
}
@media (max-width:767px){
  .mp-blog-parent-filters,
  .mp-blog-child-filters{
    gap:6px;
    padding:12px 14px;
  }
  .mp-blog-filter-label{
    width:100%;
    padding:4px 0 7px;
  }
}


/* v0.15.25 - compact Feedback CTA beside the language switcher. */
.mp-header-feedback {
  height: 34px; min-height: 34px; box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 12px; border: 1px solid var(--mp-frame-line);
  background: var(--mp-frame-bg); color: var(--mp-frame-red);
  font-family: inherit; font-size: .62rem; font-weight: 700;
  letter-spacing: .1em; line-height: 1; text-transform: uppercase;
  text-decoration: none; white-space: nowrap;
  transition: background .18s ease, color .18s ease;
}
.mp-header-feedback:hover, .mp-header-feedback:focus {
  background: var(--mp-frame-ink); color: #fff;
}
.mp-header-studio {
  height:34px;min-height:34px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  padding:0 12px;border:1px solid var(--mp-frame-ink);background:var(--mp-frame-ink);color:#fff !important;
  font-family:inherit;font-size:.62rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease;
}
.mp-header-studio:hover,.mp-header-studio:focus{background:var(--mp-frame-bg);color:var(--mp-frame-ink) !important;transform:translateY(-1px)}
@media (max-width: 782px) {
  .mp-header-feedback,.mp-header-studio { height: 42px; min-height: 42px; padding: 0 9px; font-size: .56rem; }
}
@media (max-width: 420px) {
  .mp-top-actions { gap: 5px; }
  .mp-header-feedback,.mp-header-studio { padding-left: 7px; padding-right: 7px; letter-spacing: .06em; }
}


/* v0.15.27 - consistent dated metadata for posts and products. */
.mp-meta-inline {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:.35rem .55rem;
}
.mp-meta-inline > * {
  display:inline-flex;
  align-items:center;
}
.mp-meta-inline > * + *::before {
  content:"·";
  display:inline-block;
  margin-right:.55rem;
  color:currentColor;
  opacity:.65;
}
.mp-blog-nine-meta.mp-meta-inline {
  justify-content:flex-start;
  line-height:1.6;
}
.mp-blog-nine-card .mp-meta-inline + h3 { margin-top:24px; }
.mp-product-meta-row.mp-meta-inline { gap:.4rem .6rem; }
.mp-product-meta-row.mp-meta-inline > * + *::before { color:#9bb0b7; }
@media (max-width:575.98px) {
  .mp-meta-inline { gap:.25rem .45rem; }
  .mp-meta-inline > * + *::before { margin-right:.45rem; }
}

/* Product social proof / audience context */
.mp-product-clients{display:flex;align-items:flex-start;gap:1rem;margin:.85rem 0 2.5rem;padding:1rem 1.15rem;border:1px solid rgba(143,0,0,.22);background:rgba(143,0,0,.025);max-width:920px}
.mp-product-clients-label{flex:0 0 auto;font-size:.68rem;line-height:1.6;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8f0000;padding-top:.12rem}
.mp-product-clients-content{font-size:.86rem;line-height:1.7;color:#242424}
.mp-product-clients-content>*:last-child{margin-bottom:0}
.mp-product-clients-content p{margin:0}
.mp-product-clients-content ul,.mp-product-clients-content ol{margin:0;padding-left:1.2rem}
@media(max-width:575.98px){.mp-product-clients{display:block;margin-bottom:2rem}.mp-product-clients-label{display:block;margin-bottom:.45rem}}

/* v0.15.29 - product client placement and content tables */
.mp-product-overview .col-lg-4 .mp-product-clients{
  display:block;
  max-width:none;
  margin:2rem 0 0;
  padding:1rem;
  border:1px solid rgba(143,0,0,.22);
  background:rgba(143,0,0,.025);
}
.mp-product-overview .col-lg-4 .mp-product-clients-label{
  display:block;
  margin:0 0 .75rem;
  padding:0 0 .55rem;
  border-bottom:1px solid rgba(143,0,0,.18);
  font-size:.68rem;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8f0000;
}
.mp-product-single table{
  width:100%;
  margin:1.5rem 0 2rem;
  border-collapse:collapse;
  border-spacing:0;
  border:1px solid rgba(20,20,20,.16);
  background:#fff;
  font-size:.84rem;
  line-height:1.55;
}
.mp-product-single table th,
.mp-product-single table td{
  padding:.72rem .85rem;
  border:1px solid rgba(20,20,20,.13);
  text-align:left;
  vertical-align:top;
}
.mp-product-single table th{
  background:#151515;
  color:#fff;
  font-weight:700;
  letter-spacing:.045em;
}
.mp-product-single table tbody tr:nth-child(even) td{background:#faf8f3}
.mp-product-single table tbody tr:hover td{background:#f5eee8}
.mp-product-single table a{color:#8f0000;text-decoration:underline;text-underline-offset:3px}
.mp-product-clients-content{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.mp-product-clients-content table{
  min-width:100%;
  margin:.15rem 0 0;
  font-size:.74rem;
  line-height:1.4;
}
.mp-product-clients-content table th,
.mp-product-clients-content table td{padding:.48rem .55rem}
.mp-product-clients-content table th{background:#8f0000}
@media(max-width:767.98px){
  .mp-product-single table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .mp-product-overview .col-lg-4 .mp-product-clients{margin-top:1.5rem}
}


/* v0.15.30 - Keep the enquiry card intact; ACF product info gets its own matching card. */
.mp-product-info-card{margin-top:1.15rem;border:1px solid #d7ddda;background:#fff;padding:1.55rem;text-align:left;box-shadow:0 16px 40px rgba(22,18,16,.035)}
.mp-product-info-card .mp-product-card-info>:first-child{margin-top:0}
.mp-product-info-card .mp-product-card-info>:last-child{margin-bottom:0}
.mp-product-info-card .mp-product-card-info h2,.mp-product-info-card .mp-product-card-info h3,.mp-product-info-card .mp-product-card-info h4{font-family:inherit;font-size:1.05rem;line-height:1.3;margin:.35rem 0 .65rem}
.mp-product-info-card .mp-product-card-info p{margin:0 0 .75rem;color:#554f4b}
.mp-product-info-card .mp-product-card-actions{display:grid;gap:.55rem;margin-top:1rem}
.mp-product-info-card .mp-product-card-actions a{display:block;padding:.72rem;background:#8f0000;color:#fff!important;border:1px solid #8f0000;font-weight:900;font-size:.78rem;text-align:center;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.mp-product-info-card .mp-product-card-actions a:hover{background:#650000;border-color:#650000;color:#fff!important;transform:translateY(-1px)}


/* v0.15.32 - Keep the enquiry card visible while reading long product content on laptop/desktop screens. */
@media (min-width: 992px) {
  .mp-product-overview .col-lg-3 {
    position: relative;
  }
  .mp-product-price-card {
    position: sticky;
    top: 1rem;
    z-index: 4;
  }
}

@media (max-width: 991.98px) {
  .mp-product-price-card {
    position: static;
  }
}

/* ============================================================
   Studio page - v0.15.35
   ============================================================ */
.mp-studio-hero{border-bottom:1px solid #bd302f;background:#f8f5ec;overflow:hidden}
.mp-studio-hero-grid{min-height:650px;border-left:1px solid #bd302f;border-right:1px solid #bd302f}
.mp-studio-hero-copy{padding:clamp(4rem,8vw,8rem) clamp(2rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 82% 18%,rgba(177,0,0,.09),transparent 34%),#fff}
.mp-studio-kicker,.mp-studio-panel-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#a60000;margin:0 0 1.35rem}
.mp-studio-hero h1{font-size:clamp(3.1rem,6.2vw,7rem);line-height:.9;letter-spacing:-.06em;max-width:1050px;margin:0 0 2rem;color:#111}
.mp-studio-hero h1 span,.mp-studio-side-heading h2 span,.mp-studio-commercial h2 span,.mp-studio-final h2 span{color:#a90000}
.mp-studio-lead{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.8;max-width:880px;margin:0;color:#342f2b}
.mp-studio-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.5rem}
.mp-studio-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:205px;padding:1rem 1.15rem;border:1px solid #a90000;background:#fff;color:#102942 !important;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.mp-studio-btn-primary{background:#a90000;color:#fff !important}
.mp-studio-btn:hover,.mp-studio-btn:focus{background:#102942;border-color:#102942;color:#fff !important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,41,66,.16)}
.mp-studio-btn-primary:hover,.mp-studio-btn-primary:focus{background:#7f0000;border-color:#7f0000;color:#fff !important}
.mp-studio-hero-panel{padding:clamp(2rem,4vw,4rem);background:#102942;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.mp-studio-hero-panel .mp-studio-panel-label{color:#e8b9b7}
.mp-studio-availability{display:flex;gap:.7rem;align-items:center;padding:1rem 0 2rem;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:1rem}
.mp-studio-availability i{width:9px;height:9px;border-radius:50%;background:#8fd79e;box-shadow:0 0 0 5px rgba(143,215,158,.12)}
.mp-studio-availability strong{font-size:.82rem;letter-spacing:.04em}
.mp-studio-metric{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:end;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.15)}
.mp-studio-metric strong{font-family:Arial,sans-serif;font-size:3.2rem;line-height:.9;letter-spacing:-.06em}
.mp-studio-metric span{font-size:.78rem;line-height:1.55;color:rgba(255,255,255,.72)}
.mp-studio-strip{background:#efe9dc;border-bottom:1px solid #bd302f}
.mp-studio-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #bd302f}
.mp-studio-strip-grid>div{padding:1.4rem 1.5rem;border-right:1px solid #bd302f;display:grid;grid-template-columns:auto 1fr;column-gap:.8rem}
.mp-studio-strip-grid span{grid-row:1/3;color:#a90000;font-size:.65rem;font-weight:700}
.mp-studio-strip-grid strong{font-size:.84rem;color:#111}
.mp-studio-strip-grid small{display:block;margin-top:.35rem;line-height:1.55;color:#5b514b}
.mp-studio-section{padding:clamp(4rem,7vw,7.5rem) 0;border-bottom:1px solid #bd302f;background:#fff}
.mp-studio-process-section{background:#f5f0e6}
.mp-studio-side-heading{position:sticky;top:100px;align-self:flex-start}
.mp-studio-side-heading h2,.mp-studio-commercial h2,.mp-studio-final h2{font-family:Arial,sans-serif;font-size:clamp(2.4rem,4.3vw,4.8rem);line-height:.97;letter-spacing:-.055em;margin:1rem 0 1.4rem;color:#111}
.mp-studio-side-heading>p:last-child{max-width:390px;line-height:1.75;color:#5f514a}
.mp-studio-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #bd302f;border-left:1px solid #bd302f}
.mp-studio-service-grid article{min-height:310px;padding:2rem;border-right:1px solid #bd302f;border-bottom:1px solid #bd302f;display:flex;flex-direction:column;transition:.2s ease;background:#fff}
.mp-studio-service-grid article:hover{background:#fbf1ef;transform:translateY(-2px)}
.mp-studio-service-grid b{font-size:.7rem;color:#a90000;letter-spacing:.12em}
.mp-studio-service-grid h3{font-family:Arial,sans-serif;font-size:1.7rem;letter-spacing:-.035em;margin:2.4rem 0 1rem}
.mp-studio-service-grid p{line-height:1.7;color:#5c514a;margin:0}
.mp-studio-service-grid span{margin-top:auto;padding-top:1.8rem;color:#a90000;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.mp-studio-process{border-top:1px solid #bd302f}
.mp-studio-process article{display:grid;grid-template-columns:150px minmax(180px,1fr) 1.6fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid #bd302f;align-items:start}
.mp-studio-process article>span{color:#a90000;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.mp-studio-process h3{font-family:Arial,sans-serif;font-size:1.35rem;margin:0;color:#111}
.mp-studio-process p{margin:0;color:#62554e;line-height:1.75}
.mp-studio-commercial{padding:clamp(4rem,7vw,7rem) 0;background:#111;color:#fff;border-bottom:1px solid #bd302f}
.mp-studio-commercial-shell{border:1px solid rgba(255,255,255,.18);padding:clamp(2rem,4vw,4rem);background:linear-gradient(130deg,rgba(169,0,0,.2),transparent 42%)}
.mp-studio-commercial .mp-section-no{color:#e4aaa6}
.mp-studio-commercial h2{color:#fff;margin-bottom:0}
.mp-studio-commercial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.mp-studio-commercial-grid>div{padding:1.5rem;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.mp-studio-commercial-grid strong{display:block;margin-bottom:.7rem;color:#fff}
.mp-studio-commercial-grid p{margin:0;color:rgba(255,255,255,.68);line-height:1.65;font-size:.83rem}
.mp-studio-faq-section{padding:clamp(4rem,7vw,7rem) 0;background:#f8f5ec;border-bottom:1px solid #bd302f}
.mp-studio-faq-intro a{display:inline-flex;margin-top:1rem;color:#a90000;text-decoration:none;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em;font-weight:700;border-bottom:1px solid #a90000;padding-bottom:.35rem}
.mp-studio-faq-list{border-top:1px solid #bd302f}
.mp-studio-faq-list .faq-item{border-bottom:1px solid #bd302f;background:transparent}
.mp-studio-faq-list .faq-item button{width:100%;border:0;background:transparent;padding:1.45rem 0;display:grid;grid-template-columns:1fr 44px;gap:1rem;text-align:left;align-items:center;color:#111;font:inherit;cursor:pointer}
.mp-studio-faq-list .faq-item button span{font-family:Arial,sans-serif;font-size:clamp(1.05rem,1.6vw,1.35rem);letter-spacing:-.025em;font-weight:700}
.mp-studio-faq-list .faq-item button b{width:38px;height:38px;border:1px solid #bd302f;display:grid;place-items:center;color:#a90000;font-size:1.2rem;font-weight:400;transition:.2s ease}
.mp-studio-faq-list .faq-item.is-open button b{background:#a90000;color:#fff;transform:rotate(45deg)}
.mp-studio-faq-list .faq-answer{display:none;padding:0 4.4rem 1.6rem 0;max-width:850px}
.mp-studio-faq-list .faq-item.is-open .faq-answer{display:block}
.mp-studio-faq-list .faq-answer p{margin:0;line-height:1.8;color:#5c514b}
.mp-studio-final{padding:clamp(3rem,6vw,6rem) 0;background:#efe9dc}
.mp-studio-final-card{border:1px solid #bd302f;background:#fff;padding:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.mp-studio-final h2{max-width:900px;margin-top:.65rem;margin-bottom:1.25rem}
.mp-studio-final-card>div{align-self:center}.mp-studio-final-card>div>p:last-child{max-width:760px;line-height:1.75;color:#5d514a;margin-bottom:0}
.mp-studio-final-cta{min-height:130px;background:#a90000;color:#fff !important;text-decoration:none;padding:1.5rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.09em;font-weight:700;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;align-self:center}
.mp-studio-final-cta:hover,.mp-studio-final-cta:focus{background:#102942;color:#fff !important;transform:translateY(-3px);box-shadow:0 14px 30px rgba(16,41,66,.2)}

@media (max-width:1199.98px){
  .mp-studio-hero-grid{min-height:auto}
  .mp-studio-hero-panel{min-height:420px}
  .mp-studio-strip-grid{grid-template-columns:repeat(2,1fr)}
  .mp-studio-side-heading{position:static}
}
@media (max-width:767.98px){
  .mp-studio-hero-copy{padding:4rem 1.4rem}
  .mp-studio-hero h1{font-size:clamp(3rem,15vw,4.9rem)}
  .mp-studio-hero-panel{padding:2rem 1.4rem;min-height:auto}
  .mp-studio-metric{grid-template-columns:90px 1fr}
  .mp-studio-metric strong{font-size:2.5rem}
  .mp-studio-strip-grid,.mp-studio-service-grid,.mp-studio-commercial-grid,.mp-studio-final-card{grid-template-columns:1fr}
  .mp-studio-process article{grid-template-columns:1fr;gap:.65rem}
  .mp-studio-service-grid article{min-height:260px}
  .mp-studio-faq-list .faq-answer{padding-right:0}
  .mp-studio-final-cta{min-height:100px}
}

/* Studio recent products */
.mp-studio-recent-products{padding:clamp(3.5rem,7vw,7rem) 0;background:#fff;border-top:1px solid #bd302f}
.mp-studio-products-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.mp-studio-products-head h2{font-family:Arial,sans-serif;font-size:clamp(2.4rem,4.3vw,4.8rem);line-height:.97;letter-spacing:-.055em;margin:.7rem 0 0;color:#111;max-width:720px}
.mp-studio-products-head h2 span{color:#a90000}
.mp-studio-products-archive{border:1px solid #bd302f;padding:.9rem 1.15rem;color:#111!important;text-decoration:none;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.08em;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease}
.mp-studio-products-archive:hover,.mp-studio-products-archive:focus{background:#102942;color:#fff!important;transform:translateY(-2px)}
.mp-studio-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bd302f;border-left:1px solid #bd302f}
.mp-studio-product-grid .mp-product-text-card{border-right:1px solid #bd302f;border-bottom:1px solid #bd302f}
@media(max-width:1199.98px){.mp-studio-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.mp-studio-products-head{align-items:flex-start;flex-direction:column}.mp-studio-product-grid{grid-template-columns:1fr}.mp-studio-products-archive{width:100%;display:flex;justify-content:space-between}}

/* ==========================================================
   v0.16.0 - WooCommerce storefront integration
   ========================================================== */
.mp-header-commerce{
  position:relative;
  width:42px;
  height:42px;
  min-width:42px;
  border:1px solid var(--mp-frame-line);
  background:var(--mp-frame-bg);
  color:var(--mp-frame-ink)!important;
  display:grid;
  place-items:center;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .2s ease,border-color .2s ease;
}
.mp-header-commerce svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mp-header-commerce:hover,.mp-header-commerce:focus{background:#102942;color:#fff!important;border-color:#102942;transform:translateY(-1px)}
.mp-header-cart .mp-cart-count{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border:1px solid #fff;background:#8f0000;color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center;border-radius:20px}

.mp-product-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem}
.mp-product-card-price{font-weight:700;color:#8f0000;white-space:nowrap}
.mp-product-card-price del{opacity:.5;font-size:.82em}.mp-product-card-price ins{text-decoration:none}
.mp-product-hero-price{margin:1rem 0 0;color:#fff;font-size:clamp(1.35rem,2vw,2rem);font-weight:700}
.mp-product-hero-price del{opacity:.55;font-size:.72em}.mp-product-hero-price ins{text-decoration:none;color:#fff}

.mp-woo-product-tabs-section{padding:clamp(3rem,5vw,5.5rem) 0;border-bottom:1px solid #bd302f;background:#f7f2e8}
.mp-woo-product-tabs-section .woocommerce-tabs{margin:1.5rem 0 0!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:0;margin:0!important;padding:0!important;border-left:1px solid #bd302f;border-top:1px solid #bd302f;list-style:none!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs:before,.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li:before,.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li:after{display:none!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;border-right:1px solid #bd302f!important;border-bottom:1px solid #bd302f!important;border-radius:0!important;background:#fff!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li a{display:block;padding:1rem 1.25rem!important;color:#102942!important;text-transform:uppercase;font-size:.69rem!important;letter-spacing:.08em;font-weight:700!important;text-decoration:none!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li.active,.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li:hover{background:#102942!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li.active a,.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li:hover a{color:#fff!important}
.mp-woo-product-tabs-section .woocommerce-Tabs-panel{margin:0!important;padding:clamp(1.5rem,3vw,3rem)!important;border:1px solid #bd302f;border-top:0;background:#fff;color:#554f4b;line-height:1.8}
.mp-woo-product-tabs-section .woocommerce-Tabs-panel>h2:first-child{font-family:Arial,sans-serif;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em;color:#111;margin:0 0 1.3rem}
.mp-woo-product-tabs-section .woocommerce-Tabs-panel p:last-child{margin-bottom:0}
.mp-woo-product-tabs-section table{width:100%;border-collapse:collapse;margin:1.5rem 0;display:table}
.mp-woo-product-tabs-section th,.mp-woo-product-tabs-section td{border:1px solid #d9c6c0;padding:.9rem 1rem;text-align:left;vertical-align:top}
.mp-woo-product-tabs-section th{background:#102942;color:#fff;font-weight:700}
.mp-woo-product-tabs-section tr:nth-child(even) td{background:#fbf6ed}
.mp-product-description-jump{display:inline-flex;margin-top:.7rem;color:#8f0000!important;border-bottom:1px solid #8f0000;padding-bottom:.2rem;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;font-weight:700;text-decoration:none}

/* WooCommerce review UI inside the site's visual language. */
.mp-woo-product-tabs-section #reviews{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:clamp(2rem,4vw,4rem)}
.mp-woo-product-tabs-section #comments,.mp-woo-product-tabs-section #review_form_wrapper{float:none!important;width:auto!important}
.mp-woo-product-tabs-section .commentlist{padding:0!important;margin:0!important;list-style:none!important}
.mp-woo-product-tabs-section .commentlist li{padding:1.2rem 0!important;margin:0!important;border-bottom:1px solid #eadbd5!important}
.mp-woo-product-tabs-section .comment_container{display:grid;grid-template-columns:48px 1fr;gap:1rem}
.mp-woo-product-tabs-section .comment_container img.avatar{position:static!important;float:none!important;width:48px!important;height:48px!important;padding:0!important;border:0!important;border-radius:50%}
.mp-woo-product-tabs-section .comment-text{margin:0!important;border:0!important;border-radius:0!important;padding:0!important}
.mp-woo-product-tabs-section .star-rating{color:#8f0000}
.mp-woo-product-tabs-section #review_form{border:1px solid #bd302f;padding:1.4rem;background:#fbf6ed}
.mp-woo-product-tabs-section #review_form input[type="text"],.mp-woo-product-tabs-section #review_form input[type="email"],.mp-woo-product-tabs-section #review_form textarea{width:100%;border:1px solid #bd302f;background:#fff;padding:.8rem;color:#111;border-radius:0}
.mp-woo-product-tabs-section #review_form .submit{border:1px solid #8f0000!important;background:#8f0000!important;color:#fff!important;border-radius:0!important;padding:.85rem 1.2rem!important;text-transform:uppercase;font-size:.7rem!important;letter-spacing:.08em!important}
.mp-woo-product-tabs-section #review_form .submit:hover{background:#650000!important;border-color:#650000!important}

.mp-woo-buy-card{scroll-margin-top:110px;text-align:left!important}
.mp-woo-buy-card>strong{font-family:Arial,sans-serif!important;font-size:1.75rem!important;color:#111!important}
.mp-woo-buy-card>strong del{opacity:.5;font-size:.7em}.mp-woo-buy-card>strong ins{text-decoration:none}
.mp-woo-stock{margin:.7rem 0 1rem!important;color:#49704e!important}
.mp-woo-add-to-cart form.cart{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0!important}
.mp-woo-add-to-cart .quantity{float:none!important;margin:0!important}
.mp-woo-add-to-cart .qty{width:72px!important;height:46px;border:1px solid #bd302f!important;border-radius:0!important;padding:.5rem;text-align:center}
.mp-woo-add-to-cart .single_add_to_cart_button{min-height:46px!important;border:1px solid #8f0000!important;border-radius:0!important;background:#8f0000!important;color:#fff!important;padding:.75rem 1rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:.7rem!important;opacity:1!important;transition:background .2s ease,transform .2s ease}
.mp-woo-add-to-cart .single_add_to_cart_button:hover{background:#650000!important;transform:translateY(-1px)}
.mp-woo-add-to-cart table.variations{width:100%;margin:0 0 1rem;border-collapse:collapse}
.mp-woo-add-to-cart table.variations th,.mp-woo-add-to-cart table.variations td{display:block;width:100%;padding:.25rem 0;border:0;background:none}
.mp-woo-add-to-cart table.variations select{width:100%;border:1px solid #bd302f;background:#fff;padding:.7rem;border-radius:0}
.mp-woo-add-to-cart .reset_variations{display:inline-block;margin-top:.4rem;color:#8f0000!important;font-size:.7rem}
.mp-woo-add-to-cart .woocommerce-variation-price{font-size:1.2rem;font-weight:700;margin:.7rem 0}
.mp-digital-product-note{margin-top:1rem;padding:1rem;border:1px solid #bd302f;background:#fff8f4}
.mp-digital-product-note strong{display:block!important;font-family:inherit!important;font-size:.72rem!important;margin:0 0 .45rem!important;color:#8f0000!important;text-transform:uppercase;letter-spacing:.08em}
.mp-digital-product-note p{margin:0!important;color:#554f4b!important;font-size:.72rem!important;line-height:1.65!important}
.mp-woo-question-link{display:inline-block!important;margin-top:1rem!important;padding:0!important;background:transparent!important;color:#8f0000!important;text-align:left!important;border-bottom:1px solid #8f0000;font-size:.68rem!important;text-transform:uppercase;letter-spacing:.07em;text-decoration:none}
.mp-woo-question-link:hover{background:transparent!important;color:#650000!important;transform:none!important}

/* Woo notices, account and cart basics remain usable inside the multipane shell. */
.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{border:1px solid #bd302f;border-top:3px solid #8f0000;background:#fff;padding:1rem 1.2rem 1rem 3rem;color:#111}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:0;background:#102942;color:#fff;font-weight:700}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#8f0000;color:#fff}

@media(max-width:991.98px){
  .mp-woo-product-tabs-section #reviews{grid-template-columns:1fr}
  .mp-woo-buy-card{position:static!important;top:auto!important}
}
@media(max-width:767.98px){
  .mp-header-commerce{width:36px;height:42px;min-width:36px}
  .mp-header-commerce svg{width:16px;height:16px}
  .mp-header-cart .mp-cart-count{right:-3px;top:-5px;min-width:16px;height:16px;line-height:14px;font-size:8px}
  .mp-woo-product-tabs-section .woocommerce-tabs ul.tabs{display:grid;grid-template-columns:1fr}
  .mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li{border-right:1px solid #bd302f!important}
  .mp-product-card-footer{align-items:flex-start;flex-direction:column;gap:.45rem}
}

/* v0.16.3 - preserve the desktop frame on short laptops; compact only the social rail. */
@media (min-width: 992px) and (max-height: 760px) {
  .mp-rail-socials {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--mp-frame-line);
  }
  .mp-rail-socials a.mp-rail-icon,
  .mp-rail-links.mp-rail-socials a.mp-rail-icon {
    width: 100%;
    min-height: 36px;
    height: 36px;
    border-bottom: 1px solid var(--mp-frame-line);
  }
  .mp-rail-socials a.mp-rail-icon:nth-child(odd) {
    border-right: 1px solid var(--mp-frame-line);
  }
  .mp-rail-socials a.mp-rail-icon svg {
    width: 15px;
    height: 15px;
  }
  .mp-rail-nav a { min-height: 62px; }
  .mp-rail-nav a span { font-size: .62rem; letter-spacing: .1em; }
}

/* Very short desktop/laptop screens: social links are non-essential to navigation,
   so hide only them while retaining the full left/right frame and menu. */
@media (min-width: 992px) and (max-height: 620px) {
  .mp-rail-socials { display: none; }
  .mp-rail-nav a { min-height: 54px; }
}


/* v0.16.4 - WooCommerce long description/reviews belong after the visual product content. */
.mp-woo-product-tabs-bottom{padding:clamp(3rem,6vw,6rem) 0;border-top:1px solid var(--mp-border,#bd302f);background:#f8f5ec}
.mp-woo-tabs-heading{max-width:760px;margin:0 0 2rem;font-size:clamp(2rem,4vw,4rem);line-height:1}
.mp-woo-tabs-heading span{color:#a90000}
.mp-woo-product-tabs-bottom .woocommerce-tabs{margin:0}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel{padding-top:2rem}
.mp-woo-product-tabs-bottom #tab-description{max-width:100%}
.mp-woo-product-tabs-bottom #reviews{max-width:100%}

/* v0.16.6 - keep the homepage portrait and introduction beside each other on small screens. */
@media (max-width: 991.98px) {
  .mp-intro-pane {
    grid-template-columns: minmax(150px, 28%) minmax(0, 1fr);
    align-items: stretch;
  }
  .mp-portrait-cell {
    border-right: 1px solid var(--mp-frame-line);
    border-bottom: 0;
    padding: 24px 16px;
  }
  .mp-portrait-ring {
    width: clamp(112px, 18vw, 160px);
  }
  .mp-intro-copy {
    min-width: 0;
    padding: clamp(28px, 5vw, 48px);
  }
  .mp-intro-copy h1 {
    font-size: clamp(1.85rem, 5vw, 3.5rem);
  }
}
@media (max-width: 575.98px) {
  .mp-intro-pane {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 0;
  }
  .mp-portrait-cell {
    padding: 24px 10px;
    justify-content: flex-start;
  }
  .mp-portrait-ring {
    width: 92px;
    padding: 6px;
  }
  .mp-intro-copy {
    padding: 28px 16px;
  }
  .mp-pane-kicker {
    margin-bottom: 10px;
    font-size: .52rem;
    line-height: 1.55;
  }
  .mp-intro-copy h1 {
    margin-bottom: 13px;
    font-size: clamp(1.45rem, 7vw, 2rem);
    line-height: 1.02;
  }
  .mp-pane-lead {
    font-size: .72rem;
    line-height: 1.7;
  }
  .mp-inline-actions {
    gap: 14px;
    margin-top: 18px;
  }
  .mp-inline-actions a {
    font-size: .58rem;
  }
}

/* v0.16.7 - commercial product page polish */
.mp-product-single{background:#f8f5ec}
.mp-product-hero{padding:clamp(4rem,7vw,7rem) 0!important}
.mp-product-hero .row{--bs-gutter-x:clamp(2.5rem,6vw,6.5rem)}
.mp-product-device{border:1px solid rgba(255,255,255,.28);box-shadow:0 24px 60px rgba(0,0,0,.28);transform:rotate(-.65deg);transition:transform .3s ease,box-shadow .3s ease}
.mp-product-device:hover{transform:rotate(0) translateY(-4px);box-shadow:0 30px 70px rgba(0,0,0,.36)}
.mp-product-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.mp-product-actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

@media(min-width:992px){
  .mp-product-overview .row>.col-lg-4{width:25%}
  .mp-product-overview .row>.col-lg-5{width:50%}
  .mp-product-overview .row>.col-lg-3{width:25%}
}
.mp-product-overview{background:#fbf8f1}
.mp-product-overview .mp-product-content-intro{font-size:1rem;line-height:1.9;color:#504a46}
.mp-product-description-jump{display:inline-flex;margin-top:.8rem;padding-bottom:.22rem;border-bottom:1px solid #a90000;color:#8f0000!important;font-weight:700;text-decoration:none!important}
.mp-product-checklist{background:#fff;border:1px solid #d9c6c0;padding:1.1rem}
.mp-product-checklist span{display:block;padding:.68rem 0;border-bottom:1px solid #eee4dc;line-height:1.45}
.mp-product-checklist span:last-child{border-bottom:0}
.mp-product-info-card,.mp-product-price-card{box-shadow:0 14px 32px rgba(16,41,66,.07)}
.mp-product-benefits{margin-top:clamp(3rem,5vw,5rem);border-top:1px solid #d9c6c0;border-bottom:1px solid #d9c6c0}
.mp-product-benefits>div{padding:1.25rem 1rem}

.mp-product-gallery-head{border-bottom:1px solid #383838;padding-bottom:2rem}
.mp-product-gallery-item{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.mp-product-gallery-item:hover{transform:translateY(-3px);border-color:#6a6a6a;box-shadow:0 20px 50px rgba(0,0,0,.24)}

.mp-woo-product-tabs-bottom{padding:clamp(4rem,7vw,7rem) 0!important;background:#f4efe5!important}
.mp-woo-tabs-heading{max-width:900px;margin:.7rem 0 clamp(2rem,4vw,3.5rem)!important;font-family:Arial,sans-serif!important;font-weight:700;letter-spacing:-.055em}
.mp-woo-product-tabs-bottom .woocommerce-tabs{border:0;background:transparent}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs{border:0!important;border-bottom:1px solid #bd302f!important;gap:.35rem!important}
.mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li{border:1px solid #bd302f!important;border-bottom:0!important}
.mp-woo-product-tabs-section .woocommerce-Tabs-panel{border:1px solid #bd302f!important;padding:clamp(2rem,4vw,4.5rem)!important;box-shadow:0 18px 45px rgba(16,41,66,.06);font-size:.98rem;line-height:1.85}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description>*:not(table):not(figure):not(.wp-block-image){width:auto!important;max-width:980px!important}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description>h2,
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description>h3,
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description>h4{margin-top:2.5rem!important;margin-bottom:.8rem!important;color:#111;line-height:1.15}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description>h2:first-child{margin-top:0!important}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description ul,
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description ol{max-width:980px!important;padding-left:1.35rem}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description li{margin:.38rem 0}
.mp-woo-product-tabs-bottom .woocommerce-Tabs-panel--description table{max-width:1100px;margin:2rem 0!important}
.mp-woo-product-tabs-section #reviews{padding-top:.5rem}
.mp-woo-product-tabs-section #reviews h2{font-size:clamp(1.6rem,2.5vw,2.5rem)!important}

.mp-product-evaluate{background:#f8f5ec;border-top:0!important}
.mp-product-evaluate .container-xxl{border-top:1px solid #d9c6c0;padding-top:clamp(3rem,5vw,5rem);padding-bottom:clamp(3rem,5vw,5rem)}
.mp-evaluate-link{display:inline-flex;margin-top:1rem;padding:.8rem 1rem;border:1px solid #102942;background:#102942;color:#fff!important;text-decoration:none!important;transition:.2s ease}
.mp-evaluate-link:hover{background:#8f0000;border-color:#8f0000;transform:translateY(-2px)}

@media(max-width:767.98px){
  .mp-product-hero{padding:3rem 0!important}
  .mp-product-device{transform:none;margin-top:.5rem}
  .mp-product-actions .btn{flex:1 1 calc(50% - .5rem)}
  .mp-product-actions .btn:last-child{flex-basis:100%}
  .mp-woo-product-tabs-section .woocommerce-tabs ul.tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border:1px solid #bd302f!important;border-bottom:0!important}
  .mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li{border:0!important;border-right:1px solid #bd302f!important;border-bottom:1px solid #bd302f!important}
  .mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li:nth-child(even){border-right:0!important}
  .mp-woo-product-tabs-section .woocommerce-tabs ul.tabs li a{padding:.85rem .7rem!important;text-align:center}
  .mp-woo-product-tabs-section .woocommerce-Tabs-panel{padding:1.35rem!important;font-size:.9rem}
}

/* v0.16.9 - WooCommerce cart/checkout polish */
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-button:visited,
.woocommerce-cart a.checkout-button,
.woocommerce-cart a.checkout-button:visited{
  background:#102942!important;border:1px solid #102942!important;color:#fff!important;
  font-weight:700!important;text-decoration:none!important;opacity:1!important;
}
.woocommerce-cart .wc-block-cart__submit-button span,
.woocommerce-cart a.checkout-button{color:#fff!important}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart a.checkout-button:hover{background:#a90000!important;border-color:#a90000!important;color:#fff!important;transform:translateY(-2px)}

/* Use the unused desktop space as a calm purchase-assurance panel. */
@media(min-width:1280px){
  .woocommerce-cart .mp-scroll-stage main,
  .woocommerce-checkout .mp-scroll-stage main{position:relative}
  .woocommerce-cart .mp-scroll-stage main:after,
  .woocommerce-checkout .mp-scroll-stage main:after{
    display:block;position:absolute;right:24px;left:auto;top:155px;width:220px;box-sizing:border-box;
    padding:1.6rem;border:1px solid #bd302f;background:#f4efe5;color:#102942;
    font-family:"Space Mono",monospace;font-size:.72rem;line-height:1.75;white-space:pre-line;
    box-shadow:10px 10px 0 rgba(169,0,0,.06)
  }
  .woocommerce-cart .mp-scroll-stage main:after{content:"DIGITAL PURCHASE\A\AReview the product demo, screenshots and compatibility details before checkout. Digital files are made available after successful payment.\A\ANeed clarification? Use the contact page before purchasing."}
  .woocommerce-checkout .mp-scroll-stage main:after{content:"SECURE CHECKOUT\A\AYou are purchasing a digital product. Confirm the product details and your billing information before placing the order.\A\AYour order and downloads will remain available from your account where applicable."}
}
@media(max-width:1279.98px){
  .woocommerce-cart .mp-scroll-stage main:after,
  .woocommerce-checkout .mp-scroll-stage main:after{display:none}
}

/* v0.17.2 - WooCommerce product loop CTA contrast */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.button:visited,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .button:visited,
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .wp-block-button__link:visited,
.wc-block-components-product-button__button,
.wc-block-components-product-button__button:visited{
  background:#102942!important;
  border-color:#102942!important;
  color:#fff!important;
  opacity:1!important;
  text-decoration:none!important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product a.button:focus,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,
.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .wp-block-button__link:focus,
.wc-block-components-product-button__button:hover,
.wc-block-components-product-button__button:focus{
  background:#a90000!important;
  border-color:#a90000!important;
  color:#fff!important;
  opacity:1!important;
}
.woocommerce ul.products li.product a.button:focus-visible,
.wc-block-grid__product .wp-block-button__link:focus-visible,
.wc-block-components-product-button__button:focus-visible{
  outline:2px solid #a90000;
  outline-offset:3px;
}

/* v0.17.4 — editorial table treatment */
.mp-post-content table,
.entry-content table,
.single-post .mp-single-content table {
  width:100%;
  margin:1.75rem 0 2rem;
  border-collapse:collapse;
  border:1px solid var(--mp-red,#bd302f);
  background:#fff;
  font-size:.92rem;
  line-height:1.55;
}
.mp-post-content table caption,
.entry-content table caption,
.single-post .mp-single-content table caption {
  padding:.75rem 1rem;
  text-align:left;
  font-weight:700;
  color:var(--mp-frame-ink,#102942);
}
.mp-post-content table th,
.entry-content table th,
.single-post .mp-single-content table th {
  padding:.8rem 1rem;
  border:1px solid var(--mp-red,#bd302f);
  background:var(--mp-frame-ink,#102942);
  color:#fff;
  text-align:left;
  vertical-align:top;
  font-weight:700;
}
.mp-post-content table td,
.entry-content table td,
.single-post .mp-single-content table td {
  padding:.72rem 1rem;
  border:1px solid rgba(189,48,47,.32);
  color:#202020;
  vertical-align:top;
}
.mp-post-content table tbody tr:nth-child(even),
.entry-content table tbody tr:nth-child(even),
.single-post .mp-single-content table tbody tr:nth-child(even) { background:#f6f1e7; }
.mp-post-content table tbody tr:hover,
.entry-content table tbody tr:hover,
.single-post .mp-single-content table tbody tr:hover { background:#efe7d8; }
.mp-post-content table tbody td:first-child,
.entry-content table tbody td:first-child,
.single-post .mp-single-content table tbody td:first-child {
  font-weight:700;
  color:var(--mp-frame-ink,#102942);
}
.mp-post-content .wp-block-table,
.entry-content .wp-block-table,
.single-post .mp-single-content .wp-block-table {
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:1.75rem 0 2rem;
}
.mp-post-content .wp-block-table table,
.entry-content .wp-block-table table,
.single-post .mp-single-content .wp-block-table table { margin:0; min-width:620px; }
@media (max-width:767.98px) {
  .mp-post-content table,
  .entry-content table,
  .single-post .mp-single-content table { min-width:620px; font-size:.84rem; }
  .mp-post-content table th,.mp-post-content table td,
  .entry-content table th,.entry-content table td,
  .single-post .mp-single-content table th,.single-post .mp-single-content table td { padding:.65rem .75rem; }
}
