:root{--purple:#7655bc;--purple-soft:#a58ae8;--gold:#b48642;--ink:#20172d;--muted:#62586e;--paper:#f7f5fa;--panel:#fff;--line:#ded8e6;--header:rgba(255,255,255,.92)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.site-header{position:sticky;top:0;z-index:20;min-height:82px;padding:11px 5%;display:flex;align-items:center;gap:28px;background:var(--header);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{margin-right:auto}.brand img{display:block;width:235px;height:60px;object-fit:contain}.nav{display:flex;align-items:center;gap:25px;font-size:13px;letter-spacing:1px;text-transform:uppercase}.nav a:hover,.nav a[aria-current=page]{color:var(--purple)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--purple);padding:14px 19px;text-transform:uppercase;font-size:13px;letter-spacing:1px;color:var(--purple);background:transparent}.button.primary{background:var(--purple);color:#fff}.button:hover{transform:translateY(-1px)}.theme-toggle,.menu{border:0;background:transparent;color:var(--ink);font-size:13px}.menu{display:none;font-size:24px}.service-hero{position:relative;overflow:hidden;min-height:520px;padding:110px 6% 95px;display:flex;align-items:flex-end;background:#1a102a;color:#fff}.service-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#160d29f2 0%,#24153ed9 48%,#2a17486e 100%),var(--service-image) center/cover}.hero-copy{position:relative;z-index:1;width:min(1050px,100%)}.eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:#d9c6ff}.eyebrow:before{content:"";display:inline-block;width:30px;height:1px;background:var(--gold);vertical-align:middle;margin-right:15px}.service-hero h1{max-width:900px;margin:25px 0 20px;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-3px;font-weight:300}.service-hero p{max-width:710px;margin:0;color:#e9e3f3;font-size:18px;line-height:1.75}.crumbs{position:absolute;z-index:1;top:35px;left:6%;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#d9d0e7}.crumbs a:hover{color:#fff}.layout{width:min(1200px,90%);margin:0 auto;padding:95px 0;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px}.content h2{font-size:clamp(34px,4vw,56px);font-weight:300;line-height:1.08;letter-spacing:-1.5px;margin:0 0 28px}.content h2 strong{color:var(--purple)}.lead{font-size:19px;line-height:1.8;color:var(--ink)}.content p{line-height:1.8;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:42px 0}.detail{background:var(--panel);padding:27px;min-height:128px}.detail span{display:block;color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:12px}.detail b{font-size:17px;line-height:1.4}.visual-detail{padding:0;overflow:hidden;min-height:0}.visual-detail img{display:block;width:100%;height:210px;object-fit:cover}.visual-detail .detail-copy{padding:23px 27px 27px}.visual-detail .detail-copy span{margin-bottom:10px}.callout{margin-top:44px;padding:32px;border-left:3px solid var(--gold);background:#eee9f5}.callout h3{margin:0 0 10px;font-size:21px}.callout p{margin:0}.side{align-self:start;position:sticky;top:110px}.side-card{border:1px solid var(--line);background:var(--panel);padding:28px}.side-card h2{font-size:14px;letter-spacing:2px;text-transform:uppercase;margin:0 0 18px}.service-nav{display:grid}.service-nav a{padding:14px 0;border-top:1px solid var(--line);font-size:15px}.service-nav a:hover,.service-nav a[aria-current=page]{color:var(--purple)}.side .button{width:100%;margin-top:18px}.next{background:#160f22;color:#fff;padding:80px 6%;text-align:center}.next h2{font-size:clamp(36px,5vw,64px);font-weight:300;margin:0 0 18px}.next p{color:#cbc2d6;margin:0 auto 28px;max-width:640px;line-height:1.7}.next .button{border-color:#d4c2f4;color:#fff}.site-footer{padding:35px 5%;display:flex;align-items:center;gap:28px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.site-footer img{width:150px;height:auto}.site-footer .footer-copy{margin-left:auto;text-align:right;line-height:1.7}
body[data-theme=dark]{--ink:#f7f5ff;--muted:#c9c5d3;--paper:#0d0915;--panel:#151020;--line:#ffffff20;--header:rgba(10,7,23,.9)}body[data-theme=dark] .callout{background:#1c142b}body[data-theme=dark] .service-hero:before{background:linear-gradient(90deg,#10091ff2 0%,#1b1032d9 48%,#1e12356e 100%),var(--service-image) center/cover}
.service-site-investigation{--service-image:url('service-site-investigation.jpg')}.service-geotechnical-report{--service-image:url('service-geotechnical-report.jpg')}.service-analysis-design{--service-image:url('service-analysis-design.jpg')}.service-construction-monitoring{--service-image:url('service-construction-monitoring.jpg')}@media(max-width:900px){.header-cta{display:none}.nav{display:none;position:absolute;top:82px;left:0;right:0;padding:25px 6%;background:var(--header);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu{display:block}.layout{grid-template-columns:1fr}.side{position:static}.service-hero{min-height:460px}.service-hero h1{letter-spacing:-2px}.site-footer{align-items:flex-start;flex-direction:column}.site-footer .footer-copy{margin:0;text-align:left}}
@media(max-width:560px){.brand img{width:160px;height:44px}.site-header{min-height:66px;padding-inline:4%}.nav{top:66px}.theme-toggle{font-size:0}.theme-toggle:after{content:"Theme";font-size:11px}.service-hero{padding:95px 6% 70px;min-height:430px}.service-hero h1{font-size:44px}.detail-grid{grid-template-columns:1fr}.layout{padding:70px 0}.site-footer img{width:130px}}
