/* Selected 01: Open horizon. Layout mirrors the chosen study. */
.navigation.open-horizon .pnz-signature::after{--h-light:#747d6b;background-image:linear-gradient(112deg,transparent 25%,var(--h-light) 49%,transparent 73%);background-size:300% 100%;animation:horizon-ink-light 10s ease-in-out infinite}
.navigation.open-horizon[data-tone=ink] .pnz-signature::after{--h-light:#b5c5ac}
@keyframes horizon-ink-light{0%,15%{background-position:140% 0}70%,100%{background-position:-40% 0}}
.header-wash{position:fixed;z-index:59;inset:0 0 auto;pointer-events:none}
.navigation.open-horizon{--h-ink:#29312b;--h-muted:#585b51;inset:22px var(--gutter) auto;height:60px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:clamp(24px,3vw,52px);color:var(--h-ink);pointer-events:none;transition:color .25s;isolation:auto}
.open-horizon[data-tone=ink]{--h-ink:#fcfaf2;--h-muted:#d6d8cd}
.open-horizon a,.open-horizon button{pointer-events:auto;color:inherit;font:13px/1.3 'DM Sans',sans-serif;min-height:44px;background:none;border:0;padding:0;display:flex;align-items:center;text-decoration:none}
.open-horizon .h-brand{justify-self:start;gap:18px}.open-horizon .pnz-signature{width:76px;flex:none}.open-horizon .pnz-signature::after{animation:none;background:var(--h-ink);transition:background .25s}.open-horizon .pnz-signature::before{background:transparent}
.open-horizon .h-index{display:flex;position:static;inset:auto;width:auto;align-items:center;gap:clamp(22px,2.5vw,40px);margin:0;padding:0;box-shadow:none;border:0;background:none}
.open-horizon .h-index a{position:relative;white-space:nowrap;padding:0;justify-content:initial}.open-horizon .h-index a::after{content:'';position:absolute;inset:auto 0 5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}.open-horizon .h-index a:hover::after,.open-horizon .h-index a[aria-current]::after{transform:scaleX(1)}
.open-horizon .h-contact{gap:clamp(16px,2vw,32px);justify-self:end;position:relative;white-space:nowrap}.open-horizon .h-contact::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;opacity:.45;transition:opacity .3s,transform .3s;transform-origin:left}.open-horizon .h-contact:hover::after{opacity:1;transform:scaleX(.78)}.open-horizon .h-arrow{display:inline-block;transition:transform .3s}.open-horizon .h-contact:hover .h-arrow{transform:translate(3px,-3px)}
.open-horizon .h-toggle{display:none;justify-self:end;width:44px;justify-content:center}.h-toggle i{display:block;width:17px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.open-menu{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;max-width:none;border:0;margin:0;padding:clamp(24px,5vw,76px);background:#f8f7f3;color:#29312b;z-index:1000}.open-menu::backdrop{background:#f8f7f3}.open-menu:not([open]){display:none}.open-menu-top{display:flex;align-items:center;justify-content:space-between}.open-menu .pnz-signature{width:76px}.open-menu .pnz-signature::after{background:#29312b;animation:none}.open-menu .pnz-signature::before{background:none}.open-menu-close{display:flex;gap:30px;align-items:center;padding:10px 0;min-height:44px;background:none;border:0;color:inherit;font:13px 'DM Sans',sans-serif}.open-menu-close span{font-size:24px}.open-menu-index{display:flex;flex-direction:column;align-items:stretch;width:min(780px,90%);margin:clamp(32px,8vh,100px) auto 30px}.open-menu-index a{display:flex;align-items:baseline;gap:clamp(20px,3vw,48px);color:inherit;font:400 clamp(32px,5.5vw,74px)/1.3 'DM Sans',sans-serif;letter-spacing:-.055em;padding:8px 0;border-bottom:1px solid #d8d3c8}.open-menu-index a span{font:12px 'DM Sans',sans-serif;letter-spacing:0;color:#9c5138}.open-menu-index a:last-child{font-family:'Instrument Serif',serif;font-style:italic;color:#914b32}.open-menu-index a:hover{color:#914b32}.open-menu-foot{font-size:12px;line-height:1.8;color:#736c60;margin:28px auto;max-width:780px}
.open-horizon a:focus-visible,.open-horizon button:focus-visible{outline:2px solid currentColor;outline-offset:6px}.open-menu a:focus-visible,.open-menu button:focus-visible{outline:2px solid #9c5138;outline-offset:4px}
.request-nav{position:relative;z-index:60;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.request-nav .pnz-signature::after{animation:none;background:#29312b}.request-nav .pnz-signature::before{background:transparent}
@media(max-width:1100px){.navigation.open-horizon{gap:24px}.open-horizon .h-contact{gap:16px}}
@media(max-width:760px){.navigation.open-horizon{inset:16px 23px auto;height:44px;grid-template-columns:1fr auto auto;gap:16px}.open-horizon .h-brand{grid-column:1;grid-row:1}.open-horizon .pnz-signature{width:58px}.open-horizon .h-index{display:none}.open-horizon .h-contact{grid-column:2;grid-row:1;font-size:11px;gap:13px}.open-horizon .h-toggle{display:flex;grid-column:3;grid-row:1}.open-menu{padding:20px 24px}.open-menu .pnz-signature{width:58px}.open-menu-index{width:100%;margin-top:44px}.open-menu-index a{font-size:clamp(28px,7.5vw,42px);padding:13px 0}.open-menu-foot{font-size:11px;margin-top:24px}}
@media(max-width:360px){.navigation.open-horizon{left:16px;right:16px;gap:10px}.open-horizon .h-contact{font-size:10px;gap:10px}}
@media(max-height:520px) and (min-width:761px){.navigation.open-horizon{top:12px}.open-menu{padding:18px 40px}.open-menu-index{margin:18px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:0 35px;width:100%}.open-menu-index a{font-size:30px}}
@media(prefers-reduced-motion:reduce){.open-horizon,.open-horizon *,.open-menu *{animation:none!important;transition:none!important}.open-horizon .h-contact:hover .h-arrow{transform:none}}

.navigation.open-horizon .pnz-signature[data-signature-paused]::after,body:has(dialog[open]) .navigation.open-horizon .pnz-signature::after{animation-play-state:paused}

body:has(>.request-nav)>.header-wash{position:absolute}

/* Approved Z 01: same P+, solid Z. Keep the chosen header sizes. */
.open-horizon .pnz-signature,.open-menu .pnz-signature,.request-nav .pnz-signature{mask-image:url('assets/logo-z/01.png');-webkit-mask-image:url('assets/logo-z/01.png')}
.open-horizon .pnz-signature::after,.open-menu .pnz-signature::after,.request-nav .pnz-signature::after{mask-image:url('assets/logo-z/01.png');-webkit-mask-image:url('assets/logo-z/01.png')}
