/* STAG adaptation: dark palette, thin bordered common boxes, persistent profile sidebar,
   content panels and blue accent. Content and base styles live in Elementor controls. */
@font-face{font-family:"DM Sans";src:url("../fonts/DM-Sans-Variable.ttf") format("truetype");font-style:normal;font-weight:100 1000;font-display:swap}
:root{color-scheme:dark;--rz-bg:#080b10;--rz-blue:#33b6ff;--rz-text:#f3f5f8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:25px}
body{margin:0;background:var(--rz-bg);color:var(--rz-text);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid #33b6ff;outline-offset:5px}
::selection{background:#33b6ff;color:#07111b}
.rz-skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;z-index:100000;background:#33b6ff;color:#07111b;border-radius:4px}
.rz-skip-link:focus{top:12px}
.rz-site .rz-sidebar{--position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:#354555 transparent}
.admin-bar .rz-site .rz-sidebar{top:56px;max-height:calc(100vh - 80px)}
.rz-main,.rz-main .e-con{min-width:0}
.rz-site :where(p,h1,h2,h3,h4,figure){margin:0}
.rz-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.rz-site :where(strong){color:#f3f5f8;font-weight:500}
.rz-site .elementor-heading-title{overflow-wrap:normal}
.rz-site .rz-main .elementor-button-text{white-space:normal}
.rz-site .rz-avatar{text-align:left}
.rz-site .rz-avatar img{width:78px;height:78px;object-fit:cover;object-position:50% 12%;border-radius:50%;border:1px solid #3c4c60}
.rz-nav{counter-reset:rznav}
.rz-nav .rz-nav-link{counter-increment:rznav}
.rz-nav .elementor-button{display:flex;width:100%;justify-content:flex-start;text-align:left;transition:box-shadow .2s,transform .2s}
.rz-nav .elementor-button-content-wrapper{width:100%}
.rz-nav .elementor-button-text{display:flex;align-items:center;gap:17px}
.rz-nav .elementor-button-text::before{content:counter(rznav,decimal-leading-zero);font-size:10px;opacity:.6;font-weight:400;letter-spacing:.04em}
.rz-nav .is-active .elementor-button{box-shadow:inset 2px 0 0 #33b6ff}
.rz-nav .elementor-button:hover{transform:translateX(3px)}
.rz-toolbar>.elementor-widget{width:auto;flex-grow:0}
.rz-toolbar .elementor-widget-text-editor{white-space:nowrap}
.rz-hero-title .elementor-heading-title{font-feature-settings:"ss01";text-wrap:balance}
.rz-hero-copy .rz-hero-intro{max-width:520px}
.rz-hero-copy .rz-hero-caption{margin-top:6px}
.rz-photo-card{overflow:hidden}
.rz-photo-card .rz-hero-portrait{flex:1;min-height:320px}
.rz-hero-portrait>.elementor-widget-container{height:100%}
.rz-hero-portrait img{display:block;height:100%;width:100%;object-fit:cover;object-position:53% 35%}
.rz-photo-caption{flex-shrink:0}
.rz-photo-caption .elementor-heading-title{font-size:10px}
.rz-project-card{overflow:hidden;transition:transform .25s,border-color .25s}
.rz-project-card:hover{transform:translateY(-4px);border-color:#466075}
.rz-project-image a{display:block;position:relative;cursor:zoom-in}
.rz-project-image a::after{content:"↗";display:grid;place-items:center;position:absolute;bottom:14px;right:14px;width:34px;height:34px;background:#080b10d9;color:#fff;border:1px solid #ffffff45;border-radius:50%;pointer-events:none}
.rz-project-image img{display:block;width:100%;height:300px;object-fit:cover;object-position:50% 35%}
.rz-expertise-row>.elementor-widget-heading{flex:0 0 34px;width:34px;margin-top:5px}
.rz-experience ul{margin:0;padding-left:18px;list-style:disc}
.rz-experience li{padding-left:3px;margin-bottom:6px}
.rz-experience li:last-child{margin-bottom:0}
.rz-book-strip>.elementor-widget-text-editor{flex:1}
.rz-book-strip>.elementor-widget-button{width:auto;flex:0 0 auto}
.rz-footer>.elementor-widget{width:auto;flex:0 1 auto}
.rz-contact a:hover{text-decoration:underline;text-underline-offset:4px}
.rz-contact .elementor-button:hover{text-decoration:none}
.rz-standard-page{max-width:900px;margin:70px auto;padding:24px}
.rz-standard-page h1{font-size:40px;line-height:1.2}
.rz-standard-page a{color:#33b6ff}
.rz-standard-page article{margin-bottom:36px}
.rz-lightbox{border:1px solid #354555;padding:0;background:#0b1119;color:white;max-width:min(94vw,1100px);max-height:94vh;border-radius:7px;box-shadow:0 25px 100px #000b}
.rz-lightbox::backdrop{background:#000d;backdrop-filter:blur(6px)}
.rz-lightbox figure{margin:0;padding:36px 26px 18px;text-align:center}
.rz-lightbox img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:auto}
.rz-lightbox figcaption{font-size:13px;color:#a4adba;padding-top:14px}
.rz-lightbox button{position:absolute;top:7px;right:8px;background:#1b2736;border:1px solid #354555;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font:24px/1 Arial,sans-serif}
body.rz-modal-open{overflow:hidden}
.elementor-editor-active .rz-site .rz-sidebar{--position:relative;top:auto;max-height:none;overflow:visible}
@media(min-width:1700px){.rz-site .rz-sidebar{min-height:calc(100vh - 48px)}}
@media(max-width:1199px) and (min-width:1025px){.rz-hero-title .elementor-heading-title{font-size:55px}}
@media(max-width:1024px){
 .rz-site .rz-sidebar{--position:relative;top:auto;max-height:none;overflow:visible}
 .rz-site .rz-sidebar>.e-con:first-child{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}
 .rz-sidebar .rz-avatar,.rz-sidebar .rz-side-role,.rz-sidebar .rz-side-note,.rz-sidebar .rz-location{display:none}
 .rz-sidebar>.e-con:first-child>.e-con:first-child{width:auto;margin-right:auto}
 .rz-sidebar>.e-con:first-child>.elementor-widget-heading{width:auto}
 .rz-sidebar .rz-nav{flex-direction:row;flex-wrap:wrap;gap:6px}
 .rz-nav .rz-nav-link{width:auto;flex-grow:0}
 .rz-nav .elementor-button-text{gap:8px}
 .rz-sidebar>.e-con:last-child{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}
 .rz-sidebar>.e-con:last-child>.elementor-widget,.rz-sidebar>.e-con:last-child>.e-con{width:auto}
 .admin-bar .rz-site .rz-sidebar{top:auto;max-height:none}
}
@media(max-width:767px){
 html{scroll-padding-top:16px}
 .rz-sidebar .rz-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
 .rz-nav .rz-nav-link{width:100%}
 .rz-nav .elementor-button-text{font-size:12px;gap:8px}
 .rz-nav .elementor-button{padding:10px 6px}
 .rz-sidebar>.e-con:first-child>.elementor-widget-heading .elementor-heading-title{font-size:18px}
 .rz-sidebar>.e-con:first-child>.elementor-widget-heading br{display:none}
 .rz-sidebar>.e-con:last-child>.e-con{display:none}
 .rz-toolbar .elementor-widget-heading{width:100%}
 .rz-toolbar .elementor-widget-text-editor{width:auto}
 .rz-hero-portrait img{height:390px;object-position:50% 30%}
 .rz-photo-card .rz-hero-portrait{min-height:0}
 .rz-project-image img{height:320px;object-fit:contain;background:#0d131b}
 .rz-expertise-row>.elementor-widget-heading{flex-basis:24px;width:24px}
 .rz-book-strip>.elementor-widget{width:100%;flex-basis:auto}
 .rz-project-card:hover{transform:none}
 .rz-lightbox figure{padding:38px 12px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:360px){.rz-sidebar .rz-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.rz-sidebar,.rz-toolbar,.rz-button,.rz-footer{display:none!important}.rz-site .e-con{max-width:100%;width:100%}.rz-site,.rz-main{display:block!important}body{background:white;color:black}.rz-site .elementor-heading-title,.rz-site .elementor-widget-text-editor{color:black!important}.rz-main>section{break-inside:avoid;margin-bottom:22px}}
