@font-face { font-family:"Promised Intro Light";src:url("../fonts/promised-intro-light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap; }
/* Reuse the site's preloaded full Roboto fonts, including Polish glyphs. */
@font-face { font-family:"Promised Menu";src:url("../fonts/Roboto-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap; }
@font-face { font-family:"Promised Menu";src:url("../fonts/Roboto-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap; }
/* The shared Atlas navigation style, in the Promised palette. */
body.project-banner-page .legacy-book-header,
body.project-banner-page #header-mob { display: none !important; }
#promised-menu, #promised-menu * { box-sizing: border-box; }
#promised-menu {
	--menu-accent: #810958;
	--menu-wordmark-width: 160px;
	/* Align the author's last letter with the A in LAND. */
	--menu-author-size: calc(var(--menu-wordmark-width) * .061081);
	--menu-book-height: calc(var(--menu-author-size) * 1.1 + var(--menu-wordmark-width) * .18131868 + 1px);
	--menu-logo-size: calc(var(--menu-book-height) - 2px);
	position: fixed; inset: 0 0 auto; z-index: 40;
	height: 73px; isolation:isolate;
	background: #f5f5f4; color: #222;
	font: 400 12px/24px "Roboto Regular", Arial, sans-serif;
}
#promised-menu::before { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("../images/promised-three-friends.webp") right var(--project-scene-y,0px) / var(--project-scene-width,100%) var(--project-scene-height,auto) no-repeat;opacity:calc(.44 * (1 - var(--project-collapse,0))); }
#promised-menu::after { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fff9 0%,#fff3 52%,transparent 100%);opacity:calc(1 - var(--project-collapse,0)); }
@media(max-width:600px) { #promised-menu::before { background-image:url("../images/promised-three-friends-mobile-v2.webp");background-size:166.667vw 166.667vw;background-position:right calc(342px - 166.667vw);opacity:calc(.42 * (1 - var(--project-collapse,0))); } }
#promised-menu .project-menu__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	width: 100%; max-width: 1280px; height: 100%; margin: auto; padding: 0 32px;
}
#promised-menu a { color: inherit; text-decoration: none; }
#promised-menu button { appearance: none; border: 0; border-radius: 0; margin: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; }
#promised-menu .project-menu__brand { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; }
/* A cropped high-resolution logo, aligned with the complete author/title block. */
#promised-menu .project-menu__logo { display: block; width: calc(var(--menu-logo-size) * 144 / 146); height: var(--menu-logo-size); margin-left: calc(var(--menu-logo-size) * .444444); object-fit: contain; }
#promised-menu .project-menu__book { display:flex;flex-direction:column;align-items:flex-start;gap:1px; }
#promised-menu .project-menu__author { display:block;white-space:nowrap;font:300 var(--menu-author-size)/1.1 "Promised Intro Light",Arial,sans-serif; }
#promised-menu .project-menu__wordmark { display: block; width: var(--menu-wordmark-width); height: auto; filter: none; }
#promised-menu .project-menu__panel { display: flex; align-items: center; gap: 14px; }
#promised-menu .project-menu__links { display: flex; align-items: center; }
#promised-menu .project-menu__link { position: relative; display: block; padding: 0 12px; white-space: nowrap; text-transform: uppercase; font: inherit; }
#promised-menu .project-menu__link::after {
	content: ""; position: absolute; left: 50%; bottom: -24px; width: 34px; height: 2px;
	background: var(--menu-accent); transform: translateX(-50%) scaleX(0); transition: transform .22s ease;
}
#promised-menu .project-menu__link:hover::after,
#promised-menu .project-menu__link:focus-visible::after,
#promised-menu .project-menu__link.is-current::after { transform: translateX(-50%) scaleX(1); }
#promised-menu .project-menu__tools { display: flex; align-items: center; gap: 10px; }
#promised-menu .project-menu__languages { display: flex; align-items: center; gap: 4px; color: #777; }
#promised-menu .project-menu__languages button { min-width: 24px; min-height: 36px; padding: 0; font-size: 11px; }
#promised-menu .project-menu__languages .active { color: #222; }
#promised-menu .project-menu__search { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 38px; padding: 0; }
#promised-menu .project-menu__toggle { display: none; }
#promised-menu a:focus-visible, #promised-menu button:focus-visible { outline: 1px solid var(--menu-accent); outline-offset: 4px; }
@media (min-width: 992px) and (max-width: 1199px) {
	#promised-menu .project-menu__inner { padding: 0 22px; gap: 12px; }
	#promised-menu { --menu-wordmark-width: 145px; }
	#promised-menu .project-menu__link { padding: 0 8px; font-size: 11px; }
	#promised-menu .project-menu__panel { gap: 8px; }
}
@media (max-width: 991px) {
	#promised-menu { height: 72px; --menu-wordmark-width: 150px; }
	#promised-menu .project-menu__inner { padding: 0 16px; gap: 12px; }
	#promised-menu .project-menu__toggle { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 40px; height: 44px; padding: 0; flex: 0 0 auto; }
	#promised-menu .project-menu__toggle span { display: block; width: 24px; height: 1px; background: currentColor; transition: transform .2s, opacity .2s; }
	#promised-menu.is-open .project-menu__toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	#promised-menu.is-open .project-menu__toggle span:nth-child(2) { opacity: 0; }
	#promised-menu.is-open .project-menu__toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	#promised-menu .project-menu__panel { display: none; position: absolute; top: 71px; left: 0; right: 0; max-height: calc(100dvh - 72px); overflow: auto; padding: 16px 20px 20px; background:linear-gradient(#faf9f6e8,#faf9f6e8),url("../images/promised-three-friends-mobile-v2.webp") right center / cover; border-bottom: 1px solid #e4e4e4; box-shadow: 0 8px 12px rgba(0,0,0,.025); }
	#promised-menu.is-open .project-menu__panel { display: block; }
	#promised-menu .project-menu__links { display: block; }
	#promised-menu .project-menu__link { width: fit-content; min-height: 36px; padding: 6px 0; }
	#promised-menu .project-menu__link::after { left: 0; bottom: 2px; transform: scaleX(0); transform-origin: left; }
	#promised-menu .project-menu__link:hover::after,
	#promised-menu .project-menu__link:focus-visible::after,
	#promised-menu .project-menu__link.is-current::after { transform: scaleX(1); }
	#promised-menu .project-menu__tools { margin-top: 15px; padding-top: 10px; border-top: 1px solid #eee; gap: 18px; }
}
@media (max-width: 359px) {
	#promised-menu .project-menu__inner { padding: 0 12px; }
	#promised-menu { --menu-wordmark-width: 135px; }
}
@media (prefers-reduced-motion: reduce) {
	#promised-menu .project-menu__link::after, #promised-menu .project-menu__toggle span { transition: none; }
}
/* The old mobile search closed through a tab that the new menu replaces. */
@media (max-width: 991px) {
	body.project-banner-page #search-mob .pop-close {
		display: block; position: fixed; top: 75px; right: 7px; left: auto; bottom: auto;
		width: 16px; height: 16px; box-sizing: content-box; padding: 8px; margin: 0;
		cursor: pointer;
	}
}

/* Desktop navigation shares the book's outer content margins. */
@media (min-width:992px) {
 #promised-menu .project-menu__inner { max-width:var(--book-width,1100px);padding:0 var(--book-gutter,32px); }
 #promised-menu .project-menu__logo { margin-left:0; }
}

/* The book title is in the illustration; navigation stays at the top right. */
body.project-banner-page #promised-menu .project-menu__brand { display:none; }
body.project-banner-page #promised-menu .project-menu__inner { justify-content:flex-end; }
body.project-banner-page #promised-menu::before {
 background-image:url("../images/promised-three-friends-panorama-v1.webp");
 background-size:var(--project-scene-width) var(--project-scene-height);
 background-position:var(--project-scene-x) var(--project-scene-y);
 opacity:calc(.30 * (1 - var(--project-collapse,0)));
}
body.project-banner-page #promised-menu::after { background:linear-gradient(90deg,#f5f5f4b0 0%,#f5f5f440 10%,transparent 35%); }

/* Keep the standalone project mark at the left of the navigation bar. */
body.project-banner-page #promised-menu .project-menu__brand { display:flex;justify-content:center;width:44px;height:44px;margin-right:auto; }
body.project-banner-page #promised-menu .project-menu__logo { width:36px;height:36px;margin-left:0; }
body.project-banner-page #promised-menu .project-menu__book { display:none; }

/* Share the banner's progress without changing the measured menu height. */
body.project-banner-page #promised-menu { transform:translateY(calc(-100% * var(--project-collapse,0))); }
body.project-banner-page #promised-menu.project-menu--folded { visibility:hidden;pointer-events:none; }

/* The three project sections stay in the header; the original links live behind Menu. */
#promised-menu .project-menu__inner,
body.project-banner-page #promised-menu .project-menu__inner { justify-content:flex-start; }
body.project-banner-page #promised-menu .project-menu__brand { margin-right:auto;flex:0 0 auto; }
#promised-menu .project-menu__sections {
 display:flex;align-items:center;gap:clamp(8px,3vw,28px);min-width:0;
 margin-left:clamp(9px,4vw,40px);margin-right:auto;position:relative;z-index:2;
 white-space:nowrap;font:400 clamp(12px,3.05vw,24px)/1.1 "Promised Menu","Roboto Regular",Arial,sans-serif;
}
#promised-menu .project-menu__section { padding:8px 0;white-space:nowrap;font:inherit;color:#424242; }
#promised-menu .project-menu__section[aria-current="page"] { color:#000;font-weight:700; }
#promised-menu .project-menu__separator { color:#666;font-size:1.15em;font-weight:300; }
#promised-menu .project-menu__toggle {
 position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:6px;width:42px;height:44px;padding:0;flex:0 0 auto;
}
#promised-menu .project-menu__toggle span { display:block;width:30px;height:1px;background:currentColor;transition:transform .2s,opacity .2s; }
#promised-menu.is-open .project-menu__toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
#promised-menu.is-open .project-menu__toggle span:nth-child(2) { opacity:0; }
#promised-menu.is-open .project-menu__toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
#promised-menu .project-menu__panel {
 display:none;position:absolute;left:auto;right:max(24px,calc((100vw - 1100px)/2 + 32px));top:100%;
 width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 73px);overflow:auto;
 padding:16px 20px;background:#faf9f7;border:1px solid #e4dce0;
 box-shadow:0 14px 30px rgba(37,17,28,.13);
}
#promised-menu.is-open .project-menu__panel { display:block; }
#promised-menu .project-menu__links { display:block; }
#promised-menu .project-menu__link { width:fit-content;min-height:36px;padding:6px 0; }
#promised-menu .project-menu__link::after { left:0;bottom:2px;transform:scaleX(0);transform-origin:left; }
#promised-menu .project-menu__link:hover::after,
#promised-menu .project-menu__link:focus-visible::after,
#promised-menu .project-menu__link.is-current::after { transform:scaleX(1); }
#promised-menu .project-menu__tools { margin-top:15px;padding-top:10px;border-top:1px solid #eee; }
@media (min-width:992px) {
 #promised-menu .project-menu__sections { margin-left:auto;margin-right:auto; }
}
@media (min-width:601px) and (max-width:991px) {
 #promised-menu { height:90px; }
 #promised-menu .project-menu__inner { padding:0 28px; }
 body.project-banner-page #promised-menu .project-menu__brand { width:54px;height:54px; }
 body.project-banner-page #promised-menu .project-menu__logo { width:50px;height:50px; }
 #promised-menu .project-menu__brand,
 #promised-menu .project-menu__sections,
 #promised-menu .project-menu__toggle { translate:0 7px; }
 #promised-menu .project-menu__panel { max-height:calc(100dvh - 90px); }
}
@media (max-width:600px) {
 #promised-menu .project-menu__sections { gap:clamp(6px,2vw,10px);margin-left:clamp(7px,3vw,16px);font-size:clamp(11px,3.1vw,14px); }
 #promised-menu .project-menu__toggle { width:32px;gap:5px; }
 #promised-menu .project-menu__toggle span { width:24px; }
 #promised-menu .project-menu__panel { left:0;right:0;width:auto;max-height:calc(100dvh - 72px); }
}
@media (max-width:359px) {
 #promised-menu .project-menu__inner { padding:0 10px; }
 #promised-menu .project-menu__sections { gap:4px;margin-left:6px;font-size:10px; }
}
@media (min-width:992px) {
 #promised-menu .project-menu__sections { gap:24px;font-size:17px; }
 #promised-menu .project-menu__toggle { width:36px; }
 #promised-menu .project-menu__toggle span { width:24px; }
}

/* A quiet direct action beside the existing menu, sharing its measured bar. */
#promised-menu .project-menu__rewrite {
 appearance:none;position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;
 flex:0 0 auto;width:auto;min-height:36px;margin:0;padding:4px 0;
 border:0;border-radius:0;background:transparent;color:var(--menu-accent,#810958);
 font:400 14px/1.2 "Promised Menu","Roboto Regular",Arial,sans-serif;
 letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;cursor:pointer;
}
#promised-menu .project-menu__rewrite:hover:not(:disabled) { text-decoration:underline;text-underline-offset:4px; }
#promised-menu .project-menu__rewrite:focus-visible { outline:2px solid var(--menu-accent,#810958);outline-offset:4px; }
#promised-menu .project-menu__rewrite:disabled { opacity:.45;cursor:default; }
#promised-menu .project-menu__rewrite[aria-busy="true"] { opacity:.6;cursor:wait; }
@media (max-width:600px) {
 #promised-menu .project-menu__rewrite { font-size:12px;min-height:36px; }
}
