/* Stepholt Parking System Pro */
:root{
  --bg:#090b10;--surface:rgba(255,255,255,.055);--surface-strong:rgba(255,255,255,.085);
  --line:rgba(255,255,255,.12);--text:#fff;--muted:#aeb7c6;--accent:#ff005b;
  --accent-dark:#c90048;--violet:#7567ff;--green:#46e88b;--shadow:0 30px 90px rgba(0,0,0,.38)
}
html[data-theme="light"]{
  --bg:#f4f6fb;--surface:rgba(255,255,255,.78);--surface-strong:#fff;
  --line:rgba(17,24,39,.11);--text:#10131a;--muted:#626c7e;--shadow:0 30px 80px rgba(33,45,69,.14)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}
button,input,textarea,select{font:inherit}.noise{position:fixed;inset:0;z-index:-1;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.ambient{position:fixed;border-radius:50%;filter:blur(28px);pointer-events:none;z-index:-2;animation:float 12s ease-in-out infinite alternate}.ambient-one{width:32rem;height:32rem;left:-12rem;top:-10rem;background:rgba(255,0,91,.2)}.ambient-two{width:34rem;height:34rem;right:-13rem;top:8rem;background:rgba(117,103,255,.18);animation-delay:-3s}@keyframes float{to{transform:translate3d(2rem,3rem,0) scale(1.08)}}
.site-shell{width:min(1180px,calc(100% - 36px));margin:auto}.glass{background:linear-gradient(145deg,var(--surface-strong),var(--surface));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.topbar,.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:1.14rem;font-weight:850;letter-spacing:-.03em}.brand-mark{width:40px;aspect-ratio:1;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;box-shadow:0 14px 34px rgba(255,0,91,.25)}
.top-actions{display:flex;align-items:center;gap:10px}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.82rem}.status-dot,.availability-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 17px rgba(70,232,139,.7)}.status-available .status-dot{background:#ffcc4d;box-shadow:0 0 17px rgba(255,204,77,.7)}.status-suspended .status-dot{background:#ff6b6b}.theme-toggle{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}
main{padding:35px 0 80px}.hero{min-height:640px;position:relative;overflow:hidden;border-radius:30px;padding:clamp(34px,6vw,74px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:center;gap:30px}.hero::after{content:"";position:absolute;width:28rem;height:28rem;right:-11rem;top:-10rem;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--violet));filter:blur(10px);opacity:.2}.hero-copy,.hero-orbit{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--muted);font-size:.75rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px rgba(255,0,91,.75)}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(3rem,7.3vw,6.3rem);line-height:.94;letter-spacing:-.064em;overflow-wrap:anywhere}h1 span,h1 strong{display:block}h1 strong{margin-top:.13em;color:transparent;background:linear-gradient(90deg,var(--text),#ff92b8,#9f94ff);-webkit-background-clip:text;background-clip:text;font-weight:850}.intro{max-width:720px;margin:27px 0 0;color:var(--muted);font-size:clamp(1rem,2vw,1.15rem)}.availability{display:inline-flex;align-items:center;gap:10px;margin-top:23px;color:var(--muted);font-size:.9rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{min-height:52px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:var(--surface);text-decoration:none;font-weight:800;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.3)}.button-primary{border-color:transparent;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 15px 36px rgba(255,0,91,.22)}.button-secondary{background:var(--surface)}
.hero-orbit{min-height:390px}.orbit{position:absolute;inset:50%;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:50%;animation:spin 25s linear infinite}.orbit-a{width:290px;height:290px}.orbit-b{width:390px;height:390px;animation-direction:reverse;animation-duration:36s}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.floating-card{position:absolute;padding:13px 17px;border:1px solid var(--line);border-radius:15px;background:var(--surface-strong);box-shadow:var(--shadow);font-weight:800;animation:bob 5s ease-in-out infinite alternate}.card-web{top:7%;left:9%}.card-app{top:24%;right:3%;animation-delay:-1s}.card-shop{bottom:17%;left:2%;animation-delay:-2s}.card-ai{bottom:4%;right:14%;animation-delay:-3s}@keyframes bob{to{transform:translateY(-12px) rotate(1deg)}}
.section{padding-top:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:28px}.section-heading h2,.final-cta h2,.modal-panel h2,.admin-panel h2{max-width:760px;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.045em}.section-heading>p{max-width:420px;color:var(--muted);margin:0}.text-link{color:var(--text);text-decoration:none;font-weight:800;white-space:nowrap}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:235px;padding:23px;border-radius:22px;text-decoration:none;color:var(--text);transition:.2s}.service-card:hover,.project-card:hover{transform:translateY(-5px)}.service-number{display:block;margin-bottom:70px;color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.12em}.service-card h3{margin-bottom:9px}.service-card p{margin:0;color:var(--muted);font-size:.9rem}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.project-card{overflow:hidden;border-radius:23px;color:var(--text);text-decoration:none;transition:.2s}.project-visual{height:220px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--project-accent) 70%,white),transparent 25%),linear-gradient(145deg,color-mix(in srgb,var(--project-accent) 78%,#111),#11131a)}.project-visual span{font-size:3.5rem;font-weight:900;letter-spacing:-.08em;color:#fff}.project-copy{padding:21px}.project-type{color:var(--accent);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.project-copy h3{margin:8px 0}.project-copy p{margin:0;color:var(--muted);font-size:.88rem}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pricing-card{position:relative;border-radius:23px;padding:27px}.pricing-card.featured{border-color:rgba(255,0,91,.55)}.popular{position:absolute;right:18px;top:18px;padding:6px 10px;border-radius:999px;background:rgba(255,0,91,.13);color:#ff77a8;font-size:.7rem;font-weight:850}.plan-name{display:block;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.price{margin:12px 0 9px;font-size:2.4rem;font-weight:900;letter-spacing:-.05em}.pricing-card p{min-height:78px;color:var(--muted)}
.testimonial-section{margin-top:90px;padding:clamp(30px,6vw,65px);border-radius:28px}.testimonial{display:none;margin:0}.testimonial.active{display:block}.testimonial>p{max-width:900px;margin-bottom:25px;font-size:clamp(1.6rem,4vw,3rem);line-height:1.15;letter-spacing:-.035em}.testimonial footer{display:flex;gap:10px;color:var(--muted)}.testimonial footer strong{color:var(--text)}
.final-cta{margin-top:90px;padding:clamp(30px,6vw,60px);border-radius:28px;display:flex;align-items:end;justify-content:space-between;gap:35px}.final-cta p:last-child{max-width:670px;margin:18px 0 0;color:var(--muted)}
.site-footer{display:grid;grid-template-columns:1.3fr auto 1fr;align-items:end;gap:25px;padding:30px 0 40px;color:var(--muted);font-size:.8rem}.site-footer strong{color:var(--text)}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.site-footer a{color:inherit;text-decoration:none}.company{text-align:right}
.modal{position:fixed;inset:0;z-index:40;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}.modal-panel{position:relative;z-index:1;width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:26px;padding:clamp(25px,5vw,48px)}.modal-close{position:absolute;right:18px;top:16px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);font-size:1.5rem;cursor:pointer}.modal-intro{color:var(--muted)}label{display:grid;gap:7px;margin-bottom:16px;color:var(--muted);font-size:.85rem;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:var(--surface);color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.honeypot{position:absolute;left:-9999px}.form-status{margin:12px 0 0;color:var(--muted);font-size:.85rem}
.assistant{position:fixed;right:22px;bottom:22px;z-index:30}.assistant-toggle{border:0;border-radius:999px;padding:14px 18px;background:linear-gradient(135deg,var(--accent),var(--violet));color:#fff;font-weight:850;box-shadow:0 18px 45px rgba(0,0,0,.35);cursor:pointer}.assistant-panel{display:none;position:absolute;right:0;bottom:62px;width:min(360px,calc(100vw - 30px));border-radius:22px;overflow:hidden}.assistant-panel.open{display:block}.assistant-head{display:flex;justify-content:space-between;gap:15px;padding:18px;border-bottom:1px solid var(--line)}.assistant-head div{display:grid}.assistant-head span{color:var(--muted);font-size:.72rem}.assistant-close{border:0;background:none;color:var(--text);font-size:1.5rem;cursor:pointer}.assistant-messages{min-height:130px;padding:17px}.assistant-message{padding:12px 13px;border-radius:15px;background:var(--surface);font-size:.87rem}.assistant-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 17px 17px}.assistant-options button{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}
.admin-body{padding:0 18px;background:var(--bg)}.admin-login{width:min(460px,100%);margin:10vh auto;padding:36px;border-radius:26px}.admin-login h1{font-size:2.7rem;margin-top:35px}.admin-alert{margin-bottom:15px;padding:12px;border-radius:12px;background:rgba(255,0,91,.12);color:#ff8db5}.admin-shell{width:min(1200px,100%);margin:auto}.admin-hero{padding:55px 0 35px}.admin-hero h1{font-size:clamp(3rem,8vw,6rem)}.admin-hero p:last-child{color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stat{padding:22px;border-radius:20px}.admin-stat span{display:block;color:var(--muted);font-size:.78rem}.admin-stat strong{display:block;margin-top:7px;font-size:2rem}.admin-panel{margin-top:24px;padding:25px;border-radius:24px}.admin-panel-head{margin-bottom:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.enquiry-list{display:grid;gap:12px}.enquiry-card{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:18px;padding:18px;border:1px solid var(--line);border-radius:16px}.enquiry-card div{display:grid}.enquiry-card span,.enquiry-card time{color:var(--muted);font-size:.78rem}.enquiry-card p{margin:0}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-orbit{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid,.pricing-grid{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}.company{text-align:left}.admin-stats{grid-template-columns:1fr 1fr}.enquiry-card{grid-template-columns:1fr 1fr}.enquiry-card p,.enquiry-card time{grid-column:1/-1}.final-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.site-shell{width:min(100% - 22px,1180px)}.status-pill{display:none}.hero{padding:30px 22px;border-radius:23px}h1{font-size:clamp(2.8rem,15vw,4.4rem)}.section{padding-top:65px}.section-heading{align-items:flex-start;flex-direction:column}.service-grid,.portfolio-grid,.pricing-grid,.form-grid,.admin-stats{grid-template-columns:1fr}.final-cta{margin-top:65px}.site-footer nav{gap:10px}.assistant{right:12px;bottom:12px}.admin-header{align-items:flex-start}.admin-header .button{min-height:44px;padding:0 16px}}
