/* Premium visual system — Grand Lucky Trading */
:root{--navy:#102a35;--ink:#142e38;--blue:#345e6a;--orange:#a77835;--accent:#dfb87a;--paper:#f7f6f2;--muted:#626f73;--line:#dcded8;--width:1320px}
::selection{background:#dfb87a;color:#102a35}
h1,h2,h3{font-weight:600}h2{letter-spacing:-.05em}.eyebrow{font-size:10px;letter-spacing:.19em}.eyebrow::before{height:1px;width:26px;background:var(--orange)}
.site-header{height:96px;background:#fbfaf7;border-bottom:1px solid #dcded8;padding-inline:4vw}.official-logo{width:88px;height:74px}.brand-name{font-size:11px;letter-spacing:.08em}.main-nav{font-size:12px;gap:25px}.nav-cta{border-radius:2px;background:var(--navy);min-height:48px;padding-inline:21px}.nav-cta:hover{background:#345361}.main-nav>a[aria-current=page]::after{width:100%;height:1px;bottom:3px}.button{border-radius:2px;min-height:56px;padding:16px 25px;letter-spacing:.02em;background:var(--accent);color:var(--navy)}.button:hover{background:#edc992}.button.blue{color:white}.dropdown{border-radius:2px;box-shadow:0 18px 40px #102a351a}.text-link{padding-bottom:10px;border-bottom-color:#a77835}
.hero{height:850px;min-height:750px;max-height:1000px;padding-top:96px}.hero-image{object-position:50% 60%;filter:saturate(.65)}.hero-shade{background:linear-gradient(90deg,#081f2cf2 0%,#0a2334c9 39%,#0b253142 80%),linear-gradient(0deg,#091f2bed,transparent 55%)}.hero-content{padding-top:112px}.hero .eyebrow{color:#dfb87a;margin-bottom:28px;font-size:11px}.hero-location{font-size:9px;letter-spacing:.16em;color:#ced6d7;display:flex;align-items:center;gap:10px;margin-bottom:22px}.hero-location>span{width:5px;height:5px;background:#dfb87a;border-radius:50%}.hero h1{font-size:clamp(52px,5.7vw,86px);max-width:1080px;line-height:1.09;letter-spacing:-.055em}.hero h1 span{color:#e1bd85}.hero p{max-width:470px;font-size:16px;line-height:1.8;margin-top:27px}.hero .actions{margin-top:32px}.hero .button.secondary{border-color:#ffffff65}.hero-project-note{position:absolute;right:5vw;bottom:128px;width:275px;padding:25px 0 0 25px;border-left:1px solid #dfb87a8a;color:white}.note-index{display:block;font-size:9px;letter-spacing:.14em;color:#dfb87a;margin-bottom:18px}.hero-project-note strong{font:500 24px/1.35 Manrope,sans-serif;letter-spacing:-.025em}.note-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:22px;color:#d7e0e1}.note-link .icon{width:17px}.hero-bottom{bottom:25px;padding-top:18px;color:#c4d0d4}.hero-bottom>a{font-size:12px}.intro-strip{background:var(--navy);border-bottom:1px solid #ffffff20;padding-block:32px}.intro-strip p{color:#b5c4c9;font-size:10px;letter-spacing:.12em}.intro-strip strong{display:inline-block;color:white;font-size:20px;letter-spacing:-.025em;margin-top:5px}.intro-strip .wrap>span{color:#d7dfe0;font-size:12px;border-color:#ffffff25;padding-block:12px}.intro-strip .wrap>span::before{content:'+';color:var(--accent);margin-right:12px}
.section{padding-block:112px}.section-head{margin-bottom:52px}.section-head h2{font-size:clamp(35px,3.8vw,56px)}.muted-heading{color:#83908e}.section-head>p{font-size:14px;line-height:1.85}.civil-feature{background:#eeeee8;border-radius:0;border:1px solid #ddded7;min-height:480px}.feature-photo{min-height:480px}.feature-copy{padding:48px 52px}.feature-copy h3{font-size:39px}.feature-index{color:#a77835}.feature-index>span{letter-spacing:.17em}.scope-tags span{border-radius:0;font-size:10px;background:#ffffff70;border-color:#d4d8cf;padding:7px 12px}.image-label{background:#102a35d9;border:0;border-left:2px solid var(--accent);padding:12px 16px;letter-spacing:.12em}.capability-layout{gap:64px;margin-top:56px}.excavation-tile,.about-image,.trading-image,.detail-image{border-radius:0}.tile-copy{padding:36px}.tile-copy h3{font-size:40px}.service-row{padding-block:29px}.service-row h3{font-size:24px}.service-row>.icon{width:32px;height:32px;border:1px solid #cbd2cf;border-radius:50%;padding:7px}.service-row:hover>.icon{background:var(--navy);color:white;border-color:var(--navy)}.row-number{color:#997338}.about-section{background:#eaece6;padding-block:110px}.about-image{height:580px}.about-copy h2{font-size:clamp(34px,3.5vw,52px)}.image-footnote{background:var(--navy);border-top:2px solid var(--accent)}.why-section{padding-block:110px;background-color:var(--navy);background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:72px 72px}.why-intro h2{font-size:50px}.why-intro h2>span{color:var(--accent)}.benefit-row{padding-block:28px}.benefit-row h3{font-size:24px}.technical-feature{min-height:580px}.technical-content h2{font-size:clamp(38px,4.2vw,62px)}.trading-image{height:560px}.requirement-list>span{padding-block:18px}.project-cta{background:#e6dac5;padding-block:76px;border-color:#d7c7ac}.project-cta h2{font-size:46px}.project-cta .button{background:var(--navy);color:white}.contact-grid h2{font-size:46px}#enquiry-form{border-radius:0;padding:40px;box-shadow:0 14px 50px #102a3506;border-top:3px solid #b68e54}input,select,textarea{border-radius:2px;background:#fbfbf8}.footer{background:#0b202a}.footer-signature .brand{border-radius:2px}.footer-signature>p{font-size:34px}.footer-signature>p>span{color:var(--accent)}.footer-grid{padding-block:55px}.footer-grid h2{color:#e1bd85;text-transform:uppercase;font-size:10px;letter-spacing:.13em}.footer-grid>div>a{font-size:13px}.footer-bottom{font-size:10px}body:not(.home-page) main{padding-top:96px}.page-hero{padding-block:90px 65px}.page-hero h1{font-weight:600}.detail-content h2{font-size:40px}
@media(min-width:1600px){.hero{height:900px}.hero-content{padding-top:125px}.hero h1{font-size:94px}.hero-project-note{right:max(5vw,calc((100vw - 1320px)/2))}}
@media(max-width:1300px){.main-nav{gap:17px;font-size:11px}.brand-name{font-size:9px}.hero-project-note{width:240px}.hero h1{font-size:72px}.feature-copy{padding:35px}.feature-copy h3{font-size:34px}}
@media(max-width:1000px){.hero{height:800px}.hero h1{font-size:64px}.hero-project-note{display:none}.hero-content{padding-top:110px}.feature-copy h3{font-size:29px}.why-intro h2{font-size:38px}.project-cta h2{font-size:35px}.contact-grid h2{font-size:34px}}
@media(max-width:700px){.site-header{height:80px;padding-inline:20px}.official-logo{width:68px;height:60px}.brand-name{font-size:9px}.hero{height:auto;min-height:740px;padding-top:80px}.hero-content{padding-top:88px;padding-bottom:155px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#081f2be6,#0a233483),linear-gradient(0deg,#091f2bf5,transparent 75%)}.hero .eyebrow{font-size:8px;margin-bottom:26px}.hero-location{font-size:7px;letter-spacing:.1em;margin-bottom:20px}.hero h1{font-size:clamp(38px,9.2vw,60px);line-height:1.13}.hero p{font-size:14px;margin-top:24px}.hero .actions{gap:12px;margin-top:28px}.hero .button{font-size:11px;padding:15px 17px;min-height:52px}.hero-bottom{bottom:21px}.intro-strip{padding-block:25px}.intro-strip strong{font-size:17px}.intro-strip .wrap>span{font-size:11px;padding-left:18px}.intro-strip .wrap>span::before{display:none}.section{padding-block:70px}.section-head h2{font-size:36px}.section-head{margin-bottom:32px}.civil-feature{min-height:0}.feature-photo{min-height:0;height:290px}.feature-copy{padding:29px}.feature-copy h3{font-size:31px}.capability-layout{gap:28px;margin-top:28px}.tile-copy{padding:28px}.tile-copy h3{font-size:35px}.service-row h3{font-size:21px}.service-row{grid-template-columns:24px 1fr 32px}.about-section,.why-section{padding-block:70px}.about-image{height:370px}.about-copy h2{font-size:36px}.why-intro h2{font-size:38px}.benefit-row h3{font-size:22px}.technical-feature{min-height:470px}.technical-content h2{font-size:38px}.trading-image{height:370px}.project-cta{padding-block:55px}.project-cta h2{font-size:36px}.contact-grid h2{font-size:35px}#enquiry-form{padding:25px}.footer-signature>p{font-size:21px}.footer-grid{padding-block:35px}.footer-bottom{font-size:9px}body:not(.home-page) main{padding-top:80px}.page-hero{padding-block:55px 40px}.page-hero h1{font-size:39px}.detail-content h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
@media(max-width:700px){.hero-bottom>a{font-size:0}.hero-bottom>a .icon{width:20px;height:20px}}

/* Corporate polish. Existing responsive foundation remains in styles.css. */
:root{--navy:#071a33;--ink:#10243d;--blue:#215477;--orange:#b85d2d;--accent:#df965e;--paper:#f5f5f1;--muted:#5e6b78;--line:#d8dde1}
body{background:#fff}p{font-size:17px;max-width:720px}.eyebrow{font-size:12px;letter-spacing:.16em}.button{border-radius:2px;transition:background .3s,border-color .3s,transform .3s}.button:hover{transform:scale(1.015);background:#e9ab7e}.button:hover .arrow-icon,.text-link:hover .arrow-icon,.nav-cta:hover .arrow-icon{transform:translateX(5px)}.image-frame:hover>img{transform:translateY(var(--parallax,0px)) scale(1.04)}
.site-header{transition:background .35s,color .35s,box-shadow .35s;animation:header-enter .6s both;background:#fff}.home-page .site-header:not(.scrolled){background:transparent;color:white;backdrop-filter:none;border-color:#ffffff24}.home-page .site-header:not(.scrolled) .brand-name small{color:#c8d0db}.home-page .site-header:not(.scrolled) .menu-toggle{color:white}.site-header .official-logo{background:white;border-radius:2px;padding:4px}.site-header.scrolled{background:#fffffff5;color:var(--ink);box-shadow:0 5px 24px #071a3310}.nav-cta{background:var(--accent);color:var(--navy)!important}.dropdown{display:grid;grid-template-columns:1fr 1.15fr;width:530px;left:-150px;padding:24px;gap:22px;color:var(--ink);border-top:2px solid var(--orange)}.dropdown>div+div{border-left:1px solid var(--line);padding-left:18px}.dropdown-label{display:block;font-size:10px;color:var(--muted);letter-spacing:.13em;margin:0 12px 12px}.dropdown a{justify-content:space-between;gap:12px}.dropdown .icon{width:14px;color:var(--orange)}.dropdown a:hover .icon{transform:translateX(4px)}
.hero{height:min(900px,100svh);min-height:760px;max-height:none}.hero-content{padding-top:100px;padding-bottom:155px;animation:none}.hero h1{font-size:clamp(64px,5.8vw,88px);line-height:1.09;max-width:1050px;min-height:2.18em}.hero h1 .hero-headline{color:#fff}.hero p{font-size:18px;max-width:560px;line-height:1.75}.hero .eyebrow{font-size:12px}.hero-location{font-size:10px;color:#c8d0db}.hero-slides{position:absolute;inset:-26px 0;transform:translateY(var(--parallax,0px))}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}.hero-slide.active{opacity:1}.hero-slide .hero-image{animation:none;transform:scale(1.025);filter:saturate(.7);transition:transform 7.5s linear;object-position:center}.hero-slide.active .hero-image{transform:scale(1.075)}.hero-shade{background:linear-gradient(90deg,#04152fee,#071a33ab 50%,#071a332e),linear-gradient(0deg,#05162cf0,transparent 55%)}.hero-grid{position:absolute;inset:96px 5% 0;border-inline:1px solid #ffffff09;pointer-events:none;background:linear-gradient(90deg,transparent 66.6%,#ffffff0a 66.6%,#ffffff0a calc(66.6% + 1px),transparent calc(66.6% + 1px))}.hero-content>.eyebrow,.hero-content>h1,.hero-content>p,.hero-content>.actions,.hero-bottom{animation:premium-rise .65s both}.hero-content>h1{animation-delay:.12s}.hero-content>p{animation-delay:.24s}.hero-content>.actions{animation-delay:.36s}.hero-bottom{animation-delay:.48s}.hero .eyebrow::before{width:36px;transform-origin:left;animation:line-enter .7s both}.hero-project-note{width:220px;bottom:130px;padding-left:22px}.hero-project-note strong{font-size:23px}.slider-controls{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}.slider-controls button{background:none;border:0;color:#fff;min-height:44px;padding:0;font-size:12px}.slide-next{display:flex;align-items:center;gap:20px}.slide-next:hover .icon{transform:translateX(5px)}.slide-pause{color:#cbd5e1!important;text-decoration:underline;text-underline-offset:4px}.slide-progress{height:1px;background:#ffffff40;margin-top:8px;overflow:hidden}.slide-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.slideshow-playing .slide-progress span{animation:line-enter 6.5s linear both}.hero-bottom{padding-right:70px}.hero-bottom>a:hover .icon{transform:translateY(5px);transition:transform .3s}.intro-strip{background:var(--navy)}
.section-head h2{font-size:clamp(42px,4vw,60px)}.section-head>p{font-size:17px;max-width:380px}.civil-feature{background:#f4f5f3;border-radius:0;grid-template-columns:1.12fr 1fr;border:0}.feature-copy h3{font-size:46px}.feature-copy p{font-size:17px}.feature-index{font-size:32px}.feature-index>span{font-size:10px}.feature-photo{min-height:510px}.scope-tags span{font-size:12px}.civil-feature .text-link,.editorial-copy{position:relative}.civil-feature .text-link::after,.editorial-copy::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(.15);transform-origin:left;transition:transform .4s}.civil-feature:hover .text-link::after,.editorial-card:hover .editorial-copy::after{transform:scaleX(1)}
.civil-spotlight{padding-block:100px;overflow:hidden}.excavation-spotlight{background:var(--paper)}.spotlight-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}.spotlight-image{height:570px}.spotlight-image>img,[data-parallax]>img{height:calc(100% + 50px);max-width:none;transform:translateY(var(--parallax,0px));position:relative;top:-25px}.spotlight-copy{position:relative;padding-block:45px}.section-number{position:absolute;right:0;top:-45px;font:600 clamp(100px,10vw,150px)/1 Manrope,sans-serif;letter-spacing:-.08em;opacity:.065;pointer-events:none}.spotlight-copy h2{font-size:clamp(40px,3.7vw,57px)}.spotlight-copy p{margin:26px 0;max-width:470px}.fence-spotlight{background:var(--navy);color:#fff}.fence-spotlight .spotlight-image{grid-column:2;grid-row:1}.fence-spotlight .spotlight-copy{grid-column:1;grid-row:1}.fence-spotlight p{color:#bac7d6}.fence-spotlight .eyebrow{color:var(--accent)}.fence-spotlight .text-link{border-color:var(--accent)}.editorial-services{display:grid;grid-template-columns:1fr 1fr;gap:40px}.editorial-card .image-frame{height:360px}.editorial-copy{padding:30px 0}.editorial-copy .eyebrow{font-size:11px;margin-bottom:15px}.editorial-copy h3{font-size:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:transform .35s}.editorial-copy p{margin-top:16px}.editorial-card:hover h3{transform:translateX(3px)}.editorial-card:hover .icon{transform:translateX(7px)}.editorial-card:hover img{transform:scale(1.04);filter:brightness(.9)}
.about-section{background:#eef0ef}.about-copy p{font-size:17px}.about-image{height:590px}.trading-section{background:var(--navy);color:white;overflow:hidden;background-image:linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:calc(100% / 6) 100%}.trading-copy{position:relative}.trading-copy h2{font-size:clamp(40px,3.8vw,58px)}.trading-copy>.eyebrow{color:var(--accent)}.trading-copy>p{font-size:17px;color:#bbc9d9}.trading-image{height:640px}.requirement-list>span{font-size:16px;border-color:#ffffff26;padding-block:22px}.requirement-list b{color:var(--accent)}.trading-copy .section-number{top:-60px}.requirement-list .reveal-line{position:relative}.requirement-list .reveal-line::after{content:'';position:absolute;inset:auto 0 0;height:1px;background:#aebdd0;transform-origin:left;transform:scaleX(0);transition:transform .8s}.requirement-list .is-visible::after{transform:scaleX(1)}
.project-gallery{background:var(--paper)}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:300px 300px;gap:24px}.project-card:first-child{grid-row:1/3}.project-card{color:white;display:block}.project-card::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#04152ff0,transparent 85%);transition:background .35s}.project-card:hover::before{background:linear-gradient(0deg,#04152ffa,#04152f35)}.project-number{position:absolute;top:25px;left:28px;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:34px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.12em;line-height:1;background:#071a3380;border:1px solid #ffffff35;padding:9px 11px}.project-caption{position:absolute;bottom:30px;left:30px;right:30px;z-index:2}.project-caption .eyebrow{color:#efb083;font-size:11px;margin-bottom:12px}.project-caption h3{font-size:30px}.project-card:first-child h3{font-size:40px}.project-view{display:flex;gap:25px;align-items:center;font-size:12px;margin-top:16px}.project-card:hover .project-view .icon{transform:translateX(7px)}
.why-section{background:#fff;color:var(--ink)}.why-intro .eyebrow{color:var(--blue)}.why-intro h2>span{color:#718090}.why-intro p,.benefit-row p{color:var(--muted);font-size:16px}.why-intro .text-link{color:var(--ink);border-color:var(--orange)}.benefit-row{grid-template-columns:26px 1fr 20px;border-bottom:1px solid var(--line);padding:26px 12px;gap:18px;transition:background .3s}.benefit-row:first-child{border-color:var(--line)}.benefit-row .row-number{color:#748394;transition:color .3s}.benefit-row:hover{background:var(--paper)}.benefit-row:hover .row-number{color:var(--orange)}.benefit-row:hover>.icon{transform:translateX(6px)}.benefit-row>.icon{margin-top:5px}.benefit-row h3{font-size:24px}.benefit-row p{font-size:15px}
.project-cta{position:relative;overflow:hidden;background:var(--navy);color:#fff;border:0;padding-block:115px}.project-cta .cta-background{position:absolute;inset:-25px 0;width:100%;height:calc(100% + 50px);object-fit:cover;transform:translateY(var(--parallax,0px))}.project-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061a32ed,#061a32c9);z-index:1}.project-cta>.wrap{position:relative;z-index:2;grid-template-columns:1.2fr 1fr;gap:70px}.project-cta h2{font-size:clamp(40px,4vw,60px)}.project-cta .eyebrow{color:#efb083;font-size:12px}.project-cta p{color:#d0dae4;font-size:17px}.project-cta .button{background:var(--accent);color:var(--navy)}.project-cta .secondary{background:transparent;color:#fff}.project-cta .actions{gap:14px}.project-cta .text-link{color:#fff}.project-cta .whatsapp-icon{width:19px}
.page-hero{position:relative;padding-block:100px 75px}.page-hero::after{content:'';position:absolute;bottom:0;left:0;width:64px;height:2px;background:var(--orange)}.detail-image{margin-top:45px;height:540px}.detail-content h2{font-size:clamp(38px,4vw,54px)}.detail-content p{font-size:18px}.related-services .service-row:hover{background:var(--paper)}
.contact-heading{position:relative;background:var(--navy);color:white;padding-block:85px 75px;overflow:hidden;background-image:linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:25% 100%}.contact-heading .eyebrow{color:var(--accent)}.contact-heading h1{font-size:clamp(48px,5.5vw,80px);max-width:970px}.contact-heading p{font-size:18px;max-width:620px;color:#c3cede;margin-top:28px}.contact-hero-note{display:block;font-size:10px;letter-spacing:.16em;color:#94a7bd;margin-top:40px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);padding-block:55px 0}.contact-card{position:relative;padding:28px;border:1px solid var(--line);margin-left:-1px;transition:background .3s}.contact-card-number{display:block;font:500 54px/1 Manrope,sans-serif;color:#b6c0c9;margin-bottom:35px}.contact-card h2{font-size:20px;letter-spacing:-.02em;margin-bottom:10px}.contact-card>span:last-of-type{font-size:15px;overflow-wrap:anywhere}.contact-card>.icon{position:absolute;top:33px;right:25px;color:var(--orange)}.contact-card:hover{background:var(--paper)}.contact-card:hover>.icon{transform:translateX(5px)}.contact-card::after{content:'';position:absolute;bottom:-1px;left:0;width:35px;height:2px;background:var(--orange);transition:width .35s}.contact-card:hover::after{width:100%}.contact-grid{grid-template-columns:.88fr 1.12fr;gap:7%}.contact-grid h2{font-size:clamp(36px,3.5vw,50px)}.contact-grid>div:first-child>p{font-size:17px;max-width:470px}.contact-support-image{height:300px;margin-top:32px}.contact-details .text-link{display:flex;font-size:15px}.contact-details{margin-top:20px}.contact-details a small{font-size:10px}.contact-details>a{max-width:none}.contact-details .whatsapp-icon{width:20px}#enquiry-form{padding:36px;border:1px solid var(--line);border-top:2px solid var(--navy);border-radius:0;box-shadow:none;gap:22px 20px;align-content:start}#enquiry-form label{font-size:12px}#enquiry-form label[for=enquiry-service],#enquiry-form label[for=enquiry-location]{grid-column:auto}.form-intro{font-size:14px;max-width:none}input,select{min-height:56px;background:#fff;border-radius:0;font-size:16px}textarea{min-height:155px;background:#fff;border-radius:0;font-size:16px}input:focus,select:focus,textarea:focus{border-color:#215477;outline:2px solid #21547722;outline-offset:1px}.form-note,.form-fallback{font-size:14px}.location-section{background:var(--paper)}.location-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}.location-copy h2{font-size:54px}.location-copy>p{margin-top:22px}.location-card{background:#fff;border-left:2px solid var(--orange);padding:28px;margin-top:30px;box-shadow:0 12px 40px #071a3306}.location-card h3{font-size:16px;letter-spacing:.04em;margin-bottom:10px}.location-card>a{display:block;font-size:16px;margin-top:9px}.location-card .actions{gap:18px;margin-top:20px}.location-card .text-link{font-size:12px;gap:10px}.location-card .icon{width:15px}.map-area{height:460px;position:relative;border:1px solid #cbd3da;box-shadow:0 16px 45px #071a330a;border-radius:6px;overflow:hidden;background:#e6ebea}.map-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:35px;text-align:center;background-image:linear-gradient(#071a3308 1px,transparent 1px),linear-gradient(90deg,#071a3308 1px,transparent 1px);background-size:42px 42px}.map-preview .eyebrow{margin-bottom:10px}.map-preview strong{font:600 58px/1.2 Manrope,sans-serif;letter-spacing:-.05em}.map-preview p{font-size:14px;margin:16px 0 20px;max-width:270px}.map-preview small{font-size:11px;margin-top:15px;max-width:250px;color:var(--muted)}.map-cross{font-size:24px;color:var(--orange);margin-bottom:10px}.map-area iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.map-external{position:absolute;bottom:10px;right:10px;background:#fff;padding:7px 10px;font-size:11px;box-shadow:0 2px 8px #071a3310}.map-external .icon{width:13px;height:13px}
.floating-tools{position:fixed;bottom:24px;right:24px;z-index:35;display:flex;flex-direction:column;align-items:center;gap:12px}.whatsapp-float{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#16864b;color:white;border:1px solid #ffffff55;box-shadow:0 5px 22px #071a3329;transition:transform .3s,box-shadow .3s,background .3s;animation:premium-rise .65s .45s backwards}.whatsapp-float>.icon{width:29px;height:29px}.whatsapp-float:hover{transform:scale(1.05);background:#127840;box-shadow:0 8px 28px #071a3340}.whatsapp-tooltip{position:absolute;right:calc(100% + 12px);background:var(--navy);color:#fff;white-space:nowrap;font-size:12px;padding:9px 13px;opacity:0;visibility:hidden;transform:translateX(5px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}.whatsapp-float:hover .whatsapp-tooltip,.whatsapp-float:focus-visible .whatsapp-tooltip{opacity:1;visibility:visible;transform:none}.back-to-top{display:grid;place-items:center;width:46px;height:46px;border:1px solid #cad2dc;border-radius:50%;background:#fffffff2;color:var(--navy);box-shadow:0 3px 12px #071a330d;transition:background .3s}.back-to-top:hover{background:var(--navy);color:#fff}.footer{background:#06162b}.footer-bottom{padding-right:70px}.footer-grid h2,.footer-signature>p>span{color:#e7ac80}
/* One-time reveals with route cleanup in app.js. */
.reveal-ready{transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms);opacity:0;transform:translateY(30px)}.reveal-ready.reveal-left{transform:translateX(-30px)}.reveal-ready.reveal-right{transform:translateX(30px)}.reveal-ready.reveal-scale{transform:scale(.97)}.reveal-ready.reveal-line{transform:none}.reveal-ready.is-visible{opacity:1;transform:none}.reveal-image::after{content:'';position:absolute;inset:0;background:var(--navy);z-index:3;transform:scaleX(0);transform-origin:right;pointer-events:none;transition:transform .9s cubic-bezier(.7,0,.2,1) var(--reveal-delay,0ms)}.reveal-image.reveal-ready:not(.is-visible)::after{transform:scaleX(1)}.route-enter{animation:route-enter .35s ease-out}.mobile-drawer.open{animation:premium-rise .3s ease-out}@keyframes premium-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes line-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes header-enter{from{opacity:0}to{opacity:1}}@keyframes route-enter{from{opacity:.5}to{opacity:1}}
@media(hover:hover) and (pointer:fine){.project-view{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}.project-card:hover .project-view,.project-card:focus-visible .project-view{opacity:1;transform:none}}
@media(max-width:1180px){.hero-project-note{display:block;position:relative;right:auto;bottom:auto;width:220px;margin-left:var(--gutter);margin-top:-118px;margin-bottom:115px;border:0;padding:0}.hero-project-note>.note-index,.hero-project-note>strong{display:none}.slider-controls{margin-top:0}.hero-content{padding-top:90px;padding-bottom:155px}.hero h1{font-size:64px}.hero{height:auto;min-height:820px}.spotlight-layout{gap:5%}.spotlight-image{height:500px}.spotlight-copy h2{font-size:42px}.trading-layout{gap:40px}.trading-copy h2{font-size:42px}.trading-image{height:580px}.contact-card{padding:22px}.contact-card-number{font-size:48px}.contact-grid{gap:35px}.contact-grid h2{font-size:36px}.project-cta>.wrap{grid-template-columns:1fr;gap:25px}.project-cta h2{max-width:750px}.project-cta .actions{margin-top:25px}.location-layout{gap:35px}.location-card{padding:22px}.location-card .actions{gap:12px}.section-head h2{font-size:42px}}
@media(min-width:701px) and (max-width:950px){.hero h1{font-size:60px}.contact-cards{grid-template-columns:repeat(2,1fr);gap:0}.contact-grid{grid-template-columns:1fr}.contact-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.contact-intro>.eyebrow,.contact-intro>h2,.contact-intro>p,.contact-intro>.contact-details{grid-column:1}.contact-support-image{grid-column:2;grid-row:1/6;height:100%;min-height:390px;margin:0}.location-layout{grid-template-columns:1fr}.location-card{max-width:600px}.map-area{height:440px}.spotlight-copy h2{font-size:36px}.spotlight-image{height:490px}.section-head{align-items:flex-start}.section-head>p{font-size:16px;max-width:280px}.feature-copy h3{font-size:36px}.feature-copy p{font-size:16px}.editorial-card .image-frame{height:300px}.editorial-copy h3{font-size:27px}.project-grid{grid-template-rows:270px 270px}.trading-copy h2{font-size:36px}.trading-image{height:600px}.benefit-row h3{font-size:20px}.benefit-row{grid-template-columns:22px 1fr 18px;gap:12px}.why-layout{gap:28px}}
@media(max-width:700px){p{font-size:16px}.eyebrow{font-size:11px}.site-header{height:80px}.hero{min-height:780px;height:auto}.hero-content{padding-top:75px;padding-bottom:160px}.hero h1{font-size:clamp(38px,9.1vw,50px);min-height:3.27em;line-height:1.09;letter-spacing:-.05em}.hero p{font-size:16px;line-height:1.7;max-width:360px;margin-top:22px}.hero .eyebrow{font-size:10px;margin-bottom:20px;letter-spacing:.1em}.hero-location{font-size:8px;margin-bottom:20px;letter-spacing:.08em}.hero .actions{gap:10px}.hero .button{font-size:11px;min-height:52px;padding:13px 15px}.hero-project-note{width:205px;margin-top:-125px;margin-bottom:115px}.hero-bottom{padding-right:64px;bottom:20px}.hero-bottom>span{font-size:7px;max-width:210px}.hero-grid{inset-block-start:80px}.hero-slide .hero-image,.hero-slide.active .hero-image{transform:scale(1.03);transition:opacity .6s}.section{padding-block:70px}.section-head h2{font-size:36px}.section-head>p{font-size:16px;max-width:440px}.civil-feature{grid-template-columns:1fr}.feature-photo{height:310px;min-height:0}.feature-copy{padding:30px 26px}.feature-copy h3{font-size:37px}.feature-copy p{font-size:16px}.feature-index{font-size:28px}.civil-spotlight{padding-block:70px}.spotlight-layout{grid-template-columns:1fr;gap:30px}.spotlight-image{height:355px}.spotlight-copy{padding-block:15px}.spotlight-copy h2{font-size:36px}.spotlight-copy p{font-size:16px;margin-block:22px}.fence-spotlight .spotlight-image,.fence-spotlight .spotlight-copy{grid-column:auto;grid-row:auto}.fence-spotlight .spotlight-copy{grid-row:1}.section-number{font-size:105px;top:-20px}.editorial-services{grid-template-columns:1fr;gap:32px}.editorial-card .image-frame{height:310px}.editorial-copy{padding-block:25px}.editorial-copy h3{font-size:28px}.editorial-copy p{font-size:16px}.about-copy h2{font-size:36px}.about-copy p{font-size:16px}.about-image{height:400px}.trading-layout{grid-template-columns:1fr;gap:38px}.trading-copy h2{font-size:38px}.trading-copy>p{font-size:16px}.trading-image{height:390px}.trading-copy .section-number{top:-30px}.requirement-list>span{font-size:15px}.project-grid{grid-template-columns:1fr;grid-template-rows:440px 330px 330px;gap:20px}.project-card:first-child{grid-row:auto}.project-card:first-child h3{font-size:32px}.project-caption{left:24px;right:24px;bottom:25px}.project-caption h3{font-size:28px}.project-number{left:24px;top:22px}.project-view{opacity:1;transform:none}.why-layout{gap:30px}.why-intro h2{font-size:38px}.why-intro p{font-size:16px}.benefit-row{padding:23px 0}.benefit-row h3{font-size:22px}.benefit-row p{font-size:15px}.project-cta{padding-block:75px}.project-cta h2{font-size:38px}.project-cta .actions{flex-direction:column;align-items:stretch;padding-right:56px}.project-cta .button,.project-cta .text-link{width:100%;font-size:12px;min-height:54px}.project-cta p{font-size:16px}.contact-heading{padding-block:60px 50px}.contact-heading h1{font-size:42px}.contact-heading p{font-size:16px}.contact-hero-note{font-size:9px;margin-top:30px}.contact-cards{grid-template-columns:1fr 1fr;padding-top:32px}.contact-card{padding:20px 16px}.contact-card-number{font-size:42px;margin-bottom:28px}.contact-card h2{font-size:18px}.contact-card>span:last-of-type{font-size:13px}.contact-card>.icon{right:15px;top:23px;width:17px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-grid h2{font-size:35px}.contact-grid>div:first-child>p{font-size:16px}.contact-support-image{height:290px}.contact-details a>span{font-size:17px}#enquiry-form{grid-template-columns:1fr;padding:26px 20px;gap:22px}#enquiry-form label[for=enquiry-service],#enquiry-form label[for=enquiry-location]{grid-column:1/-1}#enquiry-form>.button{width:calc(100% - 42px);font-size:12px;padding:15px;gap:10px}#enquiry-form .form-note,#enquiry-form .form-fallback{padding-right:45px}.location-layout{grid-template-columns:1fr;gap:35px}.location-copy h2{font-size:40px}.location-card{padding:25px 22px}.location-card .actions{gap:15px}.map-area{height:430px}.map-preview{padding:25px}.map-preview strong{font-size:52px}.map-preview .button{font-size:12px}.page-hero{padding-block:60px 45px}.page-hero h1{font-size:40px}.page-hero p{font-size:16px}.detail-image{margin-top:30px;height:340px}.detail-content h2{font-size:36px}.detail-content p{font-size:16px}.floating-tools{bottom:20px;right:18px;gap:8px}.whatsapp-float{width:54px;height:54px}.whatsapp-float>.icon{width:27px;height:27px}.back-to-top{width:46px;height:46px}.footer-bottom{padding-right:60px}.footer-grid>div:last-child{padding-right:64px}.reveal-ready.reveal-left,.reveal-ready.reveal-right{transform:translateY(24px)}.reveal-ready.is-visible{transform:none}.reveal-ready{transition-duration:.65s}.image-frame:hover>img{transform:none}.whatsapp-tooltip{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1!important;transform:none!important}.reveal-image::after{transform:scaleX(0)!important}.hero-slide .hero-image,.hero-slides,[data-parallax]>img,.project-cta .cta-background{transform:none!important}.project-view{opacity:1;transform:none}.requirement-list .reveal-line::after{transform:scaleX(1)}}


/* Real project photography: original colors, uncropped mobile presentation. */
.projects-page{padding-top:1px;overflow:hidden}.projects-intro{padding-top:78px;padding-bottom:92px}.projects-intro h1{margin-top:30px;max-width:780px}.projects-intro p{max-width:690px;margin-top:30px;font-size:18px}.project-capabilities{padding-bottom:110px}.projects-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:62px}.projects-section-heading h2{font-size:clamp(42px,5vw,70px);line-height:1.05}.projects-section-heading h2 span{color:#81908d}.projects-section-heading p{max-width:390px;font-size:17px}.capability-list{display:grid;gap:28px}.capability-block{display:grid;grid-template-columns:1.2fr 1fr;background:#eef0ed;min-height:430px}.capability-block:nth-child(2){grid-template-columns:1fr 1.2fr;background:#e4e9e5}.capability-block:nth-child(2) .capability-image{order:2}.capability-block:nth-child(2) .capability-copy{order:1}.capability-image{min-height:430px;overflow:hidden}.capability-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.capability-block:hover .capability-image img{transform:scale(1.035)}.capability-copy{position:relative;padding:48px 54px;align-self:center}.capability-number{display:block;color:var(--navy);font-size:54px;line-height:1;margin-bottom:26px;opacity:.85}.capability-copy .eyebrow{margin-bottom:15px}.capability-copy h3{font-size:clamp(34px,3.5vw,52px);margin-bottom:18px}.capability-copy p{max-width:470px}.capability-copy ul{display:flex;flex-wrap:wrap;gap:9px 22px;padding:0;margin:25px 0 30px;list-style:none}.capability-copy li{font-size:13px;border-top:1px solid var(--orange);padding-top:7px}.capability-3{background:var(--navy);color:white;grid-template-columns:1fr 1.15fr}.capability-3 .capability-copy{order:1}.capability-3 .capability-image{order:2}.capability-3 p{color:#c3ced0}.capability-3 .capability-number{color:var(--accent)}.capability-3 .eyebrow{color:var(--accent)}.capability-3 li{border-color:var(--accent)}.projects-requirements{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line)}.projects-requirements h2{font-size:clamp(38px,4vw,60px)}.projects-requirements p{max-width:500px;margin-bottom:28px}.projects-cta{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;padding:105px 0}.projects-cta-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;z-index:-1}.projects-cta .wrap{position:relative}.projects-cta .eyebrow{color:var(--accent)}.projects-cta h2{font-size:clamp(42px,5vw,72px);max-width:850px;margin-bottom:22px}.projects-cta p{color:#c6d0d1;max-width:510px}.projects-email{display:inline-block;margin-top:34px;color:var(--accent);border-bottom:1px solid var(--accent)}
.real-project{display:grid;grid-template-columns:1.3fr 1fr;background:#071a33;color:#fff;overflow:hidden;border-bottom:3px solid #d97938;transition:box-shadow .35s}
.real-project:hover,.real-project:focus-visible{box-shadow:0 18px 45px #071a3326}
.real-project-image{position:relative;overflow:hidden;min-width:0}
.real-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s}
.real-project-year{position:absolute;top:24px;left:24px;padding:10px 15px;background:#071a33bd;color:#fff;font-size:13px;letter-spacing:.08em}
.real-project-copy{padding:42px;align-self:center;min-width:0}
.real-project-copy .eyebrow{color:#efb083}
.real-project-copy h3{font-size:clamp(26px,2.6vw,40px);line-height:1.18;margin:18px 0}
.real-project-count{color:#fff;font-size:18px}
.project-contractors{display:grid;gap:22px;margin:28px 0}
.project-contractors dt{font-size:10px;letter-spacing:.14em;color:#efb083;margin-bottom:8px}
.project-contractors dd{margin:0;font-size:15px;line-height:1.6}
.real-project-link{display:flex;align-items:center;gap:24px;font-size:13px;margin-top:30px}
.real-project-link span{color:#efb083;transition:transform .3s}
.real-project:hover .real-project-link span{transform:translateX(5px)}
.real-project-heading>.text-link{margin-bottom:32px}.real-project-heading>.eyebrow{display:block}
.real-project-main-image img{display:block;width:100%;height:auto}
.real-project-detail>.project-contractors{grid-template-columns:1fr 1fr;background:#071a33;color:white;padding:32px;margin:0 0 40px}
.real-project-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:80px;align-items:start}
.real-project-photos figure{margin:0}.real-project-photos img{display:block;width:100%;height:auto}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.real-project:hover .real-project-image img{transform:scale(1.025)}}
@media(max-width:760px){.real-project{grid-template-columns:1fr}.real-project-image img{height:auto;aspect-ratio:4/3}.real-project-copy{padding:28px 24px}.real-project-year{top:16px;left:16px}.real-project-detail>.project-contractors{grid-template-columns:1fr;padding:26px 22px}.real-project-photos{grid-template-columns:1fr;gap:20px}.real-project-heading h1{font-size:34px}}
@media(max-width:700px){.projects-intro{padding-top:52px;padding-bottom:62px}.projects-intro h1{margin-top:24px}.projects-intro p{margin-top:24px;font-size:16px}.projects-section-heading{display:block;margin-bottom:38px}.projects-section-heading h2{font-size:39px;margin-bottom:22px}.projects-section-heading p{font-size:16px}.project-capabilities{padding-bottom:70px}.capability-block,.capability-block:nth-child(2),.capability-3{display:flex;flex-direction:column;min-height:0}.capability-block:nth-child(2) .capability-image,.capability-block:nth-child(2) .capability-copy,.capability-3 .capability-image,.capability-3 .capability-copy{order:initial}.capability-image{height:auto;min-height:0;aspect-ratio:4/3}.capability-copy{padding:30px 25px}.capability-number{font-size:43px;margin-bottom:20px}.capability-copy h3{font-size:34px}.capability-copy p{font-size:16px}.capability-copy ul{display:block;margin:22px 0 28px}.capability-copy li{margin-bottom:10px}.projects-requirements{display:block;padding-block:70px}.projects-requirements h2{font-size:38px;margin-bottom:25px}.projects-cta{padding:72px 0}.projects-cta h2{font-size:39px}.projects-cta .actions{align-items:stretch}.projects-cta .button{width:100%}.projects-email{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.real-project,.real-project-image img,.real-project-link span{transition:none}}
/* Shared layout rules for the complete site repair. */
#app { overflow-x: clip; }
:root {
  --navy: #071a33;
  --ink: #10243d;
  --blue: #195f9a;
  --orange: #c26024;
  --accent: #f0a064;
  --paper: #f3f5f6;
  --muted: #536375;
  --line: #d6dfe6;
  --section-space: 104px;
}
body { background: #fff; }
.section, .civil-spotlight, .about-section, .why-section, .project-cta, .projects-cta { padding-block: var(--section-space); }
h1 { font-size: clamp(56px, 4.7vw, 76px); }
h2, .section-head h2, .spotlight-copy h2, .trading-copy h2, .why-intro h2, .about-copy h2, .project-cta h2, .contact-grid h2, .projects-section-heading h2, .projects-requirements h2, .projects-cta h2, .location-copy h2 { font-size: clamp(38px, 3.6vw, 56px); line-height: 1.13; letter-spacing: -.045em; }
h3 { font-size: clamp(24px, 2.2vw, 32px); }
p, .section-head > p, .about-copy p, .why-intro p, .benefit-row p, .service-row p { font-size: 17px; line-height: 1.75; }
.eyebrow { font-size: 12px; letter-spacing: .13em; }
.muted-heading { color: #65778a; }
.button, .nav-cta { min-height: 56px; padding: 15px 24px; border-radius: 2px; font-size: 13px; line-height: 1.5; gap: 20px; background: var(--accent); color: var(--navy); }
.button:hover, .nav-cta:hover { background: #ffb47b; color: var(--navy); transform: none; }
.button.blue { background: var(--navy); color: #fff; }
.button.blue:hover { background: var(--blue); color: #fff; }
.button.secondary, .project-cta .button.secondary { background: transparent; color: #fff; border-color: #ffffff80; }
.button.secondary:hover { background: #ffffff14; color: #fff; }
.text-link { font-size: 14px; }
.site-header { height: 96px; }
.site-header .official-logo { object-fit: contain; }
.main-nav { gap: clamp(16px, 1.5vw, 26px); }
.dropdown-overview { grid-column: 1 / -1; border-bottom: 1px solid var(--line); }
.dropdown > div + div { border-left: 1px solid var(--line); }
.drawer-links { gap: 0; }
.drawer-services { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.drawer-services summary { cursor: pointer; font-size: 18px; padding-block: 12px; }
.drawer-links .drawer-service-link { font-size: 16px; min-height: 44px; padding-block: 10px; display: flex; justify-content: space-between; }
.mobile-drawer { overflow-y: auto; overscroll-behavior: contain; }
.hero { height: auto; min-height: min(900px, 100svh); max-height: none; padding-top: 96px; display: flex; flex-direction: column; justify-content: center; }
.hero-content { padding-top: 70px; padding-bottom: 170px; }
.hero h1 { font-size: clamp(56px, 4.7vw, 80px); max-width: 1120px; min-height: 0; line-height: 1.12; }
.hero p { max-width: 630px; }
.hero-location { display: none; }
.hero .eyebrow { color: #ffc18f; font-size: 12px; }
.hero-project-note { position: absolute; right: var(--gutter); bottom: 96px; width: 210px; margin: 0; padding: 0 0 0 24px; }
.hero-bottom { bottom: 24px; }
.hero-slide .hero-image { filter: none; object-position: center 55%; }
.core-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 22px; }
.core-card { position: relative; min-height: 480px; color: #fff; overflow: hidden; }
.core-card > img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.core-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #04152ff5 0%, #04152f9c 43%, #04152f12 100%); }
.core-number { position: absolute; left: 28px; top: 28px; z-index: 1; color: #fff; border: 1px solid #ffffff90; padding: 7px 12px; font-size: 13px; }
.core-copy { position: relative; z-index: 1; padding: 30px 28px; margin-top: auto; }
.core-card { display: flex; align-items: flex-end; }
.core-copy h3 { font-size: 28px; }
.core-card:first-child h3 { font-size: 38px; }
.core-copy p { color: #e0e7ee; font-size: 16px; margin-top: 16px; }
.core-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; font-size: 13px; border-top: 1px solid #ffffff50; padding-top: 16px; }
.core-link .icon { transition: transform .3s; }
.core-card:hover .core-link .icon, .core-card:focus-visible .core-link .icon { transform: translateX(5px); }
.spotlight-layout { gap: 6%; }
.spotlight-image { height: 540px; }
.fence-spotlight { border-bottom: 1px solid #ffffff26; }
.trading-section { background: #102940; background-image: none; }
.trading-image { height: 560px; }
.requirement-list > span { padding-block: 18px; }
.section-head { align-items: start; gap: 48px; }
.section-head > p { max-width: 470px; }
.editorial-services { gap: 32px; }
.editorial-card .image-frame { height: 350px; }
.editorial-copy h3 { font-size: 30px; }
.why-section { background: #fff; }
.why-intro p { max-width: 470px; }
.why-layout { gap: 7%; }
.why-intro h2 > span { color: #65778a; }
.benefit-row h3 { font-size: 25px; }
.benefit-row { padding: 24px 0; }
.project-grid { grid-template-rows: 280px 280px; }
.project-caption .eyebrow { line-height: 1.6; color: #ffc18f; }
.project-view { opacity: 1; transform: none; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.process-step { border-top: 2px solid var(--line); padding-top: 24px; }
.process-step .eyebrow { color: var(--blue); }
.process-step h3 { font-size: 25px; margin-bottom: 16px; }
.process-step p { font-size: 16px; }
.process-section { background: #fff; }
.project-cta .wrap { gap: 48px; }
.project-cta .actions { padding-right: 0; }
.project-cta .button { font-size: 13px; }
body:not(.home-page) #app { padding-top: 96px; }
.inner-hero { background: var(--paper); border-bottom: 1px solid var(--line); }
.inner-hero-layout { display: grid; grid-template-columns: 1.12fr 1fr; gap: 6%; align-items: center; padding-block: 64px; min-height: 560px; }
.inner-hero-copy h1 { font-size: clamp(48px, 4.1vw, 68px); line-height: 1.12; }
.inner-hero-copy p { margin-top: 26px; max-width: 620px; }
.inner-hero-copy .eyebrow { margin-bottom: 22px; }
.inner-hero-image { height: 430px; border-bottom: 4px solid var(--accent); }
.inner-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.service-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.service-capabilities:has(> :last-child:nth-child(2)) { grid-template-columns: repeat(2, 1fr); }
.service-capabilities article { padding: 30px; background: var(--paper); border-top: 2px solid var(--blue); }
.service-capabilities h3 { margin-bottom: 18px; font-size: 28px; }
.support-section { background: var(--paper); }
.support-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 7%; align-items: center; }
.support-layout > .image-frame { height: 440px; }
.support-layout h2 { margin-bottom: 24px; }
.support-layout .button { margin-top: 28px; }
.value-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 36px; }
.value-list > div { border-top: 1px solid var(--line); padding-block: 26px; }
.value-list span { display: block; margin-bottom: 14px; font-size: 13px; color: var(--blue); }
.value-list h3 { font-size: 27px; }
.projects-page { padding-top: 0; }
.projects-intro { padding-block: 80px; }
.projects-intro h1 { margin-top: 0; }
.projects-section-heading { grid-template-columns: 1.2fr 1fr; gap: 24px 60px; margin-bottom: 44px; }
.projects-section-heading > .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.projects-section-heading p { max-width: 470px; }
.projects-section-heading h2 span { color: #65778a; }
.project-capabilities { padding-bottom: var(--section-space); }
.capability-list { padding-top: 0; gap: 30px; }
.capability-block, .capability-block:nth-child(2) { background: var(--paper); }
.capability-image { height: 470px; min-height: 0; }
.capability-copy { padding: 40px; }
.capability-copy h3 { font-size: 38px; }
.capability-number { color: var(--blue); font-size: 42px; }
.capability-3 { background: var(--navy); }
.capability-3 .text-link { color: #fff; border-color: var(--accent); }
.capability-copy li { font-size: 14px; }
.projects-requirements { gap: 60px; }
.contact-heading { padding-block: 76px; }
.contact-heading h1 { font-size: clamp(56px, 4.7vw, 76px); }
.contact-card h2 { font-size: 24px; }
.contact-card-number { font-size: 40px; }
.contact-card { padding: 28px 24px; }
.contact-cards { padding-top: 40px; }
.contact-grid { gap: 6%; }
.contact-hero-note { margin-top: 26px; }
.contact-support-image { height: 280px; }
.map-area { border-radius: 0; box-shadow: none; }
.map-preview { padding-bottom: 60px; }
.location-card { box-shadow: none; }
.footer-legal { display: flex; gap: 24px; }
.footer-legal a { min-height: 44px; display: inline-flex; align-items: center; }
.footer-bottom { align-items: center; }
.footer-grid h2 { font-size: 12px; color: var(--accent); }
.footer-signature > p > span { color: var(--accent); }
.footer-grid > div > a { font-size: 14px; }
.legal-content { max-width: 820px; padding-top: 64px; }
.legal-content h2 { font-size: 32px; margin: 40px 0 18px; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content a { text-decoration: underline; text-underline-offset: 4px; }
.floating-tools { right: 18px; bottom: 18px; }
/* Leave the action rail clear of content on smaller viewports. */
@media (max-width: 1536px) and (min-width: 701px) { :root { --gutter: 84px; } }
@media (min-width: 1181px) and (max-width: 1366px) { .site-header { padding-inline: 28px; gap: 16px; } .brand-name { font-size: 9px; } .main-nav { gap: 16px; font-size: 11px; } .nav-cta { padding-inline: 16px; } }
@media (max-width: 1180px) {
  :root { --section-space: 84px; }
  .hero-content { padding-top: 70px; padding-bottom: 200px; }
  .hero-project-note { bottom: 94px; left: var(--gutter); right: auto; padding: 0; }
  .hero-project-note > .note-index, .hero-project-note > strong { display: none; }
  .core-grid { grid-template-columns: 1fr 1fr; }
  .core-card:first-child { grid-column: 1 / -1; min-height: 420px; }
  .core-card { min-height: 400px; }
  .core-card:first-child .core-copy { max-width: 550px; }
  .inner-hero-layout { gap: 36px; min-height: 500px; }
  .inner-hero-copy h1 { font-size: 48px; }
  .inner-hero-image { height: 400px; }
  .process-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .service-capabilities { gap: 18px; }
  .service-capabilities article { padding: 24px; }
  .service-capabilities h3 { font-size: 24px; }
  .value-list { grid-template-columns: 1fr 1fr; }
  .spotlight-image, .trading-image { height: 480px; }
  .spotlight-copy h2, .trading-copy h2 { font-size: 38px; }
  .capability-copy { padding: 30px; }
  .capability-copy h3 { font-size: 32px; }
  .capability-image { height: 100%; min-height: 440px; }
  .project-grid { grid-template-rows: 280px 280px; }
}
@media (max-width: 950px) {
  .inner-hero-layout { grid-template-columns: 1fr; padding-block: 60px; }
  .inner-hero-copy h1 { max-width: 750px; font-size: 56px; }
  .inner-hero-image { height: 340px; }
  .spotlight-layout, .trading-layout, .support-layout, .why-layout { grid-template-columns: 1fr; gap: 36px; }
  .fence-spotlight .spotlight-copy { grid-row: 1; grid-column: 1; }
  .fence-spotlight .spotlight-image { grid-row: 2; grid-column: 1; }
  .spotlight-copy { padding-block: 0; }
  .spotlight-copy h2, .trading-copy h2 { font-size: 44px; }
  .spotlight-image, .trading-image { height: 430px; }
  .trading-copy > p { max-width: 620px; }
  .section-head { display: block; }
  .section-head > p { margin-top: 24px; max-width: 640px; }
  .service-capabilities { grid-template-columns: 1fr; }
  .service-capabilities:has(> :last-child:nth-child(2)) { grid-template-columns: 1fr; }
  .editorial-card .image-frame { height: 280px; }
  .editorial-copy h3 { font-size: 27px; }
  .project-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 400px 340px; }
  .project-card:first-child { grid-row: auto; grid-column: 1 / -1; }
  .project-caption { left: 24px; right: 24px; }
  .project-caption h3 { font-size: 26px; }
  .project-caption .eyebrow { font-size: 10px; }
  .capability-block, .capability-block:nth-child(2), .capability-3 { grid-template-columns: 1fr; }
  .capability-block .capability-image, .capability-block .capability-copy { order: initial; }
  .capability-image { height: 370px; min-height: 0; }
  .capability-copy { width: 100%; }
  .projects-section-heading { display: block; }
  .projects-section-heading h2 { margin-block: 22px; }
}
@media (max-width: 700px) {
  :root { --section-space: 64px; --gutter: 24px; }
  .site-header { height: 80px; padding-inline: 18px; }
  body:not(.home-page) #app { padding-top: 80px; }
  h1 { font-size: 40px; }
  h2, .section-head h2, .spotlight-copy h2, .trading-copy h2, .why-intro h2, .about-copy h2, .project-cta h2, .contact-grid h2, .projects-section-heading h2, .projects-requirements h2, .projects-cta h2, .location-copy h2 { font-size: clamp(34px, 8.5vw, 40px); }
  p, .section-head > p, .about-copy p, .why-intro p, .benefit-row p, .service-row p { font-size: 16px; }
  .eyebrow { font-size: 12px; letter-spacing: .08em; }
  .hero { padding-top: 80px; min-height: 780px; }
  .hero-content { padding-top: 60px; padding-bottom: 180px; }
  .hero h1 { font-size: clamp(38px, 9.1vw, 46px); line-height: 1.12; min-height: 0; }
  .hero .eyebrow { font-size: 11px; }
  .hero p { font-size: 16px; margin-top: 24px; }
  .hero .actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .hero .button { min-height: 54px; padding: 14px 18px; font-size: 13px; width: 245px; }
  .hero-project-note { bottom: 94px; width: 205px; }
  .hero-bottom { bottom: 24px; }
  .hero-bottom > span { font-size: 8px; }
  .hero-slide .hero-image { object-position: 57% center; }
  .intro-strip { padding-block: 24px; }
  .intro-strip strong { font-size: 18px; }
  .section-head { margin-bottom: 32px; }
  .core-grid { grid-template-columns: 1fr; gap: 20px; }
  .core-card:first-child { grid-column: auto; min-height: 440px; }
  .core-card { min-height: 380px; }
  .core-card:first-child h3 { font-size: 34px; }
  .core-copy { padding: 26px; }
  .core-copy h3 { font-size: 30px; }
  .spotlight-image, .trading-image, .support-layout > .image-frame { height: auto; aspect-ratio: 4 / 3; }
  .spotlight-layout, .trading-layout { gap: 32px; }
  .spotlight-copy { padding-block: 0; }
  .spotlight-copy h2 br { display: initial; }
  .section-number { top: -20px; }
  .trading-copy .section-number { top: -20px; }
  .editorial-services { gap: 30px; }
  .editorial-card .image-frame { height: auto; aspect-ratio: 4 / 3; }
  .editorial-copy h3 { font-size: 28px; }
  .benefit-row { grid-template-columns: 22px 1fr; gap: 14px; }
  .benefit-row > .icon { display: none; }
  .benefit-row h3 { font-size: 24px; }
  .project-grid { grid-template-columns: 1fr; grid-template-rows: 420px 350px 350px; gap: 20px; }
  .project-card:first-child { grid-column: auto; }
  .project-caption { bottom: 28px; }
  .project-caption h3, .project-card:first-child h3 { font-size: 30px; }
  .project-caption .eyebrow { font-size: 11px; }
  .process-grid { grid-template-columns: 1fr; gap: 30px; }
  .process-step h3 { font-size: 26px; }
  .process-step .eyebrow { margin-bottom: 14px; }
  .project-cta .wrap { gap: 28px; }
  .project-cta .actions { padding-right: 0; }
  .project-cta .button, .projects-cta .button { width: 100%; min-height: 56px; font-size: 13px; }
  .inner-hero-layout { padding-block: 48px; gap: 32px; }
  .inner-hero-copy h1 { font-size: clamp(38px, 9.5vw, 44px); }
  .inner-hero-copy p { font-size: 16px; margin-top: 24px; }
  .inner-hero-image { height: auto; aspect-ratio: 4 / 3; }
  .service-capabilities article { padding: 26px; }
  .service-capabilities h3 { font-size: 27px; }
  .value-list { grid-template-columns: 1fr; }
  .support-layout { gap: 32px; }
  .projects-intro { padding-block: 56px; }
  .projects-intro h1 { font-size: 42px; }
  .projects-section-heading h2 { margin-block: 22px; }
  .capability-image { height: auto; aspect-ratio: 4 / 3; }
  .capability-copy { padding: 28px 24px; }
  .capability-copy h3 { font-size: 32px; }
  .capability-number { font-size: 38px; }
  .capability-copy ul { display: flex; }
  .capability-copy li { margin-bottom: 0; }
  .contact-heading { padding-block: 56px; }
  .contact-heading h1 { font-size: 42px; }
  .contact-card { padding: 22px 18px; }
  .contact-card h2 { font-size: 22px; }
  .contact-card-number { font-size: 34px; margin-bottom: 28px; }
  .contact-card > span:last-of-type { font-size: 13px; }
  .contact-cards { padding-top: 28px; }
  .contact-grid { gap: 36px; }
  #enquiry-form { padding: 26px 20px; }
  #enquiry-form > .button { width: 100%; font-size: 13px; }
  #enquiry-form .form-note, #enquiry-form .form-fallback { padding-right: 0; }
  .map-area { height: 430px; }
  .location-card { padding: 26px 22px; }
  .location-card .actions { gap: 16px; }
  .legal-content { padding-block: 56px; }
  .legal-content h2 { font-size: 28px; }
  .footer-grid > div:last-child, .footer-bottom { padding-right: 0; }
  .footer-bottom { align-items: flex-start; }
  .footer-legal { gap: 24px; }
  .floating-tools { right: 16px; bottom: 18px; gap: 10px; }
  .whatsapp-float { width: 50px; height: 50px; }
  .back-to-top { width: 44px; height: 44px; }
  .project-cta .actions, .projects-cta .actions { padding-right: 56px; }
  #enquiry-form > .button { width: calc(100% - 46px); }
  #enquiry-form .form-note, #enquiry-form .form-fallback { padding-right: 40px; }
  .footer-grid > div:last-child, .footer-bottom { padding-right: 60px; }
  .whatsapp-tooltip { display: none; }
  .support-layout .button { max-width: calc(100% - 56px); }
  .contact-details > a { padding-right: 44px; }
  .map-external { left: 10px; right: auto; }
  .image-frame:hover > img { transform: none; }
  .reveal-ready { transition-duration: .45s; }
}

