/* MR. MCKNIGHT — approved dark-editorial unavailable-page design. */
:root { color-scheme: dark; }
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; width: 100%; min-width: 0; }
html { background: #050505; }
body { background: #050505; color: #f6f4f0; font: 400 16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; overflow-x: clip; }
a { color: inherit; }
.mkm-wrap { padding: 16px; min-height: 100svh; background: #050505; }
.mkm-stage { isolation: isolate; position: relative; display: flex; flex-direction: column; min-height: calc(100svh - 32px); max-width: 1680px; margin-inline: auto; border: 1px solid #3e3d3b; border-radius: 13px; overflow: hidden; background: #030303; }
.mkm-stage__photo { position: absolute; z-index: -2; top: 0; right: 0; width: 58%; height: 100%; pointer-events: none; overflow: hidden; }
.mkm-stage__photo img { display:block; width:100%; height:100%; object-fit: cover; object-position: 53% 54%; }
.mkm-stage::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(90deg,#020202 0%,#020202 27%,rgba(2,2,2,.92) 37%,rgba(2,2,2,.45) 58%,rgba(2,2,2,.02) 88%); }
.mkm-header { min-height: 91px; display: flex; align-items: center; justify-content: space-between; gap: 42px; padding: 0 clamp(32px,4.9vw,80px); position: relative; z-index: 3; }
.mkm-wordmark { font: 500 clamp(19px,1.6vw,25px)/1.1 Georgia, "Times New Roman", serif; letter-spacing: .075em; color:#f8f7f4; white-space:nowrap; }
.mkm-primary-nav { display:flex; align-items:center; gap:clamp(24px,3.6vw,65px); min-width:0; }
.mkm-primary-nav a, .mkm-primary-nav span { font-size:clamp(13px,1.04vw,16px); text-decoration:none; white-space:nowrap; }
.mkm-primary-nav span { color:#b5b5b5; cursor:default; }
.mkm-primary-nav a { color:#f5f5f5; font-weight:600; padding:16px 0 14px; border-bottom:2px solid #eae9e7; }
.mkm-primary-nav a:hover { color:#fff; border-bottom-color:#fff; }
.mkm-primary-nav a:focus-visible, .mkm-menu summary:focus-visible, .mkm-menu a:focus-visible { outline:2px solid #e1cab5; outline-offset:5px; }
.mkm-menu { display:none; }
.mkm-main { flex:1 0 auto; width:min(100%, 650px); padding:clamp(65px,8vh,120px) 0 0 clamp(32px,8vw,130px); position:relative; z-index:2; }
.mkm-eyebrow { font-weight:500; font-size:clamp(12px,1.12vw,16px); text-transform:uppercase; letter-spacing:.26em; color:#cbb9a9; line-height:1.5; margin:0 0 25px; }
.mkm-main h1 { font-family: "Bodoni MT", Didot, "Times New Roman", Georgia, serif; font-weight:400; font-size:clamp(68px,7.5vw,114px); line-height:.91; letter-spacing:-.04em; margin:0 0 30px; color:#fbfaf7; text-wrap:balance; }
.mkm-description { max-width:530px; color:#efeded; font-size:clamp(16px,1.45vw,21px); line-height:1.45; margin:0 0 39px; }
.mkm-rule { border:0; height:1px; width:100%; background:#b3a08e; opacity:.78; margin:0 0 31px; }
.mkm-feature-list { display:grid; gap:27px; list-style:none; padding:0; margin:0; }
.mkm-feature { display:grid; grid-template-columns:50px minmax(0,1fr); gap:18px; align-items:center; }
.mkm-lock { color:#d0bca9; display:flex; align-items:center; justify-content:center; }
.mkm-feature strong, .mkm-feature em { display:block; font-style:normal; }
.mkm-feature strong { color:#f6f4f0; font-size:clamp(16px,1.3vw,19px); font-weight:400; }
.mkm-feature em { margin-top:1px; color:#beb9b5; font-size:clamp(15px,1.15vw,18px); }
.mkm-footer { position:relative; z-index:2; padding:44px clamp(32px,5vw,80px) 48px; color:#bebbbe; text-transform:uppercase; letter-spacing:.27em; font-size:clamp(10px,.9vw,13px); line-height:1.85; }
.mkm-footer p { margin:0; }
@media(max-width:1100px) {
 .mkm-header { padding-inline:clamp(30px,5vw,60px); gap:30px; }
 .mkm-primary-nav { gap:clamp(16px,2vw,35px); }
 .mkm-main { padding-left:clamp(45px,8vw,93px); width:min(100%, 600px); padding-top:clamp(110px,13vh,195px); }
 .mkm-stage__photo { width:60%; }
 .mkm-footer { padding-left:clamp(30px,5vw,70px); padding-bottom:55px; }
}
/* Height-aware composition: keep footer and frame in view on common laptop displays.
   The stage can still grow naturally and the document scrolls on exceptionally short screens. */
@media (min-width: 701px) and (max-height: 960px) {
 .mkm-main { padding-top:clamp(28px,5vh,55px); }
 .mkm-eyebrow { margin-bottom:clamp(12px,1.8vh,19px); }
 .mkm-main h1 { font-size:clamp(64px,min(7.5vw,11vh),104px); margin-bottom:clamp(12px,2vh,20px); }
 .mkm-description { margin-bottom:clamp(18px,2.7vh,27px); }
 .mkm-rule { margin-bottom:clamp(16px,2.2vh,22px); }
 .mkm-feature-list { gap:clamp(12px,2vh,20px); }
 .mkm-footer { padding-top:clamp(24px,3.4vh,32px); padding-bottom:clamp(24px,3.4vh,32px); }
}
@media (min-width: 701px) and (max-height: 760px) {
 .mkm-header { min-height:74px; }
 .mkm-main { padding-top:clamp(24px,4vh,38px); }
 .mkm-main h1 { font-size:clamp(59px,min(7vw,10vh),85px); }
 .mkm-feature-list { gap:12px; }
 .mkm-footer { padding-top:20px; padding-bottom:20px; }
}
@media(max-width:850px) {
 .mkm-primary-nav { display:none; }
 .mkm-menu { display:block;position:relative; }
 .mkm-menu summary { display:flex; align-items:center; justify-content:center; width:44px; height:44px; cursor:pointer; list-style:none; }
 .mkm-menu summary::-webkit-details-marker { display:none; }
 .mkm-menu-icon, .mkm-menu-icon::before, .mkm-menu-icon::after { display:block; width:27px; height:2px; border-radius:1px; background:#fff; position:relative; transition:transform .2s ease; }
 .mkm-menu-icon::before,.mkm-menu-icon::after { content:""; position:absolute; left:0; }
 .mkm-menu-icon::before { top:-9px; }
 .mkm-menu-icon::after { top:9px; }
 .mkm-menu[open] .mkm-menu-icon { background:transparent; }
 .mkm-menu[open] .mkm-menu-icon::before { top:0; transform:rotate(45deg); }
 .mkm-menu[open] .mkm-menu-icon::after { top:0; transform:rotate(-45deg); }
 .mkm-menu-list { position:absolute; right:-12px; top:56px; width:min(83vw,310px); border:1px solid #504d48; border-radius:10px; background:rgba(10,10,10,.98); box-shadow:0 18px 38px #000b; padding:16px 18px; display:grid; gap:4px; }
 .mkm-menu-list span,.mkm-menu-list a { display:block; padding:13px 8px; text-decoration:none; border-bottom:1px solid #2c2c2c; font-size:16px; }
 .mkm-menu-list span { color:#a8a8a8; }
 .mkm-menu-list a { color:#fff; }
 .mkm-menu-list small { display:block; color:#c4b6a7; font-size:12px; }
}
@media(max-width:700px) {
 .mkm-wrap { padding:0; }
 .mkm-stage { border:0; border-radius:0; min-height:100svh; width:100%; max-width:100%; }
 .mkm-stage__photo { width:71%; top:0; bottom:0; height:100%; opacity:.94; }
 .mkm-stage__photo img { object-position:54% center; }
 .mkm-stage::before { background: linear-gradient(90deg, #020202 0%, rgba(2,2,2,.98) 21%, rgba(2,2,2,.78) 46%, rgba(2,2,2,.2) 82%),linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 32%,rgba(0,0,0,.38) 100%); }
 .mkm-header { min-height:76px; padding:5px 25px; border-bottom:1px solid rgba(255,255,255,.18); }
 .mkm-wordmark { font-size:clamp(18px,5.2vw,23px); letter-spacing:.08em; }
 .mkm-primary-nav { display:none; }
 .mkm-menu { display:block; position:relative; }
 .mkm-menu summary { display:flex; align-items:center; justify-content:center; width:44px; height:44px; cursor:pointer; list-style:none; }
 .mkm-menu summary::-webkit-details-marker { display:none; }
 .mkm-menu-icon, .mkm-menu-icon::before, .mkm-menu-icon::after { display:block; width:27px; height:2px; border-radius:1px; background:#fff; position:relative; transition:transform .2s ease; }
 .mkm-menu-icon::before,.mkm-menu-icon::after { content:""; position:absolute; left:0; }
 .mkm-menu-icon::before { top:-9px; }
 .mkm-menu-icon::after { top:9px; }
 .mkm-menu[open] .mkm-menu-icon { background:transparent; }
 .mkm-menu[open] .mkm-menu-icon::before { top:0; transform:rotate(45deg); }
 .mkm-menu[open] .mkm-menu-icon::after { top:0; transform:rotate(-45deg); }
 .mkm-menu-list { position:absolute; right:-12px; top:56px; width:min(83vw,310px); border:1px solid #504d48; border-radius:10px; background:rgba(10,10,10,.98); box-shadow:0 18px 38px #000b; padding:16px 18px; display:grid; gap:4px; }
 .mkm-menu-list span,.mkm-menu-list a { display:block; padding:13px 8px; text-decoration:none; border-bottom:1px solid #2c2c2c; font-size:16px; }
 .mkm-menu-list span { color:#a8a8a8; }
 .mkm-menu-list a { color:#fff; }
 .mkm-menu-list small { display:block; color:#c4b6a7; font-size:12px; }
 .mkm-main { width:100%; padding:clamp(55px,8vh,75px) 25px 20px; }
 .mkm-eyebrow { font-size:clamp(11px,3.3vw,13px); letter-spacing:.23em; margin-bottom:22px; }
 .mkm-main h1 { font-size:clamp(62px,16vw,96px); line-height:.97; margin-bottom:18px; }
 .mkm-description { font-size:clamp(16px,4.4vw,19px); max-width:345px; line-height:1.52; margin-bottom:28px; }
 .mkm-rule { width:min(100%,355px); margin-bottom:24px; }
 .mkm-feature-list { gap:26px; }
 .mkm-feature { gap:14px; grid-template-columns:39px minmax(0,1fr); }
 .mkm-lock svg { width:29px; height:37px; }
 .mkm-feature strong { font-size:clamp(15px,4vw,18px); }
 .mkm-feature em { font-size:clamp(14px,3.7vw,17px); }
 .mkm-footer { padding:clamp(35px,7vh,70px) 25px 24px; font-size:clamp(10px,2.7vw,13px); letter-spacing:.24em; }
}
/* Phone with a short visual viewport (browser bars or landscape): compress whitespace,
   never force a fixed height or hide overflow, so every line remains reachable. */
@media (max-width: 700px) and (max-height: 740px) {
 .mkm-main { padding-top:clamp(20px,4vh,38px); }
 .mkm-eyebrow { margin-bottom:clamp(12px,2vh,18px); }
 .mkm-main h1 { font-size:clamp(50px,13.2vw,74px); margin-bottom:14px; }
 .mkm-description { line-height:1.4; margin-bottom:20px; }
 .mkm-rule { margin-bottom:18px; }
 .mkm-feature-list { gap:17px; }
 .mkm-footer { padding-top:25px; padding-bottom:20px; }
}
@media(max-width:370px) {
 .mkm-main { padding-inline:20px; }
 .mkm-header { padding-inline:20px; }
 .mkm-footer { padding-inline:20px; }
 .mkm-feature-list { gap:27px; }
 .mkm-main h1 { font-size:clamp(56px,16vw,65px); }
 .mkm-description { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .mkm-menu-icon,.mkm-menu-icon::before,.mkm-menu-icon::after { transition:none; }
}

@media (max-width: 370px) and (max-height: 740px) {
 .mkm-feature-list { gap:12px; }
 .mkm-main h1 { font-size:clamp(48px,14.5vw,61px); }
 .mkm-footer { padding-top:18px; padding-bottom:16px; }
}
