/* Same public landscape and visual language as Ntoni's Staff Portal. */
@font-face{font-family:'Ntoni Handwriting';src:url('Caveat.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
.ntm-personal-page .ntm{max-width:none;padding-top:0}
.ntm-personal-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:440px;margin:0 -24px;background:#102116;color:#fff;overflow:hidden;padding:160px 24px 60px;text-align:center}
.ntm-personal-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,24,15,.3),rgba(9,24,15,.6))}
.ntm-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.ntm-hero-caption p{color:#ecd4a9;font-size:12px;letter-spacing:.18em;font-weight:700}.ntm-hero-caption h1{color:#fff;max-width:900px;margin:14px 0;font-size:clamp(32px,5vw,58px)}
.ntm-personal-note{margin:0 -24px 32px;padding:38px 24px 44px;background:#f2ede2;text-align:center}
.ntm-personal-note p{max-width:920px;margin:0 auto;color:#34412e;font-family:'Ntoni Handwriting',cursive;font-size:clamp(27px,3vw,38px);font-weight:500;line-height:1.42;white-space:normal;overflow-wrap:anywhere}
.ntm-personal-page .photos,.ntm-personal-page main>header{max-width:1152px;margin-left:auto;margin-right:auto}
@media(max-width:760px){.ntm-personal-hero{min-height:310px;margin:0 -16px;padding:60px 22px 38px}.ntm-personal-note{margin:0 -16px 24px;padding:30px 22px 34px}}
body.ntm-login-page{background:#102116;color:#fff}
.ntm-login-page .ntm{position:relative;display:grid;place-items:center;min-height:760px;max-width:none;padding:54px 20px;isolation:isolate;background:linear-gradient(180deg,rgba(9,24,15,.36),rgba(9,24,15,.72)),url('karoo-portal.jpg') center 43%/cover no-repeat}
.ntm-login-page .ntm::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 42%,rgba(16,41,24,.02),rgba(7,18,11,.52) 78%)}
.ntm-login-page .login{width:min(500px,100%);max-width:500px;margin:0;padding:34px 32px 26px;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:rgba(12,31,19,.82);box-shadow:0 24px 80px rgba(0,0,0,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ntm-login-page .eyebrow{text-align:center;margin:0 0 12px;color:#d9b574;font-size:12px;font-weight:800;letter-spacing:.2em}
.ntm-login-page h1{text-align:center;color:#fff;font-size:clamp(30px,5vw,45px);line-height:1.05;text-transform:uppercase;margin:0}
.ntm-login-page .login-intro{text-align:center;color:rgba(255,255,255,.85);font-size:15px;margin:16px 0 30px}
.ntm-login-page #loginform{margin:0;padding:24px 20px;background:rgba(10,14,11,.65);border-radius:14px}
.ntm-login-page #loginform p{margin:0 0 18px}.ntm-login-page #loginform p:last-child{margin-bottom:0}
.ntm-login-page .login label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#b9d0ad;margin-bottom:7px}
.ntm-login-page input[type=text],.ntm-login-page input[type=password]{border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(0,0,0,.2);color:#fff;min-height:48px}
.ntm-login-page input[type=submit]{background:#d34f24;border-color:#d34f24;border-radius:12px;font-weight:700;min-height:48px;margin-top:4px}
.ntm-login-page input[type=submit]:hover{background:#b63d17;border-color:#b63d17}
.ntm-login-page a{color:#f0d39d}.ntm-login-page .login-help{text-align:center;font-size:13px;margin:22px 0 18px;color:#d9b574}
.ntm-login-page .login-private{text-align:center;margin:0;color:rgba(255,255,255,.7);font-size:12px;line-height:1.6}
.ntm-login-page :focus-visible{outline-color:#f0d39d}
@media(max-width:620px){.ntm-login-page .ntm{min-height:720px;padding:28px 12px;background-position:51% 42%}.ntm-login-page .login{padding:28px 18px 24px;border-radius:20px}.ntm-login-page #loginform{padding:22px 16px}}
