
:root{
  --black:#090909; --black-2:#121212; --panel:#191919; --red:#e21b16; --red-dark:#b9120f;
  --white:#fff; --muted:#b8b8b8; --light:#f4f4f2; --line:#2b2b2b;
  --max:1180px; --shadow:0 18px 50px rgba(0,0,0,.22);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,Helvetica,sans-serif;background:var(--white);color:#151515;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;object-fit:cover}
.container{width:min(calc(100% - 32px),var(--max));margin:auto}
.topbar{background:#050505;color:#ddd;font-size:.78rem}
.topbar .container{display:flex;justify-content:space-between;gap:12px;padding:9px 0}
.topbar a:hover{color:#fff}
.nav{background:#080808;color:#fff;border-bottom:2px solid var(--red);position:sticky;top:0;z-index:50}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.03em;font-size:1.2rem}
.logo-mark{width:42px;height:42px;position:relative;display:grid;place-items:center;font-size:1.6rem;font-weight:900;font-style:italic}
.logo-mark:before{content:"";position:absolute;inset:0;border-left:10px solid var(--red);border-top:10px solid var(--red);transform:skew(-22deg)}
.logo-mark:after{content:"";position:absolute;left:6px;right:-3px;bottom:3px;height:4px;background:#fff}
.logo span{display:block;line-height:1}
.logo small{color:var(--red);font-size:.68rem;letter-spacing:.14em}
.nav-links{display:none;list-style:none;gap:25px;align-items:center}
.nav-links a{font-size:.88rem;font-weight:800;text-transform:uppercase}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.menu-btn{border:1px solid #333;background:#111;color:#fff;width:44px;height:44px;border-radius:6px;font-size:1.3rem}
.mobile-menu{display:none;padding:12px 0 20px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid #242424;font-weight:800;text-transform:uppercase;font-size:.9rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--red);color:#fff;padding:13px 20px;font-weight:900;text-transform:uppercase;font-size:.8rem;border:2px solid var(--red);transition:.2s}
.btn:hover{background:#fff;color:var(--red)}
.btn.dark{background:#0b0b0b;border-color:#fff}.btn.dark:hover{background:#fff;color:#111}
.hero{min-height:690px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.75) 48%,rgba(0,0,0,.35) 100%),url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=2000&q=85") center/cover;color:#fff}
.hero-content{padding:75px 0;max-width:760px}
.eyebrow{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin-bottom:10px}
h1{font-size:clamp(2.8rem,8vw,5.8rem);line-height:.96;letter-spacing:-.055em;text-transform:uppercase}
h1 span,h2 span{color:var(--red)}
.hero p{max-width:650px;color:#ddd;font-size:1.05rem;margin:25px 0}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.trust{background:#050505;color:#fff}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#292929}
.trust-item{background:#050505;padding:24px 18px}
.trust-item strong{display:block;text-transform:uppercase;font-size:.83rem}.trust-item p{color:#aaa;font-size:.78rem}
.section{padding:78px 0}
.section.dark{background:#0b0b0b;color:#fff}
.section.grey{background:#f1f1ef}
.heading{max-width:760px;margin-bottom:38px}
.heading h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase}
.heading p{margin-top:15px;color:#666}.dark .heading p{color:#aaa}
.split{display:grid;gap:36px;align-items:center}
.image-stack{display:grid;grid-template-columns:1.35fr .65fr;gap:12px}
.image-stack img{height:100%;min-height:210px}
.image-stack .small{display:grid;gap:12px}
.cards{display:grid;grid-template-columns:1fr;gap:16px}
.card{background:#fff;border:1px solid #e1e1df;padding:27px;transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.dark .card{background:#171717;border-color:#2b2b2b}
.card .icon{font-size:2rem;color:var(--red);margin-bottom:12px}.card h3{font-size:1.1rem;text-transform:uppercase}.card p{color:#666;margin-top:8px}.dark .card p{color:#aaa}
.projects{display:grid;grid-template-columns:1fr;gap:16px}
.project{position:relative;overflow:hidden;min-height:290px;background:#111}.project img{height:100%;min-height:290px;transition:.5s}.project:hover img{transform:scale(1.04)}
.project-info{position:absolute;inset:auto 0 0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#fff}.project-info span{color:#ff4b46;text-transform:uppercase;font-size:.72rem;font-weight:900}.project-info h3{text-transform:uppercase}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ddd;margin-top:30px}.stat{background:#fff;padding:25px}.stat strong{font-size:2rem;line-height:1;display:block}.stat span{font-size:.78rem;text-transform:uppercase;color:#777;font-weight:800}
.page-hero{padding:90px 0;background:#0a0a0a;color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-120px;top:-180px;width:480px;height:480px;border:80px solid rgba(226,27,22,.13);transform:rotate(25deg)}.page-hero p{max-width:650px;color:#aaa;margin-top:18px}
.breadcrumb{color:#999;font-size:.75rem;text-transform:uppercase;font-weight:800;margin-bottom:20px}.breadcrumb a{color:#fff}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery img{height:220px}.gallery .wide{grid-column:1/-1;height:300px}
.quote{background:var(--red);color:#fff;padding:38px}.quote h2{text-transform:uppercase;font-size:2rem;line-height:1.05}.quote p{margin:10px 0 20px;color:#ffe5e4}
.form{display:grid;gap:14px}.form label{font-size:.75rem;text-transform:uppercase;font-weight:900}.form input,.form textarea,.form select{width:100%;padding:14px;border:1px solid #ccc;background:#fff;font:inherit}.form textarea{min-height:150px;resize:vertical}
.contact-grid{display:grid;gap:30px}.contact-list{display:grid;gap:15px}.contact-item{padding:20px;background:#f1f1ef;border-left:4px solid var(--red)}.contact-item strong{display:block;text-transform:uppercase;font-size:.75rem}.contact-item a{font-weight:800}
footer{background:#050505;color:#fff;padding:55px 0 20px}.footer-grid{display:grid;gap:30px}.footer-grid h3{font-size:.9rem;text-transform:uppercase;margin-bottom:12px}.footer-grid p,.footer-grid a{color:#999;font-size:.85rem}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #242424;margin-top:35px;padding-top:18px;color:#777;font-size:.72rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.notice{padding:14px;background:#fff4f4;border-left:4px solid var(--red);font-size:.82rem;margin-top:16px}
@media(min-width:700px){
 .container{width:min(calc(100% - 48px),var(--max))}
 .cards{grid-template-columns:repeat(2,1fr)} .projects{grid-template-columns:repeat(2,1fr)}
 .split{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:.8fr 1.2fr}
 .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
 .gallery{grid-template-columns:repeat(3,1fr)}.gallery .wide{grid-column:span 2}
 .trust-grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1000px){
 .nav-links{display:flex}.menu-btn{display:none}.mobile-menu{display:none!important}
 .cards{grid-template-columns:repeat(4,1fr)} .projects{grid-template-columns:repeat(3,1fr)}
 .project:first-child{grid-column:span 2}.project:first-child img{min-height:420px}
 .hero{min-height:760px}.hero-content{padding:100px 0}
 .stats{grid-template-columns:repeat(4,1fr)}
}

/* Access Station real-project gallery */
.real-gallery .gallery-item{display:block;overflow:hidden;background:#111;min-height:220px;position:relative}
.real-gallery .gallery-item img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;transition:transform .35s ease,opacity .35s ease}
.real-gallery .gallery-item:hover img{transform:scale(1.035);opacity:.9}
.gallery-note{margin-top:18px;color:#666;font-size:.95rem}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:28px;z-index:1000}
.lightbox.open{display:flex}
.lightbox img{max-width:95vw;max-height:90vh;width:auto;height:auto;object-fit:contain}
.lightbox-close{position:absolute;right:22px;top:14px;border:0;background:none;color:#fff;font-size:3rem;line-height:1;cursor:pointer}
@media(max-width:700px){.real-gallery .gallery-item,.real-gallery .gallery-item img{min-height:180px}.lightbox{padding:16px}}

/* Official Access Station Ltd logo */
.logo{display:flex;align-items:center;text-decoration:none}
.brand-logo{display:block;width:165px;height:auto;max-height:76px;object-fit:contain}
@media(max-width:700px){
  .brand-logo{width:135px;max-height:62px}
}
