:root{--navy:#061f4a;--navy2:#0b326e;--blue:#164fc6;--cyan:#18aee8;--orange:#ff7417;--ink:#13223f;--muted:#647087;--soft:#f4f7fb;--line:#dfe5ee;--white:#fff;--shadow:0 18px 46px rgba(7,31,74,.12)}
*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff}h1,h2,h3{font-family:Manrope,Inter,sans-serif;line-height:1.12;margin:0 0 18px}p{margin:0 0 18px}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1220px,92%);margin:auto}.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:10px;top:10px;z-index:999;background:#fff;padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.topbar{background:var(--navy);color:#dce9ff;font-size:.85rem}.topbar-inner{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand img{width:235px;height:62px;object-fit:contain;object-position:left}.primary-nav{display:flex;align-items:center;gap:28px;font-size:.86rem;font-weight:800;text-transform:uppercase}.primary-nav a{padding:28px 0 23px;border-bottom:3px solid transparent}.primary-nav a:hover,.primary-nav a.active{color:var(--blue);border-bottom-color:var(--cyan)}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--navy)}
.hero-home{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);width:100%;max-width:none;margin:0;min-height:500px;background:var(--navy);color:#fff;overflow:hidden}
.hero-copy{display:flex;align-items:center;background:linear-gradient(115deg,#061f4a 0%,#082c63 100%);position:relative;z-index:2}
.hero-copy:after{content:"";position:absolute;top:0;right:-55px;width:110px;height:100%;background:#082c63;clip-path:polygon(0 0,50% 0,100% 100%,50% 100%);z-index:-1}
.hero-copy-inner{width:100%;max-width:none;margin:0;padding:58px clamp(28px,5vw,86px)}
.hero-copy h1{font-size:clamp(2.8rem,4.35vw,4.65rem);letter-spacing:-.045em;max-width:700px}
.hero-copy h1 em{font-style:normal;color:var(--cyan)}
.hero-copy p{font-size:1.08rem;max-width:590px;color:#e6efff}
.hero-panels{display:grid;grid-template-columns:1.05fr 1.15fr 1.05fr 1.15fr;height:100%;min-width:0}
.hero-panel{position:relative;background-position:center;background-size:cover;background-repeat:no-repeat;border-left:3px solid rgba(255,255,255,.85);transform:skewX(-6deg);overflow:hidden;margin-left:-22px}
.hero-panel:first-child{margin-left:0}.hero-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,20,51,.04),rgba(2,20,51,.18))}
.hero-panel-harvesting{background-image:url('../images/harvester-field.jpg')}
.hero-panel-haulage{background-image:url('../images/haulage-front.jpg');background-position:58% center}
.hero-panel-accommodation{background-image:url('../images/student-house-hero.jpg');background-position:54% center}
.hero-panel-bouncy{background-image:url('../images/bouncy-unicorn-castle.png');background-position:center center}
.kicker{display:inline-block;color:var(--blue);font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;font-weight:900;margin-bottom:10px}.kicker.light{color:#8ddcff}.kicker.orange{color:var(--orange)}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:5px;font-weight:800;font-size:.86rem;text-transform:uppercase;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(6,31,74,.2)}.btn-primary{background:var(--blue);color:#fff}.btn-ghost{border-color:#fff;color:#fff;background:rgba(255,255,255,.04)}.btn-orange{background:var(--orange);color:#fff}.btn-white{background:#fff;color:var(--navy)}.btn-small{padding:11px 17px;font-size:.76rem}
.section{padding:82px 0}.soft,.companies-section{background:var(--soft)}.section-heading{text-align:center;max-width:800px;margin:0 auto 38px}.section-heading.compact{margin-bottom:26px}.section-heading h2{font-size:clamp(2rem,4vw,3.1rem);color:var(--navy)}.section-heading h2 span,.about-snapshot h2 span{color:var(--blue)}.section-heading p{color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portfolio-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 10px 26px rgba(12,39,82,.08);display:flex;flex-direction:column}.portfolio-logo{height:94px;width:100%;object-fit:contain;padding:17px}.bouncy-logo{height:104px;padding:10px 16px;object-fit:contain;background:#fff}.portfolio-photo,.bouncy-visual{width:100%;height:170px;object-fit:cover}.bouncy-visual,.bouncy-feature,.bouncy-mosaic{background:url('../images/bouncy-unicorn-castle.png') center/cover no-repeat}.portfolio-body{padding:22px;display:flex;flex-direction:column;flex:1}.portfolio-body p{font-size:.92rem;color:#424f65}.portfolio-body ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px;color:#2d3c56;font-size:.86rem}.portfolio-body li:before{content:'▣';color:var(--blue);margin-right:8px}.bouncy-card li:before{color:var(--orange)}.portfolio-body .btn{margin-top:auto;align-self:flex-start}.student-logo{height:94px;padding:19px 12px 10px;display:grid;grid-template-columns:45px auto;grid-template-rows:auto auto;align-items:center;justify-content:center;color:#2955ae}.student-logo .bubble-mark{grid-row:1/3;font-size:1.8rem;letter-spacing:-10px;margin-right:10px}.student-logo .bubble-mark i,.student-logo .bubble-mark b{font-style:normal;font-weight:400;font-size:.7em}.student-logo strong{font-size:1.55rem;font-weight:500;letter-spacing:-.05em}.student-logo small{font-size:.62rem;letter-spacing:.08em;font-weight:900}.student-logo.large{height:auto;justify-content:flex-start;padding:10px 0 20px}.student-logo.large strong{font-size:2.3rem}
.stats-band{background:linear-gradient(120deg,#051a41,#0a3675);color:#fff;padding:38px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stats-grid>div{text-align:center;border-right:1px solid rgba(255,255,255,.25);padding:5px 20px}.stats-grid>div:last-child{border-right:0}.stats-grid strong{font-size:2.3rem;display:block}.stats-grid span{display:block;text-transform:uppercase;font-weight:800;font-size:.77rem}.stats-grid small{color:#c8d8f4}.snapshot-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center}.about-snapshot h2{font-size:clamp(2.1rem,4vw,3.4rem);color:var(--navy)}.about-snapshot p{color:var(--muted)}.image-mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.image-mosaic img,.bouncy-mosaic{width:100%;height:185px;object-fit:cover;border-radius:8px}.values-section{padding-top:20px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;background:#fff}.values-grid article{padding:26px;border-right:1px solid var(--line)}.values-grid article:last-child{border-right:0}.values-grid span{font-size:1.8rem;color:var(--blue)}.values-grid h3{font-size:1rem;margin:7px 0}.values-grid p{font-size:.86rem;color:var(--muted);margin:0}.cta-band{background:linear-gradient(120deg,var(--blue),var(--navy2));color:#fff;padding:48px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{margin:0;font-size:2.1rem}
.page-hero{background:linear-gradient(105deg,#051a42,#0a3a7e);color:#fff;padding:90px 0}.page-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);max-width:900px}.page-hero p{max-width:760px;color:#dce8fb;font-size:1.08rem}.two-column{display:grid;grid-template-columns:1.4fr .6fr;gap:55px}.two-column h2,.company-detail h2,.story-grid h2{font-size:clamp(2rem,4vw,3.1rem);color:var(--navy)}.two-column h3{margin-top:28px;color:var(--navy)}.two-column p,.company-detail p,.story-grid p{color:var(--muted)}.fact-card{background:var(--navy);color:#fff;padding:32px;border-radius:14px;align-self:start}.fact-card dl{margin:0}.fact-card dt{color:#8edcff;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.12em;margin-top:18px}.fact-card dd{margin:3px 0 0}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.principles-grid article{background:#fff;border:1px solid var(--line);padding:28px;border-radius:12px}.principles-grid p{color:var(--muted);margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.detail-grid.reverse .detail-media{order:2}.detail-media>img:first-child{max-height:100px;object-fit:contain;object-position:left;margin-bottom:18px}.main-detail-image{width:100%;height:390px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow)}.mini-gallery{display:grid;grid-template-columns:2fr 1fr;gap:8px}.mini-gallery img{width:100%;height:190px;object-fit:cover;border-radius:8px}.mini-gallery img:first-child{grid-row:span 2;height:388px}.service-chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.service-chips span{background:#edf3ff;color:#173a7b;border-radius:30px;padding:8px 13px;font-size:.8rem;font-weight:700}.orange-chips span{background:#fff0e4;color:#b84c00}.bouncy-detail-logo{max-height:135px!important;width:auto;object-fit:contain;background:#fff;padding:8px 0}.bouncy-feature{height:350px;border-radius:12px}.story-grid{display:grid;grid-template-columns:1fr .85fr;gap:65px}.timeline{border-left:3px solid var(--cyan);padding-left:28px}.timeline article{margin-bottom:30px}.timeline time{font-weight:900;color:var(--blue)}.timeline h3{margin:4px 0 7px}.quote-block{max-width:900px;text-align:center}.quote-block p{font:800 clamp(1.5rem,3vw,2.5rem)/1.35 Manrope;color:var(--navy)}.projects-grid{display:grid;gap:30px}.project-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.project-card img{width:100%;height:300px;object-fit:cover}.project-card>div{padding:30px 40px 30px 0}.project-card h2{color:var(--navy)}.project-card p{color:var(--muted)}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-gallery img{width:100%;height:240px;object-fit:cover;border-radius:9px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.contact-panel{background:var(--navy);color:#fff;border-radius:14px;padding:38px;align-self:start}.contact-panel h2{font-size:2.4rem}.contact-panel p{color:#dce9ff}.contact-panel a{color:#91dcff}.contact-note{border-top:1px solid rgba(255,255,255,.2);padding-top:20px}.enquiry-form{border:1px solid var(--line);border-radius:14px;padding:38px;box-shadow:var(--shadow)}.enquiry-form label{display:block;font-weight:800;margin:0 0 15px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;margin-top:6px;padding:13px;border:1px solid #ccd4e0;border-radius:6px;font:inherit}.enquiry-form textarea{min-height:155px}.alert{padding:13px 15px;border-radius:6px;margin-bottom:18px}.alert.success{background:#e7f8ef;color:#126b3b}.alert.info{background:#edf5ff;color:#244c84}.alert.error{background:#fff0f0;color:#9d2a2a}
.site-footer{background:#041a3e;color:#c9d9f1;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .7fr;gap:35px}.footer-logo{width:230px;background:#fff;padding:7px;border-radius:4px;margin-bottom:15px}.site-footer h3{color:#fff;font-size:.95rem;text-transform:uppercase}.site-footer p{font-size:.88rem}.site-footer a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:17px;margin-top:28px;font-size:.8rem;display:flex;justify-content:space-between}
@media(max-width:1050px){.hero-home{grid-template-columns:46% 54%;min-height:470px}.hero-copy h1{font-size:clamp(2.6rem,5vw,4rem)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.hero-home{grid-template-columns:46% 54%}.hero-panels{grid-template-columns:repeat(2,1fr)}.hero-panel-accommodation,.hero-panel-bouncy{display:none}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar{display:none}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 4%;box-shadow:0 15px 30px rgba(0,0,0,.12)}.primary-nav.open{display:flex}.primary-nav a{padding:8px 0}.hero-home{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:560px;background:linear-gradient(90deg,rgba(4,24,59,.97),rgba(4,24,59,.82)),url('../images/harvester-field.jpg') center/cover no-repeat}.hero-copy:after,.hero-panels{display:none}.hero-copy-inner{width:92%;margin:auto;padding:76px 0}.snapshot-grid,.two-column,.detail-grid,.story-grid,.contact-grid{grid-template-columns:1fr}.detail-grid.reverse .detail-media{order:initial}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid>div:nth-child(2){border-right:0}.values-grid{grid-template-columns:repeat(2,1fr)}.values-grid article:nth-child(2){border-right:0}.values-grid article{border-bottom:1px solid var(--line)}.project-card{grid-template-columns:1fr}.project-card>div{padding:25px}.photo-gallery{grid-template-columns:repeat(2,1fr)}.cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.brand img{width:190px}.hero-copy h1{font-size:3.1rem}.hero-copy-inner{padding:70px 0}.section{padding:58px 0}.portfolio-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.stats-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.image-mosaic{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr}.values-grid article{border-right:0}.principles-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:220px}.mini-gallery{grid-template-columns:1fr}.mini-gallery img,.mini-gallery img:first-child{height:230px;grid-row:auto}}



/* =========================================================
   BLUEBUBBLES GROUP — FULL-WIDTH HEADER & FOOTER ALIGNMENT
   Add this file AFTER the main stylesheet, or paste it at
   the very bottom of the existing CSS file.
   ========================================================= */

/* Prevent unwanted horizontal gaps */
html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* Keep normal page sections centred, but make header/footer full width */
.topbar .container,
.site-header .container,
.site-footer .container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: clamp(24px, 4vw, 72px);
    padding-right: clamp(24px, 4vw, 72px);
}

/* ---------- TOP BAR ---------- */

.topbar {
    width: 100%;
}

.topbar-inner {
    width: 100%;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 5px;
    padding-bottom: 5px;
}

/* ---------- MAIN HEADER ---------- */

.site-header {
    width: 100%;
}

.nav-wrap {
    width: 100%;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 42px;
}

.brand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.brand img {
    width: clamp(215px, 15vw, 260px);
    height: 62px;
    object-fit: contain;
    object-position: left center;
}

.primary-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(20px, 2vw, 34px);
}

.primary-nav a {
    white-space: nowrap;
}

/* ---------- FOOTER ---------- */

.site-footer {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.footer-grid {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) repeat(3, minmax(170px, 1fr));
    gap: clamp(28px, 3vw, 54px);
    align-items: start;
}

.footer-logo {
    width: min(235px, 100%);
    height: auto;
}

.copyright {
    width: 100%;
    margin-top: 30px;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

/* ---------- TABLET ---------- */

@media (max-width: 1050px) {
    .topbar .container,
    .site-header .container,
    .site-footer .container {
        padding-left: 28px;
        padding-right: 28px;
    }

    .nav-wrap {
        gap: 24px;
    }

    .brand img {
        width: 220px;
    }

    .primary-nav {
        gap: 20px;
        font-size: 0.8rem;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

/* ---------- MOBILE ---------- */

@media (max-width: 850px) {
    .topbar {
        display: none;
    }

    .site-header .container,
    .site-footer .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .nav-wrap {
        height: 72px;
    }

    .brand img {
        width: 195px;
        height: 56px;
    }

    .primary-nav {
        left: 0;
        right: 0;
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .copyright {
        display: block;
    }
}

@media (max-width: 560px) {
    .site-header .container,
    .site-footer .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .brand img {
        width: 180px;
    }
}
