/*
Theme Name: ROYSTEP Construction Ltd
Theme URI: https://roysteps.com/
Author: ROYSTEP Construction Ltd
Description: A professional, blue construction company website for ROYSTEP Construction Ltd. Gutenberg-friendly and editable through WordPress admin.
Version: 1.4.1
Text Domain: roystep
*/
:root{--blue:#0757b8;--navy:#061b3a;--red:#ef1b27;--light:#f5f8fc;--text:#172033;--muted:#667085;--white:#fff;--radius:14px;--shadow:0 14px 40px rgba(8,31,70,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}a{color:var(--blue);text-decoration:none}a:hover{color:var(--navy)}img{max-width:100%;height:auto}.container{width:min(1160px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:99;background:rgba(4,22,48,.96);backdrop-filter:blur(10px);box-shadow:0 3px 18px rgba(0,0,0,.12)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;color:#fff;font-weight:800}.brand img{width:70px;height:70px;object-fit:contain;margin-right:10px}.brand-text{line-height:1.1}.brand-text strong{display:block;font-size:18px;letter-spacing:.5px}.brand-text span{font-size:10px;color:#c7d5e8;letter-spacing:2px}.main-nav ul{display:flex;gap:7px;list-style:none;margin:0;padding:0;align-items:center}.main-nav a{display:block;color:#fff;padding:11px 12px;border-radius:8px;font-weight:600;font-size:14px}.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:28px}.hero{min-height:650px;display:flex;align-items:center;position:relative;background-image:linear-gradient(90deg,rgba(3,19,44,.90),rgba(3,19,44,.48),rgba(3,19,44,.18)),url('assets/images/hero-background.jpg');background-size:cover;background-position:center}.hero-content{max-width:700px;color:#fff;padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-weight:800;color:#79b5ff;font-size:13px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.05;margin:12px 0 22px}.hero p{font-size:20px;max-width:620px;color:#eaf2ff}.btn{display:inline-block;padding:13px 22px;border-radius:8px;font-weight:800;border:2px solid var(--blue);background:var(--blue);color:#fff;margin:8px 8px 0 0}.btn:hover{background:#fff;color:var(--navy);border-color:#fff}.btn-outline{background:transparent;border-color:#fff}.section{padding:78px 0}.section.alt{background:var(--light)}.section-head{max-width:700px;margin-bottom:35px}.section-head h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:8px 0 12px;color:var(--navy)}.section-head p{color:var(--muted)}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid #e4eaf2;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);height:100%}.card h3{margin-top:0;color:var(--navy);font-size:22px}.icon{width:48px;height:48px;border-radius:12px;background:#e7f1ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:18px}.project-thumb{aspect-ratio:16/9;background:#dce7f4;overflow:hidden;border-radius:12px;margin:-4px -4px 20px}.project-thumb img{width:100%;height:100%;object-fit:cover}.cta{background:linear-gradient(115deg,var(--navy),var(--blue));color:#fff;border-radius:20px;padding:50px}.cta h2{margin:0 0 10px;font-size:38px}.cta p{color:#dbe9ff}.page-hero{background:linear-gradient(110deg,var(--navy),var(--blue));color:#fff;padding:72px 0}.page-hero h1{font-size:50px;line-height:1.1;margin:0 0 10px}.page-hero p{margin:0;color:#dbe9ff}.content-area{padding:70px 0}.entry-content{font-size:17px}.entry-content h2,.entry-content h3{color:var(--navy)}.form-wrap{max-width:900px;margin:auto;background:#fff;border:1px solid #e1e8f0;border-radius:18px;padding:34px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:16px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #cfd8e3;border-radius:8px;font:inherit;background:#fff}.field textarea{min-height:140px;resize:vertical}.notice{padding:14px 16px;border-radius:8px;background:#eaf7ee;color:#175b2c;margin-bottom:20px}.notice.error{background:#fff0f0;color:#8c1c1c}.hp{position:absolute;left:-9999px;opacity:0}.site-footer{background:#04152e;color:#c6d3e6;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}.site-footer h3{color:#fff;margin-top:0}.footer-logo{width:90px;background:#000;border-radius:10px;margin-bottom:10px}.socials{display:flex;gap:9px;flex-wrap:wrap}.socials a{width:40px;height:40px;border:1px solid #35506f;border-radius:50%;display:grid;place-items:center;color:#fff}.socials svg{width:18px;height:18px;fill:currentColor}.copyright{border-top:1px solid #263b57;margin-top:35px;padding-top:18px;font-size:13px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy);padding:15px}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav a{padding:13px}.menu-toggle{display:block}.grid-3{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.grid-3,.grid-2,.form-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:590px}.hero-content{padding:65px 0}.section{padding:55px 0}.page-hero h1{font-size:38px}.brand img{width:60px;height:60px}.cta{padding:32px}.cta h2{font-size:30px}}
.product-card{display:flex;flex-direction:column}.product-card .quote-btn{margin-top:auto;width:max-content}.quote-icon{font-size:21px}.quote-btn span{margin-left:6px}
/* Product catalogue: portrait product photography is stored as WordPress Featured Images,
   so editors can replace it from Products -> Edit -> Featured image. */
.product-grid{grid-template-columns:repeat(4,1fr);align-items:stretch}
.product-card{overflow:hidden;padding:18px}
.product-card .project-thumb{aspect-ratio:4/5;margin:-18px -18px 20px;border-radius:0;background:#f7f9fc;display:flex;align-items:center;justify-content:center}
.product-card .project-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.product-card h3{font-size:21px;margin-bottom:8px}
.product-card p{color:var(--muted);font-size:15px}
.product-card .quote-btn{width:100%;text-align:center;margin-top:16px}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.product-grid{grid-template-columns:1fr}}
