:root{--green:#13251e;--lime:#d9ed85;--paper:#f4f3ed;--ink:#1b2924;--muted:#657067}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #96a848;outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7d9d1;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.brand svg{width:30px;height:38px}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:4px}nav{display:flex;gap:30px;font-size:13px}nav a:hover{border-bottom:1px solid}.head-actions{display:flex;align-items:center;gap:20px}.lang{background:none;border:0;font-size:12px;font-weight:bold}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 25px;background:var(--green);color:white;border:0;font-size:13px;font-weight:600}.button:hover{filter:brightness(1.12)}.small{padding:14px 20px}.lime{background:var(--lime);color:var(--green)}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{padding:65px 10% 28px;background:var(--green);color:var(--paper);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.7;font-weight:bold;margin:0 0 35px;color:var(--lime);display:flex;align-items:center;gap:10px}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime)}h1{font-size:clamp(64px,7.3vw,112px);line-height:.97;font-weight:500;letter-spacing:-5px;margin:0 0 32px}h1 em{color:var(--lime);font-family:Georgia,serif;font-weight:400}.intro{font-size:15px;line-height:1.8;max-width:350px;color:#d3d9d0;margin:0 0 30px}.hero-bottom{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;width:100%;padding-top:45px;margin-top:auto;gap:15px}.hero-photo{position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;position:absolute}.photo-label{position:absolute;bottom:28px;left:28px;font-size:9px;letter-spacing:1.8px;color:#fff;background:#13251ed9;padding:12px}.photo-arrow{position:absolute;right:24px;top:24px;background:var(--lime);height:65px;width:65px;display:grid;place-items:center;font-size:32px;border-radius:50%}.scope-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 5%;font-size:11px;letter-spacing:1.5px;border-bottom:1px solid #d4d8ce}.scope-strip b{font-weight:400;color:#78806b}.section{padding:100px 8%}.dark{color:#65714f}.about{display:grid;grid-template-columns:1fr 2fr;gap:50px;border-bottom:1px solid #d4d8ce}h2{font-size:clamp(35px,4.5vw,64px);line-height:1.07;letter-spacing:-2px;font-weight:400;margin:0 0 30px}.about p:not(.eyebrow){font-size:16px;line-height:1.9;max-width:620px;color:#5c665f}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-head>p{font-size:13px;color:#657067;line-height:1.8;margin-bottom:35px}.services{border-top:1px solid #bfc6b9}details{border-bottom:1px solid #bfc6b9}summary{display:flex;align-items:center;gap:40px;padding:27px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.number{font-size:11px;color:#6e7869}h3{font-size:26px;letter-spacing:-.7px;font-weight:400;margin:0}.plus{font-size:27px;margin-left:auto;font-weight:300}details[open] .plus{transform:rotate(45deg)}.service-body{padding:0 60px 30px;display:flex;justify-content:space-between;gap:40px}.service-body p{font-size:14px;line-height:1.9;max-width:550px;color:#657067;margin:0}.service-body a{white-space:nowrap;font-size:12px;text-decoration:underline;text-underline-offset:5px;align-self:center}.field{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper)}.field-image{position:relative;min-height:700px;overflow:hidden}.field-image img{position:absolute;height:100%;width:100%;object-fit:cover;object-position:35% 85%;transform:scale(1.1)}.field-copy{padding:80px 13%}.field-copy>p:not(.eyebrow){color:#bec9be;font-size:14px;line-height:1.9}.project{padding:25px 0;border-top:1px solid #46564a;margin-top:25px}.project span{color:var(--lime);letter-spacing:1.5px;font-size:9px;display:block;margin-bottom:10px}.project strong{font-weight:400;font-size:22px}.project p{font-size:12px;line-height:1.8;color:#bec9be;margin-bottom:0}.process{border-bottom:1px solid #c9cfc2}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.steps article{border-top:1px solid #a5ae9c;padding-top:20px}.steps span{font-size:11px;color:#6d785e}.steps h3{font-size:21px;margin:25px 0 15px}.steps p{font-size:13px;line-height:1.9;color:#657067}.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:100px;background:#23382c;color:var(--paper)}.enquiry>div>p:not(.eyebrow){color:#c0cdbb;font-size:14px;line-height:1.9;max-width:350px}.note{margin-top:35px;padding-top:20px;border-top:1px solid #63745c;color:#c7d2bd;font-size:11px;line-height:1.8;max-width:360px}label{display:block;font-size:11px;margin:0 0 10px}input,select,textarea{width:100%;border:1px solid #66755f;border-radius:0;background:transparent;color:var(--paper);padding:15px;margin-bottom:22px;font-size:13px}input::placeholder,textarea::placeholder{color:#adb9a7}input:focus,textarea:focus,select:focus{outline:2px solid var(--lime);outline-offset:2px}select option{background:var(--green)}textarea{resize:vertical}#result{margin-top:30px}#copy-status{font-size:12px;color:var(--lime)}.copy{background:var(--paper);color:var(--green)}footer{display:flex;justify-content:space-between;align-items:center;padding:50px 5%;gap:30px}.footer-brand{font-size:30px;font-weight:800;letter-spacing:-1.3px}.footer-brand span{display:block;font-size:8px;letter-spacing:2.5px;margin-top:7px}footer p{font-size:11px;line-height:1.6;color:#657067}footer>a:last-child{font-size:11px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:900px){header{height:80px}nav{gap:16px}.head-actions{gap:12px}.hero{min-height:650px}h1{letter-spacing:-3px;font-size:68px}.hero-copy{padding:45px 9% 25px}.section{padding:70px 6%}.about{grid-template-columns:1fr 2fr;gap:25px}.enquiry{gap:40px}.field-copy{padding:60px 10%}.field-image{min-height:680px}.scope-strip{font-size:9px;letter-spacing:.7px}.service-body{padding-left:0}.steps{gap:25px}}@media(max-width:640px){header{padding:0 6%;height:78px}.brand{font-size:21px}.head-actions .small{display:none}.menu{display:block;background:none;border:0;font-size:23px;color:var(--green)}nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 6%;background:var(--paper);z-index:20;border-bottom:1px solid #c1c9b7}nav.open{display:flex;flex-direction:column;gap:25px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 25px}.hero h1{font-size:76px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:30px}.intro{font-size:14px;max-width:330px}.hero-bottom{padding-top:38px}.hero-photo{min-height:440px}.hero-photo img{object-position:50% 75%}.scope-strip{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;gap:20px;font-size:9px;padding:24px 6%}.scope-strip b:nth-of-type(2){display:none}.section{padding:60px 7%}.about{grid-template-columns:1fr;gap:0}.about p:not(.eyebrow){font-size:14px}.eyebrow{margin-bottom:26px}h2{font-size:39px;letter-spacing:-1.5px}.section-head{display:block;margin-bottom:25px}.section-head>p{margin:0 0 25px}.services summary{gap:18px;padding:24px 0}.services h3{font-size:21px}.service-body{display:block;padding:0 0 26px 32px}.service-body p{font-size:13px}.service-body a{display:inline-block;margin-top:20px}.field{grid-template-columns:1fr}.field-image{min-height:380px}.field-copy{padding:55px 7%}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps h3{margin:18px 0 10px}.enquiry{grid-template-columns:1fr;gap:40px}.enquiry .note{max-width:none}footer{flex-wrap:wrap;padding:38px 7%}footer>div{width:100%;order:3}.photo-label{font-size:8px;left:20px;bottom:20px}.photo-arrow{height:50px;width:50px;font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contact-links{margin-top:30px;display:flex;flex-direction:column;gap:18px;font-size:15px}.whatsapp-link{display:flex;align-items:center;gap:15px;max-width:300px}.whatsapp-link svg{width:32px;height:32px;color:#a9d788}.whatsapp-link span:first-of-type{font-size:10px;line-height:1.7}.whatsapp-link strong{font-size:19px;font-weight:400}.whatsapp-link span:last-child{margin-left:auto}.floating-wa{position:fixed;right:24px;bottom:24px;background:#25d366;border:2px solid white;box-shadow:0 5px 25px #0003;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;z-index:25;color:white}.floating-wa svg{width:30px;height:30px}.contact-links a:hover{text-decoration:underline}#result .button{margin-bottom:12px}

.social-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px;font-size:12px}.social-links a{border-bottom:1px solid currentColor;padding-bottom:4px}footer .social-links{font-size:10px;margin:18px 0}

/* Preserve the supplied Road Art logo proportions and original colours. */
.brand{line-height:0;flex-shrink:0}.company-logo{display:block;width:118px;height:auto;object-fit:contain}.footer-brand .company-logo{width:155px;height:auto}.brand:hover,.footer-brand:hover{opacity:.88}@media(max-width:640px){.brand .company-logo{width:96px;height:auto}.footer-brand .company-logo{width:135px;height:auto}}
/* Native system typography: SF Pro on Apple devices, Segoe UI on Windows. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1{font-weight:650;letter-spacing:-.055em;line-height:1.02}h1 em{font-family:inherit;font-style:normal;font-weight:650}h2{font-weight:550;letter-spacing:-.035em}h3{font-weight:550;letter-spacing:-.02em}.intro{font-size:16px;font-weight:400;line-height:1.75;letter-spacing:0;color:#d8dfd6;max-width:370px}.about p:not(.eyebrow){line-height:1.8}.button{font-weight:600;letter-spacing:0}@media(max-width:640px){.hero h1{font-size:clamp(54px,14.7vw,76px);letter-spacing:-.05em}.intro{font-size:15px;line-height:1.75}}
/* Blend white logo pixels into the warm page background. */
header,footer{isolation:isolate}.company-logo{mix-blend-mode:normal}
/* Road Art watermark: 15px inset from the top and left of each site photo. */
.hero-photo::before,.field-image::before{content:"";position:absolute;top:15px;left:15px;width:90px;height:67px;background:url("assets/roadart-logo-transparent.svg") center/contain no-repeat;z-index:2;pointer-events:none;filter:none}

.marking-gallery{background:#e9ede2}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0 0 35px}.work-grid figure{margin:0}.work-photo{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:#13251e}.work-photo>img{display:block;width:100%;height:100%;object-fit:cover}.work-grid figure:last-child img{object-position:50% 65%}.work-photo::before{content:"";position:absolute;top:15px;left:15px;width:90px;height:67px;background:url("assets/roadart-logo-transparent.svg") center/contain no-repeat;z-index:2;pointer-events:none;filter:none}.photo-expand{position:absolute;right:15px;bottom:15px;background:var(--lime);width:34px;height:34px;display:grid;place-items:center;font-size:20px}.work-grid figcaption{font-size:13px;margin:14px 0 0;color:#4f5e4b}.work-photo:hover .photo-expand{background:white}@media(max-width:640px){.work-grid{grid-template-columns:1fr;gap:28px}.work-grid figcaption{font-size:12px}}

.preformed-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;margin-bottom:38px}.preformed-intro p{font-size:15px;line-height:1.85;color:#52624e;margin:0}.preformed-points{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0 45px}.preformed-points article{border-top:1px solid #aeb9a3;padding-top:18px}.preformed-points span{font-size:10px;color:#67795e}.preformed-points h3{font-size:20px;margin:20px 0 12px}.preformed-points p{font-size:13px;line-height:1.8;color:#5b6c53}.preformed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.preformed-grid figure:last-child img{object-position:center}.preformed-action{display:flex;gap:25px;align-items:center;margin-bottom:35px}.preformed-action p{font-size:12px;line-height:1.7;color:#5b6c53}.technical-reference summary,.conventional-gallery summary{font-size:13px;list-style:revert;display:list-item;padding:22px 0}.technical-reference p{font-size:12px;line-height:1.8;max-width:800px;color:#5b6c53}.reference-links{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;padding:0 0 25px}.reference-links a{text-decoration:underline;text-underline-offset:4px}.conventional-gallery{margin-top:30px}.conventional-gallery .work-grid{margin-top:20px}.services h3{overflow-wrap:anywhere}@media(max-width:1000px){.preformed-grid{grid-template-columns:1fr 1fr}.preformed-intro{gap:25px}.preformed-points{gap:22px}}@media(max-width:640px){.preformed-intro,.preformed-points,.preformed-grid{grid-template-columns:1fr}.preformed-intro{gap:20px}.preformed-points{gap:20px}.preformed-action{display:block}.preformed-action p{margin-top:18px}.preformed-grid .work-photo{aspect-ratio:4/3}.services h3{font-size:20px}}

/* Half-size watermarks across all photographic panels. */
.hero-photo::before,.field-image::before,.work-photo::before{width:45px;height:33.5px;top:15px;left:15px}
.footer-tagline span{display:block}.footer-tagline span+span{margin-top:5px}

.thermoplastic-gallery{background:var(--paper);border-top:1px solid #c9cfc2}.thermoplastic-gallery .work-grid{margin-bottom:35px}

/* Flat, understated logo marks on every photographic panel. */
.hero-photo::before,.field-image::before,.work-photo::before{width:45px;height:33.5px;top:15px;left:15px;filter:none;box-shadow:none;opacity:.85}
.signboard-gallery{background:#edece5;border-top:1px solid #c9cfc2}.signboard-intro{max-width:720px;margin:-10px 0 38px}.signboard-intro p{font-size:15px;line-height:1.85;color:#5b6657}.sign-grid{gap:34px}.sign-grid .wide .work-photo{aspect-ratio:3/2}.sign-grid .portrait .work-photo{aspect-ratio:4/5}.sign-grid .production img{object-position:50% 85%}.sign-grid .detail img{object-position:50% 50%}.sign-grid .parking img,.sign-grid .regulatory img{object-position:50% 48%}@media(max-width:640px){.sign-grid{gap:28px}.signboard-intro p{font-size:14px}.sign-grid .wide .work-photo{aspect-ratio:4/3}}

.service-actions{display:flex;flex-direction:column;gap:20px;align-self:center}.service-actions a{align-self:flex-start}@media(max-width:640px){.service-actions{margin-top:16px;gap:0}.service-actions a{margin-top:14px}}
