@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172026;--muted:#647078;--red:#a51324;--red2:#d0444f;--cream:#faf8f5;--line:#e7e6e3;--white:#fff;--dark:#111c23}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.container{width:min(1180px,calc(100% - 44px));margin:auto}.topbar{background:var(--dark);color:#e8e8e8;font-size:12px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:12px}.topbar a:hover{color:#fff}.header{position:sticky;top:0;z-index:50;background:#ffffffed;backdrop-filter:blur(18px);border-bottom:1px solid #ececec}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:11px;max-width:300px}.brand img{height:49px;width:49px;object-fit:contain}.brand strong{font-family:Manrope,sans-serif;font-size:13px;line-height:1.3;letter-spacing:.015em}.brand span{display:block;color:var(--red);font-size:10px;letter-spacing:.18em;font-weight:800;margin-top:3px}.navlinks{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700}.navlinks a:hover,.navlinks a.active{color:var(--red)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid transparent;background:var(--red);color:white;padding:14px 23px;font-size:13px;font-weight:700;letter-spacing:.02em;transition:.2s;cursor:pointer}.btn:hover{background:#790b19;transform:translateY(-2px)}.btn-outline{border-color:#d4d4d4;background:transparent;color:var(--ink)}.btn-outline:hover{color:var(--red);background:white;border-color:var(--red)}.btn-white{background:#fff;color:var(--red)}.btn-white:hover{background:#eee;color:var(--red)}.menu-toggle{display:none;border:0;background:none;font-size:27px;cursor:pointer}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:11px;font-weight:800;color:var(--red)}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;line-height:1.18;letter-spacing:-.045em}h1{font-size:clamp(42px,5.6vw,78px);margin:18px 0 24px;font-weight:800}h2{font-size:clamp(30px,3.5vw,49px);margin:14px 0 22px}h3{font-size:20px}p{margin:0 0 18px}.lead{font-size:17px;line-height:1.85;color:#5f6a70;max-width:650px}.hero{background:var(--dark);color:white;min-height:670px;position:relative;overflow:hidden;display:flex;align-items:center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101b23 5%,#101b23e8 38%,#101b2390 70%,#101b2370),url('images/centrepoint-1.webp') center/cover no-repeat;opacity:.96}.hero:after{content:'';position:absolute;width:650px;height:650px;right:-360px;top:-180px;border:100px solid #ffffff0a;transform:rotate(30deg)}.hero .container{position:relative;z-index:1;padding:90px 0}.hero h1{max-width:790px}.hero h1 em{font-style:normal;color:#f0a1a6}.hero p{color:#d1d7da;max-width:590px;font-size:17px;line-height:1.9}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero .btn-outline{color:white;border-color:#ffffff6b}.hero .btn-outline:hover{color:var(--dark)}.hero-stats{display:flex;gap:45px;margin-top:85px;padding-top:26px;border-top:1px solid #ffffff2b;max-width:780px}.hero-stats strong{display:block;font-size:22px;font-family:Manrope}.hero-stats span{font-size:12px;color:#c6ced2}.section{padding:100px 0}.section-alt{background:var(--cream)}.section-dark{background:var(--dark);color:white}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:37px}.section-intro h2{max-width:700px;margin-bottom:0}.section-intro p{max-width:350px;color:var(--muted)}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);background:white;padding:32px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0c111312}.card .icon{display:grid;place-items:center;width:52px;height:52px;background:#f9ebed;color:var(--red);font-size:25px;margin-bottom:25px}.card h3{font-size:18px;margin:0 0 12px}.card p{color:var(--muted);font-size:14px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.image-feature{position:relative}.image-feature img{height:520px;width:100%;object-fit:cover}.image-feature:after{content:'';position:absolute;width:35%;height:38%;bottom:-20px;right:-20px;border:8px solid var(--red);z-index:-1}.ticks{list-style:none;padding:0;margin:25px 0}.ticks li{padding:10px 0;border-bottom:1px solid var(--line)}.ticks li:before{content:'✓';color:var(--red);font-weight:800;margin-right:14px}.project-card{background:white;overflow:hidden;border:1px solid var(--line)}.project-card .thumb{overflow:hidden;height:245px;background:#e8e8e8}.project-card img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.055)}.project-card .info{padding:23px 24px}.project-card .info span{color:var(--red);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.project-card h3{font-size:18px;margin:8px 0 12px}.project-card a.more{font-size:12px;font-weight:800;color:var(--red)}.banner{background:var(--red);color:white;padding:65px 0}.banner .container{display:flex;justify-content:space-between;align-items:center;gap:35px}.banner h2{font-size:clamp(28px,3.2vw,44px);margin:0 0 10px}.banner p{margin:0;color:#ffdadf}.pagehero{padding:92px 0;background:var(--dark);color:white;position:relative;overflow:hidden}.pagehero:after{content:'';position:absolute;right:-110px;top:-220px;width:560px;height:560px;border:90px solid #ffffff0b;transform:rotate(35deg)}.pagehero .container{position:relative;z-index:1}.pagehero h1{font-size:clamp(40px,5vw,64px);margin:13px 0 17px}.pagehero p{max-width:660px;color:#cbd3d7;font-size:16px}.breadcrumb{font-size:12px;color:#e4b9bc;margin-bottom:10px}.breadcrumb a:hover{text-decoration:underline}.featurebox{padding:40px;background:#f9f4f3;border-left:4px solid var(--red)}.featurebox h3{margin:0 0 12px}.featurebox p{margin:0;color:var(--muted)}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.value{padding:32px;background:var(--cream);border-top:3px solid var(--red)}.value h3{margin:0 0 12px}.value p{color:var(--muted);margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.filter{background:#fff;border:1px solid #dedede;padding:9px 17px;cursor:pointer;font-size:12px;font-weight:700}.filter.active,.filter:hover{background:var(--red);color:white;border-color:var(--red)}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.gallery-item{position:relative;border:0;background:#eee;padding:0;cursor:pointer;overflow:hidden;aspect-ratio:1.16}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:.3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{content:'↗';position:absolute;right:12px;bottom:10px;color:white;font-size:22px;text-shadow:0 1px 7px #000}.gallery-group{margin:55px 0}.gallery-group h3{margin:0 0 17px;font-size:23px}.gallery-group .category{color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contactbox{padding:36px;background:var(--cream);border:1px solid var(--line)}.contactbox small{color:var(--red);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contactbox h3{margin:15px 0 10px}.contactbox p,.contactbox a{color:#53616a}.contactbox a:hover{color:var(--red)}.footer{background:#0e171d;color:#c4ced1;padding:75px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:40px}.footer h4{color:white;font-size:14px;margin:0 0 22px;letter-spacing:0}.footer p,.footer a{font-size:13px;color:#aebcc1;line-height:2}.footer a:hover{color:white}.footer ul{list-style:none;padding:0;margin:0}.footer .brand strong{color:white}.footer-bottom{margin-top:65px;padding-top:22px;border-top:1px solid #ffffff20;font-size:12px;display:flex;justify-content:space-between;gap:15px}.wa{position:fixed;bottom:23px;right:23px;background:#1b9c63;color:white;z-index:45;padding:13px 18px;box-shadow:0 8px 30px #0003;font-size:13px;font-weight:700;border-radius:100px}.wa:hover{background:#147b4e}.lightbox{position:fixed;inset:0;background:#071018ed;display:none;align-items:center;justify-content:center;z-index:100;padding:45px}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:90vw;object-fit:contain}.lightbox button{position:absolute;top:16px;right:24px;color:white;border:0;background:transparent;font-size:38px;cursor:pointer}.lightbox .caption{position:absolute;bottom:13px;color:white;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #d45560;outline-offset:3px}@media(max-width:950px){.navlinks{gap:13px}.navlinks a{font-size:12px}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.split{gap:35px}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.container{width:min(100% - 34px,1180px)}.topbar .container{justify-content:center}.topbar .hide-mobile{display:none}.nav{height:72px}.brand strong{font-size:11px}.brand img{width:42px;height:42px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;gap:0;padding:12px 25px 22px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0001}.navlinks.open{display:flex}.navlinks a{padding:12px 0;font-size:14px}.nav .btn{display:none}.hero{min-height:620px}.hero .container{padding:80px 0}.hero h1{font-size:clamp(40px,11vw,60px)}.hero-stats{gap:18px;margin-top:55px;flex-wrap:wrap}.hero-stats strong{font-size:18px}.hero-stats span{font-size:10px}.section{padding:70px 0}.section-intro{display:block}.section-intro p{margin-top:20px}.grid-3,.grid-4,.split,.values,.contact-grid{grid-template-columns:1fr}.image-feature img{height:330px}.image-feature:after{right:0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.banner .container{display:block}.banner .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.pagehero{padding:70px 0}.card{padding:26px}.wa{bottom:14px;right:14px;padding:11px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}