/* nickkeith.com.au — page shell (the designs carry their own styles) */
html,body{margin:0;height:100%;background:#0D0D10;color:#FFFFFF}
body{font-family:'Source Serif 4',Georgia,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}
html.js body{overflow:hidden;overscroll-behavior:none}
#nk-stage{position:fixed;inset:0;overflow:hidden}
.nk-frame{position:absolute;top:0;left:0;transform-origin:0 0}
.nk-frame.nk-over{z-index:20}
:focus-visible{outline:2px solid #E017FA;outline-offset:2px}
.nk-deck:focus,.nk-deck:focus-visible{outline:none}

/* boot mark while the page loads */
#nk-boot{display:none}
html.js #nk-boot{display:flex;position:fixed;inset:0;align-items:center;justify-content:center;z-index:1;pointer-events:none;animation:nkBoot 1.6s ease-in-out infinite}
html.nk-ready #nk-boot{display:none}
@keyframes nkBoot{0%,100%{opacity:.25}50%{opacity:.8}}

/* plain-HTML version: visible without JavaScript */
html.js #nk-static{display:none}
#nk-static{max-width:720px;margin:0 auto;padding:48px 24px 64px;font-size:18px;line-height:1.6}
#nk-static h1{font-family:'Archivo',sans-serif;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,6vw,48px);line-height:1.05;margin:24px 0 16px}
#nk-static h2{font-family:'Archivo',sans-serif;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:24px;margin:48px 0 12px}
#nk-static a{color:#FF6060}
#nk-static footer{margin-top:64px;font-size:14px;color:rgba(255,255,255,.6)}
.nk-skip{position:absolute;left:-9999px;top:8px;z-index:50;background:#FFFFFF;color:#0D0D10;padding:10px 16px;border-radius:999px;font-family:'Archivo',sans-serif;font-weight:700;text-decoration:none}
html:not(.js) .nk-skip:focus{left:8px}
html.js .nk-skip{display:none}

/* analytics consent */
#nk-consent{position:fixed;left:24px;bottom:24px;z-index:60;max-width:380px;box-sizing:border-box;padding:20px 22px;background:#1B1B21;color:#FFFFFF;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);font-size:15px;line-height:1.5;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1)}
#nk-consent.on{opacity:1;transform:none}
#nk-consent[hidden]{display:none}
#nk-consent p{margin:0 0 14px}
#nk-consent a{color:#FF6060}
#nk-consent div{display:flex;gap:10px;justify-content:flex-end}
#nk-consent button{height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:none;color:#FFFFFF;font-family:'Archivo',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
#nk-consent button[data-c="yes"]{background:#FFFFFF;color:#0D0D10;border-color:#FFFFFF}
@media (max-width:600px){#nk-consent{left:12px;right:12px;bottom:12px;max-width:none}}
@media (prefers-reduced-motion:reduce){#nk-consent{transition:none}html.js #nk-boot{animation:none}}

/* desktop footer, revealed past the last slide */
#nk-shift{position:absolute;inset:0;transition:transform .7s cubic-bezier(.16,1,.3,1)}
#nk-foot{position:fixed;left:0;right:0;bottom:0;height:56px;box-sizing:border-box;padding:0 32px;display:flex;align-items:center;justify-content:center;gap:28px;background:#0D0D10;border-top:1px solid rgba(255,255,255,.1);font-family:'Archivo',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);transform:translateY(100%);transition:transform .7s cubic-bezier(.16,1,.3,1);z-index:10}
#nk-foot a{color:rgba(255,255,255,.7);text-decoration:none}
#nk-foot a:hover{color:#FF6060}
html.nk-foot-open #nk-shift{transform:translateY(-56px)}
html.nk-foot-open #nk-foot{transform:none}
@media (prefers-reduced-motion:reduce){#nk-shift,#nk-foot{transition:none}}

/* touch: the deck is driven by swipes (handled in app.js); form fields and the résumé keep native scrolling */
@media (hover:none){#nk-deck{touch-action:none;-webkit-user-select:none;user-select:none}
#nk-deck input,#nk-deck textarea,#nk-deck iframe{touch-action:auto;-webkit-user-select:text;user-select:text}}
