/* RackPro.sg design philosophy: Neo-Brutalist Industrial Minimalism. Every rule should reinforce premium industrial engineering, architectural precision, asymmetric engineering plates, matte black / dark steel / white documentation fields, and controlled safety-orange / industrial-yellow accents. */
:root{--black:#050506;--steel:#131518;--steel2:#20242a;--line:rgba(255,255,255,.14);--paper:#f4f1ea;--ink:#151515;--muted:#8c929a;--orange:#ff5a1f;--yellow:#f6c343;--white:#fff;--font-display:'Space Grotesk',system-ui,sans-serif;--font-body:'IBM Plex Sans',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:var(--font-body);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:var(--yellow);color:#000;padding:.75rem;z-index:999}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:1rem clamp(1rem,3vw,2.5rem);background:rgba(5,5,6,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.75rem;min-width:max-content}.brand-mark{display:grid;place-items:center;width:2.65rem;height:2.65rem;background:var(--orange);color:#050506;font-family:var(--font-display);font-weight:700;clip-path:polygon(0 0,100% 0,85% 100%,0 100%)}.brand strong{font-family:var(--font-display);font-size:1.05rem}.brand small{display:block;color:var(--muted);font-size:.72rem;line-height:1.1}.site-nav{display:flex;gap:.35rem;align-items:center}.nav-link{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:.65rem .75rem;color:#d8d8d8;border:1px solid transparent}.nav-link:hover,.nav-link.active{border-color:var(--line);color:#fff;background:rgba(255,255,255,.05)}.nav-cta,.btn,.footer-button{display:inline-flex;align-items:center;justify-content:center;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--orange);padding:.85rem 1rem;font-size:.78rem}.nav-cta,.btn.primary,.footer-button{background:var(--orange);color:#080808}.btn.ghost{border-color:rgba(255,255,255,.45);background:rgba(0,0,0,.22);color:#fff}.btn.dark-ghost{border-color:#1c1c1c;color:#111}.btn:hover,.nav-cta:hover,.footer-button:hover{transform:translateY(-2px);transition:.22s ease;filter:brightness(1.08)}.menu-toggle{display:none;background:transparent;border:0}.hero{position:relative;min-height:82vh;display:grid;align-items:end;overflow:hidden}.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 34%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 45%)}.hero-content{position:relative;max-width:940px;padding:9rem clamp(1rem,5vw,5rem) 4.5rem}.eyebrow,.section-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--yellow);font-weight:700}.eyebrow.dark{color:var(--orange)}h1,h2,h3{font-family:var(--font-display);line-height:.98;margin:0 0 1rem}h1{font-size:clamp(3.2rem,8.2vw,8.8rem);letter-spacing:-.07em;max-width:920px}h2{font-size:clamp(2.2rem,5vw,5.4rem);letter-spacing:-.055em}h3{font-size:clamp(1.55rem,2.4vw,2.65rem);letter-spacing:-.04em}.hero-copy,.section-lead{font-size:clamp(1.05rem,1.5vw,1.32rem);max-width:760px;color:#d9dde2}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0}.hero-stats{display:flex;gap:1rem;flex-wrap:wrap}.hero-stats span{border-left:3px solid var(--orange);padding:.4rem 1.4rem .4rem .8rem;background:rgba(255,255,255,.05)}.hero-stats strong{display:block;font-family:var(--font-display);font-size:2.25rem;line-height:1}.hero-stats small{color:#b9bec5;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.section-dark{background:var(--black);color:#fff}.dominant-scale{padding:clamp(4rem,8vw,8rem) clamp(1rem,4vw,4rem);background:radial-gradient(circle at 20% 0,rgba(255,90,31,.18),transparent 34%),linear-gradient(135deg,#070707,#15181d)}.dominant-scale>h2,.dominant-scale>.section-lead{max-width:1120px}.scale-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:1.1rem;margin-top:2.5rem}.scale-card{position:relative;overflow:hidden;min-height:760px;background:#101216;border:1px solid var(--line);display:flex;align-items:end}.scale-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56;transition:transform .8s ease}.scale-card:hover img{transform:scale(1.04)}.scale-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.16) 72%)}.scale-body{position:relative;z-index:2;padding:2rem}.mega-number{font-family:var(--font-display);font-size:clamp(5rem,12vw,11rem);line-height:.76;font-weight:700;color:var(--orange);letter-spacing:-.09em}.residential-card .mega-number{color:var(--yellow)}.scale-body ul,.technical-list{padding-left:1.1rem;color:#d9dde2}.scale-body li,.technical-list li{margin:.35rem 0}.authority-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end;background:var(--paper);color:var(--ink);padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem);border-top:8px solid var(--orange)}.authority-panel p:last-child{font-size:1.12rem}.section-light{background:var(--paper);color:var(--ink);padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem)}.section-light .section-lead{color:#414348}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.service-card{padding:1.35rem;border:1px solid rgba(0,0,0,.18);background:#fff;min-height:230px;transition:.25s ease}.service-card:hover{transform:translateY(-4px);box-shadow:12px 12px 0 #111}.service-card span{display:block;color:var(--orange);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.service-card strong{display:block;font-family:var(--font-display);font-size:1.45rem;margin:.8rem 0}.service-card p{color:#4f5359}.method-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:2rem;align-items:center;padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem)}.method-section img{border:1px solid var(--line);filter:saturate(.9)}.process{counter-reset:item;list-style:none;padding:0}.process li{margin:1rem 0;padding:1rem;border-left:3px solid var(--orange);background:rgba(255,255,255,.055)}.faq-strip{padding:clamp(3rem,7vw,6rem) clamp(1rem,5vw,5rem);background:#111;color:white}.faq-strip blockquote{margin:0;border-left:6px solid var(--yellow);padding:1rem 0 1rem 1.5rem;font-size:1.35rem;max-width:1100px}.page-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center;padding:clamp(6rem,10vw,10rem) clamp(1rem,5vw,5rem) clamp(3rem,6vw,6rem);background:var(--paper);color:var(--ink);border-bottom:8px solid var(--orange)}.page-hero h1{font-size:clamp(3rem,7vw,7rem)}.page-hero p{font-size:1.12rem;color:#34373b}.page-hero img{border:1px solid rgba(0,0,0,.22);box-shadow:18px 18px 0 #111}.content-shell{background:var(--paper);color:var(--ink);padding:clamp(2rem,5vw,5rem);display:grid;gap:2rem}.content-shell section{max-width:1050px}.content-shell h2{font-size:clamp(2rem,3.8vw,4rem);margin-top:1rem}.content-shell p{font-size:1.05rem;color:#30343a}.technical-list{color:#30343a;columns:2}.faq-list{display:grid;gap:.6rem}.faq-list details{border:1px solid rgba(0,0,0,.16);background:#fff;padding:1rem}.faq-list summary{font-weight:700;font-family:var(--font-display);cursor:pointer}.internal-links{background:#0a0b0d;padding:3rem clamp(1rem,5vw,5rem)}.internal-links div{display:flex;flex-wrap:wrap;gap:.75rem}.internal-links a{border:1px solid var(--line);padding:.8rem 1rem;color:#fff}.site-footer{background:#050506;border-top:1px solid var(--line);padding:clamp(3rem,6vw,5rem) clamp(1rem,5vw,5rem) 1.5rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}.site-footer h2{font-size:1.1rem;letter-spacing:0}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.45rem 0}.site-footer p,.site-footer a,.footer-bottom{color:#b9bec5}.mandatory{color:#fff!important;font-weight:700}.footer-bottom{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}.whatsapp-float{position:fixed;right:1.15rem;bottom:1.15rem;z-index:80;display:inline-flex;align-items:center;gap:.72rem;min-width:12.2rem;background:#20c363;color:#04140a;padding:.82rem .95rem;border:2px solid #06160b;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;text-align:left;box-shadow:8px 8px 0 rgba(0,0,0,.42);transition:transform .22s ease,filter .22s ease}.whatsapp-float:hover{transform:translateY(-3px);filter:brightness(1.06)}.whatsapp-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;min-width:2.2rem;border-radius:999px;background:#04140a;color:#20c363;font-family:var(--font-display);font-size:.82rem;font-weight:800;line-height:1}.whatsapp-label{display:block;font-size:.66rem;color:#075221;font-weight:800;letter-spacing:.12em}.whatsapp-title{display:block;font-family:var(--font-display);font-size:.88rem;color:#04140a;letter-spacing:.04em}@media(max-width:1040px){.scale-grid,.authority-panel,.method-section,.page-hero,.footer-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.site-nav,.nav-cta{display:none}.site-nav.open{display:flex;position:absolute;left:0;right:0;top:100%;background:#050506;flex-direction:column;align-items:stretch;padding:1rem}.menu-toggle{display:grid;gap:.35rem}.menu-toggle span{display:block;width:1.8rem;height:2px;background:white}.scale-card{min-height:650px}}@media(max-width:680px){h1{font-size:3.45rem}.service-grid{grid-template-columns:1fr}.technical-list{columns:1}.hero{min-height:88vh}.hero-content{padding-top:7rem}.scale-card{min-height:auto;display:block}.scale-card img{position:relative;height:280px;opacity:.85}.scale-card:after{display:none}.scale-body{background:#08090b}.footer-bottom{flex-direction:column}.page-hero{padding-top:6rem}.page-hero img{box-shadow:8px 8px 0 #111}.whatsapp-float{right:.75rem;bottom:.75rem;min-width:auto;padding:.72rem}.whatsapp-float .whatsapp-label{display:none}.whatsapp-title{font-size:.76rem}.whatsapp-icon{width:2rem;height:2rem;min-width:2rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
