*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#171717;background:#fff;font-size:14px}a{text-decoration:none;color:inherit}a:hover{color:#f77521}.top-strip{height:20px;background:#333}.container{max-width:1200px;margin:auto;padding:0 18px}.header{background:white;position:relative;z-index:20}.head-row{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:155px;height:auto;display:block}.right{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.contact-mini{font-size:10px;color:#555}.contact-mini a{margin-left:12px}.contact-mini b{color:#f77521}.nav{display:flex;gap:20px;align-items:center}.nav a{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;position:relative;padding:4px 0}.nav a.active,.nav a:hover{color:#f77521}.nav a.active:before{content:'';position:absolute;height:2px;background:#f77521;left:0;right:0;top:-8px}.menu-toggle{display:none}.slider{height:auto;aspect-ratio:1900/800;max-height:510px;position:relative;overflow:hidden;background:#1385ba}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s}.slide.active{opacity:1}.slide-caption{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.7);color:white;padding:14px 25px;font-weight:700;font-size:21px;text-align:center;line-height:1.5;min-width:340px}.dots{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.dots button{width:8px;height:8px;border:1px solid white;background:transparent;border-radius:50%;padding:0;cursor:pointer}.dots button.active{background:white}.section{padding:52px 0 65px}.section h1,.section h2{text-align:center;text-transform:uppercase;font-size:30px;margin:0 0 35px;font-weight:750}.section h1 span,.section h2 span{color:#f77521}.about-card{max-width:660px;margin:auto;text-align:center;box-shadow:0 9px 25px #00000016;padding:0 42px 28px;background:#fff}.about-card img{height:130px;width:170px;object-fit:cover;border-radius:50%;border:2px solid #f77521;margin-top:-15px}.about-card h3{color:#f77521;font-size:14px;margin:16px 0 8px}.about-card p{font-size:12px;line-height:1.65;max-width:470px;margin:0 auto 18px;font-style:italic}.btn{border:2px solid #f77521;color:#161616;display:inline-block;padding:11px 24px;font-weight:700;font-size:11px;letter-spacing:1px;background:white;cursor:pointer}.btn:hover{background:#f77521;color:white}.services-band{background:#eef3fb}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:28px 0 42px}.service{text-align:center}.service img{height:160px;width:100%;object-fit:cover}.service h3{font-size:17px;min-height:40px;margin:16px 0 8px}.service p{font-size:13px;color:#666}.center{text-align:center}.footer{background:#050505;color:#fff;padding:40px 0 35px}.footgrid{display:grid;grid-template-columns:1.2fr .7fr 1.1fr;gap:55px}.footer h3{font-size:15px;color:#f77521;margin:0 0 15px}.footer p,.footer a{font-size:12px;line-height:1.75;color:#fff}.footer a:hover{color:#f77521}.foot-links{display:flex;flex-direction:column;gap:5px}.copyright{background:#f77521;color:white;text-align:center;padding:13px;font-size:11px}.page-banner{background:linear-gradient(#0005,#0005),url('assets/banner2.jpg') center/cover;min-height:215px;display:flex;align-items:center;justify-content:center;color:white;font-size:26px;font-weight:700}.inner{max-width:1050px;margin:auto;padding:50px 20px 75px}.inner h1{font-size:28px;text-transform:uppercase}.inner p{line-height:1.85;color:#444}.inner h2{font-size:22px;margin-top:30px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.inner-photo{width:100%;max-height:390px;object-fit:cover}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}.service-item{background:#f5f7fa;padding:22px;border-left:3px solid #f77521}.service-item h2{margin:0;font-size:18px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-card{background:#f5f7fa;padding:25px}.contact-card h2{font-size:17px}.contact-card p{font-size:13px}.note{font-size:12px;color:#666}@media(max-width:760px){.head-row{min-height:70px}.brand img{width:135px}.contact-mini{display:none}.menu-toggle{display:block;background:white;border:1px solid #ddd;padding:8px 11px;cursor:pointer}.right{gap:0}.nav{display:none;position:absolute;top:90px;left:0;right:0;background:white;box-shadow:0 10px 20px #0002;flex-direction:column;padding:20px}.nav.open{display:flex}.slider{aspect-ratio:1.5}.slide-caption{font-size:15px;min-width:250px;padding:10px}.section{padding:42px 0}.section h1,.section h2{font-size:24px}.about-card{padding:0 20px 25px}.service-grid,.footgrid,.two-col,.service-list,.contact-cards{grid-template-columns:1fr}.service img{height:200px}.footgrid{gap:25px}.page-banner{min-height:150px;font-size:20px}}
/* Normal desktop proportions — corrected from zoomed-out reference */
@media (min-width: 761px) {
  body {font-size:16px}
  .top-strip {height:24px}
  .container {max-width:1240px;padding-left:24px;padding-right:24px}
  .head-row {min-height:106px}
  .brand img {width:205px}
  .right {gap:19px}
  .contact-mini {font-size:13px}
  .nav {gap:29px}
  .nav a {font-size:14px;letter-spacing:.7px;padding:7px 0}
  .slider {max-height:610px}
  .slide-caption {font-size:28px;padding:20px 36px;min-width:450px}
  .dots button {width:11px;height:11px}
  .section {padding:72px 0 84px}
  .section h1,.section h2 {font-size:36px;margin-bottom:46px}
  .about-card {max-width:800px;padding:0 50px 42px}
  .about-card img {width:205px;height:158px}
  .about-card h3 {font-size:19px;margin:22px 0 13px}
  .about-card p {font-size:16px;max-width:620px;line-height:1.75;margin-bottom:25px}
  .btn {font-size:14px;padding:13px 30px}
  .service-grid {gap:38px;margin:35px 0 48px}
  .service img {height:225px}
  .service h3 {font-size:21px;margin-top:20px}
  .service p {font-size:16px}
  .footer {padding:55px 0 48px}
  .footer h3 {font-size:19px;margin-bottom:20px}
  .footer p,.footer a {font-size:15px}
  .copyright {font-size:13px;padding:16px}
  .page-banner {min-height:265px;font-size:32px}
  .inner {max-width:1150px;padding:65px 24px 90px}
  .inner h1 {font-size:34px}
  .inner h2 {font-size:26px}
  .inner p {font-size:16px}
  .service-item h2 {font-size:21px}
  .contact-card h2 {font-size:21px}
  .contact-card p {font-size:16px}
}

/* Full-width desktop layout: no fixed 1240px website frame */
@media (min-width: 761px) {
  .container { max-width: none; width: 100%; padding-left: 4%; padding-right: 4%; }
  .header .container { padding-left: 4%; padding-right: 4%; }
  main > .container { padding-left: 0; padding-right: 0; }
  .slider { width: 100%; max-height: none; aspect-ratio: 1900 / 800; }
  .section > .container, .footer > .container { max-width: none; }
  .inner { max-width: none; width: 92%; }
}

/* FINAL EDGE-TO-EDGE OVERRIDE: desktop site fills the actual viewport */
html, body {width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden;}
@media (min-width:761px) {
 .container, .header .container, main > .container, .section > .container, .footer > .container {max-width:100%!important;width:100%!important;margin-left:0!important;margin-right:0!important;}
 main > .container {padding:0!important;}
 main > .container > .slider {width:100vw!important;max-width:100vw!important;margin:0!important;aspect-ratio:1900/800;max-height:none!important;}
 .header .container {padding-left:3%!important;padding-right:3%!important;}
 .section > .container,.footer > .container {padding-left:3%!important;padding-right:3%!important;}
 .inner {max-width:100%!important;width:94%!important;}
}

/* Audited layout: actual viewport width without artificial desktop frame */
@media(min-width:761px){body>.top-strip{width:100%}.header .head-row{width:100%;max-width:none}.slider{width:100%!important;max-width:none!important;aspect-ratio:1900/800;max-height:none}.section>.container,.footer>.container{width:100%;max-width:none}}
@media(max-width:760px){.slider{width:100%;aspect-ratio:1.5}.slide-caption{max-width:calc(100% - 28px);min-width:0}.contact-cards{grid-template-columns:1fr}}
:focus-visible{outline:3px solid #f77521;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.skip-link{position:absolute;top:-80px;left:12px;background:#fff;color:#000;padding:10px;z-index:9999}.skip-link:focus{top:10px}

/* SQL-audited enquiry form */
.pms-contact-form{display:grid;gap:16px;max-width:700px;margin:24px 0 48px}.pms-contact-form label{display:grid;gap:7px;font-weight:600}.pms-contact-form input,.pms-contact-form textarea{font:inherit;padding:12px;border:1px solid #c8c8c8;width:100%;box-sizing:border-box}.pms-contact-form button{cursor:pointer;border:0;justify-self:start}
