
:root {
  --navy: #07131f;
  --navy-2: #0a1927;
  --ink: #0c1116;
  --black: #090d11;
  --paper: #f6f2eb;
  --cream: #eee6da;
  --white: #fffdfa;
  --muted: #a8afb5;
  --muted-dark: #61676c;
  --gold: #c78a32;
  --gold-light: #e6b45c;
  --line-dark: rgba(255,255,255,.13);
  --line-light: rgba(7,19,31,.14);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--navy); color: var(--white); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }
.section-dark { background: var(--navy); color: var(--white); }
.section-ink { background: var(--ink); color: var(--white); }
.section-light { background: var(--paper); color: var(--navy); }
.section-cream { background: var(--cream); color: var(--navy); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; border-bottom: 1px solid transparent; transition: background .35s ease, border-color .35s ease, backdrop-filter .35s ease; }
.site-header.is-scrolled { background: rgba(7,19,31,.92); border-color: var(--line-dark); backdrop-filter: blur(18px); }
.header-inner { height: 114px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand img { width: 226px; height: auto; object-fit: contain; object-position: left center;}
.desktop-nav { display: flex; gap: 32px; align-items: center; margin-left: auto; }
.desktop-nav a, .text-link { color: #d6d9dc; font-size: 13px; letter-spacing: .03em; transition: color .2s ease; }
.desktop-nav a:hover, .text-link:hover { color: var(--gold-light); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.menu-toggle { display: none; background: none; border: 0; width: 42px; height: 42px; padding: 10px; cursor: pointer; }
.menu-toggle span { display: block; height: 1px; background: #fff; margin: 7px 0; }
.mobile-nav { background: rgba(7,19,31,.98); border-top: 1px solid var(--line-dark); padding: 14px 24px 26px; }
.mobile-nav a { display: block; padding: 13px 0; color: #e9e9e6; border-bottom: 1px solid rgba(255,255,255,.08); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; border: 1px solid transparent; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 42px; padding: 0 18px; font-size: 11px; }
.button-gold { background: linear-gradient(135deg, #a86920, #d69b42 58%, #e8bd72); color: #08131d; box-shadow: 0 10px 32px rgba(194,128,39,.18); }
.button-ghost { border-color: rgba(255,255,255,.25); color: #fff; background: rgba(255,255,255,.025); }
.button-outline { border-color: rgba(213,154,67,.65); color: var(--gold-light); }

.eyebrow { margin: 0 0 24px; font-size: 11px; font-weight: 800; letter-spacing: .18em; color: var(--gold-light); }
.eyebrow.dark { color: #9c6823; }
h1,h2,h3,p { margin-top: 0; }
h1,h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
h1 em,h2 em { color: var(--gold-light); font-style: normal; }

.hero { position: relative; overflow: hidden; padding: 176px 0 70px; min-height: 900px; }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .16; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom, black, transparent 82%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .2; pointer-events: none; }
.hero-glow-one { width: 500px; height: 500px; background: #9b671f; right: 8%; top: 80px; }
.hero-glow-two { width: 440px; height: 440px; background: #163c55; left: -180px; bottom: 30px; }
.hero-grid { position: relative; display: grid; grid-template-columns: .8fr 1.35fr; gap: 70px; align-items: center; }
.hero-copy { padding-top: 20px; }
.hero h1 { font-size: clamp(64px, 7vw, 106px); line-height: .91; margin: 0 0 34px; max-width: 560px; }
.hero-lead { color: #c5c9cc; font-size: 19px; line-height: 1.65; max-width: 540px; }
.hero-actions { display: flex; gap: 12px; margin-top: 36px; }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 66px; padding-top: 22px; border-top: 1px solid var(--line-dark); }
.hero-proof strong { display: block; color: var(--gold-light); font-family: var(--serif); font-size: 23px; font-weight: 400; }
.hero-proof span { display: block; margin-top: 5px; color: #8e979f; font-size: 11px; line-height: 1.45; }
.hero-visual { position: relative; min-width: 0; }
.showcase-frame { background: #0a1118; border: 1px solid rgba(230,180,92,.25); padding: 8px; box-shadow: 0 45px 110px rgba(0,0,0,.48); transform: perspective(1400px) rotateY(-2deg) rotateX(1deg); }
.frame-topline { height: 28px; display: flex; align-items: center; gap: 5px; padding: 0 7px; color: #7f8b94; }
.frame-topline span { width: 5px; height: 5px; border: 1px solid rgba(230,180,92,.55); border-radius: 50%; }
.frame-topline small { margin-left: auto; font-size: 8px; letter-spacing: .16em; }
.showcase-frame img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.floating-note { position: absolute; width: 218px; padding: 17px 18px; background: rgba(5,15,24,.92); border: 1px solid rgba(230,180,92,.28); backdrop-filter: blur(12px); box-shadow: 0 20px 45px rgba(0,0,0,.35); }
.floating-note span { color: var(--gold); font-size: 9px; letter-spacing: .16em; }
.floating-note strong { display: block; margin: 7px 0 4px; font-family: var(--serif); font-size: 18px; font-weight: 400; }
.floating-note small { color: #9aa3aa; font-size: 11px; }
.note-one { left: -48px; bottom: -46px; }
.note-two { right: -28px; top: 52px; }
.hero-rule { position: relative; margin-top: 110px; border-top: 1px solid rgba(230,180,92,.28); }

.intro { padding: 110px 0 122px; }
.intro-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 80px; align-items: start; }
.intro h2 { font-size: clamp(46px, 5vw, 76px); line-height: .98; margin-bottom: 34px; max-width: 850px; }
.large-copy { max-width: 850px; color: #4f575d; font-size: 20px; line-height: 1.75; }

.platform { padding: 122px 0 132px; }
.section-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 70px; align-items: end; margin-bottom: 62px; }
.section-heading h2 { font-size: clamp(50px, 5vw, 76px); line-height: 1; margin-bottom: 0; }
.section-heading > p { color: #9aa2a9; line-height: 1.75; font-size: 16px; margin-bottom: 5px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.feature-card { position: relative; min-height: 330px; padding: 34px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); transition: background .3s ease, transform .3s ease; }
.feature-card:hover { background: #111922; transform: translateY(-4px); }
.feature-card.featured { background: linear-gradient(145deg, rgba(170,105,31,.15), rgba(12,17,22,0) 65%); }
.feature-index { position: absolute; right: 26px; top: 26px; color: #66717a; font: 10px/1 var(--sans); letter-spacing: .13em; }
.feature-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(224,164,76,.55); color: var(--gold-light); font-size: 22px; margin-bottom: 42px; }
.feature-card h3 { font-family: var(--serif); font-size: 30px; font-weight: 400; margin-bottom: 15px; }
.feature-card p { color: #9fa6ac; font-size: 14px; line-height: 1.65; max-width: 320px; }
.feature-card a { position: absolute; bottom: 30px; left: 34px; font-size: 11px; color: var(--gold-light); letter-spacing: .05em; }
.feature-card a span { margin-left: 8px; }

.experience { padding: 130px 0; overflow: hidden; }
.experience-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: center; }
.experience-copy h2 { font-size: clamp(48px, 5vw, 70px); line-height: 1.02; }
.experience-copy > p:not(.eyebrow) { color: #565e64; font-size: 17px; line-height: 1.75; }
.detail-list { margin-top: 40px; border-top: 1px solid var(--line-light); }
.detail-list div { display: grid; grid-template-columns: 120px 1fr; gap: 25px; padding: 18px 0; border-bottom: 1px solid var(--line-light); }
.detail-list span { color: #9c6823; text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.detail-list p { margin: 0; color: #4f575d; font-size: 13px; line-height: 1.5; }
.experience-image { padding: 10px; background: #fff; box-shadow: 0 30px 80px rgba(4,13,20,.18); transform: rotate(1.4deg); }
.experience-image img { width: 100%; }

.apps { padding: 128px 0 0; overflow: hidden; }
.apps-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; min-height: 720px; }
.apps-copy { padding-bottom: 100px; }
.apps h2 { font-size: clamp(52px, 5vw, 78px); line-height: .98; max-width: 570px; }
.apps-copy > p:not(.eyebrow) { color: #a6adb2; font-size: 17px; line-height: 1.75; max-width: 520px; }
.app-points { margin-top: 42px; }
.app-points div { display: grid; grid-template-columns: 100px 1fr; gap: 22px; padding: 18px 0; border-top: 1px solid var(--line-dark); }
.app-points strong { color: var(--gold-light); font-family: var(--serif); font-weight: 400; font-size: 20px; }
.app-points span { color: #89939b; font-size: 13px; line-height: 1.55; }
.phones { position: relative; height: 680px; }
.phone { position: absolute; width: 315px; height: 615px; border-radius: 38px; overflow: hidden; background: #111; border: 7px solid #15191d; box-shadow: 0 45px 100px rgba(0,0,0,.48); }
.phone img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.phone-back { left: 12%; top: 58px; transform: rotate(-8deg); opacity: .82; }
.phone-front { right: 8%; top: 0; transform: rotate(5deg); }

.why { padding: 125px 0 132px; }
.why-heading { max-width: 950px; }
.why-heading h2 { font-size: clamp(54px, 6vw, 86px); line-height: .96; margin-bottom: 32px; }
.why-heading > p:not(.eyebrow) { max-width: 760px; color: #555d61; font-size: 18px; line-height: 1.75; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 72px; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.principles > div { padding: 34px 34px 42px 0; border-right: 1px solid var(--line-light); }
.principles > div + div { padding-left: 34px; }
.principles > div:last-child { border-right: 0; }
.principles span { color: #a8732b; font-size: 10px; letter-spacing: .15em; }
.principles h3 { margin: 46px 0 16px; font-family: var(--serif); font-size: 29px; font-weight: 400; }
.principles p { color: #61686c; font-size: 14px; line-height: 1.65; }

.support-band { padding: 76px 0; border-top: 1px solid rgba(230,180,92,.2); border-bottom: 1px solid rgba(230,180,92,.2); }
.support-grid { display: grid; grid-template-columns: 1fr 1fr auto; gap: 60px; align-items: center; }
.support-grid h2 { font-size: 48px; margin: 0; }
.support-grid > p { color: #9fa7ad; line-height: 1.7; margin: 0; }

.final-cta { position: relative; padding: 130px 0 140px; text-align: center; overflow: hidden; }
.final-cta::before { content:''; position:absolute; width:700px; height:700px; left:50%; top:50%; transform:translate(-50%,-50%); background:radial-gradient(circle, rgba(188,122,39,.16), transparent 65%); }
.final-inner { position: relative; max-width: 900px; }
.cta-logo {width: 250px; height: auto; object-fit: contain; object-position: center; margin: 0 auto 40px;}.final-cta h2 { font-size: clamp(54px, 6vw, 88px); line-height: .97; margin-bottom: 26px; }
.final-cta p:not(.eyebrow) { color: #a5adb3; font-size: 18px; }
.final-actions { display: flex; justify-content: center; gap: 12px; margin-top: 38px; }

.site-footer { background: #050b10; color: #c4c8cb; padding: 70px 0 24px; }
.footer-top { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; padding-bottom: 58px; }
.footer-brand img { width: 230px; height: auto; object-fit: contain; object-position: left center; }
.footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.footer-nav strong { display: block; color: #f1eee8; font-size: 12px; margin-bottom: 18px; }
.footer-nav a { display: block; color: #7f8990; font-size: 12px; padding: 7px 0; }
.footer-nav a:hover { color: var(--gold-light); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: #59636b; font-size: 10px; letter-spacing: .04em; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay { transition-delay: .12s; }

@media (max-width: 1100px) {
  .desktop-nav, .header-actions .text-link { display: none; }
  .menu-toggle { display: block; }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-visual { margin-top: 30px; }
  .note-one { left: 18px; }
  .note-two { right: 18px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .experience-grid, .apps-grid { grid-template-columns: 1fr; }
  .experience-copy { max-width: 760px; }
  .apps-grid { min-height: auto; }
  .apps-copy { padding-bottom: 0; max-width: 700px; }
  .phones { width: min(700px,100%); margin: 0 auto; }
  .support-grid { grid-template-columns: 1fr 1fr; }
  .support-grid .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 30px, 1240px); }
  .header-inner { height: 80px; }
  .brand img { width: 175px; height: auto; }
  .header-actions .button { display: none; }
  .hero { padding-top: 132px; padding-bottom: 50px; }
  .hero h1 { font-size: 62px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: stretch; max-width: 330px; }
  .hero-proof { grid-template-columns: 1fr; gap: 15px; }
  .hero-proof div { display: grid; grid-template-columns: 70px 1fr; align-items: center; }
  .hero-proof span { margin: 0; }
  .showcase-frame { transform: none; }
  .floating-note { display: none; }
  .hero-rule { margin-top: 55px; }
  .intro, .platform, .experience, .why { padding: 82px 0; }
  .intro-grid, .section-heading { grid-template-columns: 1fr; gap: 28px; }
  .intro h2, .section-heading h2, .experience-copy h2 { font-size: 47px; }
  .large-copy { font-size: 17px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 300px; }
  .experience-grid { gap: 46px; }
  .detail-list div { grid-template-columns: 90px 1fr; }
  .apps { padding-top: 82px; }
  .apps h2, .why-heading h2 { font-size: 50px; }
  .phones { height: 510px; margin-top: 28px; }
  .phone { width: 235px; height: 460px; border-radius: 28px; border-width: 5px; }
  .phone-back { left: 5%; top: 48px; }
  .phone-front { right: 5%; }
  .principles { grid-template-columns: 1fr; }
  .principles > div, .principles > div + div { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .principles > div:last-child { border-bottom: 0; }
  .principles h3 { margin-top: 20px; }
  .support-grid { grid-template-columns: 1fr; gap: 28px; }
  .support-grid .button { grid-column: auto; }
  .final-cta { padding: 95px 0 105px; }
  .final-cta h2 { font-size: 52px; }
  .final-actions { flex-direction: column; max-width: 320px; margin-left: auto; margin-right: auto; }
  .footer-top { grid-template-columns: 1fr; gap: 38px; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .button, .feature-card { transition: none; }
}

/* V2 carousel + enquiry + login */
.showcase-carousel{position:relative}
.showcase-slide{display:none}
.showcase-slide.is-active{display:block}
.showcase-slide img{width:100%;display:block; object-fit:contain;}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}
.carousel-arrow{border:1px solid rgba(211,166,78,.45);background:rgba(7,20,39,.78);color:#f2d08b;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:20px}
.carousel-dots{display:flex;gap:8px}
.carousel-dot{width:28px;height:3px;border:0;background:rgba(255,255,255,.25);padding:0;cursor:pointer}
.carousel-dot.is-active{background:#d8a83f}.enquiry-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;text-align:left}
.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:rgba(255,255,255,.04);border:1px solid rgba(216,168,63,.22);padding:32px;border-radius:4px}
.enquiry-form label{display:grid;gap:8px;color:#f5f0e7;font-size:13px;letter-spacing:.04em}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.18);background:#091b33;color:#fff;padding:13px 14px;border-radius:2px;font:inherit}
.enquiry-form select option{color:#111}.enquiry-form textarea{min-height:120px;resize:vertical}
.enquiry-form .full{grid-column:1/-1}.enquiry-form .button{justify-self:start}
.form-note{color:#b9c2cf;font-size:12px}.nimzel-login-page{min-height:100vh;background:radial-gradient(circle at 75% 15%,rgba(196,145,46,.12),transparent 35%),#06162b;color:#fff;display:grid;place-items:center;padding:30px}
.nimzel-login-shell{width:min(1080px,100%);display:grid;grid-template-columns:1.05fr .95fr;border:1px solid rgba(216,168,63,.22);background:#081b34;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.nimzel-login-brand{padding:64px;background:linear-gradient(145deg,#06162b,#0c2748);display:flex;flex-direction:column;justify-content:space-between;min-height:520px}

.nimzel-login-brand h1{font-size:clamp(42px,5vw,72px);line-height:.98;margin:35px 0 20px}
.nimzel-login-brand p{color:#c7ced8;max-width:460px}

.nimzel-login-brand img {width: 280px; height: auto; max-width: 100%; display: block; object-fit: contain; object-position: left center;}

.nimzel-login-form{background:#f6f1e8;color:#07182e;padding:64px;display:flex;flex-direction:column;justify-content:center}
.nimzel-login-form h2{font-size:36px;margin:0 0 10px}
.nimzel-login-form>p{color:#596577;margin:0 0 32px}
.nimzel-login-form form{display:grid;gap:18px}
.nimzel-login-form label{display:grid;gap:8px;font-size:13px;font-weight:700}
.nimzel-login-form input{padding:14px;border:1px solid #c9c3b8;background:#fff;font:inherit}
.nimzel-login-form button{margin-top:8px}
.login-home-link{margin-top:24px;color:#7b6027;text-decoration:none}
.platform-enquiry-table td{vertical-align:top}
.platform-enquiry-message{white-space:pre-wrap;line-height:1.6}
.status-new{color:#9a6b0b}
.status-contacted{color:#315d8d}
.status-demo_booked{color:#5a3d91}
.status-won{color:#28754c}
.status-lost{color:#8a3f3f}
@media (max-width: 850px){
  .enquiry-wrap,
  .nimzel-login-shell{grid-template-columns:1fr}
  .enquiry-form{grid-template-columns:1fr}
  .enquiry-form .full{grid-column:auto}
  .nimzel-login-brand{min-height:auto;padding:38px}
  .nimzel-login-form{padding:38px}
}

/* Nimzel authentication and form legibility refinements */
.nimzel-login-form input,
.nimzel-login-form select,
.nimzel-login-form textarea{
  width:100%;box-sizing:border-box;padding:14px 15px;border:1px solid #b8b0a3;background:#fff;color:#07182e;font:inherit;border-radius:2px;caret-color:#07182e
}
.nimzel-login-form input::placeholder,
.nimzel-login-form textarea::placeholder{color:#6f7885;opacity:1}
.nimzel-login-form input:focus,
.nimzel-login-form select:focus,
.nimzel-login-form textarea:focus{outline:3px solid rgba(184,134,38,.18);border-color:#a87820;box-shadow:0 0 0 1px #a87820}
.nimzel-login-form select{appearance:auto;color-scheme:light}
.nimzel-login-form select option{background:#fff;color:#07182e}
.nimzel-login-form input:-webkit-autofill,
.nimzel-login-form input:-webkit-autofill:hover,
.nimzel-login-form input:-webkit-autofill:focus{-webkit-text-fill-color:#07182e;box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out 0s}
.login-form-row{display:flex;align-items:center;justify-content:space-between;margin-top:-3px}
.login-forgot-link{color:#76591d;font-weight:700;text-decoration:underline;text-decoration-color:rgba(118,89,29,.35);text-underline-offset:3px}
.login-forgot-link:hover,.login-home-link:hover{color:#4f3b14}
.field-error{margin-top:-10px;color:#9b2f2f;font-size:13px;font-weight:700;line-height:1.4}
.nimzel-login-form .alert,
.nimzel-login-form .flash,
.nimzel-login-form [class*="alert-"]{color:#07182e}
.dev-reset-box{margin-top:22px;padding:16px 18px;border:1px solid #d6bd83;background:#fff8e8;color:#07182e;line-height:1.45}
.dev-reset-box strong{display:block;margin-bottom:4px}
.dev-reset-box p{margin:0 0 8px;color:#596577;font-size:13px}
.dev-reset-box a{color:#76591d;font-weight:800;word-break:break-word}
.auth-button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:8px}

/* Marketing enquiry controls: force readable native option menus and form states. */
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{color:#f8f5ef;background:#091b33;border-color:rgba(255,255,255,.28)}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#c5ced9;opacity:1}
.enquiry-form select{color-scheme:dark}
.enquiry-form select option{background:#fff;color:#07182e}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:3px solid rgba(216,168,63,.18);border-color:#d8a83f}
.enquiry-form input:-webkit-autofill,.enquiry-form input:-webkit-autofill:hover,.enquiry-form input:-webkit-autofill:focus{-webkit-text-fill-color:#f8f5ef;box-shadow:0 0 0 1000px #091b33 inset;transition:background-color 9999s ease-out 0s}
/* =========================================================
   NIMZEL RESPONSIVE LAYOUT OVERRIDES
   Fluid scaling for desktop, laptop, tablet and mobile.
   Keep this block at the END of the stylesheet.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.shell{width:min(1240px,calc(100% - clamp(30px,5vw,64px)))}
.header-inner{height:clamp(82px,7.5vw,114px);gap:clamp(14px,2vw,28px)}
.brand{flex:0 1 auto;min-width:0}
.brand img{width:clamp(172px,15vw,226px);height:auto;max-height:calc(clamp(82px,7.5vw,114px) - 24px);object-fit:contain;object-position:left center}
.desktop-nav{gap:clamp(18px,2.3vw,32px)}
.header-actions{gap:clamp(10px,1.5vw,18px)}
.hero{padding-top:clamp(142px,12vw,190px);padding-bottom:clamp(54px,6vw,78px);min-height:min(900px,100vh)}
.hero-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.35fr);gap:clamp(38px,5vw,70px)}
.hero h1{font-size:clamp(54px,6.7vw,106px)}
.hero-lead{font-size:clamp(16px,1.35vw,19px)}
.hero-proof{margin-top:clamp(38px,4.5vw,66px);gap:clamp(14px,2vw,24px)}
.showcase-frame,.showcase-carousel{max-width:100%}
.showcase-frame img,.showcase-slide img{max-width:100%;height:auto}
.intro,.platform,.experience,.why{padding-top:clamp(78px,8vw,130px);padding-bottom:clamp(78px,8vw,132px)}
.apps{padding-top:clamp(78px,8vw,128px)}
.intro-grid,.section-heading,.experience-grid,.apps-grid{gap:clamp(36px,5vw,80px)}
.feature-card,.enquiry-wrap,.enquiry-form,.nimzel-login-shell,.nimzel-login-brand,.nimzel-login-form{min-width:0}
.support-grid{gap:clamp(28px,4vw,60px)}
.final-cta{padding-top:clamp(88px,8vw,130px);padding-bottom:clamp(92px,9vw,140px)}
.footer-top{gap:clamp(38px,6vw,80px)}
.phones{width:min(100%,760px);margin-inline:auto}
.phone{width:clamp(250px,25vw,315px);height:auto;aspect-ratio:315/615}
.phone img{width:100%;height:100%;object-fit:contain;object-position:center top}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea,.nimzel-login-form input,.nimzel-login-form select,.nimzel-login-form textarea{min-width:0;max-width:100%}

@media (max-width:1250px){
  .shell{width:min(1120px,calc(100% - 44px))}
  .hero-grid{grid-template-columns:.88fr 1.12fr;gap:44px}
  .hero h1{font-size:clamp(54px,6.2vw,82px)}
  .feature-card{padding:30px}
  .feature-card a{left:30px}
  .apps-grid{grid-template-columns:.9fr 1.1fr}
}

@media (max-width:1050px){
  .desktop-nav,.header-actions .text-link{display:none}
  .menu-toggle{display:block}
  .header-inner{height:90px}
  .brand img{width:200px;max-height:68px}
  .hero{min-height:auto;padding-top:136px}
  .hero-grid,.experience-grid,.apps-grid{grid-template-columns:1fr}
  .hero-copy,.experience-copy,.apps-copy{max-width:760px}
  .hero-visual{width:min(900px,100%);margin:20px auto 0}
  .hero h1{max-width:720px;font-size:clamp(58px,9vw,88px)}
  .hero-lead{max-width:680px}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apps-grid{min-height:0}.apps-copy{padding-bottom:0}
  .phones{height:clamp(540px,72vw,680px)}
  .phone{width:clamp(250px,36vw,315px)}
  .phone-back{left:10%}.phone-front{right:10%}
  .support-grid{grid-template-columns:1fr 1fr}
  .support-grid .button{grid-column:1/-1;justify-self:start}
  .enquiry-wrap{grid-template-columns:1fr;gap:38px}
}

@media (max-width:760px){
  .shell{width:calc(100% - 30px)}
  .header-inner{height:82px}.brand img{width:clamp(160px,43vw,185px);max-height:60px}
  .header-actions{margin-left:auto}.header-actions .button{display:none}.menu-toggle{flex:0 0 42px}
  .hero{padding-top:116px;padding-bottom:48px}
  .hero h1{font-size:clamp(48px,15vw,66px);line-height:.94}
  .hero-lead{font-size:16px;line-height:1.6}
  .hero-actions{flex-direction:column;align-items:stretch;width:min(100%,360px)}
  .hero-actions .button{width:100%}
  .hero-proof{grid-template-columns:1fr;margin-top:38px}
  .hero-proof div{display:grid;grid-template-columns:70px 1fr;align-items:center}.hero-proof span{margin-top:0}
  .showcase-frame{transform:none}.floating-note{display:none}
  .frame-topline small{max-width:70%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .hero-rule{margin-top:52px}
  .intro-grid,.section-heading{grid-template-columns:1fr;gap:26px}
  .intro h2,.section-heading h2,.experience-copy h2{font-size:clamp(42px,12vw,52px)}
  .large-copy{font-size:17px}.feature-grid{grid-template-columns:1fr}
  .feature-card{min-height:285px;padding:28px}.feature-card a{left:28px}
  .detail-list div{grid-template-columns:88px 1fr;gap:18px}
  .apps h2,.why-heading h2{font-size:clamp(44px,12vw,54px)}
  .phones{height:min(125vw,540px);margin-top:24px}
  .phone{width:min(46vw,245px);border-radius:28px;border-width:5px}
  .phone-back{left:3%;top:44px;transform:rotate(-6deg)}.phone-front{right:3%;transform:rotate(4deg)}
  .principles{grid-template-columns:1fr}
  .principles>div,.principles>div+div{padding:28px 0;border-right:0;border-bottom:1px solid var(--line-light)}
  .principles>div:last-child{border-bottom:0}.principles h3{margin-top:20px}
  .support-grid{grid-template-columns:1fr;gap:26px}.support-grid h2{font-size:clamp(38px,11vw,48px)}.support-grid .button{grid-column:auto}
  .final-cta h2{font-size:clamp(46px,13vw,58px)}
  .final-actions{flex-direction:column;width:min(100%,340px);margin-left:auto;margin-right:auto}.final-actions .button{width:100%}
  .footer-top{grid-template-columns:1fr}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.footer-bottom{flex-direction:column}
  .enquiry-form{grid-template-columns:1fr;padding:24px}.enquiry-form .full{grid-column:auto}
  .nimzel-login-page{padding:18px;align-items:start}.nimzel-login-shell{grid-template-columns:1fr}
  .nimzel-login-brand{min-height:auto;padding:34px;gap:34px}.nimzel-login-brand img{width:min(240px,75vw)}
  .nimzel-login-form{padding:34px}
}

@media (max-width:520px){
  .shell{width:calc(100% - 24px)}
  .header-inner{height:74px;gap:10px}.brand img{width:min(160px,50vw);max-height:52px}
  .hero{padding-top:102px}.hero h1{font-size:clamp(43px,14vw,56px)}
  .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:18px}.button{min-height:48px;padding-inline:18px}
  .hero-proof div{grid-template-columns:62px 1fr}.frame-topline{height:24px}.frame-topline small{font-size:7px}
  .carousel-controls{gap:10px}.carousel-arrow{width:36px;height:36px}.carousel-dot{width:22px}
  .intro,.platform,.experience,.why{padding-top:68px;padding-bottom:68px}.apps{padding-top:68px}
  .feature-card{min-height:270px;padding:24px}.feature-card a{left:24px;bottom:24px}
  .detail-list div{grid-template-columns:1fr;gap:7px}
  .phones{height:118vw;max-height:500px}.phone{width:49vw;max-width:225px}.phone-back{left:-1%}.phone-front{right:-1%}
  .footer-nav{grid-template-columns:1fr}.cta-logo{width:min(230px,72vw)}.footer-brand img{width:min(215px,70vw)}
  .enquiry-form{padding:20px;gap:15px}
  .nimzel-login-page{padding:10px}.nimzel-login-brand,.nimzel-login-form{padding:26px 22px}
  .nimzel-login-brand h1{font-size:clamp(40px,14vw,52px);margin-top:26px}.nimzel-login-form h2{font-size:31px}
}

@media (max-width:380px){
  .brand img{width:145px}.hero h1{font-size:42px}.hero-actions{width:100%}
  .phone-back{left:-5%}.phone-front{right:-5%}
  .nimzel-login-brand,.nimzel-login-form{padding-inline:18px}
}

@media (max-height:600px) and (orientation:landscape){
  .header-inner{height:68px}.brand img{max-height:48px;width:160px}
  .hero{padding-top:92px;min-height:auto}.nimzel-login-page{place-items:start center}
}


/* =========================================================
   NIMZEL COMPLIANCE / PRIVACY UI
   ========================================================= */
.footer-legal-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-legal-links a,.legal-footer a{color:inherit;text-decoration:none}
.footer-legal-links a:hover,.legal-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.enquiry-privacy-note{padding:16px 18px;border:1px solid rgba(216,168,63,.22);background:rgba(255,255,255,.035);font-size:12px;line-height:1.6;color:#c9d1dc}
.enquiry-privacy-note p{margin:0 0 12px}
.enquiry-privacy-note a{color:#f0cc7a}
.marketing-opt-in{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:11px!important;font-weight:400!important;letter-spacing:0!important;cursor:pointer}
.marketing-opt-in input{width:18px!important;height:18px;min-width:18px;margin:2px 0 0;accent-color:#d8a83f}

.legal-site-header{position:fixed}.legal-nav{margin-left:auto}.legal-page{min-height:70vh}.legal-hero{padding:190px 0 86px;background:radial-gradient(circle at 80% 12%,rgba(196,145,46,.13),transparent 28%),#06162b}
.legal-hero h1{font-size:clamp(52px,7vw,92px);line-height:.98;max-width:920px;margin:0 0 28px;color:#fff}.legal-hero h1 em{font-family:Georgia,serif;font-weight:400;color:#d9b668}.legal-intro{max-width:800px;font-size:19px;line-height:1.7;color:#c6cfda}.legal-version{margin-top:28px;font-size:12px;color:#9caabd;letter-spacing:.05em}
.legal-content{padding:96px 0 120px}.legal-grid{display:grid;grid-template-columns:230px minmax(0,800px);gap:70px;justify-content:center;align-items:start}.legal-toc{position:sticky;top:140px;display:grid;gap:13px;padding:22px 0;border-top:1px solid #cfc7b7;border-bottom:1px solid #cfc7b7}.legal-toc strong{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.legal-toc a{font-size:13px;color:#576273;text-decoration:none}.legal-toc a:hover{color:#80621f}.legal-copy{color:#172334}.legal-copy-narrow{max-width:800px;margin:0 auto}.legal-copy section{scroll-margin-top:140px;padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid #d8d1c5}.legal-copy section:last-child{border-bottom:0}.legal-copy h2{font-size:clamp(28px,3vw,38px);line-height:1.15;margin:0 0 18px;color:#081a31}.legal-copy p,.legal-copy li{font-size:15px;line-height:1.78;color:#4e5968}.legal-copy strong{color:#172334}.legal-table{display:grid;border-top:1px solid #ccc3b4}.legal-table>div{display:grid;grid-template-columns:130px 1fr 145px;gap:20px;padding:18px 0;border-bottom:1px solid #ccc3b4;align-items:start}.legal-table b{font-size:12px;color:#80621f}.legal-footer{margin-top:0}

.cookie-banner[hidden],.cookie-modal[hidden]{display:none!important}.cookie-banner{position:fixed;left:22px;right:22px;bottom:22px;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 24px;background:#07182e;color:#fff;border:1px solid rgba(216,168,63,.55);box-shadow:0 20px 60px rgba(0,0,0,.38)}.cookie-banner-copy{max-width:690px}.cookie-banner-copy strong{display:block;font-size:17px;margin-bottom:6px}.cookie-banner-copy p{margin:0;color:#c1cad6;font-size:13px;line-height:1.55}.cookie-banner-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-button{white-space:nowrap}
.cookie-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px}.cookie-modal-backdrop{position:absolute;inset:0;background:rgba(0,9,20,.78);backdrop-filter:blur(4px)}.cookie-modal-panel{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#f6f1e8;color:#102037;padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.48);border:1px solid #d2bd8b}.cookie-modal-panel h2{font-size:38px;margin:0 0 12px}.cookie-modal-panel>p{line-height:1.65;color:#586272}.cookie-modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#172334;font-size:30px;cursor:pointer}.cookie-choice{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:19px 0;border-top:1px solid #d5cdbf}.cookie-choice strong{display:block;margin-bottom:5px}.cookie-choice p{margin:0;color:#66707d;font-size:13px;line-height:1.5}.cookie-choice-toggle{cursor:pointer}.cookie-choice-toggle input{width:22px;height:22px;accent-color:#b8872e}.cookie-always-on{font-size:12px;font-weight:800;color:#72571f}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px}.cookie-policy-link{font-size:12px!important;margin:20px 0 0!important}.cookie-policy-link a{color:#74581d}.cookie-modal-open{overflow:hidden}

@media (max-width:900px){.legal-grid{grid-template-columns:1fr;gap:30px}.legal-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.legal-toc strong{grid-column:1/-1}.cookie-banner{flex-direction:column;align-items:stretch}.cookie-banner-actions{justify-content:flex-start}}
@media (max-width:760px){.legal-site-header .desktop-nav{display:none}.legal-site-header .header-actions .text-link{display:block}.legal-hero{padding:130px 0 66px}.legal-content{padding:64px 0 84px}.legal-toc{grid-template-columns:1fr}.legal-table>div{grid-template-columns:1fr;gap:7px}.cookie-banner{left:10px;right:10px;bottom:10px;padding:18px}.cookie-banner-actions{display:grid;grid-template-columns:1fr}.cookie-modal-panel{padding:30px 22px}.cookie-modal-actions{display:grid;grid-template-columns:1fr}.footer-legal-links{gap:12px}}


/* 2026-09-01: Mobile app phone image fit fix.
   The responsive override had changed phone screenshots to object-fit: contain,
   exposing the dark phone wrapper as black padding when source ratios differed. */
.phone img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

