/* Shared header. Parent links and disclosure buttons are separate controls. */
:root{--rp-header-height:81px;--rp-bar-min:80px;--rp-ink:#191c20;--rp-muted:#65707a;--rp-line:#e0e4e8;--rp-accent:#285cc4}
.rp-header,.rp-header *{box-sizing:border-box}
body .rp-header{position:sticky;top:0;z-index:120;width:100%;background:var(--theme-bg,#fafaf9);border-bottom:1px solid var(--rp-line);font:500 14px/1.5 var(--editorial-font,"Manrope",sans-serif);color:var(--rp-ink);isolation:isolate}
.rp-header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 96px));min-height:var(--rp-bar-min);margin-inline:auto;gap:clamp(16px,1.5vw,24px)}
.rp-header a{color:inherit;text-decoration:none}
.rp-brand{display:flex;flex:0 0 auto;align-items:center;gap:11px;min-width:0;text-decoration:none;color:var(--rp-ink)}
.rp-brand img{display:block;width:40px;height:40px;flex:0 0 40px;object-fit:contain}
/* Keep the personal mark square without the rounded source-artwork frame. */
.rp-brand img[data-rp-logo]{border-radius:0!important;background:#1b1e22}
html[data-theme="light"] .rp-brand img[data-rp-logo]{filter:none}
html[data-theme="dark"] .rp-brand img[data-rp-logo]{background:#eaedf3;filter:none}
.rp-brand>span{display:block;font-size:14px;font-weight:700;letter-spacing:-.025em;line-height:1.4}
.rp-brand small{display:block;margin-top:3px;font-size:11px;color:var(--rp-muted);font-weight:500;letter-spacing:0}
.rp-navigation{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.7vw,28px);min-width:0;margin-left:auto}
.rp-nav-group{position:relative}
.rp-nav-trigger{display:flex;align-items:center;gap:0}
.rp-nav-parent,.rp-nav-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;white-space:nowrap;font-size:13px;color:var(--rp-muted)!important}
.rp-submenu-toggle{display:none!important}
.rp-nav-parent:hover,.rp-nav-link:hover,.rp-nav-group.is-open .rp-nav-parent,.rp-nav-group.is-current-section .rp-nav-parent{color:var(--rp-ink)!important}
.rp-nav-group.is-current-section:not(.rp-nav-ai) .rp-nav-parent{position:relative}
.rp-nav-group.is-current-section:not(.rp-nav-ai) .rp-nav-parent::after{display:none!important}
.rp-chevron{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .16s ease}
.rp-submenu-toggle[aria-expanded="true"] .rp-chevron,.rp-language[open]>summary>.rp-chevron{transform:rotate(180deg)}
.rp-nav-dropdown,.rp-language-options{position:absolute;top:calc(100% + 10px);min-width:232px;padding:8px;border:1px solid var(--rp-line);border-radius:8px;background:var(--theme-surface,#fff);box-shadow:var(--theme-shadow,0 12px 36px #17233612);z-index:5}
.rp-nav-dropdown{left:-17px;display:none}
.rp-nav-dropdown::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:14px}
.rp-nav-group.is-open>.rp-nav-dropdown{display:block}
.rp-header:not(.rp-enhanced) .rp-nav-group:is(:hover,:focus-within)>.rp-nav-dropdown{display:block}
.rp-nav-dropdown a{display:flex;align-items:center;min-height:43px;padding:10px 12px;border-radius:4px;font-size:13px;line-height:1.45;white-space:normal}
.rp-nav-dropdown a:hover,.rp-nav-dropdown a[aria-current="page"],.rp-language-options a:hover{background:var(--theme-hover,#f0f3f7);color:var(--rp-accent)}
.rp-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}
.rp-language{position:relative;margin:0;padding:0;border:0}
.rp-language>summary{display:flex;align-items:center;height:44px;gap:7px;padding:0 8px;font-size:12px;font-weight:650;list-style:none;cursor:pointer}
.rp-language>summary::-webkit-details-marker{display:none}
.rp-language>summary::marker{content:""}
.rp-language>summary::before,.rp-language>summary::after{display:none}
.rp-globe{width:17px;height:17px;flex:0 0 17px;stroke:currentColor;stroke-width:1.2;fill:none}
.rp-language-options{right:0;min-width:200px}
.rp-language-options a{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;padding:10px 12px;border-radius:4px;font-size:13px}
.rp-language-options a[aria-current="page"]{background:var(--theme-accent-soft,#edf3fd);color:var(--rp-accent);font-weight:700}
.rp-lang-code{color:var(--rp-muted);font-size:10px;letter-spacing:.06em}
.rp-language-options a[aria-current="page"] .rp-lang-code{color:var(--rp-accent)}
.rp-contact{display:inline-flex;align-items:center;justify-content:space-between;min-height:42px;gap:22px;padding:10px 16px;background:var(--theme-button,#20262d);color:var(--theme-button-text,#fff)!important;font-size:12px}
.rp-contact:hover{background:var(--theme-button-hover,#354252)}
.rp-contact>span{font-size:16px}
.rp-theme-toggle{display:grid;place-items:center;position:relative;flex:0 0 40px;width:40px;height:44px;padding:9px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--rp-ink);cursor:pointer}
.rp-theme-toggle:hover{background:var(--theme-hover,#f0f3f7);border-color:var(--rp-line)}
.rp-theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}
.rp-theme-toggle .rp-theme-sun{display:none}
html[data-theme="dark"] .rp-theme-toggle .rp-theme-sun{display:block}
html[data-theme="dark"] .rp-theme-toggle .rp-theme-moon{display:none}
.rp-menu-toggle,.rp-menu-backdrop,.rp-mobile-contact{display:none}
.rp-header :is(a,button,summary):focus-visible{outline:2px solid var(--rp-accent)!important;outline-offset:3px!important}
.rp-header [hidden]{display:none!important}
.rp-ai-label{display:inline-flex;align-items:center;justify-content:center;min-width:37px;min-height:29px;padding:3px 9px;border:0;background:var(--theme-accent-soft,#edf2fb);color:var(--rp-accent);font-size:12px;font-weight:750;line-height:1.5;letter-spacing:.025em}
.rp-nav-ai.is-open .rp-ai-label,.rp-nav-ai.is-current-section .rp-ai-label,.rp-nav-ai .rp-nav-parent:hover .rp-ai-label{border-color:var(--rp-accent)}
.rp-ai-dropdown{grid-template-columns:minmax(0,1fr);width:min(410px,calc(100vw - 48px));min-width:0;left:auto;right:-84px;gap:0;padding:16px}
.rp-nav-ai.is-open>.rp-ai-dropdown,.rp-header:not(.rp-enhanced) .rp-nav-ai:is(:hover,:focus-within)>.rp-ai-dropdown{display:grid}
.rp-ai-column{min-width:0;padding:0}
.rp-header .rp-ai-heading{margin:0 0 7px;padding:3px 12px 8px;color:var(--rp-muted);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.035em;text-transform:none}
.rp-ai-dropdown a{min-width:0;overflow-wrap:anywhere}
.rp-ai-dropdown a:first-of-type{color:var(--rp-ink)}
.rp-ai-dropdown a:hover,.rp-ai-dropdown a[aria-current="page"]{background:var(--theme-accent-soft,#edf2fb);color:var(--rp-accent)}
.rp-ai-dropdown a[aria-current="page"]:not(.rp-ai-projects-button){background:transparent;color:var(--rp-ink)}
.rp-ai-dropdown .rp-ai-projects-button{justify-content:space-between;gap:18px;margin:0 0 10px;padding-inline:15px;background:var(--theme-button,#20262d);color:var(--theme-button-text,#fff)!important;font-weight:700}
.rp-ai-dropdown .rp-ai-projects-button::after{content:"\2197";flex:0 0 auto;font-size:1.2em;font-weight:500;line-height:1}
.rp-ai-dropdown .rp-ai-projects-button:hover,.rp-ai-dropdown .rp-ai-projects-button[aria-current="page"]{background:var(--theme-button-hover,#354252);color:var(--theme-button-text,#fff)!important}
html{scroll-padding-top:calc(var(--rp-header-height) + 16px)}
body.light-theme :is(section[id],.ai-tool-entry[id],.guide-section[id]){scroll-margin-top:0}
.guide-page .guide-progress{z-index:121}
@media(min-width:1081px) and (max-width:1250px){
 .rp-header-inner{width:calc(100% - 96px);gap:18px}.rp-brand small{max-width:180px;font-size:10px}.rp-navigation{gap:16px}.rp-nav-parent,.rp-nav-link{font-size:12px}.rp-header-actions{gap:5px}.rp-contact{gap:14px;padding-inline:12px}
}
@media(min-width:1700px){.rp-header-inner{width:var(--desktop-content)}}
@media(max-width:1080px){
 :root{--rp-header-height:73px;--rp-bar-min:72px}
 .rp-header-inner{position:relative;width:calc(100% - 40px);flex-wrap:nowrap;gap:0 8px;padding-block:10px}
 .rp-brand{margin-right:auto;gap:7px}.rp-brand img{width:34px;height:34px;flex-basis:34px}.rp-brand>span{font-size:12.5px}.rp-brand small{font-size:9.5px;margin-top:2px}
 .rp-header-actions{gap:0;flex-shrink:0}.rp-header-actions>.rp-contact{display:none}.rp-theme-toggle{flex-basis:36px;width:36px;height:40px;padding:7px}.rp-theme-toggle svg{width:19px;height:19px}.rp-language>summary{height:40px;gap:4px;padding-inline:4px;font-size:11px}.rp-globe{width:16px;height:16px;flex-basis:16px}
 .rp-navigation{order:3;display:block;width:100%;margin:12px 0 0;padding:12px 0 20px;border-top:1px solid var(--rp-line)}
 .rp-nav-group{border-bottom:1px solid var(--rp-line)}
 .rp-nav-trigger{width:100%;justify-content:space-between;gap:8px}
 .rp-nav-parent,.rp-nav-link{min-height:56px;padding:14px 0;font-size:17px;font-weight:550;color:var(--rp-ink)!important}
 .rp-nav-parent{flex:1;white-space:normal}.rp-submenu-toggle{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--rp-line);border-radius:4px}
 .rp-nav-group.is-current-section:not(.rp-nav-ai) .rp-nav-parent::after{display:none}.rp-nav-group.is-current-section .rp-nav-parent{color:var(--rp-accent)!important}
 .rp-nav-dropdown{position:static;min-width:0;padding:0 0 12px;border:0;border-radius:0;box-shadow:none;background:transparent}.rp-nav-dropdown::before{display:none}
 .rp-nav-dropdown a{min-height:46px;padding:10px 14px;font-size:14px;color:var(--rp-muted)}
 .rp-nav-link{width:100%;border-bottom:1px solid var(--rp-line)}.rp-mobile-contact{display:flex;color:var(--rp-accent)!important}
 .rp-language-options{top:calc(100% + 12px);right:-2px;width:210px;max-width:calc(100vw - 40px)}
 .rp-header.rp-enhanced .rp-menu-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0;padding:8px;border:1px solid var(--rp-line);border-radius:6px;background:transparent;color:var(--rp-ink);cursor:pointer}
 .rp-menu-lines{position:relative;display:block;width:18px;height:12px}.rp-menu-lines::before,.rp-menu-lines::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .15s ease}.rp-menu-lines::before{top:2px}.rp-menu-lines::after{bottom:2px}
 .rp-menu-toggle[aria-expanded="true"] .rp-menu-lines::before{top:5px;transform:rotate(45deg)}.rp-menu-toggle[aria-expanded="true"] .rp-menu-lines::after{bottom:5.5px;transform:rotate(-45deg)}
 .rp-header.rp-enhanced .rp-navigation{display:none;position:absolute;top:100%;left:-20px;width:calc(100% + 40px);margin:0;padding:8px 20px max(24px,env(safe-area-inset-bottom));background:var(--theme-bg,#fafaf9);max-height:calc(100vh - var(--rp-header-height));max-height:calc(100dvh - var(--rp-header-height));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--rp-line);z-index:3}
 .rp-header.rp-menu-is-open{position:fixed;top:0;left:0;right:0}.rp-header.rp-menu-is-open .rp-navigation{display:block}.rp-header.rp-menu-is-open .rp-menu-backdrop{display:block;position:fixed;inset:var(--rp-header-height) 0 0;z-index:-1;background:#080e1980}.rp-header.rp-menu-is-open .rp-language{z-index:4}
 html.rp-menu-locked,html.rp-menu-locked body{overflow:hidden!important;overscroll-behavior:none}
 .rp-ai-label{min-width:42px;min-height:31px;font-size:14px}.rp-ai-dropdown{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;gap:0;padding:0 0 16px;border:0}.rp-header .rp-ai-heading{padding:3px 14px 4px;margin-bottom:4px;font-size:11px}.rp-ai-dropdown a{min-height:44px}.rp-ai-dropdown .rp-ai-projects-button{margin:4px 0 8px}
}
@media(min-width:1081px){
 .rp-brand{gap:14px}.rp-brand img{width:50px;height:50px;flex-basis:50px}.rp-brand>span{font-size:17.5px}.rp-brand small{margin-top:4px;font-size:13.75px}
 .rp-navigation{gap:clamp(15px,2.1vw,35px)}.rp-nav-parent,.rp-nav-link{min-height:55px;padding:12.5px 0;font-size:16.25px}.rp-submenu-toggle{width:37.5px;height:55px}.rp-chevron{width:17.5px;height:17.5px;flex-basis:17.5px}
 .rp-header-actions{gap:12.5px}.rp-language>summary{height:55px;gap:9px;padding-inline:10px;font-size:15px}.rp-globe{width:21px;height:21px;flex-basis:21px}.rp-theme-toggle{flex-basis:50px;width:50px;height:55px;padding:11px}.rp-theme-toggle svg{width:24px;height:24px}
 .rp-contact{min-height:52.5px;gap:27.5px;padding:12.5px 20px;font-size:15px}.rp-contact>span{font-size:20px}.rp-ai-label{min-width:46px;min-height:36px;padding:4px 11px;font-size:15px}.rp-nav-dropdown,.rp-language-options{min-width:290px;padding:10px}.rp-nav-dropdown a{min-height:54px;padding:12px 15px;font-size:16.25px}.rp-language-options a{min-height:55px;padding:12px 15px;font-size:16.25px}
}
@media(max-width:400px){.rp-header .rp-brand small{font-size:9px}.rp-header-actions{gap:2px}.rp-header .rp-globe{display:none}}
@media(max-width:359px){
 .rp-header-inner{width:calc(100% - 28px);gap:0 6px}.rp-header .rp-brand small{display:none}.rp-header .rp-brand>span{font-size:12px}.rp-header .rp-brand img{width:32px;height:32px;flex-basis:32px}.rp-header .rp-brand{gap:7px}.rp-header-actions{gap:2px}.rp-language>summary{gap:5px;padding-inline:4px}.rp-header.rp-enhanced .rp-navigation{left:-14px;width:calc(100% + 28px);padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){.rp-header *{transition:none!important}}
/* The homepage has a legacy universal “square corners” rule. Shared controls
   deliberately override it so all eighteen headers really are identical. */
body.light-theme .rp-header .rp-ai-label{border-radius:0!important}
body.light-theme .rp-header .rp-theme-toggle{border-radius:5px!important}
body.light-theme .rp-header :is(.rp-nav-dropdown,.rp-language-options){border-radius:8px!important;box-shadow:var(--theme-shadow,0 12px 36px #17233612)!important}
body.light-theme .rp-header :is(.rp-submenu-toggle,.rp-menu-toggle,.rp-nav-dropdown a,.rp-language-options a){border-radius:4px!important}
@media(max-width:1080px){body.light-theme .rp-header .rp-nav-dropdown{border-radius:0!important;box-shadow:none!important}}
