
    :root{--black:#16191b;--black-soft:#24282b;--orange:#ee791b;--orange-dark:#b95100;--silver:#e6e8e9;--silver-light:#f4f5f5;--ink:#202427;--muted:#586066;--line:#d6dadd}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}section[id]{scroll-margin-top:92px}
    .topbar{background:var(--black);color:var(--silver);font-size:.82rem;letter-spacing:.035em}.topbar .wrap{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a{text-decoration:none;font-weight:700;color:#fff}.topbar a:hover,.footer a:hover{text-decoration:underline}
    header{position:sticky;top:0;z-index:20;background:#f7f8f8;border-bottom:1px solid var(--line);box-shadow:0 5px 22px #1018200a}header .wrap{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain;border-radius:50%}.brand-name{font-size:1.05rem;line-height:1.1;font-weight:900;letter-spacing:.06em;color:var(--black)}.brand-name small{display:block;font-size:.59rem;letter-spacing:.16em;color:#697176;margin-top:7px}nav{display:flex;align-items:center;gap:29px;font-size:.9rem;font-weight:700}nav a{text-decoration:none;white-space:nowrap}nav a:not(.nav-cta):hover{color:var(--orange-dark)}
    .button,.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;background:var(--orange);color:#17191a;border:1px solid var(--orange);border-radius:3px;text-decoration:none;font-weight:800;line-height:1.2;transition:background .2s,transform .2s}.button:hover,.nav-cta:hover{background:#ffa050;transform:translateY(-1px)}.button.secondary{background:transparent;border-color:#92999d;color:#fff}.button.secondary:hover{background:#ffffff18}.nav-cta{min-height:42px;padding:10px 17px}
    .hero{background:var(--black);color:#fff}.hero-grid{display:grid;grid-template-columns:48% 52%;min-height:600px}.hero-copy{padding:75px 8% 72px max(24px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}.eyebrow{display:block;color:var(--orange);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:900}.hero h1{font-size:clamp(2.8rem,5.2vw,4.8rem);line-height:1.03;letter-spacing:-.045em;margin:18px 0 22px;max-width:670px}.hero h1 em{font-style:normal;color:var(--orange)}.hero p{max-width:510px;color:#d5d9db;font-size:1.16rem;line-height:1.58;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-photo{position:relative;min-height:430px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 46%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#16191b30,transparent 40%)}.hero-photo .photo-label{position:absolute;right:24px;bottom:24px;z-index:1;background:#16191be6;border-left:4px solid var(--orange);padding:9px 15px;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.02em}
    .proof{background:var(--silver);border-bottom:1px solid var(--line)}.proof .wrap{display:flex;justify-content:space-between;gap:20px;padding:21px 0;color:#333a3e;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.proof span+span{border-left:1px solid #b7bdc0;padding-left:22px}
    .section{padding:88px 0}.section-head{max-width:760px;margin-bottom:35px}.section h2{font-size:clamp(2.1rem,3.5vw,3.25rem);line-height:1.12;letter-spacing:-.035em;margin:12px 0 14px}.section-head p{font-size:1.1rem;color:var(--muted);margin:0}.services{background:var(--silver-light)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{background:#fff;border:1px solid var(--line);padding:26px 23px 27px;min-height:172px;box-shadow:0 4px 20px #141a1c06}.service:before{content:"";display:block;width:33px;height:4px;background:var(--orange);margin-bottom:22px}.service strong{display:block;font-size:1.15rem;line-height:1.22;margin-bottom:9px}.service p{color:var(--muted);font-size:.93rem;line-height:1.5;margin:0}
    .projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{position:relative;aspect-ratio:1.12;overflow:hidden;background:var(--silver-light)}.project:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.project img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s}.project:hover img{transform:scale(1.04)}.project:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0a0c0de8)}.project span{position:absolute;z-index:1;bottom:20px;left:22px;right:15px;color:#fff;font-size:1.13rem;font-weight:800}.project:first-child span{font-size:1.55rem}.project .project-kicker{position:absolute;z-index:1;bottom:52px;left:22px;color:#ffad68;font-size:.72rem;letter-spacing:.14em;font-weight:900;text-transform:uppercase}
    .about{background:var(--black-soft);color:#fff}.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:80px;align-items:center}.about p{color:#d2d7d9;font-size:1.09rem;max-width:640px}.about .button{margin-top:12px}.about-aside{border-top:4px solid var(--orange);padding:30px;background:#343a3e}.about-aside strong{display:block;font-size:1.5rem;line-height:1.25;margin-bottom:12px}.about-aside p{font-size:.98rem;margin:0;color:#e2e5e6}
    .contact{background:var(--silver-light)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact h2{margin-top:12px}.contact p{max-width:550px;font-size:1.1rem;color:var(--muted)}.contact-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--orange);padding:32px 34px;box-shadow:0 12px 30px #1018200b}.contact-card small{display:block;color:#596166;font-size:.7rem;letter-spacing:.14em;font-weight:900}.contact-card a{display:block;font-size:clamp(1.3rem,2vw,1.8rem);font-weight:800;text-decoration:none;overflow-wrap:anywhere;margin:5px 0 24px}.contact-card a:hover{color:var(--orange-dark)}.contact-card strong{display:block;margin-top:6px}.footer{background:#111416;color:#bdc3c5;padding:27px 0;font-size:.85rem}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.footer p{margin:0}.footer a{color:#fff}
    @media(max-width:960px){nav{gap:16px}nav a:not(.nav-cta){display:none}.hero-grid{grid-template-columns:1fr 1fr}.hero-copy{padding:64px 28px}.services-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:35px}.proof .wrap{flex-wrap:wrap}}
    @media(max-width:700px){.wrap{width:min(100% - 32px,1180px)}.topbar .wrap{justify-content:center}.topbar span{display:none}header .wrap{min-height:72px}.brand img{width:50px;height:50px}.brand-name{font-size:.96rem}.brand-name small{font-size:.52rem}.nav-cta{font-size:.78rem;padding:8px 11px;min-height:38px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:55px 24px 48px}.hero h1{font-size:clamp(2.7rem,11vw,4rem)}.hero p{font-size:1.05rem}.hero-photo{min-height:390px}.hero-photo img{object-position:center 52%}.proof .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;padding:19px 0;font-size:.68rem}.proof span+span{border:0;padding:0}.section{padding:62px 0}.projects-grid{grid-template-columns:1fr 1fr;gap:12px}.project:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:1.5}.project{aspect-ratio:.92}.project span{font-size:.92rem;bottom:13px;left:13px}.project:first-child span{font-size:1.2rem}.project .project-kicker{bottom:43px;left:13px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.contact-card{padding:25px}.footer .wrap{display:block}.footer p+p{margin-top:10px}}
    @media(max-width:440px){.services-grid{grid-template-columns:1fr}.project{aspect-ratio:.82}.brand-name small{letter-spacing:.1em}.hero-photo{min-height:330px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img,.button,.nav-cta{transition:none}}

    /* Lighter orange, black and silver balance */
    .hero{background:#edf0f1;color:var(--ink)}
    .hero p{color:#4f585d}
    .hero h1 em{color:#b95000}
    .hero .button.secondary{color:var(--black);border-color:#747e83}
    .hero .button.secondary:hover{background:#dfe4e6}
    .hero-photo:after{background:linear-gradient(90deg,#edf0f117,transparent 40%)}
    .proof{background:var(--orange);border:0}
    .proof .wrap{color:#1b1d1e}
    .proof span+span{border-color:#1b1d1e55}
    .services{background:#fff}
    #work{background:var(--silver-light)}
    .about{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
    .about p{color:var(--muted)}
    .about-aside{background:var(--silver-light);border:1px solid var(--line);border-top:4px solid var(--orange)}
    .about-aside p{color:var(--muted)}
    .contact{background:var(--silver-light)}
    @media(max-width:700px){.proof span+span{border:0}}
  
/* Service-led redesign */
:root{--orange-dark:#a94400}.eyebrow{color:var(--orange-dark)}
.hero-grid{min-height:560px}.hero h1{font-size:clamp(2.6rem,4.2vw,4.1rem);line-height:1.08;letter-spacing:-.04em}.hero-copy{padding-top:64px;padding-bottom:64px}.hero-photo{border-bottom:7px solid var(--orange)}
.service{position:relative;border-radius:8px;min-height:210px;padding:28px;transition:border-color .2s,box-shadow .2s}.service:hover{border-color:#ee791b;box-shadow:0 8px 24px #141a1c0c}.service h3{font-size:1.2rem;line-height:1.25;margin:0 0 12px}.service a{text-decoration:none}.service .service-link{display:inline-block;margin-top:18px;color:var(--orange-dark);font-size:.9rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}.services-grid{grid-template-columns:repeat(3,1fr);gap:20px}.section-head{max-width:820px}.section-head h2{max-width:760px}
.process{background:#fff;border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.step-num{font-size:.85rem;letter-spacing:.1em;color:var(--orange-dark);font-weight:900}.steps h3{margin:10px 0;font-size:1.35rem}.steps p{color:var(--muted);margin:0}
.faq{background:#fff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:700;cursor:pointer;font-size:1.05rem}.faq details p{color:var(--muted);margin:12px 0 0}.service-intro{max-width:820px;margin-top:24px;color:var(--muted);font-size:1.08rem}.breadcrumb{font-size:.85rem;margin-bottom:22px;color:var(--muted)}
.project{border-radius:8px}.contact-card,.about-aside{border-radius:8px}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange-dark);outline-offset:4px}.mobile-menu{display:none}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:24px}.footer-links a{color:#e6e8e9}.footer .wrap{display:block}.footer-bottom{display:flex;justify-content:space-between;gap:16px}.button,.nav-cta{border-radius:5px}.logo-note{font-size:.85rem;color:var(--muted)}
@media(max-width:960px){.services-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{gap:32px}.hero-copy{padding:48px 28px}.mobile-menu{display:block;position:relative}.mobile-menu summary{font-size:.85rem;font-weight:700;cursor:pointer;list-style:none;padding:10px;border:1px solid var(--line);border-radius:5px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu .menu-links{position:absolute;right:0;top:46px;background:#fff;box-shadow:0 12px 30px #0002;border:1px solid var(--line);padding:12px;min-width:230px}.mobile-menu a{display:block;padding:10px;color:var(--ink);text-decoration:none;font-size:.95rem}header .wrap{gap:14px}nav{margin-left:auto} }
@media(max-width:700px){.hero h1{font-size:clamp(2.4rem,9vw,3.6rem)}.hero-grid{min-height:0}.hero-copy{padding:42px 24px}.hero-photo{min-height:310px}.steps,.faq-grid{grid-template-columns:1fr;gap:24px}.faq .section-head{margin-bottom:0}.footer-bottom{display:block}.footer-bottom p+p{margin-top:12px}.section{padding:56px 0}.section h2{font-size:2.1rem}.services-grid{gap:12px}.service{padding:22px}.brand-name small{display:none}nav .nav-cta{display:none}.brand img{width:48px;height:48px}.brand-name{font-size:.9rem}}
@media(max-width:440px){.services-grid{grid-template-columns:1fr}}

/* Privacy pages and enquiry notice */
.legal-page{background:var(--silver-light)}.legal-page h1{font-size:clamp(2.2rem,6vw,3.5rem);line-height:1.12;letter-spacing:-.035em;margin:18px 0 30px}.legal-copy{max-width:800px;overflow-wrap:anywhere}.legal-copy h2{font-size:clamp(1.4rem,3vw,1.8rem);margin:36px 0 12px;line-height:1.25}.legal-copy p,.legal-copy li{color:var(--ink);line-height:1.75}.legal-copy li+li{margin-top:12px}.legal-copy a{color:var(--orange-dark);text-underline-offset:3px}.contact-card .privacy-note{font-size:.9rem;color:var(--muted);margin:20px 0 0;max-width:none}.contact-card .privacy-note a{display:inline;font:inherit;text-decoration:underline;margin:0;color:var(--orange-dark)}

.footer .social-links{display:flex;flex-wrap:wrap;gap:12px 20px}.social-links a{display:inline-block;min-height:32px;text-underline-offset:4px}

/* Photographs transferred from NE Complete's original project gallery */
.project-photos{background:var(--silver-light)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.photo-card a{display:block;overflow:hidden;background:#e2e6e8}.photo-card img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .2s}.photo-card a:hover img{transform:scale(1.025)}.photo-card figcaption{padding:18px 20px;font-weight:700;line-height:1.4}.photo-card a:focus-visible{outline-offset:-4px}.photo-grid .photo-card:last-child:nth-child(3n + 2){grid-column:auto}
@media(max-width:960px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.photo-grid{grid-template-columns:1fr;gap:20px}.photo-card img{height:300px}}
@media(prefers-reduced-motion:reduce){.photo-card img{transition:none}}

/* Visible ownership labels for project photographs */
.hero-photo,.project,.photo-card a{position:relative}
.hero-photo:before,.project:before,.photo-card a:before{content:"© NE Complete";position:absolute;top:12px;right:12px;z-index:3;max-width:calc(100% - 24px);padding:6px 9px;background:#111416d9;color:#fff;border-radius:3px;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:.01em;pointer-events:none}
.footer .photo-copyright{margin:22px 0 0;font-size:.8rem;line-height:1.6;color:#bdc3c5;max-width:850px}
@media(max-width:440px){.hero-photo:before,.project:before,.photo-card a:before{font-size:10px;padding:5px 7px;top:8px;right:8px}}


/* A concise, clickable homepage work gallery. */
.work-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.work-overview .project:first-child{grid-column:auto;grid-row:auto;aspect-ratio:1.35}.work-overview .project{display:block;aspect-ratio:1.35}.work-overview .project:first-child span{font-size:1.13rem}.work-overview .project:first-child .project-kicker{font-size:.72rem}
@media(max-width:700px){.work-overview .project,.work-overview .project:first-child{aspect-ratio:1.05}.work-overview .project:first-child span{font-size:.92rem}.work-overview .project:first-child .project-kicker{font-size:.65rem}}

/* Compact homepage advert for S. Campbell. */
.decorator-ad{padding:32px 0;background:var(--silver-light,#f3f4f4)}.decorator-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border:1px solid #d7dcde;border-left:4px solid #f58220;background:#fff;border-radius:6px}.decorator-card .eyebrow{font-size:.72rem}.decorator-card h2{font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.25;margin:8px 0}.decorator-card p{font-size:.95rem;line-height:1.6;margin:0;max-width:650px}.decorator-card .button{flex-shrink:0}.decorator-sr{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:700px){.decorator-card{flex-direction:column;align-items:flex-start;padding:22px;gap:18px}.decorator-card .button{white-space:normal;max-width:100%}}

.decorator-card .decorator-contact{margin-top:10px;font-weight:600;overflow-wrap:anywhere}.decorator-contact a{color:inherit;text-underline-offset:3px}

.decorator-card .decorator-logo{width:116px;height:116px;object-fit:contain;flex:0 0 116px;border-radius:50%}.decorator-copy{flex:1;min-width:0}@media(max-width:700px){.decorator-card .decorator-logo{width:100px;height:100px;flex-basis:auto}}
